{"_id":"@stateset/acp-client","name":"@stateset/acp-client","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@stateset/acp-client","version":"1.0.0","description":"Node.js client for StateSet Agentic Commerce Protocol Handler","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","build:proto":"grpc_tools_node_protoc --js_out=import_style=commonjs,binary:./src/generated --grpc_out=grpc_js:./src/generated --plugin=protoc-gen-grpc=`which grpc_tools_node_protoc_plugin` -I ./proto ./proto/acp_handler/v1/acp_handler.proto && grpc_tools_node_protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=grpc_js:./src/generated -I ./proto ./proto/acp_handler/v1/acp_handler.proto","prepare":"npm run build","test":"jest","lint":"eslint src --ext .ts"},"keywords":["stateset","acp","agentic-commerce","checkout","grpc","openai"],"author":{"name":"StateSet"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/stateset/stateset-acp-handler.git"},"dependencies":{"@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.10"},"devDependencies":{"@types/node":"^20.11.0","grpc-tools":"^1.12.4","grpc_tools_node_protoc_ts":"^5.3.3","typescript":"^5.3.3"},"engines":{"node":">=18.0.0"},"_id":"@stateset/acp-client@1.0.0","gitHead":"d93047f658c42faf7d23558d40cf1cf720a21989","bugs":{"url":"https://github.com/stateset/stateset-acp-handler/issues"},"homepage":"https://github.com/stateset/stateset-acp-handler#readme","_nodeVersion":"23.3.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-0+sJqNWPXY9nDNYYEyeS6YPMjGdalCBCgV/kapwYjx90L4/od5Fd8O+m0sHPAYk46sP4/Gnx5ulHVPRuJBO9Dg==","shasum":"0edd1a76ddd54fb84ac788e6ba3a3ed982b113b2","tarball":"https://registry.npmjs.org/@stateset/acp-client/-/acp-client-1.0.0.tgz","fileCount":12,"unpackedSize":70294,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDSJxv1LqdnjqaNRokiujRSsAWh53uwcXlruhbufa657AIhALLUhHY0SwNQEVzz6M+RXxbEaIPB/qdcE9mwB0eUlccW"}]},"_npmUser":{"name":"domsteil","email":"dom@stateset.io"},"directories":{},"maintainers":[{"name":"domsteil","email":"dom@stateset.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/acp-client_1.0.0_1768076793021_0.6551746531733451"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-10T20:26:32.840Z","1.0.0":"2026-01-10T20:26:33.186Z","modified":"2026-01-10T20:26:33.576Z"},"maintainers":[{"name":"domsteil","email":"dom@stateset.io"}],"description":"Node.js client for StateSet Agentic Commerce Protocol Handler","homepage":"https://github.com/stateset/stateset-acp-handler#readme","keywords":["stateset","acp","agentic-commerce","checkout","grpc","openai"],"repository":{"type":"git","url":"git+https://github.com/stateset/stateset-acp-handler.git"},"author":{"name":"StateSet"},"bugs":{"url":"https://github.com/stateset/stateset-acp-handler/issues"},"license":"MIT","readme":"# @stateset/acp-client\n\nOfficial Node.js client for the StateSet Agentic Commerce Protocol (ACP) Handler.\n\n## Installation\n\n```bash\nnpm install @stateset/acp-client\n```\n\n## Quick Start\n\n### HTTP Client\n\n```typescript\nimport { AcpHttpClient } from '@stateset/acp-client';\n\nconst client = new AcpHttpClient({\n  baseUrl: 'http://localhost:8080',\n  apiKey: 'your_api_key',\n});\n\n// Create a checkout session\nconst session = await client.createCheckoutSession({\n  items: [\n    { id: 'prod_123', quantity: 1 },\n  ],\n});\n\n// Update with customer info\nawait client.updateCheckoutSession(session.id, {\n  customer: {\n    billing_address: {\n      name: 'John Doe',\n      email: 'john@example.com',\n      line1: '123 Main St',\n      city: 'San Francisco',\n      region: 'CA',\n      postal_code: '94102',\n      country: 'US',\n    },\n  },\n});\n\n// Complete checkout\nconst result = await client.completeCheckoutSession(session.id, {\n  payment: { delegated_token: 'tok_xxx' },\n});\n\nconsole.log('Order ID:', result.order.id);\n```\n\n### gRPC Client\n\n```typescript\nimport { AcpGrpcClient } from '@stateset/acp-client';\n\nconst client = new AcpGrpcClient({\n  grpcAddress: 'localhost:50051',\n  apiKey: 'your_api_key',\n});\n\nawait client.connect();\n\nconst session = await client.createCheckoutSession({\n  items: [{ id: 'prod_123', quantity: 1 }],\n});\n\nclient.close();\n```\n\n## API Reference\n\n### AcpHttpClient\n\n| Method | Description |\n|--------|-------------|\n| `createCheckoutSession(request)` | Create a new checkout session |\n| `getCheckoutSession(sessionId)` | Get an existing session |\n| `updateCheckoutSession(sessionId, request)` | Update session details |\n| `completeCheckoutSession(sessionId, request)` | Complete with payment |\n| `cancelCheckoutSession(sessionId)` | Cancel a session |\n| `delegatePayment(request)` | Create PSP vault token |\n| `healthCheck()` | Check service health |\n\n### AcpGrpcClient\n\n| Method | Description |\n|--------|-------------|\n| `connect()` | Establish gRPC connection |\n| `close()` | Close connection |\n| `createCheckoutSession(request)` | Create a new checkout session |\n| `getCheckoutSession(sessionId)` | Get an existing session |\n| `updateCheckoutSession(request)` | Update session details |\n| `completeCheckoutSession(request)` | Complete with payment |\n| `cancelCheckoutSession(sessionId)` | Cancel a session |\n| `delegatePayment(request)` | Create PSP vault token |\n\n## Configuration\n\n```typescript\ninterface AcpClientConfig {\n  baseUrl?: string;      // HTTP base URL (default: http://localhost:8080)\n  grpcAddress?: string;  // gRPC address (default: localhost:50051)\n  apiKey?: string;       // API key for authentication\n  timeout?: number;      // Request timeout in ms (default: 30000)\n}\n```\n\n## Error Handling\n\n```typescript\nimport { AcpHttpClient, AcpApiError } from '@stateset/acp-client';\n\ntry {\n  await client.createCheckoutSession({ items: [] });\n} catch (error) {\n  if (error instanceof AcpApiError) {\n    console.error('Type:', error.type);\n    console.error('Code:', error.code);\n    console.error('Message:', error.message);\n    console.error('Param:', error.param);\n    console.error('Status:', error.statusCode);\n  }\n}\n```\n\n## Types\n\nAll TypeScript types are exported from the package:\n\n```typescript\nimport {\n  CheckoutSession,\n  CheckoutSessionStatus,\n  LineItem,\n  Money,\n  Customer,\n  Address,\n  Order,\n  // ... and more\n} from '@stateset/acp-client';\n```\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Build proto files (for gRPC)\nnpm run build:proto\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-9421ea6485a543c438af5794f3211846"}