{"_id":"@agenttrust-sdk/trustgate","_rev":"8-27d8a375db51050ea9ca6266ebe71d87","name":"@agenttrust-sdk/trustgate","dist-tags":{"latest":"0.4.1"},"versions":{"0.1.0":{"name":"@agenttrust-sdk/trustgate","version":"0.1.0","keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"license":"MIT","_id":"@agenttrust-sdk/trustgate@0.1.0","maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"homepage":"https://github.com/mohit-1710/agenttrust#readme","bugs":{"url":"https://github.com/mohit-1710/agenttrust/issues"},"dist":{"shasum":"66ce6563acf8e84df3d2c5634ff42590cede9d12","tarball":"https://registry.npmjs.org/@agenttrust-sdk/trustgate/-/trustgate-0.1.0.tgz","fileCount":38,"integrity":"sha512-OvqijfwNiB9WHBESwrW/Mn24hrw8dpHSqpECXneXIKfMXxYOM5DK8KlaTOK9IgwXPuh5VP/Tu0XVuBCbP9aZCg==","signatures":[{"sig":"MEQCIHgI73Me4O+V1LdosIDhJuxh0P1d5+1ga3X0Nub7V+eaAiAUoLTs/8vGa+xZ8dGYBsIwE2BemNu+k9G7BaKiBm+ItA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93218},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"./express":{"types":"./dist/express.d.ts","default":"./dist/express.js"}},"gitHead":"e83e11dd037519c64112daa3f67b1752637a9169","scripts":{"test":"ts-mocha -p ./tsconfig.json -t 30000 test/**/*.test.ts","build":"tsc","publish:dry":"npm publish --dry-run","publish:pkg":"npm publish","prepublishOnly":"pnpm run build && pnpm test"},"_npmUser":{"name":"mohit09","email":"mohitkumar001700@gmail.com"},"repository":{"url":"git+https://github.com/mohit-1710/agenttrust.git","type":"git","directory":"trustgate/sdk"},"_npmVersion":"11.12.1","description":"Drop-in TrustGate middleware for x402 facilitators on Solana — adds gate_payment + emit_feedback to any Express app with atomic-tx invariant enforcement","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@solana/web3.js":"^1.98.0","@coral-xyz/anchor":"^0.31.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","mocha":"^9.0.3","express":"^4.21.2","ts-node":"^10.9.2","ts-mocha":"^10.0.0","typescript":"^4.9.5","@types/chai":"^4.3.0","@types/node":"^20.0.0","@types/mocha":"^9.0.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/trustgate_0.1.0_1777683123063_0.1356620511356097","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agenttrust-sdk/trustgate","version":"0.1.1","keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"author":{"url":"https://agenttrust.tech","name":"AgentTrust Labs"},"license":"MIT","_id":"@agenttrust-sdk/trustgate@0.1.1","maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"homepage":"https://github.com/agenttrust-labs/agenttrust/tree/main/trustgate/sdk#readme","bugs":{"url":"https://github.com/agenttrust-labs/agenttrust/issues"},"dist":{"shasum":"03cafc9a38fcec32c86b47367615bc62fb3583a0","tarball":"https://registry.npmjs.org/@agenttrust-sdk/trustgate/-/trustgate-0.1.1.tgz","fileCount":51,"integrity":"sha512-jpjKKJ4p/VosFPqhbjMFPEf168QrWOnWnhE6PNtK/HTgNtuW8K9JVpP8MqmTWqpPkJlXm8UGT8czSbBeWHwp4g==","signatures":[{"sig":"MEUCIQCl20b9VjrqifpoaldQZsu07OTkRWlKJCcEa/6qKp53SwIgXsJNjxBm9P7hHIKu4GVZ/9lxBNKmhoVyR5D5rktqBv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181959},"main":"dist/index.js","_from":"file:agenttrust-sdk-trustgate-0.1.1.tgz","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"./express":{"types":"./dist/express.d.ts","default":"./dist/express.js"}},"scripts":{"lint":"tsc --noEmit","test":"ts-mocha -p ./tsconfig.json -t 30000 test/**/*.test.ts","build":"tsc","publish:dry":"npm publish --dry-run","test:integration":"INTEGRATION=1 ts-mocha -p ./tsconfig.json -t 60000 test/devnet.test.ts"},"_npmUser":{"name":"mohit09","email":"mohitkumar001700@gmail.com"},"_resolved":"/private/var/folders/65/ljnjcbws1yl0s16jxs7f0bpc0000gn/T/80039f0e49e465f25a8772fa8ac2eaf8/agenttrust-sdk-trustgate-0.1.1.tgz","_integrity":"sha512-jpjKKJ4p/VosFPqhbjMFPEf168QrWOnWnhE6PNtK/HTgNtuW8K9JVpP8MqmTWqpPkJlXm8UGT8czSbBeWHwp4g==","repository":{"url":"git+https://github.com/agenttrust-labs/agenttrust.git","type":"git","directory":"trustgate/sdk"},"_npmVersion":"11.12.1","description":"TrustGate SDK for Solana x402 facilitators — atomic gate_payment + emit_feedback Express middleware","directories":{},"_nodeVersion":"25.9.0","dependencies":{"bs58":"^6.0.0","@solana/web3.js":"^1.98.0","@coral-xyz/anchor":"^0.31.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","mocha":"^9.0.3","express":"^4.21.2","ts-node":"^10.9.2","ts-mocha":"^10.0.0","typescript":"^4.9.5","@types/chai":"^4.3.0","@types/node":"^20.0.0","@types/mocha":"^9.0.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/trustgate_0.1.1_1778162165924_0.5903287265558674","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agenttrust-sdk/trustgate","version":"0.2.0","keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"author":{"url":"https://agenttrust.tech","name":"AgentTrust Labs"},"license":"MIT","_id":"@agenttrust-sdk/trustgate@0.2.0","maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"homepage":"https://github.com/agenttrust-labs/agenttrust/tree/main/trustgate/sdk#readme","bugs":{"url":"https://github.com/agenttrust-labs/agenttrust/issues"},"dist":{"shasum":"5edfb9b8aa1f6ae965d0c36376917f4faba428c6","tarball":"https://registry.npmjs.org/@agenttrust-sdk/trustgate/-/trustgate-0.2.0.tgz","fileCount":51,"integrity":"sha512-mWMuWnFobhlJ8DQsqE2ybqugQKVZSksFfGhkniOz69zAT5FsHPU2JPuHA4+qXWassCpb/Y1qNey7j5BxNiW13g==","signatures":[{"sig":"MEYCIQCQUehSPfSjaFFsaY7EVda+/JP8kukENJ3hgSPYB7E7SwIhAO6cHcPslJHnotPKy1M1Fa0ff72YrhgFrl8iHQ8dAaBx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183820},"main":"dist/index.js","_from":"file:agenttrust-sdk-trustgate-0.2.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"./express":{"types":"./dist/express.d.ts","default":"./dist/express.js"}},"scripts":{"lint":"tsc --noEmit","test":"ts-mocha -p ./tsconfig.json -t 30000 test/**/*.test.ts","build":"tsc","publish:dry":"npm publish --dry-run","test:integration":"INTEGRATION=1 ts-mocha -p ./tsconfig.json -t 60000 test/devnet.test.ts"},"_npmUser":{"name":"mohit09","email":"mohitkumar001700@gmail.com"},"_resolved":"/private/var/folders/65/ljnjcbws1yl0s16jxs7f0bpc0000gn/T/f70a915187bb5b561c8d89db709d55c0/agenttrust-sdk-trustgate-0.2.0.tgz","_integrity":"sha512-mWMuWnFobhlJ8DQsqE2ybqugQKVZSksFfGhkniOz69zAT5FsHPU2JPuHA4+qXWassCpb/Y1qNey7j5BxNiW13g==","repository":{"url":"git+https://github.com/agenttrust-labs/agenttrust.git","type":"git","directory":"trustgate/sdk"},"_npmVersion":"11.12.1","description":"TrustGate SDK for Solana x402 facilitators — atomic gate_payment + emit_feedback Express middleware","directories":{},"_nodeVersion":"25.9.0","dependencies":{"bs58":"^6.0.0","@solana/web3.js":"^1.98.0","@coral-xyz/anchor":"^0.31.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","mocha":"^9.0.3","express":"^4.21.2","ts-node":"^10.9.2","ts-mocha":"^10.0.0","typescript":"^4.9.5","@types/chai":"^4.3.0","@types/node":"^20.0.0","@types/mocha":"^9.0.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/trustgate_0.2.0_1778171355214_0.4507804001928939","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agenttrust-sdk/trustgate","version":"0.3.0","keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"author":{"url":"https://agenttrust.tech","name":"AgentTrust Labs"},"license":"MIT","_id":"@agenttrust-sdk/trustgate@0.3.0","maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"homepage":"https://github.com/agenttrust-labs/agenttrust/tree/main/trustgate/sdk#readme","bugs":{"url":"https://github.com/agenttrust-labs/agenttrust/issues"},"dist":{"shasum":"cf3fccc8e5f04bcf9de0bebc6cdec80a3ee2777a","tarball":"https://registry.npmjs.org/@agenttrust-sdk/trustgate/-/trustgate-0.3.0.tgz","fileCount":51,"integrity":"sha512-q9VgMFnBoZuERBpa84aygHoetwSx4VmfYV+FM229kpofe8LSD+ivkwrLcE7gv0zbsFhHU3xtQ+CNlK6fIpo8OQ==","signatures":[{"sig":"MEYCIQCrAzax/r1/jJRIuzKddcZHCKrCMMYp9FvIH9+1eBtBUwIhAPj7EbriHaCE56fOaanaYRD3/PDdSkOHbzO0WFHQuZzK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186015},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"./express":{"types":"./dist/express.d.ts","default":"./dist/express.js"}},"gitHead":"534032efc1f95c704dc29e5f46998931eee2543a","scripts":{"lint":"tsc --noEmit","test":"ts-mocha -p ./tsconfig.json -t 30000 test/**/*.test.ts","build":"tsc","publish:dry":"npm publish --dry-run","prepublishOnly":"pnpm run lint && pnpm run build && pnpm run test","test:integration":"INTEGRATION=1 ts-mocha -p ./tsconfig.json -t 60000 test/devnet.test.ts"},"_npmUser":{"name":"mohit09","email":"mohitkumar001700@gmail.com"},"repository":{"url":"git+https://github.com/agenttrust-labs/agenttrust.git","type":"git","directory":"trustgate/sdk"},"_npmVersion":"11.12.1","description":"TrustGate SDK for Solana x402 facilitators — atomic gate_payment + emit_feedback Express middleware","directories":{},"_nodeVersion":"25.9.0","dependencies":{"bs58":"^6.0.0","@solana/web3.js":"^1.98.0","@coral-xyz/anchor":"^0.31.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","mocha":"^9.0.3","express":"^4.21.2","ts-node":"^10.9.2","ts-mocha":"^10.0.0","typescript":"^4.9.5","@types/chai":"^4.3.0","@types/node":"^20.0.0","@types/mocha":"^9.0.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/trustgate_0.3.0_1778465248134_0.8677098179813711","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@agenttrust-sdk/trustgate","version":"0.3.1","keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"author":{"url":"https://agenttrust.tech","name":"AgentTrust Labs"},"license":"MIT","_id":"@agenttrust-sdk/trustgate@0.3.1","maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"homepage":"https://github.com/agenttrust-labs/agenttrust/tree/main/trustgate/sdk#readme","bugs":{"url":"https://github.com/agenttrust-labs/agenttrust/issues"},"dist":{"shasum":"fb6b0432aa4b9ed1747687c1cbb0567adc13bd8f","tarball":"https://registry.npmjs.org/@agenttrust-sdk/trustgate/-/trustgate-0.3.1.tgz","fileCount":55,"integrity":"sha512-1ZDA7w4tzTVpAYVmEyX4qNorUscBNEWmD7ZrRxvnGznXQov9PDKBlAREYrV6L1i4lFfGZgXImBFeeR1r2oiLVQ==","signatures":[{"sig":"MEQCIHPyrsB0MpKTI7BwvbYGIIELSAcRU6IAXj83c6qibWK5AiAkVxfvX3E+/Pr8drKBcTCs6tkZqRW0sE4cVLZJXkycyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224570},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./spl":{"types":"./dist/spl.d.ts","default":"./dist/spl.js"},"./x402":{"types":"./dist/x402.d.ts","default":"./dist/x402.js"},"./chain":{"types":"./dist/chain.d.ts","default":"./dist/chain.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js"},"./client":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"./quantu":{"types":"./dist/quantu.d.ts","default":"./dist/quantu.js"},"./express":{"types":"./dist/express.d.ts","default":"./dist/express.js"},"./atomicity":{"types":"./dist/atomicity.d.ts","default":"./dist/atomicity.js"},"./emit-feedback":{"types":"./dist/emit-feedback.d.ts","default":"./dist/emit-feedback.js"},"./onchain-validator":{"types":"./dist/onchain-validator.d.ts","default":"./dist/onchain-validator.js"},"./facilitator-factory":{"types":"./dist/facilitator-factory.d.ts","default":"./dist/facilitator-factory.js"},"./validation-registry":{"types":"./dist/validation-registry.d.ts","default":"./dist/validation-registry.js"}},"scripts":{"lint":"tsc --noEmit","test":"ts-mocha -p ./tsconfig.json -t 30000 test/**/*.test.ts","build":"tsc","publish:dry":"npm publish --dry-run","prepublishOnly":"pnpm run lint && pnpm run build && pnpm run test","test:integration":"INTEGRATION=1 ts-mocha -p ./tsconfig.json -t 60000 test/devnet.test.ts"},"_npmUser":{"name":"mohit09","email":"mohitkumar001700@gmail.com"},"repository":{"url":"git+https://github.com/agenttrust-labs/agenttrust.git","type":"git","directory":"trustgate/sdk"},"_npmVersion":"11.12.1","description":"TrustGate SDK for Solana x402 facilitators — atomic gate_payment + emit_feedback Express middleware","directories":{},"_nodeVersion":"25.9.0","dependencies":{"bs58":"^6.0.0","@solana/web3.js":"^1.98.0","@coral-xyz/anchor":"^0.31.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","mocha":"^9.0.3","express":"^4.21.2","ts-node":"^10.9.2","ts-mocha":"^10.0.0","typescript":"^4.9.5","@types/chai":"^4.3.0","@types/node":"^20.0.0","@types/mocha":"^9.0.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/trustgate_0.3.1_1778615434973_0.14755504146458986","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@agenttrust-sdk/trustgate","version":"0.3.2","keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"author":{"url":"https://agenttrust.tech","name":"AgentTrust Labs"},"license":"MIT","_id":"@agenttrust-sdk/trustgate@0.3.2","maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"homepage":"https://github.com/agenttrust-labs/agenttrust/tree/main/trustgate/sdk#readme","bugs":{"url":"https://github.com/agenttrust-labs/agenttrust/issues"},"dist":{"shasum":"4035f347bdfed1ece91904b3f1af23485ec80b83","tarball":"https://registry.npmjs.org/@agenttrust-sdk/trustgate/-/trustgate-0.3.2.tgz","fileCount":55,"integrity":"sha512-8Tv1mtlaZfex/YQsAGM8RyZngQcwwOweIpUY/myuJlVvfDA1+PRIESGztKO1qKp/VmKeB0mTnMEDvYIKyrHq6Q==","signatures":[{"sig":"MEYCIQCFSASTQ2VpvlanfTunn5AdKRvzCsmphE8IyBSqGnBkmgIhAKPNb6cZafWJXVO0ZiDShGwf1Uo6Ou1ywigcnrkdOnIf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224495},"main":"dist/index.js","_from":"file:agenttrust-sdk-trustgate-0.3.2.tgz","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./spl":{"types":"./dist/spl.d.ts","default":"./dist/spl.js"},"./x402":{"types":"./dist/x402.d.ts","default":"./dist/x402.js"},"./chain":{"types":"./dist/chain.d.ts","default":"./dist/chain.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js"},"./client":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"./quantu":{"types":"./dist/quantu.d.ts","default":"./dist/quantu.js"},"./express":{"types":"./dist/express.d.ts","default":"./dist/express.js"},"./atomicity":{"types":"./dist/atomicity.d.ts","default":"./dist/atomicity.js"},"./emit-feedback":{"types":"./dist/emit-feedback.d.ts","default":"./dist/emit-feedback.js"},"./onchain-validator":{"types":"./dist/onchain-validator.d.ts","default":"./dist/onchain-validator.js"},"./facilitator-factory":{"types":"./dist/facilitator-factory.d.ts","default":"./dist/facilitator-factory.js"},"./validation-registry":{"types":"./dist/validation-registry.d.ts","default":"./dist/validation-registry.js"}},"scripts":{"lint":"tsc --noEmit","test":"ts-mocha -p ./tsconfig.json -t 30000 test/**/*.test.ts","build":"tsc","publish:dry":"npm publish --dry-run","test:integration":"INTEGRATION=1 ts-mocha -p ./tsconfig.json -t 60000 test/devnet.test.ts"},"_npmUser":{"name":"mohit09","email":"mohitkumar001700@gmail.com"},"_resolved":"/private/var/folders/65/ljnjcbws1yl0s16jxs7f0bpc0000gn/T/afcccc9e5580763961c29b48df9cda60/agenttrust-sdk-trustgate-0.3.2.tgz","_integrity":"sha512-8Tv1mtlaZfex/YQsAGM8RyZngQcwwOweIpUY/myuJlVvfDA1+PRIESGztKO1qKp/VmKeB0mTnMEDvYIKyrHq6Q==","repository":{"url":"git+https://github.com/agenttrust-labs/agenttrust.git","type":"git","directory":"trustgate/sdk"},"_npmVersion":"11.12.1","description":"TrustGate SDK for Solana x402 facilitators — atomic gate_payment + emit_feedback Express middleware","directories":{},"_nodeVersion":"25.9.0","dependencies":{"bs58":"^6.0.0","@solana/web3.js":"^1.98.0","@coral-xyz/anchor":"^0.31.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","mocha":"^9.0.3","express":"^4.21.2","ts-node":"^10.9.2","ts-mocha":"^10.0.0","typescript":"^4.9.5","@types/chai":"^4.3.0","@types/node":"^20.0.0","@types/mocha":"^9.0.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/trustgate_0.3.2_1778622626281_0.4060746524593013","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agenttrust-sdk/trustgate","version":"0.4.0","keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"author":{"url":"https://agenttrust.tech","name":"AgentTrust Labs"},"license":"MIT","_id":"@agenttrust-sdk/trustgate@0.4.0","maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"homepage":"https://github.com/agenttrust-labs/agenttrust/tree/main/trustgate/sdk#readme","bugs":{"url":"https://github.com/agenttrust-labs/agenttrust/issues"},"dist":{"shasum":"9d005e41b767e131e28de610abdcaf441573676f","tarball":"https://registry.npmjs.org/@agenttrust-sdk/trustgate/-/trustgate-0.4.0.tgz","fileCount":59,"integrity":"sha512-zQVl7P5cJQr2PrtRA/ECVgYidQyF2UYkFhqOA0l3uUvB8VxoAdCXLSKCPoyanGna7VLXRI1gXeWGTLYHFC/xJQ==","signatures":[{"sig":"MEUCIQCSFxYIghfYzWjSi6nXzVnq1RXz66DOvHurPZqd5YoHyAIgROlv/CgmZ2UtTu/YjDhw+k640camxJVO9DG8N9ml6HQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239459},"main":"dist/index.js","_from":"file:agenttrust-sdk-trustgate-0.4.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./spl":{"types":"./dist/spl.d.ts","default":"./dist/spl.js"},"./x402":{"types":"./dist/x402.d.ts","default":"./dist/x402.js"},"./chain":{"types":"./dist/chain.d.ts","default":"./dist/chain.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js"},"./client":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"./quantu":{"types":"./dist/quantu.d.ts","default":"./dist/quantu.js"},"./express":{"types":"./dist/express.d.ts","default":"./dist/express.js"},"./atomicity":{"types":"./dist/atomicity.d.ts","default":"./dist/atomicity.js"},"./emit-feedback":{"types":"./dist/emit-feedback.d.ts","default":"./dist/emit-feedback.js"},"./onchain-validator":{"types":"./dist/onchain-validator.d.ts","default":"./dist/onchain-validator.js"},"./facilitator-factory":{"types":"./dist/facilitator-factory.d.ts","default":"./dist/facilitator-factory.js"},"./validation-registry":{"types":"./dist/validation-registry.d.ts","default":"./dist/validation-registry.js"}},"scripts":{"lint":"tsc --noEmit","test":"ts-mocha -p ./tsconfig.json -t 30000 test/**/*.test.ts","build":"tsc","publish:dry":"npm publish --dry-run","test:integration":"INTEGRATION=1 ts-mocha -p ./tsconfig.json -t 60000 test/devnet.test.ts"},"_npmUser":{"name":"mohit09","email":"mohitkumar001700@gmail.com"},"_resolved":"/private/var/folders/65/ljnjcbws1yl0s16jxs7f0bpc0000gn/T/291374c5461c4f7cc4ee6c95ecb1bedb/agenttrust-sdk-trustgate-0.4.0.tgz","_integrity":"sha512-zQVl7P5cJQr2PrtRA/ECVgYidQyF2UYkFhqOA0l3uUvB8VxoAdCXLSKCPoyanGna7VLXRI1gXeWGTLYHFC/xJQ==","repository":{"url":"git+https://github.com/agenttrust-labs/agenttrust.git","type":"git","directory":"trustgate/sdk"},"_npmVersion":"11.12.1","description":"TrustGate SDK for Solana x402 facilitators — atomic gate_payment + emit_feedback Express middleware","directories":{},"_nodeVersion":"25.9.0","dependencies":{"bs58":"^6.0.0","@solana/web3.js":"^1.98.0","@coral-xyz/anchor":"^0.31.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","mocha":"^9.0.3","express":"^4.21.2","ts-node":"^10.9.2","ts-mocha":"^10.0.0","typescript":"^4.9.5","@types/chai":"^4.3.0","@types/node":"^20.0.0","@types/mocha":"^9.0.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/trustgate_0.4.0_1778682699094_0.3049707216989448","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@agenttrust-sdk/trustgate","version":"0.4.1","description":"TrustGate SDK for Solana x402 facilitators — atomic gate_payment + emit_feedback Express middleware","author":{"name":"AgentTrust Labs","url":"https://agenttrust.tech"},"license":"MIT","homepage":"https://github.com/agenttrust-labs/agenttrust/tree/main/trustgate/sdk#readme","repository":{"type":"git","url":"git+https://github.com/agenttrust-labs/agenttrust.git","directory":"trustgate/sdk"},"bugs":{"url":"https://github.com/agenttrust-labs/agenttrust/issues"},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","default":"./dist/express.js"},"./client":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"./atomicity":{"types":"./dist/atomicity.d.ts","default":"./dist/atomicity.js"},"./chain":{"types":"./dist/chain.d.ts","default":"./dist/chain.js"},"./emit-feedback":{"types":"./dist/emit-feedback.d.ts","default":"./dist/emit-feedback.js"},"./facilitator-factory":{"types":"./dist/facilitator-factory.d.ts","default":"./dist/facilitator-factory.js"},"./onchain-validator":{"types":"./dist/onchain-validator.d.ts","default":"./dist/onchain-validator.js"},"./quantu":{"types":"./dist/quantu.d.ts","default":"./dist/quantu.js"},"./spl":{"types":"./dist/spl.d.ts","default":"./dist/spl.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js"},"./validation-registry":{"types":"./dist/validation-registry.d.ts","default":"./dist/validation-registry.js"},"./x402":{"types":"./dist/x402.d.ts","default":"./dist/x402.js"}},"keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"engines":{"node":">=20"},"publishConfig":{"access":"public"},"peerDependencies":{"express":"^4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"dependencies":{"@coral-xyz/anchor":"^0.31.1","@solana/web3.js":"^1.98.0","bs58":"^6.0.0"},"devDependencies":{"@types/chai":"^4.3.0","@types/express":"^4.17.21","@types/mocha":"^9.0.0","@types/node":"^20.0.0","chai":"^4.3.4","express":"^4.21.2","mocha":"^9.0.3","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typescript":"^4.9.5"},"scripts":{"build":"tsc","lint":"tsc --noEmit","test":"ts-mocha -p ./tsconfig.json -t 30000 test/**/*.test.ts","test:integration":"INTEGRATION=1 ts-mocha -p ./tsconfig.json -t 60000 test/devnet.test.ts","publish:dry":"npm publish --dry-run"},"_id":"@agenttrust-sdk/trustgate@0.4.1","_integrity":"sha512-qaIPldqlQiQhTwbrcACOEjNv2du0xNbvOhOVs7uWiireJfufkO4GvOnbUMollxfYUiIlH4CIjn6Fze+1igLPmA==","_resolved":"/private/var/folders/65/ljnjcbws1yl0s16jxs7f0bpc0000gn/T/e146bd1b4d8a50f6b01cb644801e1dfd/agenttrust-sdk-trustgate-0.4.1.tgz","_from":"file:agenttrust-sdk-trustgate-0.4.1.tgz","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-qaIPldqlQiQhTwbrcACOEjNv2du0xNbvOhOVs7uWiireJfufkO4GvOnbUMollxfYUiIlH4CIjn6Fze+1igLPmA==","shasum":"3a9f3b37c27d7d7c25ad37309c2191ff29475aa7","tarball":"https://registry.npmjs.org/@agenttrust-sdk/trustgate/-/trustgate-0.4.1.tgz","fileCount":59,"unpackedSize":240166,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC3lyikq2YCIs+JMR+M1mK1aNWYcv5LsqUxpORrbAlgeQIgMuGu5v7B0HDERubfBFTorl0ktmDp4JLAuvo3JLdiSus="}]},"_npmUser":{"name":"mohit09","email":"mohitkumar001700@gmail.com"},"directories":{},"maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/trustgate_0.4.1_1778685470279_0.2852265796551059"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-02T00:52:02.997Z","modified":"2026-05-13T15:17:50.653Z","0.1.0":"2026-05-02T00:52:03.220Z","0.1.1":"2026-05-07T13:56:06.164Z","0.2.0":"2026-05-07T16:29:15.376Z","0.3.0":"2026-05-11T02:07:28.326Z","0.3.1":"2026-05-12T19:50:35.177Z","0.3.2":"2026-05-12T21:50:26.448Z","0.4.0":"2026-05-13T14:31:39.284Z","0.4.1":"2026-05-13T15:17:50.492Z"},"bugs":{"url":"https://github.com/agenttrust-labs/agenttrust/issues"},"author":{"name":"AgentTrust Labs","url":"https://agenttrust.tech"},"license":"MIT","homepage":"https://github.com/agenttrust-labs/agenttrust/tree/main/trustgate/sdk#readme","keywords":["solana","x402","agent-payments","facilitator","agenttrust","erc-8004","trust","policy-engine"],"repository":{"type":"git","url":"git+https://github.com/agenttrust-labs/agenttrust.git","directory":"trustgate/sdk"},"description":"TrustGate SDK for Solana x402 facilitators — atomic gate_payment + emit_feedback Express middleware","maintainers":[{"name":"mohit09","email":"mohitkumar001700@gmail.com"}],"readme":"# @agenttrust-sdk/trustgate\n\n> Drop-in TrustGate middleware for x402 facilitators on Solana. Adds\n> `gate_payment + emit_feedback` to any Express app with atomic-tx\n> invariant enforcement.\n>\n> npm: [`@agenttrust-sdk/trustgate`](https://www.npmjs.com/package/@agenttrust-sdk/trustgate) ·\n> repo: [`agenttrust-labs/agenttrust`](https://github.com/agenttrust-labs/agenttrust)\n>\n> Component of the **AgentTrust** project (PolicyVault + TrustGate +\n> ValidationRegistry). This SDK ships the TrustGate component.\n\n**AgentTrust completes the Solana Foundation's ERC-8004 trust stack** —\nthis package is the TypeScript surface that lets x402 facilitators\n(**Pay.sh** ★ default · Dexter · atxp · MCPay) integrate AgentTrust in a day.\n\n★ Pay.sh is the Solana Foundation's first x402 facilitator,\n[launched 2026-05-05 with Google Cloud](https://solana.com/news/solana-foundation-launches-pay-sh-in-collaboration-with-google-cloud).\nAgentTrust ships day-one Pay.sh adapter as the canonical reference impl.\n\n> **Companion package:** [`@agenttrust-sdk/mcp`](https://www.npmjs.com/package/@agenttrust-sdk/mcp) —\n> 18-tool MCP server. Drop into Claude Desktop / Cursor with\n> `npx @agenttrust-sdk/mcp` and query the deployed AgentTrust programs\n> via natural language.\n\n## Breaking changes (0.2.0)\n\nThe `ProgramIds` shape and the `DEFAULT_DEVNET_PROGRAM_IDS` constant changed:\n\n| 0.1.x | 0.2.0 |\n|---|---|\n| `ProgramIds.trustgate` | `ProgramIds.trustGate` (camelCase, matches `policyVault`) |\n| `ProgramIds = { policyVault, trustgate }` | `ProgramIds = { policyVault, trustGate, validationRegistry }` |\n\n**One-line migration in consumer code:** search-and-replace `.trustgate` →\n`.trustGate` for every `programIds.*` / `DEFAULT_DEVNET_PROGRAM_IDS.*`\nfield access. The new `validationRegistry` field defaults to the live\ndevnet program ID `Cx4RFa6ysw3qXYhugPkF8pFSWBkmKq59h2dWgF2tKhtv`; previous\ncallers who imported `VALIDATION_REGISTRY_DEVNET_ID` separately can keep\nthat import or switch to `DEFAULT_DEVNET_PROGRAM_IDS.validationRegistry`.\n\n```ts\n// 0.1.x\nimport { DEFAULT_DEVNET_PROGRAM_IDS } from \"@agenttrust-sdk/trustgate\";\nDEFAULT_DEVNET_PROGRAM_IDS.trustgate.toBase58();\n\n// 0.2.0\nimport { DEFAULT_DEVNET_PROGRAM_IDS } from \"@agenttrust-sdk/trustgate\";\nDEFAULT_DEVNET_PROGRAM_IDS.trustGate.toBase58();\nDEFAULT_DEVNET_PROGRAM_IDS.validationRegistry.toBase58();   // new\n```\n\n## Install\n\n```bash\npnpm add @agenttrust-sdk/trustgate\n# or\nnpm install @agenttrust-sdk/trustgate\n# or\nyarn add @agenttrust-sdk/trustgate\n```\n\nPeer dep: `express ^4.21` (only needed if you mount the middleware).\n\n## Two import surfaces\n\n```ts\nimport { mountTrustGate } from \"@agenttrust-sdk/trustgate/express\";\nimport { gatePayment, settle } from \"@agenttrust-sdk/trustgate/client\";\n```\n\nPlus a root namespace with the atomicity guard, PDA derivations, and\nshared types:\n\n```ts\nimport {\n  AtomicityEnforced, AtomicityNotEnforcedError,\n  derivePolicyPda, DEFAULT_DEVNET_PROGRAM_IDS,\n} from \"@agenttrust-sdk/trustgate\";\n```\n\nEvery named module is also reachable via subpath import, e.g.\n`@agenttrust-sdk/trustgate/atomicity`, `@agenttrust-sdk/trustgate/chain`,\n`@agenttrust-sdk/trustgate/emit-feedback`,\n`@agenttrust-sdk/trustgate/facilitator-factory`,\n`@agenttrust-sdk/trustgate/onchain-validator`,\n`@agenttrust-sdk/trustgate/quantu`, `@agenttrust-sdk/trustgate/spl`,\n`@agenttrust-sdk/trustgate/types`,\n`@agenttrust-sdk/trustgate/validation-registry`, and\n`@agenttrust-sdk/trustgate/x402`. Each subpath maps to a single file in\nthe package — useful when a consumer wants tighter tree-shaking than the\nroot re-export bundle.\n\n## Facilitator wiring — `makePayShFacilitator`\n\nFor Pay.sh integrators who want the boilerplate documented in\n`trustgate/server/src/production.ts` collapsed into a one-liner:\n\n```ts\nimport { Connection, Keypair } from \"@solana/web3.js\";\nimport {\n  DEFAULT_DEVNET_PROGRAM_IDS, DEFAULT_DEVNET_QUANTU_IDS,\n  loadTrustGate, makeProvider, makePayShFacilitator, makeDefaultRegistry,\n  Wallet,\n} from \"@agenttrust-sdk/trustgate\";\nimport { PaySh, FacilitatorRegistry } from \"@agenttrust/trustgate-server\";\n\nconst connection         = new Connection(\"https://api.devnet.solana.com\", \"confirmed\");\nconst facilitatorKeypair = Keypair.fromSecretKey(/* your facilitator key */);\nconst provider           = makeProvider({ rpcUrl: \"https://api.devnet.solana.com\", wallet: facilitatorKeypair });\nconst trustgate          = await loadTrustGate(provider, DEFAULT_DEVNET_PROGRAM_IDS.trustGate);\n\nconst resolveQuantu = async (payeeAgent) => ({\n  agentAccount:      payeeAgent,\n  asset:             /* the agent_asset for the payee */,\n  collection:        /* base collection */,\n  atomConfig:        deriveAtomConfigPda(DEFAULT_DEVNET_QUANTU_IDS),\n  atomStats:         /* atom_stats PDA */,\n  atomEngineProgram: DEFAULT_DEVNET_QUANTU_IDS.atomEngine,\n  registryAuthority: deriveAtomRegistryAuthorityPda(DEFAULT_DEVNET_QUANTU_IDS),\n});\n\nconst deps  = makePayShFacilitator({\n  connection,\n  facilitatorKeypair,\n  resolveQuantu,\n  programIds:     DEFAULT_DEVNET_PROGRAM_IDS,\n  quantuIds:      DEFAULT_DEVNET_QUANTU_IDS,\n  trustgate,\n  signingNetwork: \"solana-devnet\",\n});\nconst paySh    = new PaySh(deps);\nconst registry = makeDefaultRegistry(FacilitatorRegistry, { paySh });\n```\n\n`makePayShFacilitator` is the public-SDK facade for the Pay.sh adapter\nwiring. The `PaySh` class itself remains in the private\n`@agenttrust/trustgate-server` reference impl, alongside the\n`mountFacilitatorRoutes` route binder — that boundary stays the same.\nConsumers who don't want to vendor the server package's routes use the\nSDK factory to construct deps and run their own Express plumbing.\n\n**Production `replayCache` is REQUIRED.** The default in-memory\n`ReplayCache` is fine for unit tests and single-process demos but a\nrestart wipes the anti-replay state. Pass a Redis-backed (or similar)\n`ReplayCacheLike` via `replayCache:` for production. The shape is\nsmall — `observe(signature, paymentIdHash) -> 'fresh' | 'replay' |\n'collision'`.\n\n## Quick start — Express middleware\n\n```ts\nimport express from \"express\";\nimport { Keypair } from \"@solana/web3.js\";\nimport { mountTrustGate } from \"@agenttrust-sdk/trustgate/express\";\n\nconst app = express();\napp.use(express.json());\n\nconst facilitatorKeypair = Keypair.fromSecretKey(/* your facilitator key */);\n\nawait mountTrustGate(app, {\n  rpcUrl:             \"https://api.devnet.solana.com\",\n  facilitatorKeypair,\n  network:            \"solana-devnet\",\n  // THIS FIELD IS REQUIRED — see \"Atomic-tx invariant\" below.\n  atomicityEnforced:  true,\n});\n\napp.listen(3000);\n```\n\nYou now have:\n\n- `POST /verify` — read-only `gate_payment` simulation. Returns 200/Allow,\n  402/Deny + reason headers, or 402/RequireValidation + capability hash.\n- `GET /receipt/:paymentIdHashHex` — looks up the on-chain\n  `FeedbackEmissionLog` PDA. Returns `{ exists: false }` until the\n  payment settles.\n\n`mountTrustGate` intentionally mounts only the two read-only routes.\nThe write-path routes (`POST /settle`, `POST /dispute`) live in the\ncompanion `@agenttrust/trustgate-server` package's\n`mountFacilitatorRoutes` — that's the canonical home of the keypair /\nx402 registry wiring. Use `client.settle(...)` directly for the atomic\nsettle path from a TypeScript backend, or mount the server routes if\nyou need HTTP-shaped `/settle`. `dispute_payment` exists on-chain; a\ntyped SDK composer for it is a tracked follow-up — build the\n`disputePayment` tx directly via `loadTrustGate(provider).methods` in\nthe meantime.\n\nThe `facilitatorKeypair` field accepts `Keypair | PublicKey |\n{ publicKey: PublicKey }`. The middleware only reads the pubkey\n(gate_payment simulation runs with `sigVerify: false`); passing a\n`Keypair` is fine but not required.\n\n## Quick start — client helpers\n\n```ts\nimport { PublicKey } from \"@solana/web3.js\";\nimport { gatePayment } from \"@agenttrust-sdk/trustgate/client\";\n\n// `caller` accepts a full Keypair OR a pubkey-only shape — the simulate\n// path runs with sigVerify: false, so no signing occurs. Pass a\n// pubkey-only object from a read-only context to avoid handling secret\n// keys; pass a Keypair when calling `settle` afterwards.\nconst decision = await gatePayment({\n  rpcUrl:          \"https://api.devnet.solana.com\",\n  caller:          { publicKey: new PublicKey(\"...\") },\n  payerAgentAsset: new PublicKey(\"...\"),\n  payeeAgentAsset: new PublicKey(\"...\"),\n  amount:          1_000_000n, // 1 USDC w/ 6 decimals\n  mint:            new PublicKey(\"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"), // USDC devnet\n  policyId:        1,\n});\n\nswitch (decision.kind) {\n  case \"Allow\":             /* proceed with payment */ break;\n  case \"Deny\":              /* show user decision.reasonName */ break;\n  case \"RequireValidation\": /* route user to validation flow with decision.capabilityHash */ break;\n}\n```\n\n## Atomic-tx invariant\n\n`gate_payment + spl-token transfer + emit_feedback` MUST execute in\n**one** Solana transaction. Splitting them across two transactions opens\na real footgun on Token-2022 mints with `TransferHook`:\n\n1. Tx1: `gate_payment` returns Allow → `VelocityLedger.cumulative += amount`\n2. Tx2: SPL transfer → `TransferHook` reverts (compliance check fails)\n3. `VelocityLedger` is now corrupted: counted a payment that never happened\n\nThe SDK enforces atomicity at **two layers**:\n\n- **Compile-time literal type guard.** The `AtomicityEnforced` marker is\n  `{ atomicityEnforced: true }` — a literal `true`, not `boolean`. TS\n  rejects callers passing `false` or omitting the field.\n- **Runtime throw.** Every entry point validates `atomicityEnforced ===\n  true` and throws `AtomicityNotEnforcedError` otherwise. Stops `as any`\n  escape-hatches cold.\n\nBoth layers required: skipping either one re-opens the corruption vector.\nThis is the load-bearing safety property of the SDK.\n\n## On-chain programs (devnet)\n\n| Program | Address |\n|---------|---------|\n| `policy_vault` | `8Y6fGeNEHgmWmbt8JsRcF72jxbeBfJhomMjG6SuoJQTR` |\n| `trustgate` | `HF8zHfoyA7b5mhLViopTnRMprc6ZT5KActHTdkFrih2N` |\n| `validation_registry` | `Cx4RFa6ysw3qXYhugPkF8pFSWBkmKq59h2dWgF2tKhtv` |\n\nOverride via the `programIds` config field for mainnet redeploys.\n`MAINNET_PROGRAM_IDS` is exported from the root namespace but is\ncurrently `undefined` — AgentTrust has not deployed to mainnet-beta\nyet. Mainnet callers must pass an explicit `ProgramIds` object built\nfrom the live mainnet pubkeys. The `loadValidationRegistry` loader\nrefuses to apply the devnet default on a non-devnet RPC (URL heuristic\ncheck) and throws with a remediation pointer.\n\nAll three Anchor IDLs are published on devnet. Verify with:\n\n```bash\nanchor idl fetch <programId> --provider.cluster devnet\n```\n\n`loadPolicyVault` / `loadTrustGate` / `loadValidationRegistry` fetch the\nIDL from chain by default. Pass an explicit `idl` argument to use a bundled\nsnapshot instead — useful when avoiding an extra RPC hop in latency-\nsensitive paths or when running against a freshly redeployed program\nbefore `anchor idl upgrade` has run.\n\n## Formal verification\n\nPolicyVault's five core safety properties are machine-checked by Kani:\n\n1. `paused_implies_no_allow` — KillSwitch paused ⇒ never Allow\n2. `velocity_counter_le_limit` — Allow preserves cumulative ≤ max\n3. `counterparty_tier_monotone` — strict pass ⇒ loose pass\n4. `validation_expiry_correct` — expired attestation ⇒ never Allow\n5. `multisig_threshold_enforced` — distinct signer count ≥ threshold\n\nCI runs all 5 on every PR. See `.github/workflows/kani-prove.yml` in the\n[main repo](https://github.com/agenttrust-labs/agenttrust).\n\n## License\n\nMIT. © 2026 AgentTrust contributors.\n","readmeFilename":"README.md"}