{"_id":"agentic-payments","_rev":"14-6229063c35e2c8352b4041c1df6bcff6","name":"agentic-payments","dist-tags":{"latest":"0.1.13"},"versions":{"0.1.0":{"name":"agentic-payments","version":"0.1.0","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.0","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"947a3b3f1a6f7c421eaa6a1d7a17f42476a2726c","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.0.tgz","fileCount":122,"integrity":"sha512-i8B7lRY84BXWihrfXAI1npBUQ4zQ1yxnJn8vPoeunHgqXsMY1qgcXoCU1Q0zsRT76pvoZjQf87DBNJTqpL8ohg==","signatures":[{"sig":"MEUCIANsBA6gz28kAua/Pn82f8D4QNZzuQhzem1si2NDiGhmAiEA4XN0nswsVCX15iaK6lkbAc1jce4CzTwhAnwZbzVYpkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338856},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./package.json":"./package.json"},"gitHead":"3767321ff98da600526ed179543c8ebbc8fbdc27","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.0_1759247752988_0.4413954625211034","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"agentic-payments","version":"0.1.1","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.1","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"09c3823663b7744db2c2b26cfd32d13500edf5b5","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.1.tgz","fileCount":122,"integrity":"sha512-yYZv1e55fVGY9/wLHxHHk2zb/iLKE8fkS0cM/NzvLBeYCXsYMCxnZ/9jfRZt59XAlEE621ebN2QK1bBeiwgTPQ==","signatures":[{"sig":"MEUCIDNN5jcQfzeJt97NMcGM52LK4wK1YFJ6K1nHqSfhK09UAiEAjuOt07TN+c+YQ+q4xqJcVwAHxmXWWZu1KMMbpAQBhZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":340008},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./package.json":"./package.json"},"gitHead":"3767321ff98da600526ed179543c8ebbc8fbdc27","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.1_1759248458080_0.31896773335665984","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"agentic-payments","version":"0.1.2","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.2","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"3384188a6c93df46d61b2f3fb932c0a7451e1bcb","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.2.tgz","fileCount":122,"integrity":"sha512-sYibupeXrgvCKXvbLoKYnMxu+MvvYf60mAL1MEyX6zP9CiuO3UQZWL8ducJLEmChY3uPbLEpcIWYXHmzgoR/DQ==","signatures":[{"sig":"MEUCIATjvR0evf5TkwB8VwGka61sdrjrOeQ8cqEupoiBr7ZMAiEA2koGTmUNVd+5AhUsicCNQcJMo0kyuSaKeesQAzmfMKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344685},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./package.json":"./package.json"},"gitHead":"3767321ff98da600526ed179543c8ebbc8fbdc27","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.2_1759253427436_0.7478350975551469","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"agentic-payments","version":"0.1.3","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.3","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"d2f989905225a7c2675dfdebc3e82c433e6d4949","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.3.tgz","fileCount":122,"integrity":"sha512-jpSBb0Z1nMjZq7DmQcoc+s+2eFNg6Bp/LaG28IYNDrJUAKjJbZPjLZriJPwa409EBsmmlkQb7AS9Gp3A5PBKRg==","signatures":[{"sig":"MEQCIByvi7AZAfgrwU14C6mweuv9oT53Hg1t2Z8qSAc/4LkcAiAIWvpzWHINVPzTU1wmvrHMMtTDdoqX6S/nnUwvnpHeWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":347075},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./package.json":"./package.json"},"gitHead":"3767321ff98da600526ed179543c8ebbc8fbdc27","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.3_1759253513349_0.7301357457231961","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"agentic-payments","version":"0.1.4","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.4","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"ff8542096df3f4e72cd7a7396e49b65ce8b104d1","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.4.tgz","fileCount":138,"integrity":"sha512-h9FuNG0OelG051O1PHqBFjbQcaDAX8IJHr6wX8OSTGRepvyF3YlfswZZ0wwN4kQJ3axfxFEymqhP4YjiM4LNiw==","signatures":[{"sig":"MEUCIQC2Pobbv5b6y2dmt0yw2U+qFaMUG5rxxePOsv4bRxxy8wIgUZq3It2PVMQWFeQs1VCRz6X+y5cvlcOUhsNKUavOYN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376314},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"67a9af697183899dcab2f7598ac7011b86d3e812","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","agentic-flow":"^1.6.4","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.6.4"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.4_1760666632143_0.1308135765012477","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"agentic-payments","version":"0.1.5","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.5","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"33446cd63bff001e72cf954ad10ae6cdd4d36618","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.5.tgz","fileCount":138,"integrity":"sha512-M6cAGR7J9VLZndvwZJqKGzx/TfAKiTpBmEVApEOg+F8zr7jlAZkP4l8pdxJyXztlo1HmIU9NfsbMBV5Ff3z+Aw==","signatures":[{"sig":"MEQCIFCRNTP1ePv9vGBQGL0ZuiSvzFXpHDLfwLBjSfeXSq/eAiAYstopmOcWYULnlfwoESDU2VElliVqRPS3uMaLfolpXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":381695},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"67a9af697183899dcab2f7598ac7011b86d3e812","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","agentic-flow":"^1.6.4","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.6.4"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.5_1760667157050_0.6870421006138412","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"agentic-payments","version":"0.1.6","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.6","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"bf8596fcd6d658877f3d29b697c83b658b5ad9d3","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.6.tgz","fileCount":138,"integrity":"sha512-SWPN+b5xz1HSkhYY8al2LH4DBw6er0CLwEM4kl7Za0+R+u6u8nbGT0/sYIQzETwaJ5q+NFwbGfaLgzTd1CzUCA==","signatures":[{"sig":"MEQCIAueBoqpq/cbCCybncjNg+4xIimz5mlM2pxygWTKaRlcAiBEAg51nPwMhOfJOpiiPDOAZBVRxvGjQ1tlpeb/oy9wNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386602},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"67a9af697183899dcab2f7598ac7011b86d3e812","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","agentic-flow":"^1.6.4","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.6.4"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.6_1760733193416_0.8660778986872717","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"agentic-payments","version":"0.1.7","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.7","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"c61fab7a858cba16e0859ee613e98a368fcf214a","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.7.tgz","fileCount":138,"integrity":"sha512-blrYvkUUrfRc1hCSZ2ndOiYK7n2vXZcZvi20YIYLdMbseIga+PkPYQoPnX9SqX6B2wbkVq1t+LXHtnnFn2sBJA==","signatures":[{"sig":"MEUCIG5XKGcftRlmXoLrYfv5mCTXD6xdrhFvqsubX5bFkEgWAiEAt7NjmJGq+cL4oVOZ82J8EVPYh4wZGMzHQxtUXONOzJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":387682},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"67a9af697183899dcab2f7598ac7011b86d3e812","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","preinstall":"node scripts/cleanup-npx-cache.js || true","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","agentic-flow":"^1.6.4","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.6.4"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.7_1760807847528_0.5374292950196149","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"agentic-payments","version":"0.1.8","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.8","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"d1fd9a225fd793022db540821006df04ad5f6859","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.8.tgz","fileCount":138,"integrity":"sha512-Fc06CdMx8IA+VPVzWbvTDrvIsJzHvMSdu1uA702z+bcD10rD0oMy7Xa7H4hPTHze/1TqPOWM0Qh1bqfK/Sk3MQ==","signatures":[{"sig":"MEUCIQDK6BOFSZE5IM60sHFPQtWpL9TENkusoqfNoOanYq6R7AIgTBEQAU2WMEuhA8YEjfACVbORYc/3XEEfPa37b0gsWlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"cd29640eeff3ed2efb6ac0605a11eac5e4e93d6f","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","preinstall":"node scripts/cleanup-npx-cache.js || true","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","agentic-flow":"^1.6.4","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.6.4"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.8_1761148262804_0.3268720917891894","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"agentic-payments","version":"0.1.9","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.9","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"b5b773a0696bdb66616357d2f7886f7fa34cd7c0","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.9.tgz","fileCount":138,"integrity":"sha512-YZ7SH/p1PjqsiwuEkaO2y1v6+kYRQFbQZK7/agMscOua7KSuAypFUu3J6V6VIfWhTECnJgZlI8wdu1C+RNsX8g==","signatures":[{"sig":"MEYCIQCuNM0A/1rysFwxCj9L4cTEwD3zNBtyWR5D+sgTJ5+xEQIhAIqEcwT9Oja1xRT4meayBkWT8I7jowfIiL8u62/Y3ob3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"cd29640eeff3ed2efb6ac0605a11eac5e4e93d6f","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","preinstall":"node scripts/cleanup-npx-cache.js || true","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","agentic-flow":"^1.6.4","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.6.4"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.9_1761345010983_0.1656180646195553","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"agentic-payments","version":"0.1.10","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.10","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"230c47d17b5774273ed22bbd8ba56b2ee79e36ec","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.10.tgz","fileCount":142,"integrity":"sha512-1gFVVN+9h25mt9avUeJoUBvFjR8nIUe0D7vgIHg7WEaQNOIl/SzrgwJcRpZYmWKCuje6u3c+btxwNeAzxCnCSQ==","signatures":[{"sig":"MEQCIA9ibblSDIpYZHJ9cGu/ED/De1CB44F19Ef3CnclWyfxAiASoCM7FsXLePjRPzwWo09sL+6kho/EnlFhtO4/k5qYag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410238},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"cd29640eeff3ed2efb6ac0605a11eac5e4e93d6f","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","preinstall":"node scripts/cleanup-npx-cache.js || true","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","agentic-flow":"^1.6.4","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.6.4"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.10_1761346379915_0.9164229708757703","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"agentic-payments","version":"0.1.11","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.11","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"5fa1685b18fd043b229e23b1233dc21b6dd50381","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.11.tgz","fileCount":142,"integrity":"sha512-rOObZqqKJ3EFPzbS/LDnSo/hKfpPG4mYWrpf5ACDacQByoBpRN9YGxv1OmBH3blv7/ia5gEsHD8/1o6HF/755A==","signatures":[{"sig":"MEYCIQD4imE9wpd9L7VBdER4j6/zlMxlzWS613YYGQ01CaQlNQIhAP4RdYk9POYTNz0q+DpoTUt809QnEFSRabX1K+ZRFmEp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410306},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"d1cb8db683367c23b5397c83512184e77c6536c1","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","preinstall":"node scripts/cleanup-npx-cache.js || true","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","agentic-flow":"^1.8.10","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.8.10"},"optionalDependencies":{"better-sqlite3":"^11.10.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.11_1761580073253_0.08702965006309804","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"agentic-payments","version":"0.1.12","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","_id":"agentic-payments@0.1.12","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"dist":{"shasum":"e0171584408ed7de56379025963b0c91366b63ca","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.12.tgz","fileCount":142,"integrity":"sha512-bLjlRl/cacclXzp47HBnqjAMUh+u5XoUMQqifZkAnbhnaj9WkBI1+zfIO2IF/WGh/eUEazR0BCN+T7r7MYC81Q==","signatures":[{"sig":"MEQCIDH0tVnoPdnb1t4zd4fo1+FEXDNPRypcYdeEvx7dL5VuAiB7SigAq0bkO6S8aU7UTJjTG6M+yt0cCrqSLCRJROadrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410306},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./wasm":{"node":"./dist/wasm/node.js","types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"gitHead":"a2bec838b7b409091a31da9f05cc788287cc8c06","scripts":{"dev":"tsc -w","lint":"eslint src --ext .ts,.tsx && prettier --check .","size":"size-limit","test":"vitest run","build":"npm run build:ts","clean":"rm -rf dist coverage .turbo","format":"prettier --write .","analyze":"size-limit --why","version":"npm run build && git add -A","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","mcp:http":"node dist/mcp/index.js --transport http --port 3000","prebuild":"npm run clean","test:mcp":"vitest run tests/mcp --reporter=verbose","benchmark":"node dist/benchmarks/index.js","mcp:stdio":"node dist/mcp/index.js","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","typecheck":"tsc --noEmit","build:docs":"typedoc --out docs/api src/index.ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","preinstall":"node scripts/cleanup-npx-cache.js || true","test:watch":"vitest","postversion":"git push && git push --tags","test:coverage":"vitest run --coverage","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","prepublishOnly":"npm run build && npm run typecheck","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","test:mcp:coverage":"vitest run tests/mcp --coverage","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentic-catalog/agentic-payments.git","type":"git","directory":"crates/agentic-payments"},"size-limit":[{"gzip":true,"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB"},{"gzip":true,"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB"},{"gzip":true,"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB"}],"_npmVersion":"9.8.1","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^9.0.0","zod":"^4.1.11","cors":"^2.8.5","uuid":"^9.0.1","chalk":"^5.6.2","express":"^5.1.0","base64-js":"^1.5.1","commander":"^14.0.1","tweetnacl":"^1.0.3","@noble/hashes":"^1.4.0","@noble/ed25519":"^2.1.0","@modelcontextprotocol/sdk":"^1.18.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.1","typedoc":"^0.25.7","prettier":"^3.2.4","wasm-pack":"^0.12.1","node-fetch":"^3.3.2","size-limit":"^11.0.1","typescript":"^5.3.3","@types/cors":"^2.8.19","@types/node":"^20.19.18","@types/uuid":"^9.0.7","eventsource":"^4.0.0","@types/express":"^5.0.3","@vitest/coverage-v8":"^1.6.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.19.0","@size-limit/preset-small-lib":"^11.0.1","@typescript-eslint/eslint-plugin":"^6.19.0"},"peerDependencies":{"typescript":">=5.0.0","agentic-flow":"^1.8.10"},"optionalDependencies":{"agentic-flow":"^1.8.10","better-sqlite3":"^11.10.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"agentic-flow":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agentic-payments_0.1.12_1761580616250_0.10692406400618126","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"agentic-payments","version":"0.1.13","description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./wasm":{"types":"./dist/wasm/index.d.ts","import":"./dist/wasm/index.js","browser":"./dist/wasm/browser.js","node":"./dist/wasm/node.js"},"./ap2":{"types":"./dist/ap2/index.d.ts","import":"./dist/ap2/index.js"},"./acp":{"types":"./dist/acp/index.d.ts","import":"./dist/acp/index.js"},"./visa-tap":{"types":"./dist/visa-tap/index.d.ts","import":"./dist/visa-tap/index.js"},"./package.json":"./package.json"},"bin":{"agentic-payments":"bin/cli.js","agentic-payments-mcp":"bin/mcp.js"},"scripts":{"prebuild":"npm run clean","build":"npm run build:ts","build:wasm":"echo 'WASM build skipped - using native TypeScript implementation'","build:wasm:web":"wasm-pack build --target web --out-dir npm/dist/wasm/web --features wasm --scope agentic-catalog ../.. -- --locked","build:wasm:node":"wasm-pack build --target nodejs --out-dir npm/dist/wasm/node --features wasm --scope agentic-catalog ../.. -- --locked","build:wasm:bundler":"wasm-pack build --target bundler --out-dir npm/dist/wasm/bundler --features wasm --scope agentic-catalog ../.. -- --locked","build:ts":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","build:docs":"typedoc --out docs/api src/index.ts","clean":"rm -rf dist coverage .turbo","mcp:stdio":"node dist/mcp/index.js","mcp:http":"node dist/mcp/index.js --transport http --port 3000","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:mcp":"vitest run tests/mcp --reporter=verbose","test:mcp:coverage":"vitest run tests/mcp --coverage","test:wasm":"wasm-pack test --node --features wasm ../.. -- --locked","lint":"eslint src --ext .ts,.tsx && prettier --check .","lint:fix":"eslint src --ext .ts,.tsx --fix && prettier --write .","format":"prettier --write .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm run typecheck","version":"npm run build && git add -A","postversion":"git push && git push --tags","dev":"tsc -w","benchmark":"node dist/benchmarks/index.js","size":"size-limit","analyze":"size-limit --why"},"keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","repository":{"type":"git","url":"git+https://github.com/agentic-catalog/agentic-payments.git","directory":"crates/agentic-payments"},"bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"homepage":"https://github.com/agentic-catalog/agentic-payments#readme","engines":{"node":">=18.0.0","npm":">=8.0.0"},"dependencies":{"@modelcontextprotocol/sdk":"^1.18.2","@noble/ed25519":"^2.1.0","@noble/hashes":"^1.4.0","base64-js":"^1.5.1","chalk":"^5.6.2","commander":"^14.0.1","cors":"^2.8.5","express":"^5.1.0","ora":"^9.0.0","tweetnacl":"^1.0.3","uuid":"^9.0.1","zod":"^4.1.11"},"optionalDependencies":{"agentic-flow":"^1.8.10","better-sqlite3":"^11.10.0"},"devDependencies":{"@size-limit/preset-small-lib":"^11.0.1","@types/cors":"^2.8.19","@types/express":"^5.0.3","@types/node":"^20.19.18","@types/uuid":"^9.0.7","@typescript-eslint/eslint-plugin":"^6.19.0","@typescript-eslint/parser":"^6.19.0","@vitest/coverage-v8":"^1.6.1","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.29.1","eventsource":"^4.0.0","node-fetch":"^3.3.2","prettier":"^3.2.4","size-limit":"^11.0.1","typedoc":"^0.25.7","typescript":"^5.3.3","vitest":"^1.6.1","wasm-pack":"^0.12.1"},"peerDependencies":{"agentic-flow":"^1.8.10","typescript":">=5.0.0"},"peerDependenciesMeta":{"agentic-flow":{"optional":true},"typescript":{"optional":true}},"size-limit":[{"name":"Core (AP2 + ACP)","path":"dist/index.js","limit":"50 KB","gzip":true},{"name":"WASM Module","path":"dist/wasm/web/agentic_payments_bg.wasm","limit":"200 KB","gzip":true},{"name":"WASM + JS Bindings","path":["dist/wasm/web/agentic_payments.js","dist/wasm/web/agentic_payments_bg.wasm"],"limit":"250 KB","gzip":true}],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"agentic-payments@0.1.13","gitHead":"d1e2134dbea4b4fd0f9fc87bdb1d939025646475","_nodeVersion":"22.17.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-XMwOIjodoqg+Q5usjcuZUYiu54O1Jn1PeLm7VYEpWG6GIANb6LM8ZbihlshhjhDetqfSBLT4hmrKZfKxuySzxg==","shasum":"e2068fc2bfa37e68085fe60fcfb5f59d50d6b570","tarball":"https://registry.npmjs.org/agentic-payments/-/agentic-payments-0.1.13.tgz","fileCount":142,"unpackedSize":410243,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCD1Rg5OiqbHzZ/hpMltbuGtFDT4tKCcazlFYNXryV9HAIgafEP6kjd0v/WBfVpIKHzdnfjtvTaeMU2qlRsXR0CoNo="}]},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"directories":{},"maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agentic-payments_0.1.13_1761581625703_0.4111173659856262"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-30T15:55:52.854Z","modified":"2025-10-27T16:13:46.181Z","0.1.0":"2025-09-30T15:55:53.182Z","0.1.1":"2025-09-30T16:07:38.279Z","0.1.2":"2025-09-30T17:30:27.667Z","0.1.3":"2025-09-30T17:31:53.523Z","0.1.4":"2025-10-17T02:03:52.403Z","0.1.5":"2025-10-17T02:12:37.221Z","0.1.6":"2025-10-17T20:33:13.654Z","0.1.7":"2025-10-18T17:17:27.739Z","0.1.8":"2025-10-22T15:51:03.037Z","0.1.9":"2025-10-24T22:30:11.266Z","0.1.10":"2025-10-24T22:53:00.148Z","0.1.11":"2025-10-27T15:47:53.453Z","0.1.12":"2025-10-27T15:56:56.427Z","0.1.13":"2025-10-27T16:13:45.994Z"},"bugs":{"url":"https://github.com/agentic-catalog/agentic-payments/issues"},"author":{"name":"rUv","email":"ruv@ruv.io"},"license":"(MIT OR Apache-2.0)","homepage":"https://github.com/agentic-catalog/agentic-payments#readme","keywords":["agentic-commerce","ai-payments","agent-payments-protocol","ap2","acp","ed25519","byzantine-fault-tolerance","multi-agent","wasm","cryptography","autonomous-agents","did","verifiable-credentials","stripe","openai"],"repository":{"type":"git","url":"git+https://github.com/agentic-catalog/agentic-payments.git","directory":"crates/agentic-payments"},"description":"Dual-protocol payment infrastructure for autonomous AI commerce (AP2 + ACP)","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"readme":"# agentic-payments\n\n[![npm version](https://img.shields.io/npm/v/agentic-payments.svg)](https://www.npmjs.com/package/agentic-payments)\n[![npm downloads](https://img.shields.io/npm/dm/agentic-payments.svg)](https://www.npmjs.com/package/agentic-payments)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.3+-blue.svg)](https://www.typescriptlang.org/)\n[![License: MIT OR Apache-2.0](https://img.shields.io/badge/License-MIT%20OR%20Apache--2.0-blue.svg)](LICENSE)\n\n> **Multi-agent payment authorization system for autonomous AI commerce**\n\n## Introduction\n\n`agentic-payments` enables AI agents to make autonomous purchases, execute trades, process invoices, and coordinate multi-agent transactions with cryptographic authorization. From shopping assistants that compare prices across merchants, to robo-advisors executing investment strategies, to swarms of specialized agents collaborating on enterprise procurement—this library provides the payment infrastructure for the agentic economy.\n\n**Real-World Applications:**\n- **E-Commerce**: AI shopping agents with weekly budgets and merchant restrictions\n- **Finance**: Robo-advisors executing trades within risk-managed portfolios\n- **Enterprise**: Multi-agent swarms requiring consensus for high-value purchases\n- **Accounting**: Automated AP/AR with policy-based approval workflows\n- **Subscriptions**: Autonomous renewal management with spending caps\n\n**Model Context Protocol (MCP) Integration**: Connect AI assistants like Claude, ChatGPT, and Cline directly to payment authorization through natural language. No code required—AI assistants can create mandates, sign transactions, verify consensus, and manage payment workflows conversationally.\n\n**Four Complementary Protocols:**\n- **MCP (Model Context Protocol)**: Stdio and HTTP interfaces for AI assistant integration\n- **AP2 (Agent Payments Protocol)**: Cryptographic payment mandates with Ed25519 signatures\n- **ACP (Agentic Commerce Protocol)**: REST API integration with Stripe-compatible checkout\n- **Active Mandate**: Autonomous payment capsules with spend caps, time windows, and instant revocation\n- **Visa TAP (Trusted Agent Protocol)**: QUIC transport with RFC 9421 HTTP message signatures for ultra-low latency payments\n\n**Key Innovation**: Multi-agent Byzantine consensus allows fleets of specialized AI agents (purchasing, finance, compliance, audit) to collaboratively authorize transactions, ensuring no single compromised agent can approve fraudulent payments.\n\nBuilt with TypeScript for Node.js, Deno, Bun, and browsers. Production-ready with comprehensive error handling and <200KB bundle size.\n\n## 🎯 Features\n\n- ✅ **Active Mandates**: Spend caps, time windows, merchant rules, and instant revocation\n- ✅ **Ed25519 Cryptography**: Fast, secure signature verification (<1ms)\n- ✅ **Multi-Agent Consensus**: Byzantine fault-tolerant verification with configurable thresholds\n- ✅ **Intent Mandates**: Authorize AI agents for specific purchase intentions\n- ✅ **Cart Mandates**: Pre-approve shopping carts with line-item verification\n- ✅ **Payment Tracking**: Monitor payment status from authorization to capture\n- ✅ **MCP Protocol**: Stdio and HTTP transports for AI assistant integration (Claude, Cline, etc.)\n- ✅ **Visa TAP QUIC Transport**: Ultra-low latency payment authorization with 0-RTT connection resumption\n- ✅ **RFC 9421 HTTP Signatures**: Cryptographic request signing for secure payment authentication\n- ✅ **Production Ready**: 100% TypeScript, comprehensive error handling, <200KB\n- ✅ **CLI Tools**: Command-line interface for mandate management and testing\n\n## 📦 Installation\n\n```bash\n# Install the library\nnpm install agentic-payments\n```\n\n### MCP Server (AI Assistant Integration)\n\n```bash\n# Run stdio transport (local - for Claude Desktop, Cline)\nnpx -y agentic-payments mcp\n\n# Run HTTP transport (remote - for web integrations)\nnpx -y agentic-payments mcp --transport http --port 3000\n```\n\n## 🚀 Quick Start\n\nThe library provides three interfaces: CLI commands for terminal use, MCP server for AI assistants, and programmatic API for JavaScript/TypeScript applications.\n\n### CLI: Active Mandate Management\n\nCreate and manage payment mandates directly from your terminal:\n\n```bash\n# Create a new Active Mandate\nnpx agentic-payments active-mandate create \\\n  --agent \"shopping-bot@agentics\" \\\n  --holder \"user@example.com\" \\\n  --amount 50000 \\\n  --currency USD \\\n  --period daily \\\n  --kind intent \\\n  --output mandate.json\n\n# Sign the mandate with Ed25519\nnpx agentic-payments active-mandate sign \\\n  --file mandate.json \\\n  --key <your-private-key-hex> \\\n  --output signed-mandate.json\n\n# Verify mandate signature and validity\nnpx agentic-payments active-mandate verify \\\n  --file signed-mandate.json \\\n  --verbose\n\n# Revoke a mandate\nnpx agentic-payments active-mandate revoke \\\n  --id mandate_abc123 \\\n  --reason \"User request\"\n\n# List all revoked mandates\nnpx agentic-payments active-mandate revocations\n```\n## 🔌 MCP Integration Tutorial\n\nThe Model Context Protocol (MCP) allows AI assistants like Claude, Cline, and ChatGPT to interact with payment authorization systems through natural language. This tutorial walks you through setting up and using the MCP server for agentic payments.\n\n### Part 1: Starting the MCP Server\n\nThe `agentic-payments` MCP server supports two transport modes:\n\n**Stdio Transport** (recommended for local development):\n```bash\n# Start the server in stdio mode (default)\nnpx -y agentic-payments mcp\n\n# The server is now listening on stdin/stdout\n# Perfect for Claude Desktop, Cline, and other local integrations\n```\n\n**HTTP/SSE Transport** (for remote or web-based integrations):\n```bash\n# Start the HTTP server on port 3000\nnpx -y agentic-payments mcp --transport http --port 3000\n\n# Server endpoints:\n# - http://localhost:3000/health    (health check)\n# - http://localhost:3000/sse       (SSE stream for MCP)\n# - http://localhost:3000/message   (JSON-RPC messages)\n# - http://localhost:3000/sessions  (active sessions)\n```\n\n**Verify the HTTP server is running**:\n```bash\n# Check health endpoint\ncurl http://localhost:3000/health\n\n# Response:\n# {\n#   \"status\": \"healthy\",\n#   \"version\": \"0.1.0\",\n#   \"server\": \"agentic-payments\", \"mcp\",\n#   \"transport\": \"http/sse\",\n#   \"activeSessions\": 0\n# }\n```\n\n### Part 2: Connecting AI Assistants\n\n**Claude Desktop** (local integration via stdio):\n\n1. Edit your Claude Desktop config file:\n   - **macOS**: `~/.config/claude/claude_desktop_config.json`\n   - **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n2. Add the MCP server:\n```json\n{\n  \"mcpServers\": {\n    \"agentic-payments\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"agentic-payments\", \"mcp\"]\n    }\n  }\n}\n```\n\n3. Restart Claude Desktop and verify the server appears in the MCP menu\n\n**Claude Code** (local integration via stdio):\n```bash\n# Add the MCP server to Claude Code\nclaude mcp add agentic-payments npx -y agentic-payments mcp\n\n# Verify it's connected\nclaude mcp list\n\n# You should see agentic-payments with status \"Connected\"\n```\n\n**Cline Extension** (VS Code integration via stdio):\n\n1. Open VS Code settings for Cline\n2. Add to MCP servers configuration:\n```json\n{\n  \"agentic-payments\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"agentic-payments\", \"mcp\"]\n  }\n}\n```\n\n**HTTP/SSE Integration** (remote or web applications):\n\n```typescript\nimport { Client } from '@modelcontextprotocol/sdk/client/index.js';\nimport { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';\n\n// Connect to remote MCP server\nconst transport = new SSEClientTransport(\n  new URL('http://localhost:3000/sse')\n);\n\nconst client = new Client({\n  name: 'payment-client',\n  version: '1.0.0'\n}, {\n  capabilities: {}\n});\n\n// Establish connection\nawait client.connect(transport);\n\n// List available tools\nconst tools = await client.listTools();\nconsole.log('Available tools:', tools.tools.map(t => t.name));\n\n// Call a tool\nconst result = await client.callTool({\n  name: 'create_active_mandate',\n  arguments: {\n    agent: 'shopping-bot@example.com',\n    holder: 'user@example.com',\n    amount: 50000,\n    currency: 'USD',\n    period: 'weekly',\n    kind: 'intent',\n    expires_at: '2025-12-31T23:59:59Z'\n  }\n});\n\nconsole.log('Mandate created:', result);\n```\n\n### Part 3: Available MCP Tools\n\nThe MCP server exposes 10 tools for AI assistants:\n\n| Tool | Purpose | Key Parameters |\n|------|---------|---------------|\n| `create_active_mandate` | Create payment mandates with spend caps | `agent`, `holder`, `amount`, `period` |\n| `sign_mandate` | Ed25519 cryptographic signing | `mandate`, `private_key` |\n| `verify_mandate` | Signature verification + guard checks | `signed_mandate` |\n| `revoke_mandate` | Instant mandate revocation | `mandate_id`, `reason` |\n| `list_revocations` | Query all revoked mandates | None |\n| `generate_agent_identity` | Create Ed25519 keypairs | `include_private_key` |\n| `create_intent_mandate` | High-level purchase authorization | `merchant_id`, `intent`, `max_amount` |\n| `create_cart_mandate` | Shopping cart approval | `merchant_id`, `items` |\n| `verify_consensus` | Multi-agent Byzantine verification | `agent_public_keys`, `consensus_threshold` |\n| `get_mandate_info` | Retrieve mandate details | `mandate_id` |\n\n### Part 4: Tutorial - Creating Your First AI Payment Agent\n\nLet's walk through a complete example of authorizing an AI shopping agent:\n\n**Step 1: Generate an agent identity**\n```\nUser: \"Generate a new agent identity for my shopping bot\"\n\nAI: I'll create a new Ed25519 keypair for your agent.\n    [Calls: generate_agent_identity]\n\nResult:\n- Public key: d837326487bbc4ad027eeb20f3f7e059...\n- Agent can now sign payment mandates\n- Store the private key securely (shown once)\n```\n\n**Step 2: Create a payment mandate**\n```\nUser: \"Create a weekly $500 mandate for grocery shopping\"\n\nAI: I'll create an Active Mandate with:\n    - Weekly spending cap: $500\n    - Purpose: Grocery shopping\n    - Valid until: end of year\n    [Calls: create_active_mandate]\n\nResult:\n- Mandate ID: mandate_c06a6e57-80a7-4c44-84b8-d6a5dd2d0686\n- Status: Unsigned (needs signing)\n- Cap: $500.00 weekly\n```\n\n**Step 3: Sign the mandate**\n```\nUser: \"Sign this mandate with the agent's private key\"\n\nAI: Signing the mandate with Ed25519...\n    [Calls: sign_mandate]\n\nResult:\n- Mandate now cryptographically signed\n- Signature: 64-byte Ed25519 signature\n- Ready for payment authorization\n```\n\n**Step 4: Create a shopping cart**\n```\nUser: \"Create a grocery cart: 2 laptops at $999 each, 2 mice at $29.99 each\"\n\nAI: Building shopping cart mandate...\n    [Calls: create_cart_mandate]\n\nResult:\n- Items: 2\n- Total: $1058.98\n- Merchant: amazon.com\n- Status: Approved (within weekly cap)\n```\n\n**Step 5: Verify before purchase**\n```\nUser: \"Verify this mandate is still valid before processing payment\"\n\nAI: Running full verification...\n    [Calls: verify_mandate]\n\nResult:\n✓ Signature valid\n✓ Not expired\n✓ Not revoked\n✓ Within spending cap\n→ Payment authorized\n```\n\n**Step 6: Revoke if needed**\n```\nUser: \"Cancel the shopping mandate\"\n\nAI: Revoking mandate immediately...\n    [Calls: revoke_mandate]\n\nResult:\n- Mandate revoked at: 2025-09-30 15:38:14 UTC\n- Reason: User cancellation\n- All future payments blocked\n```\n\n### Part 5: Multi-Agent Consensus Example\n\nFor high-value transactions, use multi-agent verification:\n\n```\nUser: \"Verify this $10,000 transaction with 3 agents requiring 67% consensus\"\n\nAI: Setting up Byzantine fault-tolerant verification...\n    [Calls: verify_consensus with 3 agent public keys]\n\nProcess:\n1. Agent 1: ✓ Verified\n2. Agent 2: ✓ Verified\n3. Agent 3: ✓ Verified\n\nResult:\n- Consensus: YES (100% agreement)\n- Byzantine tolerance: Can handle 1 compromised agent\n- Transaction authorized\n```\n\n### Part 6: Testing Your Integration\n\n**Test stdio integration**:\n```bash\n# Test that AI can access the tools\necho '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}' | npx -y agentic-payments mcp\n```\n\n**Test HTTP integration**:\n```bash\n# Run the test suite\nnode tests/mcp/http-simple-test.js\n\n# Or manually test endpoints\ncurl http://localhost:3000/health\ncurl http://localhost:3000/sessions\n```\n\n**Expected output from test suite**:\n```\n🧪 Testing MCP HTTP/SSE Integration (Simple)\n\n1️⃣  Creating MCP client...\n2️⃣  Connecting to server...\n   ✓ Connected successfully\n\n3️⃣  Listing available tools...\n   ✓ Found 10 tools\n\n4️⃣  Testing create_active_mandate...\n   ✓ Mandate created: mandate_c06a6e57-80a7-4c44-84b8-d6a5dd2d0686\n   ✓ Amount: $1000.00 monthly\n\n✅ All HTTP/SSE integration tests passed!\n```\n\n### Part 7: Troubleshooting\n\n**Server won't start**:\n```bash\n# Check if port is already in use\nlsof -i :3000\n\n# Kill existing process\npkill -f \"agentic-payments\", \"mcp\"\n\n# Try again\nnpx -y agentic-payments mcp --transport http --port 3000\n```\n\n**AI can't see the tools**:\n- Verify the server is running: `curl http://localhost:3000/health`\n- Check Claude Desktop config syntax is valid JSON\n- Restart your AI assistant after config changes\n- Check logs: MCP servers log to stderr\n\n**Session not found errors**:\n- The HTTP transport automatically manages session IDs\n- Each SSE connection creates a new session\n- Sessions auto-cleanup after 30 seconds of inactivity\n- Check `/sessions` endpoint to see active sessions\n\n### Further Reading\n\nFor comprehensive details on implementation, security, and deployment:\n- [Full MCP Implementation Guide](docs/mcp.md)\n- [Active Mandate Specification](docs/active-mandate-spec.md)\n- [Security Best Practices](docs/security.md)\n\n## 🧪 CLI Commands\n\nFull command reference for terminal-based mandate management, identity generation, and system operations.\n\n### Active Mandate Commands\n\n```bash\n# Create mandate\nnpx agentic-payments active-mandate create [options]\n  -a, --agent <name>           Agent identifier\n  -h, --holder <name>          Holder/user identifier\n  --amount <number>            Spend cap (minor units, e.g., 12000 = $120.00)\n  --currency <code>            Currency code (default: USD)\n  --period <type>              Spend period: single|daily|weekly|monthly\n  -k, --kind <type>            Mandate kind: intent|cart\n  --merchant-allow <hosts>     Comma-separated allowed merchants\n  --merchant-block <hosts>     Comma-separated blocked merchants\n  --expires <iso>              Expiration date (ISO8601)\n  -o, --output <file>          Save to file\n\n# Sign mandate\nnpx agentic-payments active-mandate sign [options]\n  -f, --file <path>            Mandate file to sign\n  -k, --key <hex>              Private key (64-byte hex)\n  -o, --output <file>          Save signed mandate\n\n# Verify mandate\nnpx agentic-payments active-mandate verify [options]\n  -f, --file <path>            Signed mandate file\n  -v, --verbose                Show detailed validation\n\n# Revoke mandate\nnpx agentic-payments active-mandate revoke [options]\n  -i, --id <mandate_id>        Mandate ID to revoke\n  -r, --reason <text>          Revocation reason\n\n# List revocations\nnpx agentic-payments active-mandate revocations\n```\n\n### Generate Agent Identity\n\n```bash\nnpx agentic-payments generate --format json\n```\n\n### Verify Payment\n\n```bash\nnpx agentic-payments verify --amount 100 --agents 5\n```\n\n### System Status\n\n```bash\nnpx agentic-payments system status\n```\n\n\n### API: Multi-Agent Consensus\n\nByzantine fault-tolerant payment verification using multiple AI agents to prevent fraud and ensure agreement:\n\n```typescript\nimport { AgentIdentity, IntentMandate, VerificationSystemBuilder } from 'agentic-payments';\n\n// 1. Create verification agents\nconst agent1 = await AgentIdentity.generate();\nconst agent2 = await AgentIdentity.generate();\nconst agent3 = await AgentIdentity.generate();\n\n// 2. Build consensus system (requires 67% agreement)\nconst system = new VerificationSystemBuilder()\n  .consensusThreshold(0.67)\n  .minAgents(2)\n  .addAgent(agent1)\n  .addAgent(agent2)\n  .addAgent(agent3)\n  .build();\n\n// 3. Create and sign payment mandate\nconst mandate = new IntentMandate({\n  merchantId: 'shop_12345',\n  customerId: 'user_67890',\n  intent: 'Monthly premium subscription',\n  maxAmount: 29.99,\n  currency: 'USD',\n  expiresAt: Date.now() + 86400000 // 24 hours\n});\n\nawait mandate.sign(agent1);\n\n// 4. Verify with Byzantine fault tolerance\nconst message = new TextEncoder().encode(JSON.stringify(mandate.toJSON()));\nconst signature = mandate.getSignature();\nconst result = await system.verifyWithConsensus(signature, message, agent1.publicKey());\n\nconsole.log(`✅ Verified: ${result.isValid}`);\nconsole.log(`Consensus: ${(result.consensusReached ? 'YES' : 'NO')}`);\n```\n\n## 💡 Usage Examples\n\nReal-world scenarios showing how AI agents use cryptographic mandates for autonomous commerce.\n\n### E-Commerce: AI Shopping Agent\n\nAuthorize AI shopping assistants with spending limits, merchant restrictions, and time-bound budgets:\n\n```typescript\nimport { AgentIdentity, CartMandate, validateAndVerify } from 'agentic-payments';\n\n// User authorizes shopping agent with Active Mandate\nconst mandate = {\n  mandate_id: 'mandate_grocery_001',\n  kind: 'cart',\n  agent: 'grocery-bot@shop.ai',\n  holder: 'alice@example.com',\n  cap: {\n    amount: 20000,        // $200.00 weekly grocery budget\n    currency: 'USD',\n    period: 'weekly'\n  },\n  merchant_allow: ['wholefoodsmarket.com', 'instacart.com'],\n  expires_at: '2025-12-31T23:59:59Z'\n};\n\n// AI agent builds shopping cart\nconst cart = new CartMandate({\n  merchantId: 'wholefoodsmarket.com',\n  customerId: 'alice@example.com',\n  items: [\n    { id: 'sku_001', name: 'Organic Bananas', quantity: 2, unitPrice: 399 },\n    { id: 'sku_002', name: 'Almond Milk', quantity: 1, unitPrice: 549 },\n    { id: 'sku_003', name: 'Sourdough Bread', quantity: 1, unitPrice: 649 }\n  ],\n  currency: 'USD'\n});\n\nconst agent = await AgentIdentity.generate();\nawait cart.sign(agent);\n\n// Verify and process\nconst totalAmount = cart.getTotalAmount();\nconsole.log(`Cart total: $${(totalAmount / 100).toFixed(2)}`);\nconsole.log(`Within budget: ${totalAmount <= mandate.cap.amount}`);\n```\n\n**Use case**: AI shopping assistants that compare prices, build optimized carts, and complete purchases autonomously while respecting user-defined spending limits.\n\n### Finance: Investment Agent\n\nAI robo-advisors execute trades autonomously within pre-approved limits and time windows:\n\n```typescript\nimport { IntentMandate, AgentIdentity } from 'agentic-payments';\n\n// User authorizes trading agent\nconst tradingMandate = new IntentMandate({\n  merchantId: 'exchange.trading.com',\n  customerId: 'investor_123',\n  intent: 'Purchase index fund ETF',\n  maxAmount: 5000.00,\n  currency: 'USD',\n  expiresAt: Date.now() + 3600000 // 1 hour execution window\n});\n\nconst tradingAgent = await AgentIdentity.generate();\nawait tradingMandate.sign(tradingAgent);\n\nconsole.log('✅ Trading agent authorized for ETF purchase');\nconsole.log(`Max investment: $${tradingMandate.getData().maxAmount}`);\nconsole.log(`Expires: ${new Date(tradingMandate.getData().expiresAt).toLocaleString()}`);\n```\n\n**Use case**: Robo-advisors and AI trading systems that rebalance portfolios, execute DCA strategies, or respond to market conditions with pre-authorized transaction limits.\n\n### Accounting: Expense Management\n\nAutomate accounts payable with AI agents that approve, categorize, and process vendor payments:\n\n```typescript\nimport { PaymentMandate, AgentIdentity } from 'agentic-payments';\n\n// Finance agent approves recurring vendor payment\nconst expenseAgent = await AgentIdentity.generate();\n\nconst vendorPayment = new PaymentMandate({\n  sourceId: 'expense_recurring_001',\n  type: 'intent',\n  amount: 299.99,\n  currency: 'USD',\n  paymentMethod: 'ach_vendor_account'\n});\n\nawait vendorPayment.sign(expenseAgent);\nvendorPayment.updateStatus('authorized');\n\nconsole.log(`Payment status: ${vendorPayment.getStatus()}`);\nconsole.log(`Authorized: ${vendorPayment.isComplete()}`);\n```\n\n**Use case**: Automated accounts payable, expense report processing, and vendor management where AI agents categorize, approve, and execute payments based on policy rules.\n\n### Visa TAP: Ultra-Low Latency Payments with QUIC\n\nSend payment authorizations over QUIC for 50-70% faster processing than HTTP/2:\n\n```typescript\nimport { VisaTapQuicTransport, signHttpMessage } from 'agentic-payments';\nimport { AgentIdentity } from 'agentic-payments';\n\n// 1. Create QUIC transport connection\nconst transport = new VisaTapQuicTransport({\n  host: 'merchant.com',\n  port: 8443,\n  enable0RTT: true,              // 0-RTT reconnection (<1ms)\n  maxConcurrentStreams: 100      // 100+ parallel payments\n});\n\nawait transport.connect();\nconsole.log('✅ Connected via QUIC');\n\n// 2. Sign payment request with RFC 9421\nconst agent = await AgentIdentity.generate();\nconst privateKeyHex = Buffer.from(agent.privateKey).toString('hex');\n\nconst signed = await signHttpMessage(\n  {\n    method: 'POST',\n    authority: 'merchant.com',\n    path: '/api/payments',\n    contentDigest: 'sha-256=:...:',\n  },\n  privateKeyHex,\n  'did:agent:shopping-bot'\n);\n\n// 3. Send payment via QUIC\nconst mandate = {\n  mandate_id: 'mandate_001',\n  agent: 'shopping-bot@example.com',\n  holder: 'user@example.com',\n  amount: 5000,\n  currency: 'USD',\n  period: 'single',\n  kind: 'intent'\n};\n\nconst response = await transport.sendPayment({\n  ...mandate,\n  signature: signed.signature,\n  public_key: Buffer.from(agent.publicKey()).toString('hex')\n});\n\nconsole.log(`Transaction ID: ${response.transactionId}`);\nconsole.log(`Status: ${response.status}`);\nconsole.log(`Latency: ${response.processingTime}ms`);\n\nawait transport.close();\n```\n\n**Performance Benefits:**\n- **50-70% faster** than HTTP/2 for payment authorization\n- **0-RTT reconnection** for sub-millisecond session resumption\n- **Connection migration** for seamless mobile network handoffs\n- **100+ concurrent streams** per connection\n- **No head-of-line blocking** unlike HTTP/2\n\n**Use case**: High-frequency trading, real-time payments, mobile commerce, and latency-sensitive payment flows where every millisecond counts.\n\n### Agent Fleet Management\n\nDeploy multiple specialized AI agents with consensus-based approval for high-value transactions:\n\n```typescript\nimport { VerificationSystemBuilder, AgentIdentity } from 'agentic-payments';\n\n// Create specialized agent fleet\nconst purchasingAgent = await AgentIdentity.generate();\nconst financeAgent = await AgentIdentity.generate();\nconst complianceAgent = await AgentIdentity.generate();\nconst auditAgent = await AgentIdentity.generate();\n\n// Require 75% consensus for payment approval\nconst fleetSystem = new VerificationSystemBuilder()\n  .consensusThreshold(0.75)\n  .minAgents(3)\n  .addAgent(purchasingAgent)\n  .addAgent(financeAgent)\n  .addAgent(complianceAgent)\n  .addAgent(auditAgent)\n  .build();\n\nconsole.log('✅ Multi-agent payment authorization system active');\nconsole.log(`Agents: ${fleetSystem.metrics().totalVerifications}`);\nconsole.log(`Consensus: 75% required (3 of 4 agents)`);\n```\n\n**Use case**: Enterprise workflows where purchases require multi-party approval, segregation of duties, or Byzantine fault tolerance against compromised agents.\n\n## 📖 API Reference\n\nComplete TypeScript/JavaScript API for programmatic integration into applications.\n\n### Active Mandate API\n\nCore functions for mandate validation, signature verification, and execution guards:\n\n```typescript\nimport {\n  validateAndVerify,\n  guardExecution,\n  revoke,\n  isRevoked,\n  getAllRevocations\n} from 'agentic-payments';\n\n// Validate schema and verify Ed25519 signature\nconst result = validateAndVerify(signedMandate);\nif (result.valid && result.parsed) {\n  console.log('✓ Valid mandate');\n}\n\n// Check execution guards (time windows, revocation)\nconst guard = guardExecution(result.parsed);\nif (guard.allowed) {\n  // Execute payment\n} else {\n  console.log(`Blocked: ${guard.reason}`);\n}\n\n// Revoke mandate\nconst revocation = revoke('mandate_123', 'User cancelled');\n\n// Check revocation status\nif (isRevoked('mandate_123')) {\n  console.log('Mandate has been revoked');\n}\n\n// List all revocations\nconst revocations = getAllRevocations();\nconsole.log(`Total revoked: ${revocations.length}`);\n```\n\n### Agent Identity\n\nGenerate Ed25519 keypairs for AI agents, sign messages, and verify cryptographic signatures:\n\n```typescript\nimport { AgentIdentity } from 'agentic-payments';\n\n// Generate new Ed25519 keypair\nconst agent = await AgentIdentity.generate();\nconsole.log(`Agent ID: ${agent.id}`);\nconsole.log(`Public Key: ${Buffer.from(agent.publicKey()).toString('hex')}`);\n\n// Sign message\nconst message = new TextEncoder().encode('payment authorization');\nconst signature = await agent.sign(message);\n\n// Verify signature\nconst isValid = AgentIdentity.verify(\n  agent.publicKey(),\n  message,\n  signature.bytes\n);\nconsole.log(`Valid signature: ${isValid}`);\n```\n\n### Verification System\n\nBuild multi-agent consensus systems with configurable thresholds and Byzantine fault tolerance:\n\n```typescript\nimport { VerificationSystemBuilder } from 'agentic-payments';\n\nconst system = new VerificationSystemBuilder()\n  .consensusThreshold(0.67)  // 67% agreement required\n  .minAgents(2)\n  .maxAgents(10)\n  .timeout(5000)             // 5 second timeout\n  .parallel(true)            // Parallel verification\n  .addAgent(agent1)\n  .addAgent(agent2)\n  .addAgent(agent3)\n  .build();\n\n// Verify with consensus\nconst result = await system.verifyWithConsensus(signature, message, publicKey);\n\nconsole.log(`Verified: ${result.isValid}`);\nconsole.log(`Consensus: ${result.consensusReached}`);\nconsole.log(`Agents: ${result.agentResults.length}`);\n\n// Get metrics\nconst metrics = system.metrics();\nconsole.log(`Total verifications: ${metrics.totalVerifications}`);\nconsole.log(`Success rate: ${metrics.successfulVerifications / metrics.totalVerifications}`);\n\n// Cleanup\nsystem.shutdown();\n```\n\n### Intent Mandates\n\nHigh-level purchase authorizations with maximum amounts and expiration times:\n\n```typescript\nimport { IntentMandate } from 'agentic-payments';\n\nconst mandate = new IntentMandate({\n  merchantId: 'merchant_123',\n  customerId: 'customer_456',\n  intent: 'Purchase premium subscription',\n  maxAmount: 99.99,\n  currency: 'USD',\n  expiresAt: Date.now() + 86400000\n});\n\nawait mandate.sign(agent);\n\n// Validate before use\nconst validation = mandate.validate();\nif (!validation.valid) {\n  console.error('Errors:', validation.errors);\n}\n\nconst json = mandate.toJSON();\n```\n\n### Cart Mandates\n\nShopping cart approvals with line-item details and automatic total calculation:\n\n```typescript\nimport { CartMandate } from 'agentic-payments';\n\nconst cart = new CartMandate({\n  merchantId: 'shop_123',\n  customerId: 'user_456',\n  items: [\n    { id: 'item1', name: 'Product A', quantity: 2, unitPrice: 1999 },\n    { id: 'item2', name: 'Product B', quantity: 1, unitPrice: 2999 }\n  ],\n  currency: 'USD',\n  expiresAt: Date.now() + 3600000\n});\n\nawait cart.sign(agent);\n\nconst items = cart.getItems();\nconst total = cart.getTotalAmount();\nconsole.log(`Total: $${(total / 100).toFixed(2)}`);\n```\n\n### Payment Mandates\n\nTrack payment lifecycle from authorization through capture with status management:\n\n```typescript\nimport { PaymentMandate } from 'agentic-payments';\n\nconst payment = new PaymentMandate({\n  sourceId: 'intent_123',\n  type: 'intent',\n  amount: 99.99,\n  currency: 'USD',\n  paymentMethod: 'card_1234'\n});\n\nawait payment.sign(agent);\npayment.updateStatus('authorized');\npayment.updateStatus('captured');\n\nconsole.log(`Status: ${payment.getStatus()}`);\nconsole.log(`Complete: ${payment.isComplete()}`);\n```\n\n### Visa TAP QUIC Transport\n\nUltra-low latency payment transport with RFC 9421 HTTP message signatures:\n\n```typescript\nimport {\n  VisaTapQuicTransport,\n  signHttpMessage,\n  verifyHttpSignature,\n  computeContentDigest\n} from 'agentic-payments/visa-tap';\n\n// Create QUIC transport\nconst transport = new VisaTapQuicTransport({\n  host: 'payments.merchant.com',\n  port: 8443,\n  enable0RTT: true,\n  timeout: 5000\n});\n\nawait transport.connect();\n\n// Sign HTTP request per RFC 9421\nconst body = new TextEncoder().encode(JSON.stringify(mandate));\nconst contentDigest = computeContentDigest(body);\n\nconst signed = await signHttpMessage(\n  {\n    method: 'POST',\n    authority: 'payments.merchant.com',\n    path: '/v1/payments',\n    contentDigest,\n    headers: {\n      'Content-Type': 'application/json'\n    }\n  },\n  privateKeyHex,\n  'did:agent:payment-bot'\n);\n\n// Send payment\nconst response = await transport.sendPayment(signedMandate);\n\n// Get connection statistics\nconst stats = transport.getStats();\nconsole.log(`RTT: ${stats?.rtt}ms`);\nconsole.log(`Bytes sent: ${stats?.bytesSent}`);\n\nawait transport.close();\n```\n\n**API Reference:**\n\n| Method | Description | Returns |\n|--------|-------------|---------|\n| `constructor(config)` | Create QUIC transport | `VisaTapQuicTransport` |\n| `connect()` | Establish connection | `Promise<void>` |\n| `sendPayment(mandate)` | Send signed mandate | `Promise<PaymentResponse>` |\n| `send(data)` | Send raw data | `Promise<any>` |\n| `getStats()` | Get connection stats | `QuicStats \\| null` |\n| `isConnected()` | Check connection status | `boolean` |\n| `close()` | Close connection | `Promise<void>` |\n\n**RFC 9421 Functions:**\n\n| Function | Description | Returns |\n|----------|-------------|---------|\n| `signHttpMessage()` | Sign HTTP request | `Promise<SignedHttpMessage>` |\n| `verifyHttpSignature()` | Verify signature | `Promise<boolean>` |\n| `computeContentDigest()` | SHA-256 digest | `string` |\n\n### Error Handling\n\nTyped error handling with recovery detection and formatted error messages:\n\n```typescript\nimport { PaymentError, isRecoverable, formatError } from 'agentic-payments';\n\ntry {\n  const result = await system.verifyWithConsensus(sig, msg, pubkey);\n} catch (error) {\n  if (error instanceof PaymentError) {\n    console.error(`Error: ${error.code}`);\n    console.error(`Recoverable: ${error.recoverable}`);\n\n    if (isRecoverable(error)) {\n      // Retry logic\n    }\n  }\n  console.error(formatError(error));\n}\n```\n\n\n## 🏗️ Architecture\n\nModular architecture with clear separation between protocols, cryptography, and interfaces:\n\n```\nagentic-payments/\n├── src/\n│   ├── index.ts              # Main exports\n│   ├── identity.ts           # Ed25519 agent identities\n│   ├── verification.ts       # Multi-agent consensus\n│   ├── mandate.ts            # Payment mandates\n│   ├── errors.ts             # Error handling\n│   ├── active-mandate/       # Active Mandate implementation\n│   │   ├── types.ts          # TypeScript types\n│   │   ├── schema.ts         # Zod validation\n│   │   ├── signing.ts        # Ed25519 signing\n│   │   ├── revocation.ts     # Revocation store\n│   │   └── i18n.ts           # Internationalization\n│   ├── visa-tap/             # Visa TAP QUIC integration\n│   │   ├── types.ts          # Visa TAP TypeScript types\n│   │   ├── quic-transport.ts # QUIC transport bridge\n│   │   ├── rfc9421.ts        # RFC 9421 HTTP signatures\n│   │   └── index.ts          # Visa TAP exports\n│   ├── cli/                  # Command-line interface\n│   │   ├── index.ts          # CLI entry point\n│   │   └── commands/         # CLI commands\n│   ├── mcp/                  # Model Context Protocol\n│   │   ├── server.ts         # MCP server\n│   │   └── tools/            # MCP tools\n│   ├── ap2/                  # Agent Payments Protocol\n│   └── acp/                  # Agentic Commerce Protocol\n└── dist/                     # Compiled output\n```\n\n## 🔒 Security Best Practices\n\nProduction deployment guidelines for secure payment authorization:\n\n### Key Management\n\n**Development vs Production**:\n- ⚠️ **MCP `sign_mandate` tool**: Development/testing ONLY. Never use in production.\n- ✅ **Production**: Use Hardware Security Modules (HSM) or Key Management Services\n  - AWS KMS, Azure Key Vault, Google Cloud KMS\n  - Sign mandates in secure enclaves\n  - Never transmit private keys over network\n\n**Key Rotation**:\n- Rotate agent signing keys quarterly\n- Maintain key version metadata in mandate records\n- Support multiple active keys during rotation periods\n- Revoke old mandates when rotating keys\n\n### Signature Validation\n\n**RFC 9421 Timestamp Checks**:\n```typescript\n// verifyHttpSignature includes timestamp validation (default: 5 minutes)\nconst isValid = await verifyHttpSignature(components, signed, publicKey, 300);\n```\n\n**Replay Protection**:\n- Nonce-based replay prevention (16-byte cryptographic nonces)\n- Timestamp validation (configurable max age, default 300 seconds)\n- Store processed nonces to prevent replay attacks\n\n### Rate Limiting\n\nImplement application-level rate limiting:\n```typescript\n// Example: Limit verification attempts per IP\nconst limiter = rateLimit({\n  windowMs: 15 * 60 * 1000, // 15 minutes\n  max: 100, // 100 requests per window\n  handler: (req, res) => res.status(429).send('Too many requests')\n});\n\napp.post('/verify', limiter, verifyHandler);\n```\n\n### Network Security\n\n**QUIC Transport**:\n- TLS 1.3 encryption by default (no configuration needed)\n- Certificate pinning for merchant endpoints\n- Monitor connection statistics for anomalies\n\n**MCP Server**:\n- Use stdio transport for local development only\n- HTTP transport requires reverse proxy with TLS in production\n- Implement authentication middleware for HTTP endpoints\n\n### Logging and Monitoring\n\n**Structured Logging**:\n```typescript\n// Don't log sensitive data\nlogger.info('Payment authorized', {\n  mandateId: mandate.mandate_id,\n  amount: mandate.cap.amount,\n  // DO NOT log: private keys, signatures, personal data\n});\n```\n\n**Security Monitoring**:\n- Alert on repeated verification failures (potential attack)\n- Monitor for unusual spending patterns\n- Track revocation requests for anomalies\n- Log all mandate creation with agent identities\n\n### Compliance\n\n- **PCI DSS**: agentic-payments handles authorization only, not card data\n- **GDPR**: Minimize personal data in mandate metadata\n- **Audit Trail**: All mandates are cryptographically signed and immutable\n- **Data Retention**: Implement mandate expiration and cleanup policies\n\n## 📊 Performance\n\nOptimized for low-latency payment authorization with minimal bundle impact:\n\n| Operation | Time | Notes |\n|-----------|------|-------|\n| Ed25519 Sign | ~2ms | Single signature |\n| Ed25519 Verify | ~3ms | Single verification |\n| Consensus (3 agents) | ~10ms | Byzantine fault tolerance |\n| Mandate Validation | <1ms | Schema + business rules |\n| QUIC Connection | ~100ms | First connection (vs 300ms HTTP/2) |\n| QUIC Reconnection | <1ms | 0-RTT session resumption |\n| RFC 9421 Signing | ~2ms | HTTP message signature |\n| Bundle Size | <200KB | Gzipped, tree-shakeable |\n\n### QUIC Transport Performance\n\nComparison with HTTP/2 for payment authorization:\n\n| Metric | QUIC (Visa TAP) | HTTP/2 | Improvement |\n|--------|-----------------|--------|-------------|\n| First connection | 100ms | 300ms | **66% faster** |\n| Reconnection | <1ms (0-RTT) | 200ms | **99.5% faster** |\n| Mobile handoff | Seamless | Connection drop | **Connection migration** |\n| Concurrent streams | 100+ | 100+ | Equal |\n| Head-of-line blocking | None | Present | **Better reliability** |\n\n## 📄 License\n\nLicensed under either of:\n- **MIT License** ([LICENSE-MIT](LICENSE-MIT))\n- **Apache License 2.0** ([LICENSE-APACHE](LICENSE-APACHE))\n\n## 🌟 Credits\n\n- **Author**: [rUv](https://github.com/ruvnet)\n- **Cryptography**: Ed25519 via `@noble/ed25519` and `tweetnacl`\n- **Validation**: Zod schemas\n\n## 🔗 Links\n\n- [GitHub Repository](https://github.com/agentic-catalog/agentic-payments)\n- [npm Package](https://www.npmjs.com/package/agentic-payments)\n- [Issue Tracker](https://github.com/agentic-catalog/agentic-payments/issues)\n\n---\n\n**Build the future of autonomous AI commerce** 🚀\n\n```bash\nnpm install agentic-payments\n```","readmeFilename":"README.md"}