{"_id":"@byok-sdk/testkit","_rev":"28-8c78407981f2cede0063c9194eacae17","name":"@byok-sdk/testkit","dist-tags":{"beta":"0.8.0-beta.0","rc":"0.9.0-rc.1","latest":"0.20.0"},"versions":{"0.3.0":{"name":"@byok-sdk/testkit","version":"0.3.0","license":"MIT","_id":"@byok-sdk/testkit@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"},"dist":{"shasum":"5dfaa2f80ec963a0cedc8c27a2325b2c0d7a515a","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.3.0.tgz","fileCount":9,"integrity":"sha512-P6YV5a341rJMf8xY0z80wj8V1v5upTDdBff8tyX/PMPdBpft5NV/ehJATfjhRUZJ4pLpVKPnjvnGerHa9cSP0g==","signatures":[{"sig":"MEUCIQCNYYYJOSM6mXDniLRV4FXMR1fDFHbeFEaSSrkfp4dPngIgA738iptxu6bOs+S7DEr705pGy2jy2wIrXGOkoAogTBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63348},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk/_ops/releases/v0.3.0/byok-sdk-testkit-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.19.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk/_ops/releases/v0.3.0/byok-sdk-testkit-0.3.0.tgz","_integrity":"sha512-P6YV5a341rJMf8xY0z80wj8V1v5upTDdBff8tyX/PMPdBpft5NV/ehJATfjhRUZJ4pLpVKPnjvnGerHa9cSP0g==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.3.0","@byok-sdk/protocol":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.3.0_1786635623634_0.5023187177260844","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.4.0":{"name":"@byok-sdk/testkit","version":"0.4.0","license":"MIT","_id":"@byok-sdk/testkit@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"},"dist":{"shasum":"a49a1edbfabe78442492ddd11868d453e62be299","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.4.0.tgz","fileCount":9,"integrity":"sha512-Sf1pmb25eq0dxI2bFQqlRUlLkUEPYpUcg9Il2Xcj8Z1rDPPrl+4JWSPhqYHlHMYp1H6CcpNP65933Om/pWSbOA==","signatures":[{"sig":"MEUCIGCM8t6Yv2UoWs0DmP/bqN2Ri5VuK93LK8ku0qT60Ri6AiEAt4jdsS+1V31WsgIMeAr5v94wUI4/sRzx7Q+krilHIGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63955},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-release-0.4.0.ytnc1p/byok-sdk-testkit-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.19.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-release-0.4.0.ytnc1p/byok-sdk-testkit-0.4.0.tgz","_integrity":"sha512-Sf1pmb25eq0dxI2bFQqlRUlLkUEPYpUcg9Il2Xcj8Z1rDPPrl+4JWSPhqYHlHMYp1H6CcpNP65933Om/pWSbOA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.4.0","@byok-sdk/protocol":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.4.0_1786724679181_0.03563875113365045","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.4.1":{"name":"@byok-sdk/testkit","version":"0.4.1","license":"MIT","_id":"@byok-sdk/testkit@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"},"dist":{"shasum":"8ec69a9ab57234cc6ef46185b24a5aac6a8fa99b","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.4.1.tgz","fileCount":9,"integrity":"sha512-9Kc+oCsQEWqGGw79ZNy2v+do020yoDXpo1uQej9ubAJWZmERe6mTMJeTdKGF1sCoI7CJxgBmu9NRV7uOWrWaHw==","signatures":[{"sig":"MEUCIQCMD5/L4llqVAKsYgSpROSbJnqy22hFZYsR2xnLqZbkqgIgEM3bWZUGzRCyE8eD8sxgDyPnFKcxqtzA76p34H5Pksg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:_ops/releases/v0.4.1/byok-sdk-testkit-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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk-wt-long-poll-capability-negotiation/_ops/releases/v0.4.1/byok-sdk-testkit-0.4.1.tgz","_integrity":"sha512-9Kc+oCsQEWqGGw79ZNy2v+do020yoDXpo1uQej9ubAJWZmERe6mTMJeTdKGF1sCoI7CJxgBmu9NRV7uOWrWaHw==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.4.0","@byok-sdk/protocol":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.4.1_1786813482762_0.8743120256205983","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.4.2":{"name":"@byok-sdk/testkit","version":"0.4.2","license":"MIT","_id":"@byok-sdk/testkit@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"},"dist":{"shasum":"a4f18cc684f1eb27e8962cd43e922da00f3e1fe2","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.4.2.tgz","fileCount":9,"integrity":"sha512-D/BGSagyKt/AXLE5c7oH6a94ya4u2Eq0BYOZG63a03vFL0XNM/nhWttv8C48OnNQOUzXq9fAMx3F95f1btpXWQ==","signatures":[{"sig":"MEUCIAWeBJaaPrpFin7XL2QSvdMnt77VxnZ+F32UmdnnnCO5AiEA4ZUqq33zPaH3JrxE516K3yNJi2kyfFqCao4a6/I4k+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-release-0.4.2-XM2BjB/byok-sdk-testkit-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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-release-0.4.2-XM2BjB/byok-sdk-testkit-0.4.2.tgz","_integrity":"sha512-D/BGSagyKt/AXLE5c7oH6a94ya4u2Eq0BYOZG63a03vFL0XNM/nhWttv8C48OnNQOUzXq9fAMx3F95f1btpXWQ==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.4.2","@byok-sdk/protocol":"0.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.4.2_1786902474732_0.44361373928438885","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.5.0":{"name":"@byok-sdk/testkit","version":"0.5.0","license":"MIT","_id":"@byok-sdk/testkit@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"},"dist":{"shasum":"2c94bbe561fca7958b1e21fa40359e1140ecb4d4","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.5.0.tgz","fileCount":9,"integrity":"sha512-0HVVKe9aEeHnBZrw15gB004i6j4DHyXUc/QpnE1foh1MLWjT2zvNGkSuKyXLv5tc5V+QkdpozcLPwRsMu8u73Q==","signatures":[{"sig":"MEUCIBr5fCfjt7e6FM2sztRBEfb3Jl1EE0SWBOUYoXIJXEaaAiEAgUUx5Ki+uI6OPG71BtWXAGAivdsg9vzlhwsMLrfCILQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-0.5.0-release.wQCAyr/byok-sdk-testkit-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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-0.5.0-release.wQCAyr/byok-sdk-testkit-0.5.0.tgz","_integrity":"sha512-0HVVKe9aEeHnBZrw15gB004i6j4DHyXUc/QpnE1foh1MLWjT2zvNGkSuKyXLv5tc5V+QkdpozcLPwRsMu8u73Q==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.5.0","@byok-sdk/protocol":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.5.0_1787243247450_0.5970427362538859","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.6.0":{"name":"@byok-sdk/testkit","version":"0.6.0","license":"MIT","_id":"@byok-sdk/testkit@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"},"dist":{"shasum":"bf74632cd1377a209a3537ffd98cbdf7bd8a5aa2","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.6.0.tgz","fileCount":9,"integrity":"sha512-jXvGts31w9g+lOqBU/eXCrqB6rL5wf7lMzkZJvffISmJP1CG1iWYEekN+yTMNX4XzN/5O244eIIAanMUzVY8qQ==","signatures":[{"sig":"MEUCIQD7WiahAayozjqkH98nI1fUAzcfO5WQgFmmvySajJ7aWwIgfxqDWtn0vasVKuuXgeBmoAfo71gp4ZFj1VAphNGFBNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-qKJjs3/artifacts/byok-sdk-testkit-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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-qKJjs3/artifacts/byok-sdk-testkit-0.6.0.tgz","_integrity":"sha512-jXvGts31w9g+lOqBU/eXCrqB6rL5wf7lMzkZJvffISmJP1CG1iWYEekN+yTMNX4XzN/5O244eIIAanMUzVY8qQ==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.6.0","@byok-sdk/protocol":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.6.0_1787320195150_0.5042665581869965","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.6.1":{"name":"@byok-sdk/testkit","version":"0.6.1","license":"MIT","_id":"@byok-sdk/testkit@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"},"dist":{"shasum":"d910f04c0d51878336db6890048bab3930dec1ad","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.6.1.tgz","fileCount":9,"integrity":"sha512-+F4NDlfSSpjJYZif1bA7Jl7cJOLhMoVsOsYItfZudiI58Ef0IBJFmUrc2KjkZCDXICydLrWhDb3mv9sOgwJ0Pg==","signatures":[{"sig":"MEQCIEUgJg+9buHZmdUq0X7N2QauGvn2KZ7gPP5LBY9iNYreAiAOS+2SnEu4pQtnawzVg97JYGhAQ8Jz8aMy99HCyT1/2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-OqTSsP/artifacts/byok-sdk-testkit-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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-OqTSsP/artifacts/byok-sdk-testkit-0.6.1.tgz","_integrity":"sha512-+F4NDlfSSpjJYZif1bA7Jl7cJOLhMoVsOsYItfZudiI58Ef0IBJFmUrc2KjkZCDXICydLrWhDb3mv9sOgwJ0Pg==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.6.1","@byok-sdk/protocol":"0.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.6.1_1787485132803_0.33378447789546306","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.7.0":{"name":"@byok-sdk/testkit","version":"0.7.0","license":"MIT","_id":"@byok-sdk/testkit@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"},"dist":{"shasum":"448c40a8e3bdbf621cbc8dac0af130de68286c0b","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.7.0.tgz","fileCount":9,"integrity":"sha512-I5jEZgsFRzIevn7kSL46viz2bee4cu8z9wNrpuXJBPFRrno5h8Zgb9u/AtkreVaCCFg0m8zDRwDm3M7nT/IJXA==","signatures":[{"sig":"MEQCIAj7r+w1GS34EcpKIwnX8g6xVRYGsf8v36TdqvbUKv9BAiADzRwRnBvN1yw9VVet4XSOpjV+X7rEMMMfR8R7H6GaZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-070-release-ba94f3a/byok-sdk-testkit-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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-070-release-ba94f3a/byok-sdk-testkit-0.7.0.tgz","_integrity":"sha512-I5jEZgsFRzIevn7kSL46viz2bee4cu8z9wNrpuXJBPFRrno5h8Zgb9u/AtkreVaCCFg0m8zDRwDm3M7nT/IJXA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.7.0","@byok-sdk/protocol":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.7.0_1787492638030_0.4902070687180047","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.8.0-beta.0":{"name":"@byok-sdk/testkit","version":"0.8.0-beta.0","license":"MIT","_id":"@byok-sdk/testkit@0.8.0-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"},"dist":{"shasum":"274de09bab9da30c611cdf8e6a20bad6e5dd34a9","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.8.0-beta.0.tgz","fileCount":9,"integrity":"sha512-yYqJwizhRfnK59QjEyf23cfQVf1saqwfX1WiTOeosB6DiL1fmSURSZpWE0UioUZJ9FXuDW4E3z/PdIQHkhtVug==","signatures":[{"sig":"MEQCHxYTUj2MyrbKCEHmTFdJz46JRxtYtfXDDhpOKRWfPyICIQCjfA1z3kkHCHWuMmDDF3vOBAgxD1lgpgl51IbQE0/ZgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63977},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-beta-publish.66F5k3/byok-sdk-testkit-0.8.0-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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-beta-publish.66F5k3/byok-sdk-testkit-0.8.0-beta.0.tgz","_integrity":"sha512-yYqJwizhRfnK59QjEyf23cfQVf1saqwfX1WiTOeosB6DiL1fmSURSZpWE0UioUZJ9FXuDW4E3z/PdIQHkhtVug==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.8.0-beta.0","@byok-sdk/protocol":"0.8.0-beta.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/testkit_0.8.0-beta.0_1787503824097_0.7983014073319379","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.8.0":{"name":"@byok-sdk/testkit","version":"0.8.0","license":"MIT","_id":"@byok-sdk/testkit@0.8.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":"20af87328248f553cf9d65efc73e32bab6041993","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.8.0.tgz","fileCount":9,"integrity":"sha512-UNaKDL2dyvBU6DdcPZvJ+f14ri9ZhPwtoAWiOYXk8nPuKvYVL5sYC5hMSG20fSzmuh0irx5DJexzMPNeEEX21w==","signatures":[{"sig":"MEQCIEEhdF4n+hD89th5Yg9FL5G2msj+7hrMrcoaY/+2JCzSAiBpYP7PbGduHCtsJmhg6+WWMuKEmRkZHAh6DzK1WJTpOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk-rc/20260824-agent-home-projection-release-49be56f/byok-sdk-testkit-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"},"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":"/Users/kito/Projects/byok-sdk-rc/20260824-agent-home-projection-release-49be56f/byok-sdk-testkit-0.8.0.tgz","_integrity":"sha512-UNaKDL2dyvBU6DdcPZvJ+f14ri9ZhPwtoAWiOYXk8nPuKvYVL5sYC5hMSG20fSzmuh0irx5DJexzMPNeEEX21w==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.8.0","@byok-sdk/protocol":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.8.0_1787545105586_0.8446359158508214","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.8.1":{"name":"@byok-sdk/testkit","version":"0.8.1","license":"MIT","_id":"@byok-sdk/testkit@0.8.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"},"dist":{"shasum":"8ffb5c153b43d345d2f8fc1922a3ecdf08a71183","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.8.1.tgz","fileCount":9,"integrity":"sha512-jJB8Wig2faBu4ms7zBQswuMw6KIz2FbfWett0/kJSQuiSC/9bQlUuC69eGhQ4okGxsf6ywMXqV1RosBAodTuwg==","signatures":[{"sig":"MEYCIQD9UMTPIRtg/y4X3sp45mH68fgaCmelGs/KRs28Ua1SJwIhAMixFL//1n02zl7A5kZ84+gVyhA0PvS8WZE/NREkD2eg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk-rc/20260825-stable-0.8.1-cdb4248-retry1/byok-sdk-testkit-0.8.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk-rc/20260825-stable-0.8.1-cdb4248-retry1/byok-sdk-testkit-0.8.1.tgz","_integrity":"sha512-jJB8Wig2faBu4ms7zBQswuMw6KIz2FbfWett0/kJSQuiSC/9bQlUuC69eGhQ4okGxsf6ywMXqV1RosBAodTuwg==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.8.1","@byok-sdk/protocol":"0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.8.1_1787632188022_0.6174591888319099","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.9.0-rc.1":{"name":"@byok-sdk/testkit","version":"0.9.0-rc.1","license":"MIT","_id":"@byok-sdk/testkit@0.9.0-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"},"dist":{"shasum":"9ded224048bd971c793238d6666d73e7ab65a02d","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.9.0-rc.1.tgz","fileCount":9,"integrity":"sha512-b7P9QOQT7T51g9YSeGUeES73q8rDkd0Om/K7706Q/yhXK7MAbzhP78YtpDtLLyobsf+rAwLtGEFYx/uo2rJRWQ==","signatures":[{"sig":"MEYCIQDkzAlyQpUFD/gltqRsja/3HlWERDvm/L38DbliJ+6ITgIhAJgnztKD204HM0njNwZosg7y8fHBi44EnwwOU1GsKsWX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63971},"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-testkit-0.9.0-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"},"_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-testkit-0.9.0-rc.1.tgz","_integrity":"sha512-b7P9QOQT7T51g9YSeGUeES73q8rDkd0Om/K7706Q/yhXK7MAbzhP78YtpDtLLyobsf+rAwLtGEFYx/uo2rJRWQ==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.9.0-rc.1","@byok-sdk/protocol":"0.9.0-rc.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/testkit_0.9.0-rc.1_1787888629183_0.18673946152688647","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.9.0":{"name":"@byok-sdk/testkit","version":"0.9.0","license":"MIT","_id":"@byok-sdk/testkit@0.9.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":"e43acdc3fbf1e058f04958b2068aec815c811eab","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.9.0.tgz","fileCount":9,"integrity":"sha512-eWBQEjs6mqPaLVsh6tCCbi+9QiIv2K3qW/HWZdtgLyRGwUX7gsmKpMwYJPdXbHCpZdb+n1+KV9zrF661F4Qs8Q==","signatures":[{"sig":"MEUCIQCsd3MBDf0ALGs9v09JRSeKU7Thlnw8O1zuHlTntE317QIgeV1+XMpE6lyWrYTDkJC2bo7RqE0qlYMy5LaN2k34d/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/Users/ancienttwo/Projects/byok-sdk/_ops/releases/v0.9.0-main-1dd028d/byok-sdk-testkit-0.9.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/ancienttwo/Projects/byok-sdk/_ops/releases/v0.9.0-main-1dd028d/byok-sdk-testkit-0.9.0.tgz","_integrity":"sha512-eWBQEjs6mqPaLVsh6tCCbi+9QiIv2K3qW/HWZdtgLyRGwUX7gsmKpMwYJPdXbHCpZdb+n1+KV9zrF661F4Qs8Q==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.4","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"@byok-sdk/core":"0.9.0","@byok-sdk/protocol":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.9.0_1787903736900_0.7429202849313759","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.9.1":{"name":"@byok-sdk/testkit","version":"0.9.1","license":"MIT","_id":"@byok-sdk/testkit@0.9.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"},"dist":{"shasum":"4bfe7c2eb3be1875db6b80eca072b7ad81417517","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.9.1.tgz","fileCount":9,"integrity":"sha512-n9tZcqdnN5ydz7t9fOhgqC7HGmSZQfdMv12HNZ4KSlre3FaRAdyD9G46rNWEfLG7hYndEEXHJ4aCzihuZykN5w==","signatures":[{"sig":"MEUCIQDTgOa6r/c3axDUlyaess/8cQlq8WAykxfdWyAdF7OYPgIgZmO5+3Ow4svRtq+Pexdt4i3n82gq9zLpIS2AxR+G/wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63956},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-Phxsaa/artifacts/byok-sdk-testkit-0.9.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-Phxsaa/artifacts/byok-sdk-testkit-0.9.1.tgz","_integrity":"sha512-n9tZcqdnN5ydz7t9fOhgqC7HGmSZQfdMv12HNZ4KSlre3FaRAdyD9G46rNWEfLG7hYndEEXHJ4aCzihuZykN5w==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.9.1","@byok-sdk/protocol":"0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.9.1_1788008208927_0.3078313922196647","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.10.0":{"name":"@byok-sdk/testkit","version":"0.10.0","license":"MIT","_id":"@byok-sdk/testkit@0.10.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":"cae8e99d258e156222a556dcc8119935a54cd2c3","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.10.0.tgz","fileCount":9,"integrity":"sha512-YcOzldgG+IeRYAfn+lgmHSKojw4+pY58LwiAFihtnHVpK+AMtGZwriiP6ZNJ3ocAV1lcxPlFhtoYSZJ1//owHA==","signatures":[{"sig":"MEQCIAhNHRX8+AvQZmtaeNF7znptLuLpkCouzQdB1GfOuEVwAiAf0iqht8SCm8MGoThqiz/AQSnst7gSorXe5mLbIeAl4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-pKCgne/artifacts/byok-sdk-testkit-0.10.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-pKCgne/artifacts/byok-sdk-testkit-0.10.0.tgz","_integrity":"sha512-YcOzldgG+IeRYAfn+lgmHSKojw4+pY58LwiAFihtnHVpK+AMtGZwriiP6ZNJ3ocAV1lcxPlFhtoYSZJ1//owHA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.10.0","@byok-sdk/protocol":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.10.0_1788015209083_0.6667389792577889","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.10.1":{"name":"@byok-sdk/testkit","version":"0.10.1","license":"MIT","_id":"@byok-sdk/testkit@0.10.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"},"dist":{"shasum":"d120cf8b259fe888d0f03cc89b09bbe1c93ec498","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.10.1.tgz","fileCount":9,"integrity":"sha512-dI5A7ZeSfTINyCdRrHrxzBHUkaX/C6kOSwzhaOptA+B07uyrvQleUsNCc+ylwQ8EeRCdHvShUS4yBiW/yurySw==","signatures":[{"sig":"MEYCIQCWNhvZgl2EkA1Gl8JRl2Al9sakU1iUs5r0TBnRyJj7jAIhAK6yTWqbcdMFvvegQhPlu/WBQdyummDK2My2yjJeloSb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-hBsvue/artifacts/byok-sdk-testkit-0.10.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-hBsvue/artifacts/byok-sdk-testkit-0.10.1.tgz","_integrity":"sha512-dI5A7ZeSfTINyCdRrHrxzBHUkaX/C6kOSwzhaOptA+B07uyrvQleUsNCc+ylwQ8EeRCdHvShUS4yBiW/yurySw==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.10.1","@byok-sdk/protocol":"0.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.10.1_1788024508820_0.26217793841666115","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.10.2":{"name":"@byok-sdk/testkit","version":"0.10.2","license":"MIT","_id":"@byok-sdk/testkit@0.10.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"},"dist":{"shasum":"e2309f4c4361970c62266d66722578be4edf7565","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.10.2.tgz","fileCount":9,"integrity":"sha512-uWhlE2lohf9w3ldF3/0ebFXH2j7wJoqRoT08VvZ4jcvc2JIUUgFk7nJ/EXXGMJbIK1+ixoVw533pXsw/uB0WUw==","signatures":[{"sig":"MEQCIAi230AhIcXcTV+hK6Fm/54621NwSKAuIU3DksmdThApAiAsDxZNxha6URCP8gIU/SN/c2DhuG7sX91qG/jixC5MSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-5qmPqt/artifacts/byok-sdk-testkit-0.10.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/var/folders/fg/cxwpgmpn589gm911sskc0v_m0000gn/T/byok-release-publish-5qmPqt/artifacts/byok-sdk-testkit-0.10.2.tgz","_integrity":"sha512-uWhlE2lohf9w3ldF3/0ebFXH2j7wJoqRoT08VvZ4jcvc2JIUUgFk7nJ/EXXGMJbIK1+ixoVw533pXsw/uB0WUw==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.10.2","@byok-sdk/protocol":"0.10.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.10.2_1788028153611_0.891630109169038","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.11.0":{"name":"@byok-sdk/testkit","version":"0.11.0","license":"MIT","_id":"@byok-sdk/testkit@0.11.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":"6c17d80e396fd2bf8944215c5103538f36de4805","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.11.0.tgz","fileCount":9,"integrity":"sha512-NWBg1brUs1I6Djpqs6Kl7gPSsUCd4HZVghIxtahB1+pa7K4Q5mK5vn4XAsVWFd19p9b3a4WNowxpvqaZpqYvCw==","signatures":[{"sig":"MEQCIDGW5ZT4WAzC5HgfAIwRkl48PROEoR8umDSAFx2IxHQ/AiAFZn3Yr9Bcp+kBow9IPseazJRW2u5JfJ0AJuYeOAXdqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"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-testkit-0.11.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"},"_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-testkit-0.11.0.tgz","_integrity":"sha512-NWBg1brUs1I6Djpqs6Kl7gPSsUCd4HZVghIxtahB1+pa7K4Q5mK5vn4XAsVWFd19p9b3a4WNowxpvqaZpqYvCw==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.11.0","@byok-sdk/protocol":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.11.0_1788096506374_0.1882221475562167","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.12.0":{"name":"@byok-sdk/testkit","version":"0.12.0","license":"MIT","_id":"@byok-sdk/testkit@0.12.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":"f01a0c4c9909209015cd6abd16a20d3ce8ea6c73","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.12.0.tgz","fileCount":9,"integrity":"sha512-T7MktkSKLzcFBsHoWMW0AcAD96Pc9tV4+WBs7KhM7Wqfqgy4Ry37J0TjFjpSJQtr79OGbXu7BZITHxNVTdilLA==","signatures":[{"sig":"MEYCIQCo2KjeS1rAnKym20MqLGYf/VqmqEqTSyTuQu0JupMbkwIhAKlU32S2ZorlUIG60OTaY1ItMaG+i4skFwy0DnDW64U1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"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-testkit-0.12.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"},"_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-testkit-0.12.0.tgz","_integrity":"sha512-T7MktkSKLzcFBsHoWMW0AcAD96Pc9tV4+WBs7KhM7Wqfqgy4Ry37J0TjFjpSJQtr79OGbXu7BZITHxNVTdilLA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.12.0","@byok-sdk/protocol":"0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.12.0_1788340935129_0.14429491405627504","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.13.0":{"name":"@byok-sdk/testkit","version":"0.13.0","license":"MIT","_id":"@byok-sdk/testkit@0.13.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":"fcb4077f783a1f87385ad9cf386b710e4067067b","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.13.0.tgz","fileCount":9,"integrity":"sha512-6zw9hDPvqNVBxzF0q4NSM/LO5pZfPF/78L5MCkvfqdRbxaCdg2mKKrr+jxXP15Wu4InPDMXHzGCPRSGk0cGNBA==","signatures":[{"sig":"MEYCIQCyYzuSdhL0btVs1LKgVp9rB9VmDVZShuymq+BGcBwO2gIhAP4A31blnkgSUcKYfUm57AIAOEutxs/HLCp1KZ5NNZi7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/byok-release-013-recovery-20260905/_ops/releases/0.13.0-restored/byok-sdk-testkit-0.13.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"},"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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/private/tmp/byok-release-013-recovery-20260905/_ops/releases/0.13.0-restored/byok-sdk-testkit-0.13.0.tgz","_integrity":"sha512-6zw9hDPvqNVBxzF0q4NSM/LO5pZfPF/78L5MCkvfqdRbxaCdg2mKKrr+jxXP15Wu4InPDMXHzGCPRSGk0cGNBA==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@byok-sdk/core":"0.13.0","@byok-sdk/protocol":"0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.13.0_1788611571333_0.3683361598865895","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.14.0":{"name":"@byok-sdk/testkit","version":"0.14.0","license":"MIT","_id":"@byok-sdk/testkit@0.14.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":"d585c14ce5370f180000aefb9a6f66057902148e","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.14.0.tgz","fileCount":9,"integrity":"sha512-aE+tMVQbAZVJ4fX8VN2Gm4LSxL2+8UBNbgqKgeKNK/4gMcX4M3MXvedejQJVyih4WHAUAlVcP8razr+X2w5mxw==","signatures":[{"sig":"MEUCIDOco/hSqcQ3fVofUc5NH1LQQHuOXoT3NvOQ5WXD6UtSAiEA6KtPLo5IjJK46Iika/+TRdCAxhhfhBIUupUe08hxDZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/tmp/byok-release-readiness.laGyYR/byok-sdk-testkit-0.14.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/tmp/byok-release-readiness.laGyYR/byok-sdk-testkit-0.14.0.tgz","_integrity":"sha512-aE+tMVQbAZVJ4fX8VN2Gm4LSxL2+8UBNbgqKgeKNK/4gMcX4M3MXvedejQJVyih4WHAUAlVcP8razr+X2w5mxw==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.14.0","@byok-sdk/protocol":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.14.0_1788713187097_0.005198501113890197","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.15.0":{"name":"@byok-sdk/testkit","version":"0.15.0","license":"MIT","_id":"@byok-sdk/testkit@0.15.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":"43d4cebfcf2cffda6e9553f516e64a4c7994da68","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.15.0.tgz","fileCount":9,"integrity":"sha512-PlxNHLt9ljbljNZCuZTjkbuT3iYdXzVVcKc6yMwCtaRtqI6OCICjgJRpwQX6j14DEjTl9RaOFBt99UXdY1qP5A==","signatures":[{"sig":"MEUCIQCPsQm6FwOao+9wH9TvSqmopFjHAv4DXlGPkFoa3zTN8gIgFnScO7wJ2meW64mQUdllAv5TNk/rI+pLGpIrL42cFQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk/_ops/releases/0.15.0-verified/artifacts/byok-sdk-testkit-0.15.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk/_ops/releases/0.15.0-verified/artifacts/byok-sdk-testkit-0.15.0.tgz","_integrity":"sha512-PlxNHLt9ljbljNZCuZTjkbuT3iYdXzVVcKc6yMwCtaRtqI6OCICjgJRpwQX6j14DEjTl9RaOFBt99UXdY1qP5A==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@byok-sdk/core":"0.15.0","@byok-sdk/protocol":"0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.15.0_1788873757724_0.22882048635070662","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.16.0":{"name":"@byok-sdk/testkit","version":"0.16.0","license":"MIT","_id":"@byok-sdk/testkit@0.16.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":"e144f58dd327b0d106d3e2042b3def4ffcc9b3e8","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.16.0.tgz","fileCount":9,"integrity":"sha512-XTeklKGToBeT30NuR+E4+Nq5YtzpJLRUb2PETZtE+vPZ1I3dx0JfqjkOaTB2/fo5DIH8/nTs5dsxVbED1ASHdw==","signatures":[{"sig":"MEUCIG8S00ehiWqAqRbTb8+AsLFAfaAPHwlZw7QgvHyVJNryAiEA7UnrR1cEpiIN7Zcisg2howMMy6Uo+Z13Gxky63QmfX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk/_ops/releases/0.16.0-verified/artifacts/byok-sdk-testkit-0.16.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk/_ops/releases/0.16.0-verified/artifacts/byok-sdk-testkit-0.16.0.tgz","_integrity":"sha512-XTeklKGToBeT30NuR+E4+Nq5YtzpJLRUb2PETZtE+vPZ1I3dx0JfqjkOaTB2/fo5DIH8/nTs5dsxVbED1ASHdw==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@byok-sdk/core":"0.16.0","@byok-sdk/protocol":"0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.16.0_1788885249522_0.7924658753742353","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.17.0":{"name":"@byok-sdk/testkit","version":"0.17.0","license":"MIT","_id":"@byok-sdk/testkit@0.17.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":"3c03992da557c366791742335a02dccba44b83b9","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.17.0.tgz","fileCount":9,"integrity":"sha512-0ROw0ez9EV7z+nkurOeyMJ5QrHtcyx9en+Rt8KMqA9+UuWp8WNoEQoAgF34DejSseXWooz761vvJPR43pxHowg==","signatures":[{"sig":"MEYCIQDDTXlm+C6YmK6vbIQlc2NutcoVXUpcMAn8U2vtN5CtgwIhAOVvmK27OeLc4ZTjHpjFe48A4juCXYWym/XuFh931OuX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"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-testkit-0.17.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"},"_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-testkit-0.17.0.tgz","_integrity":"sha512-0ROw0ez9EV7z+nkurOeyMJ5QrHtcyx9en+Rt8KMqA9+UuWp8WNoEQoAgF34DejSseXWooz761vvJPR43pxHowg==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.4","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"@byok-sdk/core":"0.17.0","@byok-sdk/protocol":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.17.0_1788928268501_0.5043308770830013","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.18.0":{"name":"@byok-sdk/testkit","version":"0.18.0","license":"MIT","_id":"@byok-sdk/testkit@0.18.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":"bcd0c9b96f119e0cab0f40309c7b2a89b9ee347c","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.18.0.tgz","fileCount":9,"integrity":"sha512-/S3ygLAtqj5mU6onu2NByZTAqBM+DkIIqabcWE2waNLm4/Q6duzPlfA+cgtj+iFOKOJO0xP8lLvzuU/ladtg5g==","signatures":[{"sig":"MEUCID79sVlPc4ss9ZN3k0pWqn+DLHQXPHvSp61t7ZW1D9TVAiEApNWlujmSdpndqTl5Vi6a8TrAC3l6QuPsxkHepbNMa2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk-release-018-7b26ef5f/_ops/release018-main-artifacts/byok-sdk-testkit-0.18.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk-release-018-7b26ef5f/_ops/release018-main-artifacts/byok-sdk-testkit-0.18.0.tgz","_integrity":"sha512-/S3ygLAtqj5mU6onu2NByZTAqBM+DkIIqabcWE2waNLm4/Q6duzPlfA+cgtj+iFOKOJO0xP8lLvzuU/ladtg5g==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"11.16.0","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"26.3.1","dependencies":{"@byok-sdk/core":"0.18.0","@byok-sdk/protocol":"0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.18.0_1789073198647_0.05841268818364509","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.19.0":{"name":"@byok-sdk/testkit","version":"0.19.0","license":"MIT","_id":"@byok-sdk/testkit@0.19.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":"19bacd36ec9531c25a7f5405b8488fb215899967","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.19.0.tgz","fileCount":9,"integrity":"sha512-SUVrKeArtiouFBfRHFE8FZ7OKTWMxQVXLD6n/40pHi1cU2Aate96LyUqI9awzlp7IOzUU49yIrgaKdHp40T0Xg==","signatures":[{"sig":"MEYCIQCrVh0xGZEce2c9xgB9x7gq/6KAiG34dtNDkeMMJiV/pwIhAOHWI4D3+oDrruMd2Wdw3+wxShYmGDS7WQDnwkNoCbEj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDyq1SIBlpu96cOUh4Xz9MdHXoxqiNcoHUe2SAB7bkBNwIgHcLb5QWzJhsalszutEPR2jeQrUEZUQzcFnwAq8eHLu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/Users/kito/Projects/byok-sdk/_ops/releases/0.19.0-artifacts/byok-sdk-testkit-0.19.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/Users/kito/Projects/byok-sdk/_ops/releases/0.19.0-artifacts/byok-sdk-testkit-0.19.0.tgz","_integrity":"sha512-SUVrKeArtiouFBfRHFE8FZ7OKTWMxQVXLD6n/40pHi1cU2Aate96LyUqI9awzlp7IOzUU49yIrgaKdHp40T0Xg==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.19.0","@byok-sdk/protocol":"0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.19.0_1790089310927_0.5182844943219764","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."},"0.20.0":{"name":"@byok-sdk/testkit","version":"0.20.0","license":"MIT","_id":"@byok-sdk/testkit@0.20.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":"5e8142f82a7642cad36b85bbf00aabece8803db4","tarball":"https://registry.npmjs.org/@byok-sdk/testkit/-/testkit-0.20.0.tgz","fileCount":9,"integrity":"sha512-MwegScBWcu2/eumiidj05tE4HsNU+eL2uQgc6W/WV/Lx4xUnVaS9IrYEamdDNf0a1L8YXlPzuuv3iyBYhl5zLw==","signatures":[{"sig":"MEQCIHMm/zJsQSvBSK1/1aG7J7bh7pssU2wUMvYbNJ5gAPC5AiBoF1pHWtocfOTQ4W/XTH0gHUle/5CV1ABXfBeED0NRow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBY/8fy2lBJU+eqCr//BteiDZFcxoSSZfiYpF+AyTdpdAiBBRkYRBun0ItnQFDvPJjWJJLPzluY16U/ThirjPFWI1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/release-0.20.0-artifacts/byok-sdk-testkit-0.20.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"},"_npmUser":{"name":"ancienttwo","email":"Chris_Fung@live.hk"},"_resolved":"/private/tmp/release-0.20.0-artifacts/byok-sdk-testkit-0.20.0.tgz","_integrity":"sha512-MwegScBWcu2/eumiidj05tE4HsNU+eL2uQgc6W/WV/Lx4xUnVaS9IrYEamdDNf0a1L8YXlPzuuv3iyBYhl5zLw==","repository":{"url":"git+https://github.com/Ancienttwo/byok-sdk.git","type":"git","directory":"packages/testkit"},"_npmVersion":"10.9.8","description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@byok-sdk/core":"0.20.0","@byok-sdk/protocol":"0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/testkit_0.20.0_1790173887104_0.9822965128946153","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer published."}},"time":{"created":"2026-08-13T15:40:23.325Z","modified":"2026-09-24T17:10:04.827Z","0.3.0":"2026-08-13T15:40:23.785Z","0.4.0":"2026-08-14T16:24:39.335Z","0.4.1":"2026-08-15T17:04:42.922Z","0.4.2":"2026-08-16T17:47:54.879Z","0.5.0":"2026-08-20T16:27:27.605Z","0.6.0":"2026-08-21T13:49:55.333Z","0.6.1":"2026-08-23T11:38:52.931Z","0.7.0":"2026-08-23T13:43:58.152Z","0.8.0-beta.0":"2026-08-23T16:50:24.234Z","0.8.0":"2026-08-24T04:18:25.735Z","0.8.1":"2026-08-25T04:29:48.152Z","0.9.0-rc.1":"2026-08-28T03:43:49.316Z","0.9.0":"2026-08-28T07:55:37.054Z","0.9.1":"2026-08-29T12:56:49.058Z","0.10.0":"2026-08-29T14:53:29.216Z","0.10.1":"2026-08-29T17:28:28.949Z","0.10.2":"2026-08-29T18:29:13.766Z","0.11.0":"2026-08-30T13:28:26.512Z","0.12.0":"2026-09-02T09:22:15.257Z","0.13.0":"2026-09-05T12:32:51.456Z","0.14.0":"2026-09-06T16:46:27.242Z","0.15.0":"2026-09-08T13:22:37.879Z","0.16.0":"2026-09-08T16:34:09.716Z","0.17.0":"2026-09-09T04:31:08.624Z","0.18.0":"2026-09-10T20:46:38.785Z","0.19.0":"2026-09-22T15:01:51.012Z","0.20.0":"2026-09-23T14:31:27.182Z"},"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/testkit"},"description":"BYOK SDK headless device simulator: protocol-level pairing, token renewal, presence, and the built-in negative assertions a host's smoke test would otherwise hand-write","maintainers":[{"name":"ancienttwo","email":"Chris_Fung@live.hk"}],"readme":"# @byok-sdk/testkit\n\nA headless device simulator for the BYOK device wire (docs/protocol.md §6, §12.3).\n\nIf you are integrating the SDK and writing a smoke test, this package is the part\nof that test you should not be writing yourself: generating an Ed25519 identity,\nexporting it the way `PairRequest.devicePublicKey` expects, knowing that a\nchallenge nonce is signed under a domain-separation prefix, knowing what that\nprefix is, and knowing the exact shapes of `pair` / `challenge` / `token` /\n`presence`. All of that is upstream knowledge. Hand-written downstream, it goes\nquietly green against nothing the moment upstream changes any of it.\n\nRuntime dependencies are `@byok-sdk/core` and `@byok-sdk/protocol`, and nothing\nelse — **no test framework**. The negative assertions are async functions\nreturning structured results, so the same checks run under vitest, under a plain\nCI script, and inside a Worker. Requires Node ≥ 22.22 (or any runtime exposing\nWebCrypto Ed25519 on `globalThis.crypto.subtle`).\n\n## Install\n\n```sh\nnpm install --save-dev @byok-sdk/testkit\n```\n\n## Usage\n\n```ts\nimport { createDeviceSimulator, runNegativeAssertions, failedAssertions } from '@byok-sdk/testkit';\n\nconst simulator = await createDeviceSimulator({\n  baseUrl: 'https://cloud.example.com',\n  // Optional. Defaults to globalThis.fetch; pass `cloud.fetch` to drive an\n  // in-process composition with no socket.\n  // fetch: async (input, init) => cloud.fetch(new Request(input, init)),\n  host: {\n    listPresence: () => cloud.listPresence(tenant),\n    revokeDevice: (deviceId) => cloud.revokeDevice(tenant, deviceId),\n  },\n});\n\n// 1. pair — redeem a one-time pairing code your control plane minted\nconst session = await simulator.pair(pairingCode, 'ci-device');\n\n// 2. challenge + 3. token — renew without re-pairing\nconst nonce = await simulator.challenge(session.deviceId);\nawait simulator.token({\n  deviceId: session.deviceId,\n  nonce,\n  signature: await simulator.identity.signNonce(nonce),\n});\n// …or `await simulator.renewAccessToken()` for all three in one call.\n\n// 4. presence — published under the device bearer, read back host-side\nawait simulator.publishPresence('working', 'running the suite', ['salesko.connectors']);\nconst hints = await simulator.readHostPresence();\n\n// 5. revoke — through your host control plane\nawait simulator.revoke();\n```\n\n### The host adapter\n\n`pair`, `challenge`, `token`, and `publishPresence` go over HTTP, because those\nare real mounted routes. Minting a pairing code, reading presence back, and\nrevoking a device are **not**: the SDK mounts no admin route, and those are\nin-process calls on `ByokCloud` / `ByokServer`. A deployment that exposes them\nover HTTP chooses the paths and the credential itself, so this package will not\nguess either — you pass a `SimulatorHost` with two methods. In-process (above)\nand HTTP are both a few lines:\n\n```ts\nconst host = {\n  async listPresence() {\n    const response = await fetch(`${adminUrl}/presence`, { headers: adminAuth });\n    return response.json();\n  },\n  async revokeDevice(deviceId) {\n    await fetch(`${adminUrl}/devices/${deviceId}/revoke`, { method: 'POST', headers: adminAuth });\n  },\n};\n```\n\n### Negative assertions\n\nFour checks, each returning `{ name, ok, expected, actual, response }` rather\nthan throwing, so your runner decides what a failure means:\n\n```ts\nconst results = await runNegativeAssertions(simulator, { redeemedPairingCode: pairingCode });\nexpect(failedAssertions(results)).toEqual([]);\n```\n\n`runNegativeAssertions` revokes the device as its last step (post-revocation is\nterminal for that identity), so give it a simulator you are done with.\n\nThey can also be called individually — `assertUnauthenticatedRejected`,\n`assertPairingCodeSingleUse`, `assertUndomainedSignatureRejected`,\n`assertRevokedDeviceChallengeRejected`. Each takes an argument that makes it go\nred, and the repo's `pairing-simulator` conformance suite exercises exactly that\nbefore trusting the green form: an assertion that cannot fail is decoration.\n\n`assertUnauthenticatedRejected` defaults to `PUT /byok/presence` — the SDK's own\ncredentialed HTTP surface is device-class. If your deployment publishes admin\nroutes, pass one as the second argument to assert the same property about it.\n\n## Replacement condition\n\nThis table is the contract with a downstream host: when every row is covered,\nthe hand-written protocol section of your smoke test can be deleted. The\nleft-hand column is the inventory a real integration (`salesko`,\n`scripts/byok-pairing-smoke.ts`, 11 HTTP requests / 15 assertions) was forced to\nwrite by hand before this package existed.\n\n| Hand-written detail | Replaced by | Verified by |\n|---|---|---|\n| `crypto.subtle.generateKey({name:'Ed25519'})` + JWK `x` export, base64url, 43 chars | `createDeviceIdentity()`, `simulator.identity.publicKeyBase64Url`, `DEVICE_PUBLIC_KEY_LENGTH` | `packages/testkit/src/__tests__/identity.test.ts` |\n| `byok-nonce-v1\\n` + nonce domain-separated signing bytes | `simulator.identity.signNonce(nonce)` — bytes come from `@byok-sdk/core`'s `nonceSigningBytes`, the single authority; this package defines no domain literal | `packages/core/src/__tests__/pairing.test.ts` |\n| `pair(pairingCode, deviceName, devicePublicKey) → {deviceId, accessToken}` | `simulator.pair(pairingCode, deviceName)` | conformance `pairing simulator › five primitives` |\n| `challenge → {nonce}` | `simulator.challenge(deviceId?)` | same |\n| `token(deviceId, nonce, signature)` | `simulator.token({deviceId, nonce, signature})`, or `renewAccessToken()` | same |\n| `PUT /byok/presence {level, detail, configuredToolsets?}` under device bearer | `simulator.publishPresence(level, detail?, configuredToolsets?)` | same |\n| Host-side presence read-back | `simulator.readHostPresence()` via `SimulatorHost` | same |\n| Revoke | `simulator.revoke()` via `SimulatorHost` | same |\n| Negative: unauthenticated request → 401 | `assertUnauthenticatedRejected` | conformance `negative assertions hold` + `can fail` |\n| Negative: pairing code single-use, second redemption → 401 | `assertPairingCodeSingleUse` | same |\n| Negative: non-domain-separated signature rejected | `assertUndomainedSignatureRejected` | same |\n| Negative: post-revocation challenge → 401 | `assertRevokedDeviceChallengeRejected` | same |\n\nNot covered, and still yours to write: anything about your own product surface —\nyour admin routes' authorization, your pairing-code issuance UI, and any\nassertion about what your application does with a paired device.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}