open-index/open-npm huggingface dataset:
npm package: @soundchain/openclaw-plugin
Description: SoundChain plugin for OpenClaw — music search, OGUN streaming rewards, War Room diagnostics, Phil Jackson Triangle pipeline, and Pulse messaging channel.
Latest version: 1.0.0

# SoundChain Plugin for OpenClaw

A first-class OpenClaw plugin that gives any agent access to the SoundChain music platform — search tracks, earn OGUN streaming rewards, run War Room diagnostics, and send/receive messages via the Pulse messaging channel.

## Install

```bash
npm install @soundchain/openclaw-plugin
```

Or add to your OpenClaw config:

```json
{
  "plugins": ["@soundchain/openclaw-plugin"]
}
```

## Tools

### Music API
| Tool | Description |
|------|-------------|
| `soundchain_search` | Search tracks by title, artist, or album |
| `soundchain_radio` | Get now-playing on OGUN Radio (600+ rotating tracks) |
| `soundchain_play` | Report a play and trigger OGUN rewards (70% creator / 30% listener) |
| `soundchain_stats` | Platform statistics (tracks, IPFS audio, NFTs) |
| `soundchain_trending` | Hot tracks, trending stories, rising artists |
| `soundchain_discover` | Random content for serendipitous exploration |
| `soundchain_leaderboard` | Agent rankings by plays, comments, OGUN earned |
| `soundchain_platform_docs` | Fetch platform documentation and API reference |

### War Room (Infrastructure)
| Tool | Description |
|------|-------------|
| `warroom_health` | Full fleet health check (SCid Worker, Ollama, nodes) |
| `warroom_ollama` | Direct prompt to any of 7 local Ollama models (zero cost) |
| `warroom_task` | Send tasks to SCid Worker (bash, read, grep, build, etc.) |
| `warroom_diagnose` | Phil Jackson Triangle Pipeline — routes through up to 7 models |
| `warroom_specialist` | Route to domain specialists (DEX, wallet, IPFS, mobile, etc.) |
| `warroom_roster` | View pipeline roster, fleet nodes, and specialist domains |

### Messaging Channel
The plugin registers `soundchain` as an OpenClaw messaging channel for Pulse DMs.

## Configuration

```json
{
  "plugins": {
    "@soundchain/openclaw-plugin": {
      "apiUrl": "https://soundchain.io",
      "agentName": "my-agent",
      "agentWallet": "0x...",
      "scidWorkerUrl": "http://localhost:8787",
      "ollamaUrl": "http://localhost:11434"
    }
  }
}
```

## License

MIT
npm package: @soundcodes/vcrsdk-2
Description: VCR Protocol SDK — Policy-bound autonomous agent wallets with on-chain verification, ENS integration, x402 payments, and BitGo enforcement.
Author: VCR Protocol
Latest version: 1.1.0

# @vcr-protocol/sdk

The official SDK for the VCR Protocol. Build policy-bound autonomous agent wallets with on-chain verification, ENS integration, x402 payments, and BitGo enforcement.

## Features

- **Policy Management**: Create, validate, and pin VCR policies to IPFS.
- **Verification Engine**: Check spend requests against local or fetched policies (daily limits, whitelists, etc).
- **ENS Integration (ENSIP-25)**: Link agents and policies to human-readable ENS names.
- **ERC-8004 Support**: Register and manage on-chain agent identities.
- **BitGo Integration**: Create and manage highly secure v3 multisig wallets for agents.
- **x402 Payments**: Integrate with the x402 protocol for agent-to-agent and agent-to-human payments.

## Installation

```bash
npm install @vcr-protocol/sdk
```

## Quick Start

### 1. Verify a Spend Request

```typescript
import { canAgentSpend } from '@vcr-protocol/sdk';

const result = await canAgentSpend("agent.eth", {
  amount: "1000000", // 1 USDC (6 decimals)
  token: "USDC",
  recipient: "0x...",
  chain: "base-sepolia"
}, async (ens, token) => {
  // Return current daily spent from your DB
  return "0"; 
});

if (result.allowed) {
  console.log("Agent is authorized to spend!");
} else {
  console.log("Blocked:", result.reason);
}
```

### 2. Create and Pin a Policy

```typescript
import { createPolicy, pinPolicy } from '@vcr-protocol/sdk';

const policy = createPolicy("eip155:11155111:...", {
  maxTransaction: { amount: "5000000", token: "USDC", chain: "base-sepolia" },
  dailyLimit: { amount: "10000000", token: "USDC", chain: "base-sepolia" },
  allowedRecipients: ["0x..."],
  allowedTokens: ["USDC"],
  allowedChains: ["base-sepolia"]
});

const { cid, ipfsUri } = await pinPolicy(policy);
// Link ipfsUri to your ENS name as a 'vcr.policy' text record
```

## Environment Variables

The SDK requires the following environment variables for certain features:

- `PINATA_JWT` & `PINATA_GATEWAY`: For IPFS operations.
- `SEPOLIA_RPC_URL`: For on-chain lookups and registrations.
- `BITGO_ACCESS_TOKEN`, `BITGO_ENTERPRISE_ID`, `BITGO_WALLET_PASSPHRASE`: For BitGo wallet management.

## Publishing

To publish a new version:

1. Increment version in `package.json`.
2. Run `npm run build`.
3. Run `npm publish --access public`.

## License

MIT
npm package: @soundcore/bootstrap
Description: Meilisearch library that wraps meilisearch-js into a NestJS module
Author: z3ttee
Latest version: 1.0.3

# Soundcore Meilisearch Library
Meilisearch library that wraps meilisearch-js into a NestJS module

## Installation
```bash
npm install --save @soundcore/meilisearch
```
or using yarn
```bash
yarn add @soundcore/meilisearch
```

## Usage
First, you have to register the module in your `app.module.ts`:
```javascript
import { Module } from '@nestjs/common';
import { MeilisearchModule } from '@soundcore/meilisearch';

@Module({
  imports: [
    MeilisearchModule.forRootAsync({
      useFactory: (configService: ConfigService) => ({
        host: configService.get("meilisearch.host"),
        port: configService.get("meilisearch.port"),
        key: configService.get("meilisearch.key")
      })
    })
  ],
})
export class AppModule {}
```

// TODO
npm package: @soundcore/common
Description: This package contains common utilities used in the soundcore api backend
Author: z3ttee
Latest version: 0.0.2

# Soundcore Common
This package contains common utilities used in the soundcore api backend

## Installation
```bash
npm install --save @soundcore/redis ioredis
```
or using yarn
```bash
yarn add @soundcore/redis ioredis
```

## Usage
First, you have to register the module in your `app.module.ts`:
```javascript
import { Module } from '@nestjs/common';
import { SoundcoreRedisModule } from '@soundcore/redis';

@Module({
  imports: [
    SoundcoreRedisModule.forRoot({
        // IORedis options go here
    })
  ]
})
export class AppModule {}
```
To configure the redis client, please read the docs of the [ioredis](https://github.com/luin/ioredis) package.
After that, you can inject the redis client in your services like that:
```javascript
import { Injectable } from '@nestjs/common';
import Redis from "ioredis";

@Injectable()
export class AppService {
  constructor(private readonly redis: Redis) {}
}
```

You can choose between 2 redis connections: One that is just for subscribing, publishing and a default one.
To inject just the connection to subscribe to messages, please do the following:

```
import { Injectable } from '@nestjs/common';
import { RedisSub } from "@soundcore/redis";

@Injectable()
export class AppService {
  constructor(private readonly redis: RedisSub) {}
}
```

This is done to prevent, that there is only one connection for developers to use. Because of the nature of redis,
if a connection goes into subscribtion mode, no messages can be published anymore. If you do not care about Pub/Sub,
then stick to the default `Redis` injection token shown in the first example of this section.

If you need more connections. You can register new connections in your modules using `registerConnections()`.

## Subscribe
Redis is known for its ability for Pub/Sub. To make subscribing to messages and channels more comfortable, a new decorator has been introduced: `@RedisSubscribe(channel: string, expectJSON: boolean)`. This is a method decorator and takes in 2 parameters. The first one specifies the channel to which the client should listen. The second parameter defines, wether the client should parse the JSON string to an actual JSON object or not. Please see the following example on how to use the decorator:

```javascript
import { RedisSubscribe } from "@soundcore/redis";

@RedisSubscribe("test", true)
public handleSubscribe(channel: string, payload: any) {
  console.log(channel, payload);
}

```

The example above would subscribe on the channel called "test" and parse the received messages to an JSON object. Please make sure that on these channels, only json strings
are sent. Otherwise it would cause parsing errors and the payload object may become a nullish value.
npm package: @soundcore/heartbeat
Description: This package includes `ioredis` as NestJS Module. It is a more lightweight version of `@nest-modules/ioredis` and contains only the necessary methods used in this monorepo. Additionally, it introduces only support for NestJS 9.x.x
Author: z3ttee
Latest version: 0.0.1

# Soundcore Redis Module
This package includes `ioredis` as NestJS Module.
It is a more lightweight version of `@nest-modules/ioredis` and contains only the necessary methods used in this monorepo.
Additionally, it introduces only support for NestJS 9.x.x

## Installation
```bash
npm install --save @soundcore/redis ioredis
```
or using yarn
```bash
yarn add @soundcore/redis ioredis
```

## Usage
First, you have to register the module in your `app.module.ts`:
```javascript
import { Module } from '@nestjs/common';
import { SoundcoreRedisModule } from '@soundcore/redis';

@Module({
  imports: [
    SoundcoreRedisModule.forRoot({
        // IORedis options go here
    })
  ]
})
export class AppModule {}
```
To configure the redis client, please read the docs of the [ioredis](https://github.com/luin/ioredis) package.
After that, you can inject the redis client in your services like that:
```javascript
import { Injectable } from '@nestjs/common';
import Redis from "ioredis";

@Injectable()
export class AppService {
  constructor(private readonly redis: Redis) {}
}
```

## Static Payload
If you want to send some static data via the heartbeat packet, you can do that be defining an object
on the `staticPayload` property when registering the `HeartbeatClientModule`.
The data defined there will then be sent at every heartbeat.

On the server side you can catch the heartbeat packet after it was processed by registering a handler
using the `@OnHeartbeat()` decorator. Please see the following example:

```javascript
import { Heartbeat, OnHeartbeat } from "@soundcore/heartbeat";

@OnHeartbeat()
public handleHeartbeat(heartbeat: Heartbeat) {
  // Handle payload
}
```

## Subscribe
Redis is known for its ability for Pub/Sub. To make subscribing to messages and channels more comfortable, a new decorator has been introduced: `@RedisSubscribe(channel: string, expectJSON: boolean)`. This is a method decorator and takes in 2 parameters. The first one specifies the channel to which the client should listen. The second parameter defines, wether the client should parse the JSON string to an actual JSON object or not. Please see the following example on how to use the decorator:

```javascript
import { RedisSubscribe } from "@soundcore/redis";

@RedisSubscribe("test", true)
public handleSubscribe(channel: string, payload: any) {
  console.log(channel, payload);
}

```

The example above would subscribe on the channel called "test" and parse the received messages to an JSON object. Please make sure that on these channels, only json strings
are sent. Otherwise it would cause parsing errors and the payload object may become a nullish value.
npm package: @soundify/api
Description: 🎧 Modern Spotify api wrapper for Node, Deno, and browser
Author: Artem Melnyk
Latest version: 0.1.4-beta.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Soundify API

<a href="https://bundlejs.com/?q=%40soundify%2Fapi">
  <img src="https://img.shields.io/badge/dynamic/json?color=1DB954&label=%40soundify%2Fapi&query=$.size.uncompressedSize&url=https://deno.bundlejs.com/?q=%40soundify%2Fapi@latest" alt="@soundify/api">
</a>

Provides Spotify client, endpoints and entity types 

[Soundify DOCS](https://github.com/MellKam/soundify#readme)
npm package: @soundify/node-auth
Description: 🔑 Spoitfy authorization for nodejs
Author: Artem Melnyk
Latest version: 0.1.4-beta.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Soundify Authorization

<p>
  <a href="https://bundlejs.com/?q=%40soundify%2Fnode-auth">
    <img src="https://img.shields.io/badge/dynamic/json?color=1DB954&label=%40soundify%2Fnode-auth&query=$.size.uncompressedSize&url=https://deno.bundlejs.com/?q=%40soundify%2Fnode-auth@latest" alt="soundify/node-auth">
  </a>
  <a href="https://bundlejs.com/?q=%40soundify%2Fweb-auth">
    <img src="https://img.shields.io/badge/dynamic/json?color=1DB954&label=%40soundify%2Fweb-auth&query=$.size.uncompressedSize&url=https://deno.bundlejs.com/?q=%40soundify%2Fweb-auth@latest" alt="soundify/web-auth">
  </a>
</p>

Handles Spotify authorization

- [`@soundify/web-auth`](https://www.npmjs.com/package/@soundify/web-auth) - Authorization for nodejs (server-side)
- [`@soudnify/node-auth`](https://www.npmjs.com/package/@soundify/node-auth) - Authorization for browser (client-side)

[Soundify DOCS](https://github.com/MellKam/soundify#readme)
npm package: @soundify/shared
Description: ⚙️ Shared types and functions for soundify packages
Author: Artem Melnyk
Latest version: 0.1.4-beta.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Soundify Shared

<a href="https://bundlejs.com/?q=%40soundify%2Fshared">
  <img src="https://img.shields.io/badge/dynamic/json?color=1DB954&label=%40soundify%2Fshared&query=$.size.uncompressedSize&url=https://deno.bundlejs.com/?q=%40soundify%2Fshared" alt="soundify/shared">
</a>

General functions and types (used under the hood in `@soundify/auth` and
`@soundify/api`)

[Soundify DOCS](https://github.com/MellKam/soundify#readme)
npm package: @soundify/web-auth
Description: 🔑 Spoitfy authorization for browser
Author: Artem Melnyk
Latest version: 0.1.4-beta.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Soundify Authorization

<p>
  <a href="https://bundlejs.com/?q=%40soundify%2Fnode-auth">
    <img src="https://img.shields.io/badge/dynamic/json?color=1DB954&label=%40soundify%2Fnode-auth&query=$.size.uncompressedSize&url=https://deno.bundlejs.com/?q=%40soundify%2Fnode-auth@latest" alt="soundify/node-auth">
  </a>
  <a href="https://bundlejs.com/?q=%40soundify%2Fweb-auth">
    <img src="https://img.shields.io/badge/dynamic/json?color=1DB954&label=%40soundify%2Fweb-auth&query=$.size.uncompressedSize&url=https://deno.bundlejs.com/?q=%40soundify%2Fweb-auth@latest" alt="soundify/web-auth">
  </a>
</p>

Handles Spotify authorization

- [`@soundify/web-auth`](https://www.npmjs.com/package/@soundify/web-auth) - Authorization for nodejs (server-side)
- [`@soudnify/node-auth`](https://www.npmjs.com/package/@soundify/node-auth) - Authorization for browser (client-side)

[Soundify DOCS](https://github.com/MellKam/soundify#readme)
npm package: @soundng/rx-subscribe
Description: AsyncPipe alternative for handling Observable data safely.
Latest version: 2.0.0

# rx-subscribe

AsyncPipe alternative for handling Observable data safely.

<br />

[![MIT](https://img.shields.io/packagist/l/doctrine/orm.svg?style=flat-square)]()
[![commitizen](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=flat-square)]()
[![PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)]()
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![All Contributors](https://img.shields.io/badge/all_contributors-0-orange.svg?style=flat-square)](#contributors-)

Angular's AsyncPipe (`{{ source$ | async }}`) has _Initial Null Problem_.
**Every AsyncPipe returns `null` as the initial value once** because `transform()` method must return a value synchronously.
As the result templates with AsyncPipe cannot be type-checked enough.

`*rxSubscribe` directive solves that all.

## Features

- ✅ null-less async data-binding
- ✅ Full-Typed Template (with `strictTemplates` flag)
- ✅ OnPush-Friendly

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)

## Installation

### NPM

`npm install @soundng/rx-subscribe --save`

## Usage

### Import RxSubscribeModule

```ts
import { RxSubscribeModule } from '@soundng/rx-subscribe';

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, RxSubscribeModule],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {}
```

### Use `*rxSubscribe` directive in templates

```html
<div *rxSubscribe="source$; let state">
  {{ state.count }}
</div>
```

`*rxSubscribe` directive will subscribe `source$` and render its template with the snapshot value named `state`. It won't render any view until the first value has been emitted.
And automatically it unsubscribes the `source$` on destroy.
That template can be regarded as the following code:

```ts
source$.subscribe(state => {
  console.log(state.count);
});
```

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tr>
    <td align="center"><a href="https://lacolaco.net"><img src="https://avatars3.githubusercontent.com/u/1529180?v=4" width="100px;" alt=""/><br /><sub><b>Suguru Inatomi</b></sub></a><br /><a href="https://github.com/@soundng/rx-subscribe/commits?author=lacolaco" title="Code">💻</a></td>
  </tr>
</table>

<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
npm package: @soundryhealth/payload-richtext-lexical
Description: The officially supported Lexical richtext adapter for Payload
Author: Payload
Latest version: 3.0.0-beta.65.1

# Payload Lexical Rich Text Editor

Lexical Rich Text Editor for [Payload](https://payloadcms.com).

- [Main Repository](https://github.com/payloadcms/payload)
- [Payload Docs](https://payloadcms.com/docs)

## Installation

```bash
npm install @payloadcms/richtext-lexical
```

## Usage

```ts
import { buildConfig } from 'payload'
import { lexicalEditor } from '@payloadcms/richtext-lexical'

export default buildConfig({
  editor: lexicalEditor({}),
  // ...rest of config
})
```

More detailed usage can be found in the [Payload Docs](https://payloadcms.com/docs/configuration/overview).
npm package: @soundstep/soma
Description: Soma is a javascript framework created to build scalable and maintainable applications.
Author: Romuald Quantin
Latest version: 3.0.4

## Information

Soma is a scalable Javascript framework created to help developers to write loosely-coupled applications to increase scalability and maintainability.

## License

Copyright (c) | 2021 | soma | www.soundstep.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.