{"_id":"@scenarist/msw-adapter","_rev":"26-5afa0f7ad7178f8ddc48a841b9ffe041","name":"@scenarist/msw-adapter","dist-tags":{"latest":"0.4.14"},"versions":{"0.0.1":{"name":"@scenarist/msw-adapter","version":"0.0.1","keywords":["oidc","trusted-publishing","setup"],"_id":"@scenarist/msw-adapter@0.0.1","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"dist":{"shasum":"0d28c35297b98406d8fed847d0d1f0fcb8024c99","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.0.1.tgz","fileCount":2,"integrity":"sha512-liIoxA+C3x3AxHlTPi5MEhQrCCDptqX3zOsLquTMtLg7YbdXD1hIwXpWlUi2OjjIfr4zqi7xP/Jlbfk4DIqvSA==","signatures":[{"sig":"MEUCIQDhEGNE9sludJuOOaUga8DwXE4Qu+OjOAt1aLBFZh+EIAIgCI141JBAeHtuGR121OlO/zzb3mlBhdSpGu/3lOZWnpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2051},"_npmUser":{"name":"citypaul","email":"paul.ian.hammond@gmail.com"},"_npmVersion":"10.9.4","description":"OIDC trusted publishing setup package for @scenarist/msw-adapter","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.0.1_1764202946990_0.9596594736741717","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@scenarist/msw-adapter","version":"0.1.0","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.1.0","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"2447ba8f32b24e9ba5af99f6dfad3aa831e943f3","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.1.0.tgz","fileCount":18,"integrity":"sha512-0ShutsViFpRxDSQ2IiUCoYIYTZvBuUJtngVTyZWPrgGkRxDLgCbFhS0JMEbx+7tTx6QCDE0dNGYDPvXdLg04Hg==","signatures":[{"sig":"MEUCIGPzvez5PMRbKLOAdCwrMqD7O87eJXKXUCiHP/spx9JQAiEA/kn0DBmSr5azfE23/0CQbxw5pGQONTbQPaxe+sYv720=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30887},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/a28fc18fab3cbcdb4729de839bdb4735/scenarist-msw-adapter-0.1.0.tgz","_integrity":"sha512-0ShutsViFpRxDSQ2IiUCoYIYTZvBuUJtngVTyZWPrgGkRxDLgCbFhS0JMEbx+7tTx6QCDE0dNGYDPvXdLg04Hg==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.1","eslint":"^9.39.1","vitest":"^4.0.8","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.8","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.1.0_1764209352169_0.43895920981308323","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@scenarist/msw-adapter","version":"0.1.1","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.1.1","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"e9d1ac027e2a47a8764ddf08e2e14285b6e99e91","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.1.1.tgz","fileCount":18,"integrity":"sha512-Q+HmIhffbEGqSOIYR5oWEDEvupyS75Mw8dxJrXT7zAajnOMRkRJyOfHWRT0l5296hYij2pzRSLXTiu+hTCiQ5A==","signatures":[{"sig":"MEYCIQC4O8DU2o6hVMrXaqoP1qU7MybrHID7+P0MCuQehASP4AIhAP+M6BSz2H9ZalxXI+RNqTNfMBjbOcAs6YB2/uhO0eO/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30889},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/9257009ce05389e803149c5c9233a350/scenarist-msw-adapter-0.1.1.tgz","_integrity":"sha512-Q+HmIhffbEGqSOIYR5oWEDEvupyS75Mw8dxJrXT7zAajnOMRkRJyOfHWRT0l5296hYij2pzRSLXTiu+hTCiQ5A==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.14","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.1.1_1764284616062_0.6797437136121787","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@scenarist/msw-adapter","version":"0.1.2","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.1.2","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"4f152d22a2358e2f7c1ac9af45dec62255bc3325","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.1.2.tgz","fileCount":18,"integrity":"sha512-pg5RtarzkMF1A9GheSr4xOExX8telSy+EKbGF/mrEEcxnVRqUQljB4o56zTtkzyhKmNQc+oaeAw8pIH39VaQ3A==","signatures":[{"sig":"MEQCIEsQrEVg0AXVAU+Zv95RARMKkTLbAK4HpFPHZ2hS6skuAiARprLDBnXXpNUfrlXtXPCZ9Ws+mBhqU5oSX1H/hoTmNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30889},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.1.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/67b4b933f2ac266d545f14cfc0f489b6/scenarist-msw-adapter-0.1.2.tgz","_integrity":"sha512-pg5RtarzkMF1A9GheSr4xOExX8telSy+EKbGF/mrEEcxnVRqUQljB4o56zTtkzyhKmNQc+oaeAw8pIH39VaQ3A==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.14","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.1.2_1764286651780_0.8618934655003743","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@scenarist/msw-adapter","version":"0.1.3","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.1.3","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"a0d0ebc41005ea0e14164264c00be665633c07ef","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.1.3.tgz","fileCount":18,"integrity":"sha512-OYmdPjVuvIywlTqQ7kUx0TLp/8OFgWCw2O96s6GAKX3HgUmwRenINtCijahUkx+HdrPkgIbpETR/Bfz7py7psQ==","signatures":[{"sig":"MEUCIQCz2SYav2uSEjOmr/yk0RB9zpySxHcAmjXyjizBsu6IgQIgTfCm5wtaFcYXERSd1P7WOaDy74POtlTv9H7JdANrYOA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30997},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.1.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/aabfc973443fabb028e5daa5b255b965/scenarist-msw-adapter-0.1.3.tgz","_integrity":"sha512-OYmdPjVuvIywlTqQ7kUx0TLp/8OFgWCw2O96s6GAKX3HgUmwRenINtCijahUkx+HdrPkgIbpETR/Bfz7py7psQ==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.14","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.1.3_1764608878969_0.8891105896545015","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@scenarist/msw-adapter","version":"0.1.16","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.1.16","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"3a09ee4ee78b22f8d637ca0a76639c09f0329f66","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.1.16.tgz","fileCount":18,"integrity":"sha512-IpMgb4BrW11SrdRps2kDLR611f0U4Im9KrOMLKxGwsRQX5P6K0tpRFhn9dkmA+SN22aUrcd+bWsiWWqZu/+GkQ==","signatures":[{"sig":"MEQCIHfsZPGzXAVINlLqBCJP8mnHm1MKsDFsIclYWdnnO8k1AiBLmA2rv2suW2bXtPpqOWFBxm60iyLsF6UCcSXhmwnFtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30999},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.1.16.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/d3fe3342e69c9c8286b59ad5a8294a73/scenarist-msw-adapter-0.1.16.tgz","_integrity":"sha512-IpMgb4BrW11SrdRps2kDLR611f0U4Im9KrOMLKxGwsRQX5P6K0tpRFhn9dkmA+SN22aUrcd+bWsiWWqZu/+GkQ==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.1.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.14","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.1.16_1764610593590_0.33214255905364953","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@scenarist/msw-adapter","version":"0.2.0","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.2.0","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"7ea5272e021e4cecc888a08582930e29b0e35a79","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.2.0.tgz","fileCount":18,"integrity":"sha512-wv4ZT8VVVQkgro3fni4M+/+FtY1TFG778gESqxM5DKu318MbGrQlgo6dZZzj2viFp/zJoLq8sMSabi4CTN3d/w==","signatures":[{"sig":"MEQCICIVKNzlsgJtMn8xneB1UDbRDkivxwLnJ7hKejvx34F3AiBY6wHLnMnKJ8G2kKKVWPNDBX/e62XTGX6F5LmodmzyzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30997},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/c5f216354fb15be3f37a5ee656ea9c39/scenarist-msw-adapter-0.2.0.tgz","_integrity":"sha512-wv4ZT8VVVQkgro3fni4M+/+FtY1TFG778gESqxM5DKu318MbGrQlgo6dZZzj2viFp/zJoLq8sMSabi4CTN3d/w==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.14","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.2.0_1764682128339_0.5461150819539302","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@scenarist/msw-adapter","version":"0.2.1","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.2.1","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"68fc74c78b167f321de483723a3dea1f1c493245","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.2.1.tgz","fileCount":18,"integrity":"sha512-8l2W5VQygTGLuBNeiAVn3H1sjnJzboMRCuAn6IsyNj3saVdNcLXG5mABthyoLih6jOJGFA4EOPugjTNX4ouS8A==","signatures":[{"sig":"MEQCIAY3SiAfD7tgo6f4cWkxlkgbrZWgxU8Aom38xAZCSkIqAiBswHIRg/WuC6mZxAa98mhJ8lkHqhc4IU3xU7uZGEIQHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30997},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.2.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/7c823de4668368fa56b96bfb53abd765/scenarist-msw-adapter-0.2.1.tgz","_integrity":"sha512-8l2W5VQygTGLuBNeiAVn3H1sjnJzboMRCuAn6IsyNj3saVdNcLXG5mABthyoLih6jOJGFA4EOPugjTNX4ouS8A==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.14","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.2.1_1764719071763_0.3767214857351042","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@scenarist/msw-adapter","version":"0.3.0","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.3.0","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"8ea8dcc617a24f945ba1ea72759077d2a3945c7e","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.3.0.tgz","fileCount":18,"integrity":"sha512-H4Ah1uhh2jIB+CD1Du/3+fZOdYI5z7Q7OI1kEKCFqciw4oW729u1lgQPmkRV2VYuM+oZ1IdPbj/0Kj8rM5e5ZA==","signatures":[{"sig":"MEQCID8hwZwoFHsBYC20U07qmzWlB8sB5GibBCAxuso0S8mRAiALAklAQZa7Wby1na/Dusl6q6K4O5m1nsAIcq6GjMUijg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34725},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/4fa90e21756eaeb678ae18c9ae9b6ef9/scenarist-msw-adapter-0.3.0.tgz","_integrity":"sha512-H4Ah1uhh2jIB+CD1Du/3+fZOdYI5z7Q7OI1kEKCFqciw4oW729u1lgQPmkRV2VYuM+oZ1IdPbj/0Kj8rM5e5ZA==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.3.0_1764800421795_0.0008930693682027702","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@scenarist/msw-adapter","version":"0.3.1","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.3.1","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"e129b3f97fe5b5fe5dc2e1aee2db5bc21cd020a6","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.3.1.tgz","fileCount":18,"integrity":"sha512-Ksh91W5GUSCUWvrcDBGwHL7b0NK9PtWLX9f9MR0H7VDdXKIansUUPauOj3XjgKxpEvn/XwQTrBdc2e+wMDGYPg==","signatures":[{"sig":"MEYCIQDjs4AXRWa5RaNX/G8E2TvuxyhFOrXb8V0v/8RPMTR36gIhAJkzzjunnvLgNQ/LKoSZWEWSWCzDaS0r+5C4B6GqrXjX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34725},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.3.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/7befbbc509f7f07d11c3b350f25de6f8/scenarist-msw-adapter-0.3.1.tgz","_integrity":"sha512-Ksh91W5GUSCUWvrcDBGwHL7b0NK9PtWLX9f9MR0H7VDdXKIansUUPauOj3XjgKxpEvn/XwQTrBdc2e+wMDGYPg==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.3.1_1764843900960_0.9256675288627376","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@scenarist/msw-adapter","version":"0.3.2","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.3.2","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"1b9cc6dda46647fecf20e3f7ad3b7a3de5b627b0","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.3.2.tgz","fileCount":18,"integrity":"sha512-tHo2wY2sfEXyW2InTxFcWOjl7S8Yu2ePA/j5Rg6G08vsImN9zRews3swQSvqSNTVDymjBsrCHP2CMtMohUnDFA==","signatures":[{"sig":"MEYCIQCx4kWViR0KQRPIRqqqF4ln1YAgY/JY4LTmwQJHhwhCgQIhAKLg8qh48aSs1KFKlcQbJqevMGa2Z35tKubqtGG8HOjw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35391},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.3.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/5cc662dcf809c05fa5aebf73d2ac462e/scenarist-msw-adapter-0.3.2.tgz","_integrity":"sha512-tHo2wY2sfEXyW2InTxFcWOjl7S8Yu2ePA/j5Rg6G08vsImN9zRews3swQSvqSNTVDymjBsrCHP2CMtMohUnDFA==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.3.2_1764891444686_0.9482441694650161","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@scenarist/msw-adapter","version":"0.3.3","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.3.3","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"34bd1bc6810aede3f3844dc43bb8637170f7cd86","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.3.3.tgz","fileCount":18,"integrity":"sha512-3Gh+07vWFf8l/+OepBgfdrzZZm6hfu4bNIRH7AiyagwQaimM3GCec+Rp9hZM8CYb19Xq/65sjMYbmvUwqfCZIg==","signatures":[{"sig":"MEQCIHhWMbN0cHTy2LPXl60Lod4Fyyp8dMKWDF7nw+3J5H8PAiArCNkSHT/QeRjk7E84AlzmKqiGzDf5ziyRL/abh5K7ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36430},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.3.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/773580642b6ebc9b852f77383b1a6b46/scenarist-msw-adapter-0.3.3.tgz","_integrity":"sha512-3Gh+07vWFf8l/+OepBgfdrzZZm6hfu4bNIRH7AiyagwQaimM3GCec+Rp9hZM8CYb19Xq/65sjMYbmvUwqfCZIg==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.3.3_1764960519579_0.7862665413512944","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@scenarist/msw-adapter","version":"0.4.0","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.0","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"33c124ea40346cc3badd2df2e101d4f1d025c773","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.0.tgz","fileCount":18,"integrity":"sha512-pm9SS/wOeYozgaAcveEU5roSBsCh9G8rI0xz9nxVWA0+j6Ha9gRuqDPlu2oIEYr95YPCsK2dLmF5FmRBrdtaSQ==","signatures":[{"sig":"MEUCIHlqoaSkRpHP3cMwhXyl6QtlmcIF+t8uTJ1weXdStUW4AiEA8f2uJ5LyrDrTmh4ZJI0KQeEF7uQCPGp+Q/riE2F4FN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36430},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/b03f8ee9c4d90e8e87a458b4b794dc78/scenarist-msw-adapter-0.4.0.tgz","_integrity":"sha512-pm9SS/wOeYozgaAcveEU5roSBsCh9G8rI0xz9nxVWA0+j6Ha9gRuqDPlu2oIEYr95YPCsK2dLmF5FmRBrdtaSQ==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.0_1765050577890_0.5008537853681552","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@scenarist/msw-adapter","version":"0.4.1","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.1","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"27757579dcddfcd9303cdc8ccb9cd1fd678e66e9","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.1.tgz","fileCount":18,"integrity":"sha512-5sMmNBNES3WTrs9eTt+rPNRe7HljGlrBkrpKLMPwH1FxVxW6PbWQohWaKT7yFN9WmRZWrn36ZwfJUc8+qQuHiQ==","signatures":[{"sig":"MEUCIQDjHlQv4X7yaFPa7+UORSIf5vc+GdMpUOwIaq1mz8sZeQIgV9F2fOkDkfcVGsSABqCza2M+B+DMYyeoqZ9q+SFMtzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36430},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/1ab4b1b24241311c7273fb28a70fbe40/scenarist-msw-adapter-0.4.1.tgz","_integrity":"sha512-5sMmNBNES3WTrs9eTt+rPNRe7HljGlrBkrpKLMPwH1FxVxW6PbWQohWaKT7yFN9WmRZWrn36ZwfJUc8+qQuHiQ==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.1_1765131113173_0.5848522606934343","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@scenarist/msw-adapter","version":"0.4.2","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.2","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"a3002c3e01c9282d343a79b7fa0741a8afe173b1","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.2.tgz","fileCount":18,"integrity":"sha512-eFHq6zS2WLSn1Xnkg8bne10ABhibC+gFsTY5AtbtCsX/INVoTlV2SabPqVVMJFXzDtC0aTzi17p8iOoYArWbAA==","signatures":[{"sig":"MEUCIAiDN6YjBB+OpARb6FgyLWiyNyQ0F1FPqFNyX8S6U4gkAiEAhpUAYb2McP2DvDTx1CrMdZfjQS37e1AmOw0zVLntD0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36430},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/2bede648e3e92256ea952a279cb4d731/scenarist-msw-adapter-0.4.2.tgz","_integrity":"sha512-eFHq6zS2WLSn1Xnkg8bne10ABhibC+gFsTY5AtbtCsX/INVoTlV2SabPqVVMJFXzDtC0aTzi17p8iOoYArWbAA==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.2_1765132825562_0.2650388360316076","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@scenarist/msw-adapter","version":"0.4.3","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.3","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"af30d4f5cc1f550151800bc23140cfb501da7fb3","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.3.tgz","fileCount":18,"integrity":"sha512-UwyU0CjDeOQ5B/qDP1ewhQAF28+p6kwRbxRR33TUVvUrtWbp4d4qgU6OkccdkgCFkjwHhWfYUurQ6BliBrnlqw==","signatures":[{"sig":"MEQCIEDwWvZhDGPt5aEnh7Y0cRuV6r1ielRkfG1a+uXjAhGZAiAD+CUpos1VuYzxldOPv45DTkPEhWGEa7N7P3PZwK2Tww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36430},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/302cfd083dc4e202fab66fe3fe08e037/scenarist-msw-adapter-0.4.3.tgz","_integrity":"sha512-UwyU0CjDeOQ5B/qDP1ewhQAF28+p6kwRbxRR33TUVvUrtWbp4d4qgU6OkccdkgCFkjwHhWfYUurQ6BliBrnlqw==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.3_1765231884889_0.845932782596712","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@scenarist/msw-adapter","version":"0.4.4","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.4","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"cdd852088b7217c0878308ce88dc7df9be7143b7","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.4.tgz","fileCount":18,"integrity":"sha512-BoPvOKKQAUe8goBZnTjyXDHoOGYg5uLym/MDzJ4McRddeuNtUJAgAjXzsb3nRaG46lmHWKC6weOoJx8yJ3Dk5A==","signatures":[{"sig":"MEYCIQCsRV8CV08FDkjctab/PXbqFZ/k5hTM+EtVBzfm19paowIhAKt2fmeyzTVZxvLtbld7KjYqg5XW+ARQEcYTEs17tyuO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36892},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/aba32d8d1106ff9bc889b7fe34dd1c8c/scenarist-msw-adapter-0.4.4.tgz","_integrity":"sha512-BoPvOKKQAUe8goBZnTjyXDHoOGYg5uLym/MDzJ4McRddeuNtUJAgAjXzsb3nRaG46lmHWKC6weOoJx8yJ3Dk5A==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.4_1765803813514_0.2566638352787205","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@scenarist/msw-adapter","version":"0.4.5","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.5","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"26f87192b80a6109c703c725ee726323ec8566ed","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.5.tgz","fileCount":18,"integrity":"sha512-wtvSMTsB0ytYpNfY0/j3UvEwAXLJycTUGqdDEbxVcI3UMSoZliKFI8Zgq8noaJ+i0sohA1WQrRM9vx4WD04UhQ==","signatures":[{"sig":"MEQCIGiFu4CIskW9fy7/jcvZzZBiwLZ+v+86+1N134JmKMELAiBYHubLsJzsU0U+xImPZXPbdU+bUyutQMD8eZUTyLczag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37311},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/a2609e0fddd1d042158ac2670a5a2be7/scenarist-msw-adapter-0.4.5.tgz","_integrity":"sha512-wtvSMTsB0ytYpNfY0/j3UvEwAXLJycTUGqdDEbxVcI3UMSoZliKFI8Zgq8noaJ+i0sohA1WQrRM9vx4WD04UhQ==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.3","eslint":"^9.39.1","vitest":"^4.0.15","typescript":"^5.9.3","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.0.14","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.5_1765804608713_0.6972304563278224","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@scenarist/msw-adapter","version":"0.4.6","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.6","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"9235ac8dd2f7a407789690892ab33cea76dc60dc","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.6.tgz","fileCount":18,"integrity":"sha512-0wCssgRAooKm+EStCCTCzRNwzQ56EK7Htrv/EW2jI/pNh6PjZ0v0ZPRkBSxuj4yR8/8oiGActl99iZjNBRqBOA==","signatures":[{"sig":"MEYCIQC5bRNaINTRLdnYbRbhP0k7CLYCY9GBbxcLiIaoviVsCQIhANPwfawOJccfrFViD7eZCZZ0Hbv1UnjU6KFjMnW9Ugsx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37310},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/f33e8f163b08bed5ce7f65db35554e35/scenarist-msw-adapter-0.4.6.tgz","_integrity":"sha512-0wCssgRAooKm+EStCCTCzRNwzQ56EK7Htrv/EW2jI/pNh6PjZ0v0ZPRkBSxuj4yR8/8oiGActl99iZjNBRqBOA==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","eslint":"^9.39.2","vitest":"^4.0.16","typescript":"^5.9.3","@types/node":"^25.0.3","@vitest/coverage-v8":"^4.0.16","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.6_1767111356335_0.5289458545300312","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@scenarist/msw-adapter","version":"0.4.7","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.7","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"632218a7cffc7535edea22d8b69a3c2d47e251d5","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.7.tgz","fileCount":18,"integrity":"sha512-CGx4JX6R+O5H8Bza9RN9zFl+wdee/kWiACz3+fqFI9H0BEAykrr7yf+sX9OwBr9e+LXDwLrmt34Uh8wDmSZPSg==","signatures":[{"sig":"MEYCIQCmgoUKeRjrXRKeQ+XUBgX4pqEnhLro6SMOo+/QGaVR/gIhAPZdxpkWz37gMxmGqsN6ZsF7yOEbv8YRIF+/7/YHzDkT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37310},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/e1664fe8c90e7d52b36e085e2c12ac58/scenarist-msw-adapter-0.4.7.tgz","_integrity":"sha512-CGx4JX6R+O5H8Bza9RN9zFl+wdee/kWiACz3+fqFI9H0BEAykrr7yf+sX9OwBr9e+LXDwLrmt34Uh8wDmSZPSg==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","eslint":"^9.39.2","vitest":"^4.0.16","typescript":"^5.9.3","@types/node":"^25.0.3","@vitest/coverage-v8":"^4.0.16","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.7_1771018326812_0.8993205901014758","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@scenarist/msw-adapter","version":"0.4.8","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.8","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"d0b72bae0dd553e41cf4e2a68d375b02696cd10b","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.8.tgz","fileCount":18,"integrity":"sha512-e3IFe1DKqi3FLbhr/LlLCN4zjg4gFPgLtaO+Jl1hI3tzBAIj+DSl6IOsKBxEixl2jd61uWuFMgxTKpU0Gm2E/A==","signatures":[{"sig":"MEUCIQDIqonEvtuP1ylcrulDvuFextrqa6c1mhQpxRbRRmpcXQIgYRyahIB6nCAKuyIfdpEWadpdUfMcdmLnwgL9DuUWp38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37311},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/3ed6ebc8bdcf108fbd9d5a831bf3aac7/scenarist-msw-adapter-0.4.8.tgz","_integrity":"sha512-e3IFe1DKqi3FLbhr/LlLCN4zjg4gFPgLtaO+Jl1hI3tzBAIj+DSl6IOsKBxEixl2jd61uWuFMgxTKpU0Gm2E/A==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.10","eslint":"^9.39.2","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.2.3","@vitest/coverage-v8":"^4.0.18","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.8_1771023053144_0.3109175921113585","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@scenarist/msw-adapter","version":"0.4.9","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.9","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"8645371ead976c2b888a259eccf8d5e4b06dc04d","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.9.tgz","fileCount":18,"integrity":"sha512-mDXZLNyg8j2OyMg2PhPlWuzJDqpO7KlldtGlL/97RAdj+JYyeEy/iq8ObWXTOUVIngQVrAH5GUY/D+Q4uC468Q==","signatures":[{"sig":"MEUCIEtgTZmgXEY5v/y0QptsuRKb0nLYYwXIVvXK7v7tzNaAAiEA1L+w4LT5HtlTEPFHH6IcZj6MADlETy0OyQ8px89tjdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37311},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/289d8194b11c40df96fc6c80a1a6be57/scenarist-msw-adapter-0.4.9.tgz","_integrity":"sha512-mDXZLNyg8j2OyMg2PhPlWuzJDqpO7KlldtGlL/97RAdj+JYyeEy/iq8ObWXTOUVIngQVrAH5GUY/D+Q4uC468Q==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.10","eslint":"^9.39.2","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.2.3","@vitest/coverage-v8":"^4.0.18","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.9_1771976755671_0.053992732214139805","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@scenarist/msw-adapter","version":"0.4.10","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.10","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"15892123cb360884262443e82b258c8bfa7f61fc","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.10.tgz","fileCount":18,"integrity":"sha512-ihmwfs5jXm9A6YZ7M4qYIYNmG2WefhtR8e7wHKnnpBGru713XAj0IRNuGALfdtj7YHODhjtlhwFYrdOw0ipBQg==","signatures":[{"sig":"MEYCIQCM9HNiY865xIO+4I/+P/Bo/UlOf8PvPkh9XK3CYlfguQIhAPKp63oZaIMWxlxOvFdzG1zVVxMwB5QRtMfMi+j52ZJv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37313},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.10.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/f3e667646905d22bb963e9d823fa3653/scenarist-msw-adapter-0.4.10.tgz","_integrity":"sha512-ihmwfs5jXm9A6YZ7M4qYIYNmG2WefhtR8e7wHKnnpBGru713XAj0IRNuGALfdtj7YHODhjtlhwFYrdOw0ipBQg==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.10","eslint":"^9.39.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.0","@vitest/coverage-v8":"^4.0.18","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.10_1772015145603_0.9088942695940125","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@scenarist/msw-adapter","version":"0.4.11","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.11","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"67f69197575be02470cedd03950b9b096f633bf9","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.11.tgz","fileCount":18,"integrity":"sha512-LurxgEpqzoo0ebEojonDSyQdXn9fWcrGFoeghC82iyFiMnuvM9cEBSnEtvylv6LOb4z+lN/r3f7UqcO16IfCVw==","signatures":[{"sig":"MEYCIQDMC2WjWUYWAX0sFOmdEUEHSgAdv+STwxGckVfyi2w42AIhAIom+ngLFSqft/y9dPpWUPHeKwJ6bzdvGE9vEViVuwUw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37311},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.11.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/485151d48c947ccf056d02b4ad989d61/scenarist-msw-adapter-0.4.11.tgz","_integrity":"sha512-LurxgEpqzoo0ebEojonDSyQdXn9fWcrGFoeghC82iyFiMnuvM9cEBSnEtvylv6LOb4z+lN/r3f7UqcO16IfCVw==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.10","eslint":"^9.39.4","vitest":"^4.1.2","typescript":"^5.9.3","@types/node":"^25.3.0","@vitest/coverage-v8":"^4.1.2","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.11_1775130283634_0.4921769040669828","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@scenarist/msw-adapter","version":"0.4.13","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"author":{"url":"citypaul","name":"Paul Hammond","email":"paul@packsoftware.co.uk"},"license":"MIT","_id":"@scenarist/msw-adapter@0.4.13","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"homepage":"https://github.com/citypaul/scenarist#readme","bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"dist":{"shasum":"1ddfd5a12854a9ce0b35626ce3187e4224d891b8","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.13.tgz","fileCount":18,"integrity":"sha512-kW9soGlOt6Pyy0uQnWZIHWCYqfoHSpEdB0ZI9F07k7UA9yUvv8Dn0Tw4fT0Mdmra7RbA2p9m6fDZrJ51f/+DGQ==","signatures":[{"sig":"MEUCIQC8+tnyDC3Fb9hRJF1B935etcsxpmv1wlZHNh2bt/F+WwIgU+LoGycR3j+ZrxGeqzv+/EjMQgsxqJK8oCP30i79u84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37311},"main":"./dist/index.js","type":"module","_from":"file:scenarist-msw-adapter-0.4.13.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"_resolved":"/tmp/034238b1c1ba40e61ceabf0e795ddd00/scenarist-msw-adapter-0.4.13.tgz","_integrity":"sha512-kW9soGlOt6Pyy0uQnWZIHWCYqfoHSpEdB0ZI9F07k7UA9yUvv8Dn0Tw4fT0Mdmra7RbA2p9m6fDZrJ51f/+DGQ==","repository":{"url":"git+https://github.com/citypaul/scenarist.git","type":"git","directory":"internal/msw-adapter"},"_npmVersion":"11.6.4","description":"Internal: MSW integration layer for Scenarist framework adapters","directories":{},"_nodeVersion":"22.21.1","dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.10","eslint":"^9.39.4","vitest":"^4.1.5","typescript":"^5.9.3","@types/node":"^25.3.0","@vitest/coverage-v8":"^4.1.5","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"peerDependencies":{"msw":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/msw-adapter_0.4.13_1778272724998_0.4770347644358526","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@scenarist/msw-adapter","version":"0.4.14","description":"Internal: MSW integration layer for Scenarist framework adapters","author":{"name":"Paul Hammond","email":"paul@packsoftware.co.uk","url":"citypaul"},"license":"MIT","homepage":"https://github.com/citypaul/scenarist#readme","repository":{"type":"git","url":"git+https://github.com/citypaul/scenarist.git","directory":"internal/msw-adapter"},"bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"keywords":["msw","mock-service-worker","testing","scenarist","internal"],"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"path-to-regexp":"^6.3.0","@scenarist/core":"0.4.14"},"peerDependencies":{"msw":"^2.0.0"},"devDependencies":{"@types/node":"^25.3.0","@vitest/coverage-v8":"^4.1.5","eslint":"^9.39.4","msw":"^2.12.10","typescript":"^5.9.3","vitest":"^4.1.5","@scenarist/eslint-config":"^0.0.0","@scenarist/typescript-config":"0.0.0"},"scripts":{"build":"tsc","dev":"tsc --watch","test":"vitest run","test:watch":"vitest","typecheck":"tsc --project tsconfig.typecheck.json --noEmit","lint":"eslint .","clean":"rm -rf dist"},"_id":"@scenarist/msw-adapter@0.4.14","_integrity":"sha512-sYs3V6rdKS9YaHDe7DdAb2WqdaUcvkAkjSRIWIeQgbncdOidQD2W5pXmDtOKESNL3BsR1OmQIIR5ko26qtaOGQ==","_resolved":"/tmp/a4b26854c7f446a6e68dd3c82079d09f/scenarist-msw-adapter-0.4.14.tgz","_from":"file:scenarist-msw-adapter-0.4.14.tgz","_nodeVersion":"22.21.1","_npmVersion":"11.6.4","dist":{"integrity":"sha512-sYs3V6rdKS9YaHDe7DdAb2WqdaUcvkAkjSRIWIeQgbncdOidQD2W5pXmDtOKESNL3BsR1OmQIIR5ko26qtaOGQ==","shasum":"f63bb9483c0ba481c2264bdd3cb76035f2b19ae9","tarball":"https://registry.npmjs.org/@scenarist/msw-adapter/-/msw-adapter-0.4.14.tgz","fileCount":21,"unpackedSize":43565,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@scenarist%2fmsw-adapter@0.4.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCaRNS5/h5Uc8KPZ+bE+QaHG8Wnx4jXIUQsWu+Fe7evFQIhAK1AfTIIij8A+po1fYtM7fkYQbH+5CVrII5C//ZZE0vE"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60922c93-d115-4a3c-86b4-8a53fb20ad55"}},"directories":{},"maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/msw-adapter_0.4.14_1786811326336_0.0798724825562589"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-27T00:22:26.936Z","modified":"2026-08-15T16:28:46.802Z","0.0.1":"2025-11-27T00:22:27.209Z","0.1.0":"2025-11-27T02:09:12.357Z","0.1.1":"2025-11-27T23:03:36.229Z","0.1.2":"2025-11-27T23:37:31.998Z","0.1.3":"2025-12-01T17:07:59.171Z","0.1.16":"2025-12-01T17:36:33.783Z","0.2.0":"2025-12-02T13:28:48.532Z","0.2.1":"2025-12-02T23:44:31.945Z","0.3.0":"2025-12-03T22:20:21.979Z","0.3.1":"2025-12-04T10:25:01.109Z","0.3.2":"2025-12-04T23:37:24.842Z","0.3.3":"2025-12-05T18:48:39.719Z","0.4.0":"2025-12-06T19:49:38.023Z","0.4.1":"2025-12-07T18:11:53.317Z","0.4.2":"2025-12-07T18:40:25.713Z","0.4.3":"2025-12-08T22:11:25.049Z","0.4.4":"2025-12-15T13:03:33.650Z","0.4.5":"2025-12-15T13:16:48.850Z","0.4.6":"2025-12-30T16:15:56.549Z","0.4.7":"2026-02-13T21:32:06.979Z","0.4.8":"2026-02-13T22:50:53.297Z","0.4.9":"2026-02-24T23:45:55.826Z","0.4.10":"2026-02-25T10:25:45.731Z","0.4.11":"2026-04-02T11:44:43.809Z","0.4.13":"2026-05-08T20:38:45.143Z","0.4.14":"2026-08-15T16:28:46.482Z"},"bugs":{"url":"https://github.com/citypaul/scenarist/issues"},"author":{"name":"Paul Hammond","email":"paul@packsoftware.co.uk","url":"citypaul"},"license":"MIT","homepage":"https://github.com/citypaul/scenarist#readme","keywords":["msw","mock-service-worker","testing","scenarist","internal"],"repository":{"type":"git","url":"git+https://github.com/citypaul/scenarist.git","directory":"internal/msw-adapter"},"description":"Internal: MSW integration layer for Scenarist framework adapters","maintainers":[{"name":"citypaul","email":"paul.ian.hammond@gmail.com"}],"readme":"# @scenarist/msw-adapter\n\n**⚠️ INTERNAL PACKAGE - DO NOT INSTALL DIRECTLY**\n\nThis package is an internal implementation detail of Scenarist and is **NOT published to npm**. It exists as a workspace dependency used by framework adapters.\n\n## Why is this package private?\n\n**You should install a framework adapter instead:**\n\n- ✅ `@scenarist/express-adapter` - For Express applications\n- ✅ `@scenarist/nextjs-adapter` - For Next.js applications\n- ✅ `@scenarist/core` - For building custom adapters\n\n**This package is private because:**\n\n1. **Not user-facing** - Users never import from `@scenarist/msw-adapter` directly\n2. **Implementation detail** - Provides MSW integration layer used internally by framework adapters\n3. **Prevents confusion** - Publishing would mislead users into thinking they should install it\n4. **Version coupling** - Framework adapters control which msw-adapter version they use\n5. **Simpler maintenance** - Internal packages don't need semver/breaking change coordination\n6. **Cleaner API surface** - Framework adapters ARE the public API, msw-adapter is hidden complexity\n\n**Dependency structure:**\n\n```\nYour App\n  ├─ @scenarist/express-adapter (public, install this!)\n  │   └─ @scenarist/msw-adapter (private, workspace:*)\n  │       └─ @scenarist/core (public)\n  │\n  └─ @scenarist/nextjs-adapter (public, install this!)\n      └─ @scenarist/msw-adapter (private, workspace:*)\n          └─ @scenarist/core (public)\n```\n\n---\n\n## What is Scenarist?\n\n**Scenarist** enables concurrent tests to run with different backend states by switching mock scenarios at runtime via test IDs. Your real application code executes while external API responses are controlled by scenarios. This package provides the MSW integration layer that makes it all work.\n\n**The big picture:**\n\n```\nYour App → Scenarist Adapter (Express/Next.js) → MSW Adapter → MSW → Intercepted HTTP\n```\n\n**What this package does:**\n\nConverts Scenarist's serializable `ScenaristMock` data into MSW `HttpHandler` instances at runtime, enabling Scenarist to work with any Node.js framework.\n\n**Status:** ✅ Stable - Used internally by all Scenarist framework adapters\n\n---\n\n## For Framework Adapter Developers\n\nIf you're building a custom framework adapter for Scenarist, this package provides the MSW integration you need. Otherwise, you should use one of the existing public adapters listed above.\n\n## What does this package provide?\n\nThe MSW adapter is the bridge between Scenarist's serializable mock definitions and MSW's HTTP interception. It provides:\n\n1. **URL Matching** - Converts URL patterns (with wildcards and path params) into MSW-compatible matchers\n2. **Mock Matching** - Finds the right mock definition for incoming requests (with request content matching)\n3. **Response Building** - Transforms `ScenaristMock` into MSW `HttpResponse`\n4. **Dynamic Handler** - Creates a single MSW handler that routes based on active scenarios\n\n## Core Capabilities\n\nThis adapter implements all 25 Scenarist capabilities:\n\n### Request Matching (6 capabilities)\n\n- **Body matching** (partial match) - Match on request body fields\n- **Header matching** (exact, case-insensitive) - Match on header values\n- **Query matching** (exact) - Match on query parameters\n- **Combined matching** - Combine body + headers + query\n- **Specificity-based selection** - Most specific mock wins\n- **Fallback mocks** - Mocks without criteria act as catch-all\n\n### Response Sequences (4 capabilities)\n\n- **Single responses** - Return same response every time\n- **Response sequences** - Ordered responses for polling scenarios\n- **Repeat modes** - `last`, `cycle`, `none` behaviors\n- **Sequence exhaustion** - Skip exhausted sequences to fallback\n\n### Stateful Mocks (6 capabilities)\n\n- **State capture** - Extract values from requests\n- **State injection** - Inject state into responses via templates\n- **Array append** - Syntax: `stateKey[]` for arrays\n- **Nested paths** - Dot notation: `user.profile.name`\n- **State isolation** - Per test ID isolation\n- **State reset** - Fresh state on scenario switch\n\n### URL Patterns (4 capabilities)\n\n- **Exact matches** - `https://api.example.com/users`\n- **Wildcards** - `*/api/*`, `https://*/users`\n- **Path parameters** - `/users/:id`, `/posts/:postId/comments/:commentId`\n- **Native RegExp** - `/\\/api\\/v\\d+\\//`, `/\\/users\\/\\d+$/` (weak comparison per MSW behavior)\n\n### MSW Integration (6 capabilities)\n\n- **Dynamic handler generation** - Single handler routes at runtime\n- **Response building** - Status codes, JSON bodies, headers, delays\n- **Automatic default fallback** - Collects default + active scenario mocks together\n- **Strict mode** - Fail on unmocked requests\n- **Test ID isolation** - Separate state per test ID\n- **Framework-agnostic** - Works with any Node.js framework\n\n## Features\n\n- ✅ **URL pattern matching** - Exact matches, glob patterns (`*/api/*`), path parameters (`/users/:id`)\n- ✅ **Request content matching** - Body, headers, query with specificity-based selection\n- ✅ **Dynamic MSW handler generation** - Single handler routes to correct scenario at runtime\n- ✅ **Response building** - Status codes, JSON bodies, headers, delays, state injection\n- ✅ **Sequences and state** - Polling scenarios and stateful mocks fully supported\n- ✅ **Automatic default fallback** - Collects default + active scenario mocks, uses specificity to select best match\n- ✅ **Framework-agnostic** - Works with Express, Next.js, and any Node.js framework via HTTP-level interception\n\n## Internal Package\n\n⚠️ **This is an internal package used by framework adapters.**\n\nYou typically don't install or use this directly. Instead, use a framework-specific adapter:\n\n- **[@scenarist/express-adapter](../../packages/express-adapter)** - For Express applications\n- **[@scenarist/nextjs-adapter](../../packages/nextjs-adapter)** - For Next.js applications (App Router + Pages Router)\n\n## How It Works\n\n### 1. URL Matching\n\nConverts string patterns into MSW-compatible URL matchers:\n\n```typescript\nimport { matchesUrl } from \"@scenarist/msw-adapter\";\n\nmatchesUrl(\n  \"https://api.github.com/users/octocat\",\n  \"GET\",\n  \"https://api.github.com/users/:username\",\n);\n// Returns: { matches: true, params: { username: 'octocat' } }\n\nmatchesUrl(\"https://api.stripe.com/v1/charges\", \"POST\", \"*/v1/charges\");\n// Returns: { matches: true, params: {} }\n```\n\n**Supported patterns (three types with different hostname matching):**\n\n**1. Pathname-only patterns** (origin-agnostic - match ANY hostname)\n\n- Path params: `/users/:id`, `/posts/:postId/comments/:commentId`\n- Exact: `/api/users`\n- Wildcards: `/api/*`, `*/users/*`\n\n**2. Full URL patterns** (hostname-specific - match ONLY specified hostname)\n\n- Exact: `https://api.example.com/users`\n- Path params: `https://api.example.com/users/:id`\n- Wildcards: `https://*/users`, `https://api.example.com/*`\n\n**3. Native RegExp** (origin-agnostic - MSW weak comparison)\n\n- `/\\/api\\/v\\d+\\//` (matches /api/v1/, /api/v2/, etc.)\n- `/\\/users\\/\\d+$/` (matches /users/123 at any origin)\n\n**IMPORTANT:** If you specify a hostname in a full URL pattern, it WILL be matched. Choose pathname patterns for environment-agnostic mocks, full URL patterns when hostname matters.\n\n### 2. Mock Matching\n\nFinds the right mock for a request:\n\n```typescript\nimport { findMatchingMock } from '@scenarist/msw-adapter';\n\nconst mocks: ScenaristMock[] = [\n  { method: 'GET', url: '/users/:id', response: { status: 200, body: {...} } },\n  { method: 'POST', url: '/users', response: { status: 201, body: {...} } },\n];\n\nconst mock = findMatchingMock(mocks, 'GET', 'https://api.example.com/users/123');\n// Returns the first mock (matches /users/:id)\n```\n\n### 3. Response Building\n\nConverts `ScenaristMock` to MSW `HttpResponse`:\n\n```typescript\nimport { buildResponse } from \"@scenarist/msw-adapter\";\n\nconst mockDef: ScenaristMock = {\n  method: \"GET\",\n  url: \"/api/user\",\n  response: {\n    status: 200,\n    body: { id: \"123\", name: \"John\" },\n    headers: { \"X-Custom\": \"value\" },\n    delay: 100,\n  },\n};\n\nconst response = await buildResponse(mockDef);\n// Returns MSW HttpResponse with status, body, headers, and delay\n```\n\n### 4. Dynamic Handler\n\nThe core integration - a single MSW handler that routes dynamically:\n\n```typescript\nimport { createDynamicHandler } from \"@scenarist/msw-adapter\";\nimport { setupServer } from \"msw/node\";\n\nconst handler = createDynamicHandler({\n  getTestId: () => testIdStorage.getStore() ?? \"default-test\",\n  getActiveScenario: (testId) => manager.getActiveScenario(testId),\n  getScenarioDefinition: (scenarioId) => manager.getScenarioById(scenarioId),\n  strictMode: false,\n});\n\nconst server = setupServer(handler);\nserver.listen();\n```\n\n**How it works:**\n\n1. Gets test ID from AsyncLocalStorage (or other context)\n2. Looks up active scenario for that test ID\n3. **Collects mocks from BOTH default AND active scenario** for matching URL + method\n4. Uses specificity-based selection to choose best match\n5. Active scenario mocks (with match criteria) override default mocks (no criteria)\n6. Returns mocked response or passthrough (if no match found)\n\n**Key insight:** Default scenario mocks are ALWAYS collected first, then active scenario mocks are added. The specificity algorithm (from `ResponseSelector`) chooses the most specific match. This means specialized scenarios only need to define what changes - everything else automatically falls back to default.\n\n## Architecture\n\nThis package is designed to be framework-agnostic. Framework adapters (Express, Next.js, etc.) handle:\n\n- Test ID extraction (from headers, context, etc.)\n- Scenario management (switching, retrieving)\n- Middleware integration\n\nThe MSW adapter handles:\n\n- URL matching and pattern conversion\n- Mock finding and selection\n- Response building\n- MSW handler creation\n\n## API Reference\n\n### URL Matching\n\n```typescript\nexport const matchesUrl = (\n  requestUrl: string,\n  method: string,\n  pattern: string\n): { matches: boolean; params: Record<string, string> };\n```\n\n### Mock Matching\n\n```typescript\nexport const findMatchingMock = (\n  mocks: ReadonlyArray<ScenaristMock>,\n  method: string,\n  url: string\n): ScenaristMock | undefined;\n```\n\n### Response Building\n\n```typescript\nexport const buildResponse = (\n  mockDef: ScenaristMock\n): Promise<HttpResponse>;\n```\n\n### Dynamic Handler\n\n```typescript\nexport type DynamicHandlerOptions = {\n  readonly getTestId: () => string;\n  readonly getActiveScenario: (testId: string) => ActiveScenario | undefined;\n  readonly getScenarioDefinition: (scenarioId: string) => ScenaristScenario | undefined;\n  readonly strictMode: boolean;\n};\n\nexport const createDynamicHandler = (\n  options: DynamicHandlerOptions\n): HttpHandler;\n```\n\n## TypeScript\n\nFull TypeScript support with strict mode enabled.\n\n**Exported types:**\n\n```typescript\nimport type { DynamicHandlerOptions } from \"@scenarist/msw-adapter\";\n```\n\n## Testing\n\nThis package has comprehensive test coverage:\n\n- ✅ URL matching (exact, glob, path params)\n- ✅ Mock matching (method, URL, precedence)\n- ✅ Response building (status, body, headers, delays)\n- ✅ Dynamic handler (scenarios, fallback, strict mode)\n- ✅ **31 tests passing**\n\n## Contributing\n\nSee [CONTRIBUTING.md](../../CONTRIBUTING.md) for development guidelines.\n\n## License\n\nMIT\n\n## Related Packages\n\n- **[@scenarist/core](../core)** - Core scenario management\n- **[@scenarist/express-adapter](../express-adapter)** - Express integration (uses this package)\n","readmeFilename":"README.md"}