{"_id":"@algovoi/substrate","_rev":"10-dcc3e8a496dd7b9d5c0954ae7c9a0954","name":"@algovoi/substrate","dist-tags":{"latest":"0.5.1"},"versions":{"0.1.0":{"name":"@algovoi/substrate","version":"0.1.0","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","agentic-payments","compliance","audit-chain","trust-query"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/substrate@0.1.0","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"homepage":"https://api.algovoi.co.uk","bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"dist":{"shasum":"006bc64c1ae8a547c18c5575a7d90f68c00ee803","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.1.0.tgz","fileCount":33,"integrity":"sha512-lWpanhn8YcpPi9v0wxvs4uE055J7wule1dIbl/ujNODs37qAKuQ3gYpnMNuz7H3ugOhX8BY7rE0gMwG/Qp4o9Q==","signatures":[{"sig":"MEYCIQDMu/oqJwfQPTF7eUSN0r1qsXu0iaomFwshsP+YAVUzlwIhAIpC0GAJMLUhjt3nSccWP+kb8b/KPWL4B7pwtDqf3B3v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72277},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f54e9c4821acdaa5523d2018806bc5547a269223","scripts":{"test":"vitest run","build":"tsc","clean":"rimraf dist","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"repository":{"url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","type":"git","directory":"typescript"},"_npmVersion":"11.6.2","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, action_ref, composite trust-query, compliance receipts, audit chain","directories":{},"_nodeVersion":"24.12.0","dependencies":{"canonicalize":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/substrate_0.1.0_1779556415239_0.6790338618782057","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@algovoi/substrate","version":"0.2.0","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","agentic-payments","compliance","audit-chain","trust-query"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/substrate@0.2.0","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"homepage":"https://api.algovoi.co.uk","bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"dist":{"shasum":"e9d8545b22e8b92276ed444f13546923d937e1c4","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.2.0.tgz","fileCount":33,"integrity":"sha512-fgB/3snT5V4z4fzm09wXZonUgtwR0DgTajyjPYYkBEcFkH+nlNJ1rSmHIHkR+hIO3QOPSR3/N0IitPEs3qYLHw==","signatures":[{"sig":"MEYCIQCj8oiw8tm3QHN+yBF5YvGSllscimTboNev4LYxjcyRmQIhAJyiQokFqKXjISuBR4+T45/qzVZsLE1/XNp3AQ4e7Bdc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72277},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"46e2fa6983d0da86e2d92fa00185f2bc97110e3a","scripts":{"test":"vitest run","build":"tsc","clean":"rimraf dist","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"repository":{"url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","type":"git","directory":"typescript"},"_npmVersion":"11.6.2","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, action_ref, composite trust-query, compliance receipts, audit chain","directories":{},"_nodeVersion":"24.12.0","dependencies":{"canonicalize":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/substrate_0.2.0_1779567753442_0.7959938471642174","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@algovoi/substrate","version":"0.2.1","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","agentic-payments","compliance","audit-chain","trust-query"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/substrate@0.2.1","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"homepage":"https://api.algovoi.co.uk","bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"dist":{"shasum":"0c672cdf4f4f92f1a12c0270154175aa8e5086eb","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.2.1.tgz","fileCount":33,"integrity":"sha512-XVwMClgVnDlngL7Nsi4EoWDUCnM8wHltsANBxXzTkkNypkiK3q8rM3+2oArEl/L09ZO5xIKQvCxK/7C1nf/Mhg==","signatures":[{"sig":"MEUCIQCfK9G5oBha7dfCd9r8w7NV3pSKXeCs+q0GpYwvWNf8ZwIgf3Sxfs90WF3PHMsxQJW8xciqUE5PZcDnPCf68wr0aQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72277},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"46e2fa6983d0da86e2d92fa00185f2bc97110e3a","scripts":{"test":"vitest run","build":"tsc","clean":"rimraf dist","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"repository":{"url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","type":"git","directory":"typescript"},"_npmVersion":"11.6.2","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, action_ref, composite trust-query, compliance receipts, audit chain","directories":{},"_nodeVersion":"24.12.0","dependencies":{"canonicalize":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/substrate_0.2.1_1779568135432_0.9452949612131551","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@algovoi/substrate","version":"0.3.0","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","agentic-payments","compliance","audit-chain","trust-query"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/substrate@0.3.0","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"homepage":"https://api.algovoi.co.uk","bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"dist":{"shasum":"465a09eca093e49143af91dc04cdc20264716698","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.3.0.tgz","fileCount":38,"integrity":"sha512-Ls0wnlSTVoBte3UuWnAy4ZiSiScMhWsnJqYsUOeveLzugbCvULfnoOV718hd1cCyaAkatPOcjMtmr1jmB9fO2A==","signatures":[{"sig":"MEYCIQCET7Iyde3RNWbF82oDjJAvxl8xyWrH7vqM394zLSoQpQIhAJsdi1Nc8GaMkFKNqR8zd4KN/vy1/rMfeTv6oEvvt9YU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94681},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3471135fa0ab49c610475a705b96c9c584401282","scripts":{"test":"vitest run","build":"tsc","clean":"rimraf dist","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"repository":{"url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","type":"git","directory":"typescript"},"_npmVersion":"11.6.2","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, action_ref, composite trust-query, compliance receipts, audit chain","directories":{},"_nodeVersion":"24.12.0","dependencies":{"canonicalize":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/substrate_0.3.0_1779578835189_0.4759392060394383","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@algovoi/substrate","version":"0.3.1","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","agentic-payments","compliance","audit-chain","trust-query"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/substrate@0.3.1","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"homepage":"https://api.algovoi.co.uk","bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"dist":{"shasum":"c3f9f7cbbb5ea372d8c035382a168af68e377145","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.3.1.tgz","fileCount":38,"integrity":"sha512-InpqFA9eogsmUtjtqoFJjNtEx+lHi1ZYF/HsuBRcxLtvJgcULRVbopFO+E05lKJBqACxFkLC44QGrTRRMWnVDQ==","signatures":[{"sig":"MEQCIA4RoeVlnUHyMZQ+bTNWbZlc3R4lU5ICsr1vpbXirRfnAiAkF2tcynIEJ8j1oHYp5ghdEFq8cyQMSW0v4f5O4INwew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96695},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ce7b8ef9cdeadf837a410f6e63ae4cf75f392441","scripts":{"test":"vitest run","build":"tsc","clean":"rimraf dist","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"repository":{"url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","type":"git","directory":"typescript"},"_npmVersion":"11.6.2","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, action_ref, composite trust-query, compliance receipts, audit chain","directories":{},"_nodeVersion":"24.12.0","dependencies":{"canonicalize":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/substrate_0.3.1_1779805160484_0.5995529953891843","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@algovoi/substrate","version":"0.4.0","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","agentic-payments","compliance","audit-chain","trust-query"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/substrate@0.4.0","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"homepage":"https://api.algovoi.co.uk","bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"dist":{"shasum":"8158b2178d62313d2c36dbcca5ba63f6f8d6df32","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.4.0.tgz","fileCount":43,"integrity":"sha512-DhRaHTJKezFLN7X9z61n1PxiPnG/TB2vkE4Y6ZkulCrxwjnwwnFOEyYksNBRfnmaghUw0E+DGp+SUuJHYHQ9Kg==","signatures":[{"sig":"MEUCIQDTUps16wUgp/Yy7SZN+ziwLarRCoUbrA1XhHV0EHCBYQIgO0TPJkubAtZYWmHapPCR0gjD4wdBmxw8UnbFI20vXwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109366},"main":"./dist/index.js","type":"module","_from":"file:algovoi-substrate-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rimraf dist","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"_resolved":"C:\\algo\\algovoi-substrate\\typescript\\algovoi-substrate-0.4.0.tgz","_integrity":"sha512-DhRaHTJKezFLN7X9z61n1PxiPnG/TB2vkE4Y6ZkulCrxwjnwwnFOEyYksNBRfnmaghUw0E+DGp+SUuJHYHQ9Kg==","deprecated":"Deprecated: superseded release with corrected provenance (sole AlgoVoi authorship). Use the current version; canonical package at https://pypi.org/project/algovoi-substrate/ and docs https://docs.algovoi.co.uk/canonicalisation-substrate","repository":{"url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","type":"git","directory":"typescript"},"_npmVersion":"11.6.2","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, action_ref, composite trust-query, compliance receipts, audit chain, settlement-action binding","directories":{},"_nodeVersion":"24.12.0","dependencies":{"canonicalize":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/substrate_0.4.0_1781737752573_0.3294324165111038","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@algovoi/substrate","version":"0.4.1","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","agentic-payments","compliance","audit-chain","trust-query"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/substrate@0.4.1","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"homepage":"https://api.algovoi.co.uk","bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"dist":{"shasum":"2b410e0d8242bd5007170586130a997739869848","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.4.1.tgz","fileCount":44,"integrity":"sha512-MGqUYoRC84N0hEwJ/M/l7FqJM/k0ImdUv5gYNB1yot39mKLHUirC58Qw1Zh50zDGLiX18abIKvcqiUP04om1+A==","signatures":[{"sig":"MEQCID0N4eG780mSUTVNc+jJef4RqxCODnPDWGFttsAfcz7MAiAN4s05A8qQzek+Fb4ke+fs4eEjjSXr4ElfEC+Dl+0uvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110452},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"467f5550f7f611f751cc396af696b29af4198ba5","scripts":{"test":"vitest run","build":"tsc","clean":"rimraf dist","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"repository":{"url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","type":"git","directory":"typescript"},"_npmVersion":"11.6.2","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, action_ref, composite trust-query, compliance receipts, audit chain, settlement-action binding","directories":{},"_nodeVersion":"24.12.0","dependencies":{"canonicalize":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/substrate_0.4.1_1782972257541_0.8092372665508729","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@algovoi/substrate","version":"0.5.0","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","caip","caip-2","caip-10","caip-19","chain-agnostic","agentic-payments","compliance","audit-chain","trust-query"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/substrate@0.5.0","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"homepage":"https://api.algovoi.co.uk","bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"dist":{"shasum":"2e14caafdf54823fc201ddc93f0c186188ae25ce","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.5.0.tgz","fileCount":49,"integrity":"sha512-aQ9a4HgGZhkzmWlZThHgufH9X4GXe4Ho6w1pdcvvPbMmYrzWnz5IdK2Ji+9Thx1g66MqHVOjKuNy2I+mI8kbFA==","signatures":[{"sig":"MEQCICCIrjGppfaucIcJFH4wd/SElcwrLjpIqrHts+iSQVbFAiATkzHiI2BX6Ovr82ELxL7xEhV1mz1RfTk80gDrWXQnCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153428},"main":"./dist/index.js","type":"module","_from":"file:C:/algo/_backups/algovoi-substrate-v0.5.0-2026-07-21/algovoi-substrate-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rimraf dist","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"_resolved":"C:\\algo\\_backups\\algovoi-substrate-v0.5.0-2026-07-21\\algovoi-substrate-0.5.0.tgz","_integrity":"sha512-aQ9a4HgGZhkzmWlZThHgufH9X4GXe4Ho6w1pdcvvPbMmYrzWnz5IdK2Ji+9Thx1g66MqHVOjKuNy2I+mI8kbFA==","repository":{"url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","type":"git","directory":"typescript"},"_npmVersion":"11.6.2","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, CAIP-2/10/19 chain-agnostic identifier validation, action_ref, composite trust-query, compliance receipts, audit chain, settlement-action binding","directories":{},"_nodeVersion":"24.12.0","dependencies":{"canonicalize":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","vitest":"^1.6.0","fast-check":"^4.9.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/substrate_0.5.0_1784617476263_0.08798695189044259","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@algovoi/substrate","version":"0.5.1","description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, CAIP-2/10/19 chain-agnostic identifier validation, action_ref, composite trust-query, compliance receipts, audit chain, settlement-action binding","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","caip","caip-2","caip-10","caip-19","chain-agnostic","agentic-payments","compliance","audit-chain","trust-query"],"homepage":"https://api.algovoi.co.uk","repository":{"type":"git","url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","directory":"typescript"},"bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"license":"Apache-2.0","author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build && npm test"},"engines":{"node":">=18"},"dependencies":{"canonicalize":"^3.0.0"},"devDependencies":{"@types/node":"^20.0.0","fast-check":"^4.9.0","rimraf":"^5.0.0","typescript":"^5.4.0","vitest":"^1.6.0"},"publishConfig":{"access":"public"},"_id":"@algovoi/substrate@0.5.1","_integrity":"sha512-iTHSX+/24LEsWqj8Llpr8/df3C8GCDQl9Xmhokw+IKkDnO/r9YFHpA8h+7p/L55uI/JGBEvMMCzk4Q5nt+qA0Q==","_resolved":"C:\\algo\\_backups\\algovoi-substrate-v0.5.1-2026-07-21\\algovoi-substrate-0.5.1.tgz","_from":"file:C:/algo/_backups/algovoi-substrate-v0.5.1-2026-07-21/algovoi-substrate-0.5.1.tgz","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-iTHSX+/24LEsWqj8Llpr8/df3C8GCDQl9Xmhokw+IKkDnO/r9YFHpA8h+7p/L55uI/JGBEvMMCzk4Q5nt+qA0Q==","shasum":"c591baebbaf849bd1e5486a3a875fbdaf7d8b3bb","tarball":"https://registry.npmjs.org/@algovoi/substrate/-/substrate-0.5.1.tgz","fileCount":49,"unpackedSize":153740,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDB0HAbo8pM9gWcN19ApK6R4G5G6Efdc6FAolcY3Gx3SAiEA2tOyc8/NKsaSn4owhOkLIJObBfL0oJX//SPuBhnU7XU="}]},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"directories":{},"maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/substrate_0.5.1_1784618600986_0.14719445225503724"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-23T17:13:35.096Z","modified":"2026-07-21T07:23:21.289Z","0.1.0":"2026-05-23T17:13:35.389Z","0.2.0":"2026-05-23T20:22:33.631Z","0.2.1":"2026-05-23T20:28:55.607Z","0.3.0":"2026-05-23T23:27:15.339Z","0.3.1":"2026-05-26T14:19:20.641Z","0.4.0":"2026-06-17T23:09:12.696Z","0.4.1":"2026-07-02T06:04:17.681Z","0.5.0":"2026-07-21T07:04:36.438Z","0.5.1":"2026-07-21T07:23:21.121Z"},"bugs":{"url":"https://github.com/chopmob-cloud/algovoi-substrate/issues"},"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","homepage":"https://api.algovoi.co.uk","keywords":["x402","ap2","a2a","mpp","jcs","rfc8785","canonicalisation","caip","caip-2","caip-10","caip-19","chain-agnostic","agentic-payments","compliance","audit-chain","trust-query"],"repository":{"type":"git","url":"git+https://github.com/chopmob-cloud/algovoi-substrate.git","directory":"typescript"},"description":"AlgoVoi agentic-payments substrate -- JCS canonicalisation, CAIP-2/10/19 chain-agnostic identifier validation, action_ref, composite trust-query, compliance receipts, audit chain, settlement-action binding","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"readme":"# @algovoi/substrate (TypeScript)\n\nAlgoVoi agentic-payments substrate reference implementation.\n\nJCS RFC 8785 canonicalisation, CAIP-2/10/19 chain-agnostic identifier\nvalidation, `actionRef` atomic primitive, composite trust-query algorithm,\ncompliance receipt shape, and audit chain primitives that compose the\nsubstrate underneath x402, AP2, A2A, and MPP receipts.\n\nThe substrate runs in production at `https://api.algovoi.co.uk/compliance`.\nThis package is the AlgoVoi-authored TypeScript reference implementation;\ncross-validated byte-for-byte against four other JCS implementations\n(Python `rfc8785`, Go `gowebpki/jcs`, Java `cyberphone`, Rust `serde_jcs`)\non 53 conformance vectors and 3 composite-trust-query vectors.\n\n## Install\n\n```bash\nnpm install @algovoi/substrate\n```\n\nThis package is **ESM only** (`\"type\": \"module\"`). Import it with `import`, or from\nCommonJS with a dynamic `import()`:\n\n```javascript\n// ESM\nimport { isCaip2 } from '@algovoi/substrate';\n\n// CommonJS: require() is not supported, use dynamic import()\nconst { isCaip2 } = await import('@algovoi/substrate');\n```\n\n## Quickstart\n\n```typescript\nimport {\n  canonicalize,\n  sha256Jcs,\n  actionRef,\n  compositeTrustQueryHash,\n  buildComplianceReceipt,\n  appendToChain,\n  verifyAuditChain,\n} from '@algovoi/substrate';\n\n// Canonicalise to RFC 8785 JCS string.\ncanonicalize({ b: 1, a: 2 }); // -> '{\"a\":2,\"b\":1}'\n\n// action_ref atomic primitive:\n// SHA-256(JCS({agent_id, action_type, scope, timestamp_ms}))\nconst ref = actionRef({\n  agent_id: 'agent-x',\n  action_type: 'payment',\n  scope: 'bilateral',\n  timestamp_ms: 1716460800000,\n});\n\n// Composite trust-query (PR #2440 in x402-foundation/x402).\nconst compositeHash = compositeTrustQueryHash([\n  { source_id: 'trust-a', score: 80, sig: 'sig-bytes' },\n  { source_id: 'trust-b', score: 75, sig: 'sig-bytes' },\n]);\n\n// Compliance receipt (AlgoVoi production schema).\nconst receipt = buildComplianceReceipt({\n  payer_ref: 'sha256:abc123',\n  screen_result: 'ALLOW',\n  screen_timestamp_ms: 1716460800000,\n  screen_provider_did: 'did:web:api.algovoi.co.uk',\n  jurisdiction_flags: ['UK', 'EU'],\n});\n\n// Audit chain: monotonic per-row hash chain.\nconst row0 = appendToChain(receipt, null);\nconst row1 = appendToChain({ event: 'next' }, row0);\nverifyAuditChain([row0, row1]);\n```\n\n## CAIP identifiers (chain-agnostic)\n\n`@algovoi/substrate` validates CAIP-2 chain ids, CAIP-10 account ids, and\nCAIP-19 asset ids. When such an identifier is folded into a canonicalised,\ncontent-addressed record it becomes part of the hash preimage, so it must be\nbyte-canonical or two verifiers' digests diverge. The validators reject a\ntrailing newline (no multiline flag), matching the Python sibling\nbyte-for-byte, and the strict `require*` forms are the pre-hash gate that\nfails a non-canonical identifier closed.\n\n```typescript\nimport {\n  isCaip2, isCaip10, isCaip19,\n  requireCaip2, caip10Of, caip19Slip44,\n} from '@algovoi/substrate';\n\nisCaip2('eip155:1');                     // true\nisCaip10('eip155:1:0xAb16a9...');        // true\nisCaip19('eip155:1/slip44:60');          // true\n\ncaip10Of('eip155:1', '0xAb16a9...');     // 'eip155:1:0xAb16a9...'\ncaip19Slip44('eip155:1', 60);            // 'eip155:1/slip44:60'\nrequireCaip2('eip155:1\\n');              // throws CaipError (trailing newline)\n```\n\nThree opt-in tiers, additive and chain-agnostic by default:\n\n1. **Grammar** -- `isCaip2/10/19`: the CAIP grammar only, so a future or\n   not-yet-registered chain still validates.\n2. **Registered namespace** -- `isRegisteredCaip2/10/19`: additionally\n   requires a namespace registered in `ChainAgnostic/namespaces` (e.g.\n   `eip155`, `solana`, `cosmos`, `xrpl`).\n3. **Reference format** -- `isValidCaip2/10/19`: strictest; additionally\n   requires the chain reference to be well-formed for its namespace, so\n   `eip155:abc` is rejected because `eip155` references are decimal.\n\nEach tier has a `require*` counterpart (`requireCaip*`,\n`requireRegisteredCaip*`, `requireValidCaip*`) that returns the identifier\nunchanged or throws `CaipError`.\n\n## Substrate discipline\n\nThis package enforces the AlgoVoi-authored substrate-discipline rules\nformalised in [IETF Internet-Draft `draft-hopley-x402-canonicalisation-jcs-v1`](https://datatracker.ietf.org/doc/draft-hopley-x402-canonicalisation-jcs-v1/)\n(Independent Submission, Informational; sole AlgoVoi authorship) and\nproposed for inclusion in `x402-foundation/x402` via [PR #2453](https://github.com/x402-foundation/x402/pull/2453)\n(replaces closed [#2436](https://github.com/x402-foundation/x402/pull/2436)):\n\n- **Rule 1.** `timestamp_ms` is an epoch-millisecond integer. Floats, ISO\n  8601 strings, and negative values are rejected at the source-side.\n- **Rule 4.** Type validation happens before canonicalisation. Schema-level\n  fields that should be integers reject floats hard, not silent-cast.\n- **`canon_version` pin.** Receipts carry `canon_version: \"jcs-rfc8785-v1\"`\n  as an in-band format-version pin for year-five auditability.\n- **Array element order preserved.** `[\"UK\",\"EU\"]` and `[\"EU\",\"UK\"]` hash\n  differently per RFC 8785 §3.2.3 -- producer-side ordering is load-bearing.\n\nThe categorical screen result (`ALLOW` / `REFER` / `DENY`) is enforced as a\nclosed set.\n\n## Cross-impl validation\n\nThis TypeScript package is byte-for-byte equivalent to the Python sibling\n(`algovoi-substrate` on PyPI). The substrate has been validated across five\nimplementations:\n\n- Python `rfc8785@0.1.4`\n- JavaScript / TypeScript `canonicalize@3.0.0` (this package)\n- Go `gowebpki/jcs v1.0.1`\n- Java `cyberphone/json-canonicalization`\n- Rust `serde_jcs@0.2.0`\n\nSubstrate matrix:\n<https://gist.github.com/chopmob-cloud/b327814c4e17ed9fc7b4f29c8bda523c>\n\nComposite trust-query matrix:\n<https://gist.github.com/chopmob-cloud/f2e9f0877b7d9fff70c8eca46e4ce636>\n\n## Tests\n\n```bash\nnpm install\nnpm test\n```\n\n## Production reference\n\nThe reference exhibit for this substrate is AlgoVoi's\n`/compliance/attestation` audit chain, live at\n`https://api.algovoi.co.uk/compliance/attestation`. The migration boundary\n(receipts before / after 2026-05-21) is observable directly from the chain.\n\n## Spec references\n\n- [draft-hopley-x402-canonicalisation-jcs-v1](https://datatracker.ietf.org/doc/draft-hopley-x402-canonicalisation-jcs-v1/) -- IETF I-D (Independent Submission, Informational, sole AlgoVoi authorship). Specifies `urn:x402:canonicalisation:jcs-rfc8785-v1`.\n- [docs.algovoi.co.uk/canonicalisation-substrate](https://docs.algovoi.co.uk/canonicalisation-substrate) -- v1 discipline reference page.\n- [docs.algovoi.co.uk/canonicalisation-substrate-v2](https://docs.algovoi.co.uk/canonicalisation-substrate-v2) -- v2 (PQC-aware) additive successor.\n- [PR #2453](https://github.com/x402-foundation/x402/pull/2453) -- live upstream spec PR for the canonicalisation discipline (sole AlgoVoi authorship; replaces closed #2436).\n- [draft-vauban-x402-stark-receipts](https://datatracker.ietf.org/doc/draft-vauban-x402-stark-receipts/) -- third-party adopter-authored receipt format that anchors to the AlgoVoi canonicalisation discipline.\n\n## Conformance to the canonicalisation discipline\n\nThis package emits receipts pinned to `canon_version: jcs-rfc8785-v1` in-band. Downstream verifiers (`algovoi-audit-verifier` and any conformant third-party verifier) read the pin to select the canonicalisation rule applied at emission.\n\nThe pin is the load-bearing primitive for the [Substrate Adopters Registry](https://docs.algovoi.co.uk/adopters): adopters anchoring to this discipline pin the same `canon_version` value in their own publicly-citable artefacts. AlgoVoi maintains the registry as a neutral observer; this package is recorded there as the AlgoVoi reference implementation.\n\n## Substrate adopters\n\nAlgoVoi is recorded in the [Substrate Adopters Registry](https://docs.algovoi.co.uk/adopters) as the substrate author (v1 and v2). Parties anchoring their own services or specifications to `canon_version: jcs-rfc8785-v1` are recorded in the registry via the [submission process](https://docs.algovoi.co.uk/adopters#how-to-submit-an-adoption-entry). AlgoVoi validates submissions against the artefact's canonical bytes and adds qualifying entries.\n\n## Licence\n\nApache 2.0. See `LICENSE`.\n\n## Author\n\nAlgoVoi (Christopher Hopley, GitHub `chopmob-cloud`).\n","readmeFilename":"README.md"}