{"_id":"@trybotster/hub-test-support","_rev":"37-1393a0ea4428aa47fe18a00851d47bfc","name":"@trybotster/hub-test-support","dist-tags":{"latest":"0.1.43"},"versions":{"0.1.0":{"name":"@trybotster/hub-test-support","version":"0.1.0","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.0","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"c709ba2ba0c5caeffecfa8393d4ed3c72f31d8f4","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.0.tgz","fileCount":10,"integrity":"sha512-mPzEtNDkeuHAAqqrobVnMY/w5p4uxhy4n3y3EzBfgwyhwIaIPr31kTYRck3MighQjzx+AZ00M1q6KAS9/ge/iA==","signatures":[{"sig":"MEYCIQD2cTelPxqVU17mLqruokQ8/zZKX/4U/+49kAwI785x6gIhAIetERp53ri9Lt6CwNHSe5VhzCYcgyaiQvCLPEA+iR3Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35988},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.0_1783360583854_0.9192861457865513","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@trybotster/hub-test-support","version":"0.1.1","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.1","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"d83d03e8a783b1f336fe5cff1339037652df430a","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.1.tgz","fileCount":10,"integrity":"sha512-pAMT4Ev8wAn7y/Y2VLWSza8w4egXGGCbTC0HLqxV2cX5QEpA27M9G27mChUuD8iTPiaRMw0wueMZn5/jT20jVg==","signatures":[{"sig":"MEQCIFhomv4fbkM4o9xS5plirbuGlu2+Lz25gyKWyt8Ba7iqAiBa19A+j2CwCUk38PIFUYSKM/RzCAkEiMOtBwpFMUhNEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36607},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.1_1783385211966_0.16313252731870853","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@trybotster/hub-test-support","version":"0.1.2","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.2","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"db51cb8ddc65b310dcbbe82f5c41e8406f9f7d12","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.2.tgz","fileCount":10,"integrity":"sha512-BUUWm254KJQYJC9SpV4NvogE6Nyu4FQEWpTurlRqhdRNfOahl4u7IJSJY/5bisgscAWuMcHqfo03SVEq9lkjfA==","signatures":[{"sig":"MEUCIQDORJAZxe9WbXy4Vh9Z5Bgb3cuiNxJ1xTYfr6YXNO2oTQIgX1yySViYe9aFLW2qQrEcxjf1/3rDXLRXxnBnllW7xwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43590},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*"},"gitHead":"39e457efb51ae6f312ebf5b10c21ce7b478ef93e","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.2_1783548404984_0.47745697017856714","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@trybotster/hub-test-support","version":"0.1.3","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.3","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"2d83f6e167043b1605cf952527fc75b4cfbc2b6d","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.3.tgz","fileCount":12,"integrity":"sha512-MzDrcB13cDfT+QZ8yoJ+zf+0pCfcUI5VHMYEC7U8e2e1LhQx4x8vLKFRSfrMPBT9n52eZBXYVebLYxZM4ABQOw==","signatures":[{"sig":"MEUCIGfOe7rAM4quMpqT6dltLT7JWV0OJAPgNjqOll2FcNEFAiEAg+FFRRVBTC6pNW9j1KHaF+RxL6lp8OwxhgWQk2S55Dc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52789},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.3_1783655417350_0.3796095564974593","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@trybotster/hub-test-support","version":"0.1.4","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.4","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"b7ee096623892d88b2ef2eb64813b23515e487ba","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.4.tgz","fileCount":13,"integrity":"sha512-Go3KULsOpqdo5xI+08viWdnK5yVIVyjz7Nf/546kpMn7KqpI6ibGx8+3iqILZaLiUPj/MSrn9fy+alZVgoY/RA==","signatures":[{"sig":"MEUCIQCS1OWmqZerOzYKFV8GyuqdRF/BkgFH6qWa11IuFLZoPAIgMToXB702/U26req3Hei+4Cwvmw5aLnA9Wjbw9t+v0yU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55839},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-response-chunk-conformance-fixture":"./local-webrtc-response-chunk-conformance-fixture.json"},"gitHead":"374979b011579a65af4a63f29639a309ef74b7b9","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.4_1783987693725_0.9699589632715553","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@trybotster/hub-test-support","version":"0.1.5","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.5","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"22ec6f0d0791d60a556afe025cde2ba154c720c0","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.5.tgz","fileCount":13,"integrity":"sha512-nbaogrWWnGv0yHLz0UsXYFd0j2rx1MslK5wSepOvBqEMtteVNqfI7MkfLXyzu4cwwQv5A9lXBTaN3WtrlVhDVg==","signatures":[{"sig":"MEUCIQDnM5SHnpB8494TC3cwKezTBb9h81qxZDU+WaPFiIPFGgIgbQpfiyeWdvL8mBUSB+ZfutAxWuG/tWo+Ux1O7hVrb+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56509},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-response-chunk-conformance-fixture":"./local-webrtc-response-chunk-conformance-fixture.json"},"gitHead":"a9b8c637682e7bd5862b041b471bf660d91a895c","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.5_1784048013311_0.19585972598815737","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@trybotster/hub-test-support","version":"0.1.6","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.6","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"6ecc3a03d4988633dd13a43bc2cb4d8c3ede4f5d","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.6.tgz","fileCount":13,"integrity":"sha512-HyDf/K++9+XFfb55mI8xEdDPm7rQAPxV6vRAGjwFKFgLSfVeJsBI7BtF0l8hOmP6gGuv7T1Oswtx/P3nz8STpA==","signatures":[{"sig":"MEQCIGvax9O3DyXuPv/C6L1981OPf+MzatFgVV4cPzgLyH8/AiA0PTLkRuWFGDeYizOfX0PUKvhO9Vy5V0dPxRTutrnY9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56917},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-response-chunk-conformance-fixture":"./local-webrtc-response-chunk-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.6_1784064371955_0.4981144939081936","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@trybotster/hub-test-support","version":"0.1.7","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.7","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"1acff57ebc054af830fed5bdd6d1a3f34cfc51f1","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.7.tgz","fileCount":13,"integrity":"sha512-46nX2cbTBHfBz7ukO8K/FkEpVy9JSqDQomZdTvN/Ho1fVCEKOnnYz04xyGgF8e0m9jImJbiKcaTfgyuvOmDd2w==","signatures":[{"sig":"MEYCIQDAS/0YDQHsJ+3HWV2rS0sAUHNx0b+hhKPBz3Im7hzU2wIhAMW5touJGO+xr/tFGlj9iUluba5y/wisX4s/yQIo6+Nw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56911},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-response-chunk-conformance-fixture":"./local-webrtc-response-chunk-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.7_1784067849315_0.2608325162330021","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@trybotster/hub-test-support","version":"0.1.8","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.8","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"732946c28a619f0d4dd0956635a7fe283877acce","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.8.tgz","fileCount":14,"integrity":"sha512-tOdnofJe9fvX0HSZ21RnPiYh34ORbNpQ3CIqw3fqiugpMcwlc90ZUR0L2UEmINNXsozzzz8S77Qm1LBUrf0o/g==","signatures":[{"sig":"MEUCIQDOUJp+rFwTcyibyc0oNE3JeU+2F8vSPTXi2Evx67WfwgIgPTEOZdzlk7dSaFTSKYboDZ3HL7jTJzLe0m6RGYVv/yI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59846},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-response-chunk-conformance-fixture":"./local-webrtc-response-chunk-conformance-fixture.json"},"gitHead":"06f1fa7a01a542eedc5c68a52cf9ecd05da9dabc","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.8_1784583963736_0.7498548618929579","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@trybotster/hub-test-support","version":"0.1.9","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.9","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"73972b8769f22160d56194c27dd5354b08670443","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.9.tgz","fileCount":15,"integrity":"sha512-l8521hb0K2KszUM9io3T6U+K1EiLiTSpV2Fq+wS3CSJ/Bh4tF1HH/8YESlEyIsx/sdwG7dLpmHJpwSJzIU+VRw==","signatures":[{"sig":"MEUCIQC12sSt2jLyP+t3fJlMv87k88jwRyGVvwkL+f8YUB7E7QIgCHvDWK4fe34igFQ57kmq3hQ55nwMvtr0AoItXv6QW3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66219},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-response-chunk-conformance-fixture":"./local-webrtc-response-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.9_1784766260852_0.5794794920669653","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@trybotster/hub-test-support","version":"0.1.10","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.10","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"f3e201ea822ab74aa006a2401f2e5a7b8dbd0d2a","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.10.tgz","fileCount":15,"integrity":"sha512-fhZSAF8QUeVYqU9w/Q+RGx5OVkgeaDrUxxDMcv6Np3OPQoKLABQMQlH+DtYWCT5Im/pMZxNSfEu0YXARQ1aAVw==","signatures":[{"sig":"MEUCIQCS4hsmglc/JgWlqspnH4Eu1wxX/P0IGWouwMZQim0acwIgTaA2j69Dsc2RdKsBl1IUB8GUK+u5eU9SYnP6DJq7gRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66610},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.10_1784769470415_0.3578653195556787","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@trybotster/hub-test-support","version":"0.1.11","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.11","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"87418210eb25573108e16b9db60554ed1f50b7a0","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.11.tgz","fileCount":15,"integrity":"sha512-vomJ5LUB3aO0Z8RXl0D173rAIi8iNCfmt3OZRzh6h2HoFnW8dA4AI3nrqxV157Jwivrq4xZpiAvf3PAqdGyT6g==","signatures":[{"sig":"MEUCIHpgIZeUW4SJgNGpktRSEKdgqRBobcIziHAbxqJw1Ue9AiEAnYvqEHATFLRNnQUMdrV3STkyZC3pGI5/ImOSSRJwjQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66679},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"gitHead":"42a2f1df02f69719d5a7a47216fb22515c1c0762","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.11_1784921646498_0.8944842386457252","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@trybotster/hub-test-support","version":"0.1.12","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.12","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"95c8a7d17f421c0cd7f22f8769b084cdfe38c34f","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.12.tgz","fileCount":15,"integrity":"sha512-KRIOiOcYz7C4UQSI36YZjjcojSLUZJKq8vrXhNWwIgA7pXlTcb+vLmob+T+BQ1WLFlbQdt5ZZzZjQW5ulie9JA==","signatures":[{"sig":"MEUCIQC6+qbGdtUgD7H2c1GcjRSgtu1HsobbRD+yZkmXBI8AcwIgYoi2h+ZkA5o1Iu+q7znPdH8hzIwJIJkGBqRyikLP8sw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74051},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"gitHead":"e3632ff26215bec5c31be75e3dee224d52259ce7","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.12_1785260638483_0.4010209142535208","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@trybotster/hub-test-support","version":"0.1.13","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.13","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"205590707fd009d1849ceae8abf0ecd29d5d6669","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.13.tgz","fileCount":15,"integrity":"sha512-5oTtQwpbeLgvLKdz8M8mdzXjatw6htKXjO0Jqc5rObVSdbmkI/EfZeleXG6sY5fUjBhKYHASfxPfmxZ7j7S2ig==","signatures":[{"sig":"MEUCIFlb73J2nM/2yrIMYKgVqTHtQJtUxyJckbQblOLtyCjtAiEAzS1J+me0SICV/hhbhCBYe/0PW0JpdMYnA3YhWIz5t2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74339},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"gitHead":"5ce815113f3a3579350fd4c9e3b7205c771b1e21","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.13_1785274939931_0.38689952690534457","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@trybotster/hub-test-support","version":"0.1.14","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.14","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"c730ceb926730ed0613ab6afecbf442138b84ca9","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.14.tgz","fileCount":15,"integrity":"sha512-m8k9BhNZw2gHpK6bzB0zjYPuSOdY6TJQGBBmv8l/0VK9EhGdKePec7jy4V49BwPoSXRuXn4ffSIof/SqEdg3qQ==","signatures":[{"sig":"MEUCIQCojeBpNlDvjGqfYDFiPk/KMc/qRgC1qpHI48gQHUacwgIgPrjBqXBZxPc1eybAOwmi5f19DvdsqYXWbudRStEGko0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75868},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"gitHead":"35e92f46a98c445765b6ba7755e029f5dde702f8","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.14_1785275682244_0.5951536350744364","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@trybotster/hub-test-support","version":"0.1.16","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.16","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"534faa5d33ab389b2cabb25d741c64dd7ee68680","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.16.tgz","fileCount":16,"integrity":"sha512-C61GDnnMiF/wFQ8ZA2RNxhAz8CQMtYIezlD69v6awRMzAEccvMD6Cp4sMm1jleN/rc5SrjKxduUICp99v1r2Vg==","signatures":[{"sig":"MEUCIHkEMgCF5HCaoVR64Unb1USNStF7EbhDUnvWEhZbihbxAiEAsTrUvQn6FU+9o3KyFZ7XvDsA2oSHOsbK7Ri1Ri6QdjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93109},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.qsVEzj/trybotster-hub-test-support-0.1.16.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.qsVEzj/trybotster-hub-test-support-0.1.16.tgz","_integrity":"sha512-C61GDnnMiF/wFQ8ZA2RNxhAz8CQMtYIezlD69v6awRMzAEccvMD6Cp4sMm1jleN/rc5SrjKxduUICp99v1r2Vg==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.16_1785359705993_0.5150049535895258","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@trybotster/hub-test-support","version":"0.1.17","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.17","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"592bf85996cdaf4b547bd152f993a5c294844c54","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.17.tgz","fileCount":16,"integrity":"sha512-8Mgkhp6ZycMcvYTHxCFzpXnpdZaAO7ONXof/300ZZZg4p3HOLnOti9RZFZ6dXCp9RYZ9UXxyL4ADYQcWdsAT4w==","signatures":[{"sig":"MEYCIQCJJwVpHTXVrRTm5peHV/3EPGs653TLZlI10UcKJrazvwIhAOC+gzpGrQEsXjNzAeEx9+Ras8/wu1wpVEBwsmwSLTDq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99857},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.SyytM6/trybotster-hub-test-support-0.1.17.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.SyytM6/trybotster-hub-test-support-0.1.17.tgz","_integrity":"sha512-8Mgkhp6ZycMcvYTHxCFzpXnpdZaAO7ONXof/300ZZZg4p3HOLnOti9RZFZ6dXCp9RYZ9UXxyL4ADYQcWdsAT4w==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.17_1785524952088_0.34483854193842367","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@trybotster/hub-test-support","version":"0.1.18","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.18","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"f2bce90dfd0554990f80ba6621c70b77ab2a0720","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.18.tgz","fileCount":16,"integrity":"sha512-llWRLNjFVKzi3CxII1waPO6u2w+TEAesiI8esVTEu8/rwuedeoZXXYTD0Sew76/8reysoZ1gy4P6LNoTptXsTA==","signatures":[{"sig":"MEYCIQDu6aboLnjrGkL5JnlFYgnZSlhYnYsItrebPSrsVHgDOAIhANjvGe9ZUbVPrmtEISlFRaes3OjEY/26IZm+wS9zj2v1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100078},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.oLH2sH/trybotster-hub-test-support-0.1.18.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.oLH2sH/trybotster-hub-test-support-0.1.18.tgz","_integrity":"sha512-llWRLNjFVKzi3CxII1waPO6u2w+TEAesiI8esVTEu8/rwuedeoZXXYTD0Sew76/8reysoZ1gy4P6LNoTptXsTA==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.18_1785528918135_0.5395561024085762","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@trybotster/hub-test-support","version":"0.1.20","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.20","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"e8fcc599faad95df35a7445ffd61e8b374474f5d","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.20.tgz","fileCount":16,"integrity":"sha512-boWbtFjL0Bbu5fybPanAjwm+BuWH0EG+ZzM7uRE2aGrpG/fJh9jjhBbwY8EH6/vUwg0sJPZZn+v2BcGAvxGsqQ==","signatures":[{"sig":"MEUCIQC/1WPM1WL39pgPUpel/mkMy3Z6Z8NEBx9r/NpYzq/3MwIgZRMdNjHT97a5lyBDNe7b9Ky4Pnbwl1zBINbQKK5dvtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113085},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.KolJ1H/trybotster-hub-test-support-0.1.20.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.KolJ1H/trybotster-hub-test-support-0.1.20.tgz","_integrity":"sha512-boWbtFjL0Bbu5fybPanAjwm+BuWH0EG+ZzM7uRE2aGrpG/fJh9jjhBbwY8EH6/vUwg0sJPZZn+v2BcGAvxGsqQ==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.20_1785644893668_0.8982894679965614","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@trybotster/hub-test-support","version":"0.1.21","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.21","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"5256d2df1916ea869b05000fd4b4db66d2f3d1cc","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.21.tgz","fileCount":16,"integrity":"sha512-0ZMXq0ie5P0UZvJEcTsa2QbAP1cSKpk3N6g+/kQUz95yZRN1zsv+iZB1YTi49hJykeog8Nkd0g+tCLki3xmsIg==","signatures":[{"sig":"MEQCIGS61riOQU5gdclAPss0WbXi0D/Dlav5hvOdKeRoPRDrAiBNcMDTreyxOkewrFrhI/gss4TjVC6/4PwvOPZYWpN6gQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115585},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.sm8TNz/trybotster-hub-test-support-0.1.21.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.sm8TNz/trybotster-hub-test-support-0.1.21.tgz","_integrity":"sha512-0ZMXq0ie5P0UZvJEcTsa2QbAP1cSKpk3N6g+/kQUz95yZRN1zsv+iZB1YTi49hJykeog8Nkd0g+tCLki3xmsIg==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.21_1785771364305_0.6997752601375709","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@trybotster/hub-test-support","version":"0.1.24","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.24","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"b7c2f679ed3682cc1b80f3c73b78a029ade083b2","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.24.tgz","fileCount":16,"integrity":"sha512-n0/DDMw5PmnFdxp54dk4Y4pdAM0VfotQblBnamqkViwbmJgmSS7ZrAFPskzOcVZ70hHgJdfHaH4UwArwP0DvXw==","signatures":[{"sig":"MEQCIFTP9Shm+oDklIQJyp1F5bALqOVwz53xB8VCDo/rMdxpAiAI2neFgJtTiMn7Pvby8ruO9QT+tyf38ud7lNFvo+s8Gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118880},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.hfV4Om/trybotster-hub-test-support-0.1.24.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.hfV4Om/trybotster-hub-test-support-0.1.24.tgz","_integrity":"sha512-n0/DDMw5PmnFdxp54dk4Y4pdAM0VfotQblBnamqkViwbmJgmSS7ZrAFPskzOcVZ70hHgJdfHaH4UwArwP0DvXw==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.24_1785987397993_0.47480511388370084","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@trybotster/hub-test-support","version":"0.1.25","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.25","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"2feb30d45c95465e9ff2b04f2b8afbfbe18637f5","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.25.tgz","fileCount":16,"integrity":"sha512-hQl9j0a01tBC9y3KrtTb0bGDO3KYjlC+2kJ07WdGAgAzJhMKlsVcVTqboCVsYioXG7fHg6VwCMbyiIGtoS5LFQ==","signatures":[{"sig":"MEQCIBMKT1Q22dA4MavhzaJuyvc+5tfUjl7K6O8Z7u6DAbReAiBoIzZnXoWKc5fnm+dYgHOUyt1EppdRms6Ao+00rLV2rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119966},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.0tOHHC/trybotster-hub-test-support-0.1.25.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.0tOHHC/trybotster-hub-test-support-0.1.25.tgz","_integrity":"sha512-hQl9j0a01tBC9y3KrtTb0bGDO3KYjlC+2kJ07WdGAgAzJhMKlsVcVTqboCVsYioXG7fHg6VwCMbyiIGtoS5LFQ==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.25_1786062363397_0.7748289156052859","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@trybotster/hub-test-support","version":"0.1.26","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.26","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"3a019c2ecca4ac0a8d4885d85a7f7df2e373df85","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.26.tgz","fileCount":16,"integrity":"sha512-FdCaLhkVjvKrpeuKCGc2TQk21M0rfL3OokIlpikrwWseh+by7+VH2U7S1iJOBRZZOuY3YPYDSe4vS7GxkXj4rA==","signatures":[{"sig":"MEQCIEkaywOwiuLyTPMNyLbYnxLi/4zBzXi/OzWqOAKBJdpUAiBJyr4ikoyX/FzUPvihn1Nrb1V3wMBIGafthR3yHdujjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120545},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.TwzzFY/trybotster-hub-test-support-0.1.26.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.TwzzFY/trybotster-hub-test-support-0.1.26.tgz","_integrity":"sha512-FdCaLhkVjvKrpeuKCGc2TQk21M0rfL3OokIlpikrwWseh+by7+VH2U7S1iJOBRZZOuY3YPYDSe4vS7GxkXj4rA==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.26_1786391795381_0.9422735454719686","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"@trybotster/hub-test-support","version":"0.1.27","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.27","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"f9d1ae7ea0dc9c8d0551160065dcf26406471a62","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.27.tgz","fileCount":16,"integrity":"sha512-BotCeEA1h8PESYbn7HSscZkIbVcelFky7AxuT8iUI7elNBc9HcHyp5ldgQsog6Z3OEJ8igfYC6tBOvMXXf9f6Q==","signatures":[{"sig":"MEUCIGEQSDJY+ZMU0WXCzS53VM3dMWMXQVp6T08r2GDfWN3zAiEA3se3hQxVshsfgyrOupmdmD10FOend8TXtHZp0lly8Sw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120987},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.M8eDVR/trybotster-hub-test-support-0.1.27.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.M8eDVR/trybotster-hub-test-support-0.1.27.tgz","_integrity":"sha512-BotCeEA1h8PESYbn7HSscZkIbVcelFky7AxuT8iUI7elNBc9HcHyp5ldgQsog6Z3OEJ8igfYC6tBOvMXXf9f6Q==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.27_1786423519949_0.7898480310984335","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"@trybotster/hub-test-support","version":"0.1.28","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.28","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"3159cb215d7a52782d862730324307695e9dbed5","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.28.tgz","fileCount":16,"integrity":"sha512-LfUuBDpK+xFdEnHWJQWN67TobWYm32P+4q2jVHknAHpO/r0+qCkr2KDzqnlOvKaeTcLkcq9EhQ63MI5sPAVAOw==","signatures":[{"sig":"MEYCIQCfaRuRTKqmoolsNVofy/ljg0aemH957VxTxUIWofwZpQIhANvnmir97tJn4Hl+9lO4IhdVJO7LXq887hjxW3fb8eSJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120987},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.RUwjyF/trybotster-hub-test-support-0.1.28.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.RUwjyF/trybotster-hub-test-support-0.1.28.tgz","_integrity":"sha512-LfUuBDpK+xFdEnHWJQWN67TobWYm32P+4q2jVHknAHpO/r0+qCkr2KDzqnlOvKaeTcLkcq9EhQ63MI5sPAVAOw==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.28_1786484844602_0.2925363679018187","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"@trybotster/hub-test-support","version":"0.1.29","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.29","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"73a9dc55069c7ae3211891b34e059a45cb83f2c7","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.29.tgz","fileCount":16,"integrity":"sha512-KezTjzN2Bpg1IivjbovOM1STmMUzPcU/dJ+Rs15/zHe68MdKX/TOFYWJ8qNG7B+5fg5ZDSDb0s7ywapr78gVMA==","signatures":[{"sig":"MEUCIBsGVMao3ub6T/JqBEwDwLbYZ+DsW1luKna8OGdOqziMAiEAvm3Obh2y8vbqorN2jTwqZo68uzudotTU6HMIdkK78b4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122476},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.Fsov0X/trybotster-hub-test-support-0.1.29.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.Fsov0X/trybotster-hub-test-support-0.1.29.tgz","_integrity":"sha512-KezTjzN2Bpg1IivjbovOM1STmMUzPcU/dJ+Rs15/zHe68MdKX/TOFYWJ8qNG7B+5fg5ZDSDb0s7ywapr78gVMA==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.29_1786504647576_0.7477663598077455","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"@trybotster/hub-test-support","version":"0.1.30","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.30","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"18aaee09d0f89ef08e8a96359e38022eb96bc27b","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.30.tgz","fileCount":16,"integrity":"sha512-pHf8xOybqraPf5dQYL9PM6SkOLmMyKCBH9F4y2tP5QQjhrvt9YF6iwvfboa71U+uWd8yBSSw50AV6wUy6y6vIg==","signatures":[{"sig":"MEUCIQDHQ/H/RFU+gDyv4asRKkqzT58wEYba/YqUlWeubXrJZgIgRtEzLaPPFWZajgji12eb0/3Khj+T+Mop9vl96LZBFfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126407},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.q6FGFK/trybotster-hub-test-support-0.1.30.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.q6FGFK/trybotster-hub-test-support-0.1.30.tgz","_integrity":"sha512-pHf8xOybqraPf5dQYL9PM6SkOLmMyKCBH9F4y2tP5QQjhrvt9YF6iwvfboa71U+uWd8yBSSw50AV6wUy6y6vIg==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.30_1786512959316_0.4575835919172959","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"@trybotster/hub-test-support","version":"0.1.31","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.31","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"787fdc38fd3f7e51b7285f726bc1cdfba5d16e73","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.31.tgz","fileCount":16,"integrity":"sha512-MgvUSxebf099OLS/Er4kXHEY2sapUX3Bg3DhwYwkSIqeSADUXtfDwvAGabbsQZa4qAKBZ74MbdW7vHdrQMeo2w==","signatures":[{"sig":"MEQCIDHu33Bh2yu3lKY7n66RnNsVlHg54PMI0kVWTN3+MJiyAiAmf6oNUwRiS8LE6kY1BCL/Qrrjt3hM1+I7iW6/yEapng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126826},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.MV9qID/trybotster-hub-test-support-0.1.31.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.MV9qID/trybotster-hub-test-support-0.1.31.tgz","_integrity":"sha512-MgvUSxebf099OLS/Er4kXHEY2sapUX3Bg3DhwYwkSIqeSADUXtfDwvAGabbsQZa4qAKBZ74MbdW7vHdrQMeo2w==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.31_1786569935364_0.9546905013210474","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"@trybotster/hub-test-support","version":"0.1.32","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.32","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"b002bac5ff0716114d176b1f0cdf7ad1e6b4a386","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.32.tgz","fileCount":16,"integrity":"sha512-oIT0YDSbM03RifVcYMFa/FDmEcNCIOo78JbY+h5FrLhHg1/OekzPLmhNFN4qod10WmlrvObPYm9l0l/j9nNsiQ==","signatures":[{"sig":"MEUCIF8dM4+ZG6CxsML4oGD2Klzj/My96LS9m6fi8hC7F8ygAiEAzFaLUDmefp1YRO2RlBovLf6eLERp9wtXNe3Ub4DsorA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139895},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.bHF0sw/trybotster-hub-test-support-0.1.32.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.bHF0sw/trybotster-hub-test-support-0.1.32.tgz","_integrity":"sha512-oIT0YDSbM03RifVcYMFa/FDmEcNCIOo78JbY+h5FrLhHg1/OekzPLmhNFN4qod10WmlrvObPYm9l0l/j9nNsiQ==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.32_1786653801320_0.892878054621179","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"@trybotster/hub-test-support","version":"0.1.33","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.33","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"1329d1fd64918b7d4f8e1811a1e364ab9f431e5d","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.33.tgz","fileCount":16,"integrity":"sha512-nF3nTR80fnt9Tm80Lm3/6AQZ2sXgN2jWKiMo3HKD66hrKWXMi/NTAiQAuPXEksPocjEQ7eJQFmACUBV3vT32zw==","signatures":[{"sig":"MEUCIQCEXpWdRavud3JmZRcn2/4X0K/7kvt2VRzIvtsj8pzC/wIgU34YRbZGU8m/6HPFZIt6Lt9rmA756k/tpQsSk9TkfYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140153},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.fasYKy/trybotster-hub-test-support-0.1.33.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.fasYKy/trybotster-hub-test-support-0.1.33.tgz","_integrity":"sha512-nF3nTR80fnt9Tm80Lm3/6AQZ2sXgN2jWKiMo3HKD66hrKWXMi/NTAiQAuPXEksPocjEQ7eJQFmACUBV3vT32zw==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.33_1786655968343_0.09310636584518073","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"name":"@trybotster/hub-test-support","version":"0.1.35","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.35","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"86f6e472114098569d9adfcba062c8f454c0fdaf","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.35.tgz","fileCount":16,"integrity":"sha512-KIUC4JKaeZHGtUz6wq0P1vS1ByepFShIETVdiSDvvVeYpBbLihCCb41I4ptRmDLMu3nmRqWIMQYCLcA59SXKOQ==","signatures":[{"sig":"MEQCICKO+6Vd86T6TfGg3T3mKqPYuvNA7vZVnDqTraANk8k+AiBJX4g2kO83V5cOmBAg92xGIzFFJ6H/ksxuz4WHHMefyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141050},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.BKZZ3g/trybotster-hub-test-support-0.1.35.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.BKZZ3g/trybotster-hub-test-support-0.1.35.tgz","_integrity":"sha512-KIUC4JKaeZHGtUz6wq0P1vS1ByepFShIETVdiSDvvVeYpBbLihCCb41I4ptRmDLMu3nmRqWIMQYCLcA59SXKOQ==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.35_1786730187641_0.813125931072268","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"@trybotster/hub-test-support","version":"0.1.36","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.36","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"330fa2af3aa60bcd108a4fed8e8f4807bc5b3a47","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.36.tgz","fileCount":16,"integrity":"sha512-ar867LILkxUEbbZeoJb4Tcw8iMFIDURCMY54z0r28DTxZh+FSkmYNx+Zt3eRzcX+hB+iOchsd1n1PMFUg9bpCA==","signatures":[{"sig":"MEYCIQCqVxoIElNpRyuh3KHvwtjtZEl79kGcPCTq7yNo9EW73gIhAKl2HGoc//hqwd1Xs621ykfsc/KCXjVIJAwEn+LJ2tt9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141422},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.rOMPOc/trybotster-hub-test-support-0.1.36.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.rOMPOc/trybotster-hub-test-support-0.1.36.tgz","_integrity":"sha512-ar867LILkxUEbbZeoJb4Tcw8iMFIDURCMY54z0r28DTxZh+FSkmYNx+Zt3eRzcX+hB+iOchsd1n1PMFUg9bpCA==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.36_1786742994973_0.9719475094547707","host":"s3://npm-registry-packages-npm-production"}},"0.1.38":{"name":"@trybotster/hub-test-support","version":"0.1.38","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.38","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"0e7e370a37102e177cd363e54d9ee143008d2f66","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.38.tgz","fileCount":16,"integrity":"sha512-hlLIBQRTphgdXaVQsCmQS+e3HUTCL7v/AF60T3PVPqrwjNz8Glba+410oGc2bjQbITGTUfWrrzZnE+S6myaCNQ==","signatures":[{"sig":"MEUCIH5mKrGhx7Jte1n5XhPYgRnKOAWtSytMbMG11wALF9iOAiEAyqIELAY1m5jzB1p4pIr7/cXdZIRPfvEFwRgJp97EegM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141764},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.sIqV41/trybotster-hub-test-support-0.1.38.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.sIqV41/trybotster-hub-test-support-0.1.38.tgz","_integrity":"sha512-hlLIBQRTphgdXaVQsCmQS+e3HUTCL7v/AF60T3PVPqrwjNz8Glba+410oGc2bjQbITGTUfWrrzZnE+S6myaCNQ==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.38_1786897702892_0.3343634984025803","host":"s3://npm-registry-packages-npm-production"}},"0.1.39":{"name":"@trybotster/hub-test-support","version":"0.1.39","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.39","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"03f47f651e272a52ebf2e6a5e2bea2e2fe7b6851","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.39.tgz","fileCount":16,"integrity":"sha512-r7gnVD+uiGvoeSzRnrgIM1+ZCjrRZUOlJz7x0bPYMkn3pF1kjJSIVAV1fEiPjqERv4eGtHYV1xgbjGGBVZP2Yg==","signatures":[{"sig":"MEYCIQDGPjraROTX0S9hKIXreYF+GLfpbIuD7UmpBoRvBFnjcAIhAIyNpmLsbNv4sYIfHco0Qe7FB3+LRSAetL3iVJBhW+nV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141974},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.bfK7pz/trybotster-hub-test-support-0.1.39.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.bfK7pz/trybotster-hub-test-support-0.1.39.tgz","_integrity":"sha512-r7gnVD+uiGvoeSzRnrgIM1+ZCjrRZUOlJz7x0bPYMkn3pF1kjJSIVAV1fEiPjqERv4eGtHYV1xgbjGGBVZP2Yg==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.39_1787163162443_0.03954204925552074","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"@trybotster/hub-test-support","version":"0.1.41","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.41","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"250c3d56594ff93efa935e642c6fe311bcb1168a","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.41.tgz","fileCount":16,"integrity":"sha512-LXH9DscSoDvNytbkmhUsiwGXwcAYb93d6/hu2L/PViuQ5Xg8UelWFS8TVItl/KwRGZt90Qyy868Xb7C0zEuC5w==","signatures":[{"sig":"MEUCIQCXX5O2E8eQIPWY92Z0dKQ+mFKh6PhMjy2YC5qxF3VGkAIgQZrtjX/scgqMyIxnCYRLLzPEcpqxioTHPr1d9tEGdFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCgDs5GRbRDttIVFJLoTHNf0yUunSh/8s46O44iOtU81wIgDrPMxav4nUbk6bzrNTk7SWSl/igl+0nsWMOqoSpCoHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144460},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.fjTOAk/trybotster-hub-test-support-0.1.41.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.fjTOAk/trybotster-hub-test-support-0.1.41.tgz","_integrity":"sha512-LXH9DscSoDvNytbkmhUsiwGXwcAYb93d6/hu2L/PViuQ5Xg8UelWFS8TVItl/KwRGZt90Qyy868Xb7C0zEuC5w==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.41_1787357733552_0.6503995484755904","host":"s3://npm-registry-packages-npm-production"}},"0.1.42":{"name":"@trybotster/hub-test-support","version":"0.1.42","license":"SEE LICENSE IN LICENSE","_id":"@trybotster/hub-test-support@0.1.42","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"dist":{"shasum":"455c764ea62285ce7cd5217493b3ed0a25345289","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.42.tgz","fileCount":16,"integrity":"sha512-Sorc7CFj7K5E4YZ+2wYJm5ONprALZ5fn0YiByJfNdIRwrUBhXMPZNTJUKQ0NEAcS5dvT/4qWnLUq0AVk2+YvHg==","signatures":[{"sig":"MEQCIDEnGOG6F+SVhi1vRyIZoYMVJc8BUBZ02zJxjRr3j4pDAiALrMeCjY7dyC6Wvl+f5IOvoakdCbEZEIeivMmSZjY7Kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFtwwqEYQdH8bhw5stVG6F3vp0fi4Hxt0aXvWBT5GRQwAiEAqJ0jupvCuObSGeupaqg1KQFdMW6b8VgIFRSTo5OQv7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143953},"main":"./index.js","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.nQcfXt/trybotster-hub-test-support-0.1.42.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.nQcfXt/trybotster-hub-test-support-0.1.42.tgz","_integrity":"sha512-Sorc7CFj7K5E4YZ+2wYJm5ONprALZ5fn0YiByJfNdIRwrUBhXMPZNTJUKQ0NEAcS5dvT/4qWnLUq0AVk2+YvHg==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hub-test-support_0.1.42_1788283376371_0.9208533481030736","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"_id":"@trybotster/hub-test-support@0.1.43","dist":{"shasum":"56b4408775abf4197f194c40921bf5e6fb16e251","tarball":"https://registry.npmjs.org/@trybotster/hub-test-support/-/hub-test-support-0.1.43.tgz","fileCount":16,"integrity":"sha512-M/2RlyZ1jePWZtAv8g2mGYsNBEmfQ+r2j5ueFQvDFCPP8hYzoejtXc1FLyLX8HBpaQr8jSMcUePen5kr1pEZgg==","signatures":[{"sig":"MEUCIHGYiSxn2HzXUj7Z+GCeRdT+iCEMN3sNV8TTYPQ/eRV8AiEA1BRiwfsyccw9ZtDnXbrmyfvEf2DnSoVQfbIhdLxqTEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEmcMrwPniz1LOfAa8b0vylKmrWGCey3zs4kz94t9FzbAiB7TynIQS2QXGg02xW6HguuhA1JZYTxrMrDpsGRdlZtNg=="}],"unpackedSize":144321},"main":"./index.js","name":"@trybotster/hub-test-support","type":"module","_from":"file:/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.7XfhCC/trybotster-hub-test-support-0.1.43.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./metadata":"./metadata.json","./daemon-protocol":"./daemon-protocol.ts","./mode-flags-conformance-fixture":"./mode-flags-conformance-fixture.json","./first-party-client-support-matrix":"./first-party-client-support-matrix.json","./fixtures/plugin-contract-matrix/*":"./fixtures/plugin-contract-matrix/*","./late-attach-history-conformance-fixture":"./late-attach-history-conformance-fixture.json","./session-plugin-binding-conformance-fixture":"./session-plugin-binding-conformance-fixture.json","./local-webrtc-delivery-chunk-conformance-fixture":"./local-webrtc-delivery-chunk-conformance-fixture.json","./session-lifecycle-subscription-conformance-fixture":"./session-lifecycle-subscription-conformance-fixture.json"},"license":"SEE LICENSE IN LICENSE","scripts":{"sync":"node scripts/sync-assets.mjs","test":"node test.mjs","check":"node scripts/sync-assets.mjs --check"},"version":"0.1.43","_npmUser":{"name":"tonksthebear","email":"jasonconig@structvr.com"},"_resolved":"/var/folders/2k/r_31n4yj0xv5wjvzq_yjrjkm0000gn/T/botster-npm-release.7XfhCC/trybotster-hub-test-support-0.1.43.tgz","_integrity":"sha512-M/2RlyZ1jePWZtAv8g2mGYsNBEmfQ+r2j5ueFQvDFCPP8hYzoejtXc1FLyLX8HBpaQr8jSMcUePen5kr1pEZgg==","_npmVersion":"10.9.4","description":"Node-consumable Botster hub client protocol and plugin contract test assets","directories":{},"maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"_nodeVersion":"22.21.1","dependencies":{"@trybotster/ui-contract":"0.3.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hub-test-support_0.1.43_1788312261008_0.07610024749847111"}}},"time":{"created":"2026-07-06T17:56:23.603Z","modified":"2026-09-02T01:24:21.303Z","0.1.0":"2026-07-06T17:56:24.032Z","0.1.1":"2026-07-07T00:46:52.093Z","0.1.2":"2026-07-08T22:06:45.122Z","0.1.3":"2026-07-10T03:50:17.496Z","0.1.4":"2026-07-14T00:08:13.878Z","0.1.5":"2026-07-14T16:53:33.435Z","0.1.6":"2026-07-14T21:26:12.120Z","0.1.7":"2026-07-14T22:24:09.449Z","0.1.8":"2026-07-20T21:46:03.885Z","0.1.9":"2026-07-23T00:24:20.977Z","0.1.10":"2026-07-23T01:17:50.568Z","0.1.11":"2026-07-24T19:34:06.651Z","0.1.12":"2026-07-28T17:43:58.616Z","0.1.13":"2026-07-28T21:42:20.116Z","0.1.14":"2026-07-28T21:54:42.397Z","0.1.16":"2026-07-29T21:15:06.153Z","0.1.17":"2026-07-31T19:09:12.260Z","0.1.18":"2026-07-31T20:15:18.294Z","0.1.20":"2026-08-02T04:28:13.816Z","0.1.21":"2026-08-03T15:36:04.466Z","0.1.24":"2026-08-06T03:36:38.132Z","0.1.25":"2026-08-07T00:26:03.552Z","0.1.26":"2026-08-10T19:56:35.519Z","0.1.27":"2026-08-11T04:45:20.111Z","0.1.28":"2026-08-11T21:47:24.744Z","0.1.29":"2026-08-12T03:17:27.741Z","0.1.30":"2026-08-12T05:35:59.470Z","0.1.31":"2026-08-12T21:25:35.518Z","0.1.32":"2026-08-13T20:43:21.499Z","0.1.33":"2026-08-13T21:19:28.508Z","0.1.35":"2026-08-14T17:56:27.753Z","0.1.36":"2026-08-14T21:29:55.133Z","0.1.38":"2026-08-16T16:28:23.106Z","0.1.39":"2026-08-19T18:12:42.624Z","0.1.41":"2026-08-22T00:15:33.634Z","0.1.42":"2026-09-01T17:22:56.453Z","0.1.43":"2026-09-02T01:24:21.091Z"},"license":"SEE LICENSE IN LICENSE","description":"Node-consumable Botster hub client protocol and plugin contract test assets","maintainers":[{"name":"tonksthebear","email":"jasonconig@structvr.com"}],"readme":"# @trybotster/hub-test-support\n\nNode-consumable Botster hub test-support assets for first-party web clients.\n\nThe package is a generated wrapper over `botster-hub-test-support` and\n`botster-hub-client`. Do not edit `daemon-protocol.ts`,\n`first-party-client-support-matrix.json`,\n`session-lifecycle-subscription-conformance-fixture.json`,\n`session-plugin-binding-conformance-fixture.json`,\n`late-attach-history-conformance-fixture.json`,\n`local-webrtc-delivery-chunk-conformance-fixture.json`,\n`mode-flags-conformance-fixture.json`,\n`fixtures/plugin-contract-matrix`, or `metadata.json` by hand; run:\n\n```sh\nnode packages/hub-test-support/scripts/sync-assets.mjs\n```\n\n## Usage\n\nUse this command for version 0.1.43:\n\n```sh\nnpm install --save-dev @trybotster/ui-contract@0.3.3 @trybotster/hub-test-support@0.1.43\n```\n\n```js\nimport {\n  materializeApplicationPrimitivesFixture,\n  materializePluginContractMatrixFixture,\n  materializeSessionPluginBindingScenario,\n  materializeSessionPluginRowScenario,\n  metadata,\n  readDaemonProtocolTypescript,\n  readFirstPartyClientSupportMatrix,\n  readLateAttachHistoryConformanceFixture,\n  readLocalWebrtcDeliveryChunkConformanceFixture,\n  readModeFlagsConformanceFixture,\n  readSessionLifecycleSubscriptionConformanceFixture,\n  readSessionPluginBindingConformanceFixture,\n  readUiContractConformanceFixtures,\n} from \"@trybotster/hub-test-support\";\n\nconst protocolSource = readDaemonProtocolTypescript();\nconst fixturePath = materializePluginContractMatrixFixture(tempDirectory);\nconst applicationPrimitivesPath = materializeApplicationPrimitivesFixture(tempDirectory);\nconst supportMatrix = readFirstPartyClientSupportMatrix();\nconst lateAttachFixture = readLateAttachHistoryConformanceFixture();\nconst localWebrtcChunkFixture = readLocalWebrtcDeliveryChunkConformanceFixture();\nconst modeFlagsFixture = readModeFlagsConformanceFixture();\nconst sessionLifecycleFixture = readSessionLifecycleSubscriptionConformanceFixture();\nconst sessionBindingFixture = readSessionPluginBindingConformanceFixture();\nconst sessionBindingStages =\n  materializeSessionPluginBindingScenario(sessionBindingFixture);\nconst sessionRowStages =\n  materializeSessionPluginRowScenario(sessionBindingFixture);\nconst uiContractFixtures = await readUiContractConformanceFixtures();\nconst applicationSurfaceId = metadata.application_primitives.surface_id;\nconst rendererEntryPoint = metadata.application_primitives.renderer_entrypoint;\n\nconsole.log(\n  metadata.protocol,\n  metadata.conformance_fixture_revision,\n  fixturePath,\n  applicationPrimitivesPath,\n  applicationSurfaceId,\n  rendererEntryPoint,\n  supportMatrix.required_features,\n  lateAttachFixture.history_then_live,\n  localWebrtcChunkFixture.scenarios.large_generated,\n  modeFlagsFixture.mouse_on.mode_flags.mouse_mode,\n  sessionLifecycleFixture.normalized_frames,\n  sessionBindingStages,\n  sessionRowStages,\n  uiContractFixtures.contract_version,\n);\n```\n\nUse this exact package spec in npm-based client repos:\n\n```json\n{\n  \"devDependencies\": {\n    \"@trybotster/hub-test-support\": \"0.1.43\"\n  }\n}\n```\n\n`@trybotster/hub-test-support@0.1.43` carries byte-faithful live\n`terminal_output` payloads (`payload_base64`, `payload_encoding`, `bytes`)\nand authentic dual GHOSTSNP late-attach fixtures (conformance revision 48).\nHistory attach uses incremental READY, PAGE, and FINISH Snapshot frames.\nNo-history attach uses READY then FINISH. Import-visible state matches the\nReadScreen oracles; do not dual-use a history-bearing golden as no-history.\nProtocol version is 8. The package includes the live-output envelope, full\n`ModeFlags` freshness fields, explicit\nsession-type execution modes, spawn-point session-type listing\n(`list_session_types_for_target`), and the session-type authoring view\n(`show_session_type_definition`). First-party clients should pin this\ncoordinate when they use these contracts.\n\nThe support matrix is generated from the Rust compatibility descriptors.\n`terminal_readback` appears in both `supported_features` and\n`required_features`; downstream compatibility checks must implement it rather\nthan treating it as optional. The late-attach fixture is generated from the\nRust serde scenario and preserves attaching, READY, optional PAGE frames,\nFINISH or `snapshot_history_incomplete`, attached, then live output. An opaque authoritative\nsnapshot may represent a blank terminal; clients must not infer visible\nhistory from payload byte length. Only `read_screen_text` is renderable\nrestored content; `snapshot` and `scrollback` base64 payloads must never be\nappended as terminal text. Version 0.1.6 / conformance revision 13 uses\nsuperseded JSON number arrays, while version 0.1.5 / revision 12 exposes\nlossy string history. Neither is current binary-history contract authority.\n\nVersion 0.1.43 carries protocol version 8 / conformance revision 48 with\nadvertised optional `unix_terminal_adapter`,\n`terminal_subscription_closed`, `webrtc_terminal_adapter`,\n`attach_occupancy`,\n`package_event_subscriptions`,\nnegotiated WebRTC `daemon_event` close delivery, and\n`snapshot_delivery=ready_then_history` support,\nbyte-faithful live `terminal_output` payloads, incremental GHOSTSNP\nREADY/PAGE/FINISH goldens, ModeFlags freshness, Snapshot-only GHOSTSNP rules,\nand the\n`DaemonSessionTypeExecution` contract. Version 0.1.35 is the prior published\ncoordinate at protocol 7 / revision 40. A compatible Hello must require\n`terminal_subscription_closed`\n(`FEATURE_TERMINAL_SUBSCRIPTION_CLOSED` /\n`DaemonCompatibilityRequirement::for_webrtc_terminal_subscription_closed()`)\nbefore Hub sends `DaemonLocalWebrtcDeliveryKind` `daemon_event`. The feature\nstays optional in default `required_features`. The contract\ndefines the explicit `relative_executable` and `shell_command` modes.\nIt also carries spawn-point session-type listing\n(`list_session_types_for_target`) and the session-type authoring view\n(`show_session_type_definition`, editable `session_type_definition` response\nvocabulary, and the support-matrix `session_type_authoring` section including\nthe `read_only_session_type_source` refusal). It retains the generic\npackage-owned entity records and the `plugin_entity_subscriptions`\ncompatibility feature, authoritative session-type request/response and entity\nrecords, and requires the `session_type_entity_subscriptions` feature. It\ndepends on `@trybotster/ui-contract@0.3.3` for the canonical UiNode,\nUiActionRequest, UiActionResult, package surface, package navigation,\nand package-owned client notice reaction declarations and conformance\nfixtures. It also carries the optional\naggregate plugin-worker counters prepared in the unpublished 0.1.15 artifact.\n\nVersion 0.1.29 was the prior published coordinate (revision 34) and still\ncarried the non-GHOSTSNP placeholder history Snapshot bytes plus Snapshot-less\nno-history sequence; it is not current late-attach contract authority.\nVersion 0.1.26 was an earlier published coordinate. It did not include the\nexplicit session-type execution contract.\nVersion 0.1.24 was an earlier published coordinate at protocol version 6 /\nconformance revision 31 (authoritative software/install identity,\n`CheckHubUpdate`, and the cold removal of package compatibility `hub_version`,\nwithout the authoring-view request). Version 0.1.22 was the repository\nbaseline coordinate. Version 0.1.21 was an earlier published npm coordinate.\nVersion 0.1.17 was published with stale protocol bytes and is not a valid\nconsumer coordinate.\nRevision 20 remains the already-published version 0.1.12 application-primitives\ncontract; revision 21 adds spawn-target `base_ref` and worktree `management`\nwithout reusing those bytes; revision 22 makes the live presentation Dialog\nform-operable without reusing either earlier revision.\nRevision 23 adds required `DaemonSessionEntity.lifecycle_class`, the canonical\n`/session` binding scenario, and the real `contract.sessions` plugin-worker\nsurface. Revision 24 removes the daemon-owned package-surface TypeScript mirror,\nreferences `PackageSurfaceDescriptor` from `@trybotster/ui-contract`, and adds\nexplicit package navigation to the contract-matrix fixture.\nRevision 25 makes only authored `UiNode.id` bindable inside a BindList item\ntemplate and adds the producer-backed `contract.sessions` multi-row Button\noracle. The row materializer resolves ids in producer order, binds each\nmatching action payload, rejects blank/non-string/duplicate identities, and\nkeeps action request/result `node_id` literal.\nRevision 26 adds bound-root descendant keys, the canonical UTF-8 byte-length\nidentity helper, and `spawn`/`rename`/`remove` controls for every current row.\nThe Rust and Node materializers publish exact root/control IDs and payloads and\nreject collisions with roots, static siblings, or other realized rows.\nRevision 27 binds the Spawn Button's required label to\n`@/lifecycle_class`. Both reference materializers resolve it to the selected\nrow's literal class and reject unresolved required values; the Rust path also\npasses the materialized Button through strict realized UiNode validation.\nThe coordinated UI contract also closes earlier accidental authored acceptance\nof sentinels on required fields outside the explicit seven-field allowlist;\n0.3.2 is the intended prepared coordinate for that narrowing because the\ndistinct unpublished 0.3.0 bytes may already have been packed or consumed.\nThe Node reference materializer proves matching `current`, `ended`,\nand `indeterminate` rows before an absent UUID selects the unavailable path,\nthen proves patch, remove, and authoritative reconnect convergence. This\npackage does not claim shipped botster-web or botster-tui renderer support;\nthose production paths are separately routed.\nThe protocol cold-switch replaces split action fields and untyped JSON bodies\nwith one canonical request envelope and typed surface/action response bodies.\nIt also retains the version 0.1.11\n`refresh_local_packages` daemon request,\nauthenticated local-WebRTC delivery-kind fixture, and the\nsource-derived session lifecycle subscription fixture. Its normalized public\n`DaemonEntityFrame` sequence is authoritative snapshot, spawn upsert,\nlifecycle patches, and remove. A fresh connection discards prior-generation\nframes and requires a new authoritative snapshot before accepting deltas.\nOverflow recovery is an authoritative snapshot with\n`resync_reason: \"subscriber_overflow\"`; a failed resync snapshot closes the\nsubscription instead of concealing a delta gap. Rust consumers can run\n`run_session_lifecycle_subscription_conformance` against an `IsolatedHub` to\nprove the same contract through the real Hub/Core/session-worker topology.\n`run_plugin_contract_matrix_conformance` similarly proves rendered\nopen/form/toggle metadata through the real Hub/plugin worker, applies accepted\n`set`/`clear`/`toggle` results to scoped client-shaped state, and materializes\nthe delivered tree against its Dialog presence and selected-workspace equality\nbindings. It also renders and subscribes to the dotted fixture package's exact\nencoded entity family twice, proving a fresh authoritative reconnect snapshot.\nRevision 21 places the one canonical Form inside the active Dialog\nand makes the browser-shaped consumer reject any actionable sibling Form.\nRejected results retain the visible Dialog, Form, input, and field-error\nassociation; accepted results apply normalization and a whole-surface\nreplacement, then clear the scoped Dialog key. The published first-party\nsupport matrix exposes the corresponding Dialog/Form/input composition,\nwhole-surface replacement scope, expected keys, values, and operation kinds to\nTypeScript consumers; static\n`@trybotster/ui-contract` fixtures remain complementary.\n\nThe mode-flags fixture covers the targeted `read_mode_flags` request/response\ncontract. It preserves exact authoritative mouse values (`0` for off and `9`\nfor combined tracking plus SGR reporting), attributes both successes to the\nrequested session, and records unknown-session and backend failures as\n`operator_error` responses with no successful mode body. Mode flags are\nreadback-only; clients must not expect a pushed mode-change event.\n\nBotster web and TUI renderers should consume\n`metadata.application_primitives.surface_id` (`contract.app`) and render\n`metadata.application_primitives.renderer_entrypoint` (`ui_tree_snapshot.body`).\nThe current core-validated primitive inventory is exposed as\n`metadata.application_primitives.primitive_kinds`: `button`, `dialog`,\n`empty_state`, `form`, `metric`, `metric_grid`, `panel`, `section`,\n`status_badge`, `table`, `text`, `text_input`, and `toolbar`. The current core\ncontract fixture does not include\n`list` or an `action_bar` alias; downstream clients should not invent those\nshapes.\n\nClient repos should update their lockfile from the registry coordinate or\npacked tarball, then run a smoke that imports the package, reads the daemon\nprotocol artifact, calls `verifyPackageAssets()`, and materializes the\napplication-primitives fixture.\n\nThe normal consumer path is the declared npm dependency. Environment variables\nsuch as `BOTSTER_HUB_CLIENT_DAEMON_PROTOCOL` remain local override inputs for\nolder drift checks, not the package consumption path.\n","readmeFilename":"README.md"}