{"_id":"@byok-sdk/keys","_rev":"27-b27e2a76812c6438b5791be9bdf3b835","name":"@byok-sdk/keys","dist-tags":{"beta":"0.3.1-beta.0","rc":"0.3.3-rc.1","latest":"0.8.0"},"versions":{"0.1.0":{"name":"@byok-sdk/keys","version":"0.1.0","license":"MIT","_id":"@byok-sdk/keys@0.1.0","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"dist":{"shasum":"f9da7933273522f0e70634ad7c8b8c98c4a79601","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.1.0.tgz","fileCount":23,"integrity":"sha512-NUYkKXMN2sywjOtsxS3Moi5Yl3+d1q+5J+0sVR4CnRxHUEUFDzS0SKcvue3O7NKeWA3RxVzIBpLORNEuANE9eg==","signatures":[{"sig":"MEUCIBHDts1TL3LNq5iJJ49FERDv3efYizoWrWqNqd6T7OxCAiEA7VGDlto+DjYVnmKt1YsDDZXgWQqZSB8CT8K/4gtcXVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239453},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-sdk-keys-pack.fmKMEj/byok-sdk-keys-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-sdk-keys-pack.fmKMEj/byok-sdk-keys-0.1.0.tgz","_integrity":"sha512-NUYkKXMN2sywjOtsxS3Moi5Yl3+d1q+5J+0sVR4CnRxHUEUFDzS0SKcvue3O7NKeWA3RxVzIBpLORNEuANE9eg==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.4","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.1.0_1786200410594_0.9836893703400613","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@byok-sdk/keys","version":"0.2.0","license":"MIT","_id":"@byok-sdk/keys@0.2.0","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"f37f1505913ac5738574da1e37185628daeaef8f","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.2.0.tgz","fileCount":29,"integrity":"sha512-rAlEw65QwfjDLa7PBh6feWInhgUlSFRHD4/gNtN9DYFEAEmd9m7UVVmwM09lPJaDvAXWho7p7tFwrTv6e4UdVA==","signatures":[{"sig":"MEUCIFjf8+sR7gA5qnoaPuNorR064m1R6pm54+UR0+19mMShAiEAre5vRhy/ao2mckkFIP2yOzUncOVpr0JxpjsCTgABue8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425915},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-keys-final-z3vp0r/byok-sdk-keys-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-keys-final-z3vp0r/byok-sdk-keys-0.2.0.tgz","_integrity":"sha512-rAlEw65QwfjDLa7PBh6feWInhgUlSFRHD4/gNtN9DYFEAEmd9m7UVVmwM09lPJaDvAXWho7p7tFwrTv6e4UdVA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.2.0_1786902634093_0.581021809635218","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@byok-sdk/keys","version":"0.2.1","license":"MIT","_id":"@byok-sdk/keys@0.2.1","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"8c9fe23a9a80e21169b87f64e81888b2b3c99830","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.2.1.tgz","fileCount":29,"integrity":"sha512-kT9cp68Szo1sfDwwW370FPQCNbG8XoMWwKoGzo6NUA+up8+BPQiMXwqIalQN1z1XOPLz3lzHATS1HxpvAvmHBQ==","signatures":[{"sig":"MEQCIA3ElFpyed+CmRK33hMX02u1NF6lzNTeBCAyCFUesKQJAiBVgSONm7aup2FpvjSz9nnhlpEnBVQRM+ca8V0lIjB7FA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425915},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-qKJjs3/artifacts/byok-sdk-keys-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-qKJjs3/artifacts/byok-sdk-keys-0.2.1.tgz","_integrity":"sha512-kT9cp68Szo1sfDwwW370FPQCNbG8XoMWwKoGzo6NUA+up8+BPQiMXwqIalQN1z1XOPLz3lzHATS1HxpvAvmHBQ==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.2.1_1787320026533_0.8909460296418386","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@byok-sdk/keys","version":"0.2.2","license":"MIT","_id":"@byok-sdk/keys@0.2.2","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"972037edac7e582b3d3cd470ddd7826aba4e901e","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.2.2.tgz","fileCount":29,"integrity":"sha512-cbOcenOefv8SDeJ38y6H9pqxL5tk7A5LS80kFW82oz5kHsu8ri0vbH7x20oRLGDc2V3+ZS0VnVaj7KwQQMFTmA==","signatures":[{"sig":"MEYCIQD+NeKmO+5dPPtLFcnZ7UIGOQHCwat4x5v/40yyQkb7dwIhAIRuiZdWIQ5h8aF1ufGNtkfHbqSCr10WZfvlx8fZFSmz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434240},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-OqTSsP/artifacts/byok-sdk-keys-0.2.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-OqTSsP/artifacts/byok-sdk-keys-0.2.2.tgz","_integrity":"sha512-cbOcenOefv8SDeJ38y6H9pqxL5tk7A5LS80kFW82oz5kHsu8ri0vbH7x20oRLGDc2V3+ZS0VnVaj7KwQQMFTmA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.2.2_1787484993389_0.015468080126149975","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@byok-sdk/keys","version":"0.3.0","license":"MIT","_id":"@byok-sdk/keys@0.3.0","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"75daa4a1e0f1d93c66dfb7cfb76c15d0aefc2654","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.0.tgz","fileCount":29,"integrity":"sha512-M23ZmAJk7iHhy6VUiZXC8jGqrjSWn/0IxmE/lWWvahhTmO8eEa7dHBOBc4GwCYuIPBGGcrZLh9I2AH2TwCU9Ug==","signatures":[{"sig":"MEUCIDX1VCrqTx0aVF3fL74VxAYLAMfETVI7+LDKlx4HxtGmAiEA4JNTW49A6eN+HCMuYkCF8oM3eElNJYA39bM1vZ8bapY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434240},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-070-release-ba94f3a/byok-sdk-keys-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-070-release-ba94f3a/byok-sdk-keys-0.3.0.tgz","_integrity":"sha512-M23ZmAJk7iHhy6VUiZXC8jGqrjSWn/0IxmE/lWWvahhTmO8eEa7dHBOBc4GwCYuIPBGGcrZLh9I2AH2TwCU9Ug==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.0_1787492565641_0.7619904405839932","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-beta.0":{"name":"@byok-sdk/keys","version":"0.3.1-beta.0","license":"MIT","_id":"@byok-sdk/keys@0.3.1-beta.0","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"86b0c7955a99086b885abfdafd229e731a2ecce5","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.1-beta.0.tgz","fileCount":29,"integrity":"sha512-Nf084pQDDSnJJD1PKzBlaa8HYjj9qb4bkktdKbf4pfBlXw+x3fy0Fc0PEwS4kki8JygYGnOkyzPd1n3bpcEAwg==","signatures":[{"sig":"MEQCICZSRkmHhaPamJ54nC5wTdYp0OmKlKVCxUIJmb+bRErWAiAs7SqTfmlli17CNSwAeLrBgmAvaVtXyGZ16hQsfW6fZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434254},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-beta-publish.66F5k3/byok-sdk-keys-0.3.1-beta.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-beta-publish.66F5k3/byok-sdk-keys-0.3.1-beta.0.tgz","_integrity":"sha512-Nf084pQDDSnJJD1PKzBlaa8HYjj9qb4bkktdKbf4pfBlXw+x3fy0Fc0PEwS4kki8JygYGnOkyzPd1n3bpcEAwg==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.8.0-beta.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/keys_0.3.1-beta.0_1787503751047_0.8030984869261621","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@byok-sdk/keys","version":"0.3.1","license":"MIT","_id":"@byok-sdk/keys@0.3.1","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"765435c6812af4f5528703c9bc99f046a8165413","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.1.tgz","fileCount":29,"integrity":"sha512-R9t3UlA8xEJMkKZPUZfZT1LgeSgb9ImkWAzrj7mu1RhFXsBsJwlAQvlqBYkIF//CwkCJPs7dbYEUGPFCT2FyWA==","signatures":[{"sig":"MEUCIGvCar/BRx0XcbpTJSgPRnbmL+ARRO0t+/Pj1QXfvKd/AiEAz/L6QRtcfUHXIxa1iQclAlod8RNrnQMkWxhf1/6Bex8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434240},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk-rc/20260824-agent-home-projection-release-49be56f/byok-sdk-keys-0.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk-rc/20260824-agent-home-projection-release-49be56f/byok-sdk-keys-0.3.1.tgz","_integrity":"sha512-R9t3UlA8xEJMkKZPUZfZT1LgeSgb9ImkWAzrj7mu1RhFXsBsJwlAQvlqBYkIF//CwkCJPs7dbYEUGPFCT2FyWA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.1_1787545029618_0.6047191223460946","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@byok-sdk/keys","version":"0.3.2","license":"MIT","_id":"@byok-sdk/keys@0.3.2","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"106fd043d26496996788099463b9ee5e30b1d1f0","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.2.tgz","fileCount":29,"integrity":"sha512-bGL9DzWNYBWOiZEFjT3LguhcczdszHyOp5NvJaYJcUAH1r7sFkgaysKionoF0wZvFaO+A2BQDYds677xR/l9EA==","signatures":[{"sig":"MEUCIGQ/IzVgtOUiT8q9zGs9wJbPdTpon3+JssO3tUv09S41AiEAhhqwPTadtuOPso4tOHA7PxjfNgH00SfsDaRiZnHNLkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434240},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk-rc/20260825-stable-0.8.1-cdb4248-retry1/byok-sdk-keys-0.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk-rc/20260825-stable-0.8.1-cdb4248-retry1/byok-sdk-keys-0.3.2.tgz","_integrity":"sha512-bGL9DzWNYBWOiZEFjT3LguhcczdszHyOp5NvJaYJcUAH1r7sFkgaysKionoF0wZvFaO+A2BQDYds677xR/l9EA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.2_1787632111062_0.13542134548111928","host":"s3://npm-registry-packages-npm-production"}},"0.3.3-rc.1":{"name":"@byok-sdk/keys","version":"0.3.3-rc.1","license":"MIT","_id":"@byok-sdk/keys@0.3.3-rc.1","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"5d3304fce1247fc8bb4528a15bb5b09641ff30de","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.3-rc.1.tgz","fileCount":29,"integrity":"sha512-32EHaZjQYCCxaAWR4MMezxzy5rTEx9QmlTZZzDJcawccRU+X/a4+AncByzjEl1R0pAJPcakdY22s+6qdfG4zmQ==","signatures":[{"sig":"MEQCIHFLIdkiv0igk4b10myI1rh9SSo7IfFNF9skcQ75mC5FAiBXzFKz4rZ8orbZKDowgvgGNlqXIB98mLdzsBopocdPXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434250},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk-wt-release-0.9.0-rc.1/_ops/releases/0.9.0-rc.1/byok-sdk-keys-0.3.3-rc.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk-wt-release-0.9.0-rc.1/_ops/releases/0.9.0-rc.1/byok-sdk-keys-0.3.3-rc.1.tgz","_integrity":"sha512-32EHaZjQYCCxaAWR4MMezxzy5rTEx9QmlTZZzDJcawccRU+X/a4+AncByzjEl1R0pAJPcakdY22s+6qdfG4zmQ==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.9.0-rc.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/keys_0.3.3-rc.1_1787888527654_0.7080840830182069","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@byok-sdk/keys","version":"0.3.3","license":"MIT","_id":"@byok-sdk/keys@0.3.3","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"deedf5479b7de1522553364badfa004252b253a4","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.3.tgz","fileCount":29,"integrity":"sha512-3yUFjy8SaMmqWv1mbjX6Q4bFSV/Bh6NX9jmedrxWxRzKdKLLfGmNxfqGAKuFN7FRigQZmzGLDqa7vSDyUEE7Lg==","signatures":[{"sig":"MEQCIE81kB6ObKTe62cXT88pN1TYsAg5vIZVkK/J2nHg7n3DAiA7RM6nbb6OBLTe6SF5PauVvaIh3i4Zs4EivuD9IWqrzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434240},"main":"./dist/index.js","type":"module","_from":"file:/Users/ancienttwo/Projects/byok-sdk/_ops/releases/v0.9.0-main-1dd028d/byok-sdk-keys-0.3.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/ancienttwo/Projects/byok-sdk/_ops/releases/v0.9.0-main-1dd028d/byok-sdk-keys-0.3.3.tgz","_integrity":"sha512-3yUFjy8SaMmqWv1mbjX6Q4bFSV/Bh6NX9jmedrxWxRzKdKLLfGmNxfqGAKuFN7FRigQZmzGLDqa7vSDyUEE7Lg==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.4","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.3_1787903696945_0.3959431015070718","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@byok-sdk/keys","version":"0.3.4","license":"MIT","_id":"@byok-sdk/keys@0.3.4","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"f53745fe7654686e9d06561eac92426329b54730","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.4.tgz","fileCount":29,"integrity":"sha512-WVvdi/6s7/jGFBePQy8RieygKFx8ySX5HZz8392hjRn1LqyM05rlbsYdWItZ+AGAMJMNoEdBNIza0o3nd6ta4g==","signatures":[{"sig":"MEUCIA2Qtax5jd8QXrHMTTXItM4kfN4ZocQXhqxDOJ0Ldkz1AiEA5HV2U82QAemYAW4njMpywgR79OSB2nnHIx3hTq3F/oI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434240},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-Phxsaa/artifacts/byok-sdk-keys-0.3.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-Phxsaa/artifacts/byok-sdk-keys-0.3.4.tgz","_integrity":"sha512-WVvdi/6s7/jGFBePQy8RieygKFx8ySX5HZz8392hjRn1LqyM05rlbsYdWItZ+AGAMJMNoEdBNIza0o3nd6ta4g==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.4_1788008173408_0.46570099952723343","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@byok-sdk/keys","version":"0.3.5","license":"MIT","_id":"@byok-sdk/keys@0.3.5","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"cb3ec48ec6fef0b8e99fd14a4f74aa2bad9e1fcd","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.5.tgz","fileCount":29,"integrity":"sha512-5EsTUE6bxKymZLsQ1NZa+42xu1GW26OZEST4xSmOyRFizUUInb1C5CiQbVMx/dfmGQr3XMYFQ7KeSJjyryTmAA==","signatures":[{"sig":"MEQCIE1RT4I3GnE9FAn9s9bS5jPIiGQ706uKYV5/qfXeAjOvAiASs6bYAJ4pdEbdLkEiwwl2VjK1Hi6EGGj6/Qph4F4JgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434241},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-pKCgne/artifacts/byok-sdk-keys-0.3.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-pKCgne/artifacts/byok-sdk-keys-0.3.5.tgz","_integrity":"sha512-5EsTUE6bxKymZLsQ1NZa+42xu1GW26OZEST4xSmOyRFizUUInb1C5CiQbVMx/dfmGQr3XMYFQ7KeSJjyryTmAA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.5_1788015037813_0.5772229291129594","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@byok-sdk/keys","version":"0.3.6","license":"MIT","_id":"@byok-sdk/keys@0.3.6","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"c90746d151881ce643444c4fdc34ed78f8e27a04","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.6.tgz","fileCount":29,"integrity":"sha512-FF/Rt7hWcFAeGD3fDkf/j+fHGgbwdkDK8SkJT6STtOHt7cKcjGZlT39qv9lON1vWkS0rvQRI1xYMVGO8BQrLhA==","signatures":[{"sig":"MEUCID516IpJJ0QiGnc6MddAT33gB3endIcXfyS65g5iSFfUAiEAqFfb6q5Ap/zVK03Kg9x0MmvGtJkAxEDP88EaXlORd9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434241},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-hBsvue/artifacts/byok-sdk-keys-0.3.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-hBsvue/artifacts/byok-sdk-keys-0.3.6.tgz","_integrity":"sha512-FF/Rt7hWcFAeGD3fDkf/j+fHGgbwdkDK8SkJT6STtOHt7cKcjGZlT39qv9lON1vWkS0rvQRI1xYMVGO8BQrLhA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.6_1788024473873_0.9695178161472837","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@byok-sdk/keys","version":"0.3.7","license":"MIT","_id":"@byok-sdk/keys@0.3.7","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"f08ccae6cf7cc1eca073bc830a8cc2c6701b4b1d","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.7.tgz","fileCount":29,"integrity":"sha512-FOuLGTWTui5RUOMEeyx+Dvm6c8uaQBgAdepKjJIAThUhI2ZLp/X7sSSjHR/IMGPVsYj0D++0ATCYI3AQHVt23g==","signatures":[{"sig":"MEUCIQD4LZ10+JSlSePmlUeYK509PcLaZsZuRCkS/XXLowwrewIgPnR4mRzzTPUcM52PvlbEeJSgC5tBv9mb3Vp6waW4MMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434241},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-5qmPqt/artifacts/byok-sdk-keys-0.3.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-5qmPqt/artifacts/byok-sdk-keys-0.3.7.tgz","_integrity":"sha512-FOuLGTWTui5RUOMEeyx+Dvm6c8uaQBgAdepKjJIAThUhI2ZLp/X7sSSjHR/IMGPVsYj0D++0ATCYI3AQHVt23g==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.10.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.7_1788028119237_0.5206671528093902","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@byok-sdk/keys","version":"0.3.8","license":"MIT","_id":"@byok-sdk/keys@0.3.8","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"16d0c6f82bc0ebc527196281e81768eee88d54e9","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.8.tgz","fileCount":29,"integrity":"sha512-Tig3yBBTFdjlIstloKSoy8megaWm4W5bvDqxqW7DxN49P58/7QcOMkRj8XpSQVwrIQqr2s8+rjS98bpZJj4+EA==","signatures":[{"sig":"MEUCIDT2MFKebrVA6unmqpeJqeDsYg/BNozetiunwhVmkpugAiEAw8KRdaso2AGPDyarAfVIonzf+jlWQyfEg29SoxfAyHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434241},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk-wt-release-0-11-publish/.ai/harness/runs/20260830-release-0-11-published/artifacts/byok-sdk-keys-0.3.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk-wt-release-0-11-publish/.ai/harness/runs/20260830-release-0-11-published/artifacts/byok-sdk-keys-0.3.8.tgz","_integrity":"sha512-Tig3yBBTFdjlIstloKSoy8megaWm4W5bvDqxqW7DxN49P58/7QcOMkRj8XpSQVwrIQqr2s8+rjS98bpZJj4+EA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.8_1788096421549_0.6685663883425941","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@byok-sdk/keys","version":"0.3.9","license":"MIT","_id":"@byok-sdk/keys@0.3.9","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"9e92b36feaba1e37bb504e55919799ae29766c3b","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.9.tgz","fileCount":29,"integrity":"sha512-fzm2VGQCmY+ckC0fsRlQ55aTmO+KU1T6IOwqNvAYjjrAoRw2gneyFKVB59IBV11gCa6obXLXWaBr0kaG4kgEqQ==","signatures":[{"sig":"MEUCIBd1GCPNZPcbqV6r1QqTYNf+sNLbG+KPSXJZbXnNmNmuAiEAlcmCZtVjG0aJdBKr3YQIJedcoTRzcQNsTkjz89SsTpw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434241},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/byok-sdk-release-0.12.0.tIGzmO/.ai/harness/runs/20260902-release-0-12-resume-2/artifacts/byok-sdk-keys-0.3.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/private/tmp/byok-sdk-release-0.12.0.tIGzmO/.ai/harness/runs/20260902-release-0-12-resume-2/artifacts/byok-sdk-keys-0.3.9.tgz","_integrity":"sha512-fzm2VGQCmY+ckC0fsRlQ55aTmO+KU1T6IOwqNvAYjjrAoRw2gneyFKVB59IBV11gCa6obXLXWaBr0kaG4kgEqQ==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.9_1788340851754_0.6056471009993563","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"@byok-sdk/keys","version":"0.3.10","license":"MIT","_id":"@byok-sdk/keys@0.3.10","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"7c5c785b3600eda8a73edb3361950cc6f3f1641f","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.3.10.tgz","fileCount":29,"integrity":"sha512-jJoZleIl7d7laxgczaGXbpCy4EUe1uhuiNfa6XHqe1xEEtYC9RdD3YWQigHrTBM2XpLb/UKh6yTAmHqcVY8w+g==","signatures":[{"sig":"MEQCIHyGR3wcYOZXXArfAeJVwGeTwfMHsQHu1t2kDT8vs6GRAiA9DfiAjz5Fcgdi/GOkEkzLFtoPG4uI8mlMJQJmHMzUYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":477641},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/byok-release-013-recovery-20260905/_ops/releases/0.13.0-restored/byok-sdk-keys-0.3.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"1da01f4eb07e4dc9eea53d3741efa57ca01156ef","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/private/tmp/byok-release-013-recovery-20260905/_ops/releases/0.13.0-restored/byok-sdk-keys-0.3.10.tgz","_integrity":"sha512-jJoZleIl7d7laxgczaGXbpCy4EUe1uhuiNfa6XHqe1xEEtYC9RdD3YWQigHrTBM2XpLb/UKh6yTAmHqcVY8w+g==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.3.10_1788582316944_0.8776826961455932","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@byok-sdk/keys","version":"0.4.0","license":"MIT","_id":"@byok-sdk/keys@0.4.0","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"cb6ffbe49e7f8f381f752c4e3a42d1f480c4644d","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.4.0.tgz","fileCount":30,"integrity":"sha512-yt6rOKLv7sJ4boEl60pyFbk2S3Z73MJSiSsWXBGMkS3/IPJRo1EqWtiruyjyMeDhK2e8tv4dIgjamBJAFLpe5g==","signatures":[{"sig":"MEYCIQCAg5l50L2unNpUwCYuP0qEsHXP0HjhYZau0gwqbymZ9gIhAOms0xPhcQAD+pqQM4ATD81GloVeQAWiNO3edpPOB3ba","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521455},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-release-readiness.laGyYR/byok-sdk-keys-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-release-readiness.laGyYR/byok-sdk-keys-0.4.0.tgz","_integrity":"sha512-yt6rOKLv7sJ4boEl60pyFbk2S3Z73MJSiSsWXBGMkS3/IPJRo1EqWtiruyjyMeDhK2e8tv4dIgjamBJAFLpe5g==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.4.0_1788713165461_0.5257704073613441","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@byok-sdk/keys","version":"0.4.1","license":"MIT","_id":"@byok-sdk/keys@0.4.1","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"4a73ae9d2aa5dced95cf58fae78ef5eaa0bf15fb","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.4.1.tgz","fileCount":30,"integrity":"sha512-rNTD7GM5k2FhJ3FS9L+BOEdcVXmko80R2PLkp7IXedmcdAqs1GX5pdaBC26FtExMe3rdQFI8Attnmto00KIB0w==","signatures":[{"sig":"MEQCIEdKc5TcNebGDPoUsjut6SQiWloPwcM3m8B7wfPC+zjQAiA5/jjfxRtLvtqZ3pmkxK981FK4ctA9qc5NpeQmE6HfQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521455},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk/_ops/releases/0.15.0-verified/artifacts/byok-sdk-keys-0.4.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk/_ops/releases/0.15.0-verified/artifacts/byok-sdk-keys-0.4.1.tgz","_integrity":"sha512-rNTD7GM5k2FhJ3FS9L+BOEdcVXmko80R2PLkp7IXedmcdAqs1GX5pdaBC26FtExMe3rdQFI8Attnmto00KIB0w==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.4.1_1788873736736_0.6910788078010939","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@byok-sdk/keys","version":"0.4.2","license":"MIT","_id":"@byok-sdk/keys@0.4.2","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"d02cd58d9ebc056aaa2535b7c707a53d19014071","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.4.2.tgz","fileCount":30,"integrity":"sha512-W6NubvzumMYd8bF2YiC6B3ykSr7GYjlinFQ/GCzrNdfppnlrhgqEQntOZfbHDs090F19VmpHytUQukkZVIpBnA==","signatures":[{"sig":"MEYCIQCoHl+IPJY8peV3KNwnJAnUKQrSjOFANP9E3N99+DcmBwIhAJckGH23s9xjRXpReFTE+EulUhZqLuNWx2Nv3VnyVf05","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521455},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk/_ops/releases/0.16.0-verified/artifacts/byok-sdk-keys-0.4.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk/_ops/releases/0.16.0-verified/artifacts/byok-sdk-keys-0.4.2.tgz","_integrity":"sha512-W6NubvzumMYd8bF2YiC6B3ykSr7GYjlinFQ/GCzrNdfppnlrhgqEQntOZfbHDs090F19VmpHytUQukkZVIpBnA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.4.2_1788885227902_0.25386021620882726","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@byok-sdk/keys","version":"0.4.3","license":"MIT","_id":"@byok-sdk/keys@0.4.3","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"23f0e2f88a7febb4b8e11a0483eeb77a29892784","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.4.3.tgz","fileCount":30,"integrity":"sha512-kSTA3JwGCJ87eMV1pzLWjTJIx17WaTxDIFtXhlo7UAbu9ugXMGjJvn39CihH74B1WJ/tiGPRl1DagyceSw76lA==","signatures":[{"sig":"MEQCIFCiYKkqSnOWWTFlOkWGDY8Un8sj/r+u0FndNxwjrgcDAiA9ibMyqdtzC4xlCkfjXwsRBh9tk9OdFwubtg7f6MUBcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521455},"main":"./dist/index.js","type":"module","_from":"file:/Users/ancienttwo/Projects/byok-sdk/_ops/device-persistence-worktree/_ops/releases/0.17.0-main-pack/byok-sdk-keys-0.4.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/ancienttwo/Projects/byok-sdk/_ops/device-persistence-worktree/_ops/releases/0.17.0-main-pack/byok-sdk-keys-0.4.3.tgz","_integrity":"sha512-kSTA3JwGCJ87eMV1pzLWjTJIx17WaTxDIFtXhlo7UAbu9ugXMGjJvn39CihH74B1WJ/tiGPRl1DagyceSw76lA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.4","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.4.3_1788928234961_0.7240931501893564","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@byok-sdk/keys","version":"0.5.0","license":"MIT","_id":"@byok-sdk/keys@0.5.0","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"80ae176d6b662e926a6065bff905f4a87d4724e8","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.5.0.tgz","fileCount":31,"integrity":"sha512-L7KQnqPy+2GzATu/i444LMQ2GXsllKpBxGGChQqsUSIaBg05483588L3D2ojJ2mSTiQ7PJ2L67otVwlE85cZ4A==","signatures":[{"sig":"MEYCIQDcTJjILhSesQAUCFKIN0rrNi2fnrJjx7s3cvs2m6GM9QIhAMdz+xf4AJyVULTOy7sPxg4kRr4To98QJMPNGv9zw8Pc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":552525},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk-release-018-7b26ef5f/_ops/release018-main-artifacts/byok-sdk-keys-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk-release-018-7b26ef5f/_ops/release018-main-artifacts/byok-sdk-keys-0.5.0.tgz","_integrity":"sha512-L7KQnqPy+2GzATu/i444LMQ2GXsllKpBxGGChQqsUSIaBg05483588L3D2ojJ2mSTiQ7PJ2L67otVwlE85cZ4A==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"11.16.0","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.5.0_1789073184792_0.5139236340713993","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@byok-sdk/keys","version":"0.6.0","license":"MIT","_id":"@byok-sdk/keys@0.6.0","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"646aea95631b3639ab7059e09e2947d8f810db67","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.6.0.tgz","fileCount":31,"integrity":"sha512-xN3S4p+z76RYYhUGRRVPB6jwv5vG/m2cEgl4mqfuDz1iO1dJZou0d8fHSdZqBpDmVwjPsX2V+6cZBUq4m04JTA==","signatures":[{"sig":"MEUCIQCLTQtapRSupmiZTkgxDI9NQtHs3jsiyg06VZRuHPV8IwIgaZDyzvDtLnZTvDtFL4so9KXcV4T875pheverJ7pJYg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9/1h9tfWZPcLAbWRTdu5meAA5nhMvDMg388TJmoB4+wIhAOcnLJth0iP7SOQo1tIQ9y7yar1CP89Nv5DGImuiz1hd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589101},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk/_ops/releases/0.19.0-artifacts/byok-sdk-keys-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk/_ops/releases/0.19.0-artifacts/byok-sdk-keys-0.6.0.tgz","_integrity":"sha512-xN3S4p+z76RYYhUGRRVPB6jwv5vG/m2cEgl4mqfuDz1iO1dJZou0d8fHSdZqBpDmVwjPsX2V+6cZBUq4m04JTA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.19.0","@byok-sdk/implementation-identity":"0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.6.0_1790089361166_0.010119135431955861","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@byok-sdk/keys","version":"0.6.1","license":"MIT","_id":"@byok-sdk/keys@0.6.1","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"afb2c7bf9a1b74f621df76953045ec7714332e67","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.6.1.tgz","fileCount":31,"integrity":"sha512-+5z6ps1PYjGra4EiAwjuK/WdG0PgCsZXx7Hkhn2Gt2z22YBtC9QmxWuasMuyzuaF/RS2YhLpOTNZKysa6WZz1g==","signatures":[{"sig":"MEQCID0pmq8dptNJZD7r8lZcu9K/MEYKUo8tSIaiDsv9NiaeAiAp7rJ4SCgbxPc/OIpfplxD3cVT0bkWPQzz0ko7cf817g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDTOakRjJMv/TIZTZwjZpdgUf8S60HZqI+oM1cry5dPAAiAQZGheUwXuIvhwXj2rK/4j96S/0O1HwaI81XkmtxnRKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589101},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/release-0.20.0-artifacts/byok-sdk-keys-0.6.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/private/tmp/release-0.20.0-artifacts/byok-sdk-keys-0.6.1.tgz","_integrity":"sha512-+5z6ps1PYjGra4EiAwjuK/WdG0PgCsZXx7Hkhn2Gt2z22YBtC9QmxWuasMuyzuaF/RS2YhLpOTNZKysa6WZz1g==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.20.0","@byok-sdk/implementation-identity":"0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.6.1_1790173929284_0.6735136744276626","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@byok-sdk/keys","version":"0.6.2","license":"MIT","_id":"@byok-sdk/keys@0.6.2","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"1946db9f29fd3d6741f8b23e78521c8f84577517","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.6.2.tgz","fileCount":31,"integrity":"sha512-VJPb0pFH4CQDYE4DbmaGb4avIHtccPErYO+C/BocfhEmK7bckRy9PR1ycv56DD7lnqFAYiz1Kafl81VLSii7JQ==","signatures":[{"sig":"MEUCIQDxi0RHKrcZS9DwscsjYs70H2bTOzFC4YsRyA+a9EpIBQIgcioJmAu5YLbV9CLJnM46wqvecZC7hBlU4FQAdlYPIWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICgd7aRATd6v1ocfj9NhMAxmAEXh1NNXS5NZW5oL3cvQAiBdHCt2GM1SPl/XBd65nh+oPW0YXc9K1ycZTNKMKKBgbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589101},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/release-0.21.0-artifacts/byok-sdk-keys-0.6.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/private/tmp/release-0.21.0-artifacts/byok-sdk-keys-0.6.2.tgz","_integrity":"sha512-VJPb0pFH4CQDYE4DbmaGb4avIHtccPErYO+C/BocfhEmK7bckRy9PR1ycv56DD7lnqFAYiz1Kafl81VLSii7JQ==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.21.0","@byok-sdk/implementation-identity":"0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.6.2_1790268076495_0.16412534377405286","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@byok-sdk/keys","version":"0.7.0","license":"MIT","_id":"@byok-sdk/keys@0.7.0","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"dist":{"shasum":"d16d73f07e9cc59587b630e0f7a7191dcd7213e5","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.7.0.tgz","fileCount":31,"integrity":"sha512-PSyVkPUoM1tyXE1wV3VkCJIsL7neiQwzxxCCSjDvo/gPEPJnqvb2D2Em1YFLb4ay5IypTCvP5jaGmvCuqP9BTg==","signatures":[{"sig":"MEQCIF4piBtfmvUst7d3saj5WOyi/mWLSLLstCOvzSHB6RYZAiAXxM4Ss6OBOXzTBRjpVzSPyZLevB2jsyuzkew90KwO7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEW99aESRpEpSGPyuC2wOFGJNdv+DiiLfRmBHHioz1RQAiEAg1BwuwVISlZvZKg9GQ2lYVtWnoYUwJMmV2gkZnMSIYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589101},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/release-0.22.0-main-artifacts/byok-sdk-keys-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/private/tmp/release-0.22.0-main-artifacts/byok-sdk-keys-0.7.0.tgz","_integrity":"sha512-PSyVkPUoM1tyXE1wV3VkCJIsL7neiQwzxxCCSjDvo/gPEPJnqvb2D2Em1YFLb4ay5IypTCvP5jaGmvCuqP9BTg==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.22.0","@byok-sdk/implementation-identity":"0.22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keys_0.7.0_1790313942321_0.3424533508713683","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"_id":"@byok-sdk/keys@0.8.0","bin":{"byok-pi-provider-launcher":"dist/bin/pi-provider-launcher.js"},"bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"dist":{"shasum":"d7c3714a6a77d8a9f453de3832e2ba9b6ad40491","tarball":"https://registry.npmjs.org/@byok-sdk/keys/-/keys-0.8.0.tgz","fileCount":35,"integrity":"sha512-ZKbX/pCZdn4oK2IRY5qoQK3ivC+0FgAvCfyGrTU7yBz+CxhUPqujy/MBNjrJ80bY66jJq92LPLBn6xO+P7EZHQ==","signatures":[{"sig":"MEUCIQCmzRHBgOTKU+Y5qrepmhAv5B/0OcavcRPqqdtDq+WsFAIgdgClOEfvE26RxqqmTB4nH5Y4gzMFIzPFK4hayNpetJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDIYW1I3NaXmGRpCX/CUPyxNbJzF4ZeiJoPqmrLPl60LQIgXLx0rNG7lrGSf9fSaPOengKfiQWZktI4n2MKRVBjWl4="}],"unpackedSize":867152},"main":"./dist/index.js","name":"@byok-sdk/keys","type":"module","_from":"file:/private/tmp/claude-501/release-0.23.0/artifacts/byok-sdk-keys-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.22.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run build"},"version":"0.8.0","_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"homepage":"https://github.com/Ancienttwo/byok-sdk#readme","_resolved":"/private/tmp/claude-501/release-0.23.0/artifacts/byok-sdk-keys-0.8.0.tgz","_integrity":"sha512-ZKbX/pCZdn4oK2IRY5qoQK3ivC+0FgAvCfyGrTU7yBz+CxhUPqujy/MBNjrJ80bY66jJq92LPLBn6xO+P7EZHQ==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"_npmVersion":"10.9.8","description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","directories":{},"maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@byok-sdk/core":"0.23.0","@byok-sdk/implementation-identity":"0.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/keys_0.8.0_1790577074346_0.7397743432672133"}}},"time":{"created":"2026-08-08T14:46:50.381Z","modified":"2026-09-28T06:31:14.632Z","0.1.0":"2026-08-08T14:46:50.744Z","0.2.0":"2026-08-16T17:50:34.245Z","0.2.1":"2026-08-21T13:47:06.678Z","0.2.2":"2026-08-23T11:36:33.538Z","0.3.0":"2026-08-23T13:42:45.803Z","0.3.1-beta.0":"2026-08-23T16:49:11.225Z","0.3.1":"2026-08-24T04:17:09.777Z","0.3.2":"2026-08-25T04:28:31.218Z","0.3.3-rc.1":"2026-08-28T03:42:07.823Z","0.3.3":"2026-08-28T07:54:57.126Z","0.3.4":"2026-08-29T12:56:13.557Z","0.3.5":"2026-08-29T14:50:37.960Z","0.3.6":"2026-08-29T17:27:54.060Z","0.3.7":"2026-08-29T18:28:39.379Z","0.3.8":"2026-08-30T13:27:01.764Z","0.3.9":"2026-09-02T09:20:51.988Z","0.3.10":"2026-09-05T04:25:17.165Z","0.4.0":"2026-09-06T16:46:05.593Z","0.4.1":"2026-09-08T13:22:16.882Z","0.4.2":"2026-09-08T16:33:48.138Z","0.4.3":"2026-09-09T04:30:35.186Z","0.5.0":"2026-09-10T20:46:24.933Z","0.6.0":"2026-09-22T15:02:41.262Z","0.6.1":"2026-09-23T14:32:09.386Z","0.6.2":"2026-09-24T16:41:16.591Z","0.7.0":"2026-09-25T05:25:42.407Z","0.8.0":"2026-09-28T06:31:14.464Z"},"bugs":{"url":"https://github.com/Ancienttwo/byok-sdk/issues"},"license":"MIT","homepage":"https://github.com/Ancienttwo/byok-sdk#readme","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/keys"},"description":"BYOK SDK key management: provider profiles, credential-backed auth headers, and direct provider transports","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"readme":"# @byok-sdk/keys\n\nPi launcher configuration is explicit, from the published 0.5.0 onward.\nSet `pi_model` on `ProviderRegistry.configure` for profiles used by Pi:\n\n```ts\nconst pi_model = {\n  contextWindow: 1_000_000,\n  maxTokens: 131_072,\n  reasoning: true,\n  thinkingLevel: 'low',\n  thinkingLevelMap: {\n    off: null, minimal: null, low: 'low', medium: null,\n    high: 'high', xhigh: null, max: 'max',\n  },\n  compat: {\n    supportsStore: false, supportsDeveloperRole: false,\n    supportsReasoningEffort: true, supportsUsageInStreaming: true,\n    maxTokensField: 'max_tokens', thinkingFormat: 'zai', zaiToolStream: true,\n  },\n} satisfies PiModelConfig;\n```\n\nThese illustrate declared GLM-5.3-Flash/Pi model settings, not Host input budgets\nor automatic defaults. Import `PiModelConfig` from this package. The bounded\n`PiModelConfigSchema` rejects unknown fields, incomplete level maps and\nunsupported selected levels; it accepts no identity, URL, header or secret.\nUse the exact provider's authoritative configuration. Missing `pi_model`\npermits direct provider transports but rejects Pi admission and launch.\nConfiguration changes alter the profile hash and registry revision, fencing\nstale tasks before credential access. The launcher projects the selected\nthinking level through its own argv, not delegated overrides.\n\nThe SQLite profile schema changes in this candidate. Existing stores are\nrejected and preserved: explicitly provision a separate current-schema store\nafter reviewing the old configuration. Do not delete an old store or infer its\nmissing model settings. No live-store conversion is performed by the SDK.\n\nKey-based BYOK: a validated provider profile, credential-backed auth headers, and\ndirect transports to OpenAI-compatible and Anthropic providers.\n\nStatus: **P5 + Pi provider launcher done** — the pure-function layer (K0), the `SecretStore` layer\nbacked by the macOS Keychain and the Windows Credential Manager (K1), and the\nconfigure/resolve registry with pluggable profile persistence (K2) have all\nlanded. K3 settled the settings-page question, recorded under\n[Not in this package](#not-in-this-package). P5 adds the tenant-bound\n`TruthStoreProviderProfileStore` without moving provider secrets out of the OS\ncredential store.\n\n## Security boundary\n\n`@byok-sdk/keys` is a separate package with a separate security model from\n`@byok-sdk/client` / `@byok-sdk/server` / `@byok-sdk/protocol`. Those three dispatch tasks to\nagent runtimes the user already authenticated, and their credential-isolation\nrule (`packages/client/src/types.ts:120-124`, audited in\n`docs/security-review-m5-pilot-entry.md`) promises the dispatch path never\ntouches credentials. This package's job *is* to hold a provider API key, so it\nlives on the other side of that line: `client`, `server`, and `protocol` must not\ndepend on `keys`.\n\nThree consequences hold today and are the package's standing constraints:\n\n1. `client`, `server`, and `protocol` must not gain a dependency on `keys`.\n2. `@byok-sdk/keys` is outside the scope of the M5 credential-isolation claim.\n   Installing it is opting into a package that holds a provider API key, and\n   that choice is yours, not something the dispatch SDK does on your behalf.\n3. The optional `byok-pi-provider-launcher` is the only supported composition\n   with agent dispatch. It receives non-secret provider/model ids and paths,\n   opens the already-provisioned profile database read-only, reads the OS\n   credential only when the selected profile requires one — under the store's\n   configuration lock, only for the exact profile it projected, and never while\n   a credential change is pending — writes a private\n   process-scoped Pi projection, reconstructs the Pi child environment from a\n   closed platform/proxy baseline plus the exact key, and inherits stdio. It\n   opens no listener and never returns the key to the daemon.\n4. `@byok-sdk/keys` may depend on protocol-free `@byok-sdk/core` for\n   `TruthStore`; it must not depend on `protocol`, `client`, `server`, `cloud`,\n   or `cloud-dataplane`, and none of those packages may depend on `keys`.\n\nThe full declaration of the boundary between the two security models is\n[`docs/security.md`](../../docs/security.md), section *Key management\n(`@byok-sdk/keys`) is a separate package with a separate security model*.\n\n## Sealed remote provisioning\n\nA host may let users enter a provider key in its web UI without the key ever\nbeing readable by its servers. The browser seals the key with\n`@byok-sdk/core`'s one-shot HPKE (`DHKEM(P-256, HKDF-SHA256)` / HKDF-SHA256 /\nAES-128-GCM, WebCrypto only) to this device's long-lived sealing key; the cloud\nrelays ciphertext only; the device fetches the request itself (no listener)\nand calls `applySealedProviderProvisioning`.\n\n- `DeviceSealingKeyStore` keeps the P-256 sealing key in the OS credential\n  store (entry `device-sealing-p256-v1`), bound to the current enrollment: a\n  new enrollment always gets a new key at the next epoch, and `rotate()`\n  replaces the private key. There is no forward secrecy for past ciphertexts\n  if that private key leaks; short ciphertext TTLs and rotation only bound\n  exposure.\n- `applySealedProviderProvisioning` validates enrollment, sealing key id,\n  placement, config digest, the HPKE open (which authenticates every header\n  field), request replay, the per-profile `operationGeneration` watermark, the\n  15-minute time window, the catalog provider kind (never `custom`: the\n  endpoint is derived from `MODEL_PROVIDER_VENDORS`), `pi_model`, the expected\n  provider triple and the credential scope, then applies `configure`,\n  `update_model`, `replace_secret` or `delete`. It returns a credential-free\n  `ProviderProvisioningResult` with a closed-set rejection code, and runs an\n  optional bounded key check whose outcome is a hint only.\n- **Canonical host handler order** (the device's `providerProvisioning`\n  notice handler; `requestId` is the only notice payload):\n  1. If the Host reports the request terminal or its ciphertext is gone, it\n     still returns `{ requestId, requestDigest }` (the digest it stored at\n     submission, `providerProvisioningRequestDigest(request)`); call\n     `readSealedProvisioningResult({ profileStore, requestId, requestDigest })`\n     and report a `completed` result as-is. It needs no ciphertext, no sealing\n     key and no placement, and never decrypts or writes.\n  2. Otherwise fetch the request and call `applySealedProviderProvisioning`.\n     It checks tenant/device ownership, then returns any durable local result\n     for that `requestId` + digest **before** consulting the current sealing\n     key, placement or ciphertext (so rotation or a placement change never\n     rewrites a historical fact; a different digest is `request_conflict`),\n     and only then validates and applies.\n  3. Complete to the Host with the credential-free result and advance the\n     notice cursor only after the Host's durable readback.\n- **Identity fence.** Requests bind `expectedEnrollmentRevision` and\n  `expectedPlacementRevision` (in the AAD). `readIdentity(agentId)` must\n  return an exact snapshot (tenant, device, enrollment revision, and the\n  agent's placement revision or `null`); it is read before decryption and\n  again inside the configuration lock immediately before any credential-store\n  write, and any difference rejects with zero credential-store writes. The\n  fence covers exactly the placement/enrollment writers that update the local\n  record while holding `withConfigurationLock(profileStore, …)`; a writer that\n  changes placement outside that lock is not fenced by this check.\n- **Request identity.** Before any side effect, a request's id and immutable\n  digest are reserved store-wide (not per profile) in the same transaction\n  that writes its pending marker and raises its watermark; its receipt later\n  replaces the reservation in the same lookup scope. The same id with the same\n  digest settles to the stored result or, if it never finished, to\n  `local_commit_interrupted` (never redone); the same id with a different\n  digest is `request_conflict` with zero writes and leaves the original's\n  pending marker and receipt untouched, on any profile.\n  `readSealedProvisioningResult` reports `interrupted` for a reserved but\n  unfinished request. The in-memory and TruthStore adapters keep this state\n  process-local, as with the rest of their custody state.\n- **Generations.** An operation's generation is consumed the moment its\n  pending marker is written (same transaction), so an older request can never\n  overtake an interrupted newer one. The interrupted request itself reports\n  `local_commit_interrupted` and is never redone; recovery is a higher\n  generation that re-supplies the key, or a delete.\n- `ProviderRegistry.replaceSecret(profileRef, secret)` changes only the\n  credential; profile revision and hash — and every exact binding a Host\n  holds — stay the same.\n- **Custody** (`custody.ts`): every credential writer and reader holds the\n  profile store's configuration lock (cross-process for SQLite: an EXCLUSIVE\n  lock on the `<db>.config-lock` sibling, released by the OS if the process\n  dies). Writers record a secret-free pending marker before the OS write and\n  clear it in the same SQLite transaction that commits the profile, receipt and\n  watermark. Readers — the registry client, the launcher and the key check —\n  refuse while a marker exists, so \"old profile + new key\" is never readable.\n  A marker left by a crash is never resolved by guessing; only a change that\n  supplies a new key (or a delete) clears it.\n\n## Not in this package\n\n**There is no settings-page HTTP server here, and there will not be one.** The\nsource this package was ported from ships one — a localhost listener on a random\nport, guarded by a token plus `Host`/`Origin`/CSP checks, serving\n`/api/model/configure` and `/api/model/test`. It was evaluated for this package\nat milestone K3 and deliberately excluded. Three reasons:\n\n- **The host owns its own UI.** A settings page is product surface: its\n  branding, its routing, its invoke protocol, and its idea of what \"configured\"\n  should look like to a user. Shipping one from a library means every consumer\n  either accepts our product decisions or works around them.\n- **This is a library, not a local web server.** A package you `npm install` to\n  hold a key should not decide to bind a socket. Anything that listens has a\n  lifecycle, a port, and an availability story that belongs to the application,\n  not to a dependency of it.\n- **A key custodian does not open a listening port.** Every listener is an\n  entry point into the process that holds the API key. The narrowest defensible\n  posture for a component whose whole job is key custody is to expose no\n  network surface at all, so there is nothing to authenticate, rate-limit, or\n  CSRF-guard in the first place.\n\n**The alternative: call `ProviderRegistry` directly.** Everything the settings\npage did is available as a normal API. A host renders its own page and, in its\nown request handler, calls `configure()`, `list()`, `get()`,\n`setDefaultModelProvider()`, or `delete()`; to verify a key before committing to\nit, resolve a client and call `testConnection()` on it. The registry never\nreturns the secret — `ProviderStatus` reports `secret_configured: boolean` and\nnothing more — so a host can serve that object to its own UI without a\nredaction step.\n\n### What this transfers to you\n\nThis exclusion moves a security property, and the move is the point of this\nsection. In the source, the settings page was part of the same local process\nand never sent the API key anywhere; **the package itself underwrote the\nguarantee that the key does not leave the machine.**\n\nWith the page gone, `@byok-sdk/keys` guarantees only its own half: the key goes\ninto the OS credential store, it is never written to the profile store, it is\nnever present in any `ProviderStatus`, and it leaves custody only in the\n`authorization` / `x-api-key` header of an explicit client request or in the\nenvironment of the pinned Pi child launched for that exact profile.\n**Everything between the user's keystroke and\n`configure(configuration, secret)` is now yours.** If your settings page posts\nthe key to your own backend before handing it to this package, or renders it\nback into a response, or logs the request body, the key has left the machine —\nand no property of this package prevents that. You are the custodian of that\npath now.\n\n## Node version and storage backends\n\n`engines.node` is `>=22.22.0`, aligned with its `@byok-sdk/core` contract\ndependency and the workspace release floor.\n\n| Backend | Requirement | Behaviour below it |\n| --- | --- | --- |\n| `InMemoryProviderProfileStore` | Node 22.22+ | — the whole configure/resolve lifecycle works |\n| `SqliteProviderProfileStore` | Node 22.5+ (`node:sqlite`) | fails closed with `PROVIDER_STORE_UNAVAILABLE` |\n| `TruthStoreProviderProfileStore` | Node 22.22+ plus an injected tenant-bound `TruthStore` | stale CAS or malformed/hash-mismatched authority fails closed; never falls back to SQLite |\n| `byok-pi-provider-launcher` | Node 22.5+ (`node:sqlite`) and macOS/Windows for authenticated profiles | fails closed; `auth_mode: none` does not require a credential backend |\n\nOn macOS, an isolated host may select one explicit credential authority with\n`MacOsKeychainSecretStore({ keychainPath: '/absolute/path/to/keychain-db' })`\nor the launcher's `--macos-keychain-path` flag. The path must be absolute and\nsingle-line. Once selected, availability and every credential operation use\nthat keychain only; the store never also searches the user default keychain.\nThe launcher rejects this macOS-only flag on other platforms.\n\nOnly on-disk profile persistence needs the newer runtime. `node:sqlite` shipped\nin Node 22.5 and spent part of the 22.x line behind `--experimental-sqlite`, so\na version-number comparison would be wrong in both directions; call\n`isSqliteAvailable()` to branch, and constructing a `SqliteProviderProfileStore`\nwithout it throws `ByokKeysError` with code `PROVIDER_STORE_UNAVAILABLE` rather\nthan degrading to a plaintext file.\n\nAll profile-store methods are asynchronous. InMemory and SQLite remain\nindependently selected local authorities; the TruthStore adapter is another\nauthority selection, not a mirror, migration shim, cache, or dual-write path.\nIt stores the complete four-ID provider registry as one versioned deterministic\nsnapshot so delete and the one-enabled invariant share one CAS decision.\n\nEach normalized profile also has an exact credential-free binding. The\nregistry exposes `profile_revision` (a strictly advancing decimal derived from\n`updated_at`) and `profile_hash` (SHA-256 over the normalized runtime-relevant,\nnon-secret record). `exactProviderProfileBinding()` and\n`assertExactProviderProfileBinding()` are the local authority used by Agent\nadmission. Base URLs and credential bytes never enter the wire binding.\n\nFor `byok-profile` launches, the Pi launcher receives the exact ref,\nrevision/hash, model, and required capabilities. A validation-only invocation\nchecks the read-only SQLite authority before task claim; the launch invocation\nchecks the same fields again before reading the OS credential or spawning Pi.\n\n## Module inventory\n\nEvery module under `src/`, one line of responsibility each. The public surface is\nwhatever `index.ts` re-exports; nothing here is reachable by deep import.\n\n| Module | Contents |\n| --- | --- |\n| `index.ts` | The package barrel — the single public entry point, and the only supported import path |\n| `errors.ts` | `ByokKeysError` (`code` + message) and `BYOK_KEYS_ERROR_CODES`, the code strings consumers branch on |\n| `provider-profile.ts` | zod schema plus exact credential-free revision/hash binding for the model provider profile |\n| `headers.ts` | `providerHeaders()` and fail-closed `requiredProviderSecret()` |\n| `url.ts` | `normalizeProviderUrl()` with the HTTPS / loopback / private-network guard |\n| `http.ts` | Shared transport guards: injectable `fetch`, timeout, bounded JSON, HTTP error classification |\n| `openai-client.ts` | `OpenAiCompatibleChatClient` — chat/completions, injected `fetchImpl` |\n| `anthropic-client.ts` | `AnthropicMessagesClient` — Messages API, injected `fetchImpl` |\n| `secret-store.ts` | The `SecretStore` contract one credential entry is read and written through, plus the shared value/encoding guards |\n| `secret-name.ts` | Runtime validation of secret entry names and namespaces, including the dot exclusion that stops one scope from spelling out another's storage key |\n| `secret-scope.ts` | `SecretScope` and the envelope-scoped store that partitions a credential store by account and workspace |\n| `macos-keychain.ts` | `SecretStore` backed by the macOS Keychain via the `security` CLI |\n| `windows-credential-manager.ts` | `SecretStore` backed by the Win32 credential API via a PowerShell bridge |\n| `command-runner.ts` | The `CommandRunner` injection seam both OS backends are written against, so no unit test touches a real credential store |\n| `profile-store.ts` | The `ProviderProfileStore` persistence contract, plus the in-memory implementation |\n| `sqlite-profile-store.ts` | `SqliteProviderProfileStore` — on-disk profile persistence on `node:sqlite` |\n| `truth-profile-store.ts` | `TruthStoreProviderProfileStore` — tenant-bound deterministic registry snapshot with CAS and integrity validation |\n| `sqlite-support.ts` | Runtime `node:sqlite` capability detection and owner-only database file/directory creation |\n| `registry.ts` | `ProviderRegistry` — the configure / replaceSecret / list / resolve / delete lifecycle that binds a profile store to a secret store under the custody lock and hands back a ready client |\n| `custody.ts` | Credential-custody contract: configuration lock, pending markers, operation watermarks, receipts, and the closed rejection / key-check code sets |\n| `device-sealing-key.ts` | `DeviceSealingKeyStore` — the enrollment-bound P-256 sealing key in the OS credential store |\n| `sealed-provisioning.ts` | `applySealedProviderProvisioning` — device-side validation and crash-safe commit of a sealed provisioning request |\n| `provider-key-check.ts` | `checkProviderKey` — one bounded live check with a closed-set outcome |\n| `pi-provider-projection.ts` | Credential-blind Pi `models.json` projection for one validated profile/model |\n| `pi-provider-launcher-core.ts` | Closed launcher argv contract, the custody snapshot the launcher reads its key through, and auth-mode-aware exact secret resolution |\n| `bin/pi-provider-launcher.ts` | No-listener credential-custody executable that reads the OS store and spawns pinned Pi with a private projection |\n\nAuth modes map to headers as follows, and this mapping is the package's wire\ncontract:\n\n| `auth_mode` | Headers added on top of `accept` / `content-type` |\n| --- | --- |\n| `bearer` | `authorization: Bearer <secret>` |\n| `x_api_key` | `x-api-key: <secret>`, `anthropic-version: 2023-06-01` |\n| `none` | none |\n\nA profile declaring `bearer` or `x_api_key` without a secret fails closed with\n`PROVIDER_SECRET_MISSING` instead of sending an unauthenticated request.\n\n## Provenance\n\nPorted symbol by symbol from `aip-main-open@c6a5385`\n`apps/local-agent/src/providers.ts`. The AiphaBee narrative and finance domain\nsymbols listed in `docs/researches/HANDOFF-byok-keys.md` §4.5 deliberately stayed\nbehind; the clients here take generic `messages` / `max_tokens` / `system`\nparameters instead of building domain prompts.\n","readmeFilename":"README.md"}