open-index/open-npm huggingface dataset:
npm package: @n1ru4l/react-use-transition
Description: [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/) [![npm](https://img.shields.io/npm/v/@n1ru4l/react-use-transition.svg)](https://www.npmjs.com/package/@n1ru4l/react-use-transition) [![npm bun
Author: n1ru4l
Latest version: 0.4.3
npm package: @n1ru4l/slonik-utilities
Description: Utilities for the Postgres client slonik.
Author: Laurin Quast
Latest version: 0.0.1-alpha.4

# @n1ru4l/slonik-utilities

Utilities for the PostgreSQL Client [Slonik](https://github.com/gajus/slonik#readme).

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->


- [Motivation](#motivation)
- [API](#api)
  - [`valuesSingle` - Insert a single record](#valuessingle---insert-a-single-record)
  - [`valuesList` - Insert multiple records](#valueslist---insert-multiple-records)
  - [`assignmentList` - Update multiple columns](#assignmentlist---update-multiple-columns)
- [`identifierList` - Generate a list of identifiers](#identifierlist---generate-a-list-of-identifiers)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## Motivation

Slonik removed some convenient methods in version [19.x.x](https://github.com/gajus/slonik/releases/tag/v19.0.0). The new approach is a bit "too" verbose for my taste. This is why I wrote these helper methods to do common stuff more easily and quicker.

## API

### `valuesSingle` - Insert a single record

```js
import { sql } from "slonik";
import { valuesSingle } from "@n1ru4l/slonik-utilities";

const user = {
  id: 1,
  login: "peter",
  email: "peter@localhost"
};

const query = sql`
  INSERT INTO "users" (
    "id",
    "login",
    "email"
  ) VALUES (${valuesSingle([user.id, user.login, user.email])});
`;
```

### `valuesList` - Insert multiple records

```js
import { sql } from "slonik";
import { valuesList } from "@n1ru4l/slonik-utilities";

const users = [
  {
    id: 1,
    login: "peter",
    email: "peter@localhost"
  },
  {
    id: 2,
    login: "lukas",
    email: "lukas@localhost"
  }
];

const query = sql`
  INSERT INTO "users" (
    "id",
    "login",
    "email"
  ) VALUES (${valuesList(users, user => [user.id, user.login, user.email])});
`;
```

### `assignmentList` - Update multiple columns

```js
import { sql } from "slonik";
import { assignmentList } from "@n1ru4l/slonik-utilities";

const query = sql`
  UPDATE "users"
  SET ${assignmentList({
    email: "newemail@localhost",
    otherValue: 10
  })}
  WHERE "id" = 1;
`;
```

## `identifierList` - Generate a list of identifiers

```js
import { sql } from "slonik";
import { identifierList } from "@n1ru4l/slonik-utilities";

const query = sql`
  SELECT ${identifierList([
    ["users", "id"],
    ["users", "someOtheColumn"]
  ])}
  FROM "users";
`;
```
npm package: @n1ru4l/socket-io-graphql-server
Description: [![npm version](https://img.shields.io/npm/v/@n1ru4l/socket-io-graphql-server.svg)](https://www.npmjs.com/package/@n1ru4l/socket-io-graphql-server) [![npm downloads](https://img.shields.io/npm/dm/@n1ru4l/socket-io-graphql-server.svg)](https://www.npmjs.co
Author: n1ru4l
Latest version: 0.13.0
npm package: @n1ru4l/spotify-player-android-sdk
Description: ## What?
Author: Laurin Quast
Latest version: 24.0.0

# spotify-player-android-sdk

## What?

Provides spotify-android-sdk in a maven repository via npm.

## Why?

There is currently no official spotify-android-sdk distribution avaiable via maven.

## How to use with my app

1. add `@n1ru4l/spotify-player-android-sdk` to the `dependencies` of your project

e.g. `yarn add -D -E @n1ru4l/spotify-player-android-sdk`

2. Modify your `build.gradle` file to add a new local maven repository

e.g.

```diff
allprojects {
    repositories {
        mavenLocal()
+       maven {
+           // Local Maven repo containing AARs with JSC library built for Android
+           url "$rootDir/../node_modules/@n1ru4l/spotify-player-android-sdk/dist"
+       }
    }
}
```

3. Add library to your dependencies section in your `build.gradle`

```diff
dependencies {
+ compile 'com.thirdparty.spotify-player:'
}
```

## Additional

The dirstributed binary and all rights associated with it belong to spotify.
npm package: @n1ru4l/ssm-parameter-env
Description: Supply your environment with the [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html)
Author: Laurin Quast
Latest version: 1.0.0-rc.0

# SSM Parameter Env

Supply your environment with the [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html)

## Install

### yarn

`yarn add -D @n1ru4l/ssm-parameter-env`

### npm

`npm install -D @n1ru4l/ssm-parameter-env`

## Usage Example (lambda)

```js
"use strict";
const AWS = require("aws-sdk");
const ssm = new AWS.SSM();
const createGetEnvironment = require("@n1ru4l/ssm-parameter-env");
const expect = require("expect");

// You would probably use process.env
const env = {
  MY_SCURR: "ssm:/Scurr/Burr/Eagle",
  MY_BAZZ: "Passthrough value"
};

// Create outside of handler to use in-memory caching (default is 5 minutes)
const getEnvironment = createGetEnvironment({
  env,
  ssm,
  expires: 5 * 60 * 1000
});

module.exports.handler = (event, context, callback) => {
  getEnvironment().then(env => {
    expect(env).toEqual({
      MY_SCURR: "TOP SECRET VALUE",
      MY_BAZZ: "Passthrough value"
    }); // true

    const response = {
      statusCode: 200,
      body: JSON.stringify({
        message: env.MY_SCURR
      })
    };
    callback(null, response);
  });
};
```

More documentation will follow soon. For more detail you can take a look at the [tests](./src/index.test.js) 😇.

## How to use with serverless(-offline)

This plugin should work out of the box with serverless-offline.
You should not uny any environment variables prefixed with `ssm:` in your local development environment to prevent any request to AWS.

## Required Permissions

[This document](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-access.html) should cover all info about permissions.
You will have to give permissions to your target for the following actions: `ssm:GetParameters` and `kms:Decrypt`.
I recommend to group your ssm parameters with a prefix (e.g. `my-project-production/database-password`). By doing so you can restrict the `ssm:GetParameters` to a subset of ssm parameters that start with the shared prefix (e.g. `my-project-production/*`).

**I use serverless and I don't care, I am testing and I just wanne copy paste stuff**

If you do not care about fine graned access control just use these iamRoleStatements (serverless):

```yml
  iamStatements:
    - Effect: Allow
      Action:
        - ssm:GetParameters
      Resource: *
    - Effect: Allow
      Action:
        - kms:Decrypt
      Resource: *
```

## Roadmap

* [x] Make it compatible to serverless framework (offline mode)
* [ ] Test in Real World Application
* [x] Publish to npm
* [x] Implement caching

## Useful Links

* [You should use ssm parameter store over lambda env variables](https://hackernoon.com/you-should-use-ssm-parameter-store-over-lambda-env-variables-5197fc6ea45b)

* [AWS Lambda lifecycle and in-memory caching](https://medium.com/@tjholowaychuk/aws-lambda-lifecycle-and-in-memory-caching-c9cd0844e072)
npm package: @n24q02m/mcp-relay-core
Description: Zero-config credential relay client for TypeScript MCP servers — ECDH P-256 + AES-256-GCM E2E encryption
Author: n24q02m
Latest version: 1.4.0

# @n24q02m/mcp-relay-core

Zero-config credential relay client for TypeScript MCP servers -- ECDH P-256 + AES-256-GCM E2E encryption.

## Installation

```bash
npm install @n24q02m/mcp-relay-core
```

## Usage

### Resolve config (env vars -> config file -> defaults -> relay)

```typescript
import { resolveConfig } from "@n24q02m/mcp-relay-core";

const { config, source } = await resolveConfig("my-server", [
  "api-key",
  "endpoint",
]);

if (config) {
  console.log(`Config loaded from ${source}:`, config);
} else {
  // No config found -- trigger relay setup
}
```

### Relay session (interactive credential setup)

```typescript
import {
  createSession,
  pollForResult,
  writeConfig,
} from "@n24q02m/mcp-relay-core";

const session = await createSession("https://relay.example.com", "my-server", {
  fields: [
    { name: "api-key", label: "API Key", type: "password" },
    { name: "endpoint", label: "Endpoint", type: "text" },
  ],
});

console.log(`Open this URL to enter credentials: ${session.relayUrl}`);

const credentials = await pollForResult(
  "https://relay.example.com",
  session,
);

await writeConfig("my-server", credentials);
```

### Crypto primitives

```typescript
import {
  generateKeyPair,
  exportPublicKey,
  deriveSharedSecret,
  deriveAesKey,
  encrypt,
  decrypt,
} from "@n24q02m/mcp-relay-core/crypto";
```

## Documentation

See the [main repository](https://github.com/n24q02m/mcp-relay-core) for full documentation, architecture, and security properties.

## License

MIT
npm package: @n24q02m/mcp-relay-server
Description: Zero-config MCP credential relay server — ECDH P-256 + AES-256-GCM, rate-limited, zero-knowledge
Author: n24q02m
Latest version: 1.4.0

# @n24q02m/mcp-relay-server

Zero-config MCP credential relay server -- ECDH P-256 + AES-256-GCM, rate-limited, zero-knowledge.

The relay server never sees plaintext credentials. It only stores and forwards opaque encrypted blobs between the browser and the MCP server CLI.

## Installation

```bash
npm install @n24q02m/mcp-relay-server
```

## Usage

### Start the server

```typescript
import { createApp } from "@n24q02m/mcp-relay-server";

const app = createApp();
app.listen(3000, () => {
  console.log("Relay server listening on port 3000");
});
```

### Start a local relay (ephemeral, random port)

```typescript
import { startLocalRelay } from "@n24q02m/mcp-relay-server";

const relay = await startLocalRelay("/path/to/pages");
console.log(`Relay running at ${relay.url}`);

// When done:
relay.close();
```

### Docker

```bash
docker build -t mcp-relay-server .
docker run -p 3000:8080 mcp-relay-server
```

### Environment variables

| Variable | Default | Description |
|----------|---------|-------------|
| `PORT` | `3000` | Server listen port |
| `PAGES_DIR` | - | Directory for static relay form pages |
| `CORS_ORIGIN` | `*` | CORS allowed origin |

## Security properties

- Zero-knowledge: server never sees plaintext credentials
- Sessions: 10-minute TTL, one-shot consumption, max 5 per IP
- Rate-limited API routes

## Documentation

See the [main repository](https://github.com/n24q02m/mcp-relay-core) for full documentation, architecture, and security properties.

## License

MIT