{"_id":"@dexwox-labs/a2a-client","_rev":"2-2bac94cdc817561df3db3009cee34b29","name":"@dexwox-labs/a2a-client","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@dexwox-labs/a2a-client","version":"0.1.0","keywords":["a2a","agent-to-agent","google","protocol","typescript","client","http","websocket","rpc","api"],"license":"Apache-2.0","_id":"@dexwox-labs/a2a-client@0.1.0","maintainers":[{"name":"dexwoxinnovations","email":"developer@dexwox.com"}],"homepage":"https://dexwox-innovations-org.github.io/a2a-node-sdk/","bugs":{"url":"https://github.com/Dexwox-Innovations-Org/a2a-node-sdk/issues"},"dist":{"shasum":"04fa1928dc9f73a22facb20bdaa9d247d68012c0","tarball":"https://registry.npmjs.org/@dexwox-labs/a2a-client/-/a2a-client-0.1.0.tgz","fileCount":57,"integrity":"sha512-EjYT6j4UNd+UKVXzRpgJS9tMov9KGcBUUoVJ8biiyYnlIP04BjN7HPaH9XbWyXMXDW+R4xJVsJx1JLLfDB5mzQ==","signatures":[{"sig":"MEQCICajJMdU7rYj+2bIld9gSb5yeeUUyUdj8nWrru4P6SKvAiBZaykThXgT2cw6MJdan/hhJyE8iAQ+iQ8yQwPYDR8h6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272634},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2963afc9b336bedb260a2b8f2822d3202c7d6381","scripts":{"lint":"eslint . --ext .ts,.tsx --fix","test":"vitest run","bench":"vitest bench","build":"tsc -p tsconfig.json","clean":"rm -rf dist tsconfig.tsbuildinfo","format":"prettier --write .","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"dexwoxinnovations","email":"developer@dexwox.com"},"repository":{"url":"git+https://github.com/Dexwox-Innovations-Org/a2a-node-sdk.git","type":"git"},"_npmVersion":"10.8.1","description":"TypeScript client implementation for Google's Agent-to-Agent (A2A) protocol - includes HTTP/WebSocket communication, circuit breakers and error handling","directories":{},"_nodeVersion":"22.3.0","dependencies":{"eventsource":"^4.0.0","reflect-metadata":"^0.2.2","@dexwox-labs/a2a-core":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","vitest":"^3.1.3","typescript":"^5.3.0","@types/node":"^20.17.46","vite-tsconfig-paths":"^5.1.4"},"_npmOperationalInternal":{"tmp":"tmp/a2a-client_0.1.0_1748460335875_0.46170097558886636","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dexwox-labs/a2a-client","version":"0.1.1","description":"TypeScript client implementation for Google's Agent-to-Agent (A2A) protocol - includes HTTP/WebSocket communication, circuit breakers and error handling","homepage":"https://dexwox-innovations-org.github.io/a2a-node-sdk/","repository":{"type":"git","url":"git+https://github.com/Dexwox-Innovations-Org/a2a-node-sdk.git"},"bugs":{"url":"https://github.com/Dexwox-Innovations-Org/a2a-node-sdk/issues"},"keywords":["a2a","agent-to-agent","google","protocol","typescript","client","http","websocket","rpc","api"],"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"clean":"rm -rf dist tsconfig.tsbuildinfo","build":"tsc -p tsconfig.json","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","bench":"vitest bench","lint":"eslint . --ext .ts,.tsx --fix","format":"prettier --write ."},"dependencies":{"@dexwox-labs/a2a-core":"0.1.0","eventsource":"^4.0.0","reflect-metadata":"^0.2.2"},"devDependencies":{"@types/node":"^20.17.46","typescript":"^5.3.0","vite":"^6.3.5","vite-tsconfig-paths":"^5.1.4","vitest":"^3.1.3"},"license":"Apache-2.0","_id":"@dexwox-labs/a2a-client@0.1.1","gitHead":"9329b5bb0fe9b60ddc4a17b1058a72858e044528","_nodeVersion":"22.3.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-LX95xcesi0MjKZS/CXtGEy3QLgagZNLil11I9z2LxbkPcD4vlgBqi4jgFKgUMgVnvf7nMMeC8z5MTe+jMvVpQQ==","shasum":"d67990388be6b2babbf586574e0d7d9ce6559dd1","tarball":"https://registry.npmjs.org/@dexwox-labs/a2a-client/-/a2a-client-0.1.1.tgz","fileCount":57,"unpackedSize":272568,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCCb645MPNj/REqD0RqFeYK5sveeUfrVO0t2SYp8Z4P5QIgRH+/Ya3ffls42LG4+9oUkcadnIV6jesPbb3d4oCvU28="}]},"_npmUser":{"name":"dexwoxinnovations","email":"developer@dexwox.com"},"directories":{},"maintainers":[{"name":"dexwoxinnovations","email":"developer@dexwox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/a2a-client_0.1.1_1748462841757_0.6370638437675955"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-28T19:25:35.761Z","modified":"2025-05-28T20:07:22.151Z","0.1.0":"2025-05-28T19:25:36.069Z","0.1.1":"2025-05-28T20:07:21.952Z"},"bugs":{"url":"https://github.com/Dexwox-Innovations-Org/a2a-node-sdk/issues"},"license":"Apache-2.0","homepage":"https://dexwox-innovations-org.github.io/a2a-node-sdk/","keywords":["a2a","agent-to-agent","google","protocol","typescript","client","http","websocket","rpc","api"],"repository":{"type":"git","url":"git+https://github.com/Dexwox-Innovations-Org/a2a-node-sdk.git"},"description":"TypeScript client implementation for Google's Agent-to-Agent (A2A) protocol - includes HTTP/WebSocket communication, circuit breakers and error handling","maintainers":[{"name":"dexwoxinnovations","email":"developer@dexwox.com"}],"readme":"# @dexwox-labs/a2a-client\n\nA TypeScript client library for interacting with agents implementing the Agent-to-Agent (A2A) protocol.\n\nThis package implements the A2A protocol specification, enabling seamless agent communication. Developed by [Dexwox Innovations Pvt Ltd](https://dexwox.com) to provide developers with a robust TypeScript implementation of the standard.\n\n## Features\n\n- HTTP and WebSocket client implementations\n- Circuit breaker pattern for resilient requests\n- Error handling and retry mechanisms\n- Type-safe API interactions\n- Task lifecycle management\n- Message streaming support\n\n## Installation\n\n```bash\nnpm install @dexwox-labs/a2a-client\n# or \npnpm add @dexwox-labs/a2a-client\n# or use the unified package\nnpm install @dexwox-labs/a2a-node\n```\n\n## Quick Start\n\n```typescript\n// Import from the client package\nimport { AgentClient, MessageClient, TaskClient } from '@dexwox-labs/a2a-client';\n\n// Or import from the unified package\n// import { AgentClient, MessageClient, TaskClient } from '@dexwox-labs/a2a-node';\n\n// Initialize clients\nconst agentClient = new AgentClient('http://localhost:3000');\nconst messageClient = new MessageClient('http://localhost:3000');\nconst taskClient = new TaskClient('http://localhost:3000');\n\n// Example usage\nconst agent = await agentClient.getAgentCard();\nconst task = await taskClient.createTask({...});\nconst messages = await messageClient.getMessages();\n```\n\n## Core Components\n\n### AgentClient\n- `getAgentCard()`: Retrieves agent metadata\n- `getCapabilities()`: Lists agent capabilities\n\n### MessageClient  \n- `sendMessage()`: Sends a new message\n- `getMessages()`: Retrieves message history\n- `streamMessages()`: WebSocket message streaming\n\n### TaskClient\n- `createTask()`: Starts a new task\n- `getTask()`: Gets task status\n- `updateTask()`: Updates task progress\n- `cancelTask()`: Cancels a running task\n\n## Configuration\n\n### Client Options\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| baseUrl | string | Agent server URL |\n| timeout | number | Request timeout in ms |\n| retries | number | Number of retry attempts |\n| circuitBreaker | object | Circuit breaker config |\n\n### Environment Variables\n\n- `A2A_API_URL`: Base URL for agent server\n- `A2A_API_TIMEOUT`: Request timeout (default: 5000ms)\n\n## Error Handling\n\nThe client provides standardized error classes:\n\n- `NetworkError`: Connection issues\n- `TimeoutError`: Request timeout\n- `CircuitBreakerError`: Circuit open\n- `ApiError`: Server-side errors\n\n## Testing\n\nRun tests with:\n```bash\ncd packages/client\npnpm test\n```\n\nGenerate coverage report:\n```bash\npnpm test -- --coverage\n```\n\n## Examples\n\n### Basic Usage\n```typescript\nconst client = new AgentClient('http://localhost:3000', {\n  timeout: 10000,\n  retries: 3\n});\n\ntry {\n  const agent = await client.getAgentCard();\n  console.log(agent);\n} catch (err) {\n  if (err instanceof TimeoutError) {\n    // Handle timeout\n  }\n}\n```\n\n### WebSocket Streaming\n```typescript \nconst messageClient = new MessageClient('http://localhost:3000');\n\nconst unsubscribe = messageClient.streamMessages((message) => {\n  console.log('New message:', message);\n});\n\n// Later...\nunsubscribe();\n```\n\n## Contributing\nSee [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines.\n","readmeFilename":"README.md"}