open-index/open-npm huggingface dataset:
npm package: @lgguan/custom-test-component
Description: 测试组件
Latest version: 1.0.0

# test component

@lgguan/custom-test-component

测试组件

## API

| 参数名 | 说明 | 必填 | 类型 | 默认值 | 备注 |
| ------ | ---- | ---- | ---- | ------ | ---- |
|        |      |      |      |        |      |
npm package: @lgguan/custom-tool-bar
Description: 自定义工具条
Latest version: 1.0.14

# toolbar

@lgguan/custom-tool-bar

自定义工具条

## API

| 参数名 | 说明 | 必填 |  类型  | 默认值 | 备注 |
| ------ | --------------- | ---- | ----  | ------ | ---- |
| config | 工具对象参数集合，详见ToolObject对象说明 | true | Array |   []   |      |
| getInstance | 获取实例函数，主要用于获取组件的filed属性，从而获得表单中的value值   | false | Function |  -  |      |

## ToolObject
| 参数名 | 说明 | 必填 |  类型  | 默认值 | 备注 |
| ------ | --------------- | ---- | ----  | ------ | ---- |
| label | 工具的前置标签 | true | String |   -   |  Button工具的label为显示标签    |
| key | 工具的key | true | String |   -   |     |
| field | 工具的表单字段 | false | String |   -   |     |
| defaultValue | 工具的表单字段默认值 | false | Object |   -   |     |
| component | 工具的类型 | true | String |   -   |  仅支持Input, Select, DatePicker, TimePicker, Button   |
| componentProps | 工具的所有自有属性 | false | Object |   {}   |     |
npm package: @lgiavedoni/ct-agent-toolkit
Author: Luciano Giavedoni
Latest version: 1.0.0

# commercetools Agent Toolkit - TypeScript



## Installation

You don't need this source code unless you want to modify the package. If you just
want to use the package run:

```
npm install @lgiavedoni/ct-agent-toolkit
```

The commercetools Agent Toolkit enables popular agent frameworks including LangChain and Vercel's AI SDK to integrate with commercetools APIs through function calling. 


### Requirements

- Node 18+
npm package: @lgiavedoni/mcp
Description: A command line tool for setting up commercetools MCP server
Author: Luciano Giavedoni
Latest version: 0.1.3

# Stripe Model Context Protocol

The Stripe [Model Context Protocol](https://modelcontextprotocol.com/) server allows you to integrate with Stripe APIs through function calling. This protocol supports various tools to interact with different Stripe services.

## Setup

To run the Stripe MCP server using npx, use the following command:

```bash
# To set up all available tools
npx -y @stripe/mcp --tools=all --api-key=YOUR_STRIPE_SECRET_KEY

# To set up specific tools
npx -y @stripe/mcp --tools=customers.create,customers.read,products.create --api-key=YOUR_STRIPE_SECRET_KEY

# To configure a Stripe connected account
npx -y @stripe/mcp --tools=all --api-key=YOUR_STRIPE_SECRET_KEY --stripe-account=CONNECTED_ACCOUNT_ID
```

Make sure to replace `YOUR_STRIPE_SECRET_KEY` with your actual Stripe secret key. Alternatively, you could set the STRIPE_SECRET_KEY in your environment variables.

### Usage with Claude Desktop

Add the following to your `claude_desktop_config.json`. See [here](https://modelcontextprotocol.io/quickstart/user) for more details.

```
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
          "-y",
          "@stripe/mcp",
          "--tools=all",
          "--api-key=STRIPE_SECRET_KEY"
      ]
    }
  }
}
```

## Available tools

| Tool                  | Description                     |
| --------------------- | ------------------------------- |
| `customers.create`    | Create a new customer           |
| `customers.read`      | Read customer information       |
| `products.create`     | Create a new product            |
| `products.read`       | Read product information        |
| `prices.create`       | Create a new price              |
| `prices.read`         | Read price information          |
| `paymentLinks.create` | Create a new payment link       |
| `invoices.create`     | Create a new invoice            |
| `invoices.update`     | Update an existing invoice      |
| `invoiceItems.create` | Create a new invoice item       |
| `balance.read`        | Retrieve balance information    |
| `refunds.create`      | Create a new refund             |
| `paymentIntents.read` | Read payment intent information |
| `documentation.read`  | Search Stripe documentation     |

## Debugging the Server

To debug your server, you can use the [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector).

First build the server

```
npm run build
```

Run the following command in your terminal:

```bash
# Start MCP Inspector and server with all tools
npx @modelcontextprotocol/inspector node dist/index.js --tools=all --api-key=YOUR_STRIPE_SECRET_KEY
```

### Instructions

1. Replace `YOUR_STRIPE_SECRET_KEY` with your actual Stripe API secret key.
2. Run the command to start the MCP Inspector.
3. Open the MCP Inspector UI in your browser and click Connect to start the MCP server.
4. You can see the list of tools you selected and test each tool individually.
npm package: @lgibbs/keycloak-auth-ts
Description: Pragmatic Keycloak wrapper with SSR-safe init, single-flight refresh, fetchWithAuth, role helpers, and tiny pub/sub.
Author: Lauren Gibbs
Latest version: 1.1.1

# @lgibbs/keycloak-auth-ts

A pragmatic TypeScript Keycloak wrapper with:
- SSR-safe init
- Queued / single-flight token refresh
- `fetchWithAuth` with 401 retry
- Role helpers
- User profile convenience
- Tiny pub/sub for UI state
- Safe teardown

This wrapper keeps your app code tiny while handling the annoying parts of the Keycloak JS adapter.

## Installation

```bash
npm install @lgibbs/keycloak-auth-ts keycloak-js
```

> Note: `keycloak-js` is a peer dependency, so you must install it separately.

## Quick Start

```ts
import { initAuth, fetchWithAuth, getAuthState, subscribe } from "@lgibbs/keycloak-auth-ts";

// Initialize once at app startup
await initAuth({
  url: "http://localhost:8180",
  realm: "myrealm",
  clientId: "my-client",
  onLoad: "check-sso",
  silentCheckUri: `${window.origin}/silent-check.html`
});

// Subscribe to auth state changes
const unsubscribe = subscribe((state) => {
  console.log("Auth state:", state);
});

// Fetch API with auth header (auto-refreshes token, retries once on 401)
const response = await fetchWithAuth("/api/data");
const data = await response.json();
console.log(data);

// Snapshot of current state (cheap read)
const state = getAuthState();
console.log("Current user:", state.profile?.username);

// Unsubscribe later if desired
unsubscribe();
```

## API

### `initAuth(config: InitAuthConfig): Promise<void>`
Initialize Keycloak and wire up refresh hooks. SSR-safe and idempotent.

### `getToken(opts?: { minValidity?: number }): Promise<string | null>`
Retrieve a fresh token, ensuring at least `minValidity` seconds remain.

### `fetchWithAuth(input, init?, opts?): Promise<Response>`
Fetch with `Authorization` header automatically. Retries once on 401.

### `subscribe(cb: (state: AuthState) => void): () => void`
Subscribe to auth state changes. Returns an unsubscribe function.

### `getAuthState(): AuthState`
Read-only snapshot of current auth state.

### `hasRealmRole(role: string): boolean`
Check if user has a realm-level role.

### `hasResourceRole(role: string, clientId?: string): boolean`
Check if user has a client/resource role.

### `getAuthHeader(): Promise<string | null>`
Convenience function to return `"Bearer <token>"` or `null`.

### `getUserInfo(): Promise<object | null>`
Fetch OIDC userinfo from Keycloak.

### `openAccount(): Promise<void>`
Open Keycloak account management page.

### `login(options?): Promise<void>` / `logout(options?): Promise<void>`
Login and logout helpers.

### `teardown(): void`
Reset internal state and subscribers (e.g., in tests or app reboot).

### `withKeycloak(fn: (kc: KeycloakInstance) => T): T`
Escape hatch to run a function with the raw Keycloak instance.

## Development

Build locally:

```bash
npm install
npm run build
```

Test pack:

```bash
npm pack
```

## License

MIT © Lauren Gibbs
npm package: @lgicc/ngx-image-file-input
Description: [![CodeQL](https://github.com/lgicc/ngx-image-file-input/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/lgicc/ngx-image-file-input/actions/workflows/codeql-analysis.yml)
Latest version: 0.0.8

[![CodeQL](https://github.com/lgicc/ngx-image-file-input/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/lgicc/ngx-image-file-input/actions/workflows/codeql-analysis.yml)

# ngx-image-file-upload

## Table of contents

- [About](#about)
- [Getting Started](#getting-started)
- [Examples](#examples)
- [License](#license)

## About
This package can be used for uploading Images via a FormControlField.  
The value of the field will be the Image DataURL.

## Getting Started
Install the package by command:

```sh
    npm install @lgicc/ngx-image-file-input --save
```
```sh
    yarn add @lgicc/ngx-image-file-input
```

Import the module

```ts
import { NgxImageFileInputModule } from "@lgicc/ngx-image-file-input";

@NgModule({
    imports: [
        ...
          NgxImageFileInputModule
    ],
    declarations: [...],
    providers: [...]
})
export class AppModule {}
```

### Using
```html
    <ngx-image-file-input></ngx-image-file-input>
```

### Examples


```html
    <!-- example to use your own image icon if no image is set -->
    <ngx-image-file-input>
      <img src="https://www.example.com/my-image-icon.svg">
    </ngx-image-file-input>
``` 

```html
    <!-- customize the alt Tag of the uploaded Image -->
    <ngx-image-file-input [alt]="My Image is cool"></ngx-image-file-input>
```  

```html
    <!-- You can use all FormControl features -->
    <ngx-image-file-input [formControl]="myControl"></ngx-image-file-input>

    <!-- OR -->
    <form [formGroup]="myFormGroup">
      <ngx-image-file-input formControlName="myFormControlName"></ngx-image-file-input>
    </form>
```

By default you dont have a theme, so you just have the code infrastructure to use.  
However this package also includes a predefined Design if you want to use it.  
Just include the file like so:
```scss
  @import "~@lgicc/ngx-image-file-input/styles/theme.css";
```



Available options:

* `alt` - Text alignment in input. (default: `''`)


## License

MIT @ Daniel Amzovski
npm package: @lgicc/totp
Description: Various functions to work with TOTP
Author: Daniel Amzovski
Latest version: 1.0.7

# TOTP

### Generate Random Secret.  

*Default length is 20*
```javascript
    import {generateSecret} from '@lgicc/totp';

    // Generate Secret with Default length of 20
    // Automatically converted to base32
    const secret = generateSecret();

    // Generate Secret with custom length
    const customSecret = generateSecret(30);
```
  

### Convert manual to Base32.  

*To support Google Authenticator*
```javascript
    import {generateSecret} from '@lgicc/totp';
    import {toBase32} from '@lgicc/totp';
    
    // Generate secret without automatic base32 convertion
    const secretNoBase32 = generateSecret(20, false);

    // Convert to secret to base32 manually
    const secretBase32 = toBase32(secretNoBase32);
```
  

### Generate TOTP

```javascript
    import {TOTP} from '@lgicc/totp';
    import {generateSecret} from '@lgicc/totp';

    // Generate Secret with Default Length of 20
    const secret = generateSecret();

    const totp = new TOTP(secret);
    console.log(totp.generate());

    // Verify TOTP
    console.log(totp.verify('000000')); // inject your code instead of 000000
```