{"_id":"@ripplo/testing","_rev":"129-9c056e2e64397eceee47c13f85967e22","name":"@ripplo/testing","dist-tags":{"latest":"0.15.2"},"versions":{"0.0.1":{"name":"@ripplo/testing","version":"0.0.1","_id":"@ripplo/testing@0.0.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"ad7c632d352334f7765d9cc6dea701843ac450f6","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.1.tgz","fileCount":27,"integrity":"sha512-vZ7cXxico93zm8VTP3dAIBkJD8Nm7PwmHEfBt7YxuGLmXzq/PlqY+DxiJv8k770uQVvkL4COu6k7yvls/ILo9Q==","signatures":[{"sig":"MEUCIGvz1HvSRLaEyt6gBtHV3QBmH/xvPEZozMhUiSFqRk6yAiEAknJEVH9koJMLAYrKLUUKsPkbtZyuuYmPUhx3JjA4c1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79117},"type":"module","_from":"file:ripplo-testing-0.0.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/e4763160cfafdf5199edd202230b15f9/ripplo-testing-0.0.1.tgz","_integrity":"sha512-vZ7cXxico93zm8VTP3dAIBkJD8Nm7PwmHEfBt7YxuGLmXzq/PlqY+DxiJv8k770uQVvkL4COu6k7yvls/ILo9Q==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.1_1776389400720_0.9380218772728348","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@ripplo/testing","version":"0.0.2","_id":"@ripplo/testing@0.0.2","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"d735609d985f27456b8d3d3ed3d64363c34d7ecf","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.2.tgz","fileCount":27,"integrity":"sha512-DV5nHe4C/wUK85aqcu3PC3tosk6cxKxGUYRAvd3YXSJIUvbF9wSPxGkN4CGooLsgKeHiUoLvlMk34ElpZ4BwBQ==","signatures":[{"sig":"MEQCIFp2FaZK1ho4rN12QKC83cFTbMbvz0FIFEOEHrVzJHVJAiAGu+Xfz+nGxAUxNGXnE9RsfVbz6qeilqaIlDhFPpPMOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80090},"type":"module","_from":"file:ripplo-testing-0.0.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/0ecd035df8e9e67d2aa84c92c408cd61/ripplo-testing-0.0.2.tgz","_integrity":"sha512-DV5nHe4C/wUK85aqcu3PC3tosk6cxKxGUYRAvd3YXSJIUvbF9wSPxGkN4CGooLsgKeHiUoLvlMk34ElpZ4BwBQ==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.2_1776397834492_0.07218672579533725","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@ripplo/testing","version":"0.0.3","_id":"@ripplo/testing@0.0.3","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"64d44a9b60149bd063e5bcb16224d1da7c3edf6a","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.3.tgz","fileCount":27,"integrity":"sha512-B+WOcaVhTaSvr5pqw/ck89q+yOTtWR4eb9yOIgtFJXIbAN9hQYiPOwzVQ7ROU9OuZXSY3qEoZDPyII85lwXWzA==","signatures":[{"sig":"MEUCIQCVqTZctkoVQEAkJ7xaduKoL6+7DLcYONh3ZsJ4rVUEogIgEGwfSA5bTsk6UYBndzV6tZVB3NcGWjcoClMT0zPNF7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80201},"type":"module","_from":"file:ripplo-testing-0.0.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/c04898f52b4e1b6ebac1ee01553eba1f/ripplo-testing-0.0.3.tgz","_integrity":"sha512-B+WOcaVhTaSvr5pqw/ck89q+yOTtWR4eb9yOIgtFJXIbAN9hQYiPOwzVQ7ROU9OuZXSY3qEoZDPyII85lwXWzA==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.3_1776429138172_0.18573074343777063","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@ripplo/testing","version":"0.0.4","_id":"@ripplo/testing@0.0.4","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"5050aa91fd365d883ecb0422aa09a181ba0c1d1f","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.4.tgz","fileCount":27,"integrity":"sha512-LhelIJbOm3z617Mmi7IlLfu5kdFZzyJ1VzaCKdB6Rmeybvc5hBtGp9vVffm5/IVET/blFYgWQSX1Ai79Alvq8Q==","signatures":[{"sig":"MEQCIADoQUDv2DRIg/ooCUlj1yfDBrhqlsFevPFQwdIbN0TKAiBmxU7Fg6id8v80ih9D40BEmZ8Tia2UzPvKChPTn3Wttw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84475},"type":"module","_from":"file:ripplo-testing-0.0.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/57c17955523fab99debdd65035b62bc4/ripplo-testing-0.0.4.tgz","_integrity":"sha512-LhelIJbOm3z617Mmi7IlLfu5kdFZzyJ1VzaCKdB6Rmeybvc5hBtGp9vVffm5/IVET/blFYgWQSX1Ai79Alvq8Q==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.4_1776450344802_0.5318964292507526","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@ripplo/testing","version":"0.0.5","_id":"@ripplo/testing@0.0.5","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"46588da2b19cf997c3cd8ef020c4b89a6b916bfa","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.5.tgz","fileCount":27,"integrity":"sha512-Fi3+mAyR5TL9tpKtKnSA1JFqI92GKBM1q4ErxISAoIema8DjyGweS/d9RCzocwOTzIRb6qn9ESH6uYWsySQB7A==","signatures":[{"sig":"MEYCIQCMroXAdveNf7rybYPisUByaCja7XIKb05q2PcLoK4m4gIhAI3Bxd+ibAwZ4lY7Oj0Z19+jfY45Wtp+cL0dLiSK8RW1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84887},"type":"module","_from":"file:ripplo-testing-0.0.5.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/2870d3dd32e1001e18b53f2b9808d8cb/ripplo-testing-0.0.5.tgz","_integrity":"sha512-Fi3+mAyR5TL9tpKtKnSA1JFqI92GKBM1q4ErxISAoIema8DjyGweS/d9RCzocwOTzIRb6qn9ESH6uYWsySQB7A==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"catalog:","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.5_1776465284642_0.05495323851147238","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@ripplo/testing","version":"0.0.6","_id":"@ripplo/testing@0.0.6","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"6d550920360a0ce4121c5bd60d10d36bada517f4","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.6.tgz","fileCount":27,"integrity":"sha512-4Ygxf0l/arpaDHBWRMkLp6sjVyk5HoZsmcG3yGgagSDBGGcc770WmawDMtB58zzLhCOBRPoEGiV0/mInqB6lxA==","signatures":[{"sig":"MEUCIDY1R35B4xMvkLnx/1yuYLyH3zd9j7OXtC/us75Jzq5UAiEA6nHNEsPwwWKHISfrbkDkztR0urnAG8qugm0f3abcH1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84759},"type":"module","_from":"file:ripplo-testing-0.0.6.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/f952eb57d269d1e97431c3a2c364fd04/ripplo-testing-0.0.6.tgz","_integrity":"sha512-4Ygxf0l/arpaDHBWRMkLp6sjVyk5HoZsmcG3yGgagSDBGGcc770WmawDMtB58zzLhCOBRPoEGiV0/mInqB6lxA==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"catalog:","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.6_1776467743835_0.4562632913688778","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@ripplo/testing","version":"0.0.7","_id":"@ripplo/testing@0.0.7","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"3d527eb0723e8a8e984b201f65d25ffc86071538","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.7.tgz","fileCount":29,"integrity":"sha512-PHkpdUZd0MOHY/z6bPa8rNHka3egGQ0qeNo8C+FfcosNM4VvIPDXj1kUYHivTFuKncUri4PrpG2ilEuFMHljVw==","signatures":[{"sig":"MEUCIB+stp4tb5FiXR6rsVktvoXychdq0/6XKneHtMAXYBBfAiEArcoRTa4Z/TTt1U7gGhrNxiOYacyx43VcOjmgzhZ9fk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133133},"type":"module","_from":"file:ripplo-testing-0.0.7.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/5c8267511887791596cc1fcd19db4ef1/ripplo-testing-0.0.7.tgz","_integrity":"sha512-PHkpdUZd0MOHY/z6bPa8rNHka3egGQ0qeNo8C+FfcosNM4VvIPDXj1kUYHivTFuKncUri4PrpG2ilEuFMHljVw==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"catalog:","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.7_1776470101615_0.14424795289156633","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@ripplo/testing","version":"0.0.8","_id":"@ripplo/testing@0.0.8","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"a6cdd107e58b627f4d30e12aaa64b5a5845a1bb5","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.8.tgz","fileCount":29,"integrity":"sha512-QZwts8VgE7mlouk24X5EIdLWzT+bdKSHz9RlS9cWc9dGanUhsmHkojisHMDtTZVjPGkXOv5YAFINezgZWIvJhQ==","signatures":[{"sig":"MEQCIC/xlEA266DFhRsqJhTW0ZD6SFL/k423Gm02M+ZQ7TSBAiAgXqEa6FbvORgDJpkqCOPrFseOFv4LCbrv+GL6f9WsxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138112},"type":"module","_from":"file:ripplo-testing-0.0.8.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/0a939e8f44a236e518ee22e86fbcd495/ripplo-testing-0.0.8.tgz","_integrity":"sha512-QZwts8VgE7mlouk24X5EIdLWzT+bdKSHz9RlS9cWc9dGanUhsmHkojisHMDtTZVjPGkXOv5YAFINezgZWIvJhQ==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.8_1776472909161_0.2311055029228717","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@ripplo/testing","version":"0.0.9","_id":"@ripplo/testing@0.0.9","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"c6cbe2383df7012a265592a2609a510a9b54c0b3","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.9.tgz","fileCount":29,"integrity":"sha512-pBowWZYcwI8qxZfIULaBWkHepXXwksqN2j4SZsdHUOH7cd+WZz5HjEaygj0v3u7fs7Lz/bkBcSZv/daPQWh6ow==","signatures":[{"sig":"MEQCICqdi2ME1eqPrRwko9avnGb0wWrsm7IJu/GL7z3SzTJgAiBAfzuQf51j7dOroyrXdVtSbzG0itVJc19N2jzhuOr9kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134593},"type":"module","_from":"file:ripplo-testing-0.0.9.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/20829ecbc705de3b145b2a08d83a6b1f/ripplo-testing-0.0.9.tgz","_integrity":"sha512-pBowWZYcwI8qxZfIULaBWkHepXXwksqN2j4SZsdHUOH7cd+WZz5HjEaygj0v3u7fs7Lz/bkBcSZv/daPQWh6ow==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.9_1776516523225_0.5704252880798193","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@ripplo/testing","version":"0.0.10","_id":"@ripplo/testing@0.0.10","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"098c2e0ff52e9445629c7789d0ef52de076c6f01","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.10.tgz","fileCount":29,"integrity":"sha512-OLfZGYaASU+cO9maXP7+T7TX8EWc8vIIWV5EEeBRv8m4We3fcdbTdGnSOesiXXHLW/U74+er9r81tVeIUhee/A==","signatures":[{"sig":"MEQCIEzMGrkSqynHNw09JKKt/51HpOFSHJloBY3neHnbTzVjAiAWXJTxwg8NTVfLFjirgnCHGYAF5L00O8Dqzbv0BouLyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135482},"type":"module","_from":"file:ripplo-testing-0.0.10.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/5c71ff3ee4ae38328ccbcc7422593a5b/ripplo-testing-0.0.10.tgz","_integrity":"sha512-OLfZGYaASU+cO9maXP7+T7TX8EWc8vIIWV5EEeBRv8m4We3fcdbTdGnSOesiXXHLW/U74+er9r81tVeIUhee/A==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.10_1776553330316_0.8876425728709401","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@ripplo/testing","version":"0.0.11","_id":"@ripplo/testing@0.0.11","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"813fd8e26c4b7bc91a4e7e371608b90e67972af0","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.0.11.tgz","fileCount":29,"integrity":"sha512-l/MjKyf8DYnkmILSCR4S5HfmgrW05NmlGRYH9H2s9U0ohXJdXocvs25gTmfLoUDhPC4DV1HnOgu6MzIGCu2FJA==","signatures":[{"sig":"MEYCIQCZw5H5TiW7Sg+aHi9CCgnlcM1eJ2wXFciy1oXckvETuAIhAMNf7Q920eS9ZDoOu51XPlC0IXFbEDXZAPP94Mu+R+24","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135482},"type":"module","_from":"file:ripplo-testing-0.0.11.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/2d8778e008647102cd6315786bae5787/ripplo-testing-0.0.11.tgz","_integrity":"sha512-l/MjKyf8DYnkmILSCR4S5HfmgrW05NmlGRYH9H2s9U0ohXJdXocvs25gTmfLoUDhPC4DV1HnOgu6MzIGCu2FJA==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.0.11_1776601957015_0.47688362148794683","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@ripplo/testing","version":"0.1.0","_id":"@ripplo/testing@0.1.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"6fa64ca911ec43c24d7900aee9b20f9053a21076","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.1.0.tgz","fileCount":31,"integrity":"sha512-rehfErc3kM4XjOJoH36wP2cpALDy9QxADFI/VmJW2owXBOhETHlkaiRa3p242bWKZdlB13TZNcA0Ds1QkCe/1g==","signatures":[{"sig":"MEUCIFkOvoLLSfCJwgdF/QWINVFTEIJxDO92bhXwGIXy9zCQAiEA8ug45tqCv6WgYFEgYTIStM42UGjuTSp21r3FnSsiTgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155837},"type":"module","_from":"file:ripplo-testing-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/9cac532d950a51556fb9fd04e83d4fd6/ripplo-testing-0.1.0.tgz","_integrity":"sha512-rehfErc3kM4XjOJoH36wP2cpALDy9QxADFI/VmJW2owXBOhETHlkaiRa3p242bWKZdlB13TZNcA0Ds1QkCe/1g==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.1.0_1776613953176_0.14993650311176987","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ripplo/testing","version":"0.1.1","_id":"@ripplo/testing@0.1.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"204e99182de5154b4009a5f47fe0404fa321b849","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.1.1.tgz","fileCount":31,"integrity":"sha512-0GEI32p8WCT47+N9SJGU5Z25po0Nn6V+KHI3ABl7AquSQVBE//89zzk1MoLSznm5Y5d73xz5jFl6PC6jYAQq7w==","signatures":[{"sig":"MEUCIQDJKjsOcBB21IbnpSeNILVPFBOiqnXeqCazma/zu11JTAIgPtzNPBiW6qdrAkUVlCPceODV1uRODBzmhSyCfJDyrQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156198},"type":"module","_from":"file:ripplo-testing-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/6450819b0808a8c82ab7181a22b997a3/ripplo-testing-0.1.1.tgz","_integrity":"sha512-0GEI32p8WCT47+N9SJGU5Z25po0Nn6V+KHI3ABl7AquSQVBE//89zzk1MoLSznm5Y5d73xz5jFl6PC6jYAQq7w==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.1.1_1776641528763_0.7600899906076695","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ripplo/testing","version":"0.2.0","_id":"@ripplo/testing@0.2.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"9ab0156e9d1c920beb273fcea3f5e3d7deabaea2","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.2.0.tgz","fileCount":32,"integrity":"sha512-L4cY+HClNzi+h1ZtgDIOihthruQAPmZa1SN5H61WhD2CLh4dRbT0RiHhp+KH5NuZqANza7FuVp5AtUsY7bQeeA==","signatures":[{"sig":"MEUCIDiDaOwYqmqszDG/1/gVdLPD4zTIRZzKEy+gsY97rHsnAiEAxCj4FedCPj9x2LAtb69rxckQQJveQF7zrJjGHchthjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160531},"type":"module","_from":"file:ripplo-testing-0.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/6619db5910fe7ebf61e2eb105fde2d82/ripplo-testing-0.2.0.tgz","_integrity":"sha512-L4cY+HClNzi+h1ZtgDIOihthruQAPmZa1SN5H61WhD2CLh4dRbT0RiHhp+KH5NuZqANza7FuVp5AtUsY7bQeeA==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.2.0_1776647103207_0.7537150976933027","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ripplo/testing","version":"0.3.0","_id":"@ripplo/testing@0.3.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"2d967c10740885f195b4dd941263982c23ab70fe","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.0.tgz","fileCount":32,"integrity":"sha512-Yrxvq2+cY6mlRQnWzPpP6AeUI9UKz1yUSUpRtPBZKIO2/kIKeMQiiaPMOvkJcI0S1kjzMksM2QEJxl5PRmfZSQ==","signatures":[{"sig":"MEQCIGD4yCTRVTuWUIz71NLGnijVP7Xn/PNcJW4+Wj0BPiSDAiA58EcqqicPmfzeBCadK7IPMq7bKxeDaSd3GUl1JsLEzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161441},"type":"module","_from":"file:ripplo-testing-0.3.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/cc9e209ee3a7959178077f416d4f02cd/ripplo-testing-0.3.0.tgz","_integrity":"sha512-Yrxvq2+cY6mlRQnWzPpP6AeUI9UKz1yUSUpRtPBZKIO2/kIKeMQiiaPMOvkJcI0S1kjzMksM2QEJxl5PRmfZSQ==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.0_1776650317570_0.7035348881605386","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@ripplo/testing","version":"0.3.1","_id":"@ripplo/testing@0.3.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"99ff00de76a215e92e83a860e4d9c12bd4e962b5","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.1.tgz","fileCount":32,"integrity":"sha512-BCTdT1XxIOVwubIKOJSEWNk7riTRt37IDziztTLM5wCpr1IAlkaxH4dqYtCJ0zpG0Bd2ArV44gU+Ma1DPlfkmQ==","signatures":[{"sig":"MEYCIQDkn7OhXgciaj2xI1rh4uGfbY/oPNxrGt1pzCUwgePZJAIhAN+CDckW9CdWespQEQXByeW+HjBy59DD9vDdg0EO3Vo0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161490},"type":"module","_from":"file:ripplo-testing-0.3.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/5c051f31218693788d6c2fbae951590a/ripplo-testing-0.3.1.tgz","_integrity":"sha512-BCTdT1XxIOVwubIKOJSEWNk7riTRt37IDziztTLM5wCpr1IAlkaxH4dqYtCJ0zpG0Bd2ArV44gU+Ma1DPlfkmQ==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.1_1776651279230_0.26787631625643527","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@ripplo/testing","version":"0.3.2","_id":"@ripplo/testing@0.3.2","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"eda585da7d54961750a2d72842f0ffd8b9a6eced","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.2.tgz","fileCount":32,"integrity":"sha512-n6XqOAoRYERjsWcqxagX5Z8t2T1sBsEz7oN+pBlSzcA8Ajw348/x67RgOzsgw/5d8CyBfvEESV7GR67nSGtzkw==","signatures":[{"sig":"MEUCIQDNUCcAKAxmhqvGbovEFGtgo4GcmUV09XKPqW3BhT794QIgF/Sem/KI9TScgMaVB5FE6wO6e2wjUDKyXtzGJAOHW8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161490},"type":"module","_from":"file:ripplo-testing-0.3.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/ee514412f5a41da1214567667a49027e/ripplo-testing-0.3.2.tgz","_integrity":"sha512-n6XqOAoRYERjsWcqxagX5Z8t2T1sBsEz7oN+pBlSzcA8Ajw348/x67RgOzsgw/5d8CyBfvEESV7GR67nSGtzkw==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.2_1776655484950_0.4512899253190825","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@ripplo/testing","version":"0.3.3","_id":"@ripplo/testing@0.3.3","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"9b72fe723888642afb61a0a6d45d98760acb3edd","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.3.tgz","fileCount":32,"integrity":"sha512-GrnManHvQdI6Y5whDduougzlAGjqIhiEFES6ZT6VE1BAkG6QAWenpw5fDgi0LkebQAxKH+9A46ZJjCGxsTAr9Q==","signatures":[{"sig":"MEUCIGdMFtrFSYZvNKB03jEUlVYlZOTIRSXMgPn+wXtXuAv3AiEA8ddL2vmWff4YgOHzTrAZnIWYYKyYDxOibGrfvfTMOpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165269},"type":"module","_from":"file:ripplo-testing-0.3.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/506b70134ddfbd4a54f5d60e202d7a98/ripplo-testing-0.3.3.tgz","_integrity":"sha512-GrnManHvQdI6Y5whDduougzlAGjqIhiEFES6ZT6VE1BAkG6QAWenpw5fDgi0LkebQAxKH+9A46ZJjCGxsTAr9Q==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.3_1776681751226_0.2571031424825623","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@ripplo/testing","version":"0.3.4","_id":"@ripplo/testing@0.3.4","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"d157fc02f06f30dc92756318c0b1b71489f1ee21","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.4.tgz","fileCount":32,"integrity":"sha512-bqZPkFyqGF1eVKKmynvjKNJWDweWuMJXMr0+JmLh/LdeeRGuJzKh0uqqH40etTYx+B6rxEaEosnjLqBbRqSS/w==","signatures":[{"sig":"MEQCIBdOQBBxe/B0eF30GwCDh2OUWhsed+6yIMEGWug80aZwAiBmKMUYOvfHq16Pf0/yIFypBn6d7nFRAek2U1l1v7is/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165947},"type":"module","_from":"file:ripplo-testing-0.3.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/aa67aab831122fea9b9d295f5cf40593/ripplo-testing-0.3.4.tgz","_integrity":"sha512-bqZPkFyqGF1eVKKmynvjKNJWDweWuMJXMr0+JmLh/LdeeRGuJzKh0uqqH40etTYx+B6rxEaEosnjLqBbRqSS/w==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.4_1776737678900_0.3701382721082431","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@ripplo/testing","version":"0.3.5","_id":"@ripplo/testing@0.3.5","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"e3acae88145cd115a2aa07fae001b5ba91659083","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.5.tgz","fileCount":32,"integrity":"sha512-fyKMkSyAPmFwxDU4Cne2YKhfhWoXS6qRN52VcTC66A6qr/oamKcBJFe+q+nck4fxOccK/DZDqETLQ162PK4lvw==","signatures":[{"sig":"MEQCIADnbTUlBJzD1Lz9JN4UpgRWNsoHRNSiPuEdIaLCzw5kAiBUwi8DpI2qkMxpsuZ4g3IUjSjqzbViVizEBCpA6EvG5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166013},"type":"module","_from":"file:ripplo-testing-0.3.5.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/8a5b158e17b93770ecab89c2bd836f2d/ripplo-testing-0.3.5.tgz","_integrity":"sha512-fyKMkSyAPmFwxDU4Cne2YKhfhWoXS6qRN52VcTC66A6qr/oamKcBJFe+q+nck4fxOccK/DZDqETLQ162PK4lvw==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","typescript":"catalog:","@types/node":"catalog:","@ripplo/spec":"^0.0.0","@types/express":"^5.0.2","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"dotenv":"^16.0.0 || ^17.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0"},"peerDependenciesMeta":{"dotenv":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.5_1776739096614_0.7045795222435332","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@ripplo/testing","version":"0.3.6","_id":"@ripplo/testing@0.3.6","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"3e81d8e09631dcf76fa7a7db770b96c738468485","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.6.tgz","fileCount":41,"integrity":"sha512-YQEXQ+ioBIu4J0ViWeR5eijvRazT+mjCHD+8gVJt0tLXYXu3HRVQYceqzp0cBkN3f4wlvOUNqQiRXrZPyH3kVg==","signatures":[{"sig":"MEUCIQCmR1QUDGe3RZRiBUpdHbLb5kjbZSxmxRK//8qH8qde8QIgOgy3S9jwNXOpBlNBJp8ZJlrwOzAOufxdXCPaKRQYAaE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189148},"type":"module","_from":"file:ripplo-testing-0.3.6.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/df49be2c678c382f4ed8831cb8085027/ripplo-testing-0.3.6.tgz","_integrity":"sha512-YQEXQ+ioBIu4J0ViWeR5eijvRazT+mjCHD+8gVJt0tLXYXu3HRVQYceqzp0cBkN3f4wlvOUNqQiRXrZPyH3kVg==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.6_1776807067526_0.9067839321034665","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@ripplo/testing","version":"0.3.7","_id":"@ripplo/testing@0.3.7","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"f8f5efdf315248fbc6553d2b94351c0af5c8b260","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.7.tgz","fileCount":41,"integrity":"sha512-CT1aPi1afOO7Hut8OZeFxejO+D0wRobW8HDfaRLSQ7B6TgoqaJ3TCEWqWFxcBsIRCT9Ivpc0v5C0S+zwt6ARHg==","signatures":[{"sig":"MEUCIQCwASJJZkv9oDvCPo4trWxoi+8ipKxUTLGC84fuvoF3AwIgIWRuyBnXd6G7fdVn4KBrpRdhznSNln9L4HtIL0VXV4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189148},"type":"module","_from":"file:ripplo-testing-0.3.7.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/c600bf65700ebda68b5561294138d78b/ripplo-testing-0.3.7.tgz","_integrity":"sha512-CT1aPi1afOO7Hut8OZeFxejO+D0wRobW8HDfaRLSQ7B6TgoqaJ3TCEWqWFxcBsIRCT9Ivpc0v5C0S+zwt6ARHg==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.7_1776829418876_0.6940546868058504","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@ripplo/testing","version":"0.3.8","_id":"@ripplo/testing@0.3.8","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"e5f45a886f250e9ac49a5611af53f7dc1345fff7","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.8.tgz","fileCount":41,"integrity":"sha512-HuegIFOqv5AwGC3XGYwKLqKqL4EkjDqPjV7gwdI1psQiosA7g5HXITxsqiUFMZiIJV70WpdQASjakOPe51ygAw==","signatures":[{"sig":"MEUCID87o6p0ixmWr2KoX10CH6QlvWGrfNXPkr6dULPK77ARAiEAq4sBwdKrQ4lJ6rlYmHRq0ISVZ6eOmJ6eWatncvhPkqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190197},"type":"module","_from":"file:ripplo-testing-0.3.8.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/ec2ce9fedbec4dfcec4a020550fbeb36/ripplo-testing-0.3.8.tgz","_integrity":"sha512-HuegIFOqv5AwGC3XGYwKLqKqL4EkjDqPjV7gwdI1psQiosA7g5HXITxsqiUFMZiIJV70WpdQASjakOPe51ygAw==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.8_1776908158626_0.016055319682896307","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@ripplo/testing","version":"0.3.9","_id":"@ripplo/testing@0.3.9","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"7ce7ba5efa6d8bca397f569ef85e45cb3973e33a","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.9.tgz","fileCount":41,"integrity":"sha512-nuPPH4qlArqpP08C1IbIEZx/HktLG0B/mgaq8RxXz2dBfEFhOnwHa+YRW6LW+yAZtIT6bq0gpwOJ8Z/4y3qPLw==","signatures":[{"sig":"MEUCIQC7SsYedlnC4cVMUuc7c1koTHCw4vZgpuAk4/SnDvglAAIgR75o9TCShdAx+Z9V9WusMFEh8PuKldqhQZIFIlIW25I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190437},"type":"module","_from":"file:ripplo-testing-0.3.9.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/96ddbd9eeac1a92c746ab702078b3db6/ripplo-testing-0.3.9.tgz","_integrity":"sha512-nuPPH4qlArqpP08C1IbIEZx/HktLG0B/mgaq8RxXz2dBfEFhOnwHa+YRW6LW+yAZtIT6bq0gpwOJ8Z/4y3qPLw==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.9_1777029959021_0.10870993929721684","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"@ripplo/testing","version":"0.3.10","_id":"@ripplo/testing@0.3.10","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"9215b1a919f3564a6b0bcb1527229c3fec7aa7ab","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.3.10.tgz","fileCount":41,"integrity":"sha512-zIAM9v/PHpxkMx30PRHZBVhjgLkYu1akHUWRh0c5MGsX1UPSOQGDabgqeDWKYU1ZVUkg0bXhNgV5i0DQ/4iEEQ==","signatures":[{"sig":"MEYCIQCZ58E0f8/hWgb35mHUpfCOXR6Yr7SIw1mDkJA6H5Y73gIhAJ3IIHkOj8N0hmWhC0s2egC4QmCnIbLK+vCyJSokk1VK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195827},"type":"module","_from":"file:ripplo-testing-0.3.10.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/0e859d86200ca2e7412d252432a4c08c/ripplo-testing-0.3.10.tgz","_integrity":"sha512-zIAM9v/PHpxkMx30PRHZBVhjgLkYu1akHUWRh0c5MGsX1UPSOQGDabgqeDWKYU1ZVUkg0bXhNgV5i0DQ/4iEEQ==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.3.10_1777033808482_0.691369928924892","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ripplo/testing","version":"0.4.0","_id":"@ripplo/testing@0.4.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"36f32075b8ef1dcba63c4576b57e6a13e5066744","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.0.tgz","fileCount":41,"integrity":"sha512-k+YjArQfKRKQiy+LnNwWRFYc+AHMTVuN1nAOAQZnjhDyC2nkw1WxFUY3euoxFkbLFNTcWmX48IQb9LZr0uy/Jw==","signatures":[{"sig":"MEQCICWeV0PIVNbniynS8cU4ycqpVTECB+PSdywO9H9hw+Q1AiBciCCmURdNjm2IdHlX6cLK1YDHIkFd93IdSCdQpivoog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184790},"type":"module","_from":"file:ripplo-testing-0.4.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/010d0dbffadaf106a3bd64196b81e487/ripplo-testing-0.4.0.tgz","_integrity":"sha512-k+YjArQfKRKQiy+LnNwWRFYc+AHMTVuN1nAOAQZnjhDyC2nkw1WxFUY3euoxFkbLFNTcWmX48IQb9LZr0uy/Jw==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.0_1777167817618_0.7024958652313644","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@ripplo/testing","version":"0.4.1","_id":"@ripplo/testing@0.4.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"e098ff41a10534972d21eb41f8e43ce240195cc8","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.1.tgz","fileCount":41,"integrity":"sha512-qDy/JY8gm51/66cKSC2hte/aYqWXjyy+5v3ofiyUSPuD2mAtld23w9x926gFWU90fXDF7CQ/sYPKG7DnB5WpOg==","signatures":[{"sig":"MEQCIBvx0gH7+WAPAIn5IShC4M9kcSEHAXxLO1X0AzaBZ77cAiAU1mJPMWdo/AGP+r6Xr9w58DZ1ic3Yp/eCSh7uSgiVww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184790},"type":"module","_from":"file:ripplo-testing-0.4.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/ae409477b4f6fc985d9633648e43efd0/ripplo-testing-0.4.1.tgz","_integrity":"sha512-qDy/JY8gm51/66cKSC2hte/aYqWXjyy+5v3ofiyUSPuD2mAtld23w9x926gFWU90fXDF7CQ/sYPKG7DnB5WpOg==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.1_1777169553582_0.6902873914542402","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@ripplo/testing","version":"0.4.2","_id":"@ripplo/testing@0.4.2","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"ffb9fae67b303d5cf4a590f17f515f821668586e","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.2.tgz","fileCount":41,"integrity":"sha512-PcQsgphOh5rlJF3fJbkaEkaeXada7xUWQt0D6cSeXyXMxQ2DpipuffPzY8tvMb9PV9LSkEROh1S4ePEzDXV16A==","signatures":[{"sig":"MEYCIQCVvX/NAMXY8Ep08Q/nL8kmdNBv4eTFN5cqngUDdCmi1gIhAODVz9irreBK0woP0U/4CUgr1VatFrTwNe/nJo10UxGZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184803},"type":"module","_from":"file:ripplo-testing-0.4.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/915d3292a572f08e9409a645cd427025/ripplo-testing-0.4.2.tgz","_integrity":"sha512-PcQsgphOh5rlJF3fJbkaEkaeXada7xUWQt0D6cSeXyXMxQ2DpipuffPzY8tvMb9PV9LSkEROh1S4ePEzDXV16A==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.2_1777173050186_0.6854750863909442","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@ripplo/testing","version":"0.4.3","_id":"@ripplo/testing@0.4.3","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"cf387fbae1a41f91e92fc6497512510736e82701","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.3.tgz","fileCount":41,"integrity":"sha512-KbfZbsu16hmn1QAxcVOJF37GddHBQquLErvPD7jfSYwvtKx6uA+j/HQd2kLOF6BpG83yCOP0BDDw721jBTVCVg==","signatures":[{"sig":"MEYCIQDTaLsu+1vBkw21zXdcPfY+TezQEpD1Gx4A51hln3H7oAIhAMp3pu/bT4AAOBDhu7ixd1nubbt5+5Hf5Q72R7Swqe2B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188126},"type":"module","_from":"file:ripplo-testing-0.4.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/b6eefd63509039f90dddf2daae5562b8/ripplo-testing-0.4.3.tgz","_integrity":"sha512-KbfZbsu16hmn1QAxcVOJF37GddHBQquLErvPD7jfSYwvtKx6uA+j/HQd2kLOF6BpG83yCOP0BDDw721jBTVCVg==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.3_1777218126634_0.3161719826879661","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@ripplo/testing","version":"0.4.4","_id":"@ripplo/testing@0.4.4","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"aa6f83765cb34b741b124c36198433c5f678d7ed","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.4.tgz","fileCount":41,"integrity":"sha512-VPBXNKrijYw7ApD/y5a885E35dPKE+1iBNG4vl6jyJvHM3yW3+spr2rG9DP5j4THXNOsh+ay2xbM7bfPuuYSZg==","signatures":[{"sig":"MEUCIQD1yL8/VT7S93wtrq2fYw2X/09nB07sQWS1ecruRjoH5wIgYzgRNJZ4Dkpf/KRxB+HVQ7LEJfEmY6hWugVu8Y+lZpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188126},"type":"module","_from":"file:ripplo-testing-0.4.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/e0963026c8181d892441ef10c567984b/ripplo-testing-0.4.4.tgz","_integrity":"sha512-VPBXNKrijYw7ApD/y5a885E35dPKE+1iBNG4vl6jyJvHM3yW3+spr2rG9DP5j4THXNOsh+ay2xbM7bfPuuYSZg==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.4_1777436159232_0.22461709138328967","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@ripplo/testing","version":"0.4.5","_id":"@ripplo/testing@0.4.5","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"020ec1c4bfcd1c1d347d43ad436b98b71b1a6d86","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.5.tgz","fileCount":41,"integrity":"sha512-FAXGHTcEjg9qyLcD8fizbcgL4xJ2f4VBRkb9bR+MYT1sHOXW2ihSYZVkBbGxpeSvq7bnVCpMTiZOqmQUd27Ixg==","signatures":[{"sig":"MEUCIQCpQdjZ2+wGWtoQevKN7P1VKaegmwdHOuFTyuhAgzaY0AIgbREUOSHmK4R4HG4s362HPCrTTDWkLPpGKDuH0I8AMlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189068},"type":"module","_from":"file:ripplo-testing-0.4.5.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/e97ea14e30a7ba19778fba47ebe10b38/ripplo-testing-0.4.5.tgz","_integrity":"sha512-FAXGHTcEjg9qyLcD8fizbcgL4xJ2f4VBRkb9bR+MYT1sHOXW2ihSYZVkBbGxpeSvq7bnVCpMTiZOqmQUd27Ixg==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.5_1778169199103_0.6328124126331636","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@ripplo/testing","version":"0.4.6","_id":"@ripplo/testing@0.4.6","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"cd0c4ec0462f0412a04548ac27fdd05f49bf5927","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.6.tgz","fileCount":41,"integrity":"sha512-tx8iB3nJ3ja+UyEeWhStltxjFK+9eqJbi7OgIk5Q1K5HE66IQP2YWeBikvFbgHqR9A0ntJvKBJdwSVMXHCgbcA==","signatures":[{"sig":"MEQCIBe0nRMg0dRvJ24kXIpV8CfIzl4VFY/hhHQD/rB9yELcAiBLtXfwqfsJ4Ylr05QQKYpVHGkpUZGgr1Yg6Lo40zmUfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189104},"type":"module","_from":"file:ripplo-testing-0.4.6.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/00701f403f593f5465dc1c5e97d12038/ripplo-testing-0.4.6.tgz","_integrity":"sha512-tx8iB3nJ3ja+UyEeWhStltxjFK+9eqJbi7OgIk5Q1K5HE66IQP2YWeBikvFbgHqR9A0ntJvKBJdwSVMXHCgbcA==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.6_1778191637995_0.98476830969195","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@ripplo/testing","version":"0.4.7","_id":"@ripplo/testing@0.4.7","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"762d764b0cb3bcb34c3b8b5b0226094b2e429d46","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.7.tgz","fileCount":41,"integrity":"sha512-QaX3y4SEDR2nZdbsBihtFyELQydolvVqhmAvXh1ED+/KyJ0r7TL58sMObNgQw7WKAvLtLLF1otA5+1aS0kjrHA==","signatures":[{"sig":"MEQCIBPquKn5CCBXP6l/wOo8mv+QL51YPUjxD9nvJmI27xoEAiAh9W2XDtSioKd8uMqO21k7WQZqaurKvdz1DPyw7XPZ3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189104},"type":"module","_from":"file:ripplo-testing-0.4.7.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/157b9c490850b97f670e6d7b2718f33a/ripplo-testing-0.4.7.tgz","_integrity":"sha512-QaX3y4SEDR2nZdbsBihtFyELQydolvVqhmAvXh1ED+/KyJ0r7TL58sMObNgQw7WKAvLtLLF1otA5+1aS0kjrHA==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.7_1778270165983_0.2373310063414784","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@ripplo/testing","version":"0.4.8","_id":"@ripplo/testing@0.4.8","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"d90543baa079de6a1114ebd4c678f7d8d8b8b30c","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.4.8.tgz","fileCount":41,"integrity":"sha512-rWpihw8oN0GkJ16CZEMwo5A0PMeskGs5ze47ZYcMMXbBeGOx3cqIpqdhl65ytRc1YFNteUeqnvLq9Lgmw95DXA==","signatures":[{"sig":"MEUCIDpEHGhJ/uN+XYJId9JDhF0zrAwXkRFX5ZPTqniXXX6vAiEA0HogU6uAGsPnWnvrQXDawAJoKYd11ys3KWxeJEANmGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194908},"type":"module","_from":"file:ripplo-testing-0.4.8.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/61ac89e6ed7dd641f08d33042db4a7e5/ripplo-testing-0.4.8.tgz","_integrity":"sha512-rWpihw8oN0GkJ16CZEMwo5A0PMeskGs5ze47ZYcMMXbBeGOx3cqIpqdhl65ytRc1YFNteUeqnvLq9Lgmw95DXA==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.8_1778276038662_0.21308427529577623","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@ripplo/testing","version":"0.5.0","_id":"@ripplo/testing@0.5.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"cfa293cbf85d3f0303dffc3c110f9f3ca7d40eaf","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.5.0.tgz","fileCount":41,"integrity":"sha512-F16fzTsn38+fE5nFkJEB7AMzOyDokt2PlPG5zWOvbLFjAbsuGER4qsiPolQ8Xmar4RY7tWhnE/U0LFwnY8o5qg==","signatures":[{"sig":"MEYCIQD6pG6bOQ2c7L0Y0w9xRizyH7zWQmDj6Bei7rpvcxMxiAIhAKYcR0zhxNd+5tHKd6QkZvf0ZtRMjB7cjy6GpDA4Wz41","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201318},"type":"module","_from":"file:ripplo-testing-0.5.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/72b0175c802b282f3222a639b6cbdcd5/ripplo-testing-0.5.0.tgz","_integrity":"sha512-F16fzTsn38+fE5nFkJEB7AMzOyDokt2PlPG5zWOvbLFjAbsuGER4qsiPolQ8Xmar4RY7tWhnE/U0LFwnY8o5qg==","_npmVersion":"10.9.0","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.0_1778363711534_0.2486813190617656","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@ripplo/testing","version":"0.5.1","_id":"@ripplo/testing@0.5.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"251b5a5f4ef00deb61e63b64d21010fa9be1b778","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.5.1.tgz","fileCount":41,"integrity":"sha512-/VDlYEHNDu8pvLdciMc5Y27c42k9ogw+imhKROo7sX+I0hp6B2QUAuNoxhqXKB+5SYQ82lFHSGZlmNqOXeXuUQ==","signatures":[{"sig":"MEYCIQDSB3t+SEje9Nj+15xsDitq5XDnxxs0UCpnDklBU+F7+wIhAPP4JqHnDN4syDHjXrYmMn5crjHPSZFBAVcPpig/qYf/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201767},"type":"module","_from":"file:ripplo-testing-0.5.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/a5936de5935847acc2a92c01dbaded98/ripplo-testing-0.5.1.tgz","_integrity":"sha512-/VDlYEHNDu8pvLdciMc5Y27c42k9ogw+imhKROo7sX+I0hp6B2QUAuNoxhqXKB+5SYQ82lFHSGZlmNqOXeXuUQ==","_npmVersion":"10.9.2","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.13.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.1_1778427954212_0.5157539302583121","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@ripplo/testing","version":"0.5.2","_id":"@ripplo/testing@0.5.2","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"f8cc8ae56df306f9721b544d35893d209705c1a7","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.5.2.tgz","fileCount":41,"integrity":"sha512-vpwqkw+ESKN+fzukDLmEVv3w1CfkaL41gakTLY0Hrt1nMS4tSwAzXFS59YvJJdH/KUzY/zJOEgm4vWTmRf6jow==","signatures":[{"sig":"MEUCIQDsDvZFAuS+c0FaVZy+EBFRRmZMCLFBl6Unli6KhhXmVwIgYcyZmrGuanBKnUHO3L2+BKCM5LtPId02a6hOTbivu4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199950},"type":"module","_from":"file:ripplo-testing-0.5.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/858723113f12a1f43e3a05c7f7015583/ripplo-testing-0.5.2.tgz","_integrity":"sha512-vpwqkw+ESKN+fzukDLmEVv3w1CfkaL41gakTLY0Hrt1nMS4tSwAzXFS59YvJJdH/KUzY/zJOEgm4vWTmRf6jow==","_npmVersion":"10.9.2","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.13.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.2_1778429265631_0.25900398978359496","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@ripplo/testing","version":"0.5.3","_id":"@ripplo/testing@0.5.3","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"777b4b53e2b1d08e2744f50b23a89595fd3c2ed5","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.5.3.tgz","fileCount":41,"integrity":"sha512-/J2IVUHlzplpF29aMjdqmUAWcdCi8/1SdZmo5o83fdBJWyAyvk8wq2rVIzfayyT5RmPuY8D4IpQxM7rkJJ2GxQ==","signatures":[{"sig":"MEQCIBQTgDiWE2lvP4Y9684VSwYFAHTCTjAk3cY5uCIjgqVCAiBz3feP+LdV1NPXNTEK12baoBOLtj5JZeG0HTBgVfxbpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201248},"type":"module","_from":"file:ripplo-testing-0.5.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/4bd9e77b689687935a3a157f8a291d7c/ripplo-testing-0.5.3.tgz","_integrity":"sha512-/J2IVUHlzplpF29aMjdqmUAWcdCi8/1SdZmo5o83fdBJWyAyvk8wq2rVIzfayyT5RmPuY8D4IpQxM7rkJJ2GxQ==","_npmVersion":"10.9.2","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"22.13.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.3_1778466085249_0.22696145262008693","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@ripplo/testing","version":"0.5.4","_id":"@ripplo/testing@0.5.4","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"de04f376a14e3f740a2eaf5b5dd7909d1d54d244","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.5.4.tgz","fileCount":41,"integrity":"sha512-ZeZkMCI1kUyOEyXC+MIHF2x6gN3tfIXNzy7ddHMziFv2UsVv83q77dcgM6fmU5CwdbWrvn+MRjZ1klHH6hSKyw==","signatures":[{"sig":"MEQCIGPPaApenUv86M5coGJPwwSExlUXpXqVafy/pm1sJcryAiAKQQTeDZmj+YiDvZHpTtNBbnbk8ZRMSjuTk0W3RRaZXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202019},"type":"module","_from":"file:ripplo-testing-0.5.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/bc0cace0a3f32e3da3a8fc50baead939/ripplo-testing-0.5.4.tgz","_integrity":"sha512-ZeZkMCI1kUyOEyXC+MIHF2x6gN3tfIXNzy7ddHMziFv2UsVv83q77dcgM6fmU5CwdbWrvn+MRjZ1klHH6hSKyw==","_npmVersion":"11.12.1","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.4_1778512968522_0.2932324993688491","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@ripplo/testing","version":"0.5.5","_id":"@ripplo/testing@0.5.5","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"0c4f9a84321e0d3c6809fec4cf719d72ecdd4921","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.5.5.tgz","fileCount":41,"integrity":"sha512-iNJmwZ1046GNy6k3IhujBHTFQ/EHXv/yEMzDl9VckwoFJ1llAyPY1o6J0A0Lr9bOMNESGvBWwB2Xxust0GZYCg==","signatures":[{"sig":"MEQCID9yTwZhPOL7hcvMJ0ihHgGWt6QmnaYymNcaVzb3y486AiAi+Z7d/thDf1JrW1mTboen116scO7w7zZWVBW5Gb1kRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202019},"type":"module","_from":"file:ripplo-testing-0.5.5.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/56fa19e1df95d59ae0de6d72064bea0f/ripplo-testing-0.5.5.tgz","_integrity":"sha512-iNJmwZ1046GNy6k3IhujBHTFQ/EHXv/yEMzDl9VckwoFJ1llAyPY1o6J0A0Lr9bOMNESGvBWwB2Xxust0GZYCg==","_npmVersion":"11.12.1","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.5_1778525605196_0.24026479175230664","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@ripplo/testing","version":"0.5.6","_id":"@ripplo/testing@0.5.6","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"e038a8d0cd24f1391ca35e6fcbd2b36f3e253559","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.5.6.tgz","fileCount":41,"integrity":"sha512-+k/sevK76jlop8ugx6ZSffsjO2uRPCmlzJI4RJ9ko0iBmn06EMvufkVzU0iQ78RDH/3jnYBFwYN7HYS31//LgQ==","signatures":[{"sig":"MEUCIQDEVPmozv6AIPsjFXuk4c3EqdyijbKbhR5fx8UN27IPagIgBLqQiYmdoOZuPDcHtY+mWeSyl2s5HiIlkoQ8FvwN7A4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202771},"type":"module","_from":"file:ripplo-testing-0.5.6.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/2be397c4803e1c1a946e9365b49e7f09/ripplo-testing-0.5.6.tgz","_integrity":"sha512-+k/sevK76jlop8ugx6ZSffsjO2uRPCmlzJI4RJ9ko0iBmn06EMvufkVzU0iQ78RDH/3jnYBFwYN7HYS31//LgQ==","_npmVersion":"11.12.1","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.6_1778533986463_0.7567102015319087","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@ripplo/testing","version":"0.6.0","_id":"@ripplo/testing@0.6.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"09c6a7409eed8e571fa21be9fbd9f68bd9ea70fb","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.6.0.tgz","fileCount":41,"integrity":"sha512-KQOoYCELmTbZrtIsXIZf+/BD+coPY8/OmbdBBcyEYRTkAR9+EedfZL+726T+zJV0NC9lcmhp3h0VhRQSE4LA4Q==","signatures":[{"sig":"MEYCIQDVQYPFd1IIbEuSLEj/0U1KW5q5I/anqF1351NowSB9qgIhAMNz0bUgVGp1R6QamfuQ8pASbE4IyONSap9va0r5+VdV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198676},"type":"module","_from":"file:ripplo-testing-0.6.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/366d6943fc4621d488061f44977d4e70/ripplo-testing-0.6.0.tgz","_integrity":"sha512-KQOoYCELmTbZrtIsXIZf+/BD+coPY8/OmbdBBcyEYRTkAR9+EedfZL+726T+zJV0NC9lcmhp3h0VhRQSE4LA4Q==","_npmVersion":"11.12.1","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.6.0_1778615391510_0.3182615697821054","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@ripplo/testing","version":"0.6.1","_id":"@ripplo/testing@0.6.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"dist":{"shasum":"1f2bb13d32b9e7ec04c54544a5f06ed98c571fab","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.6.1.tgz","fileCount":41,"integrity":"sha512-R6NQ525nO8hCuqn/2nz5yAUe3bAUzvM/HjCu9UicWAeuz4/hjIp4sHBX8OKL1B7oRLNYByHFAjuAYYX+rlEY+A==","signatures":[{"sig":"MEUCIQDGxmqN4Eq5YU/8fmfGqtkcEzd8HfWQeAf434pqVP3rYwIgcd9JfO4kgc3Xhhp3ff9iF5l7TrBn0E906tpCyH8NJ7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198676},"type":"module","_from":"file:ripplo-testing-0.6.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./assert":{"types":"./dist/assert.d.ts","import":"./dist/assert.js","default":"./dist/assert.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js","default":"./dist/actions.js"},"./control":{"types":"./dist/control.d.ts","import":"./dist/control.js","default":"./dist/control.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./compiler":{"types":"./dist/compiler.d.ts","import":"./dist/compiler.js","default":"./dist/compiler.js"},"./locators":{"types":"./dist/locators.d.ts","import":"./dist/locators.js","default":"./dist/locators.js"},"./lockfile":{"types":"./dist/lockfile.d.ts","import":"./dist/lockfile.js","default":"./dist/lockfile.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/d5ec2ac55815bac52c8c0fd66b54896a/ripplo-testing-0.6.1.tgz","_integrity":"sha512-R6NQ525nO8hCuqn/2nz5yAUe3bAUzvM/HjCu9UicWAeuz4/hjIp4sHBX8OKL1B7oRLNYByHFAjuAYYX+rlEY+A==","_npmVersion":"11.12.1","description":"TypeScript DSL for defining and running Ripplo e2e workflow tests","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.0.0","rxjs":"^7.8.0","tsup":"^8.5.1","elysia":"^1.0.0","eslint":"catalog:","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.3.3","@types/koa":"^2.15.0","typescript":"catalog:","@types/node":"catalog:","@nestjs/core":"^10.0.0","@ripplo/spec":"^0.0.0","@nestjs/common":"^10.0.0","@types/express":"^5.0.2","reflect-metadata":"^0.2.0","@ripplo/eslint-config":"0.0.0"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","dotenv":"^16.0.0 || ^17.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"dotenv":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"@nestjs/core":{"optional":true},"@nestjs/common":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.6.1_1778765525952_0.2606737776464476","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@ripplo/testing","version":"0.7.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"a4cbdb2e811429cfb3b16dda81e09f9a886a3902","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.0.tgz","fileCount":9,"integrity":"sha512-pQUcOY8SB6/ySSX7ygpggrUPcwfc/0f0bEw1NmViIDbgq37ZHdR7BryTJpj8gAOWQUy6K40qyqyrgzflkou7tQ==","signatures":[{"sig":"MEQCIAp+RFEOs/cQrnEQ5dzIJ4zNQGhcDyftE6upg+GU8vT9AiAq6R+osnaiwUJXCTqo1aEP7khro0ONVE7nNIDxF69eRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147551},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/e65e49f571d1963541f4cadd8f2e2941/ripplo-testing-0.7.0.tgz","_integrity":"sha512-pQUcOY8SB6/ySSX7ygpggrUPcwfc/0f0bEw1NmViIDbgq37ZHdR7BryTJpj8gAOWQUy6K40qyqyrgzflkou7tQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.0_1781111223418_0.6729372278539083","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@ripplo/testing","version":"0.7.1","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"9cfdeeb3f38c5399b4ac39bc74326bb9cf742328","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.1.tgz","fileCount":9,"integrity":"sha512-6c3d4MQIEnvpTRbWit63WrzeqwZaH/b2/Ex6fOki+fXuuVp7MATxLKPO2yLlv8/sVwqsvqSX5WLiEhlXVVqMzg==","signatures":[{"sig":"MEUCIF3Kkc+ocj2kCa8in3jQQRe6KZuD1NHLZzJuCvFfjkOdAiEArPLqF7OkewkrhQyKE2nqEAIaKpCDhwSpAFX7Ul5BIzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148874},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/ca281ab3080391d4c2fbc42282672747/ripplo-testing-0.7.1.tgz","_integrity":"sha512-6c3d4MQIEnvpTRbWit63WrzeqwZaH/b2/Ex6fOki+fXuuVp7MATxLKPO2yLlv8/sVwqsvqSX5WLiEhlXVVqMzg==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.1_1781132334025_0.8515934633571731","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@ripplo/testing","version":"0.7.2","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.2","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"a5b5e6e4c003fe0bd08a337ef5768d2a9a0387b0","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.2.tgz","fileCount":9,"integrity":"sha512-QBXH+jIZmqHMTceyoKkSMmmp0JmYX2MWVkA94CEFX91iHTw+zXzPWHdYK9GM6QsgC61SgeJTc8jPHImwF0oJXw==","signatures":[{"sig":"MEYCIQCFzLJav/HOWdy04PSYky+02JwjwXzpoiIxbZKXnfi1EAIhAKl0f1OT0mYMPTmvpNjEIZsrHSRtPdTpq6rs9zrWymc3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148874},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/050ff0991ca86e11fec42aae56fa8c68/ripplo-testing-0.7.2.tgz","_integrity":"sha512-QBXH+jIZmqHMTceyoKkSMmmp0JmYX2MWVkA94CEFX91iHTw+zXzPWHdYK9GM6QsgC61SgeJTc8jPHImwF0oJXw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.2_1781135581380_0.5401070819732929","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@ripplo/testing","version":"0.7.3","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.3","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"c08689c87a40089c0b92bb55bc60ca127bc203c2","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.3.tgz","fileCount":9,"integrity":"sha512-28gobAdZud58DckDBnAHdFhxhKT7Pi0HJT3DYia2xLxeyk1IvaIaYJRlPUP/pGNMYYpAOCmGt8B648HZ/2fsmA==","signatures":[{"sig":"MEUCIBf83Z0ugLsda9YBECvvmmCv8baO/ApZzlB2is25sZQkAiEAinDYQ4X/rrXSE6j6j79qPLgoddh7siKrzszqXf2/VYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148874},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/1456e5928ad75cb467a504aefa5debca/ripplo-testing-0.7.3.tgz","_integrity":"sha512-28gobAdZud58DckDBnAHdFhxhKT7Pi0HJT3DYia2xLxeyk1IvaIaYJRlPUP/pGNMYYpAOCmGt8B648HZ/2fsmA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.3_1781148307356_0.32345401338459756","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@ripplo/testing","version":"0.7.4","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.4","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"1c0f0c5a950caec4a3f671aa743f1e3ef4e4ca6e","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.4.tgz","fileCount":9,"integrity":"sha512-C67sTu8JaQLQ4McvElWChiJJXWSSVOusg+mkGxU2X7OmZDBn4aFZC7nV5ZwTKYUo3juImp6UMZKD7hJpW7aIZg==","signatures":[{"sig":"MEYCIQD5QiruLOQTC7o4ImTHq0JHtOwAbxR2jY28SNTxXZ03ggIhALvaXeZSgKcSxSmJstVkhRS0r+q/L1lEOixD4NWnV/ap","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148874},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/5058f39460db9874091930d4bc3b02f7/ripplo-testing-0.7.4.tgz","_integrity":"sha512-C67sTu8JaQLQ4McvElWChiJJXWSSVOusg+mkGxU2X7OmZDBn4aFZC7nV5ZwTKYUo3juImp6UMZKD7hJpW7aIZg==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.4_1781161090089_0.826139063564818","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@ripplo/testing","version":"0.7.5","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.5","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"d0787e6b5087c4dc83a551a2cdc5c9b6fda70183","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.5.tgz","fileCount":9,"integrity":"sha512-rTeQXj1u1jMbB+Wdz8+HuoWYo0Dwq4dWH/H24HTNJ9cks01/hX3QInQ6KhAksArULADYKx/NQ9nfPnptrY+XUQ==","signatures":[{"sig":"MEUCIQDZK8C3QqqlmjaqAZwYI+zh+ciRsNO8LQz23vw8k94G2QIgSU8K5hgu+5GZCmRorqC/PQRQoN76OiZZXNQ8datU2pE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148874},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/0bf633567a6d8826da130c061049db22/ripplo-testing-0.7.5.tgz","_integrity":"sha512-rTeQXj1u1jMbB+Wdz8+HuoWYo0Dwq4dWH/H24HTNJ9cks01/hX3QInQ6KhAksArULADYKx/NQ9nfPnptrY+XUQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.5_1781204328206_0.03982866768326998","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@ripplo/testing","version":"0.7.6","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.6","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"62114e8f47dba9e0cc75fa52b264e96b9542660d","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.6.tgz","fileCount":9,"integrity":"sha512-A6G6k0SaB4NvpmAKEukFmBglJsIx24C5gtt+EzQ9FfhYfSkP3GkBEMWc62VmcP1XjDyKsOWD7ohOvKcUaTYgMQ==","signatures":[{"sig":"MEUCIQCoixfRoZiAh9RDWbAgCHsj2MWyORPiXbTQBG98TUr91AIgNG0GI9ihscp9N4gJpsMqjYUUcY41vPDwLKCdd+zDtsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148874},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/0ebc6823127a760075880ed3e457ecb3/ripplo-testing-0.7.6.tgz","_integrity":"sha512-A6G6k0SaB4NvpmAKEukFmBglJsIx24C5gtt+EzQ9FfhYfSkP3GkBEMWc62VmcP1XjDyKsOWD7ohOvKcUaTYgMQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.6_1781208191647_0.999147114385261","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@ripplo/testing","version":"0.7.7","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.7","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"26a1ed2f62c5c43132d3e45d6267b1df99bee850","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.7.tgz","fileCount":9,"integrity":"sha512-ANE1fAmfnslZ+dYCRYy+hRKmyGVfivwBI4uO6joQOKkHJ8iFFlHg2Lg/1gcfpLh28MXuQV0xVO4YNi1IqsRWMA==","signatures":[{"sig":"MEQCIEGSHZyy5cKgKDnZLTLzqHsYmW4RwcKOacMXmOyrHMa0AiB75yjms6FycZqqLw1tufRizSiEuDQMiPlG2sa/Y8yASQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148638},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/b20c97491bd1696bcfdb6bd88d96f8f6/ripplo-testing-0.7.7.tgz","_integrity":"sha512-ANE1fAmfnslZ+dYCRYy+hRKmyGVfivwBI4uO6joQOKkHJ8iFFlHg2Lg/1gcfpLh28MXuQV0xVO4YNi1IqsRWMA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.7_1781227003794_0.1471684485139242","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"@ripplo/testing","version":"0.7.8","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.8","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"ed2bd98496ad0cfb4c332c5fcc8ed249e5f9df39","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.8.tgz","fileCount":9,"integrity":"sha512-Gr6zJzydmv7AeWtra1C6qktUXMxOXPbADj/kmvx7krq0Oxd4C+WFeKgHbb7itHhS+iwjPy9GGynLPUXHX/qFtQ==","signatures":[{"sig":"MEUCIBJnuSKKNCLGwGo0scgr03KgoRgOFUUuuPG+iuWInlGrAiEAlqF0in2mbfQWF+YETjd6mK+wczsgJDhA/sBMZCQdHzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148638},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/04881c30f28ceb9e4e5b5913eee0e2ed/ripplo-testing-0.7.8.tgz","_integrity":"sha512-Gr6zJzydmv7AeWtra1C6qktUXMxOXPbADj/kmvx7krq0Oxd4C+WFeKgHbb7itHhS+iwjPy9GGynLPUXHX/qFtQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.8_1781232248008_0.9106617015045428","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"@ripplo/testing","version":"0.7.9","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.9","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"2f056df08a3f728fb8cfacee64f7151c58c7c526","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.9.tgz","fileCount":9,"integrity":"sha512-1trjKFOV+0lcanb32aTNwMVdUfzbmqJFQBXR7QvrnqDoD2dOzn3h7Dzq+8XQJkdhdP//WKGDQvx/nfTvARRfVA==","signatures":[{"sig":"MEUCIAShN50syHRNWkITKazFVStd9qMqC3ey2O1M3BSKm+cSAiEA9zE5UXndaAideonjup2yOUA24WcGZVZWcFAnztHKuus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148638},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/bd3be983bbcc30d95e3b40e99c228b15/ripplo-testing-0.7.9.tgz","_integrity":"sha512-1trjKFOV+0lcanb32aTNwMVdUfzbmqJFQBXR7QvrnqDoD2dOzn3h7Dzq+8XQJkdhdP//WKGDQvx/nfTvARRfVA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.9_1781278430322_0.38002394844759246","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"@ripplo/testing","version":"0.7.10","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.10","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"8be02d2f4aa14c908f8b4bd248d47cff0ea683b2","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.10.tgz","fileCount":9,"integrity":"sha512-iIFJHvbQl0HRXHIm7v0tFUTTgmjnxTRQ/sKTcn1TVqksul8pFELzi0F0sURcqEsxDMNZfCHO6Q21bMj1BxiV5g==","signatures":[{"sig":"MEQCIFyeADMmov4d7ezKIZ96ZT6nYCfaYt4W6I/k515YCUVZAiB94WM4pW+qQEoAi86glDtQJHAG5P2mTva0ApYPgT4FgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184448},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/88e5c4db74b01c269e16420ec501ca5a/ripplo-testing-0.7.10.tgz","_integrity":"sha512-iIFJHvbQl0HRXHIm7v0tFUTTgmjnxTRQ/sKTcn1TVqksul8pFELzi0F0sURcqEsxDMNZfCHO6Q21bMj1BxiV5g==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.10_1781306142812_0.5958623605425417","host":"s3://npm-registry-packages-npm-production"}},"0.7.11":{"name":"@ripplo/testing","version":"0.7.11","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.11","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"d0c1bd22477442c83320727cd9afd2d52db88b85","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.11.tgz","fileCount":9,"integrity":"sha512-UVtjycQu0fQBP0zXdYJv7WZjc2U2CUy8XKALcVWHP4jYTJo8Fcr+zDMQPthZOpFg/cVq7KgMgNWiT0Cvza6dTw==","signatures":[{"sig":"MEUCIGnVOmaJKLExVlSH76AhxT1p+SKlMrQ6ik9kB5hNFyWeAiEAxDG26t7uS+fsSZBhggKn/DS+F4Gql2xQb54aa+ZLUT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183870},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/3a977b92e841268bdc39426e770e5b0b/ripplo-testing-0.7.11.tgz","_integrity":"sha512-UVtjycQu0fQBP0zXdYJv7WZjc2U2CUy8XKALcVWHP4jYTJo8Fcr+zDMQPthZOpFg/cVq7KgMgNWiT0Cvza6dTw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.11_1781359329809_0.9296008238221263","host":"s3://npm-registry-packages-npm-production"}},"0.7.12":{"name":"@ripplo/testing","version":"0.7.12","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.12","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"7146d4d46d21fb93a87845e3e61d7b31a68440d5","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.12.tgz","fileCount":9,"integrity":"sha512-LlTq/2QMhbIrbH9U7j+HOhvRomQmKAMd2xjB2AJsNqvdLS2dKIMZK2/g940wuPEm7Qu5+ZfOBYs6EVij/aDL8A==","signatures":[{"sig":"MEUCIFzfwhExgiKiz2nf70zmNwQkCDwPX98p+rUjeYWsa/+uAiEA2haHsN1W11JuLLHRgwpneAEL8SnR+tPceJxjSlD4emM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183935},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.12.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/4ed375a99db4f9b29b8a54b6321316ce/ripplo-testing-0.7.12.tgz","_integrity":"sha512-LlTq/2QMhbIrbH9U7j+HOhvRomQmKAMd2xjB2AJsNqvdLS2dKIMZK2/g940wuPEm7Qu5+ZfOBYs6EVij/aDL8A==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.12_1781495358154_0.2373476231450995","host":"s3://npm-registry-packages-npm-production"}},"0.7.13":{"name":"@ripplo/testing","version":"0.7.13","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.13","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"416b2a7b5447e115d529efb81c50e73e0df6e5a4","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.13.tgz","fileCount":9,"integrity":"sha512-i7IiQkjVR0YciWd6p/dH2wA03C4F97fIS3ZaObmsPR8YJpf7CWZPDSiVMjPoPEOQjLeJ5cXlojri8mK7X7nsew==","signatures":[{"sig":"MEQCIACwVPvbBObY4qRMK4orXJ4ph2/075UbxQwaPk5MyOuJAiBb5zVzMdVigtqekLSOg2M90Kn0/AovBwDCPszLJ9zAVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186118},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.13.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/7c00f22fd1f7a435562aed04ac0f5f24/ripplo-testing-0.7.13.tgz","_integrity":"sha512-i7IiQkjVR0YciWd6p/dH2wA03C4F97fIS3ZaObmsPR8YJpf7CWZPDSiVMjPoPEOQjLeJ5cXlojri8mK7X7nsew==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.13_1781538094824_0.850173194902567","host":"s3://npm-registry-packages-npm-production"}},"0.7.14":{"name":"@ripplo/testing","version":"0.7.14","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.14","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"9b2069005b6e656a25a78ce7119b9bfe3eeb1bee","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.14.tgz","fileCount":9,"integrity":"sha512-doTU0fgYJVVhOFRWfkuKnMCrn+mCVQoNmaBvufuLxNYSAZCwpNSNf/b0YX4FxZwRHjH3gCK0+7vec9U+EbqgjQ==","signatures":[{"sig":"MEUCIQDvIlKTGWcXJ4lyCO8IRZnQyXw8pT9qhGjgOGjVEfzT1gIgGoaS6lyMpoewy3aWRuCDSH34g45hczZp3nfhzQTZ1VI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186118},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.14.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/b63dd8a5b3af5c4b95e91509d914f19a/ripplo-testing-0.7.14.tgz","_integrity":"sha512-doTU0fgYJVVhOFRWfkuKnMCrn+mCVQoNmaBvufuLxNYSAZCwpNSNf/b0YX4FxZwRHjH3gCK0+7vec9U+EbqgjQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.14_1781547128342_0.014266495016822534","host":"s3://npm-registry-packages-npm-production"}},"0.7.15":{"name":"@ripplo/testing","version":"0.7.15","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.15","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"2527349c520aaff1203b2f96c4a805cacf49dae0","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.15.tgz","fileCount":9,"integrity":"sha512-0pGlkKNOORjNz56ZJk7XbmYUyz06raVe82C6Y54Yy6BLPaVnYzJ6WR0VIIibMCDFhFm0E9GqkaTeh8Fa6HfDoA==","signatures":[{"sig":"MEYCIQCiKHE7pVqjDpQem09zax760bM7RQV+kG4mw6vsBGOV5QIhAN6lnK8wPtxZlp+vHrVQ0mGfVdFNpB00awozkCY0S6VJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186239},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.15.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/37454af7d87aae1cd6c268fb4fb7feff/ripplo-testing-0.7.15.tgz","_integrity":"sha512-0pGlkKNOORjNz56ZJk7XbmYUyz06raVe82C6Y54Yy6BLPaVnYzJ6WR0VIIibMCDFhFm0E9GqkaTeh8Fa6HfDoA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.15_1781562870671_0.29478577596950983","host":"s3://npm-registry-packages-npm-production"}},"0.7.16":{"name":"@ripplo/testing","version":"0.7.16","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.16","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"e09fd976c6101918329884ae92e87cbbbf70591e","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.16.tgz","fileCount":9,"integrity":"sha512-zpdbHvjOMl4gis78UG0XFKWYbvpbcH66iw0xm9JQdxz5fyWSZ3dnkmreh0gZrwVE3h1LJeDk/XoUyp6/ZVIZnw==","signatures":[{"sig":"MEUCIBkogs5CGdSKR7j7GTSs6u6OY5je27YOIH5c3BqQ7gvyAiEArudD02IY3ZxT5DFDryaoivDryzZoq5yPG59XazfBjDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186239},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.16.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/4c0184d9098ee2ea22b4751aa597833d/ripplo-testing-0.7.16.tgz","_integrity":"sha512-zpdbHvjOMl4gis78UG0XFKWYbvpbcH66iw0xm9JQdxz5fyWSZ3dnkmreh0gZrwVE3h1LJeDk/XoUyp6/ZVIZnw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.16_1781643954117_0.709949433890618","host":"s3://npm-registry-packages-npm-production"}},"0.7.17":{"name":"@ripplo/testing","version":"0.7.17","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.17","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"5aa5e748ea3f57f4bf613a0af5551a68ceba74e4","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.17.tgz","fileCount":9,"integrity":"sha512-87auWKLOsJZKIYvzuFcAiRpBG4Y/nducDgrZTRM3SzmgDfEqzoArzDicEleXOT0QWvZg1eWsF+A9WZA1s828aw==","signatures":[{"sig":"MEUCIQCfl1ECc6RboEU3sYpDQb8bmeWoskLBmTHkcRhXAQ+2aQIgLaRYzQDthCvG/DpvL/h+vYb0YOdovXt8116557Y4C4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186239},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.17.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/2b5eed72ed2ecfca62d78163caa3800b/ripplo-testing-0.7.17.tgz","_integrity":"sha512-87auWKLOsJZKIYvzuFcAiRpBG4Y/nducDgrZTRM3SzmgDfEqzoArzDicEleXOT0QWvZg1eWsF+A9WZA1s828aw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.17_1781656625274_0.09040891751973112","host":"s3://npm-registry-packages-npm-production"}},"0.7.18":{"name":"@ripplo/testing","version":"0.7.18","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.18","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"733b5e38afa7332cde2131e981eb9440ac605500","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.18.tgz","fileCount":9,"integrity":"sha512-qzORG37v5RhNj/4f4zSdzanl9Gk2Da2jelBAs1oRTC7xTlvTcuNQD+tMyUa7UGmZ0f4T1TpgnUsqpLyGK+ZzLw==","signatures":[{"sig":"MEUCIEh9ge09g86U7srhy2LGaPsfQSJglNZInX21HdEGMhAKAiEA3P/9wANV9RMWZryzk1LiAh/BoTm3YnsKR1+0sqH+JwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186239},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.18.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/c7728e07466ff5e7453d3cafb82b8171/ripplo-testing-0.7.18.tgz","_integrity":"sha512-qzORG37v5RhNj/4f4zSdzanl9Gk2Da2jelBAs1oRTC7xTlvTcuNQD+tMyUa7UGmZ0f4T1TpgnUsqpLyGK+ZzLw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.18_1781722331575_0.914920590384741","host":"s3://npm-registry-packages-npm-production"}},"0.7.19":{"name":"@ripplo/testing","version":"0.7.19","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.19","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"9383fe8892f869df562908ee6809d492cfe87263","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.19.tgz","fileCount":9,"integrity":"sha512-60bv22B94vRqt8r/vPm5T39J/YNHzR3I7DrhNG7S1FGq9j4iVUkvc6E3zBSSP4FSgTowgQBT9utipohl7JUv7g==","signatures":[{"sig":"MEUCIEsw3tFPZ51Ko4jIRc7jAVUk5upac1aKyB42Cog03O+3AiEA/QhTeNcH67SLBuvu15i6KXLTZKBkIAOGMDMNt5w5msY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186239},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.19.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/a3615f5101e5334213f47074fdd71608/ripplo-testing-0.7.19.tgz","_integrity":"sha512-60bv22B94vRqt8r/vPm5T39J/YNHzR3I7DrhNG7S1FGq9j4iVUkvc6E3zBSSP4FSgTowgQBT9utipohl7JUv7g==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.19_1782153081358_0.7336964187192803","host":"s3://npm-registry-packages-npm-production"}},"0.7.20":{"name":"@ripplo/testing","version":"0.7.20","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.20","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"2017cf5142178fd99d642f06788bb279b56164a5","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.20.tgz","fileCount":9,"integrity":"sha512-inNGWl8OAFgyc+gg+WtD3mPSgdCayCcBs1Wqvjov7izRVbB1H1tOiy5QcM9eBMMRnGInM1zLv2vfc4ZGVK0QTw==","signatures":[{"sig":"MEQCIFv4EJoab7LHCSRZq1t4b2UYYyru9WCLX2dIxd/mbfxVAiBmCFVdT9Yt8ERse4mMW6EjB6H6thwmkkiUm5r7GmL/Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233385},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.20.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/5b1eb0d224ad8f8996a30090016b8bb0/ripplo-testing-0.7.20.tgz","_integrity":"sha512-inNGWl8OAFgyc+gg+WtD3mPSgdCayCcBs1Wqvjov7izRVbB1H1tOiy5QcM9eBMMRnGInM1zLv2vfc4ZGVK0QTw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.20_1782239309326_0.8008998141381685","host":"s3://npm-registry-packages-npm-production"}},"0.7.21":{"name":"@ripplo/testing","version":"0.7.21","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.21","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"1f831c8ef8289037be8f44ed3893351c734e030d","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.21.tgz","fileCount":9,"integrity":"sha512-8zgHyoByGx7QZwimYRkw+/c4FlsEFbeF75vzzNIwO11molCs5RdNX1ea5aqhcEwhTmFSiEgLG5zgMlvGx5hp3Q==","signatures":[{"sig":"MEYCIQDJrohNbqS3yk5bxnKFFeIROsqkNnpU3tg7/pzjdHDb2QIhAOB6t7c3woCTW5H1iX2JzogN48ap6A+PJfCqfVGQ4BlJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233385},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.21.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/9fcff322c8c3a6ef9ff616022047445a/ripplo-testing-0.7.21.tgz","_integrity":"sha512-8zgHyoByGx7QZwimYRkw+/c4FlsEFbeF75vzzNIwO11molCs5RdNX1ea5aqhcEwhTmFSiEgLG5zgMlvGx5hp3Q==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.21_1782264155856_0.6337483867709788","host":"s3://npm-registry-packages-npm-production"}},"0.7.22":{"name":"@ripplo/testing","version":"0.7.22","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.22","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"f7850651e9938777c3b11d77f271201f1a4efd2d","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.22.tgz","fileCount":9,"integrity":"sha512-mm6GsJX5BUlkshC1Q9Sw3b1pLiF0TS4EwKHfm1VkWCTw6xeRJz0VDN9tllMlaGVbOgfkgbEnyGeBXjCLp8mzHg==","signatures":[{"sig":"MEQCIHdklj6oeIRPqXoNz/0iQAuaro/5FCjtbeYDy4aIFybvAiA6AqCn5Zcz1rCkz0D7uv1p8E27kyUms9adShZ6CMyEiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233385},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.22.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/13e7c680516b541ddb41af140847ff9f/ripplo-testing-0.7.22.tgz","_integrity":"sha512-mm6GsJX5BUlkshC1Q9Sw3b1pLiF0TS4EwKHfm1VkWCTw6xeRJz0VDN9tllMlaGVbOgfkgbEnyGeBXjCLp8mzHg==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.22_1782276153801_0.07212912117089831","host":"s3://npm-registry-packages-npm-production"}},"0.7.23":{"name":"@ripplo/testing","version":"0.7.23","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.23","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"5b5aad43bf60ef28b642f6a64a3005dfc68532e7","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.23.tgz","fileCount":9,"integrity":"sha512-EvqhOg1hIcvuctNCS3untm+uJPv0Oh4zzKLRQS3IKiEFTPFuqT6jPL6ObX2BgssGVlUQZohXaerxTZwz4fMBHg==","signatures":[{"sig":"MEQCIGAcsT9/aW/cecjdars2dnDp41+n6FcuSQdjUhu6XkeiAiB41hvHVSZ+npOTYBbeqJ6N2vnTLViRLcrYtPAcpG+0GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233385},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.23.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/d84eb0204010517d36c7bc4a90f8bd4d/ripplo-testing-0.7.23.tgz","_integrity":"sha512-EvqhOg1hIcvuctNCS3untm+uJPv0Oh4zzKLRQS3IKiEFTPFuqT6jPL6ObX2BgssGVlUQZohXaerxTZwz4fMBHg==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.23_1782280041510_0.056238092382892235","host":"s3://npm-registry-packages-npm-production"}},"0.7.24":{"name":"@ripplo/testing","version":"0.7.24","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.24","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"9340652d70dc269ee743cabfdc4b1fb43e52eea3","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.24.tgz","fileCount":9,"integrity":"sha512-D3Ormffh1DSnKFty/TuTX+F7EOOrK3w6imNyK0bB2yv/C4QjaecE0vap6Cht28nodM//s6PwSE816+c6yMzeuA==","signatures":[{"sig":"MEQCIEjMFbTPVZ0WcMYuPGP2l2nw0l359VEUVbyFjneC9ZngAiALysoP7Ju0o1evaPNH/JXb4fMZ+5Tly2UN+a1P+sAcFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233385},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.24.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/58cbebb4d8a8a39d0f36d3659d7b8004/ripplo-testing-0.7.24.tgz","_integrity":"sha512-D3Ormffh1DSnKFty/TuTX+F7EOOrK3w6imNyK0bB2yv/C4QjaecE0vap6Cht28nodM//s6PwSE816+c6yMzeuA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.24_1782313837901_0.7843149886847856","host":"s3://npm-registry-packages-npm-production"}},"0.7.25":{"name":"@ripplo/testing","version":"0.7.25","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.25","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"84d0c8b698c62eb97d9be569e952f0b2be31a3e9","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.25.tgz","fileCount":9,"integrity":"sha512-TLbtq45JDA70/QbgywAZsUKI9sS0IJoKGPuLYW/PF4ftPwWsRBGxGjruoi83pKUHGgJF/pBcFudzHMpsbwopCw==","signatures":[{"sig":"MEUCIQCuGRbzUwcC76S3u2UZH/IW6JQ3hLkcaQj58d3lQX64OwIgEPk/9AFsD5MoDKxKSgTc9cPovUWFwy5jYgU+F9Cf4cE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233361},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.25.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/f5746466199c1e5f21d491f8aabc242e/ripplo-testing-0.7.25.tgz","_integrity":"sha512-TLbtq45JDA70/QbgywAZsUKI9sS0IJoKGPuLYW/PF4ftPwWsRBGxGjruoi83pKUHGgJF/pBcFudzHMpsbwopCw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.25_1782331375932_0.381755028194698","host":"s3://npm-registry-packages-npm-production"}},"0.7.26":{"name":"@ripplo/testing","version":"0.7.26","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.26","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"f5ce19d968f3ef52b5373f4d3dea9159ad835e7b","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.26.tgz","fileCount":9,"integrity":"sha512-WP+u+0rs5XJS2oODlNJjKOy8RxNb2tIyUO9ujLeAMa6qn6Tn7RBGAVJvgSFPHIHiYuJ2KiA2L/QnEtSxyfB6HA==","signatures":[{"sig":"MEUCICEmNVLM4+L5GKhQKvmBk9aAtC9hSSDBjbZy6X6o5TH+AiEAsdfy3Zm5EVsBF+ajfHEBTsi1LrVINdzhn0Foo0MUkpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233361},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.26.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/236622c982d653c56b4a84b974a71774/ripplo-testing-0.7.26.tgz","_integrity":"sha512-WP+u+0rs5XJS2oODlNJjKOy8RxNb2tIyUO9ujLeAMa6qn6Tn7RBGAVJvgSFPHIHiYuJ2KiA2L/QnEtSxyfB6HA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.26_1782353289241_0.45408694006781225","host":"s3://npm-registry-packages-npm-production"}},"0.7.27":{"name":"@ripplo/testing","version":"0.7.27","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.27","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"e6a4ab6061f94132f8a0f94aedea6e525d68e9f1","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.27.tgz","fileCount":9,"integrity":"sha512-M3uwu/XQjqtBQmy1aKKnvsUw0BLBSOXUduiKN9b1WBEjW8D5cunrmGmvQxhHaSL/hPijUUyfhz9qV/4T778oIA==","signatures":[{"sig":"MEQCIESdFgqRvf3KEjt3v2YdLCmXuR3d94ohev1MEw0nl6PEAiBnTsqoWs0Uwz+btgAz4hu+LXDmPa20pxgcdEBCdY4QUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233361},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.27.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/da6d6209648dfd83ceb3bd906e01d1ac/ripplo-testing-0.7.27.tgz","_integrity":"sha512-M3uwu/XQjqtBQmy1aKKnvsUw0BLBSOXUduiKN9b1WBEjW8D5cunrmGmvQxhHaSL/hPijUUyfhz9qV/4T778oIA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.27_1782409762713_0.2520053801823894","host":"s3://npm-registry-packages-npm-production"}},"0.7.28":{"name":"@ripplo/testing","version":"0.7.28","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.28","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"7d67fbf586dd14526a5c16aebd9c0795b12fdf9b","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.28.tgz","fileCount":9,"integrity":"sha512-VVhgElq0/pYnrx+DwttVCKNMsDY+T7bh1yxcX2JBzerQTWMfZFtJCbArjzQjqqvLsPrOlnVDmfZH/hgMjegZHA==","signatures":[{"sig":"MEYCIQC4L8vxc4GNcggP3RQQ3ojE7rwFgvyHfTV5LE5kpgnDPwIhAMbMJoHyeOHEiElopSiMdZ9GpMZj+MrdB/YsG4bAV5gq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233361},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.28.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/95635d4b44791021cf0b92d6be36e3e6/ripplo-testing-0.7.28.tgz","_integrity":"sha512-VVhgElq0/pYnrx+DwttVCKNMsDY+T7bh1yxcX2JBzerQTWMfZFtJCbArjzQjqqvLsPrOlnVDmfZH/hgMjegZHA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.28_1782414435787_0.05233193166461825","host":"s3://npm-registry-packages-npm-production"}},"0.7.29":{"name":"@ripplo/testing","version":"0.7.29","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.29","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"e27723a410ab4490adb99fe840a4e7e3aa99886c","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.29.tgz","fileCount":9,"integrity":"sha512-xhdqWynzmpgGwYpnwWQ7dU3BTel6sHbdMGDok/mfBZFD/YJ3VcewjPvN9ViBooS4U/XUuFmhYI40frE0hnB2jg==","signatures":[{"sig":"MEUCIQDD7qTgHDKuAPgzS1r8kQVMgqx8hUgXbZSRIQA2z/GpYgIgTaYNyPwl+5SYHJHChpJaBAAJFzHHSWyJAvWoUGOEOrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233361},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.29.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/f3276040f84cc3cf98e45a5829a604ad/ripplo-testing-0.7.29.tgz","_integrity":"sha512-xhdqWynzmpgGwYpnwWQ7dU3BTel6sHbdMGDok/mfBZFD/YJ3VcewjPvN9ViBooS4U/XUuFmhYI40frE0hnB2jg==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.29_1782418991738_0.597524774725168","host":"s3://npm-registry-packages-npm-production"}},"0.7.30":{"name":"@ripplo/testing","version":"0.7.30","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.30","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"15a84d1c744953a27379df40c73e0cd4b10b7336","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.30.tgz","fileCount":9,"integrity":"sha512-9tNj1CZ50gez7/5xF5oZg2MlXkHKNf1GYIotvuaJBO9kEaxe/ZbnLhtYEqczPpfTy5CP3bG7DrJc84vmdagjXA==","signatures":[{"sig":"MEUCIQCH0wFxVnOkmkXJfDcbQCd9hbORbULopsehUdUqGJoZkwIgR4DVBvBHabQmHSHHNIrluXja0TbhnFNwIyA8DekND2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233361},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.30.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/6aa1efb9021bf1335cb8e4076d0866f9/ripplo-testing-0.7.30.tgz","_integrity":"sha512-9tNj1CZ50gez7/5xF5oZg2MlXkHKNf1GYIotvuaJBO9kEaxe/ZbnLhtYEqczPpfTy5CP3bG7DrJc84vmdagjXA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.30_1782432241178_0.7429084703368471","host":"s3://npm-registry-packages-npm-production"}},"0.7.31":{"name":"@ripplo/testing","version":"0.7.31","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.31","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"376d752d12f4bcba308ab28b97fcc08039b0b730","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.31.tgz","fileCount":9,"integrity":"sha512-itYHIpiB8To6wG7CkwOotQHmcFZ/8ZddIFMmu7zrwVIoXMqyH36PamdaD0Z8SXhG1ypn95Sw9WDfnsXJibovWw==","signatures":[{"sig":"MEQCIAwapssB73WEZyGJXLkpfK0sjwGvQ4qg2+Pa0lLpHU8dAiANrUybDdfNB3oeyGGuTqRcz70mIxTN8HN3etaKJeQXlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233361},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.31.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/3d1691c46c0a5518b01c79c2716b0b29/ripplo-testing-0.7.31.tgz","_integrity":"sha512-itYHIpiB8To6wG7CkwOotQHmcFZ/8ZddIFMmu7zrwVIoXMqyH36PamdaD0Z8SXhG1ypn95Sw9WDfnsXJibovWw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.31_1782441205322_0.6700543726512667","host":"s3://npm-registry-packages-npm-production"}},"0.7.32":{"name":"@ripplo/testing","version":"0.7.32","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.32","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"9d3919531326afe20256878bf5d0dd9c4b84b859","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.32.tgz","fileCount":9,"integrity":"sha512-XgohGE53wve9e65zjEj0Gs7jOW3cPhWhaEuSlHjxhEcuQL5uyZSq23xrsBecvQfFFDc3+gUffcYkVEEIaQy/nw==","signatures":[{"sig":"MEQCIAD3uVmrPGuiu4MfhjLG+tRhCboZOYlbq+SCKKM5Mw4aAiATcBCcQg/1x+uquDnVCeRM7WufkQI+z5qUQZDCHNwHCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239555},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.32.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/c4fbc82c7622f777a768c00de4ba8ff0/ripplo-testing-0.7.32.tgz","_integrity":"sha512-XgohGE53wve9e65zjEj0Gs7jOW3cPhWhaEuSlHjxhEcuQL5uyZSq23xrsBecvQfFFDc3+gUffcYkVEEIaQy/nw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.32_1782450430089_0.8806976547211509","host":"s3://npm-registry-packages-npm-production"}},"0.7.33":{"name":"@ripplo/testing","version":"0.7.33","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.33","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"52cfb34a163d137976848ea5f80f40cc013c6562","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.33.tgz","fileCount":9,"integrity":"sha512-HsKt/r+2+u0lx80brW/ILPqW8ezJVeL2viUcwUygXTOVMm4I8NKKop77BjiOAjBJ8T3WmxK6+nvYR+TqzG+VFQ==","signatures":[{"sig":"MEUCIHd3RV9N9ah6dGLyrtyPDEGHCUGoD9NVwSf41ppm2ti5AiEA5v+RPwK+Om+UyoORFoBC3Eflx7duMb+qCIPvw+W0xq4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239555},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.33.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/d644a30002f31b07d2b5ef4c18800247/ripplo-testing-0.7.33.tgz","_integrity":"sha512-HsKt/r+2+u0lx80brW/ILPqW8ezJVeL2viUcwUygXTOVMm4I8NKKop77BjiOAjBJ8T3WmxK6+nvYR+TqzG+VFQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.33_1782510691341_0.8289887327252103","host":"s3://npm-registry-packages-npm-production"}},"0.7.34":{"name":"@ripplo/testing","version":"0.7.34","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.34","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"6e870901192721f0d7fdb238948f0da99dd9698a","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.34.tgz","fileCount":9,"integrity":"sha512-uYTP74lOY4RdVx6q1R0goKRwmxSsyVPVb+OxZ2nSWq+vGdlgdS9JoxlM28aKIRm2YPw7Gg+o+DVIrU0T6dl3zA==","signatures":[{"sig":"MEUCIQDBErUs4w4jSuqSw96tQK/n5QVxOnrH9tLwoC5MtaDPTgIgAZisCd8hW33qfU/cAn6zDe+iftn5Hv3I73LUWZl9ikc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239555},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.34.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/0229bc02daf7f8dc1f06f198ca5e0303/ripplo-testing-0.7.34.tgz","_integrity":"sha512-uYTP74lOY4RdVx6q1R0goKRwmxSsyVPVb+OxZ2nSWq+vGdlgdS9JoxlM28aKIRm2YPw7Gg+o+DVIrU0T6dl3zA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.34_1782515549745_0.7883167004124974","host":"s3://npm-registry-packages-npm-production"}},"0.7.35":{"name":"@ripplo/testing","version":"0.7.35","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.35","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"ae82bf74ed3d92ae89f7231ede1dbcda8e482a48","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.35.tgz","fileCount":9,"integrity":"sha512-j/XeTCCqB1QHo0+6XtxFoC2Zz6Dpi00i9JSSPNgXRAki1aLNZ/KBog8LzZnZvNvU5RIvlmXRFW2T08gAkSvx/g==","signatures":[{"sig":"MEUCIG04P/6pxxgv6yUsn50gR3fmjy0QdXpRskmN3VwQzo5iAiEAsK5tIReLpyP4440GwVFFY+/NUL2qui+9tUBswRMXQZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242481},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.35.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/edf387062574ec76246bebe7d0c5e651/ripplo-testing-0.7.35.tgz","_integrity":"sha512-j/XeTCCqB1QHo0+6XtxFoC2Zz6Dpi00i9JSSPNgXRAki1aLNZ/KBog8LzZnZvNvU5RIvlmXRFW2T08gAkSvx/g==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.35_1782623847505_0.3903682314266086","host":"s3://npm-registry-packages-npm-production"}},"0.7.36":{"name":"@ripplo/testing","version":"0.7.36","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.36","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"13be29bb7514a677b368830dcdfdd816b14d7296","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.36.tgz","fileCount":9,"integrity":"sha512-VsBrZuVy2JgAdeX8oQmt3dF8aWg/46TvPqT8BfhEL5TrkKxdGhQusfOpFC9+yXtg9vQDxyY3Xg3Sx4CeyBdizQ==","signatures":[{"sig":"MEUCIQDnZsepN6sz2oFwTuyMTZPd+IF4edoig5JlvS2cBTBFbgIgajtlYDE2myiIC5SP+/7qaoJ2T/8Go36JKaBcMGVE360=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242481},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.36.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/063e23f30cd6c29a3ac7f0dbd7be1b3f/ripplo-testing-0.7.36.tgz","_integrity":"sha512-VsBrZuVy2JgAdeX8oQmt3dF8aWg/46TvPqT8BfhEL5TrkKxdGhQusfOpFC9+yXtg9vQDxyY3Xg3Sx4CeyBdizQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.36_1782763111879_0.6571139346958776","host":"s3://npm-registry-packages-npm-production"}},"0.7.37":{"name":"@ripplo/testing","version":"0.7.37","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.37","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"53d17d181018166684aac8d9dd874fd406c7fb79","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.37.tgz","fileCount":9,"integrity":"sha512-IhOaq+goyYU/3jhxIF0UJu7lkbYsOAZdmWEr5T2op83AV8IpQtT/O17d+U6/QDFeYlTFNAvt9FVgx9HJ4yfetw==","signatures":[{"sig":"MEUCIQC5er7fpII6qtg4b4KkTFfzVLqTow7944MaHa4o0IeW5QIgbTsnAO33zWm8Akm5MINK8jKJ5ptQl5FVb+VEYVm14Cc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242916},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.37.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/d8173b7bf9d1ce4a43c4b0f6ccaaa668/ripplo-testing-0.7.37.tgz","_integrity":"sha512-IhOaq+goyYU/3jhxIF0UJu7lkbYsOAZdmWEr5T2op83AV8IpQtT/O17d+U6/QDFeYlTFNAvt9FVgx9HJ4yfetw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.37_1782864486154_0.82051923511329","host":"s3://npm-registry-packages-npm-production"}},"0.7.38":{"name":"@ripplo/testing","version":"0.7.38","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.38","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"0357d5c48471bd9cc99d316de47feae84582e5c0","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.38.tgz","fileCount":9,"integrity":"sha512-jBjd3ugREBvpc5iyclYbW5Nj+WD2gECtpkGzPztXm9SbxYLhhXDnxziLxMiBvZSt2ATKMqDYcb5z9c4nAiekqA==","signatures":[{"sig":"MEUCICNc31OWzX7QZBuFH5CAQsbXc/B213fhcmEaIN8dvcHbAiEAmCQmUFOqoMF7UIi24ph5ioWRbOeId3bAutnhVhEtZHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242916},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.38.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/787507da3b5c873027d1cc7a3d9ebf09/ripplo-testing-0.7.38.tgz","_integrity":"sha512-jBjd3ugREBvpc5iyclYbW5Nj+WD2gECtpkGzPztXm9SbxYLhhXDnxziLxMiBvZSt2ATKMqDYcb5z9c4nAiekqA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.38_1782870394489_0.6194164330610232","host":"s3://npm-registry-packages-npm-production"}},"0.7.39":{"name":"@ripplo/testing","version":"0.7.39","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.39","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"4a3a7710206a2bac6015ca2ba4d4c261f475d5dc","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.39.tgz","fileCount":9,"integrity":"sha512-fugRJTMLajYIT7i8sD9tp/v0KUjk1NIrayDAHqBJFVa+oYwIs42LlTNrYSTrC0ehADrTjUKLRQA1sHxJ1a/Lvg==","signatures":[{"sig":"MEYCIQDqb3I7c1tcCUit3vu+YTDvB9W2ofGmFS4YTfPc6EAPVAIhAL02DFy8e3pcWcDXmcZakPRncKMx1WIo5j1bbVmKaC1A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243337},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.39.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/11c8e9ad65535373cc7c429f8bd23656/ripplo-testing-0.7.39.tgz","_integrity":"sha512-fugRJTMLajYIT7i8sD9tp/v0KUjk1NIrayDAHqBJFVa+oYwIs42LlTNrYSTrC0ehADrTjUKLRQA1sHxJ1a/Lvg==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.39_1782922569637_0.054171108299224446","host":"s3://npm-registry-packages-npm-production"}},"0.7.40":{"name":"@ripplo/testing","version":"0.7.40","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.40","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"bee259694148935d7a482a963c5aa7d7df10ab5a","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.40.tgz","fileCount":9,"integrity":"sha512-carpJsRnMu/1eJgRKHjMQsVSfYjc7np6x/0yyhQMLYrQXql5NbYpG2FN8XIgnG9T7CVy5Tf7jIwxcHEmkdkkJw==","signatures":[{"sig":"MEUCIG3adOl+K7qeuVYECFQCRqBzxbt2Ag6Vgg2/vfkgdmXEAiEAimuYxoiwou003/NlL663Cr2AY1n2kEzPIb3yCCA7aYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243337},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.40.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/239fee566b27f747e94e1fca406a866d/ripplo-testing-0.7.40.tgz","_integrity":"sha512-carpJsRnMu/1eJgRKHjMQsVSfYjc7np6x/0yyhQMLYrQXql5NbYpG2FN8XIgnG9T7CVy5Tf7jIwxcHEmkdkkJw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.40_1782925604854_0.45510358727505107","host":"s3://npm-registry-packages-npm-production"}},"0.7.41":{"name":"@ripplo/testing","version":"0.7.41","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.41","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"1b68b5d47770925897adc254a358a3237077710e","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.41.tgz","fileCount":9,"integrity":"sha512-8Nws9lIa7uZcgMMZImQwZQWqUFm2wswxiC4rk7iSfAHbKnq1nXktd0Dy/mQs5gkE7aDak+dWwwKrLUYQtubKKQ==","signatures":[{"sig":"MEUCIQDde2BO1Fr4Afz2lG50Qub8+UlzdC1Rm1gGOwXG2Ckj6QIgVkAD2vuj1jEhbu25Teqd5jZl86+RbFOfDbrSiipqC/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243337},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.41.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/7b1ed7e2bab4afbcea8607361051f838/ripplo-testing-0.7.41.tgz","_integrity":"sha512-8Nws9lIa7uZcgMMZImQwZQWqUFm2wswxiC4rk7iSfAHbKnq1nXktd0Dy/mQs5gkE7aDak+dWwwKrLUYQtubKKQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.41_1782931302758_0.893203243873363","host":"s3://npm-registry-packages-npm-production"}},"0.7.42":{"name":"@ripplo/testing","version":"0.7.42","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.42","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"0010cc6ed71ed017ce71dcd92ca673aa99046724","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.42.tgz","fileCount":9,"integrity":"sha512-PnrGLKnjJmuhE10z1L2FZR8h1l1Pbqw9xhp5WYSt7u6eF8ecxFDdqYpk/56Irpd2TD25YctDrryYsIq9HECuWQ==","signatures":[{"sig":"MEUCIDCGZFiTTamCo0WhaVWaIO7UG3zx2ICnmipfAp4ppWbGAiEAwK95ZNudHj2A5bVeZHVNkdnWoV9n5C0G37j4ZrE2ApE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243897},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.42.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/60227e2ea3c36d40332ecf330282ac6d/ripplo-testing-0.7.42.tgz","_integrity":"sha512-PnrGLKnjJmuhE10z1L2FZR8h1l1Pbqw9xhp5WYSt7u6eF8ecxFDdqYpk/56Irpd2TD25YctDrryYsIq9HECuWQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.42_1782995728990_0.4153147775861925","host":"s3://npm-registry-packages-npm-production"}},"0.7.43":{"name":"@ripplo/testing","version":"0.7.43","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.43","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"38e7eb0a58b0eb66c857d38fe63822c500704c41","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.43.tgz","fileCount":9,"integrity":"sha512-+dJLum26TpPdRkI8mIPF1/ZqBQ3IGCHG9UBi5dCHU1kobInlMxd1jTkICxvxakwj5x60QIxWiVBzJDIRt+J9TQ==","signatures":[{"sig":"MEYCIQDCWPHOxLUNjy2MVGtJkj1P2qVuYR+5HRXcRH9ladXNIgIhAO6PryItfU+ftKyDsyTduBFLWvszex15MMPwYe28DEKV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246016},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.43.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/0e2f834316f384c189d25a47aa9bf552/ripplo-testing-0.7.43.tgz","_integrity":"sha512-+dJLum26TpPdRkI8mIPF1/ZqBQ3IGCHG9UBi5dCHU1kobInlMxd1jTkICxvxakwj5x60QIxWiVBzJDIRt+J9TQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.43_1783050345714_0.5299452187500124","host":"s3://npm-registry-packages-npm-production"}},"0.7.44":{"name":"@ripplo/testing","version":"0.7.44","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.44","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"0e22a5818249e82437008b8d14ce67ff43d73352","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.44.tgz","fileCount":9,"integrity":"sha512-JEewlCmZRt9hI75IhSI9OkTOwkCOGaqdJ97jcZmyIjziyVoBSp8GUIsVlbOIGM6I1d9/DLd7dIR6Qrt3iBtBog==","signatures":[{"sig":"MEQCIH7wO7jFj9bC4gkWfI+HlW9KUDawST3FUfdwypO3UN4nAiB/ZONwIXsOy3MOXKgil3ohcas2qZAnR7d6vi2yEIk/OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246401},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.44.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/418f8cd913e6841aa8db5c1fe2391b52/ripplo-testing-0.7.44.tgz","_integrity":"sha512-JEewlCmZRt9hI75IhSI9OkTOwkCOGaqdJ97jcZmyIjziyVoBSp8GUIsVlbOIGM6I1d9/DLd7dIR6Qrt3iBtBog==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.44_1783065261732_0.20013856135631292","host":"s3://npm-registry-packages-npm-production"}},"0.7.45":{"name":"@ripplo/testing","version":"0.7.45","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.45","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"0af4e91f2fe224cbb7252405a863b95d72984136","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.45.tgz","fileCount":9,"integrity":"sha512-xd/C8hlKGo5Vjo+38fkJv01SNnDntyFaIcxQQ3Uzl3cvJZi+mfp+y1qoANevupRgzfYSNXLbyTvBOqhq/9yVwQ==","signatures":[{"sig":"MEUCIQCaRuzXl87XWY7P9yVt5V89Y5fDTJ6LJshmDOKH+/iU9gIgYQBdMhXcCEPAr5enY5zPqWeKaE8yzXzD0pwq7hUgPuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246401},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.45.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/d6622dfd4db176d26a3bed94edddfc2a/ripplo-testing-0.7.45.tgz","_integrity":"sha512-xd/C8hlKGo5Vjo+38fkJv01SNnDntyFaIcxQQ3Uzl3cvJZi+mfp+y1qoANevupRgzfYSNXLbyTvBOqhq/9yVwQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.45_1783095608782_0.09802708745597677","host":"s3://npm-registry-packages-npm-production"}},"0.7.46":{"name":"@ripplo/testing","version":"0.7.46","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.46","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"daf342371b0096d61ccac67e9ef68ed4fd79da28","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.46.tgz","fileCount":9,"integrity":"sha512-pnorz6CKV6FLazwwg3PHMcASr/EFLsFyXs/yc3OLGw9SyBUxs0et98nLaqqOEYjG0Wq3QcPtCYjiGpJlkksXng==","signatures":[{"sig":"MEYCIQChXxFDLM4FRFFRztQ9+sDAMLu6ApcxE5GphqAC2vEyvAIhAPmUt3uLfA2dr/2DBXgQ7rfdQFK3NEOapBnI2HM/O1Ty","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248895},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.46.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/3b588edff17f76f8e8525bba26dcb84b/ripplo-testing-0.7.46.tgz","_integrity":"sha512-pnorz6CKV6FLazwwg3PHMcASr/EFLsFyXs/yc3OLGw9SyBUxs0et98nLaqqOEYjG0Wq3QcPtCYjiGpJlkksXng==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.46_1783296848310_0.4653700758757906","host":"s3://npm-registry-packages-npm-production"}},"0.7.47":{"name":"@ripplo/testing","version":"0.7.47","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.47","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"6b081db57c9273b6df74659c6966e59dee3f2094","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.47.tgz","fileCount":9,"integrity":"sha512-VBuXRZRHih+7fB8qopLh2scozHVTlKOSHsQpUmYayfziPtFZwSFyMWS7fwgptgDyI49bQUfRQBn0hh/cm7W6QQ==","signatures":[{"sig":"MEUCIQCxFlO1A/QMBZ8hFBPGyKttLZdSI/T3VNdsICU2WvsPdwIgaCzNQxU0gJo1sKE/xTfkFwZnjuQF7ZdOC9jpgl2CE6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248895},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.47.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/21f41b7bdc4553d6010376b39b1ed051/ripplo-testing-0.7.47.tgz","_integrity":"sha512-VBuXRZRHih+7fB8qopLh2scozHVTlKOSHsQpUmYayfziPtFZwSFyMWS7fwgptgDyI49bQUfRQBn0hh/cm7W6QQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.47_1783302898867_0.6104716041245368","host":"s3://npm-registry-packages-npm-production"}},"0.7.48":{"name":"@ripplo/testing","version":"0.7.48","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.48","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"e92f19255aa5acbefac2ad74b2d9ae1f8c12813c","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.48.tgz","fileCount":9,"integrity":"sha512-5qquxgRCnkOtqxHLulTayQZYm8wrRweroBXYkCepbwVm/32Jst0KFtAIzwWCe3bg029blDbJjB56x1GS/n84pQ==","signatures":[{"sig":"MEUCIDGBCC/EgfBa+aT1E9EFYCMlLR5cN4DTjdiBVH3mZW2IAiEAohtiuk9OFip//68vuqWpAtJqDBmmIzn18ZNgIdSqo/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251439},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.48.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/d28ed2788a529ed0c706e79c9ad4d41b/ripplo-testing-0.7.48.tgz","_integrity":"sha512-5qquxgRCnkOtqxHLulTayQZYm8wrRweroBXYkCepbwVm/32Jst0KFtAIzwWCe3bg029blDbJjB56x1GS/n84pQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"express":["./dist/express.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.48_1783313291621_0.06818930590131322","host":"s3://npm-registry-packages-npm-production"}},"0.7.49":{"name":"@ripplo/testing","version":"0.7.49","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.49","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"7c97454fa1cf29170679c22eb25a385f76aa6286","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.49.tgz","fileCount":21,"integrity":"sha512-urFTuNRXgogRV6GEMlejqap0NrcbTTq1EP2XwL2e+8Rv83bz9WjNLm+dPJ0XZTk5+sbBdYPRtqoaQOX2XwrsoA==","signatures":[{"sig":"MEQCIBaKd6B4wCPbpAkunYoDv1+P0972Mc0bkM8U9iApTbO8AiBntyKUZ1ptJz3VGIDYMnDgEevcRDlzwsGQTThE68qhHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533596},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.49.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/79c3bca13d2b08e36ce72ccc621cdc42/ripplo-testing-0.7.49.tgz","_integrity":"sha512-urFTuNRXgogRV6GEMlejqap0NrcbTTq1EP2XwL2e+8Rv83bz9WjNLm+dPJ0XZTk5+sbBdYPRtqoaQOX2XwrsoA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.49_1783368791093_0.1950858888805167","host":"s3://npm-registry-packages-npm-production"}},"0.7.50":{"name":"@ripplo/testing","version":"0.7.50","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.50","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"f692e033fed594628e41e0005d66b210dcadafad","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.50.tgz","fileCount":21,"integrity":"sha512-8vxnPSEYJVZ/m0i6bRnWxoKm0Qt1t5HHiVfBCcIPjj+oIPhZu9hrSEItzxj3N2Ix5F/9U7rr1iDNClAUYsU0fg==","signatures":[{"sig":"MEYCIQD57SQR+GVPDhwPk3P3WP06rSVY86FHUr7QWdo09+EqzAIhAM/FktBW52C1xKrpuuOsyUUYCiw+FajluyFDRM1s87oX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533596},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.50.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/98edbb26ff2cca28b429e61770682ffb/ripplo-testing-0.7.50.tgz","_integrity":"sha512-8vxnPSEYJVZ/m0i6bRnWxoKm0Qt1t5HHiVfBCcIPjj+oIPhZu9hrSEItzxj3N2Ix5F/9U7rr1iDNClAUYsU0fg==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.50_1783380397800_0.30070669861036325","host":"s3://npm-registry-packages-npm-production"}},"0.7.51":{"name":"@ripplo/testing","version":"0.7.51","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.51","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"f77635e81ca0149b88aac8bd31712bc59a255c82","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.51.tgz","fileCount":21,"integrity":"sha512-ohpy6zA2dsibTD5LaHqhTt0jxNvTtSsKk+oJsm2TnkVt11uRJKbTUmCmTFxrlyDtALfhU6Ddk73fcdAjaGuJ9Q==","signatures":[{"sig":"MEQCIBY+Fsr5oLiD4XpjdASnPy6ziasge/3PzfqSBiYgpgHFAiBtbTvcG9igTZydaVVqGp+ZHTtATeYKpz8OYPkWaAXFew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":534289},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.51.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/218e5ce1a7a97e6aa3a8328ca91a0627/ripplo-testing-0.7.51.tgz","_integrity":"sha512-ohpy6zA2dsibTD5LaHqhTt0jxNvTtSsKk+oJsm2TnkVt11uRJKbTUmCmTFxrlyDtALfhU6Ddk73fcdAjaGuJ9Q==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.51_1783443628437_0.37490312036273843","host":"s3://npm-registry-packages-npm-production"}},"0.7.52":{"name":"@ripplo/testing","version":"0.7.52","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.52","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"dce23eac2e0a3ed6978b209f4261bd42a7795180","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.52.tgz","fileCount":21,"integrity":"sha512-OB2M3N8fLl9cxlMCWlRhZCcfjMagpYl9/vE7lrIWrMrt4YDc5hRtnqJ9aGLXB/vsYNKd0+mjIYVacUo9vSLkuA==","signatures":[{"sig":"MEUCIFhqQJRtaMVCAhinv6WSvmnv/EhtAJDQ0G59yH25TUdDAiEAvrLQ2oAv/SiSX8/hJJMmBlZv2hWUTKCPvOI+8LyI20I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":537030},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.52.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/f9faf6354267f0451d809f5d6817945d/ripplo-testing-0.7.52.tgz","_integrity":"sha512-OB2M3N8fLl9cxlMCWlRhZCcfjMagpYl9/vE7lrIWrMrt4YDc5hRtnqJ9aGLXB/vsYNKd0+mjIYVacUo9vSLkuA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.52_1783527289063_0.17739471970468101","host":"s3://npm-registry-packages-npm-production"}},"0.7.53":{"name":"@ripplo/testing","version":"0.7.53","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.53","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"4622acf19dfa43dac85809dc4854073385d67e98","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.53.tgz","fileCount":21,"integrity":"sha512-WA2YCWnpxtC2h78AeoyyBLtFhICivZe2VY67DBR/6v0y2AVLPZeCbCJ4M1Qd4OVBGwf2TrysszsXchsFzjLo9A==","signatures":[{"sig":"MEUCIHJBJSJcxAwYn+RR9Eh1+lEx+n/B/lX0sLwvSd6n4MqHAiEA3Gsx/RXmG/IygynVPDEOnpkLMNC8EGa8q4ZU4uMNS/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":582360},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.53.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/7dd9f5bec925e02b9e756cf5b8732210/ripplo-testing-0.7.53.tgz","_integrity":"sha512-WA2YCWnpxtC2h78AeoyyBLtFhICivZe2VY67DBR/6v0y2AVLPZeCbCJ4M1Qd4OVBGwf2TrysszsXchsFzjLo9A==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.53_1783719480569_0.3479940514165565","host":"s3://npm-registry-packages-npm-production"}},"0.7.54":{"name":"@ripplo/testing","version":"0.7.54","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.54","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"ef95386d004ddcfc162f12867d2218a7b3965cc0","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.54.tgz","fileCount":21,"integrity":"sha512-sX+VGku4/XDTHSDv8sW/WWAp+JOMmruHAqZrmd1zYe86pYpWPRCQkPj2eGDOHWWAs8Gc80IDBjrpZP8ykrGo7Q==","signatures":[{"sig":"MEYCIQCVF6R0DrR0m3k9f+yMvZSsXwPW82QMdEFLav8z73MNqAIhAMO0pCthM486fX/Qj/5ozy3sROYrIvbwwq0tlrWYNGC3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":622752},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.54.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/f0fd438fc8e0f0ddf903a28db896a461/ripplo-testing-0.7.54.tgz","_integrity":"sha512-sX+VGku4/XDTHSDv8sW/WWAp+JOMmruHAqZrmd1zYe86pYpWPRCQkPj2eGDOHWWAs8Gc80IDBjrpZP8ykrGo7Q==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.54_1783798481261_0.08666177029077282","host":"s3://npm-registry-packages-npm-production"}},"0.7.55":{"name":"@ripplo/testing","version":"0.7.55","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.55","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"18ebe18938d2ad1c9727a723a6524bc1225f720d","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.55.tgz","fileCount":21,"integrity":"sha512-AHx6KOVinU6kXQ/dX65bmWcbyWwLsLet2la6BlwwYjLFQ8F1HNojDya3uboaj482klNCsd/+HzBh7V6o4hg35w==","signatures":[{"sig":"MEQCIBPX+57rAphMh547X9MV61GIX8AmrESINECsWuJNirFyAiB04bGSPN5rVcEdZqKWa0v6bhuisKYhFJGdeKjouo8qdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":661197},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.55.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/3b36ee0de8904249264cdf24d703915e/ripplo-testing-0.7.55.tgz","_integrity":"sha512-AHx6KOVinU6kXQ/dX65bmWcbyWwLsLet2la6BlwwYjLFQ8F1HNojDya3uboaj482klNCsd/+HzBh7V6o4hg35w==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.55_1783887998751_0.8478552190564439","host":"s3://npm-registry-packages-npm-production"}},"0.7.56":{"name":"@ripplo/testing","version":"0.7.56","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.56","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"5121366579706f0ba0008d9331002167c7c6adeb","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.56.tgz","fileCount":21,"integrity":"sha512-oeIS+4g81BcFdFiKehNGLZLYGzikgyHTm20tXyv2Fbt1z0UDN27HXIxCcelJ/DWuj71Wa6NGod+hv7pxkcUhRg==","signatures":[{"sig":"MEUCIQD9SFhjKjNay4x4/qX5hsW6egdYeDILk77/G/hlh9cR0QIgBwXapnSqBRqR05rBwbgqbnzdDo8AgOBD2NkLkLntvos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":662617},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.56.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/ce400ba88e36c17ebd9085c6da77a375/ripplo-testing-0.7.56.tgz","_integrity":"sha512-oeIS+4g81BcFdFiKehNGLZLYGzikgyHTm20tXyv2Fbt1z0UDN27HXIxCcelJ/DWuj71Wa6NGod+hv7pxkcUhRg==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.56_1783893012945_0.5994783510420718","host":"s3://npm-registry-packages-npm-production"}},"0.7.57":{"name":"@ripplo/testing","version":"0.7.57","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.57","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"861c5294f6ef53ca8952b7c097c0c883d2904997","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.57.tgz","fileCount":23,"integrity":"sha512-wXrubSCsZaNgSq6EONHL9L3RCWLZd1HWy27/jvtGAY10DrgEF0wHCQh64F6z02sYbAsy/6HWyyAn8n5sQRANag==","signatures":[{"sig":"MEYCIQCmFFjdSqnRUi4T3YoE+XNI9R0iJTaoBdYg9ig5eaOuqAIhAMJXWd/Vl+nVMlT0QsrhsJzPzYhXRKvQj50NOyjCM8lD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":723173},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.57.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/22fb2ef887527a40c7a9e6a8abdf2227/ripplo-testing-0.7.57.tgz","_integrity":"sha512-wXrubSCsZaNgSq6EONHL9L3RCWLZd1HWy27/jvtGAY10DrgEF0wHCQh64F6z02sYbAsy/6HWyyAn8n5sQRANag==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.57_1783898153930_0.8256731249672671","host":"s3://npm-registry-packages-npm-production"}},"0.7.58":{"name":"@ripplo/testing","version":"0.7.58","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.58","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"8a94120f36854c136a488cb683b00428888b6a98","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.58.tgz","fileCount":23,"integrity":"sha512-RR+7jWZwIMy6jML1jxzZYY2OiqV/36x77FGoF7aKXAYHmk51rUklwmE49pmwKM3yOMMFLBMeE/FOb0oKCy3T8w==","signatures":[{"sig":"MEUCICgR74YB9EsqtdfrwviprvVTAXDScZwpcrRqVUy2BglkAiEAmUXcsDCxzPYqCNfDta/J/8B8IHZtDn7ZbdRmXdpIN4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":723623},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.58.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/545f0ec368fc67d143601cd5c6effb03/ripplo-testing-0.7.58.tgz","_integrity":"sha512-RR+7jWZwIMy6jML1jxzZYY2OiqV/36x77FGoF7aKXAYHmk51rUklwmE49pmwKM3yOMMFLBMeE/FOb0oKCy3T8w==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.58_1783908321566_0.75981658932584","host":"s3://npm-registry-packages-npm-production"}},"0.7.59":{"name":"@ripplo/testing","version":"0.7.59","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.59","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"6c458b89bed5a9aa64f89c79bca6093401daad91","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.59.tgz","fileCount":23,"integrity":"sha512-EOdOiE9szc/V0HLMLVNlgeVLyRsNMpfyfkkQRfkEBwhA2glThdIBuLWokkPO3Pvj2LmqLj3qqVBJYwaq6ZcbUA==","signatures":[{"sig":"MEUCICzT5K1WFFmNVgvZ2N+H36Bhiex6RRVdk8qO2cEWBbfPAiEAr8IyzXKxjvKu0xD1s07QVnmBmiDSky7lcMaVhnDuaCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":712947},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.59.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/ac4169c0f6f840c533222ab5875d798f/ripplo-testing-0.7.59.tgz","_integrity":"sha512-EOdOiE9szc/V0HLMLVNlgeVLyRsNMpfyfkkQRfkEBwhA2glThdIBuLWokkPO3Pvj2LmqLj3qqVBJYwaq6ZcbUA==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.59_1783952180025_0.8245183639803573","host":"s3://npm-registry-packages-npm-production"}},"0.7.60":{"name":"@ripplo/testing","version":"0.7.60","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.60","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"c17dc8018704f777e80a3eff2f1d9421d89cdf33","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.60.tgz","fileCount":23,"integrity":"sha512-3nMCfQgGjmUmPbdK0vIRNFBcv4nCXRPWW/mAAg0OePNXnfaLoYcCwiY5mS0cnIMNO4qjdC3+DIBb7ugAJVVIQQ==","signatures":[{"sig":"MEQCIE/Bv9JeuHZBTkyJ7SAO0IFsaijnIfjvTUTV/952JGnHAiA3je5/zHM0InOxJNxwAws96naxZFzKJnAsM7IkI2Rstw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713006},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.60.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/db1df3758c3330b41ca9ff5c39bbc8fd/ripplo-testing-0.7.60.tgz","_integrity":"sha512-3nMCfQgGjmUmPbdK0vIRNFBcv4nCXRPWW/mAAg0OePNXnfaLoYcCwiY5mS0cnIMNO4qjdC3+DIBb7ugAJVVIQQ==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.60_1783964742310_0.8122375100796106","host":"s3://npm-registry-packages-npm-production"}},"0.7.61":{"name":"@ripplo/testing","version":"0.7.61","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.61","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"472af37582124be66d663e0ea0db999ede5ebcc4","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.61.tgz","fileCount":23,"integrity":"sha512-9/dE7CT+qsy52qPVYqjf74RBYDymEENRavqDEOlrlnUnW7bxGhB4GjDssH+Ln9iEWd9dqAOnZhAmAE4sPmsE9g==","signatures":[{"sig":"MEQCIDyItZc3BQ2Jo/AmZFATo6P3BosGHoZoxkeEcLzl/FrwAiBAfW3r9ax89WJ4JJUB88yPRuXh1Ep5HiuXff0tIhP/Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714815},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.61.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/a89ccf92893d501b5a628565f073000d/ripplo-testing-0.7.61.tgz","_integrity":"sha512-9/dE7CT+qsy52qPVYqjf74RBYDymEENRavqDEOlrlnUnW7bxGhB4GjDssH+Ln9iEWd9dqAOnZhAmAE4sPmsE9g==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.61_1783972780685_0.8751321262734477","host":"s3://npm-registry-packages-npm-production"}},"0.7.62":{"name":"@ripplo/testing","version":"0.7.62","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.7.62","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"83eade66581705b93bd009dde18c186c42079837","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.7.62.tgz","fileCount":23,"integrity":"sha512-ghrbmMbw7/2yWmTvzxFiNFOpXxNz+cFMRj3AaxZKIIDhvMyClr4wPmRcwMFj+6+AftKOaYcdvtbL7I/3qzeLRw==","signatures":[{"sig":"MEUCIDLBiRXGt76rI0ZxL0WOGl4R+qGXaSuBJxytCIYqMIenAiEA+79SWyqeZ8RFW9dvF3uO0OR0dahWLwakF6/4FLo07Ws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713868},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.7.62.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/private/var/folders/mp/dn8581g15sl2z18sz4l3wtsh0000gn/T/98d36e4190ff9e52496d57dfdfa5110b/ripplo-testing-0.7.62.tgz","_integrity":"sha512-ghrbmMbw7/2yWmTvzxFiNFOpXxNz+cFMRj3AaxZKIIDhvMyClr4wPmRcwMFj+6+AftKOaYcdvtbL7I/3qzeLRw==","_npmVersion":"11.12.1","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.62_1784005639053_0.27554303028051796","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@ripplo/testing","version":"0.8.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.8.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"d7e3d69c5ddf04ce0a4468b08854fd1120b03669","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.8.0.tgz","fileCount":23,"integrity":"sha512-GHTUcEJTr00qZfhlDZf7qouMDd4aM3QzMtTAKZ0q/yBddaB9Jt8ASFJQuk+qp/uX+WiaY5t3IGdQAtm3aMdDLg==","signatures":[{"sig":"MEUCIHOfhUGhJkz8P8pLfD5KU0gmOtbIkhQhpCLc/Hk55xBkAiEAvP+dk8yhWAOUyJAjWXuWNE6cxE2CRKZEJXsYK3k7lQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":721960},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/41377563c2a11f6c3bc87f8e98d3f4e4/ripplo-testing-0.8.0.tgz","_integrity":"sha512-GHTUcEJTr00qZfhlDZf7qouMDd4aM3QzMtTAKZ0q/yBddaB9Jt8ASFJQuk+qp/uX+WiaY5t3IGdQAtm3aMdDLg==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.8.0_1784055910557_0.08891962938894737","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@ripplo/testing","version":"0.8.1","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.8.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"2a97b4c2a921cf88dda8c299ba083667a58d7220","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.8.1.tgz","fileCount":23,"integrity":"sha512-UDNYvro5eycWG1w9qSzDu504rsNjZfzpOLhZKpdDM6CekfiMc8zojT7rkmdscfxI1KTmE+mNZ0o+2fBeFBt65w==","signatures":[{"sig":"MEUCIDXVVyn8Lbcm92sFQovhT9CPhR6T42wDjyjcEySrm9ilAiEAw0MzoAY4Q4JeSOuLiGlBNjWC68jENVKGEBYVxwh7+hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":721960},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.8.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/1bdb521c17cf02a8f194f53de2997550/ripplo-testing-0.8.1.tgz","_integrity":"sha512-UDNYvro5eycWG1w9qSzDu504rsNjZfzpOLhZKpdDM6CekfiMc8zojT7rkmdscfxI1KTmE+mNZ0o+2fBeFBt65w==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.8.1_1784156291759_0.49114967719239133","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@ripplo/testing","version":"0.8.2","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.8.2","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"c542ae6888d229dba33bdacf21d20f7b06197740","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.8.2.tgz","fileCount":23,"integrity":"sha512-xMLKDxsTd0lXDSWGxzqsiPYwsUNclVZt3W3jw8AGusNT+FBOOTa2ZV9PDRqQyiTR0fPYgEo2zRTwn/F+cRqrmQ==","signatures":[{"sig":"MEYCIQCYNJA6DCNBM63Q6fTItIxegZ6ELDqjRP+27oubsQHqwgIhAPnUmGbtqJOVGKbWz56e/mn/cZ9B5Gu03amZHg+oUgJt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":721960},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.8.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/3b6d6bf64146717e35b377d55184781d/ripplo-testing-0.8.2.tgz","_integrity":"sha512-xMLKDxsTd0lXDSWGxzqsiPYwsUNclVZt3W3jw8AGusNT+FBOOTa2ZV9PDRqQyiTR0fPYgEo2zRTwn/F+cRqrmQ==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.8.2_1784162832066_0.35543609688569044","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@ripplo/testing","version":"0.8.3","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.8.3","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"ef7283f5c5747c6295cef2f34640ecb61abe5023","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.8.3.tgz","fileCount":23,"integrity":"sha512-qY4j3l8bhLtFu4qRUMbJCkBFqH0qy8MC+ndxUe7k0Kecnbr81LZ9Clrs4iuynxyQL99kD8VsrY0Z+VKAZOONyg==","signatures":[{"sig":"MEUCIQCPQsRp75MMJ6fJ2KG9HCdwgT2N8eZ7H4pIyMQuG6VRwwIgIEgvaGwEGakLgdETbIkCiEFQ8NumvR1l8g3Riaiv23I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":721960},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.8.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/cbdeff5e1d622904263735aa0265b38a/ripplo-testing-0.8.3.tgz","_integrity":"sha512-qY4j3l8bhLtFu4qRUMbJCkBFqH0qy8MC+ndxUe7k0Kecnbr81LZ9Clrs4iuynxyQL99kD8VsrY0Z+VKAZOONyg==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.8.3_1784189338839_0.3973424925976248","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@ripplo/testing","version":"0.9.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"e0a70f64e99b232a866bf741ef324e1479628bed","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.0.tgz","fileCount":23,"integrity":"sha512-KSjAdhaCfJobkcDMJRp5zorzBkI/jdmosjBLuyyRQV7TRHcrWWpEIeGFT19NK5K8TWfo+zVtHRCifZtk2vTFrg==","signatures":[{"sig":"MEQCIBI4M6hmp8j8Uaf/b6rpdS3opT7tt7C11MY9mHPHP2hiAiBfgClShLnVbMp3ywOX4fX0NCdn3zqEVuoXBMsZnUVtwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727255},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/c31fd2a5dbd839979d045a98c478eb6f/ripplo-testing-0.9.0.tgz","_integrity":"sha512-KSjAdhaCfJobkcDMJRp5zorzBkI/jdmosjBLuyyRQV7TRHcrWWpEIeGFT19NK5K8TWfo+zVtHRCifZtk2vTFrg==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.0_1784228181269_0.677884879391448","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@ripplo/testing","version":"0.9.1","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"ed3fba5375f4871a31d8dd2e7b3d9cc802e407bd","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.1.tgz","fileCount":23,"integrity":"sha512-I8Au/2TdobGwnCO3EjQizQl3Wp/16WUdVIdtaQbA5rzMjsVujkGhRQZ/Sb+De8X9aTK1sj1x6U6LSBWjvaB1CQ==","signatures":[{"sig":"MEQCICswa8uxgvJej83eGOhdGCJ3/mCL8UYQzAv5ttV0qJAZAiA2MzfckF8BjSIl1U48/d7Y7fpZDCw5QEyUsam7Gp0zpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727255},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/0e65a55a48216f1c83a58458509d5fc7/ripplo-testing-0.9.1.tgz","_integrity":"sha512-I8Au/2TdobGwnCO3EjQizQl3Wp/16WUdVIdtaQbA5rzMjsVujkGhRQZ/Sb+De8X9aTK1sj1x6U6LSBWjvaB1CQ==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.1_1784239172119_0.22229262708560538","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@ripplo/testing","version":"0.9.2","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.2","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"1e5a193e39d0b7564fd7e71a518e8c05fe12887c","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.2.tgz","fileCount":23,"integrity":"sha512-EeSgruz9F8yvmGme1zBx/v9O4n7kHWkIjS5xUp776Vrb4uYjr1vX0H84RSXZLJ9mxmxm0s7a1XJzrXvRQHshsw==","signatures":[{"sig":"MEQCICxaCfeP6DdaZHQbmgu7xpMVrIh+0Mjjrsfo3bSel/7EAiAORZ4nxn1vTl1kvKBBtf8uoicGFn6n02QacXW0LamGyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727255},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/ff531353e0d3f96a7a8683b55c715966/ripplo-testing-0.9.2.tgz","_integrity":"sha512-EeSgruz9F8yvmGme1zBx/v9O4n7kHWkIjS5xUp776Vrb4uYjr1vX0H84RSXZLJ9mxmxm0s7a1XJzrXvRQHshsw==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.2_1784246742164_0.08240821206532956","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@ripplo/testing","version":"0.9.3","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.3","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"130aa23bf8a09b6d03c3927a44e1172b97bcd5a8","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.3.tgz","fileCount":23,"integrity":"sha512-jpq8wmeTr4FIpjp/o7DAPycVYBXHpXgTMZBP8PYW5ooKknTlBI4rlQrVubLSkCoQXP27M9kcGb+FjVHsASwDbg==","signatures":[{"sig":"MEUCIHcDjbApws9vB2beDwn9Z+L3x/A5aGRz69pdFQYuWpjBAiEA/lRLbEHtyOK+OXpdqT9HOVpG1yBFH5gHnwhAbnEqvpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":775873},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/cbff0ca6f96cf033919f21da54466f2a/ripplo-testing-0.9.3.tgz","_integrity":"sha512-jpq8wmeTr4FIpjp/o7DAPycVYBXHpXgTMZBP8PYW5ooKknTlBI4rlQrVubLSkCoQXP27M9kcGb+FjVHsASwDbg==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.3_1784273180126_0.16361803270167985","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@ripplo/testing","version":"0.9.4","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.4","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"ef50ab6396c51260d7641b3f25e68ecaa8e799ca","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.4.tgz","fileCount":23,"integrity":"sha512-9Cr7AGH/TRsNKnlaHbVmsdRNmKH0kjNakwMBlhCN89HhdlM3AWIL8+8+kM+2XyjLU2LLJZEBh2Erhz9SvpCwEA==","signatures":[{"sig":"MEUCIQD2AopeRuxjUTNOW5BhBEmLKysP5CAiykw8KVA2VaPtoAIgd8ME4NyBPUoGDyOqaO8ZYOLak90VJ5WciBmriXswpgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":775873},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/da8225bd82ec9dab8a67b619392132ce/ripplo-testing-0.9.4.tgz","_integrity":"sha512-9Cr7AGH/TRsNKnlaHbVmsdRNmKH0kjNakwMBlhCN89HhdlM3AWIL8+8+kM+2XyjLU2LLJZEBh2Erhz9SvpCwEA==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.4_1784303087704_0.7025517700951538","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@ripplo/testing","version":"0.9.5","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.5","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"c9143cd9ac5c9715b6447d3db5371a547a0c7e84","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.5.tgz","fileCount":23,"integrity":"sha512-PV0Qnh1rcCAIofkYtYiLu21RcbCWlZ+iWPBcCAn1VodMPg/n2ESevuu1TgfeYcUEGCmSMWG6ItkQoZ+BSPsNiA==","signatures":[{"sig":"MEUCIDLx1mz9cy85BZrh4K/yg/+UpQi5p76b1Eq5dn5lw/ogAiEAuX77f77L26Xz92DCib+7aQ54KJaghc76WeL4YTRqeuM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":775990},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/b410d308a6670beb6a9209a6652d45c6/ripplo-testing-0.9.5.tgz","_integrity":"sha512-PV0Qnh1rcCAIofkYtYiLu21RcbCWlZ+iWPBcCAn1VodMPg/n2ESevuu1TgfeYcUEGCmSMWG6ItkQoZ+BSPsNiA==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.5_1784406859118_0.949025348443713","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@ripplo/testing","version":"0.9.6","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.6","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"4d95d524718166d36b071394c88b780b410d1f16","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.6.tgz","fileCount":23,"integrity":"sha512-bMZJ+QAmiAk3g+jG40XpzAbH8VpnjDAAEAnrsX+eEOR/5I4Ga8MansowJZS1UA+XImK4rCw+r3/hq0uOr/+rbA==","signatures":[{"sig":"MEQCIFCmBgrjqdmoWJV5SNxFq1InfdeZJrzTNPp3pPsEyobJAiBEkb1qk9zTdofGYDranjO3InFhB2r6xNhZaD8jkVywiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774604},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/c524d84a4d3da33ee260e0425e3ccf70/ripplo-testing-0.9.6.tgz","_integrity":"sha512-bMZJ+QAmiAk3g+jG40XpzAbH8VpnjDAAEAnrsX+eEOR/5I4Ga8MansowJZS1UA+XImK4rCw+r3/hq0uOr/+rbA==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.6_1784517377749_0.8815787665573191","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@ripplo/testing","version":"0.9.7","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.7","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"114ed6f03beb49a6f5277f184d0062133298b594","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.7.tgz","fileCount":23,"integrity":"sha512-1CkPYYTMqbbG1DnmIKPRR7OwBBSOIMElq03WO74fwL4b1B0wnLrlocQjZWtofnvNE9LUYVlK0vGLn5KQKxoiHg==","signatures":[{"sig":"MEQCIAduNIlUk5tyn06WAemMlI78fbhlca0ZKFEKngXdp/0SAiAGXInP6EPlPxT2u8EyRimNKbUZKoBhGb8wamj4m+wYdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774604},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/b79d0dfaf843aef9ba72f91a98e4a4d7/ripplo-testing-0.9.7.tgz","_integrity":"sha512-1CkPYYTMqbbG1DnmIKPRR7OwBBSOIMElq03WO74fwL4b1B0wnLrlocQjZWtofnvNE9LUYVlK0vGLn5KQKxoiHg==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.7_1784583714904_0.5044605631700632","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@ripplo/testing","version":"0.9.8","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.9.8","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"1248d35c57c905c180f3d9afbd7984688ac67748","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.9.8.tgz","fileCount":23,"integrity":"sha512-xX+SBI0aVE8SEO02aYt1ZqBc7yHFLV2HQ9MuTQbKA1GKnaFxy4w4pn6TDmAk1y+IAvpP4Ol6kdi1i7D5mm+C2A==","signatures":[{"sig":"MEQCIHPC2JVPiiCU9ZAU7Upt0mbjfV1N7TYPFg8YXNvdRt81AiBuFLmegT+RKrsr7uFXQxV+3kMgTNYE61D2CKSdSfeGvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774604},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.9.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/f674e9940447d95da0f4aa9d908a810e/ripplo-testing-0.9.8.tgz","_integrity":"sha512-xX+SBI0aVE8SEO02aYt1ZqBc7yHFLV2HQ9MuTQbKA1GKnaFxy4w4pn6TDmAk1y+IAvpP4Ol6kdi1i7D5mm+C2A==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.9.8_1784591213645_0.4106730300768582","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@ripplo/testing","version":"0.10.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.10.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"d2b63c44c452a94452e5935a1d37473e6cc31af7","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.10.0.tgz","fileCount":23,"integrity":"sha512-D1p8CKR9SMuvy064PqKrHYIo298OjNAWqmVkafrDZnAFlKv8zaJ51TyrfR7fMHZLd966xFEEJRRAgZNyxABAww==","signatures":[{"sig":"MEUCIQC+KLLSr0+I6og7VehEqosnPx29YoGLvRgMNdTRCu2wfAIgeVYAyAoTjBbeG3D0nolsBa1QMFwDLL3d6aNuglGoBhc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781098},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.10.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/82143292efe953b2191bf2b19426a699/ripplo-testing-0.10.0.tgz","_integrity":"sha512-D1p8CKR9SMuvy064PqKrHYIo298OjNAWqmVkafrDZnAFlKv8zaJ51TyrfR7fMHZLd966xFEEJRRAgZNyxABAww==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare entities and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^7.0.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.10.0_1784749893985_0.2623955603807431","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@ripplo/testing","version":"0.11.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.11.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"19754b7c3bb3d7d6689bdf84af59ca49461e532c","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.11.0.tgz","fileCount":31,"integrity":"sha512-ATm6hR5X4AXJ7igX185XiHLU4TAXK1qsvsVi0XnhSxPqpv1g/8nVX66z6tzscd7Iyhli9tQHAZcJ5H/uxLB7rA==","signatures":[{"sig":"MEUCICA4eieE35Ry9jTAzQcbbv5lEIBWI5D8Jyw8mLLSJLYiAiEAwKZ3GsX2CZcMWVajhoXCc6YHpbuKIJn4ABqbmee+IBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":448636},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.11.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/5bcec99a1cc4bc33d803409dd59ff0e6/ripplo-testing-0.11.0.tgz","_integrity":"sha512-ATm6hR5X4AXJ7igX185XiHLU4TAXK1qsvsVi0XnhSxPqpv1g/8nVX66z6tzscd7Iyhli9tQHAZcJ5H/uxLB7rA==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"engine":["./dist/engine.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"browser":["./dist/browser.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^8.1.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","fast-check":"^4.3.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.11.0_1785208234362_0.04306407170521176","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@ripplo/testing","version":"0.11.1","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.11.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"50ef484f47fdf4dafd39d16624c9a0aff8764e98","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.11.1.tgz","fileCount":31,"integrity":"sha512-dgutBjnu97Mdca4w4Tlopx8cf/xe44bAEYkMcon/JjagrXn0HTYWo81YmKUNWQQNWETTdX/T6f3HUy/WzICi9Q==","signatures":[{"sig":"MEUCIQDiPErCWiHVHUFIz7RleNiLTAhPl9Qnqofffx7Ptmy8dAIgOOx5UUNb62WZRJrWmPSTPiP4K8t4rG1DoyXhud9mI00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":448636},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.11.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/716f7aad34df7a61da0e1f527be6579c/ripplo-testing-0.11.1.tgz","_integrity":"sha512-dgutBjnu97Mdca4w4Tlopx8cf/xe44bAEYkMcon/JjagrXn0HTYWo81YmKUNWQQNWETTdX/T6f3HUy/WzICi9Q==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"engine":["./dist/engine.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"browser":["./dist/browser.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^8.1.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","fast-check":"^4.3.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.11.1_1785273502988_0.94422657902632","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@ripplo/testing","version":"0.11.2","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.11.2","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"1d255a2db15e6cf5479797126bb20e87fbb2aa9b","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.11.2.tgz","fileCount":31,"integrity":"sha512-pSxecHCjD4Tt89Nl0lK4bkqdsEkSgFVdy38/+9nbnCtCi2WEbynnQyJXUwYgExev/VDbmtMAkDlC+s68fy1sSQ==","signatures":[{"sig":"MEUCIFzOCuOblLKMPIe1oIdGIAUkP5P5Wpbzw22QSDbz4hm3AiEA9erurX6sIXkGxUw89Vk123FDFHwz2RnS13BQGr6IjVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449955},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.11.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/95e02c28ec389076c9b1bf8b49abbadf/ripplo-testing-0.11.2.tgz","_integrity":"sha512-pSxecHCjD4Tt89Nl0lK4bkqdsEkSgFVdy38/+9nbnCtCi2WEbynnQyJXUwYgExev/VDbmtMAkDlC+s68fy1sSQ==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"engine":["./dist/engine.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"browser":["./dist/browser.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^8.1.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","fast-check":"^4.3.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.11.2_1785289142982_0.5062091339151353","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@ripplo/testing","version":"0.12.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.12.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"7b8d5c81dc48f1745bfc301e4bf6b8312529de10","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.12.0.tgz","fileCount":31,"integrity":"sha512-WfFKFFiU89AbEmcf3BP/4q0V7yhONG/5flgLhaX82mPv+DK+dr/4MevHGYWqGpKtrsM2DHknpBcHsApjWmubfg==","signatures":[{"sig":"MEYCIQDTK4xCU058sXWbrnMmZMoh8/5hdU7aGJMeSQgK571AogIhANPfaEbL5cj9bfj+LxPVx996sV0oDae9FdIlrUCD6f3J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452815},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.12.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/42eb12b30b8359dfef6052058d572cfa/ripplo-testing-0.12.0.tgz","_integrity":"sha512-WfFKFFiU89AbEmcf3BP/4q0V7yhONG/5flgLhaX82mPv+DK+dr/4MevHGYWqGpKtrsM2DHknpBcHsApjWmubfg==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"engine":["./dist/engine.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"browser":["./dist/browser.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^8.1.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","fast-check":"^4.3.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.12.0_1785297555221_0.5547087135033406","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@ripplo/testing","version":"0.13.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.13.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"1105adee649fd3406020b48e805dd3d7b49835d9","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.13.0.tgz","fileCount":31,"integrity":"sha512-IdcdAfU94vsITqa9xeae4lfIiyXHOVkk8jS8DypLgTlX8udOmHDUdBZMiS4lmnCgACkVOmej4/w5O5b/KIgJTg==","signatures":[{"sig":"MEQCIHk3z7TIY6MXnWXT0/pzF3aco4UtBXKJp3xfETJGOOzzAiA/6e7BAvt+SwHbuIh7YI6kAKx7EQMZTUCqqgZazGLY5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457921},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.13.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/19fc60892cc2cd79fc70b008ae889b30/ripplo-testing-0.13.0.tgz","_integrity":"sha512-IdcdAfU94vsITqa9xeae4lfIiyXHOVkk8jS8DypLgTlX8udOmHDUdBZMiS4lmnCgACkVOmej4/w5O5b/KIgJTg==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"engine":["./dist/engine.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"browser":["./dist/browser.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^8.1.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","fast-check":"^4.3.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.13.0_1785340192220_0.6536025946916004","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@ripplo/testing","version":"0.14.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.14.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"decf250f01d6924d9149816b8d60e25113751620","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.14.0.tgz","fileCount":31,"integrity":"sha512-YN9QlUpQ6ERh5c/kX4WmwqjdqkcZsxm2FslGuHiHQhZs85OlNY225EIw8p0x04TcunYtJbJnT12gqr8WMpZiLg==","signatures":[{"sig":"MEUCIQDJiQv1Qn0M4awq++q1paQSJ+840kW4MATiSvBRql91xAIgJgKjjhCvPnMw1y4w1LvDuKAyYyQYzVcvafD8Xzmli4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":467642},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.14.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/f6ccce8ef6a90c34e2366a68e510f5a5/ripplo-testing-0.14.0.tgz","_integrity":"sha512-YN9QlUpQ6ERh5c/kX4WmwqjdqkcZsxm2FslGuHiHQhZs85OlNY225EIw8p0x04TcunYtJbJnT12gqr8WMpZiLg==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"engine":["./dist/engine.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"browser":["./dist/browser.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^8.1.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","fast-check":"^4.3.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.14.0_1785355004924_0.7022646822354643","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@ripplo/testing","version":"0.15.0","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.15.0","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"242dc6ab4cdd4873e18b46b70f9991e42411fbff","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.15.0.tgz","fileCount":31,"integrity":"sha512-Nk2jaYJC9ETxKRCPF6020cCq61dPNgQVOBUPQnaIszeQ8ijU12ZB8GDQ20gmiTepKNSH9StJsC0XRE7oUH6/jw==","signatures":[{"sig":"MEUCIBmN6aL281SN5DdImhRFDP5XtXjEzw+in5UwvM/EcbpkAiEA7gFULn6wPKuKf1xFYe447kKnxx6HrA3pOJu8m7JvTSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469024},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.15.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/4f50b9e2adb8862cb989ee1177d7d172/ripplo-testing-0.15.0.tgz","_integrity":"sha512-Nk2jaYJC9ETxKRCPF6020cCq61dPNgQVOBUPQnaIszeQ8ijU12ZB8GDQ20gmiTepKNSH9StJsC0XRE7oUH6/jw==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"engine":["./dist/engine.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"browser":["./dist/browser.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^8.1.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","fast-check":"^4.3.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.15.0_1785360735539_0.01827305752624042","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@ripplo/testing","version":"0.15.1","license":"SEE LICENSE IN LICENSE.md","_id":"@ripplo/testing@0.15.1","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"homepage":"https://ripplo.ai","dist":{"shasum":"d3c3f1ea3deadf5161aefa3c3ec680b3907e0755","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.15.1.tgz","fileCount":31,"integrity":"sha512-t59oM5hbjo9ry/x9Zrf75erF0cLIVjyfpUYE1gIJNyE7/YAlL6gP4xLaErQ3b9fF6UYZr0LGBUY4gU+mbbMMDw==","signatures":[{"sig":"MEUCIQDp+EWlgX9BlAFQy5p0WASF90JPD+VUlO05+64hwasBTAIgXFepCxlRno0L6q/SkB+5sa5mtBeSmPomOHItZIOB+20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469544},"main":"./dist/index.js","type":"module","_from":"file:ripplo-testing-0.15.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","check-types":"tsc --noEmit","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"_resolved":"/tmp/8b457a611e61ddc4c5e96230fc095af4/ripplo-testing-0.15.1.tgz","_integrity":"sha512-t59oM5hbjo9ry/x9Zrf75erF0cLIVjyfpUYE1gIJNyE7/YAlL6gP4xLaErQ3b9fF6UYZr0LGBUY4gU+mbbMMDw==","_npmVersion":"10.9.8","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"4.3.6","neverthrow":"^8.2.0","standardwebhooks":"^1.0.0"},"typesVersions":{"*":{"koa":["./dist/koa.d.ts"],"hono":["./dist/hono.d.ts"],"vite":["./dist/vite.d.ts"],"elysia":["./dist/elysia.d.ts"],"engine":["./dist/engine.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"browser":["./dist/browser.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"koa":"^2.15.0","tsx":"^4.21.0","hono":"^4.6.0","tsup":"^8.5.1","vite":"^8.1.0","elysia":"^1.1.0","eslint":"^9.39.1","vitest":"^4.1.4","express":"^5.1.0","fastify":"^5.0.0","@types/koa":"^2.15.0","fast-check":"^4.3.0","typescript":"^5.9.3","@types/node":"^22.15.3","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0","@types/express":"^5.0.0","@ripplo/eslint-config":"0.0.0","eslint-plugin-neverthrow":"^1.1.4"},"peerDependencies":{"koa":"^2.0.0 || ^3.0.0","hono":"^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0"},"peerDependenciesMeta":{"koa":{"optional":true},"hono":{"optional":true},"vite":{"optional":true},"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/testing_0.15.1_1785369589319_0.10320122820613076","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"@ripplo/testing","version":"0.15.2","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","homepage":"https://ripplo.ai","license":"SEE LICENSE IN LICENSE.md","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js"},"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js","default":"./dist/engine.js"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","default":"./dist/express.js"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","default":"./dist/fastify.js"},"./hono":{"types":"./dist/hono.d.ts","import":"./dist/hono.js","default":"./dist/hono.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","import":"./dist/nextjs.js","default":"./dist/nextjs.js"},"./nestjs":{"types":"./dist/nestjs.d.ts","import":"./dist/nestjs.js","default":"./dist/nestjs.js"},"./koa":{"types":"./dist/koa.d.ts","import":"./dist/koa.js","default":"./dist/koa.js"},"./elysia":{"types":"./dist/elysia.d.ts","import":"./dist/elysia.js","default":"./dist/elysia.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"}},"dependencies":{"neverthrow":"^8.2.0","standardwebhooks":"^1.0.0","zod":"4.3.6"},"peerDependencies":{"elysia":"^1.0.0","express":"^4.0.0 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","hono":"^4.0.0","koa":"^2.0.0 || ^3.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"elysia":{"optional":true},"express":{"optional":true},"fastify":{"optional":true},"hono":{"optional":true},"koa":{"optional":true},"vite":{"optional":true}},"devDependencies":{"@types/express":"^5.0.0","@types/koa":"^2.15.0","@types/node":"^22.15.3","elysia":"^1.1.0","eslint":"^9.39.1","eslint-plugin-neverthrow":"^1.1.4","express":"^5.1.0","fast-check":"^4.3.0","fastify":"^5.0.0","hono":"^4.6.0","koa":"^2.15.0","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"^5.9.3","vite":"^8.1.0","vitest":"^4.1.4","@ripplo/eslint-config":"0.0.0","@ripplo/spec":"^0.0.0","@ripplo/solver":"^0.0.0"},"scripts":{"build":"tsup","check-types":"tsc --noEmit","lint":"eslint src","test":"vitest run","api-snapshot":"tsup && tsx scripts/api-snapshot.ts"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","typesVersions":{"*":{"browser":["./dist/browser.d.ts"],"engine":["./dist/engine.d.ts"],"express":["./dist/express.d.ts"],"fastify":["./dist/fastify.d.ts"],"hono":["./dist/hono.d.ts"],"nextjs":["./dist/nextjs.d.ts"],"nestjs":["./dist/nestjs.d.ts"],"koa":["./dist/koa.d.ts"],"elysia":["./dist/elysia.d.ts"],"vite":["./dist/vite.d.ts"]}},"_id":"@ripplo/testing@0.15.2","_integrity":"sha512-aCqHYEbY0B8eP3hOoUq67j/VC7uY8ZKiuqJy7+V3gBiPZ23wgC9FTifAK407jvSYIJLl+Fj+Z/Gy1ALZcPZMUQ==","_resolved":"/tmp/191fb31c182381edd8aa3e865caae82c/ripplo-testing-0.15.2.tgz","_from":"file:ripplo-testing-0.15.2.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-aCqHYEbY0B8eP3hOoUq67j/VC7uY8ZKiuqJy7+V3gBiPZ23wgC9FTifAK407jvSYIJLl+Fj+Z/Gy1ALZcPZMUQ==","shasum":"cf4d962d2f5cce57d2406bcba81d681a7bc9941f","tarball":"https://registry.npmjs.org/@ripplo/testing/-/testing-0.15.2.tgz","fileCount":31,"unpackedSize":470047,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCLu/KOE0vPip585+T3TEBS3Qnt1pupFFf0qGX5QF+nqgIgGI2dqZXZ58pm2dxBeQhNgLjQeI3dYsJXqKQLrNax9DA="}]},"_npmUser":{"name":"ripplo","email":"mail@ripplo.ai"},"directories":{},"maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/testing_0.15.2_1785516631359_0.3347328777910463"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T01:30:00.603Z","modified":"2026-07-31T16:50:31.726Z","0.0.1":"2026-04-17T01:30:00.919Z","0.0.2":"2026-04-17T03:50:34.651Z","0.0.3":"2026-04-17T12:32:18.306Z","0.0.4":"2026-04-17T18:25:44.973Z","0.0.5":"2026-04-17T22:34:44.777Z","0.0.6":"2026-04-17T23:15:43.997Z","0.0.7":"2026-04-17T23:55:01.749Z","0.0.8":"2026-04-18T00:41:49.292Z","0.0.9":"2026-04-18T12:48:43.375Z","0.0.10":"2026-04-18T23:02:10.448Z","0.0.11":"2026-04-19T12:32:37.183Z","0.1.0":"2026-04-19T15:52:33.333Z","0.1.1":"2026-04-19T23:32:08.904Z","0.2.0":"2026-04-20T01:05:03.339Z","0.3.0":"2026-04-20T01:58:37.700Z","0.3.1":"2026-04-20T02:14:39.364Z","0.3.2":"2026-04-20T03:24:45.090Z","0.3.3":"2026-04-20T10:42:31.371Z","0.3.4":"2026-04-21T02:14:39.048Z","0.3.5":"2026-04-21T02:38:16.754Z","0.3.6":"2026-04-21T21:31:07.670Z","0.3.7":"2026-04-22T03:43:39.016Z","0.3.8":"2026-04-23T01:35:58.799Z","0.3.9":"2026-04-24T11:25:59.153Z","0.3.10":"2026-04-24T12:30:08.633Z","0.4.0":"2026-04-26T01:43:37.768Z","0.4.1":"2026-04-26T02:12:33.746Z","0.4.2":"2026-04-26T03:10:50.301Z","0.4.3":"2026-04-26T15:42:06.771Z","0.4.4":"2026-04-29T04:15:59.409Z","0.4.5":"2026-05-07T15:53:19.255Z","0.4.6":"2026-05-07T22:07:18.173Z","0.4.7":"2026-05-08T19:56:06.141Z","0.4.8":"2026-05-08T21:33:58.847Z","0.5.0":"2026-05-09T21:55:11.693Z","0.5.1":"2026-05-10T15:45:54.382Z","0.5.2":"2026-05-10T16:07:45.778Z","0.5.3":"2026-05-11T02:21:25.386Z","0.5.4":"2026-05-11T15:22:48.703Z","0.5.5":"2026-05-11T18:53:25.440Z","0.5.6":"2026-05-11T21:13:06.641Z","0.6.0":"2026-05-12T19:49:51.698Z","0.6.1":"2026-05-14T13:32:06.096Z","0.7.0":"2026-06-10T17:07:03.603Z","0.7.1":"2026-06-10T22:58:54.173Z","0.7.2":"2026-06-10T23:53:01.516Z","0.7.3":"2026-06-11T03:25:07.492Z","0.7.4":"2026-06-11T06:58:10.280Z","0.7.5":"2026-06-11T18:58:48.358Z","0.7.6":"2026-06-11T20:03:11.773Z","0.7.7":"2026-06-12T01:16:44.017Z","0.7.8":"2026-06-12T02:44:08.135Z","0.7.9":"2026-06-12T15:33:50.456Z","0.7.10":"2026-06-12T23:15:42.977Z","0.7.11":"2026-06-13T14:02:10.039Z","0.7.12":"2026-06-15T03:49:18.285Z","0.7.13":"2026-06-15T15:41:34.965Z","0.7.14":"2026-06-15T18:12:08.499Z","0.7.15":"2026-06-15T22:34:30.802Z","0.7.16":"2026-06-16T21:05:54.295Z","0.7.17":"2026-06-17T00:37:05.430Z","0.7.18":"2026-06-17T18:52:11.717Z","0.7.19":"2026-06-22T18:31:21.520Z","0.7.20":"2026-06-23T18:28:29.456Z","0.7.21":"2026-06-24T01:22:36.014Z","0.7.22":"2026-06-24T04:42:33.935Z","0.7.23":"2026-06-24T05:47:21.634Z","0.7.24":"2026-06-24T15:10:38.035Z","0.7.25":"2026-06-24T20:02:56.079Z","0.7.26":"2026-06-25T02:08:09.387Z","0.7.27":"2026-06-25T17:49:22.894Z","0.7.28":"2026-06-25T19:07:15.937Z","0.7.29":"2026-06-25T20:23:11.872Z","0.7.30":"2026-06-26T00:04:01.313Z","0.7.31":"2026-06-26T02:33:25.503Z","0.7.32":"2026-06-26T05:07:10.233Z","0.7.33":"2026-06-26T21:51:31.465Z","0.7.34":"2026-06-26T23:12:29.882Z","0.7.35":"2026-06-28T05:17:27.634Z","0.7.36":"2026-06-29T19:58:32.015Z","0.7.37":"2026-07-01T00:08:06.317Z","0.7.38":"2026-07-01T01:46:34.626Z","0.7.39":"2026-07-01T16:16:09.764Z","0.7.40":"2026-07-01T17:06:45.014Z","0.7.41":"2026-07-01T18:41:42.902Z","0.7.42":"2026-07-02T12:35:29.164Z","0.7.43":"2026-07-03T03:45:45.840Z","0.7.44":"2026-07-03T07:54:21.869Z","0.7.45":"2026-07-03T16:20:08.929Z","0.7.46":"2026-07-06T00:14:08.436Z","0.7.47":"2026-07-06T01:54:59.000Z","0.7.48":"2026-07-06T04:48:11.769Z","0.7.49":"2026-07-06T20:13:11.284Z","0.7.50":"2026-07-06T23:26:37.963Z","0.7.51":"2026-07-07T17:00:28.659Z","0.7.52":"2026-07-08T16:14:49.216Z","0.7.53":"2026-07-10T21:38:00.735Z","0.7.54":"2026-07-11T19:34:41.404Z","0.7.55":"2026-07-12T20:26:38.893Z","0.7.56":"2026-07-12T21:50:13.087Z","0.7.57":"2026-07-12T23:15:54.127Z","0.7.58":"2026-07-13T02:05:21.729Z","0.7.59":"2026-07-13T14:16:20.213Z","0.7.60":"2026-07-13T17:45:42.454Z","0.7.61":"2026-07-13T19:59:40.853Z","0.7.62":"2026-07-14T05:07:19.199Z","0.8.0":"2026-07-14T19:05:10.772Z","0.8.1":"2026-07-15T22:58:11.930Z","0.8.2":"2026-07-16T00:47:12.299Z","0.8.3":"2026-07-16T08:08:59.050Z","0.9.0":"2026-07-16T18:56:21.456Z","0.9.1":"2026-07-16T21:59:32.292Z","0.9.2":"2026-07-17T00:05:42.413Z","0.9.3":"2026-07-17T07:26:20.318Z","0.9.4":"2026-07-17T15:44:47.895Z","0.9.5":"2026-07-18T20:34:19.300Z","0.9.6":"2026-07-20T03:16:17.916Z","0.9.7":"2026-07-20T21:41:55.068Z","0.9.8":"2026-07-20T23:46:53.808Z","0.10.0":"2026-07-22T19:51:34.157Z","0.11.0":"2026-07-28T03:10:34.516Z","0.11.1":"2026-07-28T21:18:23.171Z","0.11.2":"2026-07-29T01:39:03.128Z","0.12.0":"2026-07-29T03:59:15.382Z","0.13.0":"2026-07-29T15:49:52.380Z","0.14.0":"2026-07-29T19:56:45.095Z","0.15.0":"2026-07-29T21:32:15.703Z","0.15.1":"2026-07-29T23:59:49.466Z","0.15.2":"2026-07-31T16:50:31.564Z"},"license":"SEE LICENSE IN LICENSE.md","homepage":"https://ripplo.ai","description":"Typed test DSL for Ripplo — declare state and user flows, compile to a lockfile","maintainers":[{"name":"ripplo","email":"mail@ripplo.ai"}],"readme":"# `@ripplo/testing`\n\nRipplo’s typed workflow DSL.\n\nAn app defines one Zod state schema. Each top-level key is a source, and each source is read as one\nvalidated JSON value. Workflows use handles derived from that schema, so state paths and record\nfields do not use string keys.\n\n`npx ripplo init` installs `@ripplo/testing` and its exact Zod 4 version. For manual setup:\n\n```sh\npnpm add -D --save-exact @ripplo/testing zod@4.3.6\n```\n\n```ts\nimport {\n  createRipplo,\n  defineState,\n  setup,\n  source,\n} from \"@ripplo/testing\";\nimport { z } from \"zod/v4\";\n\nexport const state = defineState(\n  z.object({\n    core: source.http(\n      z.object({\n        organizations: setup.record(\n          z.object({\n            id: setup.generated(z.string()),\n            name: setup.value(z.string()),\n          }),\n        ),\n        users: setup.record(\n          z.object({\n            email: setup.value(z.email()),\n            token: setup.generated(z.string()),\n          }),\n        ),\n      ),\n    ),\n    frontend: source.browser(\n      z.object({\n        editor: z.object({\n          dirty: setup.value(z.boolean()),\n        }),\n      }),\n    ),\n  }),\n);\n\nexport const ripplo = createRipplo({\n  facts: undefined,\n  state,\n  viewports: [\"desktop\", \"mobile\"],\n  workflows,\n});\n```\n\nApps that must keep Zod 3 install Zod 4 under an alias:\n\n```sh\npnpm add -D --save-exact @ripplo/testing zod4@npm:zod@4.3.6\n```\n\nTheir state schema imports `z` from `zod4` instead of `zod/v4`. Do not pass Zod 3 schemas to\nRipplo.\n\n`setup.value(schema)` marks a value that workflows may provide. `setup.generated(schema)` marks a\nvalue returned by setup, such as an ID. `setup.record(rowSchema)` marks a keyed record collection\nthat can be synthesized.\n\n## Workflows\n\nOne workflow models one critical user intent through its natural multi-step path.\n\n- `given` describes the widest starting-state constraints valid for the whole journey.\n- `arbitrary(field)` supplies schema-valid workflow inputs. Reuse each binding in later actions and\n  effects.\n- `exact(value)` is only for concrete values that drive behavior.\n- `optional()` plus named `when` branches cover state-dependent outcomes when intent and path stay\n  the same.\n- Every mutation declares its visible outcome and complete typed state effects, including cascades.\n- Every effect must provably change the state known at that step.\n\nEvery source implements one aggregate `read()`:\n\n```ts\nimport { createStateSourceEngine } from \"@ripplo/testing/engine\";\nimport { coreStateSchema, state } from \"../../../.ripplo/state.js\";\n\nexport const coreStateEngine = createStateSourceEngine(state.core, {\n  setup: {\n    records: {\n      organizations: ({ input, runId }) => insertOrganization({ input, runId }),\n      users: ({ input, runId }) => insertUser({ input, runId }),\n    },\n  },\n  teardown: ({ runId }) => clearRunData(runId),\n  read: ({ runId }) => readCoreState(runId).then((value) => coreStateSchema.parse(value)),\n});\n```\n\nBrowser-owned sources use the same `fields` and `records` setup contract. Connect before rendering\nso state setup finishes before Ripplo captures the app:\n\n```ts\nimport { connect } from \"@ripplo/testing/browser\";\nimport { createStateSourceEngine } from \"@ripplo/testing/engine\";\n\nconst frontendStateEngine = createStateSourceEngine(state.frontend, frontendStateImpl);\nconst enabled = import.meta.env.VITE_ENABLE_RIPPLO_TESTING === \"true\";\nconst connection = enabled ? await connect(frontendStateEngine) : null;\n\nif (connection != null) {\n  const stopReadySignal = router.subscribe(\"onResolved\", () => {\n    connection.ready();\n    stopReadySignal();\n  });\n}\n\nrenderApp();\n```\n\n`connect(engine)` mounts and gates browser state setup. `connection.ready()` separately marks the\npage interactive. Ripplo sets up HTTP state and signs in before it invokes the browser engine.\nBrowser setup may depend on HTTP-created records and may read signed-in application state. Persist\nits result in storage that survives navigation. Capture starts from a blank page, and the first\nworkflow `goto` performs a hard navigation. Use `connect()` without an engine when the browser owns\nno modeled state.\n\n## Server adapters\n\nMount each HTTP-backed state source and the optional authentication engine behind signed endpoints.\nFor Express:\n\n```ts\nimport { createAuthenticationHandler, createStateSourceHandler } from \"@ripplo/testing/express\";\n\nconst enabled = process.env.ENABLE_RIPPLO_TESTING === \"true\";\n\napp.use(\"/ripplo\", createStateSourceHandler({ enabled, engine: coreStateEngine }));\napp.use(\"/ripplo\", createAuthenticationHandler({ enabled, engines: [userAuthenticationEngine] }));\n```\n\nThe same `createStateSourceHandler()` and `createAuthenticationHandler()` functions are available\nfrom the `hono`, `nextjs`, `nestjs`, `koa`, and `elysia` entry points. Fastify exports\n`registerStateSourceHandler()` and `registerAuthenticationHandler()`. Vite exports\n`ripploStateSourcePlugin()` and `ripploAuthenticationPlugin()`.\n\nSee [DSL.md](./DSL.md) for the complete state and workflow surface.\n","readmeFilename":"README.md"}