{"_id":"@graphorin/security","_rev":"29-8a1a868999a13590ce19ed92b2385441","name":"@graphorin/security","dist-tags":{"latest":"0.15.1"},"versions":{"0.5.0":{"name":"@graphorin/security","version":"0.5.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.5.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"5d168c62a76620d4f3e7b2fc5bfb3995a5298e31","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.5.0.tgz","fileCount":421,"integrity":"sha512-2S2oNVV5/gzVioeh3e6m8ED33tXshLdNAlb4yfnb/QuM3SWzDTCvO5HNjh4tZbCNMNi9P6fP9Sw4CJDNh5nsdg==","signatures":[{"sig":"MEYCIQCghj7ZqVDJBduJiQnPhvK2KRRWkzflq32YTjH0IBgY1QIhAIQPnKuE2mi4QcJ78ASVqpbExsmTqf1jbyHFn5pINpFR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1518811},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","import":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","import":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","import":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","import":"./dist/oauth/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","import":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","import":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","import":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","import":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","import":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","import":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"o-stepper","email":"step.oleksiy@gmail.com"},"_resolved":"/tmp/89c4b6d3d595dcd647db1f1a1f2c1155/graphorin-security-0.5.0.tgz","_integrity":"sha512-2S2oNVV5/gzVioeh3e6m8ED33tXshLdNAlb4yfnb/QuM3SWzDTCvO5HNjh4tZbCNMNi9P6fP9Sw4CJDNh5nsdg==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"10.9.8","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.5.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.5.0_1783060942444_0.5530247439749174","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@graphorin/security","version":"0.6.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.6.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"82c85c8d7ff931b1e34502797612c8b629f9e8e8","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.6.0.tgz","fileCount":435,"integrity":"sha512-3EIyli1AxcA8Y7qXRksOf29lIZZi/2LLK3FjQP7yrV29U2f0U38g47FYDmjNpAwoT7o/qFus+h/fliDsg0o0Aw==","signatures":[{"sig":"MEUCIFBTaxjEMfRNkdXc54JWXAKmepDqncl57o9NBTi3PJQ4AiEA8N/zbn/bUczh5lekh2pFS7lEf8YjqGOyztAV/jm9R4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1605244},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","import":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","import":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","import":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","import":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","import":"./dist/policy/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","import":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","import":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","import":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","import":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","import":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","import":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"o-stepper","email":"step.oleksiy@gmail.com"},"_resolved":"/tmp/70a5a29e3fa8ddf8988067a87d4b34e9/graphorin-security-0.6.0.tgz","_integrity":"sha512-3EIyli1AxcA8Y7qXRksOf29lIZZi/2LLK3FjQP7yrV29U2f0U38g47FYDmjNpAwoT7o/qFus+h/fliDsg0o0Aw==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"10.9.8","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.6.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.6.0_1783230381496_0.4459125410338136","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@graphorin/security","version":"0.6.1","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.6.1","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"0aef9f6d2b886293c2ee22abd92d0f9882531167","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.6.1.tgz","fileCount":437,"integrity":"sha512-eRtErDwohg1Ca6D2ITuBlTa8/h0dxdCHTZ7NIwzLZzEjS1Ato0E/035i+Mrqw8W0prHtRADiHg1GSI/zlDrEJg==","signatures":[{"sig":"MEYCIQCDiqR9ccb+gzWe1jKwVRoTIqwyzvhqym+/OHhvMk8zJwIhAIYyB0TTDdrENsVH6uaQU6C6/70ZJhHw9zUXo0dPxfy7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1612080},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.6.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","import":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","import":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","import":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","import":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","import":"./dist/policy/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","import":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","import":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","import":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","import":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","import":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","import":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"o-stepper","email":"step.oleksiy@gmail.com"},"_resolved":"/tmp/9db16c03655577e3a12f971c9d2594c7/graphorin-security-0.6.1.tgz","_integrity":"sha512-eRtErDwohg1Ca6D2ITuBlTa8/h0dxdCHTZ7NIwzLZzEjS1Ato0E/035i+Mrqw8W0prHtRADiHg1GSI/zlDrEJg==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"10.9.8","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.6.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.6.1_1783240310609_0.898103026201821","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@graphorin/security","version":"0.7.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.7.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"74a91fbe1afa54495a0144c0e203945bda7f8256","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.7.0.tgz","fileCount":555,"integrity":"sha512-P7OD/G0In9+avi8wxj8ipT/HyFCkY+xi8cV8ww0k2PXor9FvquBEfUPM0Y0nVjbgGrYH3qre2jmFqvMyVvkTDw==","signatures":[{"sig":"MEQCIEOa9jQ7VEaAgOxIDWVWlCfiWOR9GnpL1XiLPpE7YTVCAiAIfmXUf532FEBv4acpml5snGdRRMqutGPzj8r6WpYoag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2297711},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/9e7a1005bf41a841a0f640e4e540b62c/graphorin-security-0.7.0.tgz","_integrity":"sha512-P7OD/G0In9+avi8wxj8ipT/HyFCkY+xi8cV8ww0k2PXor9FvquBEfUPM0Y0nVjbgGrYH3qre2jmFqvMyVvkTDw==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.7.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.7.0_1783394980964_0.2728361557201078","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@graphorin/security","version":"0.8.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.8.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"07c7484167a9ef271d10bec80961116ec17ad6f5","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.8.0.tgz","fileCount":555,"integrity":"sha512-ags1bm7mHzG96kJdSdiK1cugKKx0QmrmJWXw0VDL4bUXdtrfID7007cEtTkGTGlOTB859dxhFzPoQ6S7cuJiDw==","signatures":[{"sig":"MEUCIQCArHqbqIyvh3Gb8a96oKnKb05xou7Vvz2o0z4aUjg3YQIgcpqyjtvlsi99zff57P/SRlaRLsuUNtn0o1dk0SAyihg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2306240},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/5b6618eae96da214f14b57d7abf46c5a/graphorin-security-0.8.0.tgz","_integrity":"sha512-ags1bm7mHzG96kJdSdiK1cugKKx0QmrmJWXw0VDL4bUXdtrfID7007cEtTkGTGlOTB859dxhFzPoQ6S7cuJiDw==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.8.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.8.0_1783783845947_0.2629409608292612","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@graphorin/security","version":"0.9.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.9.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"1d488f47894160753a047abfe9219436cf2ac613","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.9.0.tgz","fileCount":563,"integrity":"sha512-M9IOzLnU3r2MZ2ni5ZHXvQDlSOfICOUXWTn6yUIeBXPm/XWFI6SDxnUf+OEZZJof9MI3eQ0b/Ek+bppv5RJS3A==","signatures":[{"sig":"MEUCIQCB6TXbOyuOgev2mk3np4YbV+VPZKX0LfxtmDWKP29cmAIgBxJzjAOAlWzOeG0KzGfbxrywdw4Ijnxo6RPvUQDWi90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2352097},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.9.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/45c9aa170daab51986f86ec1149a7042/graphorin-security-0.9.0.tgz","_integrity":"sha512-M9IOzLnU3r2MZ2ni5ZHXvQDlSOfICOUXWTn6yUIeBXPm/XWFI6SDxnUf+OEZZJof9MI3eQ0b/Ek+bppv5RJS3A==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.9.0_1783941140945_0.13705297037684283","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@graphorin/security","version":"0.10.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.10.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"f5bfe3b38d0f2263236425b34044ae369abb197c","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.10.0.tgz","fileCount":563,"integrity":"sha512-poLogQQx9wUoCXu9G52LhK4+FjYwg8fuIRCk+ZJmBQ9fD6XfHkUbyAdprhPJZ7gYdg60rp47XJjhg8ybh5X0Fg==","signatures":[{"sig":"MEQCIEi8R6BHadM1x11UkGqE4p/0WzPoPVE5MzjLHSFq8UNVAiAniL66SSrjix8J/e5rUu40uqeCoKHXO9yvXqIyeH/DCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2352188},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.10.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/33c7e5fc46c29e48628dea1affd4635d/graphorin-security-0.10.0.tgz","_integrity":"sha512-poLogQQx9wUoCXu9G52LhK4+FjYwg8fuIRCk+ZJmBQ9fD6XfHkUbyAdprhPJZ7gYdg60rp47XJjhg8ybh5X0Fg==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.10.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.10.0_1784200827279_0.5141026825945876","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@graphorin/security","version":"0.10.1","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.10.1","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"1a35fb0d8ddefc54f0b55c967c5bdbe53b975ce2","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.10.1.tgz","fileCount":563,"integrity":"sha512-AnBjWM8QXhimLhg6A5xEigWblADizBGLs8BrXkY6tEA3B58R60+c3wmA/rvOl6UHWHKyAOpYJGrA7lPEwzlYxA==","signatures":[{"sig":"MEYCIQCfpvTohlGdcy43LJhnEFA6wytNG0WT2V0xJeapzipwggIhAN4oBpBMTusetTacFd1qzyePnsGutMmW1tIZ9TU6nUJU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2369838},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.10.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/ee879675b77404c5d9280e9da210d49f/graphorin-security-0.10.1.tgz","_integrity":"sha512-AnBjWM8QXhimLhg6A5xEigWblADizBGLs8BrXkY6tEA3B58R60+c3wmA/rvOl6UHWHKyAOpYJGrA7lPEwzlYxA==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.10.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.10.1_1784234226446_0.9122358234075829","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@graphorin/security","version":"0.10.2","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.10.2","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"d0a09360c3d1c97ff577eece65a28f603f884d6d","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.10.2.tgz","fileCount":563,"integrity":"sha512-scYPZeS+/ALI6BN1PII/M+2CYGdA0erXvgcTq/ZVvklvanTTIMIJCfXE/hql8jSHGf5UOpjw7Cl8+N3K8QKX7A==","signatures":[{"sig":"MEYCIQC+8OEO7XjVGl5qnxGhMfIRTVS4ZpnhRbRmaUwzrglLkwIhAOeunMnYHNQDQOzisTRCyQ0Qv7XTpXJq/f31RA9eSS/a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2369923},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.10.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/035138fda53efefeb6b11cd49361f08e/graphorin-security-0.10.2.tgz","_integrity":"sha512-scYPZeS+/ALI6BN1PII/M+2CYGdA0erXvgcTq/ZVvklvanTTIMIJCfXE/hql8jSHGf5UOpjw7Cl8+N3K8QKX7A==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.10.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.10.2_1784273654341_0.39802484215834366","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@graphorin/security","version":"0.11.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.11.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"2f175b944dd6d4ce40e67bdf51e15531e0aec923","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.11.0.tgz","fileCount":563,"integrity":"sha512-Tw2sDBpLwgKns/FU9k++8PjJfu8vJINpeuIHAtF8GwzgwG53A/FgHZqAe7GMbFnx3wWPFg/xDpAYiIQJTKh93Q==","signatures":[{"sig":"MEUCIAam6xa5bXuY+geDeMcIb/si36TwHmJ0RHSoJzF4y6s+AiEAkTCXFdMCOx3tyuvfqXWKeBOIvsbNzEIUMrU80MQso7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2370107},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.11.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/993f76647a24604a910008f1dfa357b7/graphorin-security-0.11.0.tgz","_integrity":"sha512-Tw2sDBpLwgKns/FU9k++8PjJfu8vJINpeuIHAtF8GwzgwG53A/FgHZqAe7GMbFnx3wWPFg/xDpAYiIQJTKh93Q==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.11.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.11.0_1784290947801_0.9509169772702906","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@graphorin/security","version":"0.12.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.12.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"4f0d550e6c03c1e544ace732b07dfbf1fd890ef3","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.12.0.tgz","fileCount":563,"integrity":"sha512-SbDXm/eERZgwrjsu3pPS/MDbOoK/nQc6wkx0eDB77C0Yj+ovDnvXjCXu/iHUFGm3bTmxzMupQRvb0Q8O23Hpag==","signatures":[{"sig":"MEQCIEOUS9vmDgf43UzCKdgjezzxJ/qbZHgspnU4Y9o90wbdAiARppJjoZk1+RrIkb5ZAa7b1E/HPVEasC1IDINnbHDldg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2370192},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.12.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/6662665e0fc672e7696afdd97f94d358/graphorin-security-0.12.0.tgz","_integrity":"sha512-SbDXm/eERZgwrjsu3pPS/MDbOoK/nQc6wkx0eDB77C0Yj+ovDnvXjCXu/iHUFGm3bTmxzMupQRvb0Q8O23Hpag==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.12.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.12.0_1784297331907_0.4883986475094322","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@graphorin/security","version":"0.12.1","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.12.1","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"78e8b815443fcba9344434a73ae5b8b35d40face","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.12.1.tgz","fileCount":563,"integrity":"sha512-xttmCVzNgLn6V2QeuoQptBF4HjSbd37vmDvmej3NBEjtQbexUMd6hjsXXZBBWr4BM2qh3M+29fgJxau3T2rnWA==","signatures":[{"sig":"MEUCIQCGbhtAoXrJmBK1QurIJAqreiQh2vTrFJQG7UIuU71rAQIgRt3VwKWr1m5l4S+fsYBvwAb4ADfEguXivehWsauYow0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2370277},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.12.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/30a968dfb2339c4ccf351dc1080dcb7b/graphorin-security-0.12.1.tgz","_integrity":"sha512-xttmCVzNgLn6V2QeuoQptBF4HjSbd37vmDvmej3NBEjtQbexUMd6hjsXXZBBWr4BM2qh3M+29fgJxau3T2rnWA==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.12.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.12.1_1784304061780_0.7776144740405793","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@graphorin/security","version":"0.13.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"6d00b45bf692b36981085726e8fdaa945291c2e3","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.0.tgz","fileCount":563,"integrity":"sha512-Nls3Q0eUMOGzV+Tk3A5s2H0Em7fDkW8S4dcMzLyKwiBQVJBczwjgXBFOrwk1luhwvpca1mmrCJOo5aTexNaIzw==","signatures":[{"sig":"MEYCIQDofVt8lZLZQtVYjXOwMHRXVXDV3N3hIY+vfxslST+hMQIhAJmbC01Dp5zoSdwrqojVl6VmDMsJREb+3pBM+b/CNFwY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2373877},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/21561e6e38dcab41ee2372172ef98bcd/graphorin-security-0.13.0.tgz","_integrity":"sha512-Nls3Q0eUMOGzV+Tk3A5s2H0Em7fDkW8S4dcMzLyKwiBQVJBczwjgXBFOrwk1luhwvpca1mmrCJOo5aTexNaIzw==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.0_1784461403204_0.14821692221551386","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@graphorin/security","version":"0.13.1","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.1","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"48383de01026e750bac88b1d81b7acf6464f5012","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.1.tgz","fileCount":563,"integrity":"sha512-852lmy0K71aWIaDOGMGWyeIzHqmxIa/uyrDHAZqu5J6lux+iTaqq34uEHmsIxeSJN47Qa6O1ije6eZPEUpfKdA==","signatures":[{"sig":"MEUCIQCkJkWTZGG7hGWEY4nOcx132uigWD9Q1B6woLahxo9iCgIgCp0LuuHD6wrtcQGoNOwUhUWjZGReEyDziWNm00QYmD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2372023},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/ba0fdb1c6878485361dfe12af1b20500/graphorin-security-0.13.1.tgz","_integrity":"sha512-852lmy0K71aWIaDOGMGWyeIzHqmxIa/uyrDHAZqu5J6lux+iTaqq34uEHmsIxeSJN47Qa6O1ije6eZPEUpfKdA==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.1_1784477262244_0.8002554142049676","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@graphorin/security","version":"0.13.2","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.2","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"4745a1abebee13589ecee96c5b6f08e6e8c11a10","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.2.tgz","fileCount":563,"integrity":"sha512-02wrtqWsJJu/AY55ZNNo5BnJgyDvgcar4pPQ45MIrJSx8smdvZKvl7TFMeqNnMUdr/Zw8Oo8mJGE7tcTk1u+3A==","signatures":[{"sig":"MEYCIQDHZ5XValUyL5gYz/tBsCBpekyBtqeS+J5oBpEFfq+pPwIhAMzE9n0alJl2gvPE2L43TTUzerAFra61qIgNrfiH0yQH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2372207},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/42b57a3ce4d65390b504e2ff21d7771c/graphorin-security-0.13.2.tgz","_integrity":"sha512-02wrtqWsJJu/AY55ZNNo5BnJgyDvgcar4pPQ45MIrJSx8smdvZKvl7TFMeqNnMUdr/Zw8Oo8mJGE7tcTk1u+3A==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.2_1784490551556_0.839538425040498","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"@graphorin/security","version":"0.13.3","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.3","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"37a10d389094327f82c76a2a30f4c3dc0431bae0","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.3.tgz","fileCount":563,"integrity":"sha512-SQFnQKZCdKkqe5AgjHH+KS6DElkxV5wSuhKNXaIat4/srfw2wo2L1rULc88xl/TBYHNuGRbO1RgqMbOX0albGw==","signatures":[{"sig":"MEQCIBEew6xMKz6GFC3LP5VI+ozteuCaOpJ+ZRLtN1WAPCXWAiAHnoFYdBQh6MP4lN1RntRkbfJPuZkPEaAbiQPaSBOD2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2376273},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/df61bc8dd2be0cf10a5bf5d8049cc9c8/graphorin-security-0.13.3.tgz","_integrity":"sha512-SQFnQKZCdKkqe5AgjHH+KS6DElkxV5wSuhKNXaIat4/srfw2wo2L1rULc88xl/TBYHNuGRbO1RgqMbOX0albGw==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.3_1784526979533_0.027396821831592977","host":"s3://npm-registry-packages-npm-production"}},"0.13.4":{"name":"@graphorin/security","version":"0.13.4","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.4","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"119b234cf19fd5ab7e69393da78f8dcece77018c","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.4.tgz","fileCount":563,"integrity":"sha512-JlZ6de2lPkO4MxdNxvlROhyOPyPuCk26Qo9dB9jeMSASs+ahuqR/eT/wl2uDwWds/lM+u+LR1KRrOKp2MY+GKQ==","signatures":[{"sig":"MEYCIQCEvM7KFhSDbiE0tgkWWXrZcdzwN3tZj2EzB+EeiaojPwIhAN4TnYR1VE3vcNXSf/vQgzLEhu549XaWZgEoN5w5G61E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2381272},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/ea20324bcda6fa12f2d556b1213298cd/graphorin-security-0.13.4.tgz","_integrity":"sha512-JlZ6de2lPkO4MxdNxvlROhyOPyPuCk26Qo9dB9jeMSASs+ahuqR/eT/wl2uDwWds/lM+u+LR1KRrOKp2MY+GKQ==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.4"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.4_1784532402488_0.360318240928885","host":"s3://npm-registry-packages-npm-production"}},"0.13.5":{"name":"@graphorin/security","version":"0.13.5","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.5","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"e23860eae06d8684832cb215d7c54ec9dcfa868a","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.5.tgz","fileCount":563,"integrity":"sha512-8qFmwPB6c7gKbiW16Kmf3MyJOA3IkykDgp7TdAdiSP5E/DZ1eSoOsrEu1uX5drNhCH3UBLJG0/ZgAqTJuiPqVA==","signatures":[{"sig":"MEUCIHJBYfOXcXYcgHoY9IPw2Ex7vu5qIYPUuhZaP9nF/k5UAiEA1a7LkEbOqwgDMgIyJvzVrDlqSJhKTjMAb6SMVA+4Kgg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2389779},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/e8ef19b6a264dbb849d053089bd9e6f7/graphorin-security-0.13.5.tgz","_integrity":"sha512-8qFmwPB6c7gKbiW16Kmf3MyJOA3IkykDgp7TdAdiSP5E/DZ1eSoOsrEu1uX5drNhCH3UBLJG0/ZgAqTJuiPqVA==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.5"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.5_1784541638070_0.5530329826054101","host":"s3://npm-registry-packages-npm-production"}},"0.13.6":{"name":"@graphorin/security","version":"0.13.6","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.6","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"9d0164085b4930b9817a579187a1a3c62d279631","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.6.tgz","fileCount":563,"integrity":"sha512-/6judWlRRKwC5CccERBd2yIs59cvraqLTefQR8arSBq+oPvFaWDrTLe+ZhF+nqRm+Sy5dbBCcq8ZkhTemVYv0g==","signatures":[{"sig":"MEUCIQDRt93G6+qHzFLLMP03As/GK8XOWfGWN9DCyZeYCOSCBgIgUcWfMnWrn4mErBanukFPMaGCv9f2qqUXj9ZLwnWi5yg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2394574},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/62b35232d0257c7f05a79c8a6b74404d/graphorin-security-0.13.6.tgz","_integrity":"sha512-/6judWlRRKwC5CccERBd2yIs59cvraqLTefQR8arSBq+oPvFaWDrTLe+ZhF+nqRm+Sy5dbBCcq8ZkhTemVYv0g==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.6"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.6_1784551331171_0.3256519702703953","host":"s3://npm-registry-packages-npm-production"}},"0.13.7":{"name":"@graphorin/security","version":"0.13.7","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.7","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"932ff6b161d1aa52de88a0fa06b531285e54a4b0","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.7.tgz","fileCount":563,"integrity":"sha512-FBZcr45eZxTGd/iQnhlw8h6t6REewUnqwGeHdDFP0TzdpQ41RPkorW46KZbMD/ywZy9KBTb5IBu6Ni4GKLPmCg==","signatures":[{"sig":"MEQCIF4+TCSLTRiOwP8e8Fe15n4blU2OVwjDqkDwhUTe2J3/AiA2kt8KBhXMQ65/d1sUdpQT1476arY+7O6zYocGuQWPLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2394659},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/7e6ae484a77817528c68a753194abb1b/graphorin-security-0.13.7.tgz","_integrity":"sha512-FBZcr45eZxTGd/iQnhlw8h6t6REewUnqwGeHdDFP0TzdpQ41RPkorW46KZbMD/ywZy9KBTb5IBu6Ni4GKLPmCg==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.7"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.7_1784562502331_0.07847765266787099","host":"s3://npm-registry-packages-npm-production"}},"0.13.8":{"name":"@graphorin/security","version":"0.13.8","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.8","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"093b4bb0757146d80e9f8a458a5d55f33f3f50ef","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.8.tgz","fileCount":563,"integrity":"sha512-BggNDEuRONFy/Ff5xVw0j2r4YJa5ul1l5nGcqN80LH7KhySkxqE2D3fiqo6bS4036jSfV4y9/iCktlq3WZkFjw==","signatures":[{"sig":"MEYCIQCoekLf8x3pYGeOFjoeX0R1Y97fV4+6LT3Q69rx46X9EQIhAKX+IeFOp1rvzWQJttmYPhioh/7i85muOsn3O3xsr3os","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2394744},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/d48eb073d4d10eaf6d9a1da485999a2b/graphorin-security-0.13.8.tgz","_integrity":"sha512-BggNDEuRONFy/Ff5xVw0j2r4YJa5ul1l5nGcqN80LH7KhySkxqE2D3fiqo6bS4036jSfV4y9/iCktlq3WZkFjw==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.8"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.8_1784574668439_0.1991321918566864","host":"s3://npm-registry-packages-npm-production"}},"0.13.9":{"name":"@graphorin/security","version":"0.13.9","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.9","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"8de2d5ace96570bae3c82051b2f6ea72246bb21c","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.9.tgz","fileCount":563,"integrity":"sha512-LqFudR0x3xIQxPTEIWhFReHcPd93NVdxIHrMcN9Hsl8HowkuvqCBhpY+r1oQ+tb8ibZs80zEAnhLx78DA02CYg==","signatures":[{"sig":"MEUCIQCtM1MhzCbXjbMwBVpg+YD8pYclMekSNVLtVPTYZpv5TgIgQbwCEMAjmmuwrz7BVfvZqTkntVFitt+WgRxs1T0P/Y0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2394829},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/4b0aef8e59dc0c675753fcc49507641c/graphorin-security-0.13.9.tgz","_integrity":"sha512-LqFudR0x3xIQxPTEIWhFReHcPd93NVdxIHrMcN9Hsl8HowkuvqCBhpY+r1oQ+tb8ibZs80zEAnhLx78DA02CYg==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.9"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.9_1784612084259_0.3765293669375529","host":"s3://npm-registry-packages-npm-production"}},"0.13.10":{"name":"@graphorin/security","version":"0.13.10","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.10","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"c7c92975073a29f1766c253752eb378e76d4722f","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.10.tgz","fileCount":563,"integrity":"sha512-wtJUyDxOEl7uUtqevdB3onHYMjQ+x8QNTusHpsgIbApGQTrQ3vtJXxycjMTgGL5cmwLweS/gly9Z0/Wg+NsDdQ==","signatures":[{"sig":"MEQCIFyFb69Tc1SVHTFTW8ppLY/LeeiGpyoaGnUAlN/NNlStAiBs5uETiSrkh6/YGaqgG9mzV7uu1GDCCNO4xx2SbpSDYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2406050},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/2aa51f24d1bc9d346443f55e5406338c/graphorin-security-0.13.10.tgz","_integrity":"sha512-wtJUyDxOEl7uUtqevdB3onHYMjQ+x8QNTusHpsgIbApGQTrQ3vtJXxycjMTgGL5cmwLweS/gly9Z0/Wg+NsDdQ==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.10"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.10_1784623009104_0.7519206617722989","host":"s3://npm-registry-packages-npm-production"}},"0.13.11":{"name":"@graphorin/security","version":"0.13.11","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.11","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"2c606838c956175da762332bfac1607874bbefb1","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.11.tgz","fileCount":563,"integrity":"sha512-K1jnSW4thA6OZ2V47ChiDyW/hM4j3EchfeMudPPjnFQ4Onr65Dt0QCshjfrzV1X5AskWB/6d4D0BY0otzwx9Yw==","signatures":[{"sig":"MEYCIQDK5cZAO1d2Bwn+49FqthLyqb8vl0cZ38ecMsVcPoji3AIhAILvH2tseMncDiBlVQHJdBR/vsqNnA8ErC2iPc2HqGHl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2406843},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/e70f252e32f11a6d5652833cdd892062/graphorin-security-0.13.11.tgz","_integrity":"sha512-K1jnSW4thA6OZ2V47ChiDyW/hM4j3EchfeMudPPjnFQ4Onr65Dt0QCshjfrzV1X5AskWB/6d4D0BY0otzwx9Yw==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.11"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"dockerode":"^5.0.1","fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0 || ^5.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.11_1784635598753_0.748225662633309","host":"s3://npm-registry-packages-npm-production"}},"0.13.12":{"name":"@graphorin/security","version":"0.13.12","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.12","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"3fd97a2c7deb24fdbda6b3e9eb4c84216f88feb9","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.12.tgz","fileCount":563,"integrity":"sha512-uXzLPcyqbgeGteMRYf/bq1T9P4096uorg4ndpLWzBdtcsCb53cYKquxQcC6gPmIH47OLuZKqHQxotGDYiu7Xeg==","signatures":[{"sig":"MEUCIQDwKzOhlEdDKmwONxUNDycJ8b8phJnDEKKftX4JbVou+wIgJiIFf20ZSXp8Sfm7Ds276Nj04wiGKUdlfkPANDkonkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2409732},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.12.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/9b443b021f50a00ea3ef3a8d27ecbbad/graphorin-security-0.13.12.tgz","_integrity":"sha512-uXzLPcyqbgeGteMRYf/bq1T9P4096uorg4ndpLWzBdtcsCb53cYKquxQcC6gPmIH47OLuZKqHQxotGDYiu7Xeg==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.12"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"dockerode":"^5.0.1","fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"dockerode":"^4.0.0 || ^5.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.12_1784653267614_0.26695833133996305","host":"s3://npm-registry-packages-npm-production"}},"0.13.13":{"name":"@graphorin/security","version":"0.13.13","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.13.13","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"c5e2918ba3aa3f4384cfff79e44fdd5129fb3a41","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.13.13.tgz","fileCount":563,"integrity":"sha512-2RmfzBSAm97D6WttJKfKclV55xSjycoVu5r6SGui70tKXFHWEJ7PID0lRTCJbcI9gyI28PYrFzceOik8yPcxmg==","signatures":[{"sig":"MEQCICxVtINfIVTvDklgIwXJjakaGvviySNZ425gVbd/GYxlAiAiAGB+Hs1ZH4/QVlsVndTPXm7sCOlGN2TFbeR1g4rOfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.13.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2417345},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.13.13.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/8d29e4b03025ecfb6f12682ffcdf30da/graphorin-security-0.13.13.tgz","_integrity":"sha512-2RmfzBSAm97D6WttJKfKclV55xSjycoVu5r6SGui70tKXFHWEJ7PID0lRTCJbcI9gyI28PYrFzceOik8yPcxmg==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.13.13"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"dockerode":"^5.0.1","fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"zod":"^3.23.0 || ^4.0.0","dockerode":"^4.0.0 || ^5.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"zod":{"optional":true},"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.13.13_1784713156421_0.9658911486565533","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@graphorin/security","version":"0.14.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.14.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"627b6e32b43d497abadd110e8891c3a5d82968ad","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.14.0.tgz","fileCount":563,"integrity":"sha512-ykmwXoVI3LOd/LLGO7elkxMigqUYw5b0D2ud04CNsIvokp/qVrxw8es1rv/blU8lAZMKHRWAqmtKCz9Cji0zLQ==","signatures":[{"sig":"MEUCIQCIsDJDygOjzMeilOuFUFeoMH0l5TwpeS7FKl4fK/8+kwIgPGnIl2Syu0Ram8jhxYjjsAn7+s0iJCuJGkiJUSGk2aM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2423324},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.14.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/8c3dfc06accbaa529e500d82209587b3/graphorin-security-0.14.0.tgz","_integrity":"sha512-ykmwXoVI3LOd/LLGO7elkxMigqUYw5b0D2ud04CNsIvokp/qVrxw8es1rv/blU8lAZMKHRWAqmtKCz9Cji0zLQ==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.14.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"dockerode":"^5.0.1","fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"zod":"^3.23.0 || ^4.0.0","dockerode":"^4.0.0 || ^5.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"zod":{"optional":true},"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.14.0_1784729707669_0.8420780497632299","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@graphorin/security","version":"0.15.0","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","_id":"@graphorin/security@0.15.0","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"dist":{"shasum":"d90497a48d4af5d26c9ae511dd70f2fea1e127a9","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.15.0.tgz","fileCount":563,"integrity":"sha512-BhSmvm9MAPxGEiH7YMAZrxTssR48jjZ6uE4Qk30U+aeyqSvp58zS3noQ8L23ASJkf4apjd0TE+nCEI8sw7gb6Q==","signatures":[{"sig":"MEYCIQDsjOV4WRzKuSU6263jRVLvEXgGRtPhdZ8P8TFz+cKFJgIhAMRVHV+LfdxFGUW+adty+N+802axp/cLGuDgTIQL+CvY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2423409},"main":"./dist/index.js","type":"module","_from":"file:graphorin-security-0.15.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./package.json":"./package.json","./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"}},"scripts":{"lint":"biome check .","test":"vitest run","build":"tsdown","clean":"rimraf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"_resolved":"/tmp/8d35e3f389de6fdfe09cb33ff49180ca/graphorin-security-0.15.0.tgz","_integrity":"sha512-BhSmvm9MAPxGEiH7YMAZrxTssR48jjZ6uE4Qk30U+aeyqSvp58zS3noQ8L23ASJkf4apjd0TE+nCEI8sw7gb6Q==","repository":{"url":"git+https://github.com/o-stepper/graphorin.git","type":"git","directory":"packages/security"},"_npmVersion":"11.18.0","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","directories":{},"sideEffects":true,"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.15.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"dockerode":"^5.0.1","fast-check":"^3.23.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0"},"peerDependencies":{"zod":"^3.23.0 || ^4.0.0","dockerode":"^4.0.0 || ^5.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","@node-rs/argon2":"^2.0.2","@napi-rs/keyring":"^1.2.0","better-sqlite3-multiple-ciphers":"^12.9.0"},"peerDependenciesMeta":{"zod":{"optional":true},"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"@node-rs/argon2":{"optional":true},"@napi-rs/keyring":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/security_0.15.0_1784737518229_0.1040734600754003","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@graphorin/security","version":"0.15.1","description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","license":"MIT","author":{"name":"Oleksiy Stepurenko"},"homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","repository":{"type":"git","url":"git+https://github.com/o-stepper/graphorin.git","directory":"packages/security"},"bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"type":"module","sideEffects":true,"engines":{"node":">=22.12.0"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./secrets":{"types":"./dist/secrets/index.d.ts","default":"./dist/secrets/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","default":"./dist/auth/index.js"},"./audit":{"types":"./dist/audit/index.d.ts","default":"./dist/audit/index.js"},"./dataflow":{"types":"./dist/dataflow/index.d.ts","default":"./dist/dataflow/index.js"},"./sandbox":{"types":"./dist/sandbox/index.d.ts","default":"./dist/sandbox/index.js"},"./guard":{"types":"./dist/guard/index.d.ts","default":"./dist/guard/index.js"},"./guardrails":{"types":"./dist/guardrails/index.d.ts","default":"./dist/guardrails/index.js"},"./hardening":{"types":"./dist/hardening/index.d.ts","default":"./dist/hardening/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","default":"./dist/inspect/index.js"},"./oauth":{"types":"./dist/oauth/index.d.ts","default":"./dist/oauth/index.js"},"./policy":{"types":"./dist/policy/index.d.ts","default":"./dist/policy/index.js"},"./supply-chain":{"types":"./dist/supply-chain/index.d.ts","default":"./dist/supply-chain/index.js"},"./package.json":"./package.json"},"dependencies":{"yaml":"^2.8.0","@graphorin/core":"0.15.1"},"peerDependencies":{"@napi-rs/keyring":"^1.2.0","@node-rs/argon2":"^2.0.2","better-sqlite3-multiple-ciphers":"^12.9.0","dockerode":"^4.0.0 || ^5.0.0","isolated-vm":"^5.0.0","openid-client":"^6.8.0","zod":"^3.23.0 || ^4.0.0"},"peerDependenciesMeta":{"@napi-rs/keyring":{"optional":true},"@node-rs/argon2":{"optional":true},"better-sqlite3-multiple-ciphers":{"optional":true},"dockerode":{"optional":true},"isolated-vm":{"optional":true},"openid-client":{"optional":true},"zod":{"optional":true}},"publishConfig":{"access":"public","provenance":true},"devDependencies":{"@napi-rs/keyring":"^1.2.0","@node-rs/argon2":"^2.0.2","dockerode":"^5.0.1","fast-check":"^3.23.0","openid-client":"^6.8.0"},"scripts":{"build":"tsdown","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json","test":"vitest run","lint":"biome check .","clean":"rimraf dist .turbo *.tsbuildinfo"},"_id":"@graphorin/security@0.15.1","_integrity":"sha512-H92ohjExJW7kB/W6ss5/JJ3bI1nseW35owt4o3L/2wRgMynLjcRhzAUIhTEfHAuxillYlrTAylwU+T7v6E1LdQ==","_resolved":"/tmp/00f2fd6db0890076158389fc08dab791/graphorin-security-0.15.1.tgz","_from":"file:graphorin-security-0.15.1.tgz","_nodeVersion":"22.23.1","_npmVersion":"11.18.0","dist":{"integrity":"sha512-H92ohjExJW7kB/W6ss5/JJ3bI1nseW35owt4o3L/2wRgMynLjcRhzAUIhTEfHAuxillYlrTAylwU+T7v6E1LdQ==","shasum":"40727c7b5671791c0e03753ab9ae5225d3d19388","tarball":"https://registry.npmjs.org/@graphorin/security/-/security-0.15.1.tgz","fileCount":563,"unpackedSize":2423494,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@graphorin%2fsecurity@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBUBK3aoH4wXbiTTNmv7l3niWwfYBYVlxih7DxYAJWMIAiEAtXU59y0VEnOv06s5nJkUP05dedDAZwzvAnmyYHihBh4="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15eefc79-077c-4d47-ba6b-a2250cb78100"}},"directories":{},"maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/security_0.15.1_1784742412570_0.5748673570009988"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-03T06:42:22.264Z","modified":"2026-07-22T17:46:53.070Z","0.5.0":"2026-07-03T06:42:22.708Z","0.6.0":"2026-07-05T05:46:21.711Z","0.6.1":"2026-07-05T08:31:50.746Z","0.7.0":"2026-07-07T03:29:41.138Z","0.8.0":"2026-07-11T15:30:46.143Z","0.9.0":"2026-07-13T11:12:21.090Z","0.10.0":"2026-07-16T11:20:27.499Z","0.10.1":"2026-07-16T20:37:06.615Z","0.10.2":"2026-07-17T07:34:14.535Z","0.11.0":"2026-07-17T12:22:27.989Z","0.12.0":"2026-07-17T14:08:52.066Z","0.12.1":"2026-07-17T16:01:02.131Z","0.13.0":"2026-07-19T11:43:23.370Z","0.13.1":"2026-07-19T16:07:42.477Z","0.13.2":"2026-07-19T19:49:11.733Z","0.13.3":"2026-07-20T05:56:19.699Z","0.13.4":"2026-07-20T07:26:42.641Z","0.13.5":"2026-07-20T10:00:38.244Z","0.13.6":"2026-07-20T12:42:11.362Z","0.13.7":"2026-07-20T15:48:22.572Z","0.13.8":"2026-07-20T19:11:08.609Z","0.13.9":"2026-07-21T05:34:44.422Z","0.13.10":"2026-07-21T08:36:49.259Z","0.13.11":"2026-07-21T12:06:38.940Z","0.13.12":"2026-07-21T17:01:07.865Z","0.13.13":"2026-07-22T09:39:16.587Z","0.14.0":"2026-07-22T14:15:07.873Z","0.15.0":"2026-07-22T16:25:18.406Z","0.15.1":"2026-07-22T17:46:52.728Z"},"bugs":{"url":"https://github.com/o-stepper/graphorin/issues"},"author":{"name":"Oleksiy Stepurenko"},"license":"MIT","homepage":"https://github.com/o-stepper/graphorin/tree/main/packages/security","keywords":["graphorin","ai","agents","framework","security","secrets","secret-value","secret-ref","keyring","audit-log","hash-chain","auth","hmac","scopes","sandbox","worker-threads","guardrails","memory-guard","process-hardening","oauth","oauth2","pkce","device-flow","dynamic-client-registration","skills","supply-chain","ed25519","signature-verification"],"repository":{"type":"git","url":"git+https://github.com/o-stepper/graphorin.git","directory":"packages/security"},"description":"Security primitives for the Graphorin framework: SecretValue runtime-safe wrapper, SecretRef URI parser, pluggable SecretsStore implementations, per-tool ACL, AsyncLocalStorage-based audit scope tracking, server token authentication (HMAC-SHA256 + pepper ","maintainers":[{"name":"o-stepper","email":"step.oleksiy@gmail.com"}],"readme":"# @graphorin/security\n\n> Security primitives for the Graphorin framework.\n\n`@graphorin/security` ships the runtime building blocks every other\n`@graphorin/*` package uses to handle credentials safely:\n\n- `SecretValue` - a runtime-safe wrapper class with full leakage barriers\n  (`toString`, `toJSON`, `Symbol.toPrimitive`, `[Symbol.for('nodejs.util.inspect.custom')]`)\n  and a cross-realm brand (`Symbol.for('graphorin.SecretValue')`).\n- `SecretRef` - strict RFC 3986 URI parser for the `env:` / `keyring:` /\n  `file:` / `encrypted-file:` / `literal:` / `ref:` / `vault://` schemes\n  that appear in `*Ref` config fields.\n- A pluggable `SecretResolver` registry that turns a parsed `SecretRef`\n  into a live `SecretValue`.\n- Four built-in `SecretsStore` implementations\n  (`KeyringSecretsStore`, `EncryptedFileSecretsStore`, `EnvSecretsStore`,\n  `MemorySecretsStore`), a `composeChain(...)` helper, and the\n  `createSecretsStore({ kind: 'auto' })` factory with headless detection\n  and downgrade audit.\n- Per-tool `secretsAllowed` ACL plumbing built on `AsyncLocalStorage`,\n  `withSecret(...)` scope tracking, and an in-process audit emitter the\n  audit-log subsystem subscribes to.\n- **Server token auth** - generator + parser for the canonical\n  `<prefix>_<env>_v1_<entropy>_<crc32>` token format, scope grammar\n  (`<resource>:<action>[:<id-or-glob>]`), `TokenVerifier` with\n  HMAC-SHA256-against-pepper verification, an LRU warm cache, per-IP\n  and per-token brute-force lockouts, a concurrent-verify cap, and a\n  set of CRUD helpers (`createToken`, `revokeToken`, `rotateToken`,\n  `rekeyTokens`, `generatePepper`).\n- **Tamper-evident audit log** - `appendAudit`, `verifyAuditChain`,\n  `pruneAudit`, `exportAudit`, a canonical-JSON serialiser, an\n  `AuditDb` interface, a binding registry that fail-fasts when the\n  encrypted-SQLite peer is missing, and the `bridgeSecretsToAudit` /\n  `bridgeMemoryGuardToAudit` subscribers that forward events from\n  the secrets and memory-guard layers. On top of the hash chain, an\n  RFC-6962-style Merkle layer (`computeAuditTreeHead`,\n  `signAuditCheckpoint` / `verifyAuditAgainstCheckpoint` with Ed25519\n  keys, inclusion + consistency proofs) lets an external verifier\n  hold a signed tree head and prove the log was not rewritten.\n- **Tool-argument policies** (`@graphorin/security/policy`) -\n  Progent-style declarative constraints over tool arguments\n  (`evaluateToolArgumentPolicy`) plus a Rule-of-Two profile builder\n  (`buildRuleOfTwoPolicy`), wired into the agent via\n  `AgentConfig.toolPolicy` / `ruleOfTwo`.\n- **Sandbox** - `createNoneSandbox`, `createWorkerThreadsSandbox`\n  (default for user-defined tools, with optional `noNetwork` /\n  `noFilesystem` shields), `createIsolatedVMSandbox` (opt-in peer\n  dependency, auto-fallback to worker-threads with WARN-once when\n  the peer is unavailable), `createDockerSandbox` (opt-in\n  `dockerode` peer), and the `resolveSandbox(...)` tier resolver\n  that mandates the `worker-threads + no-network + no-filesystem`\n  policy on untrusted skills.\n- **Memory-modification guard** - `classifyTool(...)` →\n  `'pure' | 'side-effecting-no-memory' | 'memory-aware' | 'unknown' | 'untrusted'`,\n  the four guard implementations (`NO_GUARD`, `API_BOUNDARY_GUARD`,\n  `AUDIT_ONLY_GUARD`, `STRICT_FULL_GUARD`), an xxhash integrity\n  helper, and a typed `memoryGuardAuditEmitter` the audit log\n  subscribes to.\n- **Guardrails** - `defineInputGuardrail` / `defineOutputGuardrail`\n  builders, `composeGuardrails(...)` runner with documented\n  `block` / `warn` / `rewrite` short-circuit semantics, and seven\n  built-ins under `guardrails.*`: `maxLength`,\n  `promptInjectionHeuristics`, `piiDetection`, `languageWhitelist`,\n  `llmModeration`, `outputModeration`, `toolUsageValidator`.\n- **Process hardening** - `applyProcessHardening({ refuseRoot, umask })`\n  startup helper, `ensureFileMode` / `ensureDirMode` /\n  `verifyFileMode` POSIX-mode utilities, the `graphorin doctor`\n  library functions (`checkPerms`, `checkSecrets`, `checkEncryption`,\n  `checkSystemd`), and the `generateBootstrapToken` /\n  `generateAesSalt` helpers.\n- **Outbound OAuth** - `createOAuthClient(...)` wires the OAuth 2.1\n  surface required by the MCP authorization spec: discovery\n  (RFC 8414 + RFC 9728), Dynamic Client Registration (RFC 7591),\n  Authorization Code + PKCE-S256 (RFC 7636) with a built-in\n  localhost callback server + cross-platform browser launcher,\n  Device Authorization Grant (RFC 8628), refresh-token rotation\n  with per-server-id debounce, and revocation (RFC 7009). The\n  high-level helpers (`loginInteractive`, `listOAuthSessions`,\n  `refreshOAuthSession`, `revokeOAuthSession`, `getOAuthStatus`)\n  are the surface the CLI wraps. A typed lifecycle emitter\n  (`onOAuthLifecycle`) surfaces `oauth.granted` /\n  `oauth.refreshed` / `oauth.revoked` / `oauth.registered` /\n  `mcp.auth.expired` events; a sibling audit emitter feeds the\n  tamper-evident chain via `bridgeOAuthToAudit({ db })`.\n- **Skills supply chain** - `verifySkillSignature(...)` parses the\n  `graphorin-signature:` block from a SKILL.md frontmatter and\n  verifies the ed25519-SHA-256 signature via Node's built-in\n  `crypto.verify(...)` against a publisher key resolved from a\n  well-known URL (with optional pinned fingerprint), an inline PEM,\n  or an operator-installed Sigstore verifier. An operator `trustRoot`\n  (allowed publishers / pinned key fingerprints / `allowSigstore`)\n  caps which keys may verify at all - an unknown key fails closed\n  with `'untrusted-key'`. `installSkillFromNpm`\n  / `installSkillFromGit` enforce `--ignore-scripts` for every\n  untrusted install (no override; `pnpm` preferred, falling back to\n  `npm` / `yarn` only when `pnpm` is missing) and reject unsigned\n  skills outright. The trust-policy resolver (`resolveTrustPolicy`,\n  `evaluateSupplyChainPolicy`) honours operator-managed allow / deny\n  lists with npm-style globbing. Every install fires a\n  `skill:installed` audit event with the trust level, signature\n  outcome, publisher, algorithm, and key source.\n\n## Status\n\n- **Version:** v0.15.1 - secrets foundations + server token auth +\n  tamper-evident audit log + sandbox / memory-guard / guardrails /\n  process-hardening runtime safety + outbound OAuth flows + skills\n  supply-chain helpers.\n- **License:** [MIT](./LICENSE) - © 2026 Oleksiy Stepurenko.\n- **Engines:** Node.js 22+ (ESM only).\n\n## Installation\n\n```bash\npnpm add @graphorin/security @graphorin/core\n# Optional native peers (pulled in only when you opt into the matching backend)\npnpm add -O @napi-rs/keyring @node-rs/argon2 openid-client\n```\n\n`@napi-rs/keyring@^1.2.0` is required at runtime if you use the\n`KeyringSecretsStore`; `@node-rs/argon2@^2.0.2` is required if you use\nthe `EncryptedFileSecretsStore`;\n`better-sqlite3-multiple-ciphers@^12.9.0` is required if you open the\naudit log directly (most consumers go through `@graphorin/store-sqlite`,\nwhich depends on it transitively); `isolated-vm@^5.0.0` is required if\nyou opt into `IsolatedVMSandbox`; `dockerode@^4.0.0` is required if you\nopt into `DockerSandbox`; `openid-client@^6.8.0` is the recommended\nreference implementation for the OAuth subsystem (the built-in flows\nalready cover every MVP use case). All six are declared as **optional\npeer dependencies** so deployments that do not exercise the\ncorresponding code paths never pull the native binaries. `yaml@^2.8.0`\nis a regular dependency required to parse SKILL.md frontmatter for the\nsupply-chain signature verifier.\n\n## Quick reference\n\n```ts\nimport {\n  SecretValue,\n  parseSecretRef,\n  validateSecretRefs,\n  resolveSecret,\n  registerResolver,\n  createSecretsStore,\n  composeChain,\n  detectHeadless,\n  getSecretsStoreStatus,\n  withSecret,\n  MemorySecretsStore,\n  EnvSecretsStore,\n  EncryptedFileSecretsStore,\n  KeyringSecretsStore,\n  // Server token auth\n  TokenVerifier,\n  authorize,\n  createToken,\n  generatePepper,\n  parseScope,\n  scopeMatches,\n  // Audit log\n  appendAudit,\n  verifyAuditChain,\n  pruneAudit,\n  exportAudit,\n  bridgeSecretsToAudit,\n  bridgeMemoryGuardToAudit,\n  openAuditDb,\n  registerAuditDbBinding,\n  // Sandbox\n  createNoneSandbox,\n  createWorkerThreadsSandbox,\n  createIsolatedVMSandbox,\n  createDockerSandbox,\n  resolveSandbox,\n  // Memory-modification guard\n  classifyTool,\n  createGuard,\n  // Guardrails\n  defineInputGuardrail,\n  defineOutputGuardrail,\n  composeGuardrails,\n  guardrails,\n  // Process hardening\n  applyProcessHardening,\n  ensureFileMode,\n  ensureDirMode,\n  verifyFileMode,\n  generateBootstrapToken,\n  checkPerms,\n  checkSecrets,\n  checkEncryption,\n  checkSystemd,\n  // Outbound OAuth\n  createOAuthClient,\n  createInMemoryOAuthServerStore,\n  loginInteractive,\n  listOAuthSessions,\n  refreshOAuthSession,\n  revokeOAuthSession,\n  getOAuthStatus,\n  registerOAuthStrategy,\n  onOAuthAudit,\n  onOAuthLifecycle,\n  bridgeOAuthToAudit,\n  // Skills supply chain\n  verifySkillSignature,\n  installSkillFromNpm,\n  installSkillFromGit,\n  evaluateSupplyChainPolicy,\n  resolveTrustPolicy,\n  auditInstalledSkills,\n  onSupplyChainAudit,\n  bridgeSupplyChainToAudit,\n} from '@graphorin/security';\n```\n\n```ts\n// Wrap a raw string at the I/O boundary (e.g. directly after env read).\nconst apiKey = SecretValue.fromString(process.env.OPENAI_API_KEY ?? '');\n\n// Scoped access - the preferred read pattern.\nawait apiKey.use((raw) => fetch(url, { headers: { Authorization: `Bearer ${raw}` } }));\n\n// Auto-pick the best store for the current environment.\nconst store = await createSecretsStore({ kind: 'auto' });\nconst value = await store.require('openai_api_key');\n\n// Issue a fresh server token and authorise it.\nconst pepper = generatePepper();\nconst created = await createToken({\n  tokenStore,\n  pepper,\n  env: 'live',\n  scopes: ['agents:invoke', 'memory:read'],\n  label: 'web-ui',\n});\nconst verifier = new TokenVerifier({ tokenStore, pepper });\nconst result = await verifier.verify(created.raw.reveal(), { ip: '203.0.113.7' });\nconst auth = authorize(result, 'agents:invoke');\n```\n\n```ts\n// Open the audit log (the SQLite-backed binding ships from\n// @graphorin/store-sqlite; deployments with a custom store register\n// their own binding via registerAuditDbBinding(...)).\nconst db = await openAuditDb({ path: 'audit.db', passphrase });\nbridgeSecretsToAudit({ db });\nbridgeMemoryGuardToAudit({ db });\nawait appendAudit(db, {\n  actor: { kind: 'system', id: 'graphorin/security' },\n  action: 'audit:db-opened',\n  target: 'audit.db',\n  decision: 'success',\n});\nconst verify = await verifyAuditChain(db);\n```\n\n```ts\n// Pick the sandbox tier from operator + trust-level inputs and\n// run a user-defined tool through it.\nconst policy = resolveSandbox({\n  trustLevel: 'user-defined',\n  override: { kind: 'worker-threads', noNetwork: true, noFilesystem: true },\n});\nconst sandbox = createWorkerThreadsSandbox({\n  noNetwork: policy.noNetwork,\n  noFilesystem: policy.noFilesystem,\n});\nconst result = await sandbox.run<{ greeting: string }, string>(\n  { kind: 'handler', module: '/abs/path/handler.mjs', export: 'main' },\n  { input: { greeting: 'hi' }, timeoutMs: policy.timeoutMs },\n);\n```\n\n```ts\n// Compose a small input pipeline: heuristic injection + PII redaction.\nconst pipeline = [\n  guardrails.promptInjectionHeuristics<string>(),\n  guardrails.piiDetection<string>({ action: 'rewrite' }),\n  guardrails.maxLength<string>({ chars: 4_000 }),\n];\nconst decision = await composeGuardrails(pipeline, userInput, { stage: 'input' });\nif (!decision.ok && decision.action === 'block') {\n  throw new Error(`input rejected by ${decision.name}: ${decision.message}`);\n}\nconst sanitized = decision.ok ? decision.value : decision.value;\n```\n\n```ts\n// Apply process hardening on startup; refuse to run as root.\napplyProcessHardening({ refuseRoot: true, umask: 0o077 });\nawait ensureDirMode(`${process.env.HOME}/.graphorin`, 0o700);\nawait ensureFileMode(`${process.env.HOME}/.graphorin/data.db`, 0o600);\nconst initialToken = generateBootstrapToken();\n```\n\n```ts\n// Drive an interactive OAuth login against an MCP server. The\n// helper opens the system browser, waits on the localhost\n// callback, and persists the resulting tokens via the supplied\n// OAuthServerStore.\nconst storage = createInMemoryOAuthServerStore();\nconst { client, status } = await loginInteractive({\n  serverId: 'linear-mcp',\n  serverUrl: 'https://mcp.linear.app',\n  storage,\n  scope: 'read write',\n});\nconsole.log('Granted scope:', status.scope, 'expires at', status.expiresAt);\n// Refresh + revoke share the same client surface.\nawait client.refresh();\nawait client.revoke({ reason: 'user-initiated' });\n```\n\n```ts\n// Verify a SKILL.md signature before loading the skill.\nconst result = await verifySkillSignature({ skillMd });\nif (!result.valid) throw new Error(`Skill rejected: ${result.reason}`);\n\n// Install a third-party skill from the npm registry. The runner\n// always passes --ignore-scripts and rejects unsigned skills at\n// trust level 'untrusted' (the default for npm + git sources).\nawait installSkillFromNpm({\n  packageName: '@vendor/pdf-processing',\n  version: '1.2.3',\n  skillMd,\n});\n```\n\n## Stability\n\nEvery exported symbol carries one of two TSDoc tags:\n\n- `@stable` - covered by semver guarantees for the `v0.x` line.\n- `@experimental` - may change between minor versions; release notes call\n  out every breaking change.\n\n## Versioning\n\n`@graphorin/security` follows the lockstep release cadence of the rest\nof the `@graphorin/*` packages while the framework is on the `0.x`\nline.\n\n---\n\n**Project Graphorin** · v0.15.1 · MIT License · © 2026 Oleksiy Stepurenko · <https://github.com/o-stepper/graphorin>\n","readmeFilename":"README.md"}