{"_id":"@ag-ui/watsonx","_rev":"3-de6966a2f22a9d645444946ac15a9c23","name":"@ag-ui/watsonx","dist-tags":{"latest":"0.0.2","canary":"0.0.2-canary.oidc-verify.0"},"versions":{"0.0.1":{"name":"@ag-ui/watsonx","version":"0.0.1","author":{"name":"AG-UI Contributors"},"_id":"@ag-ui/watsonx@0.0.1","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"dist":{"shasum":"70cd5c4e09c120dd75e237a3d82ca3e386e6acf3","tarball":"https://registry.npmjs.org/@ag-ui/watsonx/-/watsonx-0.0.1.tgz","fileCount":11,"integrity":"sha512-ZUlLVf/Ea7x5gduP1fPTvOfdZsQRG0C19ixdvwImDLS1pszmdsJiqbhTJR9ZOsADsFSbs++fsBApNcRGMiyl5g==","signatures":[{"sig":"MEUCIQCFXHp3y1Tgr9nfdcvsb/iBlcwv2qj4w4sH2UqetDF6agIgaxHbHBCZvAwfginnBu+vn5DgLjNhIENxn8TWDfHHQIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67427},"main":"./dist/index.js","_from":"file:ag-ui-watsonx-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20.3.0"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","clean":"git clean -fdX --exclude=\"!.env\"","typecheck":"tsc --noEmit","test:watch":"vitest","link:global":"pnpm link --global","test:exports":"publint --strict && attw --pack","test:coverage":"vitest run --coverage","unlink:global":"pnpm unlink --global"},"_npmUser":{"name":"copilotkit","email":"devops@copilotkit.ai"},"_resolved":"/tmp/359be96da19dfeccfad2c0614cb30a8c/ag-ui-watsonx-0.0.1.tgz","_integrity":"sha512-ZUlLVf/Ea7x5gduP1fPTvOfdZsQRG0C19ixdvwImDLS1pszmdsJiqbhTJR9ZOsADsFSbs++fsBApNcRGMiyl5g==","_npmVersion":"10.9.7","description":"AG-UI integration for IBM watsonx orchestrate agents","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"7.8.1","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.12","typescript":"^5.3.3","@ag-ui/core":"0.0.53","@types/node":"^20.11.19","@ag-ui/client":"0.0.53","@arethetypeswrong/cli":"^0.17.4","@vitest/coverage-istanbul":"^4.0.18"},"peerDependencies":{"rxjs":">=7.8.0","@ag-ui/core":">=0.0.42","@ag-ui/client":">=0.0.42"},"_npmOperationalInternal":{"tmp":"tmp/watsonx_0.0.1_1778711990334_0.7114582076655358","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.oidc-verify.0":{"name":"@ag-ui/watsonx","version":"0.0.2-canary.oidc-verify.0","author":{"name":"AG-UI Contributors"},"_id":"@ag-ui/watsonx@0.0.2-canary.oidc-verify.0","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"homepage":"https://github.com/ag-ui-protocol/ag-ui#readme","bugs":{"url":"https://github.com/ag-ui-protocol/ag-ui/issues"},"dist":{"shasum":"0a30c85354dd89001ee206fa1be95d40b4ff8664","tarball":"https://registry.npmjs.org/@ag-ui/watsonx/-/watsonx-0.0.2-canary.oidc-verify.0.tgz","fileCount":11,"integrity":"sha512-wzEqr9Zj6NXKUjzBeiIP0ApAzl7RpKa2DAqjV03JPVLJhXnWx0VfUaqZ1t/37eEXDZ2GlpNTNzle2Bppf7GTwQ==","signatures":[{"sig":"MEYCIQCWNdUi/wZjBzk2yuu2VXoXSoSDmwl0rynqhyV8a5T3HgIhAKpIWRm5WorgFYxjKD+x6n24kfCcL8X0/38GzJ4gXrGw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ag-ui%2fwatsonx@0.0.2-canary.oidc-verify.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":67547},"main":"./dist/index.js","_from":"file:ag-ui-watsonx-0.0.2-canary.oidc-verify.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20.3.0"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","clean":"git clean -fdX --exclude=\"!.env\"","typecheck":"tsc --noEmit","test:watch":"vitest","link:global":"pnpm link --global","test:exports":"publint --strict && attw --pack","test:coverage":"vitest run --coverage","unlink:global":"pnpm unlink --global"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79f76fce-a7cf-496d-8a2d-434e3a887f1e"}},"_resolved":"/home/runner/work/ag-ui/ag-ui/integrations/watsonx/typescript/ag-ui-watsonx-0.0.2-canary.oidc-verify.0.tgz","_integrity":"sha512-wzEqr9Zj6NXKUjzBeiIP0ApAzl7RpKa2DAqjV03JPVLJhXnWx0VfUaqZ1t/37eEXDZ2GlpNTNzle2Bppf7GTwQ==","repository":{"url":"git+https://github.com/ag-ui-protocol/ag-ui.git","type":"git"},"_npmVersion":"11.15.0","description":"AG-UI integration for IBM watsonx orchestrate agents","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rxjs":"7.8.1","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.12","typescript":"^5.3.3","@ag-ui/core":"0.0.54","@types/node":"^20.11.19","@ag-ui/client":"0.0.54","@arethetypeswrong/cli":"^0.17.4","@vitest/coverage-istanbul":"^4.0.18"},"peerDependencies":{"rxjs":">=7.8.0","@ag-ui/core":">=0.0.42","@ag-ui/client":">=0.0.42"},"_npmOperationalInternal":{"tmp":"tmp/watsonx_0.0.2-canary.oidc-verify.0_1780032990788_0.15622197334889298","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"_id":"@ag-ui/watsonx@0.0.2","bugs":{"url":"https://github.com/ag-ui-protocol/ag-ui/issues"},"dist":{"shasum":"c656754695aaca5aeed8b74fd34a79787aebc880","tarball":"https://registry.npmjs.org/@ag-ui/watsonx/-/watsonx-0.0.2.tgz","fileCount":11,"integrity":"sha512-WL++baRNBJv2uSKoHWQ/TrVNH6kVnhfFEagW+NRlAgCbFnwilR60YVhkDpyRuWwvrJsWaZHvxrVnQkAPM+SG8A==","signatures":[{"sig":"MEYCIQDJhbfkeZ9jK1nnmV7oWFmzhvllPg65gLBir+hH2fQhLAIhAMlqxjcXynIoxMvXzWNQ+WajIsrGScmfgmdlK1jBagRH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCi/LDCCFhEraJkaRMVxncoOujDzWZdHA0uLDraFsRmxgIgWF6dRUY0IZVOr2KK0GFlFtw8ZXIkuRh6DcYC9H8Bf4s="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ag-ui%2fwatsonx@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":67546},"main":"./dist/index.js","name":"@ag-ui/watsonx","_from":"file:ag-ui-watsonx-0.0.2.tgz","types":"./dist/index.d.ts","author":{"name":"AG-UI Contributors"},"module":"./dist/index.mjs","engines":{"node":">=20.3.0"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"license":"MIT","private":false,"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","clean":"git clean -fdX --exclude=\"!.env\"","typecheck":"tsc --noEmit","test:watch":"vitest","link:global":"pnpm link --global","test:exports":"publint --strict && attw --pack","test:coverage":"vitest run --coverage","unlink:global":"pnpm unlink --global"},"version":"0.0.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79f76fce-a7cf-496d-8a2d-434e3a887f1e"}},"homepage":"https://github.com/ag-ui-protocol/ag-ui#readme","_resolved":"/home/runner/work/ag-ui/ag-ui/integrations/watsonx/typescript/ag-ui-watsonx-0.0.2.tgz","_integrity":"sha512-WL++baRNBJv2uSKoHWQ/TrVNH6kVnhfFEagW+NRlAgCbFnwilR60YVhkDpyRuWwvrJsWaZHvxrVnQkAPM+SG8A==","repository":{"url":"git+https://github.com/ag-ui-protocol/ag-ui.git","type":"git"},"_npmVersion":"11.15.0","description":"AG-UI integration for IBM watsonx orchestrate agents","directories":{},"maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"sideEffects":false,"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"7.8.1","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.12","typescript":"^5.3.3","@ag-ui/core":"0.0.59","@types/node":"^20.11.19","@ag-ui/client":"0.0.59","@arethetypeswrong/cli":"^0.17.4","@vitest/coverage-istanbul":"^4.0.18"},"peerDependencies":{"rxjs":">=7.8.0","@ag-ui/core":">=0.0.42","@ag-ui/client":">=0.0.42"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/watsonx_0.0.2_1789614615712_0.9049443338289187"}}},"time":{"created":"2026-05-13T22:39:50.229Z","modified":"2026-09-17T03:10:16.142Z","0.0.1":"2026-05-13T22:39:50.476Z","0.0.2-canary.oidc-verify.0":"2026-05-29T05:36:30.945Z","0.0.2":"2026-09-17T03:10:15.829Z"},"author":{"name":"AG-UI Contributors"},"description":"AG-UI integration for IBM watsonx orchestrate agents","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"readme":"# @ag-ui/watsonx\n\nAG-UI integration for [IBM watsonx orchestrate](https://www.ibm.com/products/watsonx-orchestrate) agents.\n\n## Installation\n\n```bash\nnpm install @ag-ui/watsonx\n```\n\n## Usage\n\n### TypeScript (Direct — No Python Server Required)\n\n`WatsonxAgent` extends `AbstractAgent` and calls the watsonx orchestrate API directly, translating OpenAI-compatible SSE deltas into AG-UI events. It handles IAM token exchange and auto-refresh.\n\n```typescript\nimport { WatsonxAgent } from \"@ag-ui/watsonx\";\nimport {\n  CopilotRuntime,\n  ExperimentalEmptyAdapter,\n  copilotRuntimeNextJSAppRouterEndpoint,\n} from \"@copilotkit/runtime\";\n\nconst runtime = new CopilotRuntime({\n  agents: {\n    my_agent: new WatsonxAgent({\n      region: \"au-syd\",\n      instanceId: \"your-instance-id\",\n      agentId: \"your-watsonx-agent-id\",\n      apiKey: process.env.WATSONX_API_KEY,\n    }),\n  },\n});\n\nexport const POST = async (req: NextRequest) => {\n  const { handleRequest } = copilotRuntimeNextJSAppRouterEndpoint({\n    runtime,\n    serviceAdapter: new ExperimentalEmptyAdapter(),\n    endpoint: \"/api/copilotkit\",\n  });\n  return handleRequest(req);\n};\n```\n\n### Python (Server Adapter)\n\nIf you prefer running a Python intermediary server:\n\n```bash\npip install ag_ui_watsonx\n```\n\n```python\nfrom ag_ui_watsonx import WatsonxAgent, create_watsonx_app\n\nagent = WatsonxAgent(\n    region=\"au-syd\",\n    instance_id=\"your-instance-id\",\n    agent_id=\"your-watsonx-agent-id\",\n    api_key=\"YOUR_API_KEY\",\n)\n\napp = create_watsonx_app(agent)\n\n# Run with: uvicorn main:app --port 8000\n```\n\nThen point a standard `HttpAgent` at `http://localhost:8000/` from your CopilotKit runtime.\n\n## Configuration\n\n### TypeScript\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `region` | `string` | Yes | IBM Cloud region (e.g., `au-syd`, `us-south`, `eu-de`) |\n| `instanceId` | `string` | Yes | watsonx orchestrate instance ID |\n| `agentId` | `string` | Yes | The watsonx agent ID |\n| `apiKey` | `string` | One of | IBM Cloud API key — tokens are exchanged and refreshed automatically |\n| `bearerToken` | `string` | One of | Pre-exchanged IAM bearer token (expires ~1 hour) |\n\n### Python\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `region` | `str` | Yes | IBM Cloud region |\n| `instance_id` | `str` | Yes | watsonx orchestrate instance ID |\n| `agent_id` | `str` | Yes | The watsonx agent ID |\n| `api_key` | `str` | One of | IBM Cloud API key — auto-refreshed |\n| `bearer_token` | `str` | One of | Pre-exchanged IAM bearer token |\n\n## How It Works\n\nIBM watsonx orchestrate exposes an OpenAI-compatible chat completions endpoint with SSE streaming at:\n\n```\nhttps://api.{region}.watson-orchestrate.cloud.ibm.com/instances/{instanceId}/v1/orchestrate/{agentId}/chat/completions\n```\n\nThis adapter translates between that format and the AG-UI event protocol:\n\n- `choices[0].delta.content` → `TEXT_MESSAGE_START` / `TEXT_MESSAGE_CONTENT` / `TEXT_MESSAGE_END`\n- `choices[0].delta.tool_calls` → `TOOL_CALL_START` / `TOOL_CALL_ARGS` / `TOOL_CALL_END`\n- `X-IBM-THREAD-ID` header is mapped from AG-UI's `threadId` for conversation continuity\n\nAuthentication is handled via IBM Cloud IAM. Pass an `apiKey` and the adapter exchanges it for a bearer token automatically, refreshing before expiry.\n","readmeFilename":"README.md","homepage":"https://github.com/ag-ui-protocol/ag-ui#readme","repository":{"url":"git+https://github.com/ag-ui-protocol/ag-ui.git","type":"git"},"bugs":{"url":"https://github.com/ag-ui-protocol/ag-ui/issues"},"license":"MIT"}