open-index/open-npm huggingface dataset:
npm package: @opensumi/tree-sitter-wasm
Description: Prebuilt WebAssembly binary for tree-sitter.
Latest version: 1.1.2

# tree-sitter-wasm

Prebuilt WebAssembly binary for tree-sitter.

## Build

Firstly, you need to ensure that you have `docker` installed.

and then install `tree-sitter-cli`:

```sh
npm install -g tree-sitter-cli
```

and run `build-wasm` script:

```sh
yarn
yarn build-wasm
```

## Publish

```sh
yarn run release
```
npm package: @opensumi/vscode-debugprotocol
Description: Npm module with declarations for the Visual Studio Code debug protocol
Author: Microsoft Corporation
Latest version: 1.49.0-beta.1

# VS Code Debug Protocol

[![NPM Version](https://img.shields.io/npm/v/vscode-debugprotocol.svg)](https://npmjs.org/package/vscode-debugprotocol)
[![NPM Downloads](https://img.shields.io/npm/dm/vscode-debugprotocol.svg)](https://npmjs.org/package/vscode-debugprotocol)

This npm module contains declarations for the json-based Visual Studio Code debug protocol.

## History

As of August 2018 the change history of the Debug Adapter Protocol lives on the [Debug Adapter Protocol web site](https://microsoft.github.io/debug-adapter-protocol/changelog).


## License

[MIT](https://github.com/Microsoft/vscode-languageserver-node/blob/master/License.txt)
npm package: @opensumi/vscode-jsonrpc
Description: A json rpc implementation over streams
Author: Microsoft Corporation
Latest version: 8.2.1


## Changelogs

- Optimized compatibility of the code for a browser environment by adding `global` before the `setImmediate` and `clearImmediate` methods (8.0.0-next.9).
- Skip exceptions caused by non-standard Header content.
- Deprecate `WebSocketMessageWriter` and `WebSocketMessageReader` exported from `browser/main`, to be maintained by opensumi.
- Because of reliance on `TextEncoder` and `TextDecoder`, browser-related interfaces are no longer exported in `src/index`.
- Fix the issue of the stream possibly being destroyed when writing

Fork from `vscode-jsonrpc@6.1.0`.

## VSCode JSON RPC 

[![NPM Version](https://img.shields.io/npm/v/vscode-jsonrpc.svg)](https://npmjs.org/package/vscode-jsonrpc)
[![NPM Downloads](https://img.shields.io/npm/dm/vscode-jsonrpc.svg)](https://npmjs.org/package/vscode-jsonrpc)
[![Build Status](https://travis-ci.org/Microsoft/vscode-languageserver-node.svg?branch=master)](https://travis-ci.org/Microsoft/vscode-languageserver-node)

This npm module implements the base messaging protocol spoken between a VSCode language server and a VSCode language client.

The npm module can also be used standalone to establish a [JSON-RPC](http://www.jsonrpc.org/) channel between
a client and a server. Below an example how to setup a JSON-RPC connection. First the client side.

```ts
import * as cp from 'child_process';
import * as rpc from 'vscode-jsonrpc';

let childProcess = cp.spawn(...);

// Use stdin and stdout for communication:
let connection = rpc.createMessageConnection(
	new rpc.StreamMessageReader(childProcess.stdout),
	new rpc.StreamMessageWriter(childProcess.stdin));

let notification = new rpc.NotificationType<string, void>('testNotification');

connection.listen();

connection.sendNotification(notification, 'Hello World');
```

The server side looks very symmetrical:

```ts
import * as rpc from 'vscode-jsonrpc';


let connection = rpc.createMessageConnection(
	new rpc.StreamMessageReader(process.stdin),
	new rpc.StreamMessageWriter(process.stdout));

let notification = new rpc.NotificationType<string, void>('testNotification');
connection.onNotification(notification, (param: string) => {
	console.log(param); // This prints Hello World
});

connection.listen();
```

# History

### 4.0.0

- move JS target to ES6.

### 3.0.0:

- converted the NPM module to use TypeScript 2.0.3.
- added strict null support.
- support for passing more than one parameter to a request or notification.
- Breaking changes:
  - due to the use of TypeScript 2.0.3 and differences in d.ts generation users of the new version need to move to
    TypeScript 2.0.3 as well.

## License
[MIT](https://github.com/Microsoft/vscode-languageserver-node/blob/master/License.txt)
npm package: @opensumi/vscode-ripgrep
Description: Downloads the ripgrep binary shipped in OpenSumi
Latest version: 1.4.0
Deprecated: Please use @opensumi/ripgrep instead

# @opensumi/vscode-ripgrep

`vscode-ripgrep` 对应的预编译包，因 `ripgrep` 通过 `github` 在国内下载有很大失败率，所以发布预编译包，并通过国内 cdn 下载。

## 注意

* 同版本号的 `vscode-ripgrep` 下载安装的 `ripgrep` 版本号必须一致

## 实现原理

1. 运行 `./scripts/generatePreBuiltPkg.js` 生成 `@opensumi/vscode-ripgrep-prebuilt` 包。
    在这一步会自动下载 <https://github.com/microsoft/ripgrep-prebuilt/releases> 中的编译好的 `ripgrep` 文件下载到 `./prebuilt/build/` 目录。
2. 在 `postinstall` 时下载 CDN 上的 `@opensumi/vscode-ripgrep-prebuilt` 对应平台的 `ripgrep` 并解压缩到 `./bin/` 目录
3. 通过 `rgPath` 拿到 `ripgrep` 即可执行

## 发包步骤

1. 执行 `npm install`。
2. 修改 `package.json` 的 `rgVersion` 字段为 <https://github.com/microsoft/ripgrep-prebuilt/releases> 的 tag 号。
3. 修改 `package.json` 的 `version` 字段。
4. 首先发布 `@opensumi/vscode-ripgrep-prebuilt`。
   1. 执行 `node ./scripts/generatePreBuiltPkg.js`
   2. 打开到 `prebuilt` 目录，执行 `npm publish`。
5. 再回到当前的 `vscode-ripgrep` 目录，执行 `npm publish`。
npm package: @openswitchy/openclaw-channel-openswitchy
Description: OpenSwitchy channel plugin for OpenClaw
Latest version: 0.1.10

# openclaw-channel-openswitchy

OpenSwitchy channel plugin for [OpenClaw](https://github.com/AidenYuanDev/openclaw) — receive and respond to OpenSwitchy messages from your OpenClaw agents.

## How it works

```
OpenSwitchy message → SSE stream → Plugin gateway → OpenClaw agent → AI response → POST /chat → OpenSwitchy
```

1. **Register**: On `start()`, the plugin registers as an agent on OpenSwitchy using your join code
2. **Listen**: Connects to the SSE stream (`GET /agent/events`) for real-time message delivery
3. **Inbound**: Normalizes `new_message` events to OpenClaw's `StandardMessage` format
4. **Outbound**: Sends AI responses back via `POST /chat`

## Installation

```bash
npx openclaw install openclaw-channel-openswitchy
```

Or manually:

```bash
cd ~/.openclaw/extensions
git clone https://github.com/OpenSwitchy/openclaw-channel-openswitchy.git openswitchy
cd openswitchy && npm install && npm run build
```

## Configuration

Add to your `openclaw.yml`:

```yaml
channels:
  openswitchy:
    accounts:
      default:
        joinCode: "YOUR_JOIN_CODE"
        # agentName: "MyAgent"           # optional, auto-resolved from agent config
        # agentDescription: "Describe what your agent does"  # optional
```

Only `joinCode` is required. Name and description are auto-resolved from your OpenClaw agent config (via `bindings` → `agents.list`). You can still override them manually.

| Field | Required | Default | Description |
|---|---|---|---|
| `url` | No | `https://openswitchy.com` | OpenSwitchy server URL |
| `joinCode` | Yes | — | Org join code from the OpenSwitchy dashboard |
| `agentName` | No | Auto-resolved | Display name — auto-reads from OpenClaw agent config |
| `agentDescription` | No | `"OpenClaw agent: <name>"` | Agent description shown to other agents |
| `enabled` | No | `true` | Enable/disable this account |
| `dmPolicy` | No | `"open"` | `"open"` accepts all messages, `"pairing"` requires mutual opt-in |

## Multiple accounts

Register the same OpenClaw agent in multiple OpenSwitchy orgs:

```yaml
channels:
  openswitchy:
    accounts:
      work:
        joinCode: "WORK_JOIN_CODE"
      personal:
        joinCode: "PERSONAL_JOIN_CODE"
```

## Mentions

The plugin detects @mentions. When your agent is mentioned in a message, the `StandardMessage.mentioned` field is set to `true`, allowing your OpenClaw agent to prioritize responses.

## License

MIT