{"_id":"@coderifts/agent-guard","_rev":"62-04f3ee24bace27a111e4eff5fb703639","name":"@coderifts/agent-guard","dist-tags":{"latest":"17.3.6"},"versions":{"1.0.0":{"name":"@coderifts/agent-guard","version":"1.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"cdd0c1c8436449c0433f0917d075df03d0b2bce6","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.0.0.tgz","fileCount":36,"integrity":"sha512-z1ChV/uCUfn6pfZ8yhHgpUkL8tzTRj2TrUkUZjjuI7ikQFgzhpywPgRizX/lCJoYfFzj9fE0iYQtZpxNVGC28A==","signatures":[{"sig":"MEYCIQDtpS5tK3hJPpi7ZDUFx52AH+EU95sYoTHtexaJIhQbfgIhAMa9+LAraYxizxLoObnf0T7NmTnHdxSCAPbeAr/cKoLe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160620},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"1f7d35ca7efc6342ac39208ea0198ca4c2e905c6","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.0.0_1785076663920_0.28952415810059073","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@coderifts/agent-guard","version":"1.1.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"4b1ecb7c95b1401d0350721b5a88523c99a81fd7","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.1.0.tgz","fileCount":60,"integrity":"sha512-TiWYMUyh1PD7ZbinsLKAfr16Yo+vLDRZkGELffUNdWqt8x83exKzZ6D7hFpwXo2SHXQVjYnlDeKJlEL1nXA0CQ==","signatures":[{"sig":"MEUCIQCI3hvngnK9BD66sikaooaC4E7LgnfDMZIsrVdWSRlvWAIgMj8DqpUZRNjjxJqHhBdRuUcXLaTQ5H5eKa0kGDx08G0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":330193},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"9e38201a8bde6bad6554e53c1e13eb9a8f721153","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.1.0_1785244607910_0.10469753170004759","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@coderifts/agent-guard","version":"1.2.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.2.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"23c00c14a90524619e0e1fd96e0fd5f741f2cf81","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.2.0.tgz","fileCount":92,"integrity":"sha512-l7uIT8WiGeLKmWaPhk+LKuT1p8tluN6scnR/bFCq42XUWq5MN4RtGRXF8I8QkbNAw81c+K5JRIHFn+pqljc/9w==","signatures":[{"sig":"MEUCICvXAarTGGLUyNU2+FS//lvjg09Qz+LyHOliNM65AFhhAiEA2rmkLdLEu04+3dnff1xXJVa684cyYP1rHxgEt/WSwZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536570},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"8b4c926509ae42c62417fd9f4c8426c4549bc68a","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.2.0_1785323125371_0.8849704294246892","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@coderifts/agent-guard","version":"1.3.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.3.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"0b181cfb5647fe9f73dde7f7b61b1aab7c370085","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.3.0.tgz","fileCount":92,"integrity":"sha512-4aD1wgAZ7ArYJKs/pzvg8k8YfsA2TkDgWi/Cz/HhSYn0LOqpp/eHVAP/qlM5lC+1tGQeUcEEbeezJr7fRUOesw==","signatures":[{"sig":"MEUCIAmYixOBEmB6QEcKRo7Jo6gpbXuN47OOUIOGkrSQJMUyAiEA9F+phWLAR8Sis6zNbjkMt0cL76uxhFfsm3eLfgf7IlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536570},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"ecdb114a934dfa8dc272cd94fb9408b12b221aa6","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.3.0_1785326602311_0.034815505710725114","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@coderifts/agent-guard","version":"1.4.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.4.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"ba4f032a22b9d020b50bbe2df9f53122dee76777","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.4.0.tgz","fileCount":100,"integrity":"sha512-5vNmpZ+es+iBovRz6YS+PHXAIwLCkuUfjJeZqRqyBuXAM3Pdbo8LL59ua32K51rRFCImCuZcly7XB1rRkQ8dJw==","signatures":[{"sig":"MEYCIQDgtSLOQ8OeDwuKAnS2WnxBzMt7NRI4VbNOHeagKDfCpQIhAOURTXfI5hJDJfBnZ03oAfEbt34FnEA1KJsnFjt2dAvb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573754},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"0c442daa9b7f42a088e3f2f47e41fcbc60604ce8","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.4.0_1785334096239_0.042890354089458516","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@coderifts/agent-guard","version":"1.5.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.5.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"60b0c07d998c5265922d1015174f30d281ec693f","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.5.0.tgz","fileCount":108,"integrity":"sha512-u9LSbQeJwpQQWHivaaiS9ZGMUKoboMRtkyKfbrE/PCVOmVLKXxFzf0Md5wOtZwSnw1TXp8RrfY0+AdiDPtc44Q==","signatures":[{"sig":"MEUCIQDATZa65vp192JpIix3zPXJb2EVrR9p39pQ+WLWS8rvfgIgDc9o+pWUlmLbDQOMZPU4DV390xqUwgS597SpxVkBzHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":618544},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"82c2c1f9fc31e96fca2d377580c8b6eb44cc6f63","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.5.0_1785342446392_0.17283439907274456","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@coderifts/agent-guard","version":"1.6.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.6.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"fb32cbf93d82161fa9932e798111bdcd818d33db","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.6.0.tgz","fileCount":116,"integrity":"sha512-s5uoUVn0Kmkm/MjfRU1UxFyblhTVAm58JcUWi61vqMcUcnOzL/oWNMvYATBXwoqqQd+AR83mghY4LKf6AQmmRw==","signatures":[{"sig":"MEUCIQChMUJlkqvz7wo8GBW1XzORef6IneA63rA67VSDa1tdUAIgAZ/kA8daQpW+wXLWWbyoHXXX//Z9ssYvkUH0mUk/Nho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":673152},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"1aa0d6fb0e51b84a7a9661ae68a24aa13af13aa8","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.6.0_1785349531083_0.12671646382552315","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@coderifts/agent-guard","version":"1.6.1","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.6.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"58e090a11d72b679f1a45162489cfea6be2226d8","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.6.1.tgz","fileCount":116,"integrity":"sha512-zBzSsXoU21uvNJvCgbL+bX2RVbTFdGgGtH1ZgDTV5rnIgKau4BoRurUKmEAIorJ3V5jQSLKbyEwjzel0Owk/fA==","signatures":[{"sig":"MEUCIDaDPRhAdvDEAlsPR9aDkSIyD17yUy52MaYxfVBCj3QkAiEAiHNs7aeBknhxoSSYts612DKkJMxmvChwuxZQCGrvthY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675060},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"244d433cfb121e09e01533288b414747726a5825","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.6.1_1785417379499_0.6931864542376798","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@coderifts/agent-guard","version":"1.6.2","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.6.2","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"9bc3f6340bc0eb7f380018154a6b0478a82f2d20","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.6.2.tgz","fileCount":124,"integrity":"sha512-7me4N/2GoJ7bEK7Ka0fDwDs++8j0QFbELmqpQwUOuMiP7IdHpzon2OqD4LF2v7scFkfrgNSfn1ShN0QmTY4bCA==","signatures":[{"sig":"MEUCIA4aTeH/gKzkAjqxByrkML4TpY0H5YFOGnbA2fs0ot8xAiEA0wJBCKS6ZYxz5LaCIZYTWpJY+g1izKJaUKJBc/C0Rj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":737864},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"24dee7bc46a92aaa6eda3fec0af341d4b7816a46","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.6.2_1785528932597_0.1547867300007153","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@coderifts/agent-guard","version":"1.7.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.7.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"c262d420844af43e3ffe4b9f3098e622702c51f7","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.7.0.tgz","fileCount":124,"integrity":"sha512-K0LzgRIxGI6iFhMhf8e1+dyVdYjHZcX+bVP/KGgnb+OANbENxyADbxBq9Gmm5UBRDC/ZVs2oTfeV3FEbK1MgZA==","signatures":[{"sig":"MEUCIGBV3Xy+SDLds2W47r0sXIzbNvp5zGeveixQUTwtgwEpAiEA7Nc46j9xbOzyHsZ98ViGenU/7e4pQQ8yAbjvsgKyWJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":778383},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"8a192b5e58bb7caa8d4b7d06b02ef803bd6f9ef4","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.7.0_1785700901714_0.43452419278364984","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"@coderifts/agent-guard","version":"1.7.1","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.7.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"d6222fc2bf16a91000d347ae4280ea4135b32d5f","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.7.1.tgz","fileCount":124,"integrity":"sha512-7gBKPM97TjuFX0xWmhixHkIa87PLr1tWk57262pS9yzbqg9e8JLIp9P1Ube80EyThgUzjoZZSL/BqHmCmExAgg==","signatures":[{"sig":"MEUCIQCLF6V6tPMaDV0XiyHOvmLCV/u0UY1pL1IEOafH2cKG6wIgbINTSwaqwpVkl9sReQdbR+JCFNgWFUPY9LGJQav7Oy4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782965},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"c6ef7e0b66261e488898a784dbb2cfcdce309f07","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.7.1_1785710504244_0.5766522485201966","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@coderifts/agent-guard","version":"1.8.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@1.8.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"88beda72a80f21976e94ad0f21769a12d920de12","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-1.8.0.tgz","fileCount":132,"integrity":"sha512-CnmUBnj3ZLrhi18Cc0W1KgO0mOXbW7/TTsAKzXCrNH2WBfM96jKKMRSYYNTmvah1VxARNclg8X+fyO/ZH7Z9WQ==","signatures":[{"sig":"MEQCIHUrHXtniVtPyiRNtecy1lixnbDw6Ybti6xDpX6sKR8YAiAWpAM6oAWkqhPSrYxaWoRwNvLbdumJbVwtuj/CJpnyrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":820196},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"1c8f619569094eeef0a1a4c113c7a8a5152b2cfa","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_1.8.0_1785790769171_0.8705092309767555","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@coderifts/agent-guard","version":"2.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@2.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"74b0ef89a6c358cacf61850c17cb7f82423c139f","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-2.0.0.tgz","fileCount":132,"integrity":"sha512-wD6UzHiQ+M8yNS3A92vznEkriB+mr+sxDAANVwPDlZdMKqvUaYlUtqHB+PiNE1sCdPUfIHHU2DHAnuSgGmPYGA==","signatures":[{"sig":"MEYCIQD4rCh1H6CPruZhQO8JgxHN4bvh0udz4q41ArrkamAL3wIhAK1NB7empIGBOohUyPbIGQ1uOJ0QiUI5oRZv+IhKUz7u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":826868},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"374c81abf327ae67ead8c8246db1f5d5cccdd442","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_2.0.0_1785873642621_0.3825322085342908","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@coderifts/agent-guard","version":"3.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@3.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"a53c9025f9e471161828ccc30ce1c77ebdd5ecc3","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-3.0.0.tgz","fileCount":132,"integrity":"sha512-z4yoLJgWApqgVaRWvqiWUxcwJdTTyn6kxycooLiTLPLKdxE6Iu7Izsp20aNGlQSY5dLWdJfpDujMtGF1++iStQ==","signatures":[{"sig":"MEUCIAX+z63flzb3ECTJgTe00KLjG2xFznXbKL84TruVY0LyAiEA05OJ0qokhB2gzBOO60XNqNIRq8tkPvsXtJx2I1xaKB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832110},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"06401695ee27f1e5957e18dca7fcb2c0fa39fc85","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","pretest":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_3.0.0_1785921919749_0.5471173376424376","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@coderifts/agent-guard","version":"3.0.1","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@3.0.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"3da09dc0abbeb9046b99782a309be5f4203feeb4","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-3.0.1.tgz","fileCount":132,"integrity":"sha512-wFjpkWRgQYxceyvxLPXva7qa7ijQOtxb2YwtNceorz4t6RUX2gOay+eFUAM7Yd9Z7PEnpkJXnZ1qzOnUgstHMA==","signatures":[{"sig":"MEUCIQCDMcQG8IUsxVKIYPGNcei3EWL+NUZxxZAswJymYzdUhQIga9jmncoHidRJlrQt+JZW+WuyPHuadiX2HHwSRGG7YPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":831913},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"7526448598430f25a94551174604e34e17d5df71","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_3.0.1_1785949733577_0.9067510642055054","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@coderifts/agent-guard","version":"4.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@4.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"39f04b833a30caa91b966aa99fa559ccf98001f4","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-4.0.0.tgz","fileCount":164,"integrity":"sha512-2FY8tTBXgpKun9/U8uPWzXnWqaflcMdg41uASXsf2fSWRqSFdi/lJoFXcTOsCf02CCauIW0pzC/xuYLRWtWMfg==","signatures":[{"sig":"MEUCIFq4PFhy5uEFAMihcGSWoj/uqnmT5u2PKKThJnnHI4M8AiEAuFg/E16O+Qf/r89V6y2VQgCPWKDd82sibYIUgj8Q9y8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1086270},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"683d01707046fe5c3212472807ba90888a47ab70","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_4.0.0_1786133085884_0.6603827114426755","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@coderifts/agent-guard","version":"4.1.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@4.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"7c80da57b9e5b86502ed0c8e4834fed12d4979b3","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-4.1.0.tgz","fileCount":172,"integrity":"sha512-Sce3APNpruRnoF06PzNgK/H2dzfQaf/RE/KO2p5JXo9QSkG5Aa4/ENv/eWGzHY1pmri8N8nWvHfY5zIpH3GOhg==","signatures":[{"sig":"MEQCICsFEN9l9jpwAsOnKj2ZZBjWvljldd9w0xHx/JHnf4iDAiBkitU/nBIaxHWaFzWgG4J1iBT4j390kEWYxrNYHaNLxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1133750},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"322c334bfc5276e2fa8e89d4fd7bf6384dcabf98","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_4.1.0_1786181571151_0.23124489190660347","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@coderifts/agent-guard","version":"4.2.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@4.2.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"bae51a595369a6fee7084427eb0ae92bbf63effc","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-4.2.0.tgz","fileCount":172,"integrity":"sha512-lwZ4KMjOEHr0fKW4fyqxULjTOyD1xqtqtF4JHnV3tDogvrs8GgGjUD2meST9eahiiNV247BgBj8PH4llsYIUtQ==","signatures":[{"sig":"MEYCIQDguNUKJgUXqLhzGs8+WrFItn5bTTmmMgTt0IJIXbHanQIhAIKQL2AaZpqiGDgthx3dlfuNOaldjakF2WxcXyBy43j4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1137600},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"561713d9d6ed8f9855200bb4386814a01ac4051c","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_4.2.0_1786187018140_0.13464218883400414","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@coderifts/agent-guard","version":"4.3.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@4.3.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"94f5383ffb43671da03a82ac59443e4cb7595563","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-4.3.0.tgz","fileCount":204,"integrity":"sha512-1a6pFoHnhphkvj1fi7QiH+HDmd4A1KWCABDSZ7zswtxp2P/TDt4akLkxWV9ithMhPn969Wb+1PJK1O1fiHjhHQ==","signatures":[{"sig":"MEUCIALNPAsKo3wz3NmHyMHfFKbWqiEXSVL8dLoFlMRrwanuAiEA0ThqVl+22IYU4csC5i7OIQGicn+PHNQ0IGbD8g++kzw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1247290},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"37d5793e37fc5b81e93ffdf65252f005824dfcbc","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_4.3.0_1786295311814_0.3453799025792472","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@coderifts/agent-guard","version":"5.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@5.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"e2df543834868e5431efb9e98660c2f5e9db316b","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-5.0.0.tgz","fileCount":212,"integrity":"sha512-6/PjC3H9cqUKId/EAce0gBvyQbHv9BpN4SNv71MCwpILWuxUEqBXSMSyAQKR/q7T9YGUjJxe+3qb5nn0ei129Q==","signatures":[{"sig":"MEUCIGwssEpWzmWi425STjDyugerYeLMDbujzv7IUIJpwWulAiEAsrUTxowGCDcJYORCGWWPGu4mpiCGhvT+6eQ+a5r5LzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1297263},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"03431c35193628b632b6c241d289bac297021dae","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_5.0.0_1786352519082_0.5480303137810909","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@coderifts/agent-guard","version":"6.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@6.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"aaf4bc2fbf8ea125f397731b5fd19d69e9a87a31","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-6.0.0.tgz","fileCount":212,"integrity":"sha512-GWoyjStVkvVzB20+Ge1317NNKpzldjKFIF2ylzLbMmEJ2I0MTvzSOQmAv4zPw5oL6VfIBl1nGy0XdQMucfsWPQ==","signatures":[{"sig":"MEYCIQDWKUd3tdQMCxpM+xhv2ULu2H9/h8kT+QhCdng4rGyPQgIhANc/rEdEBXmUiv8Md2U4g7MMB+ZSHUiGOaXoD129Caep","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301619},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"bd84d9edc3fe9a1f975a17bfd395aacd75c75322","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_6.0.0_1786395895997_0.70470186112411","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"@coderifts/agent-guard","version":"6.1.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@6.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"1d733f6ca266e05eb7c023536b248723d212af6b","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-6.1.0.tgz","fileCount":220,"integrity":"sha512-8zcLhQRIxFqIra64f6RKqO3wlMHX7iuTkqR/FK0k/R8A+eqNolPCXRmGD6ncDj6rIL4NfKtc+TuDAiP9AY55UQ==","signatures":[{"sig":"MEUCIQDTgJtfNF1PAiL+fJXtiZTs1ulJPxoyzvhQiijqKsR9UAIgAePqclGa0CT2C5lBNJSvb3h5QraTSgz3qEuxuVLC/Vo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1400999},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"f75315a74476ed7ed4af5150b615d85ad70b844f","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_6.1.0_1786611814423_0.3208507453924938","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"@coderifts/agent-guard","version":"6.2.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@6.2.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"f08f64e67b6f811e43c3b29f64a59f2d400a7ce4","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-6.2.0.tgz","fileCount":228,"integrity":"sha512-1V11R8W6s3QwuFy4PLQ0rUtu598krBPOl6a9cwCoEOKZJINHSlGq5FpoNx3dht7oDT3Xum58xYClKLEPdYeY7g==","signatures":[{"sig":"MEQCIE8j2eN5zwicFaStJxkyguNA5NNfNzlonPj5MEBaE3IpAiAYsSWwPhaPdEWXf67srIlz9bJBnOt1W8uMTmu37QBgAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1463529},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"8d672d6a715804f946801781f57bb86fee94dddd","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_6.2.0_1786656293484_0.95291769495197","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"@coderifts/agent-guard","version":"6.3.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@6.3.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"932bbb22725c42d215944375aac93db453f2fa63","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-6.3.0.tgz","fileCount":260,"integrity":"sha512-qqUHXHj4zWhhC2X1Me36EAIAFr/WuVWYGeh/tNQUAh6/TSokj3rTK4Yz1+Lqwcot/L4G4cEkSdluVX0WbAGGqA==","signatures":[{"sig":"MEUCIQCzg2+deRA8ABk4NQZm/Vn0yBQ86cYSbg28tGIdtlUOSgIgQ1psrCv8c13g1AVWNzDO7KkYEZlOvnkciFV3a2LJmeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1593646},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"773bcb6f8c7d509ab0977fb8f1dbdfc914403bb3","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_6.3.0_1786723988576_0.1512862396555128","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"@coderifts/agent-guard","version":"6.4.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@6.4.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"6291c7459db3cea49ecb3492d654b3a56d1086a7","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-6.4.0.tgz","fileCount":276,"integrity":"sha512-fq3XqM5pz+upjFn3LYL2VXnDxw16K4ooQmIvmT7rawlfX5DLQ6jpqPtfay0KBlggzb2P6kKA6tPRmwYWMmNSeg==","signatures":[{"sig":"MEQCIELBh87P0ipr7CAC4NP/erRoebnobhZaEi2veMMTYbpgAiB85hpeeVR3suq99JIuk4E66YhSDG04p7Riiw1jXETLiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1715181},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"63d0480b21a5bea8a8e943dd77f72a6feef912d8","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_6.4.0_1786809686856_0.032723144178304686","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@coderifts/agent-guard","version":"7.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@7.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"65de0b3e7a1c15309133300f93f7ca60ed781080","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-7.0.0.tgz","fileCount":276,"integrity":"sha512-Y3ze+OO4AW+iOFvVKJpmB1T0TN4WjFEitkuy2RvOP/q/LyBsGCNaYirqrwFpg9o71npvYHF2Bzyu4WLJhRkEyg==","signatures":[{"sig":"MEQCIHXGD4Q38ThesvSjRl0XXFD9h0QVRisglyYLNHDX5mU4AiAD3z8/h119z0qhtRgfI1OvtflXcFZkcQnUQ8Ry+CxYlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1713724},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"8586634d7e2386a1912d19f89846ba3fa8b330eb","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_7.0.0_1787307400438_0.9392369086735246","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@coderifts/agent-guard","version":"8.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@8.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"45e536a3fc72b742542ee39336f4702e809434a7","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-8.0.0.tgz","fileCount":276,"integrity":"sha512-0AeJIrrFOraIyuF0ZFLK/97uCSlbLN4hiQ+QqK+DINxjxPFhaKRrZNNk8yJ1sLYtMWwQN3zhPO2c0+zH7y7mcg==","signatures":[{"sig":"MEUCIBiqvLzPatI7eomQ1zHa8DRzDQGJ9Bel//KV+k8i/CzbAiEAhUvHvHy7hqrJc44HC2ssp+V0HkOy1mpZg6i1wH3L3QM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1711721},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"ee433d2b8a3d5e5c13f49556312dae4104134edc","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_8.0.0_1787317681305_0.28910148292822213","host":"s3://npm-registry-packages-npm-production"}},"8.1.0":{"name":"@coderifts/agent-guard","version":"8.1.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@8.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"14e74bd348e67ea6ff08b807d5faf8bf6a2b3713","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-8.1.0.tgz","fileCount":276,"integrity":"sha512-5UT8w9iwEPzJmprUYHb8it1GTQsALJqkVJviTp1lLjDZgyyJVVOCrq5D9zvQiJpzxYmLUOuUH+DbYADvHgU9EA==","signatures":[{"sig":"MEYCIQCS5LFFPzu8zwkbrkE3D9SzeCxBC3wZd6rYJ1mVAQnshwIhAJPO8o0ZTcxvAO9R3gMBVUeZwjUzaIJ71TOLxBDxbPkU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1723719},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"bac8c179e5d4ab51504b20dc0c4462ee97c70ba4","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_8.1.0_1787348243879_0.5965863988180795","host":"s3://npm-registry-packages-npm-production"}},"8.1.1":{"name":"@coderifts/agent-guard","version":"8.1.1","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@8.1.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"f8b5d02d6e059364b83605c8896ef2d3432ec229","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-8.1.1.tgz","fileCount":276,"integrity":"sha512-sSkxiDA9S/FM7F63KO99Qdpn0nBOvfLanV6AQ2zK3Ew0/Xd9ISEiyv+q9GO8/9v7xMSpiD7OmsW8BMPWrih7vA==","signatures":[{"sig":"MEUCIBnU0QhJJeS1UOFYSIA9EIwkquL7pSuqgl2kfiTIZloQAiEAxH1tq2osYKznRjDkq1P/DvqKVEykPzXFYp2NvJDp3z8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1726342},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"9d855afb4eb14625a6afd8a66187785ae2f6d4e2","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_8.1.1_1787379554793_0.0014142429117360855","host":"s3://npm-registry-packages-npm-production"}},"8.2.0":{"name":"@coderifts/agent-guard","version":"8.2.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@8.2.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"54c910945ab2c91314ac6fd82984b41187d31cc1","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-8.2.0.tgz","fileCount":284,"integrity":"sha512-VCcS64/gSIkxZBkbVHyy66ex4XY1FwxsnxDYBkSOVmpDHIpTypCTwKLJ2vAdfEs7CpapJKg5ayM1RqR1W8WLbw==","signatures":[{"sig":"MEUCIFoBU+u6KiyidRLjM9NA/Yl33cjaUiyzZ7IK32HwHYT3AiEAheN6AHk4rfA+pY0xIm9hz/xajr63/6tD77oWwwejiFE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1787261},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"54b4bd719130d79ef86ec40dc4256828e2eb67a1","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_8.2.0_1787428623053_0.34168974490687165","host":"s3://npm-registry-packages-npm-production"}},"8.2.1":{"name":"@coderifts/agent-guard","version":"8.2.1","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@8.2.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"8d9ba698d635333b054ca8d8f217ce6efdda1497","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-8.2.1.tgz","fileCount":284,"integrity":"sha512-AIqoSNpTJlUDGbDW3fwMqmjgWp3jfSoYVKjaUDzzcIVt5QaxqkLrhhkYk2pgmXLFR+07zLRAcmxFLuef7X9Z/Q==","signatures":[{"sig":"MEYCIQDQlPur1O76dZweE5Cq1DcCgIumWYNi41uV+HvnCuFDJgIhAO0lpb/6Q1c7lA+UG9BccZ6/Q/F4lgbpIr+LjpQKd//n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1796332},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"b181c4e0313020702c3c88f477825aadea9b5397","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_8.2.1_1787468139662_0.5478841844593392","host":"s3://npm-registry-packages-npm-production"}},"8.3.0":{"name":"@coderifts/agent-guard","version":"8.3.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@8.3.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"727525918743d30c5cee8cb5f493736848317bd6","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-8.3.0.tgz","fileCount":284,"integrity":"sha512-NCDMXynPz2sJbfjGtacPmDps6UXlnHjIrNANJaDQT5duF4h/2bTKlw3EnFRkDOrXWOnHlG+LnAGji4NrTxfK5w==","signatures":[{"sig":"MEQCIDuK9ixLZ1xMo2HwgP6Qn088drMmnGCi2YNt0rwgf3bNAiArDv+/D5i/w2Gp4uLTC5pEFoomn5IeJyuOezIPiXOYRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1798869},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"8ec0a6c6653441d6c4442359f02a8734b9a24283","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_8.3.0_1787491554712_0.06028810318082556","host":"s3://npm-registry-packages-npm-production"}},"8.4.0":{"name":"@coderifts/agent-guard","version":"8.4.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@8.4.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"45669d68341cd999c4f6814553fd8faf75f15c92","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-8.4.0.tgz","fileCount":292,"integrity":"sha512-0BXsRpqBZekujtEmrlzneFzHe9MKk/AM41UWAKry+//5XY7ZptZzVolWKNkpUX7t2Ga3y3S0OD63AMLuRFEobw==","signatures":[{"sig":"MEYCIQCkKf9BwKFbJQq8lPcBdy1nZpgOX9tWNtUcTPVNY551ZAIhAL+0Ta8U+hsArA98OrApM9Vb3j43oc/KiYlYY0NA+a/y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1870956},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"9d2e09b5e0032bd861af1a4b2a30cf322c7013e7","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_8.4.0_1787504918948_0.8535272960835336","host":"s3://npm-registry-packages-npm-production"}},"8.5.0":{"name":"@coderifts/agent-guard","version":"8.5.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@8.5.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"ef3874ce79c083a1c6c8dbfb608e3698cd9df104","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-8.5.0.tgz","fileCount":308,"integrity":"sha512-GMKMOcCpGkhcv5ea0Lw8x+8+N0M2xx0XBKCI+fNhOL6uOjXOprQoULlcCpsYmfydZKzp6C99lMmoWqfmqvBuRQ==","signatures":[{"sig":"MEUCIHa+K/tk4RdLrJOjCU/ahAP5+gkGMmozfEuXsBkhnovyAiEAvEBZOVWrKswmU18zr5PJI4FWeDxxd0gfL9Kten4eX4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2011696},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"1ab3b580f5e14aae62d12e672316447fa2171a59","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_8.5.0_1787522434454_0.9640937637511473","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"@coderifts/agent-guard","version":"9.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@9.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"3dd3542f4b728cd3e126c0f2094284372c8d4ae2","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-9.0.0.tgz","fileCount":316,"integrity":"sha512-4b5NaN9uOcKOk//avx5JaHDgiCpAHRDfoQLm5hTiuG1pdNuc0o45xoEXwNaDGIcdcPkiyMmdll1A0cE7HYGKVg==","signatures":[{"sig":"MEUCIByBYLsyboSYpnnStPCOIo3zs8ajtl66ue2MmCMj2UNBAiEAyAdlFEXyT2zUYyeg2H83dcZPZLNcEmZ3I6v4WSTNqgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2077472},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"fac541f27d03baf48337b26ed9cac4ea585a3ccc","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_9.0.0_1787555713481_0.2235236440325512","host":"s3://npm-registry-packages-npm-production"}},"9.1.0":{"name":"@coderifts/agent-guard","version":"9.1.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@9.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"e345f004785db8eebc38cc0b72183af0e3f7e785","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-9.1.0.tgz","fileCount":316,"integrity":"sha512-fBIREK3QU4LzWfWtQGDM5DznEtMHoCj7v3WdDmdi2YAtJ7RcmuJTskDubisizaCin+UQ7ko4XjIeJKDSqMbH+Q==","signatures":[{"sig":"MEYCIQD5u4+Oe38IKeUOSgqK0L+K5pdO3r530XGfuIBEnFFEggIhAOnnIst7J3HjBdpxVhHHLvcDlP1MHP4giXqaqTkUNWiF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2098617},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"fad21dc45a50a4e542e2061f9b54a10c2badc8b8","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_9.1.0_1787564933644_0.5512881495771842","host":"s3://npm-registry-packages-npm-production"}},"9.2.0":{"name":"@coderifts/agent-guard","version":"9.2.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@9.2.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"80d82a6ab15655a21ae9015773656306fbb288d3","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-9.2.0.tgz","fileCount":324,"integrity":"sha512-7xWKoWjhsBdf28mUGCGnvYp/v6cOWLnxRRszbVSpJ8ASpslqxMIXLuAwfo9SE0EJvtYtGc+Tc1N+ZRKEYxhLKA==","signatures":[{"sig":"MEUCIQDvAdW3HfoI9hw5jV3nYZ+lviRlN/mOBQ6Lg98X53i39QIgFdRJQ+94Xl34DLnkjvN4qNBntJa1rkENa34BFpaVcsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2134738},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"52eeb425d7afb357b8088262990e5fd98a73b07f","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_9.2.0_1787572418316_0.14391250189533555","host":"s3://npm-registry-packages-npm-production"}},"9.3.0":{"name":"@coderifts/agent-guard","version":"9.3.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@9.3.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"a43e13f8f368219908a16b7cb39f2e719064fe5f","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-9.3.0.tgz","fileCount":332,"integrity":"sha512-mFT/3C2iitpTLyJ7aPW2/RXrHQGDLYRr8pNRjnLvwOv9UB1JZmrIVzt/IEmqwjpikkuo5LXqp1/MM/W8g5rulw==","signatures":[{"sig":"MEUCIEdfem283/WjWSx/dPHi67Z0Xz7cQM8Y8RQCOz83FkrgAiEAmvV/nE+glZulk7+TL8jF84Hkou7CCeTuRfhd5zybfOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2174858},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"dbdb5b75e8db609b26361b510e984a4a201f6e69","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_9.3.0_1787579463365_0.45864915966124253","host":"s3://npm-registry-packages-npm-production"}},"9.4.0":{"name":"@coderifts/agent-guard","version":"9.4.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@9.4.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"7d97af66b5bb10fa60c1ec6dbdc543190c822cb7","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-9.4.0.tgz","fileCount":348,"integrity":"sha512-/S0x/se2SqqIugV+FvBFDJm13gNto68Qfp9Fj3RfOKqflV9hrsqWbpDcJU8K2vADXG5VAj4FpfBJwYLgYrq/Yw==","signatures":[{"sig":"MEUCIQCLf+jJGr8RRjioASvxSUIGa7YV5BjHw/sywbv60/I2iQIgOUg7/aP2+xSg9Vd6q3tCfzjPz4kE0tDn/c0NGQI6kf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2210852},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"e0ab7e50919faac32e7ac35b007b8b350fd272b4","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_9.4.0_1787598931326_0.22075416252912228","host":"s3://npm-registry-packages-npm-production"}},"9.5.0":{"name":"@coderifts/agent-guard","version":"9.5.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@9.5.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"97083961c784e3c819c65ccbaba463d32fbe0008","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-9.5.0.tgz","fileCount":356,"integrity":"sha512-pyAIB31pABK59U0+ZGk+5COL/nEAWA0Ha2bZJvxE1c4+g3XIEIXRewHJpSnegdjtXvfW8tLPyYxklwSovw3xIQ==","signatures":[{"sig":"MEQCIBx+CRttAzG9X4HkUD5jrKmVPGBMDSwkYuic1up/E44ZAiBsPYKefMzMI2r+YMar2RvKEP2722tut6ir9hRe951aew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2254556},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"1210223bd49d9bfd4090edfaac7c38d161409f07","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_9.5.0_1787602304748_0.9484182204467932","host":"s3://npm-registry-packages-npm-production"}},"9.6.0":{"name":"@coderifts/agent-guard","version":"9.6.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@9.6.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"bcbc93d932bf8a4b41b1cfbc974a543efd29158f","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-9.6.0.tgz","fileCount":364,"integrity":"sha512-dGnVTNI/4+xv3m/onpH/nFfyCSMRQUp8e1nuSf8kc5dQJu+Bj+jb9p+7dVoZOzg8wPTnHtLEJoAqn0LndW1hLw==","signatures":[{"sig":"MEUCIFdnTKM7nYO8YB1JLrHoUT80W//DcepaZldzqjg+tRyYAiEAtn1KHT0w8zhRSmttrCYh80iZlBQq7wKo1L+tT6QBWBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2289670},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"7a932df762ebddeb1ec2c2ed28a332cd7e2558fb","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_9.6.0_1787673176580_0.9469075718775686","host":"s3://npm-registry-packages-npm-production"}},"9.7.0":{"name":"@coderifts/agent-guard","version":"9.7.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@9.7.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"e601f6ea58950672dcfd6d60146bf48a74e4c30f","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-9.7.0.tgz","fileCount":372,"integrity":"sha512-aovrcNGfxvzCrgJTJ7H1y+mnwbO2HHWM42NLT0h7UkmrhoRPuS3JRIlURRXDKXfNS+DvCmVEbeY9c7UYBmh1qw==","signatures":[{"sig":"MEQCIFnb6mus5UZKutICE28r0mkv2pZGWMjDexqqg5iTduBNAiAJXXkEq6RpnmLVJBOog2l62lZj4KpTtrFi5aik5F9y7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2321561},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"f16d8a3580c1939356ef33f50ec9f3d151302571","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_9.7.0_1787689219158_0.49281418308462244","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@coderifts/agent-guard","version":"10.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@10.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"2586ddf6c198d2989328e95e8e832619e4ff8b91","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-10.0.0.tgz","fileCount":380,"integrity":"sha512-QEqkGwaQO0EIAxlVkhOATYdNoFhcjYMBBgRZYBzmyWx4F0/v6gOhqko9EBU8pwQT1JnpHj5szX7mDwfkD5x2YA==","signatures":[{"sig":"MEQCIEaQL5N3IRdkRKTPfpe6lWTWSkpipJxF60Bx2niVNJFoAiA7IxWBCmXBApD7tXIjJxujWMoAtp6eZjtPnIX1ucnP7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2385231},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"a9db58eb9f5b7b4f698a6d9477dc8064412bc947","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_10.0.0_1787733138088_0.16222498640556737","host":"s3://npm-registry-packages-npm-production"}},"11.0.0":{"name":"@coderifts/agent-guard","version":"11.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@11.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"a3ba40b310a5c897dcf29ca90e2ae77fd33a37de","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-11.0.0.tgz","fileCount":380,"integrity":"sha512-TWiPJCaqDLxKIkVjn7DeC4kzBSvx+xpTd53RYVKOg6NBneHFZTFAjaYGZ2Jo24aE3MVlA9WTSluEHp7UqwW2fg==","signatures":[{"sig":"MEUCIQCVSjlUdzvid65AjO6MHaGZLBNFP744ZD2m/YJSP9Lj9wIgKw7MrKiDLbplH7qE/iJuK7/tglY9EjBA0hkDahMNr5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2389779},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"3dd7c1aa0f8e83b9053716f1a2717d0be81588af","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_11.0.0_1787763006139_0.9829383612936005","host":"s3://npm-registry-packages-npm-production"}},"11.0.1":{"name":"@coderifts/agent-guard","version":"11.0.1","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@11.0.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"c47ae37f8277c53272542cfe2bd8281291730122","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-11.0.1.tgz","fileCount":380,"integrity":"sha512-isukXIXr4l9RkR49lsEorucuEOUorWjOPktVZ5BARkwl6bFlTLl9DVxfR8Lqj5WnWpPa9NJQRXGA6iqp3oJcVQ==","signatures":[{"sig":"MEYCIQCeym/xx1/jBDXuJ5lG/DfWkyV2P1qhHAlNtHeHkgsACgIhANN55DD1kHDleaiqcKLNZgr68hNGJ6CZDeS1WyoRkqe9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2391433},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"05102a3855519ae6a999771e35b50f30ce36aeae","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_11.0.1_1787771648627_0.9638135839274773","host":"s3://npm-registry-packages-npm-production"}},"12.0.0":{"name":"@coderifts/agent-guard","version":"12.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@12.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"46384b119ea91b89c909a02642c5154423447f6c","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-12.0.0.tgz","fileCount":381,"integrity":"sha512-bqyOfFQbB8gRITIpA7Npa6wzrtjlGNuxPBJbqKpa/7WfYi/oVq/wniUHCDLM3zxpnGLEU0CtATUCatL0CLZjcg==","signatures":[{"sig":"MEUCIDoWsu2wXiDxWStkv2AAi26fce3xn2VA3teZ9D4WAuQuAiEAl40PhT3/dvyrwypRR8Sg62SKsm6Iwr6iLa/IN12N1JU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2412593},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"333e045397ee3b1941ba3497b38b16fe9f9c3a1d","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_12.0.0_1787814181271_0.13145817243088964","host":"s3://npm-registry-packages-npm-production"}},"13.0.0":{"name":"@coderifts/agent-guard","version":"13.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@13.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"d8d444703d3b98de4ba3b239fb074cf2bad3f115","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-13.0.0.tgz","fileCount":381,"integrity":"sha512-/fcL2hYT7HGY4o+/ymO40JHpBSMCMbOgFJNpnnuzwEbP/WOLOvwYAKQM+JVVzT6YiDyijmuP0xQ4CJnOUdHhvA==","signatures":[{"sig":"MEUCIQDYM+NBSR+MOeKHIi0HKNWVy83pgSItQ7N2oICKXIY/SAIgYycJ8znvCKjcz3Jmnq/1+UKIz08vQuvI1D5vXKmfmSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2469290},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"cb0f421c1de0661e1f8c26c8310214a6e68a53c5","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_13.0.0_1787822427950_0.765681690686151","host":"s3://npm-registry-packages-npm-production"}},"14.0.0":{"name":"@coderifts/agent-guard","version":"14.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@14.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"7bef1b2a8f396c9028207512b90e9c7fd62d5d5f","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-14.0.0.tgz","fileCount":389,"integrity":"sha512-eOTmV/FJzDEh/vga4AjXmb3UgQ44KznHWTCEwIXwqGZg5s9SHjudtiSbXnc08wQ+1jZ1qkSbQXfPlSEUtWsI+w==","signatures":[{"sig":"MEYCIQCMmBcKFnJbX+mJurxraXPnNbQLninRbb5kpX2r646HtwIhAIgRXyikJ5HWg80PGWMuwLlgZb43ABRlzsdznTlDwDwc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2523867},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"96849698c3d6da055c5bcb96739bbdedcbed206f","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_14.0.0_1787924861723_0.423578014856518","host":"s3://npm-registry-packages-npm-production"}},"14.1.0":{"name":"@coderifts/agent-guard","version":"14.1.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@14.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"b5cb07d7a47f8d91cbc0434c9c1f796e3a133403","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-14.1.0.tgz","fileCount":405,"integrity":"sha512-okCTZXoo0aDqVoyTUAf29Fh/xfnp33xSVR+bi1/NfWxKVen22brW0mco0ia+fAxGTWIU107lQFOdmPcZOt/Ywg==","signatures":[{"sig":"MEYCIQC8oQE1b7+Ib7wqj5ayi+yCScATRft96fIumbrrU8NDHgIhAL0+T1eJv9NkD3YsGRU3O0vjPwRAyBlBV0xmZtp2U7lv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2647363},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"29ed09b9112fc70a30637b55df247de69a3e9aa0","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_14.1.0_1788000167520_0.9407101665858733","host":"s3://npm-registry-packages-npm-production"}},"15.0.0":{"name":"@coderifts/agent-guard","version":"15.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@15.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"1f47b6007eabe08ca91014d54d8b7bfeb41fb21b","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-15.0.0.tgz","fileCount":413,"integrity":"sha512-FJPHp3U4ekNeKFzqOBfhkndn8DBRS/yRLpefi3oYHpePNBrCfwV2g8UrAFFyuHofoqLbFKFNOl6kmYKHKalSag==","signatures":[{"sig":"MEYCIQDmB4VJtevZIzxU3aKFfFsBL65XYd6cUGcqdZu4SvK+ZAIhAPbvhnYH/0z0YiC35UEFl60tFD3rmQ6SCsrr5JsvlDP9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2740252},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"5944719bda3313112995bd8f9a210d3b6c6f6d88","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_15.0.0_1788268326525_0.12429265260231492","host":"s3://npm-registry-packages-npm-production"}},"15.1.0":{"name":"@coderifts/agent-guard","version":"15.1.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@15.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"31731dd9294e56bb5ec65b6b3347b28f9acbda70","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-15.1.0.tgz","fileCount":437,"integrity":"sha512-90cSaDiWdDTmc7ncccK1CkHR40LOyg2EvomYsQVzlbF1omFE7ClupAC3977LHDb0Wc+qoIu1e2Dk9vjV7ikI3w==","signatures":[{"sig":"MEUCIQD64fjVoA6R+KjuVyaxTTE5+CGoN0yFOOYVI/82mLNSsQIgPHtilCydW5n8fiaTbWvdxj/Nrd2zWeQ7fQ5BBgQiTgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2825934},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"314507dd10b1fdc63979cc6906a074d20ba8dc0d","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"^3.10.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_15.1.0_1788297256873_0.10314125394940765","host":"s3://npm-registry-packages-npm-production"}},"16.0.0":{"name":"@coderifts/agent-guard","version":"16.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@16.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"f0549a9a4113586cab6d2dc4ba677aa41b595df8","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-16.0.0.tgz","fileCount":459,"integrity":"sha512-+4HiYOhDd0EhyAJbSDP0sJkSIJiR7aElm+Y4EEzuHgIVaeeZpixkTTHDX8ohVT0pUEVnxM+p3ODVdCmTcDcwlA==","signatures":[{"sig":"MEYCIQCuN/GEhhImL2PyXkIKwTnXavJ8XfjOsCJQyVnNR6ydRgIhAInw5wcz0rI+Bw/7W6tcFn8pj4FLDQWTdFjqXFZREH0t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2940026},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"37cd99095c2af5bd726c38ed9e262fdc7510b7a9","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_16.0.0_1788610562949_0.40677449038156066","host":"s3://npm-registry-packages-npm-production"}},"17.0.0":{"name":"@coderifts/agent-guard","version":"17.0.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.0.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"83cd47cfb99fc541db67448ff052b4fb1746425c","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.0.0.tgz","fileCount":459,"integrity":"sha512-01C8hEhEada3HUg0iySrgiw/kG28yoaylr/9I03JlRSqz0hYcGXfIeFmxu1+u6HePeQGjhSKGoARl6kF5ioOwA==","signatures":[{"sig":"MEQCIHfxcMQyX3qHU6XtJn/PuLeCBAZvECEdN1cvahdT7hRmAiBdGEPSm+g/OJAnsFq/o2hnzSsY9lr/NxKbtCVG+yfq5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2946919},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"87a83f8fa2460bba9ace72f3c43197e58ebeb4a1","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.0.0_1788624109312_0.9594699659778969","host":"s3://npm-registry-packages-npm-production"}},"17.1.0":{"name":"@coderifts/agent-guard","version":"17.1.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"90ebfd51b3ce73051ddfee4d9c6a46169a7cf82d","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.1.0.tgz","fileCount":459,"integrity":"sha512-pk6v9nhydWlpXS4VBrsq0BazARZv1fSt/HUfjqlig5GeE5UtVEBPoFfRXcyjEgtrmHi5CzZW8xCT9kn3JDJH2Q==","signatures":[{"sig":"MEUCIBakfedThxuHGfecDLPEPdcPq8Llqjj5ByeOFWP2AgqAAiEAsx+2paqdVjX/UOeDEDN+rkegczhyCoeCSxGElKRBJgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2953815},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"3f9f4fbb42b50bda16d46efcf3ccb629d56c70ab","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.1.0_1788634291116_0.8785082902682182","host":"s3://npm-registry-packages-npm-production"}},"17.2.0":{"name":"@coderifts/agent-guard","version":"17.2.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.2.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"1e8fb4d58e5f7b012b9b89b5c4f253f4e9660fab","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.2.0.tgz","fileCount":467,"integrity":"sha512-e0By0RGTZsuffWWazyz0BCHYLXR3Ef9eA6jXVEb9kmLwpMHGoADrce2ubIkEqypOcxpm4xYJKz831wxc5tUoYg==","signatures":[{"sig":"MEQCIHaG962QUVsQrfCRovXB295PnU8EByjMZS2p88CI/hbzAiBhlJ2ElWTPGSHtvQ+SC95U2pXx/Knjt1P++hFIZ9dp5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3052193},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"ab902201596418045f7f3e0dc75e49b68e46e2af","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","check:packed":"node scripts/check-packed-install.js","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.2.0_1788719898175_0.624301293235539","host":"s3://npm-registry-packages-npm-production"}},"17.3.0":{"name":"@coderifts/agent-guard","version":"17.3.0","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.3.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"e9afcc588091c90a4bd63d12a9c768a838e5705c","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.3.0.tgz","fileCount":469,"integrity":"sha512-VswTRUMPd8ciVaNIO3EgIBO7ddkFS6UUIfStgCulN9XJ7CbjYKVlmr9+qCZWGFPfgg1WXbHALtdadRU6MTu0RQ==","signatures":[{"sig":"MEQCIDxx0YEMMeCQv1RVgFFRp+tG/nueEQGo3GtLBFNp7kKTAiB+z3TSjbDwPq889+pu2fGYhXgxowQCH4VmWgDfr9EEJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3110683},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"81ce2570c80bf965369ea2117f58abf83bf9febc","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","check:packed":"node scripts/check-packed-install.js","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.3.0_1788770099026_0.97736209464522","host":"s3://npm-registry-packages-npm-production"}},"17.3.1":{"name":"@coderifts/agent-guard","version":"17.3.1","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.3.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"75e25b958302a9098b2fa1c5f493450137ce3fda","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.3.1.tgz","fileCount":471,"integrity":"sha512-+c/xGFwFnwY2wZh/GZwxI5fZYlb+UF0CVjQdYe2an4udESWIE6L06JOgYtPqyQARrIFtSoDZSkC3iMoVZA/HHw==","signatures":[{"sig":"MEUCIDRpNFGms66l+mfcDPC+ajEtToBFvwG3Ek9Suprz9E6oAiEA4AxVoEmaR94bStwPxL0cz9ZVWGbacxGNF3joHQjOVes=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3182755},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"094f60e3099494514b0ddc3d9e8a402c5003e2ef","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","check:packed":"node scripts/check-packed-install.js","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.3.1_1788965470132_0.8354779841422231","host":"s3://npm-registry-packages-npm-production"}},"17.3.2":{"name":"@coderifts/agent-guard","version":"17.3.2","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.3.2","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"6f3d6d2ee83bb8fdad4363fb1e8e7429506510d7","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.3.2.tgz","fileCount":471,"integrity":"sha512-QhH0ZAq4HRchRgsXr2ELZs1Bdgn34l7Js7a5Y1nGHZNIc7FkeBcu8J5RV/Qxne7+xLaxMeQd7XSmCgH8JG7TUA==","signatures":[{"sig":"MEQCIHRPNo/sO3FbxhvDAG4t06hTGDDvGy/jISHJmPAMNF0FAiALUoWh036xFmRf/suI+g1U71BJW1uhRq/7On7GIPflYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3184683},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"d1649a54dcf0f81060c83a8e455f5f7d281cc1f8","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","check:packed":"node scripts/check-packed-install.js","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.3.2_1789022438084_0.6035882243291244","host":"s3://npm-registry-packages-npm-production"}},"17.3.3":{"name":"@coderifts/agent-guard","version":"17.3.3","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.3.3","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"3ac2dd3f951ad7fb77ef047152a91f719a2fbd2b","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.3.3.tgz","fileCount":479,"integrity":"sha512-ACAzgjPYUIXh0iYSb7yIMFpZU37aJsrcmvW5f3kyjMsJB6lQ1laW/ogPev0ht9RT/zoViscbe7TofN33r9WCKQ==","signatures":[{"sig":"MEUCIQDwh3BaPC/NPlnBrBSCnCac7qmItgSPxW4qJLuY3pBVVgIgLoLEvNn+rIvLiYgS6t3MqpdzleJBcYwxm3cLHvVBOSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3222519},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"b11a82c72b46ca3d8fc89ec1608b95cd9ba792b7","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","check:packed":"node scripts/check-packed-install.js","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.3.3_1789052635121_0.40153830754045083","host":"s3://npm-registry-packages-npm-production"}},"17.3.4":{"name":"@coderifts/agent-guard","version":"17.3.4","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.3.4","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"9d4045547715422e22d0e2b09d17edc19c321fb4","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.3.4.tgz","fileCount":479,"integrity":"sha512-yVSZVsoF2m6PRNKIPcYQB8Ph9NLiS6wEOYOLIlkyGZXdbfcLtTNlOs3cqQZHTVN6tc+01CVDYr079xlOxeTMCQ==","signatures":[{"sig":"MEYCIQCxdYJ0Z69Cq+6ve1+iAze9BcwYSDjMIeP/r58FUeaS0wIhAOef+IsOi/wZw+wErd3ldJPQCpIdJjOBMr+I8DwyG5uk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCoxQ0aHtLPobLoLGcNDS0BtlVuxvQuXS1CY7nTD+hQgQIgQAyyOD8wDM94dlCvk6QiMhChnaOBk43iGbvdhk/2DeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3240171},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"e5b33dfec9be6e38dfb3328f8ee65c34d12c1913","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","check:packed":"node scripts/check-packed-install.js","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.3.4_1789798761643_0.8531277580928462","host":"s3://npm-registry-packages-npm-production"}},"17.3.5":{"name":"@coderifts/agent-guard","version":"17.3.5","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","_id":"@coderifts/agent-guard@17.3.5","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://coderifts.com","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"1cee6d427a2c9256cc1b4e6d3dd5cc7d9645d784","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.3.5.tgz","fileCount":479,"integrity":"sha512-PcjtL4AaxZn2sGDS9S6UOfW2hLO3nMPrFThHXdy6POwhOFH5JrJKM9Nc7120MqaA6i+65qvsS5gjVMjjzWmOaw==","signatures":[{"sig":"MEYCIQD3Aa18lB1qRmr5579cqxlhqEbc1O1BTRbBP9ER8NAmkgIhAPIO+SVcBhSHMkupeOjvDrkqHrjcxaMqDS85r3d8LsS2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDkTfsmN3Psaky9jpj2B2VoZWvWwNKXLUlZwnuAodumWgIgX3KC9ds/ESQuSeWG+6kAan8fcLITeSl70QYy2TS6UjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3241874},"main":"./dist/cjs/index.js","types":"./dist/cjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"5ba21f47e3f119c08f43b2dcb3058b9e3e50f956","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","check:packed":"node scripts/check-packed-install.js","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-guard_17.3.5_1790018944035_0.3383772046409379","host":"s3://npm-registry-packages-npm-production"}},"17.3.6":{"_id":"@coderifts/agent-guard@17.3.6","bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"dist":{"shasum":"918542372069e6292c6327e3367a3d0be566160b","tarball":"https://registry.npmjs.org/@coderifts/agent-guard/-/agent-guard-17.3.6.tgz","fileCount":479,"integrity":"sha512-XkPiW1KatXNq/U1wJb2w1yXzYHi5TXss5Ez2KT7/BR35mQngyIbiEy5KItnsAxTLYi4eolLBdUwC+1lfFWQsxg==","signatures":[{"sig":"MEUCIEdjDt9d8UzEawGw/9wMFMzKd9GFN09IS3V28T883SBkAiEAkno7SRDi7L7AIuaAwMCmvo3iDzBidyWw+v4Y2Gw7qVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEjmMVkuL8fpn9QNiK4q8h8qE8jnH9d3bOwuxEBCXBMAAiEA0JPmBxxY33WyKgsu4tZMSG1QntGh0eegqMtYY8KAqic="}],"unpackedSize":3242466},"main":"./dist/cjs/index.js","name":"@coderifts/agent-guard","types":"./dist/cjs/index.d.ts","author":{"name":"CodeRifts","email":"hello@coderifts.com"},"module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"416359486fa6c81624c5f482e814811a211c2406","license":"MIT","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test test/*.test.js","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:vendor && npm run build:markers","clean":"rm -rf dist","prepack":"node scripts/publish-package-json.mjs strip","pretest":"npm run build","postpack":"node scripts/publish-package-json.mjs restore","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:vendor":"node scripts/copy-vendor.mjs","check:packed":"node scripts/check-packed-install.js","build:markers":"node scripts/write-dist-type-markers.mjs","prepublishOnly":"node scripts/assert-changelog-version.js && bash \"${CODERIFTS_APP_ROOT:-$HOME/coderifts-app}/scripts/freeze-gate.sh\" && npm run build"},"version":"17.3.6","_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"homepage":"https://coderifts.com","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"_npmVersion":"11.6.2","description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","directories":{},"maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@coderifts/sdk":"^3.10.0"},"peerDependencies":{"@coderifts/sdk":"^3.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-guard_17.3.6_1790537495466_0.14398538263303928"}}},"time":{"created":"2026-07-26T14:37:43.817Z","modified":"2026-09-27T19:31:35.801Z","1.0.0":"2026-07-26T14:37:44.054Z","1.1.0":"2026-07-28T13:16:48.065Z","1.2.0":"2026-07-29T11:05:25.498Z","1.3.0":"2026-07-29T12:03:22.451Z","1.4.0":"2026-07-29T14:08:16.375Z","1.5.0":"2026-07-29T16:27:26.548Z","1.6.0":"2026-07-29T18:25:31.253Z","1.6.1":"2026-07-30T13:16:19.641Z","1.6.2":"2026-07-31T20:15:32.725Z","1.7.0":"2026-08-02T20:01:41.875Z","1.7.1":"2026-08-02T22:41:44.387Z","1.8.0":"2026-08-03T20:59:29.297Z","2.0.0":"2026-08-04T20:00:42.776Z","3.0.0":"2026-08-05T09:25:19.919Z","3.0.1":"2026-08-05T17:08:53.731Z","4.0.0":"2026-08-07T20:04:46.048Z","4.1.0":"2026-08-08T09:32:51.310Z","4.2.0":"2026-08-08T11:03:38.280Z","4.3.0":"2026-08-09T17:08:31.973Z","5.0.0":"2026-08-10T09:01:59.262Z","6.0.0":"2026-08-10T21:04:56.181Z","6.1.0":"2026-08-13T09:03:34.558Z","6.2.0":"2026-08-13T21:24:53.634Z","6.3.0":"2026-08-14T16:13:08.725Z","6.4.0":"2026-08-15T16:01:27.038Z","7.0.0":"2026-08-21T10:16:40.609Z","8.0.0":"2026-08-21T13:08:01.446Z","8.1.0":"2026-08-21T21:37:24.041Z","8.1.1":"2026-08-22T06:19:14.956Z","8.2.0":"2026-08-22T19:57:03.212Z","8.2.1":"2026-08-23T06:55:39.820Z","8.3.0":"2026-08-23T13:25:54.859Z","8.4.0":"2026-08-23T17:08:39.097Z","8.5.0":"2026-08-23T22:00:34.626Z","9.0.0":"2026-08-24T07:15:13.648Z","9.1.0":"2026-08-24T09:48:53.768Z","9.2.0":"2026-08-24T11:53:38.480Z","9.3.0":"2026-08-24T13:51:03.587Z","9.4.0":"2026-08-24T19:15:31.537Z","9.5.0":"2026-08-24T20:11:44.991Z","9.6.0":"2026-08-25T15:52:56.728Z","9.7.0":"2026-08-25T20:20:19.375Z","10.0.0":"2026-08-26T08:32:18.242Z","11.0.0":"2026-08-26T16:50:06.287Z","11.0.1":"2026-08-26T19:14:08.767Z","12.0.0":"2026-08-27T07:03:01.410Z","13.0.0":"2026-08-27T09:20:28.118Z","14.0.0":"2026-08-28T13:47:41.891Z","14.1.0":"2026-08-29T10:42:47.677Z","15.0.0":"2026-09-01T13:12:06.658Z","15.1.0":"2026-09-01T21:14:17.027Z","16.0.0":"2026-09-05T12:16:03.109Z","17.0.0":"2026-09-05T16:01:49.470Z","17.1.0":"2026-09-05T18:51:31.295Z","17.2.0":"2026-09-06T18:38:18.344Z","17.3.0":"2026-09-07T08:34:59.155Z","17.3.1":"2026-09-09T14:51:10.281Z","17.3.2":"2026-09-10T06:40:38.241Z","17.3.3":"2026-09-10T15:03:55.346Z","17.3.4":"2026-09-19T06:19:21.737Z","17.3.5":"2026-09-21T19:29:04.152Z","17.3.6":"2026-09-27T19:31:35.588Z"},"bugs":{"url":"https://github.com/coderifts/agent-guard/issues"},"author":{"name":"CodeRifts","email":"hello@coderifts.com"},"license":"MIT","homepage":"https://coderifts.com","keywords":["coderifts","agent","guard","governance","ai-agent","tool-safety","fail-closed","preflight"],"repository":{"url":"git+https://github.com/coderifts/agent-guard.git","type":"git"},"description":"Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"readme":"# @coderifts/agent-guard\n\nFail-closed guard for AI agent tool calls — preflight contract changes before they execute.\n\nSecurity core **FROZEN** (agent-guard-api v1.0). Built on [`@coderifts/sdk`](https://www.npmjs.com/package/@coderifts/sdk) `^3.0.0`.\n\n```bash\nnpm install @coderifts/agent-guard @coderifts/sdk\n```\n\n### Host git wiring (example in-repo, not in the tarball)\n\nThe package is pure: `resolveArtifacts` reads a host-supplied `blobs` map keyed by\n`blobMapKey(ref, path)` (`${ref}:${path}`). Git I/O is the host’s job.\n\nA **worked example** (injectable fake git, offline-runnable) lives in the git tree at\n[`examples/host-git-resolve.mjs`](./examples/host-git-resolve.mjs) — it is **not**\npublished in the npm package (`files` is only `dist` + `README.md`), so the tarball\nstays free of git/fs. Production PR artifact derivation:\n[`coderifts/contract-gate`](https://github.com/coderifts/contract-gate) `src/artifacts.js`\n(do not copy it here).\n\n**TOCTOU is unclosed.** Resolving content proves what was true *at measurement time*;\na host that then writes unconditionally still races. Neither the example nor this\npackage supplies a version token or conditional write. An **opt-in** execution-state\nrecheck can *detect* (or enforce against) drift between the authorized change set and\nthe artifacts still held at execute time — see **`requireExecutionStateMatch`** below.\nThat is a detection/enforcement aid for the residual race, **not** a full TOCTOU\nclosure (hosts that write unconditionally still race; conditional write remains host-side).\n\n```typescript\nimport { guardToolCall } from '@coderifts/agent-guard';\nimport { CodeRifts } from '@coderifts/sdk';\n\nconst client = new CodeRifts({ apiKey: 'cr_live_...' });\n\nconst outcome = await guardToolCall(\n  {\n    toolName: 'Edit',\n    arguments: { path: 'openapi.yaml' },\n    // Supply the contract change as artifacts[] with before/after content — this is what the\n    // server preflights. `id`/`type`/`before`/`after` are all required for each artifact.\n    artifacts: [{ id: 'public-api', type: 'openapi', before: baseSpec, after: proposedSpec }],\n  },\n  // The mutating work is created ONLY here, after the verdict — never eagerly. That closes the\n  // EAGER-EXECUTION ORDERING hazard (work is built after the verdict, not before). It does NOT\n  // close the measurement-to-commit race: see \"TOCTOU is unclosed\" above.\n  async (envelope, redactedCall) => applyEdit(redactedCall),\n  { client, operation: 'merge', environment: 'production' },\n);\n\nif (!outcome.executed) console.error('blocked:', outcome.verdict);\n// Retry ONLY when outcome.executionAttempted === false (the safe-to-retry signal).\n```\n\n#### `requireExecutionStateMatch` — T2 execution-state recheck (guard@8 default ON)\n\nAfter a fully enforceable ALLOW/MONITOR decision and **immediately before** `executeFactory`,\nthe guard recomputes the execution-time change-set fingerprint (crbundle.v1 over the\n**current** `artifacts[]` the guard already holds) and compares it to what the receipt\nauthorized. Config field on `GuardConfig` (tri-state):\n\n```ts\nrequireExecutionStateMatch?: boolean | 'warn';  // default: absent → true (enforce)\n```\n\n| Mode | Value | Behavior |\n|---|---|---|\n| **Enforce** (default) | `true` / absent | Rechecks. Content mismatch → `EXECUTION_STATE_DRIFT` (factory never runs). Missing authorized fingerprint or missing artifacts → `EXECUTION_STATE_UNMEASURABLE` (cannot assert; STOP). |\n| **Warn** (opt-down) | `'warn'` | Rechecks. Emits `execution_state_drift_observed` (loud) or `execution_state_unmeasurable` (quiet), then **runs unenforced** (`enforced: false` on mismatch). |\n| **OFF** (opt-down) | `false` | No recheck (v7 proceed-on-drift). Factory still runs. **`enforced: false`** — the check was not performed. Emits `execution_state_check_disabled`. Must be set explicitly. |\n\n**Two warn signals (noise-split):**\n\n| Event | When | Meaning |\n|---|---|---|\n| `execution_state_drift_observed` (loud) | `reason === fingerprint_stale_at_execute` | Authorized fp ≠ current artifacts hash — real T1→T2 content drift. |\n| `execution_state_unmeasurable` (quiet) | `missing_artifacts` or `missing_authorized_fingerprint` | Nothing to measure — **not** evidence of drift and **not** evidence of safety. |\n\nQuiet unmeasurable must not page as drift. **Opt-down ladder (safe-by-default):** default/`true` (enforce) → `'warn'` (observe, run unenforced) → `false` (off). `false` is supported with no timed removal.\n\nWarn-mode events (host-side only; the guard does **not** phone home), on `GuardConfig.onEvent`:\n\n```ts\n// Loud — real drift (shape frozen; regression-locked)\n{\n  type: 'execution_state_drift_observed';\n  at: string;                         // ISO timestamp\n  decisionId?: string;\n  current_fingerprint: string | null;\n  authorized_fingerprint: string | null;\n  reason: string;                     // fingerprint_stale_at_execute\n}\n\n// Quiet — unmeasurable (additive)\n{\n  type: 'execution_state_unmeasurable';\n  at: string;\n  decisionId?: string;\n  current_fingerprint: string | null;\n  authorized_fingerprint: string | null;\n  reason: string;                     // missing_artifacts | missing_authorized_fingerprint\n  note: 'nothing to measure — not evidence of drift, not evidence of safety';\n}\n```\n\n```typescript\nconst outcome = await guardToolCall(call, executeFactory, {\n  client,\n  operation: 'merge',\n  requireExecutionStateMatch: 'warn', // opt-down: emit, then run unenforced on mismatch\n  onEvent: (e) => {\n    if (e.type === 'execution_state_drift_observed') {\n      // host metrics / log — real drift only; nothing is sent to CodeRifts from here\n      console.warn('execution-state drift', e.decisionId, e.reason, e.current_fingerprint);\n    }\n    // optional: e.type === 'execution_state_unmeasurable' → debug-only, do not page\n  },\n});\n```\n\nHonesty: default enforce **refuses on observed execution-state drift**. It does **not**\nclose TOCTOU proper — measurement-to-commit and host-side unconditional writes remain;\nsee Guarantees.\n\n#### `requireCommitObservation` — T3 post-commit observation (guard@8.2 default ON)\n\nT2 looks at the target immediately **before** the write. T3 looks at it **after**. Once the host\nwrite returns, the guard re-reads the target and compares it to the authorized `after`:\n\n- **filesystem adapters** — re-read the file through `node:fs`, sha256 it, compare to the\n  authorized `after` content.\n- **API / DB / Registry adapters** — call the same `current_token()` reader that\n  `executeIfUnchanged` already requires, and compare it to the intended post-write token.\n\nThe result lands on every `GuardOutcome` arm and on `GuardExecutionProof` as\n`commit_observation`, with one of four statuses:\n\n| `status` | Meaning |\n| --- | --- |\n| `not_observed` | No reader was available, or observation was switched off. |\n| `observed_match` | Content re-read after the write matched the authorized `after`. |\n| `observed_drift` | What is there now is not what was authorized. |\n| `observed_token_match` | Token-only adapter: the version token matched. Content was not compared. |\n\nOn content drift the guard re-runs preflight against the **observed** state and reports the\nresult under `commit_observation.blast`. `host_attestation` (`absent`,\n`host_attested_committed`, `host_attested_refused`, `conflict`) is a **label the host supplies\non top of** the measurement — a host that says `committed` while the guard observed drift is\nrecorded as `conflict`, not as a pass.\n\n**`enforced` is unchanged by T3.** `enforced` remains a pre-write fact: receipt-verified\n`ALLOW`/`MONITOR` plus the T2 recheck. The drift event `commit_observed_drift` is\n**report-only — it is not a permission gate.**\n\nDefault ON. Opt out with `requireCommitObservation: false`, which emits\n`commit_observation_check_disabled`. Measured cost: **+0.087 ms/call** on filesystem adapters;\npreflight re-runs only on drift.\n\nHonesty (verbatim, and also on the machine proof as\n`limits.commit_observation_is_observed_at_t3_not_atomic: true`):\n`commit_observation is observed at T3, not atomic: another writer may act between write and observation; token-only adapters compare version token not content; host attestation is a host claim layered on the measurement`.\n\nWhen `withCodeRifts({ executorAttestation: { registry } })` is set and a CAS outcome carries a verified `cr.exec.attest.v1` token, the T3 section upgrades to `committed — executor-attested (ATTEST_VALID, kid …)`. Invalid attestation stays host-claimed with `attest_status` visible. Observation-side only.\n\n> **Supply `artifacts[]` with content.** If the guard detects a contract change (e.g. from\n> `filesTouched`/`diff`) but you did **not** supply `artifacts[]` with `before`/`after`, it fails\n> closed **locally** with `outcome.verdict.cause === 'MISSING_ARTIFACT_CONTENT'` — the tool does not\n> execute and the error is *actionable* (pass the change as artifacts), not a package failure. The\n> guard never sends an empty change set to the server.\n>\n> **The default binder now forwards `args.artifacts`.** If your tool call carries the change as an\n> `artifacts` array in its arguments, `guardToolRegistry` picks it up automatically (no explicit\n> binder needed). A custom binder is still required only when the content lives under a different\n> argument name or must be resolved from `filesTouched`/`diff`.\n\n### Guarding the whole tool surface (registry scope)\n\n`guardToolCall` guards one call. [`guardToolRegistry`](#) takes your whole tool list and returns a\ntable in which every mutator is wrapped, failing closed at construction if any would remain raw.\nWhat that buys is a property of **the returned table**, not of the agent: register only this table,\nand no mutator *in it* is reachable raw. Tools the host registers elsewhere are outside the guard —\nsee **The two scopes** below for how `registry_report` and `composition_assurance` answer those two\ndifferent questions.\n\n```typescript\nimport { guardToolRegistry } from '@coderifts/agent-guard';\n\nconst { tools, coverage } = guardToolRegistry(rawTools, { guard: { client } });\n// register ONLY `tools`; coverage === 'COMPLETE' ⇒ no mutator IN THIS TABLE is reachable raw.\n// That is table-truth, not a coverage claim about live traffic: for what was actually\n// observed this run, read `composition_assurance.observed_class`.\n```\n\n### Reading a decision: `readDecision` — and why you must read `reason`\n\n`readDecision(response)` never throws and resolves in one documented order:\n\n| Body carries | Result |\n|---|---|\n| `execution_action` in the closed set | that action |\n| `execution_action` PRESENT but **not** in the closed set | the **raw arrived string** + `reason: 'EXECUTION_ACTION_UNRECOGNISED'` |\n| `execution_action` MISSING, body is explicit `decision_spec_version: \"1.0\"` and not v2 | legacy `decision` → action map |\n| anything else | `'STOP'` + `reason: 'UNREADABLE_DECISION'` |\n\nThe closed set is `CONTINUE | CONTINUE_WITH_MONITORING | REQUEST_APPROVAL | STOP`. A body is **v2**\nwhen it carries `decision_result`, carries `preflight_mode`, or its `decision_spec_version` starts\n`\"2.\"`. A **missing** version is not legacy.\n\n**The caller MUST read `reason`.** On `EXECUTION_ACTION_UNRECOGNISED` the raw arrived string is\nreturned as `executionAction` on purpose, so you can log and reconcile what the server actually\nsent. It is not a control-set action:\n\n```typescript\nconst r = readDecision(response);\n\n// WRONG — an unrecognised action is not STOP, so this proceeds on it.\nif (r.executionAction !== 'STOP') proceed();\n\n// RIGHT — branch on the closed set, or check reason first.\nif (r.reason) { halt(r.reason, r.executionAction); }\nelse switch (r.executionAction) { /* CONTINUE | CONTINUE_WITH_MONITORING | REQUEST_APPROVAL | STOP */ }\n```\n\nThis reader deliberately does **not** normalise an unrecognised action to `STOP`: that would erase\nthe arrived value, which is the only evidence a reconciliation has. `gateDecision` — the merge gate\n— is unconditionally fail-closed and needs no such care.\n\n> Interop note (1565/1585): `@coderifts/sdk` ≤ 3.14.1 mapped `decision` → action on **any** bare\n> body, so `{ decision: 'ALLOW' }` read as `CONTINUE` there and `STOP` here. `@coderifts/sdk@3.14.2`\n> gates its legacy arm exactly as this reader does. The two readers still differ by design on one\n> case: a **present-but-unrecognised** action is raw-plus-`reason` here and `STOP` in the SDK.\n\n### One-call orchestration with `withCodeRifts` (S1 + S2)\n\n`withCodeRifts` wraps `guardToolRegistry` behind a single call that takes a **mandatory** `operation`\nand returns the protected tools plus **two separate coverage statements**: the registry's own report and\na narrower, product-level composition assurance. Register **only** the returned `tools`:\n\n```typescript\nimport { withCodeRifts } from '@coderifts/agent-guard';\n\nconst { tools, registry_report, composition_assurance } = withCodeRifts({\n  tools: rawTools,      // your raw tool list\n  client,               // the CodeRifts client (same one guardToolRegistry expects)\n  operation: 'merge',   // REQUIRED — no default (see below)\n});\n// register ONLY `tools` with your agent SDK. Anything the host registers directly is OUTSIDE\n// the guard — the composition can only protect the table it returns.\n```\n\n> **An absent `profile` is not `ENFORCING_STRICT`.** This entry-point call runs today's\n> defaults: freshness, conditional-write and complete-coverage stay **opt-in**. Nothing here\n> locks the fail-closed conjunction — see\n> [Production enforcement](#production-enforcement-enforcing_strict--freshness--cas) for\n> `profile: 'ENFORCING_STRICT'`, which locks those flags and aborts on a conflicting opt-down.\n\nOptional guard-policy fields on the same input are forwarded **unchanged** onto `GuardConfig` when\npresent (absent = today’s defaults — no behavior change): `onEvent`, `monitoringSinkWired`,\n`resolvePriorContent`, `requireFreshness`, `allowStaleContext`, `requireConditionalWrite`, and\n**`requireExecutionStateMatch`** (`boolean | 'warn'`, default true). Forwarded onto\n`GuardConfig`; absent inherits the fail-closed default. `'warn'` / `false` are explicit\nopt-down. Not TOCTOU closure (see **`requireExecutionStateMatch`** above).\n\n**`profile?: 'ENFORCING_STRICT'`** (guard@8.1, opt-in). Locks the fail-closed conjunction\n(`requireCoverage: 'COMPLETE'`, `requireFreshness: true`, `requireExecutionStateMatch: true`,\n`requireConditionalWrite: true`, `requireCommitObservation: true`, `failOnUnguardedMutator: true`,\n`unknownToolPolicy: 'mutating'`).\nA conflicting opt-down **aborts construction** (`ENFORCING_STRICT cannot be weakened: <flag> conflicts`).\nRequires `resolvePriorContent` at construction. Does **not** claim host cannot register raw tools\noutside the returned table — residual `calls_outside_guarded_path_invisible`. Adapters\n(`withCodeRiftsOpenAI` / Anthropic / Gemini / LangGraph / Vercel) still emit only the guarded list.\n\n### Production enforcement (`ENFORCING_STRICT` + freshness / CAS)\n\n| | What | Bound |\n|---|---|---|\n| **DEFAULT** | `requireExecutionStateMatch` (T2 execution-state recheck). Absent → `true` (enforce). | Detects drift between authorize-time and execute-time artifacts. Not an atomic CAS. |\n| **OPT-IN** | Freshness, conditional-write, complete-coverage. An absent `profile` does **not** lock these. | `profile: 'ENFORCING_STRICT'` is what locks the fail-closed conjunction. |\n| **OPEN** | TOCTOU. The recheck is not an atomic compare-and-swap. | Measurement-to-commit and host-side unconditional writes remain. |\n\nThe `withCodeRifts` example above is the **entry point** (absent profile: freshness and\nconditional-write stay opt-in). For production, lock the fail-closed conjunction with\n`profile: 'ENFORCING_STRICT'` (introduced in guard 8.x; current version: see npm). Construction\n**aborts** if you opt down any locked flag, omit `resolvePriorContent`, or omit the execution\nchain (`executionGrant: { enabled: true }`, required since 9.8.0).\n\n```typescript\nimport { withCodeRifts } from '@coderifts/agent-guard';\n\nconst { tools, registry_report, composition_assurance, receipt_thread } = withCodeRifts({\n  tools: rawTools,\n  client,\n  operation: 'merge',\n  profile: 'ENFORCING_STRICT',\n  // Required under STRICT (abort at construction if missing). Host measures prior\n  // bytes for write-style freshness. The composition core does not read the filesystem;\n  // the FS token resolver and the T3 commit-observation adapters do (node:fs).\n  resolvePriorContent: ({ artifactId }) => readPrior(artifactId),\n  // Required under STRICT since 9.8.0. Without a grant nothing binds the executor to the\n  // authorized change, so a commit can never be proven. Omit `resolveStateNonce` and you get\n  // the BEARER profile — permitted, and recorded as residual\n  // `execution_grant_bearer_no_state_nonce`.\n  executionGrant: { enabled: true, resolveStateNonce: ({ artifactId }) => nonceFor(artifactId) },\n});\n// register ONLY `tools`. Receipt carry-forward is default-on (`receipt_thread`).\n```\n\n### Native execution grant (`executionGrant`, 9.6.0)\n\n`withCodeRifts` 9.5.0 could not request a grant: its authorize sent four\nfields and the factory received `decision_result`, so a top-level\n`execution_grant` was dropped. The interim app-side wrap\n(`withExecutionGrantClient` / `takeGrant()`) worked but was **last-authorize**\n— overlapping tool calls could hand a tool the wrong grant.\n\n9.6.0 closes that natively. Default **OFF** (absent config is byte-identical\nto 9.5.0). A host on 9.6.0 does **not** need `withExecutionGrantClient`.\n\n```typescript\nconst { tools } = withCodeRifts({\n  tools: rawTools, // execute(args, { execution_grant }) — 2nd arg is THIS call's grant\n  client,\n  operation: 'merge',\n  executionGrant: {\n    enabled: true,\n    // Optional. Return the ATOMIC nonce for THIS call (customer executor\n    // state-challenge). A throw fails the call closed\n    // (EXECUTION_GRANT_NONCE_UNRESOLVABLE) — never a grant-less proceed.\n    resolveStateNonce: async ({ artifactId, toolName, args }) =>\n      challengeNonceFor(artifactId),\n  },\n});\n```\n\n`guardToolCall` factory 3rd argument is the same `{ execution_grant }` object,\nscoped to that invocation. Allow-class authorize that requested a grant and\ndoes not receive one fails closed (`EXECUTION_GRANT_MISSING` /\n`SIGNER_UNAVAILABLE`). After a grant was requested, `failPolicy: 'open'`\ndoes not OPEN_PASSTHROUGH grant-less — the call fails closed with the\nserver's reason. The outcome records `{ requested, arrived }` only —\nnot the token. Not a verdict input; not a preimage field.\n\nHonesty (do not over-claim):\n\n- **Freshness** is ACTIVE only because STRICT sets `requireFreshness` **and** you supplied\n  `resolvePriorContent`. A resolver that returns stale or empty bytes is still your measurement.\n- **CAS / conditional write** is a **host assertion** (`conditional_write: true` on the write).\n  This package never writes and cannot verify the swap. `requireConditionalWrite` refuses\n  `enforced: true` when the host does not report it. No atomic CAS at commit; T3 observes the\n  result after the write (not atomic). Under `ENFORCING_STRICT`, `enforced` remains that\n  pre-write fact; the final success name is `authorized_and_committed` only when\n  `cas_evidence` is `executor_attested` and the attestation cross-checks grant/receipt —\n  otherwise `authorized_not_committed` (`commit_evidence_missing`).\n- Host-invoked raw tools outside the returned table remain invisible\n  (`calls_outside_guarded_path_invisible`). `composition_assurance.inescapable_runtime` stays false.\n\n### Final-answer proof block (ID645)\n\nWhen a call produces a machine `GuardExecutionProof` (`outcome.proof`), you can embed a\n**human-readable** block in the agent’s final answer. The renderer is faithful: `currently_authorized: null`\nis **SKIPPED (not a pass)**; limits (e.g. host can still bypass; calls outside the guarded path are\ninvisible) always appear. It does not change the proof shape.\n\n```typescript\nimport { renderFinalAnswerProof, attachProofToAgentResponse } from '@coderifts/agent-guard';\n\n// After guardToolCall / withCodeRifts …\nconst block = renderFinalAnswerProof(outcome.proof); // markdown string\nconst answer = attachProofToAgentResponse('I applied the authorized edit.', outcome.proof);\n// string → appends block; object → adds final_answer_proof + final_answer_proof_text\n```\n\nSee `examples/final-answer-proof.mjs` for verified vs skipped side by side.\n\n### Framework proof-binders (ID827, guard@6.1)\n\nAfter `guardToolCall` returns a `GuardOutcome`, the binders map that **whole outcome** into the\nframework’s **tool-result** shape so the execution proof travels back to the model in the tool\nmessage — not only in a human final answer.\n\n| Function | Id arg | Target field |\n|---|---|---|\n| `bindOpenAIGuardOutcome(outcome, { tool_call_id })` | `tool_call_id` | OpenAI tool message `content` (string) |\n| `bindAnthropicGuardOutcome(outcome, { tool_use_id })` | `tool_use_id` | Anthropic `tool_result` `content` (string) |\n| `bindGeminiGuardOutcome(outcome, { name })` | function `name` | Gemini `functionResponse.response` — a **structured object** `{ result, final_answer_proof, … }` (not a text field) |\n| `bindLangGraphGuardOutcome(outcome, { tool_call_id, name? })` | `tool_call_id` (+ optional `name`) | LangGraph/LangChain ToolMessage `content` (string) |\n| `bindLangChainToolOutcome(outcome, { tool_call_id, name? })` | `tool_call_id` (+ optional `name`) | LangChain **`content_and_artifact`** — `content` (string, to the model) + `artifact` (structured proof, kept OUT of the model's context) |\n| `bindCrewAIToolOutcome(outcome, { tool_name })` | `tool_name` | CrewAI `result` (string) + **`result_as_answer`** — `true` on every arm the guard did not permit |\n\n**Behaviour (all six):** take the full `GuardOutcome` (ALLOW / BLOCK / APPROVAL / SKIPPED / error\narms); **auto-attach** `outcome.proof` by default (S4; `{ attachProof: false }` opts out); on a\nblocked arm state that the gate did not permit execution with **no fabricated tool result**; on\nfactory-error arms report the failure + proof. Pure and non-mutating. No framework SDK dependency\n— minimal local types only. Return types are type-level branded (`ProofBoundOpenAIToolMessage`,\netc.) so the compiler can distinguish a proof-bound tool result from a raw one (proof-forgotten\n*detection*, not prevention). Proof formatting reuses `attachProofToAgentResponse` /\n`renderFinalAnswerProof`. The proof claims authorization + observed state only — not\nexecuted/enforced.\n\nOpenAI-compatible providers (Grok, Kimi, Qwen, DeepSeek, …) use **`bindOpenAIGuardOutcome`** for\ntheir tool-results — same ChatCompletions tool-message shape.\n\n```typescript\nimport { guardToolCall, bindOpenAIGuardOutcome } from '@coderifts/agent-guard';\n\nconst outcome = await guardToolCall(\n  { toolName: 'edit_file', arguments: args, filesTouched: [path] },\n  async (_envelope, redacted) => doEdit(redacted),\n  { client },\n);\n\n// Send this tool message back to the model (chat.completions messages[]).\nconst toolMessage = bindOpenAIGuardOutcome(outcome, { tool_call_id: toolCall.id });\n// { role: 'tool', tool_call_id, content: '<result or gate message> + rendered proof' }\n```\n\n**OpenAI tool-calling (ID632 reference adapter).** Same input; OpenAI-shaped `tools` for\n`chat.completions`, plus the same unflattened assurance objects. Shape conversion only — does\n**not** claim product-level inescapability the core does not:\n\n```typescript\nimport { withCodeRiftsOpenAI, withPolicy, CODERIFTS_POLICY } from '@coderifts/agent-guard';\n\nconst {\n  tools,                 // OpenAI: [{ type:'function', function:{ name, description?, parameters } }]\n  protected_tools,       // guarded execute — dispatch tool_calls here, never re-register rawTools\n  registry_report,\n  composition_assurance, // still may be incomplete (inescapable_runtime:false) — do not drop\n  receipt_thread,\n} = withCodeRiftsOpenAI({ tools: rawTools, client, operation: 'merge' });\n\n// openai.chat.completions.create({ model, messages: withPolicy(messages), tools })\n// Host boundary: only `tools` / `protected_tools` enter the model loop — raw tools stay out.\n```\n\nSee also `examples/openai-adapter.mjs` (not published in the npm tarball).\n\n**OpenAI-compatible models (no extra adapter).** DeepSeek and Kimi (Moonshot) use the same\nChatCompletions tool-calling format as OpenAI (`{ type: 'function', function: { name,\ndescription, parameters } }`). Use **`withCodeRiftsOpenAI`** and point your client `baseURL`\n(and API key) at their endpoint — zero new adapters, same guarded tools + unflattened assurance.\nTool-results use **`bindOpenAIGuardOutcome`** the same way as OpenAI.\n\n**Qwen (Alibaba DashScope).** OpenAI-compatible via Model Studio compatible-mode — use\n**`withCodeRiftsOpenAI`**, point `baseURL` at the DashScope compatible endpoint. Zero new adapters.\n\n**Grok (xAI).** Also OpenAI-compatible tool calling — use **`withCodeRiftsOpenAI`** with the xAI `baseURL`.\n\n**Perplexity (Sonar).** OpenAI-compatible chat completions, but tool calling is model-dependent: `sonar-pro` supports it (with a stricter JSON-object parameter schema), while plain `sonar` rejects tool definitions. Use **`withCodeRiftsOpenAI`** with tool-capable Perplexity models only.\n\n**Anthropic tool_use (ID632 slice 2).** Same thin pattern; Anthropic Messages `tools` shape\n(`{ name, description?, input_schema }`) instead of OpenAI function tools. Assurance still\nunflattened — composition may remain incomplete:\n\n```typescript\nimport { withCodeRiftsAnthropic, withPolicy } from '@coderifts/agent-guard';\n\nconst {\n  tools,                 // Anthropic: [{ name, description?, input_schema }]\n  protected_tools,       // guarded execute — dispatch tool_use here, never re-register rawTools\n  registry_report,\n  composition_assurance, // still may be incomplete (inescapable_runtime:false) — do not drop\n  receipt_thread,\n} = withCodeRiftsAnthropic({ tools: rawTools, client, operation: 'merge' });\n\n// anthropic.messages.create({ model, system: withPolicy(yourPrompt), messages, tools, max_tokens })\n// Host boundary: only `tools` / `protected_tools` enter the model loop — raw tools stay out.\n```\n\nSee also `examples/anthropic-adapter.mjs` (not published in the npm tarball).\n\n**LangChain / LangGraph (ID632 slice 3).** Same thin pattern; emits **dependency-free**\nStructuredTool-compatible descriptors (`name`, `description`, `schema`, `func`/`invoke`,\n`lc_runnable: true`) that `createReactAgent` / `ToolNode` can consume. Measured against\n`@langchain/langgraph` `createReactAgent` (`tools: ToolNode | (StructuredToolInterface |\nDynamicTool | RunnableToolLike)[]` — 0.2.74 d.ts; current npm 1.4.12). This package does\n**not** depend on langchain or langgraph. A tool that would still fail that check throws\n`LangGraphToolsNotStructuredError` (wrap with `tool()` from `@langchain/core/tools`) — never a\nmodel-visible `\"Tool not found\"`. Assurance still unflattened:\n\n```typescript\nimport { withCodeRiftsLangGraph } from '@coderifts/agent-guard';\n// host-owned (not a dependency of this package):\n// import { createReactAgent } from '@langchain/langgraph/prebuilt';\n\nconst {\n  tools,                 // createReactAgent-consumable; guarded execute bound\n  protected_tools,\n  registry_report,\n  composition_assurance, // still may be incomplete (inescapable_runtime:false) — do not drop\n  receipt_thread,\n} = withCodeRiftsLangGraph({ tools: rawTools, client, operation: 'merge' });\n\n// const agent = createReactAgent({ llm, tools });\n// optional still-supported wrap: tool(d.func, { name: d.name, description: d.description, schema: d.schema })\n// system: withPolicy(yourPrompt)  — adapters do not see the outbound request\n// Host boundary: only `tools` / `protected_tools` enter the graph — raw tools stay out.\n```\n\nSee also `examples/langgraph-adapter.mjs` (not published in the npm tarball).\n\n**Google Gemini (ID632 slice 4).** Same thin pattern; Gemini nests **all** tools under one\n`functionDeclarations` array (not one OpenAI-style `{ type: 'function' }` per tool). Assurance\nstill unflattened:\n\n```typescript\nimport { withCodeRiftsGemini } from '@coderifts/agent-guard';\n\nconst {\n  tools,                 // Gemini: [{ functionDeclarations: [{ name, description?, parameters }, …] }]\n  protected_tools,       // guarded execute — dispatch functionCall here, never re-register rawTools\n  registry_report,\n  composition_assurance, // still may be incomplete (inescapable_runtime:false) — do not drop\n  receipt_thread,\n} = withCodeRiftsGemini({ tools: rawTools, client, operation: 'merge' });\n\n// model.generateContent({ systemInstruction: withPolicy(yourPrompt), contents, tools })\n// Host boundary: only `tools` / `protected_tools` enter the model loop — raw tools stay out.\n```\n\nSee also `examples/gemini-adapter.mjs` (not published in the npm tarball).\n\n**Vercel AI SDK (roadmap 129).** Same thin pattern; emits a **dependency-free**\n`generateText` / `streamText` `tools` record (`{ [name]: { description?, parameters, execute } }`)\nmatching v4 `tool({ description, parameters, execute })`. This package does **not**\ndepend on `ai` or `zod` — `parameters` is JSON Schema from `ProtectedTool.inputSchema`\n(v4 accepts Zod Schema | JSON Schema). `execute` is the guarded factory; mutator\noutcomes are bound with **`bindVercelGuardOutcome`** (`toolCallId`). Assurance still\nunflattened:\n\n```typescript\nimport { withCodeRiftsVercel } from '@coderifts/agent-guard';\n// host-owned (not a dependency of this package):\n// import { generateText, tool } from 'ai';\n\nconst {\n  tools,                 // generateText tools record; guarded execute bound\n  protected_tools,\n  registry_report,\n  composition_assurance, // still may be incomplete (inescapable_runtime:false) — do not drop\n  receipt_thread,\n} = withCodeRiftsVercel({ tools: rawTools, client, operation: 'merge' });\n\n// generateText({ model, tools, prompt })  — only `tools` / `protected_tools` enter the loop\n```\n\nSee also `examples/vercel-adapter.mjs` (not published in the npm tarball).\n\n### Policy delivery\n\nThe adapters (`withCodeRiftsOpenAI` / Anthropic / Gemini / LangGraph / Vercel, and\nthe `bind*GuardOutcome` helpers) are **result-shapers**. They convert guarded\ntools and bind proof onto the **tool result**. They never see the outbound\n`messages` / `system` field, so they cannot auto-inject into the request. File-based\nhosts (Claude / Cursor / Copilot / Gemini) load the rule file automatically; a\ndeveloper assembling their own system prompt must put the text in.\n\n```typescript\nimport { CODERIFTS_POLICY, withPolicy } from '@coderifts/agent-guard';\n\nconst yourPrompt = 'You are a coding agent.';\nconst content = `${yourPrompt}\\n\\n${CODERIFTS_POLICY}`;\n\n// one-line helper (idempotent; never mutates the caller):\nconst messages = withPolicy([{ role: 'system', content: yourPrompt }, { role: 'user', content: '…' }]);\n```\n\nThree layers:\n\n1. **`withPolicy`** — append if the ONE-operation marker is not already present. `injectPolicy: false` skips.\n2. **`CODERIFTS_POLICY`** — one import, one interpolation. Vendored from the app canonical rule; drift-gated.\n3. **`systemPrompt` on the guard config** — last net. Supply the prompt you sent the model. Marker found → `policy_presence: \"detected\"` (silent). Marker absent → `\"absent\"` + a once-per-process warn. Nothing supplied → field omitted (`unknown`, no warn, outcome byte-identical). Observation only — never a verdict input, nothing in any preimage.\n\nThis proves the **text is present**, not that the model read or obeyed it.\n\n**Why `operation` is mandatory (no default).** Receipts bind to an operation and `merge` is not\n`deploy`, so a silent default would evaluate a deployment under merge semantics. `operation` is the\nsession-level default for **generic** mutating tools only; a tool with a specialised mutation class\n(`mutating_deploy`, `mutating_publish`, `mutating_vcs`, …) still derives its own operation from that\nclass — `operation` does not override it.\n\n**The two scopes — the point of this call.** The return carries two coverage statements answering two\ndifferent questions. Captured output from a real call against the current build (a clean list of two\nmutating tools):\n\n```jsonc\n// composition_assurance — shown WHOLE (coverage / inescapable_runtime / residuals\n// are byte-identical to 9.4.0; observed_class is the live measured class):\n{\n  \"coverage\": \"PARTIAL\",\n  \"inescapable_runtime\": false,\n  \"residuals\": [\"composition_call_policy_incomplete\"],\n  \"freshness_resolver_wired\": false,\n  \"observed_class\": \"UNKNOWN_OUTSIDE_SCOPE\"\n}\n\n// registry_report — abbreviated (… marks fields elided here, NOT trimmed to read cleaner):\n{\n  \"coverage\": \"COMPLETE\",\n  \"guarded_mutators\": [\"edit_file\", \"write_config\"],\n  \"unguarded_mutators\": [],\n  \"claim\": { \"inescapable_runtime\": true, \"inescapable_merge\": false, \"inescapable_deploy\": false },\n  \"warnings\": []\n  // … version, protected_tools, readonly_passthrough, unknown_treated_as, siblings\n}\n```\n\n- **`registry_report`** is the truth about the tool table that was wrapped. It may legitimately say\n  `COMPLETE` with `inescapable_runtime: true` — every mutator wrapped, none reachable raw **in that\n  table**. `withCodeRifts` passes it through **untouched**. That is **not** a claim that the agent\n  cannot invoke a tool outside the table (demonstrated on LangGraph, OpenAI Agents, and the\n  Anthropic SDK).\n- **`composition_assurance`** is the narrower, product-level statement — what `withCodeRifts` itself\n  claims. Today it reports `PARTIAL` with `inescapable_runtime: false` and the residual\n  `composition_call_policy_incomplete`, because **composition-call-policy completeness**\n  (`COMPOSITION_CALL_POLICY_COMPLETE`) is still false — not because tool wrapping or receipt\n  carry-forward are missing. Receipt carry-forward **ships** (per-composition cursor, `threadReceipts`\n  default on). Call-time STOP on BLOCK/RA and both-sides edit binders are already on the frozen path.\n  What still blocks the product-level claim includes a **freshness-safe prior for write-style calls**\n  (path + new content only) wired into enforce, among other policy gates — carry-forward alone does\n  not flip this residual off.\n- **`observed_class` / `coverage_observed` (9.5.0) — what was MEASURED this run**, not what was\n  assumed at registration. The run is one `withCodeRifts` instance (same lifetime as\n  `receipt_thread`). Half A always counts `execute()` through the returned table\n  (`governed_calls`, `tools`). Half B is optional: the host reports the total dispatch stream it\n  saw (`reportToolDispatch` / `reportToolDispatchBatch`, e.g. from AgentHooks / `onToolStart`).\n  When Half B is supplied, the snapshot gains `total_calls`, `ungoverned_calls`, `ungoverned_tools`\n  and the class is `INCOMPLETE_OBSERVED` (names outside the table) or `COMPLETE_OBSERVED` (host\n  reported, none outside). When Half B is **absent**, those fields are **omitted** (never zero) and\n  the class is `UNKNOWN_OUTSIDE_SCOPE` — **not** `COMPLETE`. Direct `guardToolCall` without a\n  composition observer has no `coverage_observed` field (byte-identical to 9.4.0). Observation\n  only; nothing in any preimage.\n- **This is deliberate, not a defect.** The composition will not claim runtime inescapability it cannot\n  yet deliver, and it will not read table-wrapping as agent-inescapability.\n\nReconciling with the `guardToolRegistry` note above (`coverage === 'COMPLETE' ⇒ no mutator is reachable\nraw`): that claim is exactly what `registry_report` states, and it **remains true** — `withCodeRifts`\ndoes not weaken it. `composition_assurance` answers a *different* question: not \"is every mutator\nwrapped\" (true today) but \"is the whole execution path through this composition inescapable yet\" (not\nyet). The composition says so rather than borrowing the registry's answer.\n\n**What you get today:** one entry point, every mutator in the returned table wrapped fail-closed,\nautomatic receipt carry-forward on by default, and an honest composition statement. **What you do not\nget yet:** any product-level claim of runtime inescapability —\n`composition_assurance.inescapable_runtime` stays `false` while **composition-call-policy** remains\nincomplete (`COMPOSITION_CALL_POLICY_COMPLETE` is false). That is **not** because carry-forward is\nmissing (it ships). A green construction is still **not** a product-level runtime-inescapability\nguarantee.\n\n**`requireCoverage?` (optional).** Aborts construction when the **registry** coverage is weaker than\nrequired, by the ordering `COMPLETE > PARTIAL > BYPASSED > UNKNOWN`. It constrains the **registry surface\nonly** — it **cannot** demand product-level inescapability (still gated on composition-call-policy\ncompleteness, not on registry wrapping or on whether carry-forward is enabled), and a green\nconstruction under it is not a product-level enforcement guarantee.\n\n**`unknownToolPolicy` defaults to `'mutating'`.** An unclassified tool (no `mutationClass`, no\nname-heuristic match) is treated as a mutator and wrapped — never silently downgraded to readonly, which\nwould hide a raw mutating capability behind a green result. Pass `'readonly'` / `'reject'` explicitly to\nchange it.\n\n> **Known limitation — `forceReadonly` vs. an explicit `mutationClass`.** `forceReadonly` has **no\n> effect** on a tool the caller declared with an explicit `mutationClass`: class resolution returns on\n> `mutationClass` **before** `forceReadonly` is consulted, so the tool stays a wrapped mutator and **no\n> warning or residual is produced**. A caller who both sets `mutationClass: 'mutating'` and lists that\n> tool in `forceReadonly` gets **no signal that their `forceReadonly` was ignored**. `forceReadonly` only\n> downgrades a tool whose mutating status came from the name heuristic.\n\n**Shipped binder (both-sides only):** defaultBinder lifts `old_string`/`new_string` and `edits[]` into\nartifacts when a contract path is present — it does **not** invent a `before` for write-style\npath+new-content-only calls (no IO; empty before is forbidden).\n\n**Not in this yet** (do not infer these from the one-call ergonomics): freshness-safe prior content\nfor write-style calls wired into enforce (path + new content only — pure core may exist; product\npath is incomplete), platform-native bypass exclusion, a concurrent receipt manager (overlap\nrefuses to advance the package cursor — host owns serialisation if a linear chain is required), and\nframework adapters. **Receipt carry-forward is shipped** (see below); do not list it as missing.\n\n#### `composition_assurance` is the runtime placement input\n\n`coverageReport` aggregates four placements — `runtime`, `merge`, `deploy`, and `content` — plus an\n`applicability` map saying which apply. It does not gather those placements; the host supplies them.\n`withCodeRifts` already returns one of them in full: **`composition_assurance` is field-for-field the\nsame shape as `RuntimePlacementInput`** (`coverage`, `inescapable_runtime`, `residuals`). Pass it\nstraight through as the runtime input:\n\n```typescript\nimport { withCodeRifts, coverageReport } from '@coderifts/agent-guard';\n\nconst { tools, composition_assurance } = withCodeRifts({\n  tools: rawTools,\n  client,\n  operation: 'merge',\n});\n\nconst report = coverageReport({\n  applicability: { /* host-known — see warning below */ runtime: true, merge: true, deploy: true, content: true },\n  // Required for FULLY_ENFORCED: absence is not attestation (RT-P-16).\n  applicability_attested: true,\n  runtime: composition_assurance, // complete RuntimePlacementInput — no remapping\n  // merge / deploy / content: host still supplies (see next)\n});\n```\n\nThe package cannot fill the other three. It sees the agent’s tool table, not branch protection, not the\ndeployment target, not content resolution. Hosts produce those with the exports that already own them:\n**`gateDecision`** (merge), **`deployGate`** (deploy), **`resolveArtifacts`** (content).\n\n**Change-set re-bind is optional; its absence is residual-only.** A green `gateDecision` /\n`deployGate` without `requiredContext.expected_fingerprint` means the receipt matched the **head**\n(or deploy artifact/env bind), **not** that it was re-bound to the host’s current change set. The\noptional fingerprint step still fails hard with `fingerprint_mismatch` when an expected value is\nsupplied and disagrees; when it is omitted, the gate stays green and names residual\n`change_set_not_rebound` (claim flags `inescapable_merge` / `inescapable_deploy` are not flipped).\nThat distinction bites when the base moves, or when a different artifact subset was analysed at the\nsame tip: same head, different change set, receipt still greens without a re-bind.\nThe residual field is a **single slot**: when another honesty residual is already named\n(e.g. app-binding or enforcement), `change_set_not_rebound` is not written — so **absence of a\nresidual is not evidence that the corresponding gap is closed**; it may only have been outranked.\n\n**Applicability is not a placeholder for “unknown.”** The `applicability` map is four booleans. Setting\na placement to `false` asserts that placement **does not apply** — not that you have not measured it\nyet. A host that passes only the runtime placement and marks `merge`, `deploy`, and `content` false is\nclaiming three enforcement boundaries are irrelevant to them; the aggregate report will treat those\nplacements as `EXCLUDED` and will not residual or cap them. Do not set three falses just to typecheck.\nThat overstates coverage.\n\n**`applicability_attested` (RT-P-16).** The map alone is not enough for a full-tetrad claim. Pass\n`applicability_attested: true` only when the host has deliberately decided which placements apply.\nIf the field is absent or false, `coverageReport` names residual `applicability_unattested` and will\nnot return `FULLY_ENFORCED` even when every applicable placement is ENFORCING (downgrade to\n`PARTIALLY_ENFORCED`). Absence is not attestation.\n\n`withCodeRifts` does not call `coverageReport` itself: it can only speak for the runtime placement, and\na report it produced alone would either guess the other three or assert they do not apply — neither is\nhonest, so the composition hands the caller the piece it owns and stops.\n\n#### `deployGate` and deploy-time `bindDeploy`\n\n`deployGate` is the pure decision. **`bindDeploy`** is the pure **caller** at the\nmoment of deploying. Two **explicit, non-guessable** receipt input modes (9.0.0;\nP0 / audit 2026-08-24):\n\n**(a) TOKEN mode (recommended).** Pass the signed chain_receipt token plus\n`{ registry | pinnedKeyPem }` and the decision envelope. The guard verifies\n**locally** (Ed25519, kid / retired window, body-hash, ID104 leeway). No\nHTTP — SDK 3.4.0 `client.verifyReceipt` is I/O and is not used here.\n\n**(b) VERIFIED-VIEW mode.** Pass `{ view_spec: 'deploy-receipt-view.v1',\nverified: true, verify_status, currently_authorized, bounds… }` produced by a\nverification the host attributes. Stamp with `asVerifiedDeployReceiptView`.\nThe marker is the same idiom as `proof_spec` / `attestation_spec`.\n\nA bare `{ currently_authorized: true }` with **no** `view_spec` and **no**\ntoken is DENY `unverified_receipt_view` — not `receipt_not_authorized`.\n\n`g.verification = { mode, verify_status }` is observation (not a preimage).\nThe environment name remains a **host assertion**\n(`environment.provenance: 'host_asserted'`).\n\n```typescript\nimport { bindDeploy, asVerifiedDeployReceiptView, deployGate } from '@coderifts/agent-guard';\n\n// TOKEN (recommended)\nconst g = deployGate({\n  deployTarget: { environment: 'production', artifact_id: digest },\n  token: { token, decision_result, registry }, // or pinnedKeyPem\n  requiredContext: { operation: 'deploy', enforcement: { enforcement: 'ENFORCING', bypass_possible: false } },\n});\n// g.verification.mode === 'token'\n\n// VERIFIED-VIEW (host already verified)\nconst r = bindDeploy({\n  environment: { name: 'production', provenance: 'host_asserted' },\n  artifact_id: digest,\n  receipt: asVerifiedDeployReceiptView(computedView, 'VERIFIED_CURRENT'),\n  pipeline_enforcement: { enforcement: 'ENFORCING', bypass_possible: false },\n});\nif (!r.decision_allows_deploy) process.exit(1);\n```\n\n#### `deployGate` is also the publish / register gate\n\n`deployGate` gates any **artifact-bound application** operation — not only CD deploys. The target is\n`{ environment, artifact_id }`; the operation label is `requiredContext.operation` (default\n`'deploy'`). The receipt must have been issued for **that same** operation: merge is not deploy is not\npublish. Binding checks are the same regardless of the label (environment + artifact match, allow-class\nverdict, enforcement residual). Prefer **`bindDeploy`** at the live step; raw `deployGate` remains\nfor hosts that already build the full input.\n\n```typescript\nimport { deployGate, asVerifiedDeployReceiptView } from '@coderifts/agent-guard';\n\nconst g = deployGate({\n  deployTarget: {\n    environment: 'npm',\n    artifact_id: 'sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',\n  },\n  receipt: asVerifiedDeployReceiptView(publishView, 'VERIFIED_CURRENT'),\n  requiredContext: {\n    operation: 'publish',\n    enforcement: { enforcement: 'ENFORCING', bypass_possible: false },\n  },\n});\n```\n\nMCP **register** is the same shape: set `operation: 'register'` and put the **manifest digest** in\n`artifact_id` (caller supplies the matching `bound_artifact_id` on the receipt view).\n\n**Naming caveat:** the result field is always `deploy_allowed`, even when the operation was `publish`\nor `register`. It is accurate about the boolean decision and wrong about the noun. Type names\n(`DeployTarget`, `DeployGateInput`, `inescapable_deploy`) are the same historical deploy vocabulary —\nnot a second gate.\n\nThere is no separate `publishGate` export: the function is already generic over `operation`, and\naliases would grow a frozen public surface for a parameter that already does the job. That is a\ndeliberate choice, not an omission.\n\n### Observation hooks (`onEvent` + `onSettledCall`)\n\nOptional hooks on `withCodeRifts` for seeing what calls through the **returned** tool table do.\nNeither changes `composition_assurance` (still `PARTIAL` / `inescapable_runtime: false` until the\ngaps above land). `onSettledCall` is pure observation; `onEvent` is the lifecycle emitter and, only\ntogether with host `monitoringSinkWired: true`, satisfies the MONITOR gate (next section).\n\n```typescript\nimport {\n  withCodeRifts,\n  foldTableSettledCalls,\n  guardedFractionAmongRoutes,\n  type SettledCallObservation,\n} from '@coderifts/agent-guard';\n\nconst settled: SettledCallObservation[] = [];\nconst { tools } = withCodeRifts({\n  tools: rawTools,\n  client,\n  operation: 'merge',\n  onEvent: (e) => { /* frozen-core lifecycle event; partial — see gaps */ },\n  onSettledCall: (o) => {\n    settled.push(o);\n    // Discriminated: o.kind === 'settled_call', o.route, o.terminal are EXPLICIT tags.\n    // GUARDED + RETURNED → o.outcome is a non-optional GuardOutcome\n    //   e.g. o.outcome.executed === false && o.outcome.verdict.kind === 'BLOCK'\n    // PASSTHROUGH / BYPASSED + RETURNED → o.result (raw tool return)\n    // any route + THREW → o.error (then the rejection still propagates to the host)\n  },\n});\n\n// Host-owned fold only. The package holds no counters and never computes a ratio at runtime.\nconst counts = foldTableSettledCalls(settled);\nconst share = guardedFractionAmongRoutes(counts);\n// share.kind === 'absent' when zero calls or only one route was observed — never a misleading 0 or 1.\n// These numbers describe only settled calls through the returned table — not \"total operations\"\n// and not \"100% enforcement coverage\".\n```\n\n**Why two hooks (not redundant):**\n\n| Hook | What it is |\n|------|------------|\n| **`onEvent`** | The frozen core’s lifecycle emitter (`GuardConfig.onEvent`), forwarded **unchanged** into the guard config. Partial telemetry. Alone does **not** unlock MONITOR — pair with `monitoringSinkWired: true`. |\n| **`onSettledCall`** | Composition post-call observation: fires **exactly once** for every **settled** call through the **returned** table. Discriminated union `SettledCallObservation` with explicit `route` (`GUARDED` \\| `PASSTHROUGH` \\| `BYPASSED`) and `terminal` (`RETURNED` \\| `THREW`). Replaces the former guarded-only `onOutcome` / `ObservedOutcome`. |\n\nNeither replaces the other. Lifecycle crumbs ≠ full settle record; settle record ≠ every lifecycle event.\n\n**Gaps (same weight as the features — do not build an “every mutation was checked” claim on these hooks alone):**\n\n- **`onEvent` has no dedicated BLOCK / REQUIRE_APPROVAL event.** After `preflight_result`, those paths return blocked with no further emit. Those outcomes are visible via **`onSettledCall`** on the GUARDED arm (`outcome.executed === false`, `outcome.verdict.kind === 'BLOCK' | 'APPROVAL'`), not via `onEvent`.\n- **Event payload carries no envelope, receipt, or fingerprint** — only optional `decisionId` (and action/cause/signals/…). **GUARDED+RETURNED** carries the full outcome, including `outcome.verdict.envelope` where the frozen path attached one (BLOCK / APPROVAL / ALLOW / MONITOR).\n- **`onSettledCall` sees only the returned table.** Host-registered raw tools outside that table are invisible. Passthrough and forced-bypass (break-glass readonly) routes **do** fire; that is deliberate so hosts can count table traffic without inventing “total operations.”\n- **`onEvent` is partial on other branches too** (e.g. some closed-availability stops may emit only `preflight_start`). The declared type **`execution_skipped` is never emitted** by the frozen core.\n- Neither hook alone is receipt carry-forward: `onEvent` lacks envelope/receipt; `onSettledCall` exposes them when present on GUARDED+RETURNED but does not retain or re-inject them across calls.\n- **No package-held ratio.** Pure helpers `foldTableSettledCalls` / `guardedFractionAmongRoutes` run on a host list; the latter returns **absent** (not zero) when observation is one-sided.\n\n**Safety guarantees (observation must not change execution):**\n\n- The host receives the **same return value** the unwrapped tool produced; observation does not alter it.\n- A throwing `onSettledCall` does not break the call; a **returned rejected promise** is handled (not left unhandled).\n- If the tool/`guardToolCall` path **rejects**, the rejection **propagates** after the THREW observation fires — no fake GuardOutcome is invented on that arm.\n\n### Receipt chaining (package cursor default-on; host may override)\n\nThe signed receipt body has always carried a **previous-receipt** field (`prev`): the issuer stores\nthe literal `null` when no prior token was supplied, or `sha256:`+hex of the prior token when the\npreflight request included `previous_receipt`. That makes **hash-linked sequences** possible.\n\n**Package-level composition cursor (shipped, default on):** `withCodeRifts` keeps a **per-composition-\ninstance** receipt cursor. With `threadReceipts` defaulting to **true** (`threadReceipts !== false`),\neach enforced+receipt-verified guarded call can advance that cursor and supply it as\n`previous_receipt` on the next preflight for the same composition. Opt out with\n`threadReceipts: false` (every call is then a root unless the host threads manually). This is **not**\nprocess/session global; it is one cursor per `withCodeRifts` result. The package does **not** verify\nsignatures or self-attest chain authenticity — re-run `verifyReceiptChainLinkage` (and signature\nverify) on tokens you export if you need product truth.\n\n**Host override (always wins):** `previousReceipt` on the composition (string or getter) overrides the\npackage cursor at resolve time when set — use it to inject a prior the composition does not hold.\n\n```typescript\n// Default: automatic carry-forward for this composition (threadReceipts defaults true).\nconst { tools, receipt_thread } = withCodeRifts({\n  tools: rawTools,\n  client,\n  operation: 'merge',\n});\n// receipt_thread.enabled === true; receipt_thread.lastToken() after settled guarded calls.\n\n// Opt out of the package cursor:\nconst { tools: t2 } = withCodeRifts({\n  tools: rawTools,\n  client,\n  operation: 'merge',\n  threadReceipts: false,\n});\n\n// Host-owned prior (overrides the package cursor when both exist):\nlet lastToken: string | undefined;\nconst { tools: t3 } = withCodeRifts({\n  tools: rawTools,\n  client,\n  operation: 'merge',\n  previousReceipt: () => lastToken,\n  onSettledCall: (o) => {\n    if (o.kind !== 'settled_call' || o.route !== 'GUARDED' || o.terminal !== 'RETURNED') return;\n    const v = o.outcome.verdict;\n    if (v && 'envelope' in v && v.envelope?.receipt?.token) {\n      lastToken = v.envelope.receipt.token;\n    }\n  },\n});\n```\n\nThe same `previousReceipt` field exists on `GuardConfig` for direct `guardToolCall` /\n`guardToolRegistry` use (`previousReceipt?: string | (() => string | undefined | null)`).\n\n**Concurrency (serial only for a linear chain):** Automatic advance is correct when guarded contract\ncalls run **one after another**. Overlapping tool calls can race; the package **refuses to advance**\nthe composition cursor under overlap rather than inventing a concurrent receipt manager. If you need\na linear chain under concurrency, **the host owns the ordering rule** (no package mutex or queue).\nSymptom of treating a fork as a line: `verifyReceiptChainLinkage` reports `broken_link` on a\nsequence you believed was linear, with no other explanation in the tokens themselves.\n\n**Offline linkage check (not signature verification):**\n\n```typescript\nimport { verifyReceiptChainLinkage } from '@coderifts/agent-guard';\n\nconst result = verifyReceiptChainLinkage([token0, token1, token2]);\n// result.ok === true  → each token's body.prev matches null / sha256(prevToken)\n// result.ok === false → failedAt + reason (broken_link | unexpected_predecessor | malformed_token)\n```\n\nThis checks **only** predecessor commitments inside the token bodies. It does **not** verify\nEd25519 signatures, expiry, keys, or authorization — use the existing verify-receipt path for that.\n**The package does not call this over a self-held chain and announce integrity**; you export tokens\nand re-check them yourself (or with this pure helper).\n\n**`chain_status` is not linkage.** A preflight response may set `chain_status: \"absent\"` on a\nreceipt that **is** hash-linked to a prior token — and `verifyReceiptChainLinkage` will still report\n`ok: true`. That field is the server’s **channel-chain attestation gate** (prior signature intact /\nbroken / not evaluated), not predecessor linkage. On the preflight path that gate does not run, so\n`absent` is expected; linkage is what `verifyReceiptChainLinkage` answers. Neither proves the\npredecessor was ever a real signed receipt — see the signature/auth path above. `previous_receipt`\nalso does not change the decision or fingerprint (audit trail only, by design).\n\n**When a chainable receipt exists — and when it does not**\n\nA receipt token appears on the outcome when the frozen path attached an envelope with\n`envelope.receipt.token` (typically BLOCK / APPROVAL / ALLOW / MONITOR after a successful\npreflight). An intact chain of those tokens means: **the guarded contract calls that produced\nreceipts, in the order you present, with none removed or reordered** (linkage is tamper-evident).\nIt does **not** mean a complete session record.\n\nReceipts are **absent** on at least:\n\n- **Detector-skipped** calls (`SKIPPED` / not a contract call) — no preflight, no envelope.\n- Calls that **failed closed before the oracle** (e.g. missing artifact content) — no issuance.\n- **Open-passthrough** availability paths that execute with a null envelope — no this-call receipt.\n- **Readonly passthrough** tools — never enter `guardToolCall`; they still settle via `onSettledCall`\n  as `PASSTHROUGH` (no GuardOutcome / no receipt).\n\nA receipt **can exist when the tool then threw** after approval (`executed: false`, `error` set).\nThe chain records an issued decision for a mutation that may never have landed — do not read\n“chain link” as “edit applied on disk.”\n\nDo **not** claim an intact chain proves session completeness, that edits landed, or that downstream\nCI may skip re-analysis. Prefer tamper-evident language over “tamper-proof.”\n\n### WARN / `CONTINUE_WITH_MONITORING` — claim gate + measured delivery\n\nWithout both **`monitoringSinkWired: true`** and an **`onEvent`** handler, a **WARN** verdict does\n**not** proceed (`MONITORING_UNWIRED`, tool does not run). That claim-agreement gate is unchanged.\n\n**Measured delivery (N-4)** is a separate observation. Set `monitoringSink` to a callback that may\nreturn an ack, or to `{ url }` (HTTP POST). The CWM outcome then carries `monitoring_delivery`:\n\n| `monitoring_delivery.status` | Meaning |\n|------------------------------|---------|\n| `delivered_acked` | Sink invocation completed and returned a non-error ack (callback value / HTTP 2xx). Evidence: `{ at, ack_hash: sha256(ack-bytes) or status_code, sink_kind }`. Optional HMAC (`ackHmacKey`) valid → `ack_verified: true`. |\n| `sent_unacked` | Invocation dispatched, no ack semantics (undefined-returning callback, or claim+`onEvent` only with no dedicated sink). |\n| `not_delivered` | Throw / timeout (default 5s, `monitoringSinkTimeoutMs`) / HTTP non-2xx / invalid HMAC. |\n\n**Teeth:** under default `failPolicy: 'closed'` (and `profile: 'ENFORCING_STRICT'`), `not_delivered`\nis treated as the sink-not-wired case — `MONITORING_UNWIRED`, factory does not run. `observeOnly` or\n`failPolicy: 'open'` degrade: the call proceeds **unenforced** with the reason visible.\n\n**Honesty:** `delivered_acked` means the sink returned an ack. It does **not** mean a human saw the\nevent. Invalid HMAC is `not_delivered` (a lying sink is worse than no sink). No HMAC key configured\n→ no verification attempted, no penalty.\n\n**Agreement (fail closed on contradiction) — claim gate, still required:**\n\n| `monitoringSinkWired` | `onEvent` | MONITOR claim gate |\n|-----------------------|-----------|--------------------|\n| `true` | function present | wired — proceeds to delivery measurement (when receipt verified) |\n| `true` | absent | contradiction → `MONITORING_UNWIRED` |\n| absent / `false` | function present | **unwired** — declaration required; `onEvent` alone is not enough |\n| absent / `false` | absent | unwired |\n\n**Three different jobs (not three sinks):** `onEvent` = lifecycle events (never throws, never an\nack); `monitoringSinkWired` = host claim that monitoring is intentionally wired; `monitoringSink` =\nmeasured delivery (callback or HTTP); `onSettledCall` = one settle record per returned-table call\nand gates nothing.\n\nPass claim+lifecycle on `withCodeRifts({ …, onEvent, monitoringSinkWired: true })` and optionally\n`monitoringSink` / `ackHmacKey` / `monitoringSinkTimeoutMs`. Same fields on `guardToolCall` /\n`guardToolRegistry`’s `guard` config.\n\n## Guarantees (tsc-verified)\n\n- **Fail-closed by default** — any ambiguity, integrity failure, or unknown state resolves to `STOP`.\n- **Eager-execution ordering closed (TOCTOU proper is NOT closed)** — the factory creates the\n  mutating work *after* the verdict, so no mutation is built before authorization. The\n  measurement-to-commit race remains: content resolved at measurement time can change before the\n  host commits. Closing that needs a host-side conditional write (compare-and-swap on a version\n  token) — this package never writes, and reports `conditional_write` as a host assertion it\n  cannot verify. **`requireExecutionStateMatch`** (default `true`) refuses on observed\n  execution-state drift (`EXECUTION_STATE_DRIFT`) or unmeasurable T2\n  (`EXECUTION_STATE_UNMEASURABLE`). Opt-down: `'warn'` / `false`. No atomic CAS at commit;\n  T3 observes the result after the write (not atomic). See the subsection above.\n- **Retry-safe** — `executionAttempted` is the only safe-to-retry signal; a post-authorization throw\n  is `executionAttempted:true` (the remote side effect may have landed).\n- **`enforced:true` only on a LIVE, receipt-verified `ALLOW`/`MONITOR`** — never on cached/LKG,\n  SKIPPED, observeOnly, or fail-open paths (unrepresentable at compile time).\n- **Integrity failures never fail open** — a bad signature, schema-invalid response, detector/config\n  error, or request-attributable rejection (413/422) always resolves closed + trips the breaker.\n\n**The artifact is not the contract.** Every guarantee above keys off a change to a contract *file*.\nAn implementation edit under an unchanged spec changes the served behaviour and produces nothing for\nthis package to see: the detector does not trigger, no preflight fires, and a clean run means only\nthat the artifact did not move. A handler that starts returning `null` for a field the schema still\nmarks required, a response that quietly changes shape, an authorization check deleted behind a\nbyte-identical OpenAPI file — none of those are contract changes as far as this package is\nconcerned, and none of them are caught here. Governing the artifact is not the same as governing the\nbehaviour it describes, and this package does not diff served behaviour.\n\n## Trigger detection\n\n`builtinDetector` (fail-safe, versioned) decides whether a tool call touches a contract artifact\n(OpenAPI/GraphQL/gRPC/AsyncAPI/MCP manifest/migrations/CI gates). Precedence: explicit artifacts >\nfilesTouched patterns > diff/content markers > toolName > intent (add-only). Ambiguity triggers\n(`confident=false ⇒ trigger=true`). It passes all 68 vectors of the Grok trigger corpus.\n\nSee `agent-guard-api.FROZEN-v1.0.md` for the full frozen contract.\n","readmeFilename":"README.md"}