{"_id":"@beeos-ai/bridge-client","_rev":"4-9cdf12374fb48493f7e51cb4dccd57ea","name":"@beeos-ai/bridge-client","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@beeos-ai/bridge-client","version":"0.1.0","keywords":["beeos","agent","bridge","websocket","ed25519","sdk"],"author":{"name":"BeeOS","email":"dev@beeos.ai"},"license":"MIT","_id":"@beeos-ai/bridge-client@0.1.0","maintainers":[{"name":"openantai","email":"sqxroba@outlook.com"}],"homepage":"https://github.com/beeos-ai/beeos/tree/main/sdks/bridge-client/nodejs","bugs":{"url":"https://github.com/beeos-ai/beeos/issues"},"dist":{"shasum":"441b553c249828aa6a4139f22cc061e643bb1418","tarball":"https://registry.npmjs.org/@beeos-ai/bridge-client/-/bridge-client-0.1.0.tgz","fileCount":9,"integrity":"sha512-5nHL8zHVDGOetbG7ez3DMHQc2GXUofFI8qMMEQEmaHZ9u8pkytnC1/SWXlIvCbAMUOl97pPWyIqVhD4sZZH0Ug==","signatures":[{"sig":"MEQCICoXP04SlFfKl0ze3EuGgxTXp/6ON93vU7KuvUuyegK7AiBKFWHPKM9HCa8TUMMthrYgQmrRitWLX7DEshI1mturTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21759},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"npm run clean && tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"openantai","email":"sqxroba@outlook.com"},"repository":{"url":"git+https://github.com/beeos-ai/beeos.git","type":"git","directory":"sdks/bridge-client/nodejs"},"_npmVersion":"11.8.0","description":"Agent Bridge SDK - Ed25519 authenticated WebSocket client for connecting agents to the Bridge server","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bridge-client_0.1.0_1772456002608_0.10248476620411573","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Superseded by 0.1.1"},"0.1.1":{"name":"@beeos-ai/bridge-client","version":"0.1.1","keywords":["beeos","agent","bridge","websocket","ed25519","sdk"],"author":{"name":"BeeOS","email":"dev@beeos.ai"},"license":"MIT","_id":"@beeos-ai/bridge-client@0.1.1","maintainers":[{"name":"beenpm","email":"beeos001@gmail.com"}],"homepage":"https://github.com/beeos-ai/beeos/tree/main/sdks/bridge-client/nodejs","bugs":{"url":"https://github.com/beeos-ai/beeos/issues"},"dist":{"shasum":"5cdd2084ccd499d0abd43b634a4dba9302891fdb","tarball":"https://registry.npmjs.org/@beeos-ai/bridge-client/-/bridge-client-0.1.1.tgz","fileCount":9,"integrity":"sha512-7eSSjpQmcuaTLxXDW/GKDrwsyB9kYj4SkR6beYS+UqxuePd6giUmT6vbUJjAzlSKFud09PQPs0l+iI2+99sWbw==","signatures":[{"sig":"MEUCIA7J49wizdL0+wB7jLePVkNuNbRAUcPquth3iuHECGPvAiEAkKyexW8zAaPH64W+W3P7hAb2hOTnN7dGaWepMMx3teI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21759},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"npm run clean && tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"beenpm","email":"beeos001@gmail.com"},"repository":{"url":"git+https://github.com/beeos-ai/beeos.git","type":"git","directory":"sdks/bridge-client/nodejs"},"_npmVersion":"11.8.0","description":"Agent Bridge SDK - Ed25519 authenticated WebSocket client for connecting agents to the Bridge server","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bridge-client_0.1.1_1772805812669_0.11630368571381422","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-02T12:53:22.548Z","modified":"2026-03-06T14:03:47.610Z","0.1.0":"2026-03-02T12:53:22.778Z","0.1.1":"2026-03-06T14:03:32.842Z"},"bugs":{"url":"https://github.com/beeos-ai/beeos/issues"},"author":{"name":"BeeOS","email":"dev@beeos.ai"},"license":"MIT","homepage":"https://github.com/beeos-ai/beeos/tree/main/sdks/bridge-client/nodejs","keywords":["beeos","agent","bridge","websocket","ed25519","sdk"],"repository":{"url":"git+https://github.com/beeos-ai/beeos.git","type":"git","directory":"sdks/bridge-client/nodejs"},"description":"Agent Bridge SDK - Ed25519 authenticated WebSocket client for connecting agents to the Bridge server","maintainers":[{"name":"beenpm","email":"beeos001@gmail.com"}],"readme":"# @beeos-ai/bridge-client\n\nEd25519 authenticated WebSocket client for connecting agents to the BeeOS Bridge server.\n\n## Install\n\n```bash\nnpm install @beeos-ai/bridge-client\n```\n\n## Quick Start\n\n```typescript\nimport { BridgeClient, generateKeyPair } from \"@beeos-ai/bridge-client\";\n\n// Generate a keypair (saved to disk for reuse)\nconst keys = generateKeyPair(\"./agent-keys.json\");\n\nconst client = new BridgeClient({\n  bridgeUrl: \"wss://bridge.beeos.ai\",\n  service: \"my-agent\",\n  keyFile: \"./agent-keys.json\",\n});\n\nclient.on(\"connected\", () => {\n  console.log(\"Connected to bridge\");\n  client.send(JSON.stringify({ type: \"hello\" }));\n});\n\nclient.on(\"message\", (data) => {\n  console.log(\"Received:\", data.toString());\n});\n\nclient.on(\"disconnected\", (reason) => {\n  console.log(\"Disconnected:\", reason);\n});\n\nclient.on(\"error\", (err) => {\n  console.error(\"Error:\", err);\n});\n\nawait client.connect();\n```\n\n## Authentication\n\nThe client authenticates with an Ed25519 keypair. You can provide keys in three ways:\n\n**Key file (recommended)** — auto-generates if file doesn't exist:\n\n```typescript\nconst client = new BridgeClient({\n  bridgeUrl: \"wss://bridge.beeos.ai\",\n  service: \"my-agent\",\n  keyFile: \"./keys.json\",\n});\n```\n\n**Raw keys:**\n\n```typescript\nconst client = new BridgeClient({\n  bridgeUrl: \"wss://bridge.beeos.ai\",\n  service: \"my-agent\",\n  privateKey: myPrivateKey,  // Uint8Array (32 bytes)\n  publicKey: myPublicKey,    // Uint8Array (32 bytes)\n});\n```\n\n## Options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `bridgeUrl` | `string` | — | Bridge server WebSocket URL |\n| `service` | `string` | — | Service/agent identifier |\n| `keyFile` | `string` | — | Path to key file (JSON or raw base64 seed) |\n| `privateKey` | `Uint8Array` | — | Raw Ed25519 private key (32 bytes) |\n| `publicKey` | `Uint8Array` | — | Raw Ed25519 public key (32 bytes) |\n| `reconnect.enabled` | `boolean` | `true` | Auto-reconnect on disconnect |\n| `reconnect.maxRetries` | `number` | `Infinity` | Max reconnect attempts |\n| `reconnect.baseDelay` | `number` | `1000` | Base delay in ms (exponential backoff) |\n| `reconnect.maxDelay` | `number` | `30000` | Max delay in ms |\n| `heartbeat.interval` | `number` | `30000` | Ping interval in ms |\n| `heartbeat.timeout` | `number` | `10000` | Pong timeout in ms |\n| `proxy` | `string` | `$HTTPS_PROXY` | HTTPS proxy URL |\n\n## API\n\n### `BridgeClient`\n\n- **`connect(): Promise<void>`** — Connect and authenticate with the bridge.\n- **`send(data: string | Buffer): Promise<void>`** — Send data to the bridge.\n- **`close(graceful?: boolean): Promise<void>`** — Disconnect. Graceful (default) sends close frame; non-graceful terminates immediately.\n- **`state`** — Current state: `\"idle\"` | `\"connecting\"` | `\"connected\"` | `\"reconnecting\"` | `\"closed\"`.\n- **`publicKey`** — Base64-encoded Ed25519 public key.\n- **`publicKeyFingerprint`** — SHA-256 hex fingerprint of the public key.\n\n### Events\n\n- **`connected`** — Connection established and authenticated.\n- **`disconnected(reason: string)`** — Connection lost.\n- **`message(data: Buffer | string)`** — Data received from bridge.\n- **`error(err: Error)`** — Error occurred.\n\n### Key Utilities\n\n- **`generateKeyPair(saveTo?: string): KeyPair`** — Generate a new Ed25519 keypair.\n- **`loadKeyPair(filePath: string): KeyPair`** — Load keypair from file (auto-generates if missing).\n- **`fingerprint(publicKey: Uint8Array): string`** — SHA-256 hex fingerprint.\n\n## Requirements\n\n- Node.js >= 18\n\n## License\n\nMIT\n","readmeFilename":"README.md"}