{"_id":"two-stroke","_rev":"188-a23cb97e3254456e08272dff3acce263","name":"two-stroke","dist-tags":{"eslint":"7.11.6","latest":"8.3.9"},"versions":{"1.0.0":{"name":"two-stroke","version":"1.0.0","license":"MIT","_id":"two-stroke@1.0.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"655a41efff538089b58a24f8b395f6a270d3ba65","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.0.tgz","fileCount":14,"integrity":"sha512-dZYF/fuXAwYNuhNFFRXcIebIXILGLYAMmprELyCc0LrKT7zSVQLO1T8g085kC7NtWbijaJysLcnUDUHKfewnOg==","signatures":[{"sig":"MEYCIQC2qTPY833tnTLfgCZL7XkjTV9CtBLrqeAc7/JBeFNlsQIhANYeVSHE3UxYC/LTO4nntWmgbrwJv/ghISETUQUNmWAY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22279},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"5d0ff02183a6ce309a17823bbf8a7e9f61c5c18b","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","toml":"^3.0.0","miniflare":"^3.20240129.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.28.6","openapi3-ts":"^4.2.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.8.2","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.2.2","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240208.0","@typescript-eslint/parser":"^7.0.1","@asteasolutions/zod-to-openapi":"^6.3.1","@typescript-eslint/eslint-plugin":"^7.0.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.56.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.17","@types/eslint":"^8.56.2"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.0_1707841223109_0.0651767429584893","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"two-stroke","version":"1.0.1","license":"MIT","_id":"two-stroke@1.0.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"aa5d012c9b361387d8286488f6559efb541033f5","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.1.tgz","fileCount":14,"integrity":"sha512-uahJ3oTdr4IVTDu9TrUQauSZxrQ7zFN4FtaQAcmbg5HVkOJjZ3NFhuXi8IOIkHvzJvDBhu9/O1W7O6cGb/l5bQ==","signatures":[{"sig":"MEYCIQD0N2N9mUg1STrfNABI3xNPos2JjgyldX/8e8WUnGoHKgIhAMvibdTIhvI4jXJ2zpAiHY9sHZfdsJl3WTXpPgxVdJ5C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22309},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"398e43cf0ebd37b2677b74415cfd94bda54d983c","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","toml":"^3.0.0","miniflare":"^3.20240129.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.28.6","openapi3-ts":"^4.2.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.8.2","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.2.2","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240208.0","@typescript-eslint/parser":"^7.0.1","@asteasolutions/zod-to-openapi":"^6.3.1","@typescript-eslint/eslint-plugin":"^7.0.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.56.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.17","@types/eslint":"^8.56.2"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.1_1707841593013_0.051299640159065074","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"two-stroke","version":"1.0.2","license":"MIT","_id":"two-stroke@1.0.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"d864a28dfa253d59239eeeaca1eefcafa56cec03","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.2.tgz","fileCount":14,"integrity":"sha512-Ev5O2zg4M/7DuuvgEMovA0iJFadUKmyFfGRSQszg8Q/EoCHIe+TtP43+TVpkOsWUD9B1keDxjdRmdeVa1SjSGg==","signatures":[{"sig":"MEUCIQDd6s4mpbwVUDOzoLiBYTStjs+9H7JVZqqHk8biZRGopwIgXpnMsvZCBtWJp86V9p71X1CMkHcFAwNHQuHXzetfpgo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21786},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"65201492a1b2d16a3a0425504756acf2516408e4","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","toml":"^3.0.0","miniflare":"^3.20240129.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.28.6","openapi3-ts":"^4.2.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.0","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.2.2","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240208.0","@typescript-eslint/parser":"^7.0.1","@asteasolutions/zod-to-openapi":"^6.3.1","@typescript-eslint/eslint-plugin":"^7.0.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.56.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.17","@types/eslint":"^8.56.2"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.2_1708700956043_0.2724986827572804","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"two-stroke","version":"1.0.3","license":"MIT","_id":"two-stroke@1.0.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"5fba88f541a5d7e4d7f626a15d167bf09ac049fb","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.3.tgz","fileCount":15,"integrity":"sha512-OBJg3ZzN/USHUJGvZBsWfIlDYjVHR1xMvGobBgutPr53uJWAP7VWWg/9eg25uma5LDnCZiyC9mMV8y5crZih5g==","signatures":[{"sig":"MEYCIQCDUk6x/qIDrIlbUG7ncXTILZhPnlYLY8KND3ocrXZ4dgIhAJKDVKf1ZseOi7AY9f9QzDa5SAXSzlII7QHUUjkNjb2w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21834},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"b5d70b57e68ca84b1183434a4d97132e5be82962","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","toml":"^3.0.0","miniflare":"^3.20240129.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.28.6","openapi3-ts":"^4.2.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.0","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.2.2","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240208.0","@typescript-eslint/parser":"^7.0.1","@asteasolutions/zod-to-openapi":"^6.3.1","@typescript-eslint/eslint-plugin":"^7.0.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.56.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.17","@types/eslint":"^8.56.2"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.3_1708701185902_0.6465767380499687","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"two-stroke","version":"1.0.4","license":"MIT","_id":"two-stroke@1.0.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"a9a17beefc36ec0a3ac4a3acd93cf077657e12b3","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.4.tgz","fileCount":15,"integrity":"sha512-zRFQVgCdOsxg6n4fqo56YzskqC2Nf+bLeZ550ggM/r2jQpSyhAPdaT0kYD/tFT5ErFPUuB9pQCMcOsSJCx54RA==","signatures":[{"sig":"MEQCIDF8mbzrefbi6VUgjM4bCqlSS+hNOBr72UnmZjpEwR8HAiADDPRx3vwPnbDQ+m5CG/aUQ5EkeQfeDSYlbgKWqL0NUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21834},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"80fe889db3d67ad353ef06281e2c7c5af3df304e","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","toml":"^3.0.0","miniflare":"^3.20240129.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.28.6","openapi3-ts":"^4.2.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.0","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.2.2","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240208.0","@typescript-eslint/parser":"^7.0.1","@asteasolutions/zod-to-openapi":"^6.3.1","@typescript-eslint/eslint-plugin":"^7.0.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.56.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.17","@types/eslint":"^8.56.2"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.4_1708701899563_0.5227080173452823","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"two-stroke","version":"1.0.5","license":"MIT","_id":"two-stroke@1.0.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"6a88a733254ccf3121c439ac263c3c8097deb6b1","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.5.tgz","fileCount":15,"integrity":"sha512-BQ3xUyH8M43WjmDOBDWQmmfIcPMxsaphvVAqTS83hT4CBmdVS+8A2l6wHYh152p0iDE5E++fBwMUzBfdoJSiGA==","signatures":[{"sig":"MEYCIQDDw+Vip4Tij7gCEc66/0n+kbAaIYR56di0rl8UkLGiIQIhAIha828ZgS4ZJ3l8pK1/C8vw9WSs5Hxr6eeudBN/dz+C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21852},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"0df4fb093ba3a5f4b5c59465492cbde7a146ce5f","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","toml":"^3.0.0","miniflare":"^3.20240129.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.28.6","openapi3-ts":"^4.2.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.0","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.2.2","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240208.0","@typescript-eslint/parser":"^7.0.1","@asteasolutions/zod-to-openapi":"^6.3.1","@typescript-eslint/eslint-plugin":"^7.0.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.56.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.17","@types/eslint":"^8.56.2"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.5_1708702229145_0.18063316826754638","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"two-stroke","version":"1.0.6","license":"MIT","_id":"two-stroke@1.0.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"efbb34f4b9ade82fb06276b9ee1fd085d2f9c0be","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.6.tgz","fileCount":15,"integrity":"sha512-UQ9RoMFRa2ZQVKrkYt7RRWQWqhjl0drO1xYgmKpNwlX7h5f9TtVUpsHGGWyA68/TO1m9IIFg8goMinf6DLSTZw==","signatures":[{"sig":"MEQCIBpcOpBe6c1l5E2KG0sSJR8/GOCrK0fjAeP6LPNVI20uAiA17IWX2HWhuU8v/ulm8w7POPGPWDHN4RJoaeTKUO0a3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22102},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"8ecbaf9f4615dbff5d314cb285ea0cfd5c0f3405","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","toml":"^3.0.0","miniflare":"^3.20240129.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.28.6","openapi3-ts":"^4.2.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.0","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.2.2","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240208.0","@typescript-eslint/parser":"^7.0.1","@asteasolutions/zod-to-openapi":"^6.3.1","@typescript-eslint/eslint-plugin":"^7.0.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.56.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.17","@types/eslint":"^8.56.2"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.6_1709137688318_0.9035388096566901","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"two-stroke","version":"1.0.7","license":"MIT","_id":"two-stroke@1.0.7","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"36b5efad34b64aa3a7a2734ccb9a638d0c7c1e97","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.7.tgz","fileCount":15,"integrity":"sha512-o3xdlksbAzaXYKgWk088pf3QEijtShFgOe3DJa+ZaGlJ5ylqpuBE2dUIyNq2A3L85W4yn/zYp6PQImkQxyiHtQ==","signatures":[{"sig":"MEUCIHR4bxy4Jmz/CwhCKbqCi0E/KI6Pfv3Mw+1uNF898knpAiEA4TN2jxZQiT4tQRwmO0Vayh/ImKyxhUb0Jok/Ul2AOgI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25617},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"fe89201d769d527d661264aaf56dfe0f99036191","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.3","toml":"^3.0.0","miniflare":"^3.20240223.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.30.0","openapi3-ts":"^4.2.2","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.3.1","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240222.0","@typescript-eslint/parser":"^7.1.1","@asteasolutions/zod-to-openapi":"^6.4.0","@typescript-eslint/eslint-plugin":"^7.1.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.4.2","@types/node":"^20.11.25","@types/eslint":"^8.56.5"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.7_1710149649347_0.5413735212802258","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"two-stroke","version":"1.0.8","license":"MIT","_id":"two-stroke@1.0.8","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"39c24c44fdcedd6b81d4a05374e894941d143813","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.8.tgz","fileCount":15,"integrity":"sha512-T+MdusCi3t9JrfG1NkaGeJL+Y6Vi8HnT8ZeAJQ/fzgkc+hwdC411H84zmRxAivYvbydX8AwSiXvaO33F1apjmQ==","signatures":[{"sig":"MEUCIHUsJwizGJ5lmo8xHcqjQSlk2FSLVANhM19zXDFoWoJ5AiEAjDRjJPF1JEY72CEWDasCuH3jMuQxnL7KeIcre2U+0do=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25630},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"04ae394b9c543bf0c0b2027e10c1841cd20dba89","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.3","toml":"^3.0.0","miniflare":"^3.20240223.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.30.0","openapi3-ts":"^4.2.2","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.3.1","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240222.0","@typescript-eslint/parser":"^7.1.1","@asteasolutions/zod-to-openapi":"^6.4.0","@typescript-eslint/eslint-plugin":"^7.1.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.4.2","@types/node":"^20.11.25","@types/eslint":"^8.56.5"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.8_1711039373188_0.4288682603764242","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"two-stroke","version":"1.0.9","license":"MIT","_id":"two-stroke@1.0.9","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"36ff6441833a8a730a6cab290251787d848479b5","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.9.tgz","fileCount":15,"integrity":"sha512-OkyLyYn9r2ZdFz19xzKC+gbSp92cAcumQdcHILKFhAcQroihUoiiuwr/mOfo0n5xc1BtUanVdmPuhAt3fUIhfw==","signatures":[{"sig":"MEUCIE2eCfXjTd587gIgOFu+bb1lcys6tjEkpm2yPhwjK8CkAiEAwIwP4RoqIAPYiUN/DcNdw+kZR7K3RLBptwX2YNGgOqg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25729},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"63ab0cbd1da501067c4bb581f566781220fabe01","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.3","toml":"^3.0.0","miniflare":"^3.20240223.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.6","@sentry/cli":"^2.30.0","openapi3-ts":"^4.2.2","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.3.1","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240222.0","@typescript-eslint/parser":"^7.1.1","@asteasolutions/zod-to-openapi":"^6.4.0","@typescript-eslint/eslint-plugin":"^7.1.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.4.2","@types/node":"^20.11.25","@types/eslint":"^8.56.5"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.9_1711043174831_0.5061247627251106","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"two-stroke","version":"1.0.10","license":"MIT","_id":"two-stroke@1.0.10","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"f18ffd443a10e885cad80fefc1cce3c94538376b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.10.tgz","fileCount":15,"integrity":"sha512-LWBqxJ2Q9WO0Z/UnVryWGgWhhDrL8AXQ/ATq6NaPQeWbp+IY2J0SsYzBwJt4tUWU31ZFJ2HgKTRYQJCcW+AQzA==","signatures":[{"sig":"MEQCICOeUKgREJFT8biYkYh+ioIq58ONgGx3f/y2jucGSKojAiAddZGzuTbTcsgfgBwNaLaqb/KaMfZOVbhxMFwnVCIFYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25730},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"c3a91762769a3cdfa225685c563eb58430d8e45f","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.3","toml":"^3.0.0","miniflare":"^3.20240223.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.30.0","openapi3-ts":"^4.2.2","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.3.1","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240222.0","@typescript-eslint/parser":"^7.1.1","@asteasolutions/zod-to-openapi":"^6.4.0","@typescript-eslint/eslint-plugin":"^7.1.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.4.2","@types/node":"^20.11.25","@types/eslint":"^8.56.5"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.10_1711621922088_0.179966058606031","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"two-stroke","version":"1.0.11","license":"MIT","_id":"two-stroke@1.0.11","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"fd5361b56a77b5869656012ce8d67f303e2a0605","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.11.tgz","fileCount":15,"integrity":"sha512-RzKBnhetublaL+Q11wYX8md96m/qBFZ0cDsBH3IcPe1+sXeN5qtEl3AlUmwjCpxGkY/HkfF30JEozyRSqlJn2A==","signatures":[{"sig":"MEQCIBfk+Td/iq+jfUsDRoghJVhD+zWHMnOJsnE9QMe6XBbLAiAbrVWlPLjewDui/0DgsG6fUk/6uBwqpuPV3yCiIT/4qA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25696},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"7ea50bbaa8bf3b0caedc1f9789b79eec245e0fe9","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.3","toml":"^3.0.0","miniflare":"^3.20240223.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.30.0","openapi3-ts":"^4.2.2","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.3.1","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240222.0","@typescript-eslint/parser":"^7.1.1","@asteasolutions/zod-to-openapi":"^6.4.0","@typescript-eslint/eslint-plugin":"^7.1.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.4.2","@types/node":"^20.11.25","@types/eslint":"^8.56.5"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.11_1711652671292_0.9191496244579569","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"two-stroke","version":"1.0.12","license":"MIT","_id":"two-stroke@1.0.12","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"08c41f95940e102774c04246e3ca4706bc00cb68","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.12.tgz","fileCount":15,"integrity":"sha512-o5l6JIiqqolmjZXXuEBKO+5uL0nNCJEw1LWkMnvV86tey4MKysj2vBuKgIVUNcU85cN70NdjF++cxmIJOAlGtw==","signatures":[{"sig":"MEYCIQCxuhjFVFYRIdq249hUmXUblZFdmVrebUtDF3XBg3lc/gIhAP2bFdsjkM4qESSB4pvyyvTTkk84EQ1KQZqA5twKXOPo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25702},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"5746b04025b69365e732224272b50435629ad666","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.3","toml":"^3.0.0","miniflare":"^3.20240223.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.30.0","openapi3-ts":"^4.2.2","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.4","@vitest/coverage-v8":"^1.3.1","@anatine/zod-openapi":"^2.2.3","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240222.0","@typescript-eslint/parser":"^7.1.1","@asteasolutions/zod-to-openapi":"^6.4.0","@typescript-eslint/eslint-plugin":"^7.1.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.4.2","@types/node":"^20.11.25","@types/eslint":"^8.56.5"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.12_1711653057094_0.3099712894846116","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"two-stroke","version":"1.0.13","license":"MIT","_id":"two-stroke@1.0.13","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"5402a170f5cbd3680a5adf145d623465a5d8b80e","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.13.tgz","fileCount":15,"integrity":"sha512-H+COqRrIXhqEJc2kFI2bwJVYSPwTjqStl/rdyPX45FbQ+K6MkBDibSIWo/BOnu4Al94fwXmvz0Zn6IofuTMDRQ==","signatures":[{"sig":"MEUCIDBIaUFlgUnfg9mSAaGolz0l4P4MiX6AvXahVrE1I77sAiEAttKAL4KoMILSG4ZScQzBZ31QlM8n/Gtfa+9I3SK2ATI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25701},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"61db05bc90cf037e3f8179378184f9f3b9cacc0a","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240405.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.0","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.1","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240405.0","@typescript-eslint/parser":"^7.7.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.7.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.9"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.13_1713205286472_0.4807371241409155","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"two-stroke","version":"1.0.14","license":"MIT","_id":"two-stroke@1.0.14","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"aa43c09aa1a0a8c8fb5a851fd00800c8133cd925","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.14.tgz","fileCount":15,"integrity":"sha512-jgN5P/hTgko9MzGZv29qYo3c4jV2qXfpC0BP+phQNVdRbvpXsfi6h0wphgV0ZtYM3DXr6R0TU7XgPjVTOfCcbQ==","signatures":[{"sig":"MEQCIHSg7c0QmpRAmLaGGCzsmD4Hhlh7YqTgywPROuiMfBnUAiAL78Bhb7xTPqIAdenr78DaCujZjhXdTvqI/epiBucq0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26920},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"678ee21e9a5389f49413b9db50067c08b5b18714","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240405.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.0","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.1","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240405.0","@typescript-eslint/parser":"^7.7.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.7.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.9"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.14_1713368254682_0.7809950143244238","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"two-stroke","version":"1.0.15","license":"MIT","_id":"two-stroke@1.0.15","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"99e0f29f5b933f42f0159fb1e07ff12ebe37bd36","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.15.tgz","fileCount":15,"integrity":"sha512-d/CYcYdaAOZzp1jX9xNOgAxeXLA9cH/sw/Of/TwdjYvdek0rmMkegzm4OVSkoOKxOlaUGmEugeBZVgRsL7wJrw==","signatures":[{"sig":"MEYCIQCVksqwypfI5pINw1k69yptr8IJUIA7mz4faZ4vNkEUUQIhAJldf+XxoyNE0UQEpO6J+6xBJC7q3M5ByBq8lqxOZHrd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27155},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"69d443613f5e21e0184f5cacafd6483788daddbe","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240405.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.0","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.1","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240405.0","@typescript-eslint/parser":"^7.7.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.7.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.9"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.15_1713779794487_0.9029868962965697","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"two-stroke","version":"1.0.16","license":"MIT","_id":"two-stroke@1.0.16","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"6113e05da38cef2c5566295ccfb8d6552bdb83a9","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.16.tgz","fileCount":15,"integrity":"sha512-GM5Fb+uxTeyHz6V6Ty6DHGpZYS8OiXRSp4DSZVxQQnte34QYlB93GmtFjxvo/Q+ymYCsTyiNbePjVb6tNntTgA==","signatures":[{"sig":"MEUCIE5TJnbOL7GbHNFdcAHCR5wCpJDEFiCsQeuzv7Znzf4WAiEA2Lh+m03GXJQ3kW37j7/Fio6s7o5Q6JLI8+RZ73wYl5I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26812},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"e524881d9d406420e55d704357186cf5f271ae10","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240405.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.0","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.1","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240405.0","@typescript-eslint/parser":"^7.7.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.7.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.9"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.16_1713799870139_0.27094464553507613","host":"s3://npm-registry-packages"}},"1.0.17":{"name":"two-stroke","version":"1.0.17","license":"MIT","_id":"two-stroke@1.0.17","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"d6bbcb6ac7afa9b2f71130d8a0072906af07e329","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.17.tgz","fileCount":15,"integrity":"sha512-O+umLVrZIL6eogy2fhDYR3z/P8EQFsen9IZk+BbeQUPNKEU9jpSddkeYBmuiTYeA1pYi7u+xOQ5SZKTwRy9rfA==","signatures":[{"sig":"MEUCID6ynnyNNKFI6ZPpepfeS8dC3Ug5JOAVuSVruzVyhqYlAiEAumtC+mJx0X38Rz/t3OPq83iQ8GnBWaT9+JSYS2oXLTU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27489},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"af55305a8104935aa7a551c782e10173dc8f356f","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.22.4","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240405.1","toucan-js":"^3.3.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.0","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.3","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.1","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240405.0","@typescript-eslint/parser":"^7.7.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.7.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.9"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.17_1714121823074_0.9711139893818586","host":"s3://npm-registry-packages"}},"1.0.18":{"name":"two-stroke","version":"1.0.18","license":"MIT","_id":"two-stroke@1.0.18","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"36b8cd4753689f7839fecad22e070ddf08b1ccbe","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.18.tgz","fileCount":15,"integrity":"sha512-Wt7ubIBa6Bfr0b7dAT/hA3jZ4aDm+qpTxJ1JbpCCDDB2sxSRRnV5ndUFIViTfzvPvDu80HtzIueZ6x1XKel5vQ==","signatures":[{"sig":"MEUCIQDD+DTsSQB6p6azHw3MuYBwkoAcj9ei14GaTshaSHftxgIgFGhu4PG6BRXROKjR6rx1lGKuk79GXrAvhFHKsdZxv7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30360},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"d33c561cddc19210aba1b51ab7881b118c10697e","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.5","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240419.0","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.0","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.5","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.3","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.2","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240423.0","@typescript-eslint/parser":"^7.8.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.8.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.3","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.18_1714487608706_0.8619203865623708","host":"s3://npm-registry-packages"}},"1.0.19":{"name":"two-stroke","version":"1.0.19","license":"MIT","_id":"two-stroke@1.0.19","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"8994a9c6c3de19e39c5df00d2325d506b92ebfb5","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.19.tgz","fileCount":15,"integrity":"sha512-7AnOdZ6JRsaPJG6CgsqoF2kAMbrg4HBuc0nUQpRUXDDRMsC8COPJHv4dekxk94c1eEYwTOaLrJIWuYmv7U92WQ==","signatures":[{"sig":"MEUCIC/9aFRGzW9b+c74qHSdoyYZxZi9HDGryJWm7zjPbfYtAiEAzoCAp1zZGgvcAa2wa0Ic3gTy5Y1dvP2JEe26WOKNeFo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30360},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"497c606b7ddb7b97af081320fa903c6bfd5fcd45","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.5","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240419.0","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.1","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.5","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.3","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.4","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240423.0","@typescript-eslint/parser":"^7.8.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.8.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.3","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.19_1714582406668_0.29267201374034446","host":"s3://npm-registry-packages"}},"1.0.20":{"name":"two-stroke","version":"1.0.20","license":"MIT","_id":"two-stroke@1.0.20","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"c9949c46811457f0324cf8183af3b63f3346cdd0","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.20.tgz","fileCount":15,"integrity":"sha512-UQY/1ofnQ8zEQ3Pc8HnpLUPHL+mI19X9yc5Hn84YV9VnMfsg7LkpZSp0QJwzLVw+fcxXWtUNDRvJmHpNf7IDag==","signatures":[{"sig":"MEUCIBkUReXtPIXGAWhaLw+5TTSkGsKGhZrx+6bJKBPBbdPEAiEApzdLft/g9wiLv3bJwyrxdpokB4bdr3jEFZYk0nW7KlU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30360},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"98c50da288354bc278ecff27d35c9a71774bc4ac","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.5","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240419.0","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.1","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.5","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.3","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240423.0","@typescript-eslint/parser":"^7.8.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.8.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.3","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.20_1714583968015_0.49130550813482277","host":"s3://npm-registry-packages"}},"1.0.21":{"name":"two-stroke","version":"1.0.21","license":"MIT","_id":"two-stroke@1.0.21","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"6a8355f8c30ad153f07ad4dec01f3ca3f634b482","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.21.tgz","fileCount":15,"integrity":"sha512-hBfgUmomoDAeCrjoO2GxqdI+9qgihj3SImJHA7g0zgyOQHh/yfr2utlBRvslzJXuJ3tPXWF08l33seTVlEtKAw==","signatures":[{"sig":"MEYCIQD9twFa6LvGgwQqyF1WG24tZbal3bhj4giTHRWS786EmAIhANtwdOt8ImXrSaQ7MtvhBU/83FcDeVhv+ogax54Ct1Vo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30360},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"d72ba40107295e80ebda6303c7b7552611178d91","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.5","jose":"^5.2.4","toml":"^3.0.0","miniflare":"^3.20240419.0","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.1","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.5","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.5.3","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.6","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240423.0","@typescript-eslint/parser":"^7.8.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.8.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.5.3","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.21_1714585248924_0.846800408227143","host":"s3://npm-registry-packages"}},"1.0.22":{"name":"two-stroke","version":"1.0.22","license":"MIT","_id":"two-stroke@1.0.22","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"fc6c40b4d8a492263c868675f1c5b5d755a87db9","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.22.tgz","fileCount":15,"integrity":"sha512-yEDldZvPZTBTLgternAWICx1NUwBQdVEVi587xcveDUbBQySQ1siwHU0rKmzqs7Cerc1MOGsYFxz8diWQpLutA==","signatures":[{"sig":"MEQCIDv/oJwf1A0LcJ9swM0wJ5xTrWk0JCaSMNhpBnMIFiSvAiAfVePvvQizwipWd6OuKjAtyHRnUMp3TZRESbrSHvoFaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30387},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"1136b5b2728ff409f84bec1619e5db5ca6603f33","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.3.0","toml":"^3.0.0","miniflare":"^3.20240419.1","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.2","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.5","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.6.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.6","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240502.0","@typescript-eslint/parser":"^7.8.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.8.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.6.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.11","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.22_1715355849579_0.9925406388127185","host":"s3://npm-registry-packages"}},"1.0.23":{"name":"two-stroke","version":"1.0.23","license":"MIT","_id":"two-stroke@1.0.23","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"1e887a73d927d6ac5c0f93e57a8d86a234402606","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.23.tgz","fileCount":15,"integrity":"sha512-p2ymJbIM0SJbxtV+Dn3A7AEwMBIfdpxnC/qzM9ZUgmAJpztLkmyZkTJxlRjlrKL7j0x12+B6kKUHPNv2jazgIw==","signatures":[{"sig":"MEYCIQDPCaJjF0LpxjYOHqv2rOcTVono3nDWdpiIEHfFin693gIhAOzjlz5snkuA7Z1nMn91eyQ5MkyoF6BkX0r8p9XDohiE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29325},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"167e7f1fd60f2bfa140640c44e29f4e0ffb853eb","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.3.0","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.31.2","openapi3-ts":"^4.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.5","openapi-typescript":"^6.7.5","@vitest/coverage-v8":"^1.6.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.6","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240502.0","@typescript-eslint/parser":"^7.8.0","@asteasolutions/zod-to-openapi":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.8.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.6.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.11","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.23_1715360936418_0.18714268175734317","host":"s3://npm-registry-packages"}},"1.0.24":{"name":"two-stroke","version":"1.0.24","license":"MIT","_id":"two-stroke@1.0.24","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"08ef056f22b55dadcc4d5acfae447fb6ea6acdcc","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.24.tgz","fileCount":15,"integrity":"sha512-kMfJ16oYqTVXrZvSVlelPe4/AyxOAJSDqVIU728+2GFluvwUHryul0ZJ7IqAIVZ1YjkuO7NBQ1yPkbMZI9PBCw==","signatures":[{"sig":"MEUCIQCZECZNGbiWGUY1ATiUlahW5vDmBrkbptsHTJoNyoCFPgIgK99FOI9SfJ4UvLSljpv9OvNnfcK9p1jn2UwAYVZwbxQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29327},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"c1caa58a0ad84100ef08b00e0e6c8c6d3eeee0ad","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.4.0","toml":"^3.0.0","miniflare":"^3.20240610.0","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.7","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^1.6.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.7","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240614.0","@typescript-eslint/parser":"^7.13.0","@asteasolutions/zod-to-openapi":"^7.1.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.6.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/node":"^20.14.2","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.24_1718638326474_0.3858483193189879","host":"s3://npm-registry-packages"}},"1.0.25":{"name":"two-stroke","version":"1.0.25","license":"MIT","_id":"two-stroke@1.0.25","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"c90771e1adf96730a82e53c7ba0cba3fef94dad1","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.25.tgz","fileCount":15,"integrity":"sha512-RyzwKpWDaM0kJMflt7eqWl4pfqPhqNZLJq8oiFmeNdDTqufMQX3NkHH43AhkDYJDuKwvDGwL9H6vtDEu/W6UVQ==","signatures":[{"sig":"MEQCIDiaYVxLexliWhtfD/buoQ5xdNMYaMkZbNVQORFpuhLNAiAUFb71HXStOSzHJlGNKcCoCrooA8CdDJqsGKd2WgU67Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29328},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"33542b66903c0803d081d6ba53e349ec34fc37b8","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.4.0","toml":"^3.0.0","miniflare":"^3.20240610.0","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.7","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^1.6.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240614.0","@typescript-eslint/parser":"^7.13.0","@asteasolutions/zod-to-openapi":"^7.1.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.1.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.6.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/node":"^20.14.2","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.25_1718639691139_0.42519986735418946","host":"s3://npm-registry-packages"}},"1.0.26":{"name":"two-stroke","version":"1.0.26","license":"MIT","_id":"two-stroke@1.0.26","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"03a86f5961fe7687beab752a6b5dd5216198e450","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.26.tgz","fileCount":15,"integrity":"sha512-65kzmPl7KQ8KY+ER85kT0Vt9tgMEe0bvrQTraKcimZBWcJ/ifXLKvD2btDWc8uuba9cTH2BsLR4yq4GSaG/dag==","signatures":[{"sig":"MEYCIQDpoDKU4S9sK5gaK0r6bdILCwo0SurzMZSsereiYkLe0QIhAP4vz+WwLRnVcF0QophWGTg7Ci8jG0WVytmVVnTE6tGM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29329},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"73021e300d37a469467157511308a2471f759099","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.4.1","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^3.4.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.9.7","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^1.6.0","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240614.0","@typescript-eslint/parser":"^7.13.1","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.13.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^1.6.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/node":"^20.14.5","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.26_1718806868323_0.759835558703791","host":"s3://npm-registry-packages"}},"1.0.27":{"name":"two-stroke","version":"1.0.27","license":"MIT","_id":"two-stroke@1.0.27","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"7b130ad8e21f22656fa87d50db0b4fa51b0b1eb2","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.27.tgz","fileCount":15,"integrity":"sha512-LpdEN54GbYgLf2W0DFUqvZDLiKKOe6qmnDKGe4LL1/LzOJ3coYtITHBrE9msIcE1MX0c6qdxycrgjDylnJmCtw==","signatures":[{"sig":"MEUCIQCXEtKhsfiBft6fD9r+90GK+AR/jMkT1gn0tUXq/bTM5wIgQII+ez6lVYzyaIjpXRg50uNt7ExrX3DNUWzt9ledOAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29331},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"6b00c1fec1b61eb9f4c251a3b870716ed3975aa4","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240701.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.27_1720539701286_0.9846901116965545","host":"s3://npm-registry-packages"}},"1.0.28":{"name":"two-stroke","version":"1.0.28","license":"MIT","_id":"two-stroke@1.0.28","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"6e507f52ee5c1754d9b300b5a71cd8f674ec4916","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.28.tgz","fileCount":15,"integrity":"sha512-rMEII0BL9zMjbwfvvzyKZXrdQxikgX+o2vG1a3t0cbgdMkyiywtnVp0BeflIersoQJ9l5+NxQPCqXXsdoT+BRA==","signatures":[{"sig":"MEQCIGnBeeYySjm9suyB5fVryMHNqSASCuFOLCnTQ3CEprtAAiAdHK5oS8PFCOgkU8AtkH6pf5+zmLpTWcF3kNjgoOL5MA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29346},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"5c1d2110577c0b16dc07ee70af3b5c9631fce9d8","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240701.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.28_1720540758832_0.413639852060498","host":"s3://npm-registry-packages"}},"1.0.29":{"name":"two-stroke","version":"1.0.29","license":"MIT","_id":"two-stroke@1.0.29","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"1ed389b746ff0935baafb4ae71f11aaf6bab496a","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.29.tgz","fileCount":15,"integrity":"sha512-xzK4jci1IE6a3WIqgCMmNB5gQJrXho/+NQBabL/0Z/0182NPzWS2HHgSrLeygpILhbOBuF6j0OOLw6jVJZcoXQ==","signatures":[{"sig":"MEQCIAuBTATtNiRwCZOrLGMCMv+PDLDZMMtf5YK7CH4Ksc62AiAjHqHw2be6HYnIqoVu/RHqWSRhZp5pnwmOxEY/c7EJ0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29346},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"3114caddcba9b63840a84ea1060b48e460f27ed0","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.29_1720602026222_0.6594246352217947","host":"s3://npm-registry-packages"}},"1.0.30":{"name":"two-stroke","version":"1.0.30","license":"MIT","_id":"two-stroke@1.0.30","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"b93e7fdc5a2d150514b968f0b7673e05e67c18e2","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.30.tgz","fileCount":15,"integrity":"sha512-lpNOJvjh043XYgJmM+hIgVfaBCZkg5dsTgJZtoj5PfgebYXbGF7rVbdS8/rRbavXfmh8WPfsPysd447lfKbWAw==","signatures":[{"sig":"MEUCIFm/RbG1ftFnfV7mLHlTSvNMU1exWtRxCSnPgtlQL6mzAiEAxmqzpSy2iH1qS0Pst0nYbcGz7loV6+pyES0sx8ywoz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29335},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"3798c1a0fe44ddc617aef76c71cdceb24aa575af","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240718.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.30_1721731284063_0.7324102450614831","host":"s3://npm-registry-packages"}},"1.0.31":{"name":"two-stroke","version":"1.0.31","license":"MIT","_id":"two-stroke@1.0.31","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"07265f2714d9d3e15e505c035c12a05c966d6565","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.31.tgz","fileCount":15,"integrity":"sha512-7LyfTXjQpscdyvuHGOJmySgHu3Yt53W97sdSF0SJKNlXFtLfq9yfHU1F2hQkACVXoSpAlM3o28y9MVbQRMU4qA==","signatures":[{"sig":"MEQCIGwf1oLoxSlnK71ZlXfL/gw8J+PkZrHT8wtzbt1rfSNKAiAMfOcxu9Ey/3/OpdcBgnykgFE2snEi6ZcRRoXRfxeidg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29335},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"f4e543a31e1fa692fae1ce3dbe07ec9f328eb902","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.31_1721809481795_0.3464463341804349","host":"s3://npm-registry-packages"}},"1.0.32":{"name":"two-stroke","version":"1.0.32","license":"MIT","_id":"two-stroke@1.0.32","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"45cd9563b3eaef364a34e86480b1eb64f6d6b7cf","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.32.tgz","fileCount":15,"integrity":"sha512-J/JC++m0DkjKpUD30E1MIY+BL6ne2UpKPKddik7O7B9YRkJdJLn5higzuzh/Jkc10hAoy4poeTs1qjJe0J0Kdw==","signatures":[{"sig":"MEMCHyPerRSs0fKyd1LbHQ3yduH4VrXXIPCzGtuzGO8RoDYCIFtMQTqkqKSgMdyaSuNlBmCidSdJvkZbqPjBKCIvnYWc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29695},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"14d2bd43a15ad19946adbf0048bc3a592c38c3dc","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.32_1721825470764_0.9789191670303214","host":"s3://npm-registry-packages"}},"1.0.33":{"name":"two-stroke","version":"1.0.33","license":"MIT","_id":"two-stroke@1.0.33","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"2af39cdd61948f55de06d397fe46b682bd0317b0","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.33.tgz","fileCount":15,"integrity":"sha512-zidge/y5UKtIUbN+i7f/076nukwMLN1Yjgd6wnztme1W8TOET+IPVHrot4dw4VHEoZ5nDwES80Rk2Tj5R9NSDw==","signatures":[{"sig":"MEQCIBrrmCXoNYNjuGbU/92pyc3p6DPGGexXjgHmDN5VAANaAiB5sDOtqHmaShulDUcShfYKC4YVWrEVT/VkjuQVYhi79Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29744},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"1121a95f3753a440fce1949ff2593a410cfb9895","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.33_1721911226543_0.39681053267704036","host":"s3://npm-registry-packages"}},"1.0.34":{"name":"two-stroke","version":"1.0.34","license":"MIT","_id":"two-stroke@1.0.34","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"135f5d43bce08a055f2dc83de7f94d7e40d4ba38","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.34.tgz","fileCount":15,"integrity":"sha512-XYZe3/orXJCaxnCf7oY0Ui1pzrEWNG2hDv9WIZC6dONkarDSMeu9FBA9IB5x8aiF0z4QNrvF9B4ltxEZjkqJzQ==","signatures":[{"sig":"MEYCIQCoZCBFDuVxTm2qktDKjtiy9XTGp4oIAAftjKS5c5iEbQIhAJmSDHD+xUS4QttJoTx0YbvmzmOnW8IvRW2LZH2Lswr+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30082},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"f49826311e67e92f06fc88e9b46577300ff9fa18","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.34_1721917496703_0.2007791728027135","host":"s3://npm-registry-packages"}},"1.0.35":{"name":"two-stroke","version":"1.0.35","license":"MIT","_id":"two-stroke@1.0.35","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"448cb6a46be3d54df33e75467dbccf50911183c0","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.0.35.tgz","fileCount":15,"integrity":"sha512-NgI0Hvj1J795HLNmd5gIM7CkOuJSVJd9p6T/yemso++HhuDPIA0Ko+gByw2D+oCqTYJCU6PdMhre6PxyB5vmIw==","signatures":[{"sig":"MEUCIHxVCE18x4ke1bBEjWXronAFPqpB15ihsZ2r6xI3oJIoAiEA+xH9FdSNdFUvMx532tGX9w7W0+BMPdygLcZNxyzqzjg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30099},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"cc6e275ea47fc999091020b3bb819313afe8df2b","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.32.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.0","openapi-typescript":"^6.7.6","@vitest/coverage-v8":"^2.0.1","@anatine/zod-openapi":"^2.2.5","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.0.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240620.0","@typescript-eslint/parser":"^7.16.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.16.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^8.57.0","vitest":"^2.0.1","prettier":"^3.3.2","typescript":"^5.5.3","@types/node":"^20.14.10","@types/eslint":"^8.56.10"},"peerDependencies":{"eslint":">=8","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.0.35_1721920668853_0.3991632026300105","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"two-stroke","version":"1.1.0","license":"MIT","_id":"two-stroke@1.1.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"33ebb30af7fb3a14a58a640f3ce218ef1c8f15f2","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.1.0.tgz","fileCount":16,"integrity":"sha512-378nVMq3DkxzqnwMxc697iwzCjJJEVxqWmTAdsPkWevi9xsDxTmcux5RBgLQYqEmZDZ5vQ+yg33/RfNBdb46uA==","signatures":[{"sig":"MEUCIDvYikcXlnp0hNeejJiTmnLSRfJy+xxLV79rf4Sor8AsAiEAtbXt6MhTed3/c7xwTpg4X6U5tW2pouPVedIRWyBT5L8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30298},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"486eabe4dd729ef6b876782d6a3c362bb086f3e1","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.6.3","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.33.1","openapi3-ts":"^4.3.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.10.6","openapi-typescript":"^7.3.0","@vitest/coverage-v8":"^2.0.5","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.1","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240806.0","@typescript-eslint/parser":"^8.0.1","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^8.0.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.8.0","vitest":"^2.0.5","prettier":"^3.3.3","typescript":"^5.5.4","@types/node":"^22.1.0","@types/eslint":"^9.6.0"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.1.0_1723131454662_0.48615373060240175","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"two-stroke","version":"1.1.1","license":"MIT","_id":"two-stroke@1.1.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"7757acdb7ebbefce11668485af25416ff31009d7","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.1.1.tgz","fileCount":16,"integrity":"sha512-UizYh58ZfSANSlij+g0pGo0SORBCzVSt1VfPpaGnbN4HKyNyZAXLTTAEKbaHCDNwC3ZV7T5D7Y0Ecs1zbabeRQ==","signatures":[{"sig":"MEYCIQDUHombBc+9U6pRInpy8XRBgCBNkjJfqrCuUzYWOBtwOgIhAL9HjccEYpCOtgeNbOng4Sw+5korfG4HAl9y/fV5fHRp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30298},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"aa5498cfd2fd9d2519b260cac48a64d21baad3b8","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.8.0","toml":"^3.0.0","miniflare":"3.20240419.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.34.1","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.12.0","openapi-typescript":"^7.3.3","@vitest/coverage-v8":"^2.0.5","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.2","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240821.1","@typescript-eslint/parser":"^8.3.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^8.3.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.9.1","vitest":"^2.0.5","prettier":"^3.3.3","typescript":"^5.5.4","@types/node":"^22.5.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.1.1_1725265564148_0.01643044648840264","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"two-stroke","version":"1.1.3","license":"MIT","_id":"two-stroke@1.1.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"403c272cf03ff10da84b0dde33ad4f957d238ce1","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.1.3.tgz","fileCount":16,"integrity":"sha512-MmshAquKuAsxNoh8/KHLoUqOthA27jqsju8qL1nny/RaE4k+MJiqToe3ST96m2zYZQU0OitKuqRpK+wRfCo5vA==","signatures":[{"sig":"MEQCIH4sNlqB7U76MLxwe8VpJ97/gy8TMCfpVTmpt9Crzl7/AiBdsi7+zctrmTg7V7RRxhTEM4EofbKmcYqjcAjFQcIxxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30293},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"b76494539a98c3e5af37e86b2350181f5765e208","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.8.0","toml":"^3.0.0","miniflare":"^3.20240821.1","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.36.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.12.0","openapi-typescript":"^7.4.0","@vitest/coverage-v8":"^2.0.5","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.3","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240903.0","@typescript-eslint/parser":"^8.4.0","@asteasolutions/zod-to-openapi":"^7.1.1","@typescript-eslint/eslint-plugin":"^8.4.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.10.0","vitest":"^2.0.5","prettier":"^3.3.3","typescript":"^5.5.4","@types/node":"^22.5.4","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.1.3_1725896658504_0.7305455893303079","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"two-stroke","version":"1.1.4","license":"MIT","_id":"two-stroke@1.1.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"446c7dad10e8a55a9da5453461c746a7b2d5b2e4","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.1.4.tgz","fileCount":16,"integrity":"sha512-XMvr+/T7mT6Cf0sGL+LcY5Z6jn1wlIt4zriQ2vqhfbsqH22fSXaG+8OWVn4Fku5tEqggbRUl/93q560K+oB/Fw==","signatures":[{"sig":"MEUCICKGKyEwr1adN58qb90/xD/n6R1eCFf+kyXjMgKk9C8dAiEAydizI5TwUROq1Qy6C2wv5mFekmPY6q7RzjZjtRma+EE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30293},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"e7f0ff58684c1d5d3ebb9c06c6ff972b16bf423b","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.3","toml":"^3.0.0","miniflare":"^3.20240925.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.36.6","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.12.2","openapi-typescript":"^7.4.1","@vitest/coverage-v8":"^2.1.2","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.4","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20240925.0","@typescript-eslint/parser":"^8.8.0","@asteasolutions/zod-to-openapi":"^7.1.2","@typescript-eslint/eslint-plugin":"^8.8.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.11.1","vitest":"^2.1.2","prettier":"^3.3.3","typescript":"^5.6.2","@types/node":"^22.7.4","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.1.4_1727963900947_0.0025693949756322443","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"two-stroke","version":"1.1.5","license":"MIT","_id":"two-stroke@1.1.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"8ae6013df641e894c7b92e686725b91ba5bbc1f3","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.1.5.tgz","fileCount":16,"integrity":"sha512-PKlQnKjXA8uWntsuC4kUJyqPRIV6yF1Bnvp/khUO3B151DYVoE9rv+fVQ6BkmqGJQDIqDs7kp9UiO3GLFRbMwg==","signatures":[{"sig":"MEUCIFlSABcXUqdxKcTfCV7kiKu119Qm7ANcELax39zuebJzAiEAqh/ZAD4yPpBxgr+NQoaglgaTnn/BuFTlMaZMTUegLgw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30293},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"35be9bd811ba459b99b410a877a5d1cb0e15e4cf","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.4","toml":"^3.0.0","miniflare":"^3.20241004.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.37.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.12.2","openapi-typescript":"^7.4.1","@vitest/coverage-v8":"^2.1.3","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241011.0","@typescript-eslint/parser":"^8.8.1","@asteasolutions/zod-to-openapi":"^7.2.0","@typescript-eslint/eslint-plugin":"^8.8.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.12.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.7.5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.1.5_1728921437478_0.23437890936613637","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"two-stroke","version":"1.1.6","license":"MIT","_id":"two-stroke@1.1.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"6386221c95c96fd97e7765e43ba70ab6fdb1cdec","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.1.6.tgz","fileCount":16,"integrity":"sha512-5K6APidRbuR0TR+QbF7UtHcWxhfWM8uIZMh6UTHvofFepmy2IR76p7YyBiOmtaXyk0EQn3b354Bt7l9PQtb5fQ==","signatures":[{"sig":"MEUCIQCXq2tbEpbW/1GLrcTwJ7McjsBnJ/3tNJnzaaAFtn/6wQIgUe6Nx/C9MPvebVsgegZzR9VzSmSo6USHdVz2PoVBeHw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30467},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"adb855544aa6a8cc0bae13b9c50113c58fd26cd6","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.4","toml":"^3.0.0","miniflare":"^3.20241004.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.37.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.12.2","openapi-typescript":"^7.4.1","@vitest/coverage-v8":"^2.1.3","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241011.0","@typescript-eslint/parser":"^8.8.1","@asteasolutions/zod-to-openapi":"^7.2.0","@typescript-eslint/eslint-plugin":"^8.8.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.12.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.7.5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.1.6_1728923493933_0.3830725856223376","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"two-stroke","version":"1.1.7","license":"MIT","_id":"two-stroke@1.1.7","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"47ecf404e15945127f0081d3a93b8eac17e9b00b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-1.1.7.tgz","fileCount":16,"integrity":"sha512-1gCw3TWXiILKo250eOAvsQvMgppXXYiJ8Syed4/cb8OTAp1jEd7KofPjeM3/yB1C+6DGwtt+5p9TMMKHTQtW1w==","signatures":[{"sig":"MEUCIQC6JgBezSYlozC/an1rFOEdmA8cCkYSEzJyjOFK1t4xfQIgM5pGhF6YtCGCg9xeKZ/LJKIPgUiE5hkw6C0W4LRBrew=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30912},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"a1c5801332979599f53d601975e4cb249f42ce94","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.4","toml":"^3.0.0","miniflare":"^3.20241004.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.37.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.12.2","openapi-typescript":"^7.4.1","@vitest/coverage-v8":"^2.1.3","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241011.0","@typescript-eslint/parser":"^8.8.1","@asteasolutions/zod-to-openapi":"^7.2.0","@typescript-eslint/eslint-plugin":"^8.8.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.12.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.7.5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_1.1.7_1728924700186_0.6817135191424804","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"two-stroke","version":"2.0.0","license":"MIT","_id":"two-stroke@2.0.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"463dc6e4b43c0fb341db4ffe8c6535dc91695a6c","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-2.0.0.tgz","fileCount":16,"integrity":"sha512-THbaXfjDXcrosHA5t3+rMK7qgVxD4w2A0/HCl4bMGa0mstJ2pRvXfKEfEzMdwRzkuuwLUZp519mGLyHlDzbcFw==","signatures":[{"sig":"MEQCIFj4n4UPX2yuxclAg5nW/ImF+S+0Ur1CIZ2BVIyjEx/hAiAR/0XjImittyEGioEmUEgqjb5pQQ/iHrvzk84i7coEwg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32006},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"13d61c45012a6d8f5da2dc2d28564d4e08bac1e0","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.4","toml":"^3.0.0","miniflare":"^3.20241004.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.37.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.12.2","openapi-typescript":"^7.4.1","@vitest/coverage-v8":"^2.1.3","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241011.0","@typescript-eslint/parser":"^8.8.1","@asteasolutions/zod-to-openapi":"^7.2.0","@typescript-eslint/eslint-plugin":"^8.8.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.12.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.7.5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_2.0.0_1729767231495_0.9010467034178158","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"two-stroke","version":"3.0.0","license":"MIT","_id":"two-stroke@3.0.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"66c9a3ea2cdd22319a5b14257ab9d3794108a304","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-3.0.0.tgz","fileCount":16,"integrity":"sha512-gGFQcqdIQ1INdopuk98ZNwmBqYSC8ybQqBycO942Ug4Y2zts4KeMmomhR/oS3hSGOhHR2/dbmrFPJOr+zX0xKA==","signatures":[{"sig":"MEUCIQDVzSCHSlWSsNlcBCsXaoZQHGRIsDanGB0XutRoS/WsGwIgAitsvN+vRkr4j3eXLr0fM4VlbUXsBh5LU76yiGoUehw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31059},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"5c78ecdadb0748d1cb8981a76ce0d0398c347671","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.4","toml":"^3.0.0","miniflare":"^3.20241004.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.37.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.12.2","openapi-typescript":"^7.4.1","@vitest/coverage-v8":"^2.1.3","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241011.0","@typescript-eslint/parser":"^8.8.1","@asteasolutions/zod-to-openapi":"^7.2.0","@typescript-eslint/eslint-plugin":"^8.8.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.12.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.7.5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_3.0.0_1729853024895_0.006533435070743332","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"two-stroke","version":"4.0.0","license":"MIT","_id":"two-stroke@4.0.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"0ee69b6e7399be4c8e4bc5d682e9400e807b6f5a","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.0.0.tgz","fileCount":16,"integrity":"sha512-TQQ3LosTgLM+Az9+aFMIXCYSKNiukZCWHUUUxE91ToRTO52oZVbyYXl4tZ59/xKYduxViglVnXiWS4fY6q4Oog==","signatures":[{"sig":"MEUCIE8BN8MnKWDY7rrRq84dZE+uwm5LQ074rC4UCx26rOWWAiEA05NEWT8gvBzNWXpmsBelYtno5VqDl5BeTeD/lz5LpwE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28338},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"0b17bbf6e6b417de1b5992e356a884beb0b4c169","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.6","miniflare":"^3.20241022.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.38.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.0","openapi-typescript":"^7.4.2","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241022.0","@typescript-eslint/parser":"^8.11.0","@vitest/coverage-istanbul":"^2.1.3","@asteasolutions/zod-to-openapi":"^7.2.0","@cloudflare/vitest-pool-workers":"^0.5.22","@typescript-eslint/eslint-plugin":"^8.11.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.13.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.8.1","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.0.0_1730113837205_0.1684810242011925","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"two-stroke","version":"4.1.0","license":"MIT","_id":"two-stroke@4.1.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"82a4d6ec695592595c6500348fca116f95aa2de7","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.0.tgz","fileCount":16,"integrity":"sha512-Q3sxKlqc0/pY3bebWjGSZWQnOu7Eesqt4iV2SOhgqm++oqa4u1gVGA2JZHMLooH+lqZ9tna28VppDmSPz2iXNA==","signatures":[{"sig":"MEUCIQDnyBthY5WBwGT/Ehnf4G2EFvE6phwbA9xKCsjte7KzAAIgb2s5PoyrbfGcdT8dGYMCPHf9onU5uxJ6nAQayk8uWEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28673},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"09bd58b3bfc6fbe7d410957392571f350201b2e3","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.6","miniflare":"^3.20241022.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.38.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.0","openapi-typescript":"^7.4.2","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241022.0","@typescript-eslint/parser":"^8.11.0","@vitest/coverage-istanbul":"^2.1.3","@asteasolutions/zod-to-openapi":"^7.2.0","@cloudflare/vitest-pool-workers":"^0.5.22","@typescript-eslint/eslint-plugin":"^8.11.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.13.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.8.1","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.0_1730194488676_0.11226961738212671","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"two-stroke","version":"4.1.1","license":"MIT","_id":"two-stroke@4.1.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"bcd70c28964494acbf01c0883cf35160364dc73e","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.1.tgz","fileCount":16,"integrity":"sha512-3ZGIK44CPVOdKB5dXq1I1cuby2owt2M0F2xoMLBWlxMHN0uT1be2bXf4x71pbPl0uMb3Gy5RMQO1Q4veij7U2w==","signatures":[{"sig":"MEUCIHumcEvIFOBvvTiqBU6C9WcSVhb+aoiP4r39IVRW3/DVAiEAyI1GsFwzpzCDq/ymDBHZaoklmJXDhx75U38QevvzwMY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28721},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"576c86c0e57896cda9dccfdc02c62bc78933de8f","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.6","miniflare":"^3.20241022.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.38.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.0","openapi-typescript":"^7.4.2","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241022.0","@typescript-eslint/parser":"^8.11.0","@vitest/coverage-istanbul":"^2.1.3","@asteasolutions/zod-to-openapi":"^7.2.0","@cloudflare/vitest-pool-workers":"^0.5.22","@typescript-eslint/eslint-plugin":"^8.11.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.13.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.8.1","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.1_1730801317705_0.8289886257257055","host":"s3://npm-registry-packages"}},"4.1.2":{"name":"two-stroke","version":"4.1.2","license":"MIT","_id":"two-stroke@4.1.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"398c5210668fc7311a901d8f43459685efd415fd","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.2.tgz","fileCount":16,"integrity":"sha512-GiPIWiqRMQecxTLZ8/GXq+u+eY3ZWVeZ43KmY1kWG1ykEKlAI2SBD6Caiwh+nLAV5U6K34oqMpf8Km63lJnpCg==","signatures":[{"sig":"MEYCIQCRX28kb3FqFdO9cVanD6MRdMVt0rhk24AsbX56wgXWngIhALfRU4aU0cY0zX6APhgNgbXZDy94839kjvkV6PuIAq85","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28766},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"3bd09bb7f02542aafcec07ad4a8bf98c217346bd","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.6","miniflare":"^3.20241022.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.38.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.0","openapi-typescript":"^7.4.2","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241022.0","@typescript-eslint/parser":"^8.11.0","@vitest/coverage-istanbul":"^2.1.3","@asteasolutions/zod-to-openapi":"^7.2.0","@cloudflare/vitest-pool-workers":"^0.5.22","@typescript-eslint/eslint-plugin":"^8.11.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.13.0","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.3","@types/node":"^22.8.1","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.2_1730823385031_0.5458172375449926","host":"s3://npm-registry-packages"}},"4.1.3":{"name":"two-stroke","version":"4.1.3","license":"MIT","_id":"two-stroke@4.1.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"b4cbab85f1d87c807c6fc1f93229d0f5a3ec6333","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.3.tgz","fileCount":16,"integrity":"sha512-W1SE7S8Twkr1d09l3wZbfsvuiYJPzbGLqbtOWOK6Tpi1IQB9f0p0rryYvQkqnPmfdZJnFwV29z2nVIaknV0NMg==","signatures":[{"sig":"MEUCIEhZwZ1xXLWEK2Ca3lVNWxYGlu4v+wmqxBKO5lFTYKq3AiEAgqSFGThlWTR9rOsZ+NvZ8RmXVAOSs7RQXefe4yIxLAA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28766},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"8eab3b32eb83bcf169d06d1c528ab87f8e6bc67d","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.23.8","jose":"^5.9.6","miniflare":"^3.20241106.1","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.39.1","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"0.13.1","openapi-typescript":"^7.4.4","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"^1.1.6","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241202.0","@typescript-eslint/parser":"^8.17.0","@vitest/coverage-istanbul":"^2.1.8","@asteasolutions/zod-to-openapi":"^7.2.0","@cloudflare/vitest-pool-workers":"^0.5.32","@typescript-eslint/eslint-plugin":"^8.17.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.16.0","vitest":"^2.1.8","prettier":"^3.4.1","typescript":"^5.7.2","@types/node":"^22.10.1","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.3_1733253137454_0.3649122815964869","host":"s3://npm-registry-packages"}},"4.1.4":{"name":"two-stroke","version":"4.1.4","license":"MIT","_id":"two-stroke@4.1.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"43b6947f000e0f86bd168fbc0db61fdc2bcff105","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.4.tgz","fileCount":16,"integrity":"sha512-64TGzsavo15m5qMJcPChELxO+8cPhcaQyQBEnTU4p459SQQymJPEXx2/UuVE/VOMFIkPDA5gDtf8mGrr8yThPw==","signatures":[{"sig":"MEYCIQC+uuyKMyqMeLrNQa4OY5yKwXDIprkpDg55mn2lzeERuQIhALcgY42itewpoV+YqBswE+eZ0BnnCsJ2E0TmegURC36Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28765},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"82d16e9fa63f1934d910d60d16dd0316f2d1fbeb","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.1","jose":"^5.9.6","miniflare":"^3.20241205.0","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.39.1","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.3","openapi-typescript":"^7.4.4","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^9.1.0","eslint-config-two-stroke":"1.1.7","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20241216.0","@typescript-eslint/parser":"^8.18.1","@vitest/coverage-istanbul":"^2.1.8","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.5.37","@typescript-eslint/eslint-plugin":"^8.18.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.17.0","vitest":"^2.1.8","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=1","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.4_1734374056150_0.25912550133262324","host":"s3://npm-registry-packages-npm-production"}},"4.1.5":{"name":"two-stroke","version":"4.1.5","license":"MIT","_id":"two-stroke@4.1.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"70021c1a1289bd4ba618f733b9025a7135eb8e3c","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.5.tgz","fileCount":16,"integrity":"sha512-a6t+Jbs8cyqKG05zkZS7hqdNvhT12aIm9Js8pX45ja0v+yPbWswL4Vpmmz6N+rL1XZ3SMzfAiVmo9/PxZosSuA==","signatures":[{"sig":"MEYCIQCso3PeMx8AOKJTv4HrMlMQLOoft59GCwiB4IHFdFq4kwIhAK9PE1ibEWlq9LeBuiL+LUzPjgzn+dxrSWOcYGWinb9O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28769},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"e59bbf5eae1d73b1c96648deb35432620c7eabd9","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.1","jose":"^5.9.6","miniflare":"^3.20241230.2","toucan-js":"^4.0.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.40.0","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.4","openapi-typescript":"^7.5.2","@anatine/zod-openapi":"^2.2.6","eslint-config-prettier":"^10.0.1","eslint-config-two-stroke":"^1.1.8","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250109.0","@typescript-eslint/parser":"^8.20.0","@vitest/coverage-istanbul":"^2.1.8","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.6.3","@typescript-eslint/eslint-plugin":"^8.20.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.18.0","vitest":"^2.1.8","prettier":"^3.4.2","typescript":"^5.7.3","@types/node":"^22.10.7","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.5_1737113291976_0.3911773611909126","host":"s3://npm-registry-packages-npm-production"}},"4.1.6":{"name":"two-stroke","version":"4.1.6","license":"MIT","_id":"two-stroke@4.1.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"e9b3c1f054441cd2961511448d6cf9a5c5a46617","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.6.tgz","fileCount":16,"integrity":"sha512-cb4kNztx0hi0KrWqlkATPpFBLe3rRGDg7p1UglF926tiL0AR7BhSY9R1/nzm0s/PkvGvfKi56Dl3iY867O1s9Q==","signatures":[{"sig":"MEUCIQCja2p7G/tRLw1BhEW9WEOkdjkfkpqkI3xIus3Ak3U5fAIgY7aiWOmxopVlsTwq77xkTNEkEUz/0JsfVoHHVzlqtNQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28769},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"965d55b4aa2c223ec6c9682839367986875fb042","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.1","jose":"^5.9.6","miniflare":"^3.20241230.2","toucan-js":"^4.1.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.41.0","@types/node":"^22.10.7","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.4","openapi-typescript":"^7.5.2","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.0.1","eslint-config-two-stroke":"^1.1.8","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250109.0","@typescript-eslint/parser":"^8.20.0","@vitest/coverage-istanbul":"^2.1.8","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.6.4","@typescript-eslint/eslint-plugin":"^8.20.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.0","devDependencies":{"eslint":"^9.18.0","vitest":"^2.1.8","prettier":"^3.4.2","typescript":"^5.7.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.6_1737387350392_0.8605017061837723","host":"s3://npm-registry-packages-npm-production"}},"4.1.7":{"name":"two-stroke","version":"4.1.7","license":"MIT","_id":"two-stroke@4.1.7","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"309fdcabac2c5c5801d8c60e31d3d0b1844ad234","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.7.tgz","fileCount":16,"integrity":"sha512-oKh5SzeidBHC7ZwurRlj+BigtM1Fm2O2ctUdzP1mrQZ9EvlLH/MqQ3rHVpdC+O2z1OiKT6v6MJqoRVPJ2XLz1g==","signatures":[{"sig":"MEQCIA+luUiEApvhxj7WJ3OSybqs2kQYt5b8ECAAvVMIXCrTAiBYVpFiEjug0qRnA/FS4GaWUmavYbAcOuZElnNkOHvM1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28770},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"2b9dc6dbb78d7ee6111630b90ef26d2bb99e62af","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^5.10.0","miniflare":"^3.20250214.0","toucan-js":"^4.1.0","jwk-subtle":"^1.0.7","@sentry/cli":"^2.42.1","@types/node":"^22.13.4","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.4","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.0.1","eslint-config-two-stroke":"^1.1.9","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250214.0","@typescript-eslint/parser":"^8.24.1","@vitest/coverage-istanbul":"^3.0.6","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.7.0","@typescript-eslint/eslint-plugin":"^8.24.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.20.1","vitest":"^3.0.6","prettier":"^3.5.1","typescript":"^5.7.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.7_1739979315232_0.9280794423073562","host":"s3://npm-registry-packages-npm-production"}},"4.1.8":{"name":"two-stroke","version":"4.1.8","license":"MIT","_id":"two-stroke@4.1.8","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"840939ad0ee174955b16cb2d2ed889c915b3379b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.8.tgz","fileCount":16,"integrity":"sha512-IdUze7nYH2T5kfZTq4asyvpcO5nsXqmi2mjdStpgD98mijNGgeGs7kiXnMFeti+qkqa+Y1qbjTsQje/uf1MIsA==","signatures":[{"sig":"MEUCIEqZRPx1nKV2i0/7Vvpw4B/+ulyhKSl2TT4Srui8JO43AiEAzxAeYnUXwA9w6i2a8s1P6FW3fYHcD+ZRLX2r6E/3C+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28770},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"a6be4840aacd12270fd1138f888c50fec1f28aa0","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^6.0.8","miniflare":"^3.20250214.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.42.2","@types/node":"^22.13.8","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.4","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.0.2","eslint-config-two-stroke":"^1.1.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250224.0","@typescript-eslint/parser":"^8.25.0","@vitest/coverage-istanbul":"^3.0.7","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.7.4","@typescript-eslint/eslint-plugin":"^8.25.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.21.0","vitest":"^3.0.7","prettier":"^3.5.3","typescript":"^5.8.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.8_1740999816835_0.5574887297451505","host":"s3://npm-registry-packages-npm-production"}},"4.1.9":{"name":"two-stroke","version":"4.1.9","license":"MIT","_id":"two-stroke@4.1.9","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"a31478e82b2c378268375c8c4647224eeea85d9a","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.9.tgz","fileCount":16,"integrity":"sha512-UXZcdnqSCfHO/fabguy0WAz51pqmaPNT/NmUBKGNH52BceNCNolPgx9fdrZv8UWICe7BdZRqauHgltbKtONIcA==","signatures":[{"sig":"MEYCIQDyb2VJclR7RN3aKv0/aeEZeXTWfOlOUML8e+beZe/+nAIhANRJorXX74ojSF/cV2RFJOt2mpTuO8zIPMnBHjEnxXCB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28917},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"445e4e9090148232547c2d6d026b5fa27aef6373","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^6.0.8","miniflare":"^3.20250214.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.42.2","@types/node":"^22.13.8","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.4","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.0.2","eslint-config-two-stroke":"^1.1.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250224.0","@typescript-eslint/parser":"^8.25.0","@vitest/coverage-istanbul":"^3.0.7","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.7.4","@typescript-eslint/eslint-plugin":"^8.25.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.21.0","vitest":"^3.0.7","prettier":"^3.5.3","typescript":"^5.8.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.9_1741005936318_0.6550241114800395","host":"s3://npm-registry-packages-npm-production"}},"4.1.10":{"name":"two-stroke","version":"4.1.10","license":"MIT","_id":"two-stroke@4.1.10","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"863ddd3263b9d83cd110532ef79da2568b147877","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.10.tgz","fileCount":16,"integrity":"sha512-ha1He9LDUE1u9pVQMGeNMMhCqVxfSJjA1+TJTy4ntFIDK7jDRIsD2i/ez/rv6cpxafjvY/A9M+2k4E/uBU6tpw==","signatures":[{"sig":"MEYCIQCO7AJZmeHzCSMbJAalPcvlcRrzd5eonaFwjpsGvgIqKAIhAJyRET2oT+Vnea1ZCKr/99EB4wbxbyefDnfnpvFxCyAw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29106},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"79a4a2674ee1c2d84c3bf4502bbacf4d40866d0f","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^6.0.8","miniflare":"^3.20250214.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.42.2","@types/node":"^22.13.8","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.4","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.0.2","eslint-config-two-stroke":"^1.1.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250224.0","@typescript-eslint/parser":"^8.25.0","@vitest/coverage-istanbul":"^3.0.7","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.7.4","@typescript-eslint/eslint-plugin":"^8.25.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.21.0","vitest":"^3.0.7","prettier":"^3.5.3","typescript":"^5.8.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.10_1741008793044_0.6159231503909861","host":"s3://npm-registry-packages-npm-production"}},"4.1.11":{"name":"two-stroke","version":"4.1.11","license":"MIT","_id":"two-stroke@4.1.11","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"305ac84515f687e8884e4c766613e6eed180ebfa","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.1.11.tgz","fileCount":16,"integrity":"sha512-0ZIUR3fwkS/q9DErwrPH3LYgA9Zu+/kRN9byrICrFOcVxBC3y6GzRTlAYn4/aDS4VAgofgjeQhC4wl3xU/bmQw==","signatures":[{"sig":"MEUCIQDGm1I3BAGZP7nsS6Yic96G1CduQ71oIOpNskDCd9FuFgIgcP6FoxnpQFZaFHpbL7U7Mi7ORqsh3mkyyInQSwXCamU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29108},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"d3a56a0fa2b99f06d1649ba17fd3594356b1c80f","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^6.0.10","miniflare":"^4.20250310.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.42.3","@types/node":"^22.13.10","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.4","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.1.1","eslint-config-two-stroke":"^1.1.11","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250313.0","@typescript-eslint/parser":"^8.26.1","@vitest/coverage-istanbul":"^3.0.8","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.0","@typescript-eslint/eslint-plugin":"^8.26.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.22.0","vitest":"^3.0.8","prettier":"^3.5.3","typescript":"^5.8.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.1.11_1741943835456_0.961614153891621","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"two-stroke","version":"4.2.0","license":"MIT","_id":"two-stroke@4.2.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"2939df53a34510ab2204e7a872884436030ba636","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.2.0.tgz","fileCount":16,"integrity":"sha512-mN45cEIFOvNBHiTnmZCvBVd2YuwP6kKs+ofx5yUMiS5ZlLqvLepp9xg8D9QvWEUNuqzJ/48bV8UxBkBjMvtw6g==","signatures":[{"sig":"MEUCIB/E+4o6zhb6GcbBXv6rXqvyDJJDuTToF1jVtHziyr5RAiEAmixeVQKKKmeHcRGaJRPVDcBl5TMp53i7zKiDWtBt3wk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29440},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"1de900ed37ee90f14d5383bd9aa618b44c3edb22","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^6.0.10","miniflare":"^4.20250321.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.43.0","@types/node":"^22.13.14","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.5","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.1.1","eslint-config-two-stroke":"^1.1.12","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250327.0","@typescript-eslint/parser":"^8.28.0","@vitest/coverage-istanbul":"^3.0.9","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.8","@typescript-eslint/eslint-plugin":"^8.28.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.23.0","vitest":"^3.0.9","prettier":"^3.5.3","typescript":"^5.8.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.2.0_1743414078523_0.4855956955058449","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"two-stroke","version":"4.3.0","license":"MIT","_id":"two-stroke@4.3.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"ff890227e0a3eeb085576613f6348c47dda626f3","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.3.0.tgz","fileCount":16,"integrity":"sha512-08QxB/9hM9KqcfWVwER786kEYasEhWr6Qhnyjh2N+RdAfVKtKXRfT4Lj+QYcm4z0lhbQ9oDTQSSB6c8nWZtvDQ==","signatures":[{"sig":"MEYCIQCDEm2l4sU8ZiPFwGPo14ETKrtDc1fZ3hcNgJBwKQ/ioQIhAJocmvo5nQacz1UAaELjTDIiuJu+Oc8xjusSu2cQ2BtQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29453},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"747de1b5bf6f0041d4bef05264c351c85ce1ac3a","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^6.0.10","miniflare":"^4.20250321.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.43.0","@types/node":"^22.13.14","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.5","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.1.1","eslint-config-two-stroke":"^1.1.12","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250327.0","@typescript-eslint/parser":"^8.28.0","@vitest/coverage-istanbul":"^3.0.9","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.8","@typescript-eslint/eslint-plugin":"^8.28.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.23.0","vitest":"^3.0.9","prettier":"^3.5.3","typescript":"^5.8.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.3.0_1743515385373_0.2761573693528292","host":"s3://npm-registry-packages-npm-production"}},"4.3.1":{"name":"two-stroke","version":"4.3.1","license":"MIT","_id":"two-stroke@4.3.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"ea3c2763a4cd1b23fd7752d12728933f5f398557","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.3.1.tgz","fileCount":16,"integrity":"sha512-tdNYm0BtCEAegAGY+zf1e+18FznKf2Mpdqw1eBLVDzB3YTIPlc7NNdrqHUEhLLPaiKOMLCXI8h+LSCAORyzCsw==","signatures":[{"sig":"MEQCIEAVx7CS53QaebR5lVlCRL+x2AW6dQvo7KXKQrorfWD9AiBy7fyVftPbSqy7uVmizlqeKZQ0JgKi7odrsjOXmqdNsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32674},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"5534b1aad4775bf9f7efbc98bb3bff3d35c7a62b","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^6.0.10","miniflare":"^4.20250321.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.43.0","@types/node":"^22.13.14","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.5","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.7","eslint-config-prettier":"^10.1.1","eslint-config-two-stroke":"^1.1.12","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250327.0","@typescript-eslint/parser":"^8.28.0","@vitest/coverage-istanbul":"^3.0.9","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.8","@typescript-eslint/eslint-plugin":"^8.28.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.23.0","vitest":"^3.0.9","prettier":"^3.5.3","typescript":"^5.8.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.3.1_1743582731855_0.06563812120358037","host":"s3://npm-registry-packages-npm-production"}},"4.3.2":{"name":"two-stroke","version":"4.3.2","license":"MIT","_id":"two-stroke@4.3.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"6a956f0f04a163db35ba3c2c9eada96c5aec9e66","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.3.2.tgz","fileCount":16,"integrity":"sha512-QgOXq3A8/k1UPLXbakW/MToG1a3WAOS5elx8vlWbYESP2Bdzj/KGs/WTD2BC58BknSyD+7hDJ5Xm3tb7455Rww==","signatures":[{"sig":"MEQCIEWl3PNz0a3uFznCic2sA1qPfp6YRsnNEQys+k0coFbMAiA4gWXmIpA6EXcGcdL8uEZAFjxG1acebVslm7udng1kTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32674},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"be31575952eb3e27584088b9fe5a52c368f9cec4","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.2","jose":"^6.0.10","miniflare":"^4.20250410.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.43.0","@types/node":"^22.14.1","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.5","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.8","eslint-config-prettier":"^10.1.2","eslint-config-two-stroke":"^1.1.13","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250416.0","@typescript-eslint/parser":"^8.30.1","@vitest/coverage-istanbul":"^3.1.1","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.17","@typescript-eslint/eslint-plugin":"^8.30.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.24.0","vitest":"^3.1.1","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.3.2_1744807823073_0.35254218668517634","host":"s3://npm-registry-packages-npm-production"}},"4.3.3":{"name":"two-stroke","version":"4.3.3","license":"MIT","_id":"two-stroke@4.3.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"31dc5af7de982fcf483e6ef92338e46f42d0e43a","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.3.3.tgz","fileCount":16,"integrity":"sha512-MyYae1LT6DtFUlD+6P3x2B3JrLZMziied34fmEw9DH+viY9IPkeppD3eY4hEPslleNg1LB1MsED050jdD5xlMg==","signatures":[{"sig":"MEUCIQD2HkYGxiTJ9j6vav9O1gZjxE/b81Yw06UYRRgZkfuLlgIgJQmCKgJ3fCKPHvNetoh/xSn51+YEPMgWnpdbTXDGNlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32674},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"4479902ee1ed61947753cb36699b49bfb27839ac","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.3","jose":"^6.0.10","miniflare":"^4.20250417.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.43.0","@types/node":"^22.14.1","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.5","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.8","eslint-config-prettier":"^10.1.2","eslint-config-two-stroke":"^1.1.14","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250423.0","@typescript-eslint/parser":"^8.31.0","@vitest/coverage-istanbul":"^3.1.2","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.19","@typescript-eslint/eslint-plugin":"^8.31.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.25.1","vitest":"^3.1.2","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.3.3_1745404644410_0.8291845725457858","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"two-stroke","version":"4.4.0","license":"MIT","_id":"two-stroke@4.4.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"5b60cda09b27a49be4a5e6999912c52d8a87a1a9","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.4.0.tgz","fileCount":16,"integrity":"sha512-8gBBYAiC7oScIG/zt7cil7QKXLuR8jaa+b3qhnnPr7eh89QRMKLKuOvxH69hlUCt7uqQFv8ssxbC+/+JO4eOcQ==","signatures":[{"sig":"MEUCIAdtLLGqvD/6eYBh9NcPRD9GAUR1exoGC6V/S9InzeBBAiEA8DEMzDDGkpWi6z+NYBvMGcjl9c3Je4YKVZjO+jacoyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32676},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"aca7e9f7214a7f77350de46ccdc49077e8aa47a5","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.24.3","jose":"^6.0.10","miniflare":"^4.20250428.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.43.1","@types/node":"^22.15.3","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.13.5","openapi-typescript":"^7.6.1","@anatine/zod-openapi":"^2.2.8","eslint-config-prettier":"^10.1.2","eslint-config-two-stroke":"^1.1.15","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250430.0","@typescript-eslint/parser":"^8.31.1","@vitest/coverage-istanbul":"^3.1.2","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.23","@typescript-eslint/eslint-plugin":"^8.31.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.25.1","vitest":"^3.1.2","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.4.0_1746099001269_0.2696704555391529","host":"s3://npm-registry-packages-npm-production"}},"4.4.1":{"name":"two-stroke","version":"4.4.1","license":"MIT","_id":"two-stroke@4.4.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"27af84522876d2d2e88cd0232d03e0bf643d7f2c","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.4.1.tgz","fileCount":16,"integrity":"sha512-uXHyXQPyBj32fPUMscNOVuHMIdjZwIl6nHhvXZjv5R7fzKEsX2jhY4OFDSCcm4xLzCyemGhsVUHyjky3mIv1Rg==","signatures":[{"sig":"MEUCIQCF7Wd9Zz6z6U1hHsRiBniArrv+E+Pll04GzpI/d7akugIgV0WEZt90zGBNchruBfL5WlovHcE05Zq9AZLkltjgn0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32678},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"f9a7b7840b3aec62515051678f0b8805f90ca483","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.17","jose":"^6.0.11","miniflare":"^4.20250508.3","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.45.0","@types/node":"^22.15.21","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","@anatine/zod-openapi":"^2.2.8","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.16","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250521.0","@typescript-eslint/parser":"^8.32.1","@vitest/coverage-istanbul":"^3.1.4","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.31","@typescript-eslint/eslint-plugin":"^8.32.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.27.0","vitest":"^3.1.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.4.1_1747831113325_0.5178118495443274","host":"s3://npm-registry-packages-npm-production"}},"4.4.2":{"name":"two-stroke","version":"4.4.2","license":"MIT","_id":"two-stroke@4.4.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"e99c17b4b4691cc05d9cdd1bacf730949760ccc5","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-4.4.2.tgz","fileCount":16,"integrity":"sha512-LGibInKDGrzDtmviJIwCd2QBvBhqWjeTC8G+xzT4RjST7QMAxegOexMdWF6nX059dZArR6yE3+El7ck2eOZDJw==","signatures":[{"sig":"MEUCIQDuwgI4Lt+nn8i3G+8I+nIHBvKb2D3AiMIrK5npo4jPnQIgAMkgZbBxMVojIvZXBd/N/1S7CJmB4Hwadko0V95GdSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32678},"main":"src/index.ts","type":"module","engines":{"node":"^20.10.0"},"gitHead":"9537ded9d962d1742bb120035ee417ceab77e19a","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.17","jose":"^6.0.11","miniflare":"^4.20250508.3","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.45.0","@types/node":"^22.15.21","openapi3-ts":"^4.4.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","@anatine/zod-openapi":"^2.2.8","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.17","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250521.0","@typescript-eslint/parser":"^8.32.1","@vitest/coverage-istanbul":"^3.1.4","@asteasolutions/zod-to-openapi":"^7.3.0","@cloudflare/vitest-pool-workers":"^0.8.31","@typescript-eslint/eslint-plugin":"^8.32.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.27.0","vitest":"^3.1.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_4.4.2_1747837111556_0.44309231416190387","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"two-stroke","version":"5.0.0","license":"MIT","_id":"two-stroke@5.0.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"00442ee85a1b4627dec626782d52f197fd472e84","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.0.0.tgz","fileCount":16,"integrity":"sha512-+6tJt35fe7Lgk4UDH266gibxu9QIuLvPaDosIcXJnJpxHjFcgPq8Pdw0XlJW0sudMa7n4ugNrxPTAEa6JqTsrw==","signatures":[{"sig":"MEUCIHG0ciXN96J8xOg2oB4UMxz2UHJMQtVKRVKfjulLaNwcAiEAz8TENehtQYv74Bzmsv8Iqv7Xam7CWRSuDnH1Ihk4apI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33176},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"d956ae4a1d869bf66e3bd9e915ba41196808629f","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.20","jose":"^6.0.11","miniflare":"^4.20250508.3","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.45.0","@types/node":"^22.15.21","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.19","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250522.0","@typescript-eslint/parser":"^8.32.1","@vitest/coverage-istanbul":"^3.1.4","@cloudflare/vitest-pool-workers":"^0.8.32","@typescript-eslint/eslint-plugin":"^8.32.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.27.0","vitest":"^3.1.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.0.0_1748000818180_0.5524849698470775","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"two-stroke","version":"5.0.1","license":"MIT","_id":"two-stroke@5.0.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"27825ddc1ec003c57578a9b1d76a4a95c5988525","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.0.1.tgz","fileCount":16,"integrity":"sha512-n1qZEibUgZQWLSkHek2omwm96XLq08PKJnpXKj9o+UpRiNMoMnOeAiD7qzAnoZRgWlnR8iJYGAGjl78/GfHVog==","signatures":[{"sig":"MEYCIQDeh9cmD5SF4N/CbNZMNlFh7YHZpfmavBKmyV6oEGVm1AIhAKBPPsCUExTorrjVTBsru8thUcb3tXaCP3oHWzNTIvJn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33256},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"a8e6014b17ef1ed04aa7adc1ce4237991b07ac16","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.20","jose":"^6.0.11","miniflare":"^4.20250508.3","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.45.0","@types/node":"^22.15.21","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.19","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250522.0","@typescript-eslint/parser":"^8.32.1","@vitest/coverage-istanbul":"^3.1.4","@cloudflare/vitest-pool-workers":"^0.8.32","@typescript-eslint/eslint-plugin":"^8.32.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.27.0","vitest":"^3.1.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.0.1_1748006415306_0.5492094344362743","host":"s3://npm-registry-packages-npm-production"}},"5.0.2":{"name":"two-stroke","version":"5.0.2","license":"MIT","_id":"two-stroke@5.0.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"bfabfc4262ca2109f855aa1cccae19b249ed3a63","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.0.2.tgz","fileCount":16,"integrity":"sha512-L5usdzJNH3Uy97YdWuTjG5UBTcideinl0wunNu7EwHbB7bUHOzzASHCjhAlBV1C8cOskPCGc7aRd/9iygBeEUQ==","signatures":[{"sig":"MEQCICPJaliRLWSRdbqss4dMrAC33FImMG8VLzKJ5qANdqvUAiAIdR2ulnZw7DW6eaHFvZv5DMwnvXk0KXTRV6rxicc+lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33344},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"f19ab3993c22fa6543fab3b9196b01107ccbca67","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.20","jose":"^6.0.11","miniflare":"^4.20250508.3","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.45.0","@types/node":"^22.15.21","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.19","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250522.0","@typescript-eslint/parser":"^8.32.1","@vitest/coverage-istanbul":"^3.1.4","@cloudflare/vitest-pool-workers":"^0.8.32","@typescript-eslint/eslint-plugin":"^8.32.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.27.0","vitest":"^3.1.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.0.2_1748008270515_0.5710903711966486","host":"s3://npm-registry-packages-npm-production"}},"5.0.3":{"name":"two-stroke","version":"5.0.3","license":"MIT","_id":"two-stroke@5.0.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"8514d20d1ec06ca7a3e962be059b44af1e22779f","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.0.3.tgz","fileCount":16,"integrity":"sha512-sFs/ARzGbmDTYxwHJt9//87SRGCuS9v6ZP5I/Hq413qseI3y5W9i1bYO1NQEoLVVc8rQFSHY0iaATg1OYxKA8Q==","signatures":[{"sig":"MEYCIQCytY3ggf0GMSs2KJL94kwt06e/0pIgTMkuCq7CeOU0YQIhAOHDk5fchhkNG+lZGhfMQ1b5XWmADwDc1h6fPIAGFFNG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33468},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"73e08b723eaba38033ae3e46d6551841cd9bd6ea","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.47","jose":"^6.0.11","miniflare":"^4.20250525.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^22.15.29","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.20","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250601.0","@typescript-eslint/parser":"^8.33.0","@vitest/coverage-istanbul":"^3.1.4","@cloudflare/vitest-pool-workers":"^0.8.34","@typescript-eslint/eslint-plugin":"^8.33.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.28.0","vitest":"^3.1.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.0.3_1748851128012_0.8367385194246841","host":"s3://npm-registry-packages-npm-production"}},"5.0.4":{"name":"two-stroke","version":"5.0.4","license":"MIT","_id":"two-stroke@5.0.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"9b3aec836a8d08c604b786fd2b8c47503e924cc3","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.0.4.tgz","fileCount":16,"integrity":"sha512-qBGobRzrWXaYDemXRDXYT1TYfjg1O4VrD6PiqPbxxKMEqbixuUKZ+oSc8ec4kbJaFoSZzbKTZoeIr9alUPD7Lg==","signatures":[{"sig":"MEUCIDyfB/w88bicr2CCfuvWDSY9ZTUtNTc3Svt3Crv/YZaeAiEAomJG8wBySQf+MyP/EJw+eJntEVTnq/o6Xk7jov8U6Eo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33540},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"2263b5530b31b0c2ac634d8c47c7d0fb8fc66ca2","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.47","jose":"^6.0.11","miniflare":"^4.20250525.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^22.15.29","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.20","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250601.0","@typescript-eslint/parser":"^8.33.0","@vitest/coverage-istanbul":"^3.1.4","@cloudflare/vitest-pool-workers":"^0.8.34","@typescript-eslint/eslint-plugin":"^8.33.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.28.0","vitest":"^3.1.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.0.4_1748851253515_0.5011561368533191","host":"s3://npm-registry-packages-npm-production"}},"5.0.5":{"name":"two-stroke","version":"5.0.5","license":"MIT","_id":"two-stroke@5.0.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"7795461ef51a23e5f2e9d1e136dbc30608bdcd43","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.0.5.tgz","fileCount":16,"integrity":"sha512-Y5PhN9XsuGEoP4w9783PU54uguxUeVc4IYmcOwx6kbRaVDEwTHt2lokczeh7ziDqv0sgG/Xv6i2/gjmPK3+imA==","signatures":[{"sig":"MEUCIHSh4uf0LLXYLqs0FfYx3pCXk64U5j4EnldY7NpL+MEMAiEA5mr6oQjJzGR9lPvSPiznL1v4X3uluwtrJupYYkuJ6y4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33540},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"23d3de1ea8cf3b459f39cb5196f16be2ba56b26a","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.49","jose":"^6.0.11","miniflare":"^4.20250525.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^22.15.29","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.21","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250603.0","@typescript-eslint/parser":"^8.33.1","@vitest/coverage-istanbul":"^3.2.0","@cloudflare/vitest-pool-workers":"^0.8.34","@typescript-eslint/eslint-plugin":"^8.33.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.28.0","vitest":"^3.2.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.0.5_1748948599275_0.5504639774389846","host":"s3://npm-registry-packages-npm-production"}},"5.0.6":{"name":"two-stroke","version":"5.0.6","license":"MIT","_id":"two-stroke@5.0.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"a81076885cdf90f084a123ff07956e0d0e2b6911","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.0.6.tgz","fileCount":16,"integrity":"sha512-h6cy41eo61VN/g0tJ4n32rls5fKU2bpaO6EmydDTvR7SUJWT5QgetUqFA/3HZ5nh043+z/Bv7+K/3JRx1yCp/Q==","signatures":[{"sig":"MEYCIQDyDeyvOJQT6XTO/6Ezhb9ScEYPCAGPkdodACfJxM6TvQIhANvyNEueUjmoZo4qHxbT6rg2qMtU78LyifEJqfzskyYr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33987},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"66cccf0917c8c9e152a45dd14926b192a3cc23a4","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.49","jose":"^6.0.11","miniflare":"^4.20250525.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^22.15.29","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.21","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250603.0","@typescript-eslint/parser":"^8.33.1","@vitest/coverage-istanbul":"^3.2.0","@cloudflare/vitest-pool-workers":"^0.8.34","@typescript-eslint/eslint-plugin":"^8.33.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.28.0","vitest":"^3.2.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.0.6_1749127109550_0.406634318457596","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"two-stroke","version":"5.1.0","license":"MIT","_id":"two-stroke@5.1.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"4876e07d66c823a7525b5f3815973ba8acfa6e44","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.1.0.tgz","fileCount":16,"integrity":"sha512-X9Vg856GwqZhA3SsiYTxlPzT5A6BuY1WiRg0vna/UczDYZgG+AnF2bf+MoDqNSEJpbrlWJlMFQyB5Dnjt/j5Hg==","signatures":[{"sig":"MEUCIA1xw9QY+8dBz+MfOHrjMVaFeFkP8r8p2qJequbKrk3sAiEAqX0tfuAVg+2boQElicFNG+QaJMeZoL63JUSqJset5xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34129},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"dcdb514a1e7427f668977338968a290d2bb22fd0","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.49","jose":"^6.0.11","miniflare":"^4.20250525.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^22.15.29","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.21","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250603.0","@typescript-eslint/parser":"^8.33.1","@vitest/coverage-istanbul":"^3.2.0","@cloudflare/vitest-pool-workers":"^0.8.34","@typescript-eslint/eslint-plugin":"^8.33.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.28.0","vitest":"^3.2.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.1.0_1749456426471_0.48595943209854475","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"two-stroke","version":"5.1.1","license":"MIT","_id":"two-stroke@5.1.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"5ee747bce900f6d78f6ca955ef4e552727b90bf3","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.1.1.tgz","fileCount":16,"integrity":"sha512-X7mZOMOnRbmm6V8HDKLw25oIxtcLel/7jH8Y+r3xB35gVo86/aQ/frKowEwobnAO27fB7mrrKyMU6T6cOnIQLQ==","signatures":[{"sig":"MEYCIQCEn0VtaKOguF/dwpgEtPptBbuTTqTT/JfD7jdUq/CMlgIhAOT3A9RMHgfsjPnIYVkiEGqb5YeAIKdG6e+TAiUgIjKr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34127},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"a14feb69f8f6b230ded14fb02133b828160f6edb","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.61","jose":"^6.0.11","miniflare":"^4.20250525.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.22","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250610.0","@typescript-eslint/parser":"^8.34.0","@vitest/coverage-istanbul":"^3.2.3","@cloudflare/vitest-pool-workers":"^0.8.36","@typescript-eslint/eslint-plugin":"^8.34.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.28.0","vitest":"^3.2.3","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.1.1_1749638396904_0.9431746572147914","host":"s3://npm-registry-packages-npm-production"}},"5.1.2":{"name":"two-stroke","version":"5.1.2","license":"MIT","_id":"two-stroke@5.1.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"586f01cb14d8899d4ad56801fcc8055d6a6db253","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.1.2.tgz","fileCount":16,"integrity":"sha512-Tb6Cj1YoSfniuJFrqdN5wUo27RZ6SUBXM08bQO3wziTOt3FwvNRThugF/GvHqzI3Q1n/b0+vmcDH9e/t0J+97g==","signatures":[{"sig":"MEUCIQDLPbZ05JTuw+ii/lHLL7yjjUShuz6tH1SKnOzn7+0J/QIgDqvX7KzOjS1QXbzqc63wYUdPygAPrshpSBmnHjIvWjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34127},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"00d2b0d44634e13754bead8c4cd3d0ca1ca95a70","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250612.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.23","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250618.0","@typescript-eslint/parser":"^8.34.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.39","@typescript-eslint/eslint-plugin":"^8.34.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.1.2_1750236173430_0.4905627530492962","host":"s3://npm-registry-packages-npm-production"}},"5.1.3":{"name":"two-stroke","version":"5.1.3","license":"MIT","_id":"two-stroke@5.1.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"9aba548623613a834a76a9bd31b704e4013258bd","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.1.3.tgz","fileCount":16,"integrity":"sha512-wuh3vVid2OIjbLnLBxkXBjqfaOZ2acN+iaGitOaH3IeTDFFfVGUD9nhr8djiMuWjKW3jBzt08X8UjhbbWseTIQ==","signatures":[{"sig":"MEUCIAgCPlMV9L4CHKDID/I0yzCGUN3gkFlU4QzVFzHP1R+NAiEAr5bY8cSxSkGX3ng+lmUXGAizwplUG8IMy8Z9YuA+9JA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34136},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"6f852a89c4a9dfc2d23fe6d0c46334f500f9f8e0","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250612.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.23","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250618.0","@typescript-eslint/parser":"^8.34.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.39","@typescript-eslint/eslint-plugin":"^8.34.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.1.3_1750237560600_0.7707311204780085","host":"s3://npm-registry-packages-npm-production"}},"5.1.4":{"name":"two-stroke","version":"5.1.4","license":"MIT","_id":"two-stroke@5.1.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"219836d6b86980c66f11ed04de1cfd13f686a57c","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.1.4.tgz","fileCount":16,"integrity":"sha512-3nId//F60FUbID1HQAd+k9q1jsgFckfudg0NAtBmi6QfRp7auPSyLD6rWlQjkZ/SCy6XcDrkJ8ulmTBvzlJQVg==","signatures":[{"sig":"MEUCIQDlgYsmtnISPBM9Tc274WbbKf5hiPa0iwRobFaLJXz2FAIgBXGoEhU+zNVDEeyItv54SScbOsp1wQRN7crvYqrayaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34145},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"4dddc5af890b3df088219a0218a64c300449849f","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250612.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.23","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250618.0","@typescript-eslint/parser":"^8.34.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.39","@typescript-eslint/eslint-plugin":"^8.34.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.1.4_1750237892280_0.9866855398601979","host":"s3://npm-registry-packages-npm-production"}},"5.1.5":{"name":"two-stroke","version":"5.1.5","license":"MIT","_id":"two-stroke@5.1.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"9db59a5b82e749ac3c38080e4307386d10b6a504","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.1.5.tgz","fileCount":16,"integrity":"sha512-Mz5QNDQH3rjCd/4MZ6/NDZ+igAI7rA+r5mkUBCuY/0LQdZVm2/HstMkUjjFzCulIpvyb+9c6McdEVTVRu3V9OQ==","signatures":[{"sig":"MEQCIBLJuqJ7T1gqxUsMvSRuopx3BJO2kOvm3bcQNEorwm5vAiAhQSf367xOasTdxJWoU6vatNwK9253qCb+SSVbpnR8iw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34143},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"1dc21d8e2d872788b7f9ad481b4b341ed21ef690","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250612.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.23","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250618.0","@typescript-eslint/parser":"^8.34.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.39","@typescript-eslint/eslint-plugin":"^8.34.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.1.5_1750238566297_0.5253735575274239","host":"s3://npm-registry-packages-npm-production"}},"5.1.6":{"name":"two-stroke","version":"5.1.6","license":"MIT","_id":"two-stroke@5.1.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"d0ee199e75f36f6f4cf4128f41243e59ac7a0558","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.1.6.tgz","fileCount":16,"integrity":"sha512-d+hBqU3e6yDVlf5gF+cQVhO/euxbAo4u/YwGWmQUzhHLB7MPIiWRxSWMhX5AqTQvyf17btZzPK7mWAqxIhETxg==","signatures":[{"sig":"MEQCIAjyHeAXOnregtQ5EZUm/Z6++Ed9u2pQs2ngD0zCRE7YAiA0CZAjbqpq39mIp+N0OHYVvZpx9VSyzqoYRqkiqufpfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34159},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"11bcfef85c9b9a0db6a17ca53cebe5e8c1166414","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250612.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.23","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250618.0","@typescript-eslint/parser":"^8.34.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.39","@typescript-eslint/eslint-plugin":"^8.34.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.1.6_1750352876975_0.640114895730262","host":"s3://npm-registry-packages-npm-production"}},"5.1.7":{"name":"two-stroke","version":"5.1.7","license":"MIT","_id":"two-stroke@5.1.7","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"adf8becc933a0315333776c437475f57e1e3f207","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.1.7.tgz","fileCount":16,"integrity":"sha512-tK6KPabe19nuuNeCsv8fNPF7y8pmE854qnGtq6UGSLrfC7PTe1hqkOT3jVjXL9AbvagRbB68DuNjdeWQYJyQ1A==","signatures":[{"sig":"MEQCIASZu0wB937PeZLnjHTPymPiPF8Ue/9JHPEd789Eg4y7AiBfisB6nY9qi6CaXMYaTRF3K5TgHDl/PYO6sQYsufCytg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34159},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"7fc2209a5c46bacdcc81192b95806d64d01ab330","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250617.3","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.24","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250620.0","@typescript-eslint/parser":"^8.34.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.43","@typescript-eslint/eslint-plugin":"^8.34.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.6.0","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.1.7_1750666139456_0.7435998788508866","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"two-stroke","version":"5.2.0","license":"MIT","_id":"two-stroke@5.2.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"9735e3e840a3666bdabe6251ccfc76a505394c80","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.2.0.tgz","fileCount":16,"integrity":"sha512-/H0+J03EyGWsOifwv0fIx2ZiDNr75dPqCw4ptPDpvJB5LLv1IP3YFAeDCcrV0LU0ZN5SfB9CEgMrIB1o2xQxFA==","signatures":[{"sig":"MEYCIQCcbm4gR6omb3p4G3Jb1HX/+GmkEQgsIi6fSHXPI1hfJwIhAKNdfaqYrOBBqIEzqa0uUP1XoB4e+qA02Y0EmaD8S+0z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34175},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"e3dcb413d4b248e41ab09679c21796ed0bd81e45","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250617.3","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.3","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.24","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250620.0","@typescript-eslint/parser":"^8.34.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.43","@typescript-eslint/eslint-plugin":"^8.34.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.6.0","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.2.0_1750781309294_0.5560379940855935","host":"s3://npm-registry-packages-npm-production"}},"5.2.1":{"name":"two-stroke","version":"5.2.1","license":"MIT","_id":"two-stroke@5.2.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"5f45304a056814c8469509c16124e6f3c2caab9a","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.2.1.tgz","fileCount":16,"integrity":"sha512-ypTdaH7w0aHlyM0rI+kTPYyrR7apWvzhSLMhNmgiQEfshmVljgRVohnjqvphejwcMVGFheRVuDzzahHZJxWLjQ==","signatures":[{"sig":"MEQCIH7fche+iIllJq+mu1/z06znf0Q95ZubyIyLaNPlU1GMAiAIB79TJXOO8xwXJeOk4NWjlk+O/cE5Pv8Pig1I5e4sfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34175},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"0baa160d547d37e17523392650fee96ae1162ce8","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250617.4","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.4","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.25","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250627.0","@typescript-eslint/parser":"^8.35.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.47","@typescript-eslint/eslint-plugin":"^8.35.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.2.1_1751012504950_0.6762748284828646","host":"s3://npm-registry-packages-npm-production"}},"5.2.2":{"name":"two-stroke","version":"5.2.2","license":"MIT","_id":"two-stroke@5.2.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"30ec613266491baeedb7510c6565c7c353b42da6","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.2.2.tgz","fileCount":16,"integrity":"sha512-rZ07k3ynxsaDidWgITgcfH75qB8Nqb0zbQblihq1w6EK7TafCgkU0KFs/tI34awnab+Jrlbw+uUhJKZEdoTfgA==","signatures":[{"sig":"MEYCIQCE4FCTmthDvprw8e2KrIQOSWbonoz96tM+khxWi8yHzwIhALMK822CSu8lc1Q87PKuXh0hPGSWzYooKTzP3I2nbwqM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34191},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"829bc02de250ad18c0d79efe7970aff0c2f8af3c","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250617.4","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.4","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.25","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250627.0","@typescript-eslint/parser":"^8.35.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.47","@typescript-eslint/eslint-plugin":"^8.35.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.2.2_1751013684638_0.6229793866991029","host":"s3://npm-registry-packages-npm-production"}},"5.2.3":{"name":"two-stroke","version":"5.2.3","license":"MIT","_id":"two-stroke@5.2.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"f6a388e9db6dc0420417501f362dbfb7fe825ed2","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.2.3.tgz","fileCount":16,"integrity":"sha512-Q/SrLx0HhMChPtgbQJnMc6W2ixWDzOMH04Fy0nJSZMJrKSl+Nx887rTF5eewTJ7y7DdPtYSjwOrIp91yCegf9w==","signatures":[{"sig":"MEUCIBfWCmdCHE59bNX7Y3REDIf/4pj+81R/qlBjnqDe+1aiAiEAjmpmZlF/kcoDLAmYW2tQeeyEYt6s7YdqANQx2YMMCcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34192},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"697fdd4a10267875a8d38425a8e7a63959aab5d3","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^3.25.67","jose":"^6.0.11","miniflare":"^4.20250617.4","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.46.0","@types/node":"^24.0.10","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.26","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250702.0","@typescript-eslint/parser":"^8.35.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.48","@typescript-eslint/eslint-plugin":"^8.35.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.30.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.2.3_1751451135541_0.25397874779241203","host":"s3://npm-registry-packages-npm-production"}},"5.2.4":{"name":"two-stroke","version":"5.2.4","license":"MIT","_id":"two-stroke@5.2.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"bb75ce9aadc27de8c03ad0c15b01d04768360e42","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.2.4.tgz","fileCount":16,"integrity":"sha512-y0LJiHmbUaWk2tXQk2yPwWMwlMIOb6Pz07V4iHpIJrYo+wUW7/oW+8mzRgL7bSJyOh7n+P1/hB59VpdaZfaB6A==","signatures":[{"sig":"MEYCIQD2+gqiDO3L7lvNK2A58/+QubJWVs71kgklPBfTFGPk/gIhANWzDgra3z6J5KrZUWeUFAb2lAXm3nkjwpqvz8zuBvJC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34190},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"59e82de5f1cee264201e68ca553759df312d7b17","_npmUser":{"name":"barnabyshearer","actor":{"name":"barnabyshearer","type":"user","email":"b@zi.is"},"email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.2","jose":"^6.0.11","miniflare":"^4.20250705.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.47.0","@types/node":"^24.0.12","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.1.27","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250710.0","@typescript-eslint/parser":"^8.36.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.50","@typescript-eslint/eslint-plugin":"^8.36.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.30.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.2.4_1752139120143_0.8376827456937936","host":"s3://npm-registry-packages-npm-production"}},"5.2.6":{"name":"two-stroke","version":"5.2.6","license":"MIT","_id":"two-stroke@5.2.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"fa87bf88f018f51628fd86f506b0cb114abbe5dc","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.2.6.tgz","fileCount":16,"integrity":"sha512-NiihzjSIFFFrYMu5rk24t8hpG4XuPbsuYJqy/ZBa9q1M48WEuMGBHmoRyfla33f8TLWvHQfjrOFXAibgGiW+6A==","signatures":[{"sig":"MEYCIQCMXq++4VwfV3Ha3ith6GjkctVk+o/MOD4+QmK4yPgIGQIhAIeZUvnmgAwP6mIKaYWTnsDi9q3Fw2+0UCur9TTM85jF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33787},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"322b6e595a0035cdf1098df242a5416d81d80edc","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.5","jose":"^6.0.11","miniflare":"^4.20250709.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.47.1","@types/node":"^24.0.13","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.5","eslint-config-two-stroke":"^1.2.1","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250712.0","@typescript-eslint/parser":"^8.36.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.53","@typescript-eslint/eslint-plugin":"^8.36.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.31.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.2.6_1752506165644_0.4875988468271635","host":"s3://npm-registry-packages-npm-production"}},"5.2.7":{"name":"two-stroke","version":"5.2.7","license":"MIT","_id":"two-stroke@5.2.7","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"292e823d8b830c688f8ada6914fdfd99ad005643","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.2.7.tgz","fileCount":16,"integrity":"sha512-fS38ymkcKBIVb5H1Hh/c8pm3ZzURn9B+/Pl2D5P7WLUmBdSsWAYICYEEZx4/Y2MM7HPK5vheRCX4NBSy9kWf0w==","signatures":[{"sig":"MEUCIQDXEIKT5fA4GQz2HqwZUwSQNveFXHjaQ0PpXK1UHUqZNAIgPlii6hr9bQvR2BPzvW+UnvrT2Sfh4c8mGpT7eV96vEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33786},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"d04d4bcc63298dcae5af609442296801113aa1f7","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.5","jose":"^6.0.12","miniflare":"^4.20250712.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.1.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.2","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250723.0","@typescript-eslint/parser":"^8.38.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.56","@typescript-eslint/eslint-plugin":"^8.38.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.31.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.2.7_1753256573894_0.28283203640734556","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"two-stroke","version":"5.3.0","license":"MIT","_id":"two-stroke@5.3.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"74162e488bb6b866baa3db8389413a0edb44d1a5","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.3.0.tgz","fileCount":17,"integrity":"sha512-Aci/gNcLCWzDLv6O8sp5jG4/p6GSid5TTOF2V9ZGwKHciun4OAG7vO3yxFpcwVTlvQgLL1clxjEshDbSVnLZiQ==","signatures":[{"sig":"MEUCIQCBRiRnhf9TGp0ggG79kblP0f+lDLMR30mUAx/U266flwIgAoQgN13RukIcZ296Afy7QFmgugFtgEnDtk18STZHXIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35236},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"ebf62699484281abf62cc47c6859346c3e9e824c","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.5","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250712.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.1.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.2","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250723.0","@typescript-eslint/parser":"^8.38.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.56","@typescript-eslint/eslint-plugin":"^8.38.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.31.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.3.0_1753447416847_0.18052154838123058","host":"s3://npm-registry-packages-npm-production"}},"5.3.1":{"name":"two-stroke","version":"5.3.1","license":"MIT","_id":"two-stroke@5.3.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"922f94e245f2d66031d2ca1d7e8ad100a437c546","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.3.1.tgz","fileCount":17,"integrity":"sha512-BC+R4ah3tmKubQMAvCgKrLxvtSC8lyamQ1kcp/z4KOWej6o4XtGJCyDX5DyZGArSBF5FcxXnIXV2m9W5pIWAzA==","signatures":[{"sig":"MEUCIQDku7ywKgsAtlaxraNuAVlVGz8oTJnMZbBw48e2ri4ZugIgMzLffyO6F96l1FN14otZtvRDqcYrsToSfhnduwmMUfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35238},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"31067968e941af6958b3da9ffda8d0d607495879","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.5","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250712.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.1.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.2","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250723.0","@typescript-eslint/parser":"^8.38.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.56","@typescript-eslint/eslint-plugin":"^8.38.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.31.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.3.1_1753447759064_0.7429938243323886","host":"s3://npm-registry-packages-npm-production"}},"5.3.2":{"name":"two-stroke","version":"5.3.2","license":"MIT","_id":"two-stroke@5.3.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"6c4f37cd784a5fe9081bac38c3cac5fea7c96738","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.3.2.tgz","fileCount":17,"integrity":"sha512-hTX/1Q1JnSAwIfF7go0QPsOx1mdblIzzz358POnKDn48LL6gc392Wg4BB/BkSjkDSNCrYJt6FCgDg2nw+DX5NQ==","signatures":[{"sig":"MEQCIAh7KdfiCzYmADGi9YVRD/D3vRKD57/Vnx3EXf8OTtHZAiBVDVtKMHWGAQbw36rMuLBnuMXa4Knb+hkvDyK4txGqBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35254},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"20e902ad5c53349b8d308d784ee90199425ecba3","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.5","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250712.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.1.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.2","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250723.0","@typescript-eslint/parser":"^8.38.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.56","@typescript-eslint/eslint-plugin":"^8.38.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.31.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.3.2_1753447896877_0.43856207079927767","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"name":"two-stroke","version":"5.4.0","license":"MIT","_id":"two-stroke@5.4.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"8edd322ee456c4820f77fe16416de2cf894c424c","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.4.0.tgz","fileCount":17,"integrity":"sha512-8L5aiKKDYkPwnrML3/oxTiZ4l4T1a99sDLLLI98yBsDe8mcfQ+SNxnNfrk9HRk3ENiBfIdAaatXpDVY9kAbTXg==","signatures":[{"sig":"MEUCIQCGxiU8/M2+GblU7nLeB9cnhd/oAwfb5grjay2GPhxF0AIgVkEvxl96/AGV7Z4QP1gskUTt0Y7Cd5rkhH8Ht7KSQMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34757},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"28dc476167cbd676344ddc2350881d93a42e2967","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.10","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250712.2","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.1.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.3","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250726.0","@typescript-eslint/parser":"^8.38.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.57","@typescript-eslint/eslint-plugin":"^8.38.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.4.0_1753703818165_0.24869671510113922","host":"s3://npm-registry-packages-npm-production"}},"5.5.0":{"name":"two-stroke","version":"5.5.0","license":"MIT","_id":"two-stroke@5.5.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"02eb4191e061aaeaa093d80c5efc5a0b94fa6c1a","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.5.0.tgz","fileCount":18,"integrity":"sha512-tTbplkrGbMuP1vDlUEE6DZ1sQeJciRGV9ArHBqFt3B9QXilDKnojznbh15rcn2XVkJWU4fqh38GgZqruYKNNeQ==","signatures":[{"sig":"MEUCIQCU/g/g3RgjDR2alRp+h0XfC/96lnib5shKchtcqd1fBgIgKO5im6CpvygK4QmRSZcZvoLYULvhq2UZXN/mD/JDCJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36153},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"89704fe689fde64e0c3be508c1c17a4b5304c0f1","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.10","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250712.2","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.1.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.3","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250726.0","@typescript-eslint/parser":"^8.38.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.57","@typescript-eslint/eslint-plugin":"^8.38.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.5.0_1753803445369_0.7018595417424729","host":"s3://npm-registry-packages-npm-production"}},"5.6.0":{"name":"two-stroke","version":"5.6.0","license":"MIT","_id":"two-stroke@5.6.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"a0e41ec3b7681d9c2cd863d9b3ce2d218ecc7f97","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.6.0.tgz","fileCount":18,"integrity":"sha512-PmkXEUfGmyF17I5keAl/Q5eIX20o4Bl7UHV2Wqu4bLpOXK/ZK4+qYrmtMEvbcYM62A9ZnOFgu1KwT4aq+GKzWg==","signatures":[{"sig":"MEUCIC7ajSjSicXDANjOSGv3zEwn+i2Nu38Fxd5OU0i12UgxAiEAtWZyboDtPb1v+TraLd9mazv9uBDNkpG7oTlsgPhH5YA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36834},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"65febecc6a2038242ca1c38acb1664114733bd9c","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.10","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250712.2","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.1.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.3","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250726.0","@typescript-eslint/parser":"^8.38.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.57","@typescript-eslint/eslint-plugin":"^8.38.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.6.0_1753866696667_0.1894249951688114","host":"s3://npm-registry-packages-npm-production"}},"5.6.1":{"name":"two-stroke","version":"5.6.1","license":"MIT","_id":"two-stroke@5.6.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"a8c9aadc41edbc0728903891bd6363d4637f3c96","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.6.1.tgz","fileCount":18,"integrity":"sha512-IGPPp/4RpnwzvzPd3yK5TZrH7F4A2+2ZKFgUUP+qnXCg7o6UIyeKFb5gLb6Gs7JEh8fBU8NcgueRjBcib6hSgg==","signatures":[{"sig":"MEYCIQCZQGImkjzDU422XSzdzTiTIfQdEMBj9/G4oWYvGgsXcAIhAPC7rHNoaSC13YQnOQzX3gq9AgusJWSpoqONssXGlgdm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36854},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"c464f85a05d35bd3008564fe016a1338dd069460","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.10","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250712.2","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.1.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.3","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250726.0","@typescript-eslint/parser":"^8.38.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.57","@typescript-eslint/eslint-plugin":"^8.38.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":"^2.1.8","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.6.1_1753870183551_0.7187157635598236","host":"s3://npm-registry-packages-npm-production"}},"5.6.3":{"name":"two-stroke","version":"5.6.3","license":"MIT","_id":"two-stroke@5.6.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"8159ec49c43fdc980ebdf70fc9d16ec7bea35c0e","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.6.3.tgz","fileCount":18,"integrity":"sha512-IqcMoKbuqJd2y9hisp89c5FxZo+NHgP6bLtOWpmS9yEOEgnnwORbnJhKuycvHrDC0cnM1vEEDS/5GAx9aM3FTQ==","signatures":[{"sig":"MEUCIH4bUoAex+veZsJSTRaW+xT2aTNVjS9nAeyLuQH17Sf3AiEAjtoMeiOsTElS/+R8DpGZG4Ke9Lf72K+8D8dVMAw6IcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36868},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"282424c38b03c551f9ac1007875cb1def80cc8dd","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.14","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250803.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.50.2","@types/node":"^24.2.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.8.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.4","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250805.0","@typescript-eslint/parser":"^8.39.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.60","@typescript-eslint/eslint-plugin":"^8.39.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.6.3_1754396231901_0.7713353930624764","host":"s3://npm-registry-packages-npm-production"}},"5.7.0":{"name":"two-stroke","version":"5.7.0","license":"MIT","_id":"two-stroke@5.7.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"386fd558126d9015e93428e94f73ffb2787360a2","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.7.0.tgz","fileCount":18,"integrity":"sha512-hlAl16PiXbkpS71NSRR8v5hlvOtKktl5iMQ+C0y77tmf8O0MQgjNTchko7C7u8rssdY9d0b65EG2u6ytDW4D/A==","signatures":[{"sig":"MEYCIQCGtLaeDREA4T3us8q7/mmTkGqt5JE8w03qStCJ2kTP9wIhAJttdsu1dVUITEBErN6D+RNq2k9lgaZ1tdUWx/QL9CG8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36908},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"6be75cc4bf6fec93e1f60c30b400ea85eaca4179","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.17","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250816.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.52.0","@types/node":"^24.3.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.6","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250816.0","@typescript-eslint/parser":"^8.40.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.65","@typescript-eslint/eslint-plugin":"^8.40.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.7.0_1755542639393_0.4022985326551445","host":"s3://npm-registry-packages-npm-production"}},"5.8.0":{"name":"two-stroke","version":"5.8.0","license":"MIT","_id":"two-stroke@5.8.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"9c5722808da164a483b5e13f96680545335ece38","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.8.0.tgz","fileCount":18,"integrity":"sha512-ZIiowS11PaCn2nxFvBIC5ZXxB8Q47NNOLjBgRDogQy9D7XgYf9P1msQcmAlQxderHFDNsrw7YO4+VtaSZxt6tA==","signatures":[{"sig":"MEUCIQDgyWICHg/IVk2uY+sJqr0eR1uSxQuu5WjbOU4F2EkqGgIgYBBBsRgv7mxJbCRzNSHhKAFB3HVRR5nu3H+TwVs/5PM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37152},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"3ceba44c4a22e82c733529710b01878422f7ee46","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.17","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250816.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.52.0","@types/node":"^24.3.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.7","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250819.0","@typescript-eslint/parser":"^8.40.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.65","@typescript-eslint/eslint-plugin":"^8.40.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.8.0_1755621664396_0.7885117851247028","host":"s3://npm-registry-packages-npm-production"}},"5.8.1":{"name":"two-stroke","version":"5.8.1","license":"MIT","_id":"two-stroke@5.8.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"2b533c4592bf29c36f42a056480956ff0ab36b0b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-5.8.1.tgz","fileCount":18,"integrity":"sha512-Lw/IZrx24wlMgOPp1qSRqLFqE8yFnSTNKUDmrh1ls7NFMKUj9eAMXNRJ/qRbOjBVC2dGKaixnHpuOGwiO454gw==","signatures":[{"sig":"MEQCIANldyxPkvXPFPRgLZjT8qDa9FmbpDdtDhqtQSkYUUVUAiAcUv1lg95/QQ9YDRwamQFoEA4PEkxnrQrcsJ8kRN3fVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37187},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"8c697336976aa335863e5ed74bfb334df182f54b","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.17","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250816.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.52.0","@types/node":"^24.3.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.7","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250819.0","@typescript-eslint/parser":"^8.40.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.65","@typescript-eslint/eslint-plugin":"^8.40.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_5.8.1_1755626229362_0.7477793012008411","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"two-stroke","version":"6.0.0","license":"MIT","_id":"two-stroke@6.0.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"52a5ca2ff9ff1977d87574b08109e4a3bd3aba85","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.0.0.tgz","fileCount":18,"integrity":"sha512-lyy7dMracs0OE7vFVCvR9oYe4NHzKjNkOU9FucqBBc6APQOrdrxmoPwDdXFDewS35jqf6b4qrcWgc507kKi9/A==","signatures":[{"sig":"MEYCIQCOXw7CBpX8VpvJkczEQswdCqPIgY4iBwJSTr8roJbMuQIhAKzF8tOYE5Y0QHF+JOdvehe7CX3VhuyelFmcj7Z0LxvB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37399},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"e90196f4871a6053b2e22a70d466632273b4bf80","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.0.17","jose":"^6.0.12","mime":"^4.0.7","miniflare":"^4.20250816.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.52.0","@types/node":"^24.3.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.7","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250819.0","@typescript-eslint/parser":"^8.40.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.65","@typescript-eslint/eslint-plugin":"^8.40.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.0.0_1755699221387_0.5851410971973159","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"two-stroke","version":"6.0.1","license":"MIT","_id":"two-stroke@6.0.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"59e40163d1a31148e3f28d0f61b2828a08425bd9","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.0.1.tgz","fileCount":18,"integrity":"sha512-uhzlz8MNgiRAElrpYjp+6x4NPSzZNMfO29lNg2t8W5WmP018CWV6ozw0eN0lu2pwpG7WOvc99Vi8LzvoQurQvg==","signatures":[{"sig":"MEQCIHc/34J9cey/OzgUj3p7SMygDdT56SLlog7gV+7kkSUtAiAWgKmr+CRIRJPUh+3j8rx5OBFdJsqCwsVa5LyF5NL+9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37397},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"2e857936b3ba4051ee7546574356aa28f332bd23","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.5","jose":"^6.1.0","mime":"^4.0.7","miniflare":"^4.20250902.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.53.0","@types/node":"^24.3.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.8","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250906.0","@typescript-eslint/parser":"^8.43.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.8.70","@typescript-eslint/eslint-plugin":"^8.43.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.35.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.0.1_1757351578151_0.15949000342549335","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"two-stroke","version":"6.0.2","license":"MIT","_id":"two-stroke@6.0.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"554093f43d7c75b9be209f1e9b0d711355db7ca0","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.0.2.tgz","fileCount":18,"integrity":"sha512-iSMmp/sF4Zoj+PggDyplrJKzeKU6yd9bQVClRRwLxqgfG0CwUCZuRB8mtQ1ic8mxCzywNNMyKqBxGi9+meUs2g==","signatures":[{"sig":"MEQCIA7B/5ZlqDjVB7S8ERP4AVmU0HqajkkuA/VPYAnX+HElAiAT7mRSMAdyY/aJYSSQMFTiheLghoiuV6akvM1nBqwP+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37398},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"94567a3dac9586c617f2cfb354abe16bebdbb130","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.11","jose":"^6.1.0","mime":"^4.1.0","miniflare":"^4.20250917.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.55.0","@types/node":"^24.5.2","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.10","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250923.0","@typescript-eslint/parser":"^8.44.1","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.9.3","@typescript-eslint/eslint-plugin":"^8.44.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.36.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.0.2_1758627988512_0.36715935197494876","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"two-stroke","version":"6.1.0","license":"MIT","_id":"two-stroke@6.1.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"272ee88b18f9901836630f252d772e9d7456dd81","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.1.0.tgz","fileCount":18,"integrity":"sha512-piYOirEk5Lx5CRYYnvJLJ3tjxMrmbmzjKwViVr6ltWPDLDd1J7iejCgoWu4UgXSWSIR9XzSF3lB049hIZTZ1+Q==","signatures":[{"sig":"MEYCIQCJkt4lys/BgrqJbU3q4TGedm2XaAjgzdH/6sNaC0Y0fQIhAKrcqcmmd7jGjM7bxC9/T89BKP4UqqOnd4NblRIaK84E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37559},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"b9b03a880f9e736f603abaf3d9abd9b2ea67b52a","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.11","jose":"^6.1.0","mime":"^4.1.0","miniflare":"^4.20250927.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.56.0","@types/node":"^24.6.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.11","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20250927.0","@typescript-eslint/parser":"^8.45.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.9.8","@typescript-eslint/eslint-plugin":"^8.45.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.36.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.1.0_1759229404101_0.06316533733638319","host":"s3://npm-registry-packages-npm-production"}},"6.1.1":{"name":"two-stroke","version":"6.1.1","license":"MIT","_id":"two-stroke@6.1.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"b163428465fc92df85a52c44fcde13aee7d9b1c7","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.1.1.tgz","fileCount":18,"integrity":"sha512-CsIePOUQC9dGmdfUtMARlKD5wRFF5qByEgE1x04eoXEaUFJGZT4ttH5dcIgFspg4Q167z02byooQXw7F8Xq52A==","signatures":[{"sig":"MEUCIH1OMph3FWy7XIkVkOXdx6fc+NfTtim75nC+yCUqWp55AiEAycIUU1XwnB0rPv30S4DnvwBwHlv4UlyFhaK7IrQ0uGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37584},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"642c74632dd40ff375262f07733fc25f9837f3a1","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.12","jose":"^6.1.0","mime":"^4.1.0","miniflare":"^4.20251004.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.56.0","@types/node":"^24.7.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.1","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.12","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20251008.0","@typescript-eslint/parser":"^8.46.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.9.11","@typescript-eslint/eslint-plugin":"^8.46.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.37.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.1.1_1759923236826_0.38369061777665747","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"two-stroke","version":"6.2.0","license":"MIT","_id":"two-stroke@6.2.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"1757d161d13ade86213edd66c69adcfb48f3f0fc","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.2.0.tgz","fileCount":18,"integrity":"sha512-09AAl8c/hO/RO/YWqdz7ITkQgBy6bAgyNuc5V7m5n6FeoxiwZa1GWZfwQUhyvlJI5Cpr1OIxk83yqqK/eluCtg==","signatures":[{"sig":"MEYCIQCl75PGTo5UjJR1l67RMUKVJQtPdH2uieqIxn4Dk4sLDQIhAKvg3TATOBWaVMuvdK7dkJvuZkiYJs0Wem253md233dx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37642},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"afba42f4542fe32e7562a3b71b6bdadccb32fc0e","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.12","jose":"^6.1.0","mime":"^4.1.0","miniflare":"^4.20251004.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.56.0","@types/node":"^24.7.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.14.1","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.12","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20251008.0","@typescript-eslint/parser":"^8.46.0","@vitest/coverage-istanbul":"^3.2.4","@cloudflare/vitest-pool-workers":"^0.9.11","@typescript-eslint/eslint-plugin":"^8.46.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.37.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.2.0_1760006474224_0.03926119388661897","host":"s3://npm-registry-packages-npm-production"}},"6.2.1":{"name":"two-stroke","version":"6.2.1","license":"MIT","_id":"two-stroke@6.2.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"57aa0c8f26bcf0887d05f52f8f40b1b057129854","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.2.1.tgz","fileCount":18,"integrity":"sha512-gCvRM4O+dV17l+vjGcJy5IeQbSVIfDhLQe0oDa7/A01roDs35W96pC6xUXjTc3oYptjR3w3sOgdvLWVjAGbIBQ==","signatures":[{"sig":"MEUCIQCk27I3/QIf9w7eZYpWCDudwgXcYOM8jtHZGZMBHDLlQwIgCNF8XseHGvbyM0XZLgbLzhCOJLz+cGZlmC8JeBC+8tA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37656},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"7ed316e9236aaa5d7954c40278428f38de596c21","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.12","jose":"^6.1.0","mime":"^4.1.0","miniflare":"^4.20251011.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.57.0","@types/node":"^24.9.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.15.0","openapi-typescript":"^7.10.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.13","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20251014.0","@typescript-eslint/parser":"^8.46.2","@vitest/coverage-istanbul":"^4.0.1","@cloudflare/vitest-pool-workers":"^0.9.14","@typescript-eslint/eslint-plugin":"^8.46.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.38.0","vitest":"^4.0.1","prettier":"^3.6.2","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.2.1_1761218605818_0.9985416605328281","host":"s3://npm-registry-packages-npm-production"}},"6.2.2":{"name":"two-stroke","version":"6.2.2","license":"MIT","_id":"two-stroke@6.2.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"7ea245e9226f566ce1d20699a99686075a4666e2","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.2.2.tgz","fileCount":18,"integrity":"sha512-FtUkQwhaoM0YWHUj+zTX3Cl6bRiEZPlTL8HOWNk3uqnvTVhoFhUuj7cOQM3MHB3p/TWgIeFC4e0OaNoZdaG3fA==","signatures":[{"sig":"MEUCIQDSCKgKHKJpVUoe8Niu5pOOvwDsconN2c8LaN5EnfhtEwIgdLGiRq9uE9tsIycwW++NdZLWAeJr3IeppX+/5u6W+Gc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37652},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"73554cf1db6b542c2cb11e62a40233cdaf3cfb1f","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.12","jose":"^6.1.0","mime":"^4.1.0","miniflare":"^4.20251011.0","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.57.0","@types/node":"^24.9.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.15.0","openapi-typescript":"^7.10.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.14","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20251014.0","@typescript-eslint/parser":"^8.46.2","@vitest/coverage-istanbul":"^4.0.1","@cloudflare/vitest-pool-workers":"^0.9.14","@typescript-eslint/eslint-plugin":"^8.46.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.38.0","vitest":"<4","prettier":"^3.6.2","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.2.2_1761220300784_0.09014548423318391","host":"s3://npm-registry-packages-npm-production"}},"6.2.3":{"name":"two-stroke","version":"6.2.3","license":"MIT","_id":"two-stroke@6.2.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"ee56442c90d1f5d3fe96ef209546549718dbcd7c","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.2.3.tgz","fileCount":18,"integrity":"sha512-KK0h9TJR6D4J2MrAgitGcvQPvNhFHEmu+kU4J7wBEpHayuVtz071sgzXhECNQpLD5AA3gF/BCmFJx92zFPAVBw==","signatures":[{"sig":"MEUCIQDalm4bmfcX0KuiIe68xyU7fYAuB6qZtU+ptALlOHtKRwIgGwllrGQIo5E5JMOGT0sgDwVPRE7h5GFW7LGra9DnyE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37653},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"40417f721f25e116113c459bf4f2a89f1e04f536","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.12","jose":"^6.1.0","mime":"^4.1.0","miniflare":"^4.20251011.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.57.0","@types/node":"^24.10.0","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.15.0","openapi-typescript":"^7.10.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.15","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20251014.0","@typescript-eslint/parser":"^8.46.2","@vitest/coverage-istanbul":"^4.0.6","@cloudflare/vitest-pool-workers":"^0.10.3","@typescript-eslint/eslint-plugin":"^8.46.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.39.0","vitest":"<4","prettier":"^3.6.2","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.2.3_1762166741437_0.9912985754919972","host":"s3://npm-registry-packages-npm-production"}},"6.2.4":{"name":"two-stroke","version":"6.2.4","license":"MIT","_id":"two-stroke@6.2.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"f7a5895a353ba2ed624a326f37d7f584222c89bd","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.2.4.tgz","fileCount":18,"integrity":"sha512-Dd7GSqupKOtY7ZKYmqEQff1tCNyJtG2MBT0ttbo/SkpIAjG1dHnCEf86A0FPybKCYo2vQXCGeDvU7/TlveKI7Q==","signatures":[{"sig":"MEYCIQClYu7rDyYxwnL/FfNo2IyROS2R5pOR0PAEHqyjWlq63gIhAIAykiKbouYsuTeNK8n+XYCexgLz488EIZRpfPjbejtp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37655},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"60e8ba80393dc20bf50569fe442e7732b5a900ce","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.13","jose":"^6.1.2","mime":"^4.1.0","miniflare":"^4.20251118.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.58.2","@types/node":"^24.10.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.15.0","openapi-typescript":"^7.10.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.16","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20251125.0","@typescript-eslint/parser":"^8.48.0","@vitest/coverage-istanbul":"^4.0.13","@cloudflare/vitest-pool-workers":"^0.10.10","@typescript-eslint/eslint-plugin":"^8.48.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.39.1","vitest":"<4","prettier":"^3.6.2","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.2.4_1764076221299_0.5288313433888954","host":"s3://npm-registry-packages-npm-production"}},"6.2.5":{"name":"two-stroke","version":"6.2.5","license":"MIT","_id":"two-stroke@6.2.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"./bin/dev.mjs","bulk":"./bin/bulk.mjs","lint":"./bin/lint.mjs","test":"./bin/test.mjs","deploy":"./bin/deploy.mjs","format":"./bin/format.mjs","api-types":"./bin/api-types.mjs","type-check":"./bin/type-check.mjs"},"dist":{"shasum":"04ca14240b87619a09b224e97dc52032722a2afb","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.2.5.tgz","fileCount":18,"integrity":"sha512-vGuKp4drJSp6drKNRRYBDEzxG+bekQ5iBiXyhNFaZu+JnuhOOzHTA8QcnvjjfHLFWQW46iWQmPdO1giYVC30tA==","signatures":[{"sig":"MEYCIQDADmBVlOt10Nr8YGQFxonO5i7ZFM6hrX9Ftglm6ID7tgIhAOeF/mayLzZoII4BZ/mLQDuhkBUbdJxYi83PuxC72eYH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37739},"main":"src/index.ts","type":"module","engines":{"node":"^22.16.0"},"gitHead":"ee0e7bc596a8321a2955efa76120848a295a2013","_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"description":"Simple Cloudflare Worker framework.","directories":{},"dependencies":{"zod":"^4.1.13","jose":"^6.1.2","mime":"^4.1.0","miniflare":"^4.20251118.1","toucan-js":"^4.1.1","jwk-subtle":"^1.0.7","@sentry/cli":"^2.58.2","@types/node":"^24.10.1","pbkdf-subtle":"^1.0.0","openapi-fetch":"^0.15.0","openapi-typescript":"^7.10.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.16","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20251125.0","@typescript-eslint/parser":"^8.48.0","@vitest/coverage-istanbul":"^4.0.13","@cloudflare/vitest-pool-workers":"^0.10.10","@typescript-eslint/eslint-plugin":"^8.48.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"packageManager":"yarn@4.6.0","devDependencies":{"eslint":"^9.39.1","vitest":"<4","prettier":"^3.6.2","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.2.5_1764077342829_0.1370124425485093","host":"s3://npm-registry-packages-npm-production"}},"6.3.1":{"name":"two-stroke","version":"6.3.1","license":"MIT","_id":"two-stroke@6.3.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"9e3602a9bbe1839d22b00710e9b4e05140195c05","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.3.1.tgz","fileCount":23,"integrity":"sha512-pbfPqrJKfs4AF8Kmas2bF53CsNhtItoIXYB85fAFPNdviw428eG237DcVMq9EfBHqhv4dN9G/zSroIg+aKmtZQ==","signatures":[{"sig":"MEYCIQCntxZQcUrV103dM5Eifqq5xmson4dB9wxapqp0IZkolgIhAOu2Sw8g2VA3r1TeRX/UsALOaJiyyLuBgVfmETqNzdS/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39797},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.3.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"prettier":{"printWidth":100},"_resolved":"/tmp/7e38613b5df59f0ba7e5fd6a6dad74f4/two-stroke-6.3.1.tgz","_integrity":"sha512-pbfPqrJKfs4AF8Kmas2bF53CsNhtItoIXYB85fAFPNdviw428eG237DcVMq9EfBHqhv4dN9G/zSroIg+aKmtZQ==","_npmVersion":"11.6.2","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.1.13","jose":"^6.1.3","mime":"^4.1.0","miniflare":"^4.20251128.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.3","@sentry/cli":"^2.58.2","@types/node":"^24.10.1","pbkdf-subtle":"^1.1.4","openapi-fetch":"^0.15.0","openapi-typescript":"^7.10.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.2.16","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20251202.0","@typescript-eslint/parser":"^8.48.1","@vitest/coverage-istanbul":"^4.0.15","@cloudflare/vitest-pool-workers":"^0.10.12","@typescript-eslint/eslint-plugin":"^8.48.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.6","eslint":"^9.39.1","vitest":"^3.2.4","prettier":"^3.7.4","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.3.1_1764772840449_0.036031773799305","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"two-stroke","version":"6.4.0","license":"MIT","_id":"two-stroke@6.4.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"502a592f32d70f47a520b98df892fce0ae44226c","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.4.0.tgz","fileCount":23,"integrity":"sha512-0CE43tb/sd3FtaLw9QPy6Iekkf9K29N9Wv5J55Imy6gzarZIc44aYC0k40SwLw3P9QsQkNN2Ui353Uld910yhQ==","signatures":[{"sig":"MEUCIQD5QH6D36G4P5Eg2H8H50WgvufhZjHc6aVNyA+rs7hFGgIgBg3drG7+pjCgfQOGQcw/49JEcHbmG3+T3klz5YVxbZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39794},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.4.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"barnabyshearer","email":"b@zi.is"},"prettier":{"printWidth":100},"_resolved":"/tmp/8b85b2127cb4dfebe7b2b4202cfb0f90/two-stroke-6.4.0.tgz","_integrity":"sha512-0CE43tb/sd3FtaLw9QPy6Iekkf9K29N9Wv5J55Imy6gzarZIc44aYC0k40SwLw3P9QsQkNN2Ui353Uld910yhQ==","_npmVersion":"11.6.2","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6","jose":"^6.1.3","mime":"^4.1.0","miniflare":"^4.20260124.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.3","@sentry/cli":"^3.1.0","@types/node":"^25.0.10","pbkdf-subtle":"^1.1.4","openapi-fetch":"^0.15.0","openapi-typescript":"^7.10.1","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.4.0","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20260127.0","@typescript-eslint/parser":"^8.54.0","@vitest/coverage-istanbul":"^4.0.18","@cloudflare/vitest-pool-workers":"^0.12.7","@typescript-eslint/eslint-plugin":"^8.54.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.4.0_1769532911144_0.5849359279131294","host":"s3://npm-registry-packages-npm-production"}},"6.4.1":{"name":"two-stroke","version":"6.4.1","license":"MIT","_id":"two-stroke@6.4.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"8750e2b85e95309c5492b538e257b9bf4b06be9a","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.4.1.tgz","fileCount":23,"integrity":"sha512-W3k46DAD4a7O968JEHfEfT68Vzg3CDfUwky79ROaUEZg2EkPSbPU+Fn0uBTHgbphB0Df+NRt8IyWo3DMP72OXw==","signatures":[{"sig":"MEQCIFP6ZkgCy4tsr4Q2ZDSXrvdyv5Yy5HfSCcl50UZdle0YAiADlkI3hDC5+u7JCL3DBxjbLEOsMeFDUD8S2GoaRyz1Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@6.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39812},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.4.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/331f5c178d5fd54e59dbca7990451640/two-stroke-6.4.1.tgz","_integrity":"sha512-W3k46DAD4a7O968JEHfEfT68Vzg3CDfUwky79ROaUEZg2EkPSbPU+Fn0uBTHgbphB0Df+NRt8IyWo3DMP72OXw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.6.2","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6","jose":"^6.1.3","mime":"^4.1.0","miniflare":"^4.20260124.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.3","@sentry/cli":"^3.1.0","@types/node":"^25.0.10","pbkdf-subtle":"^1.1.4","openapi-fetch":"^0.16.0","openapi-typescript":"^7.12.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.4.4","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20260127.0","@typescript-eslint/parser":"^8.54.0","@vitest/coverage-istanbul":"^4.0.18","@cloudflare/vitest-pool-workers":"^0.12.11","@typescript-eslint/eslint-plugin":"^8.54.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.4.1_1770799001016_0.6398683870796793","host":"s3://npm-registry-packages-npm-production"}},"6.4.2":{"name":"two-stroke","version":"6.4.2","license":"MIT","_id":"two-stroke@6.4.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"2e3c9bcc4b47d26e206c96b33b416b7be95cd4c3","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.4.2.tgz","fileCount":23,"integrity":"sha512-QIsdJsipfm7Acpnsp8W91uy73lLlrKhPJGtd+lRHjVdPZ12n9SleqjfFnUuRwkDXSADkCZaYgN5Nx8vesbnbNQ==","signatures":[{"sig":"MEUCIQCars2TwItkDyaE/XY9U9cvv3IgkvCQI5L1wEW7swSbowIgKeHDREZYelM/q67WDih0YM5NbiXU485KN4MRv1ZS2eI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@6.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39812},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.4.2.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/b7bdf97f09240da7a844e6dee083585e/two-stroke-6.4.2.tgz","_integrity":"sha512-QIsdJsipfm7Acpnsp8W91uy73lLlrKhPJGtd+lRHjVdPZ12n9SleqjfFnUuRwkDXSADkCZaYgN5Nx8vesbnbNQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.6.2","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6","jose":"^6.1.3","mime":"^4.1.0","miniflare":"^4.20260124.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.3","@sentry/cli":"^3.1.0","@types/node":"^25.0.10","pbkdf-subtle":"^1.1.4","openapi-fetch":"^0.16.0","openapi-typescript":"^7.12.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.4.4","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20260127.0","@typescript-eslint/parser":"^8.54.0","@vitest/coverage-istanbul":"^4.0.18","@cloudflare/vitest-pool-workers":"^0.12.11","@typescript-eslint/eslint-plugin":"^8.54.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.4.2_1770799110352_0.9367417592206944","host":"s3://npm-registry-packages-npm-production"}},"6.4.3":{"name":"two-stroke","version":"6.4.3","license":"MIT","_id":"two-stroke@6.4.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"af7b136b46ea5b9afb16aaafa418dad418e883ce","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.4.3.tgz","fileCount":23,"integrity":"sha512-WQdyW3g+TWY0at7sLjIJjvt4VAzAmHhjhdr/mxP3/wPBNAnb0ZdRYHdStIJ7hBY3FXPgeHdPBJc6jnMtgxq26A==","signatures":[{"sig":"MEQCIGm1NZIkyo55ZtJBCaTysSHjSe8nJhC8deWP3rgAl6LVAiB2KWGx6xbyQTs4gNa4sO+9vAtq3N2uKec13QmfN5TB7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@6.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39811},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.4.3.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/ba2f39f1dc18da6e461d7d78ce11a743/two-stroke-6.4.3.tgz","_integrity":"sha512-WQdyW3g+TWY0at7sLjIJjvt4VAzAmHhjhdr/mxP3/wPBNAnb0ZdRYHdStIJ7hBY3FXPgeHdPBJc6jnMtgxq26A==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.6.2","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6","jose":"^6.1.3","mime":"^4.1.0","miniflare":"^4.20260210.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.2.0","@types/node":"^25.2.3","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.16.0","openapi-typescript":"^7.12.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.4.5","eslint-config-typescript":"^3.0.0","@cloudflare/workers-types":"^4.20260210.0","@typescript-eslint/parser":"^8.55.0","@vitest/coverage-istanbul":"^4.0.18","@cloudflare/vitest-pool-workers":"^0.12.11","@typescript-eslint/eslint-plugin":"^8.55.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.4.3_1770799631548_0.5456884539712605","host":"s3://npm-registry-packages-npm-production"}},"6.5.0":{"name":"two-stroke","version":"6.5.0","license":"MIT","_id":"two-stroke@6.5.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"0c86a8a481450957d9d1bd04a4c44cf83b1e691b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.5.0.tgz","fileCount":25,"integrity":"sha512-ixYt3pNr01lKq18ncPBXFNdugQCHrt4UzOIHJ/+fPlCULwNnsHttufnvbwEsr33/RJXHCqskM9EdeD8zBLrwyQ==","signatures":[{"sig":"MEQCIGM81DWv35yRRsEDey19jc+EHQEcudFmgVDl3EbXqljoAiBWZMEVLqAVhjEs6BZIbQM4AmXaHhOQGFgji2UNxdoeMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@6.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":466291},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.5.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/5c6c99e0b1b07df0b93857a3bbf428cf/two-stroke-6.5.0.tgz","_integrity":"sha512-ixYt3pNr01lKq18ncPBXFNdugQCHrt4UzOIHJ/+fPlCULwNnsHttufnvbwEsr33/RJXHCqskM9EdeD8zBLrwyQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.9.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","jose":"^6.2.0","mime":"^4.1.0","miniflare":"^4.20260312.1","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.0","@types/node":"^25.3.3","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.4.6","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.56.1","@vitest/coverage-istanbul":"^4.0.18","@cloudflare/vitest-pool-workers":"^0.12.19","@typescript-eslint/eslint-plugin":"^8.56.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.5.0_1773664780925_0.18118388879016933","host":"s3://npm-registry-packages-npm-production"}},"6.5.1":{"name":"two-stroke","version":"6.5.1","license":"MIT","_id":"two-stroke@6.5.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"5d5248e764e44594f723d416fa704def91bcc541","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.5.1.tgz","fileCount":25,"integrity":"sha512-+cEJAOgabVPhKJ4I1V8ntyLGgRrtd5U9/fs6v6QjXBclHyF6uiWGR6ggKZHHPXwkN50gp655ghxYMAlHuvrx1g==","signatures":[{"sig":"MEQCIBzknOFrBsZkyH5YAIKG6mEIazcJ7hq6g+KOC+o1iQT9AiBAp9r+7OJ+iKYzEyovm/gMEKKOL3l8NEVewYhUdk35iQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@6.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":466290},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.5.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/b1e03c3ba8ae9aaddbbbd5cab15e5678/two-stroke-6.5.1.tgz","_integrity":"sha512-+cEJAOgabVPhKJ4I1V8ntyLGgRrtd5U9/fs6v6QjXBclHyF6uiWGR6ggKZHHPXwkN50gp655ghxYMAlHuvrx1g==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.9.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","jose":"^6.2.0","mime":"^4.1.0","miniflare":"^4.20260312.1","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.0","@types/node":"^25.3.3","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.4.6","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.56.1","@vitest/coverage-istanbul":"^4.0.18","@cloudflare/vitest-pool-workers":"^0.12.19","@typescript-eslint/eslint-plugin":"^8.56.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.5.1_1773666250357_0.8828758956957301","host":"s3://npm-registry-packages-npm-production"}},"6.5.2":{"name":"two-stroke","version":"6.5.2","license":"MIT","_id":"two-stroke@6.5.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"d5930796070685302e74c124090a3638e6ebbb52","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.5.2.tgz","fileCount":25,"integrity":"sha512-MX0dlwOJZtwBZ7B1qW/qumGKxSM3LX1WwrMXl7V7S7q30aX8VuLSMMh/wq/VbUwloLcoAEYnr/opKFTLHXMQKw==","signatures":[{"sig":"MEQCIFFFlSkUfp+73qk11gY6y84vdChvQjzkjtDxmTRBdjflAiAalLE34WyLchriRG2CbLZEzZnF5a0T8YdBtcgl5OY3LA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@6.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":466425},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.5.2.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/864528714ecc2028e310ee1b98b84b5b/two-stroke-6.5.2.tgz","_integrity":"sha512-MX0dlwOJZtwBZ7B1qW/qumGKxSM3LX1WwrMXl7V7S7q30aX8VuLSMMh/wq/VbUwloLcoAEYnr/opKFTLHXMQKw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.9.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","jose":"^6.2.0","mime":"^4.1.0","miniflare":"^4.20260312.1","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.0","@types/node":"^25.3.3","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.4.6","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.56.1","@vitest/coverage-istanbul":"^4.0.18","@cloudflare/vitest-pool-workers":"^0.12.19","@typescript-eslint/eslint-plugin":"^8.56.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.5.2_1773674701654_0.09482780783774603","host":"s3://npm-registry-packages-npm-production"}},"6.5.3":{"name":"two-stroke","version":"6.5.3","license":"MIT","_id":"two-stroke@6.5.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"38392808f814294a39821559fde88658b4c40b49","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-6.5.3.tgz","fileCount":25,"integrity":"sha512-SNFNuBQRyBGG6HFjMsoETepfherItmOoLQhF7E51kgUg4IMxbPGfcaLMzjcduoH+uCJr2zTJZPg3LAVFTfLVtQ==","signatures":[{"sig":"MEUCIQD9DqOSxLGDsW2HZ5bKbzUZfL1w+SkosYQJMbg7d3Y9KAIgdXJAIe1L8WobFp0fKkh5jUDavS8H6dVse9+oQpyP4iA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@6.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":466383},"main":"src/index.ts","type":"module","_from":"file:two-stroke-6.5.3.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/193fa98413dc00a5715898209671ae91/two-stroke-6.5.3.tgz","_integrity":"sha512-SNFNuBQRyBGG6HFjMsoETepfherItmOoLQhF7E51kgUg4IMxbPGfcaLMzjcduoH+uCJr2zTJZPg3LAVFTfLVtQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.9.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","jose":"^6.2.0","mime":"^4.1.0","miniflare":"^4.20260312.1","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.0","@types/node":"^25.3.3","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.0","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.1","@vitest/coverage-istanbul":"^4.0.18","@cloudflare/vitest-pool-workers":"^0.12.21","@typescript-eslint/eslint-plugin":"^8.57.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=9","vitest":">=3","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_6.5.3_1773686000744_0.45780356470850014","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"two-stroke","version":"7.0.0","license":"MIT","_id":"two-stroke@7.0.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"8bfebcc2f6441b2b6b971e0781a5b92b3dc10dd3","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.0.0.tgz","fileCount":27,"integrity":"sha512-ZclSMOdmOjnBSOnw3+VJvcEsV0p9eePYUfLQmx4OSH3H1NKHpoft5KpFVqTtbTf4SjOFIiPYT4AFUXeojS7p2Q==","signatures":[{"sig":"MEYCIQD0mCoZe3PwE8VcisnTmM38AB37yAOm3933K3GlvqPhMgIhALvrNviziYgHbx0rSCl9++hJ57F0gLdZP+8OBK6xYXVx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512846},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.0.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/111da87b18662d33f410c679d2eb6df0/two-stroke-7.0.0.tgz","_integrity":"sha512-ZclSMOdmOjnBSOnw3+VJvcEsV0p9eePYUfLQmx4OSH3H1NKHpoft5KpFVqTtbTf4SjOFIiPYT4AFUXeojS7p2Q==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.9.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"msw":"^2.12.13","zod":"^4.3.6","jose":"^6.2.1","mime":"^4.1.0","miniflare":"^4.20260317.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.3","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.0","@vitest/snapshot":"^4.1.0","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.1","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.1","@cloudflare/vitest-pool-workers":"^0.13.2","@typescript-eslint/eslint-plugin":"^8.57.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","vitest":"^4.1.0","prettier":"^3.8.1","typescript":"^5.9.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.0.0_1773837097687_0.8928774637721328","host":"s3://npm-registry-packages-npm-production"}},"7.1.0":{"name":"two-stroke","version":"7.1.0","license":"MIT","_id":"two-stroke@7.1.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"635f27146c2c476291b743380443f318594bafb5","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.1.0.tgz","fileCount":27,"integrity":"sha512-yUIubuV5NyS/yX2DOyPvuMOm4sXgkieP7WAqpyTrBAHdzihIMkHJZeECLNjKScRaVhyleLd6NYvtnf14XTPIYA==","signatures":[{"sig":"MEYCIQCX/kaiKEfX5wKNqqdvUhgA7QQaL2XbW+D7YgngcmaV0gIhAOpDUy2kzMDrcP898YiuZb/sEiAEPTRxyCm/wdse3MHs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512884},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.1.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/1ffc5c2117ee1445b0ad5198cc6dc991/two-stroke-7.1.0.tgz","_integrity":"sha512-yUIubuV5NyS/yX2DOyPvuMOm4sXgkieP7WAqpyTrBAHdzihIMkHJZeECLNjKScRaVhyleLd6NYvtnf14XTPIYA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.9.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"msw":"^2.12.14","zod":"^4.3.6","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.2","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.13.5","@typescript-eslint/eslint-plugin":"^8.57.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.1.0_1774860769984_0.9196854212656811","host":"s3://npm-registry-packages-npm-production"}},"7.2.0":{"name":"two-stroke","version":"7.2.0","license":"MIT","_id":"two-stroke@7.2.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"97f920bceaaf2a961a38e805bd4923361dd5d42e","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.2.0.tgz","fileCount":28,"integrity":"sha512-DIN7z3BfDmVFow+N81ml24mPCzRwBaCtKtmej8aL8QpomDBnjU3R08LP9U520hs7aXjba/3YN299NK2ACrRd4g==","signatures":[{"sig":"MEQCIENfoR/5i8R0RAGCyF+jTom7lL90+OOjFFQtaLq6qcJHAiAkIDzO1Q9JdC4QREUQsrC5f0EPP4kLzLIIEI0WKlNfgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":513101},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.2.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/ee0d31bd0713458029ae5b800cf23592/two-stroke-7.2.0.tgz","_integrity":"sha512-DIN7z3BfDmVFow+N81ml24mPCzRwBaCtKtmej8aL8QpomDBnjU3R08LP9U520hs7aXjba/3YN299NK2ACrRd4g==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.9.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"msw":"^2.12.14","zod":"^4.3.6","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.2","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.13.5","@typescript-eslint/eslint-plugin":"^8.57.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.2.0_1774976397773_0.598496288171505","host":"s3://npm-registry-packages-npm-production"}},"7.3.0":{"name":"two-stroke","version":"7.3.0","license":"MIT","_id":"two-stroke@7.3.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"c001c069abc1b7f85ad49d4fa1f22b6ade739fa9","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.3.0.tgz","fileCount":28,"integrity":"sha512-7Sr9N/ql4WFS5Ss1mkZds9zxBVLOjg1SqN/ZILgZHgFNUqbrKA9XSykgkJMoT8i3IF4kmbnp0IJlWkzfuUH7Rg==","signatures":[{"sig":"MEUCIQCMFEAkQCAqcGYDUrSwE0DmczspybYlN7+jFyxKUzegHQIgJP1yKVAZmaZtUB3a/30yY6KrdS7bxj8C/gc0InoI3jU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":513141},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.3.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/1ead220a40d34edd37b9d2fb48fb5de1/two-stroke-7.3.0.tgz","_integrity":"sha512-7Sr9N/ql4WFS5Ss1mkZds9zxBVLOjg1SqN/ZILgZHgFNUqbrKA9XSykgkJMoT8i3IF4kmbnp0IJlWkzfuUH7Rg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.9.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"msw":"^2.12.14","zod":"^4.3.6","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.2","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.13.5","@typescript-eslint/eslint-plugin":"^8.57.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.3.0_1775038623659_0.5240329937868189","host":"s3://npm-registry-packages-npm-production"}},"7.4.0":{"name":"two-stroke","version":"7.4.0","license":"MIT","_id":"two-stroke@7.4.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"83997d55573f828b15ee7944df3c5400c0946224","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.4.0.tgz","fileCount":29,"integrity":"sha512-JJCyQhCssW/+rh5AT3XBPTVHwSyyFaPULOn5dC837VLA2msuc2srrPjFEkykzjhwmFHgs28d1J/xR6sStd9Tag==","signatures":[{"sig":"MEQCIFDso4qzGMdzplQV6jtZMile4JagFm0MVxWQ+SZ1lBpoAiBYUNmAM8zUy299CdlGqCaVhwZ7aL8NWc4ZXPoeblhdkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517698},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.4.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/cd5ed0fc2f651b711ebeebded16f295e/two-stroke-7.4.0.tgz","_integrity":"sha512-JJCyQhCssW/+rh5AT3XBPTVHwSyyFaPULOn5dC837VLA2msuc2srrPjFEkykzjhwmFHgs28d1J/xR6sStd9Tag==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.11.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"msw":"^2.12.14","zod":"^4.3.6","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.2","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.14.1","@typescript-eslint/eslint-plugin":"^8.57.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.4.0_1775644937281_0.2878500329235911","host":"s3://npm-registry-packages-npm-production"}},"7.5.0":{"name":"two-stroke","version":"7.5.0","license":"MIT","_id":"two-stroke@7.5.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"c3e2b5b837cd3fc47493b6cffc75dc6710d95fd9","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.5.0.tgz","fileCount":29,"integrity":"sha512-6E7JEEU69uWTHdQTR+NIhbX1FYLukVFJrYJmEu6zVs1srH4c9w0wlKxYJvqjiRb1FvJXzwYKduvGzejtxM5/YQ==","signatures":[{"sig":"MEQCICjjv74RSwMuEN8urEWa41gHcXZga35Y2wRkTmMdrO+GAiADl0KIM0yqER1fu3Na+n0gEg6uX3ayTnYPExRyuGBSJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517721},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.5.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/9f049e36efd097866036dc31f2109314/two-stroke-7.5.0.tgz","_integrity":"sha512-6E7JEEU69uWTHdQTR+NIhbX1FYLukVFJrYJmEu6zVs1srH4c9w0wlKxYJvqjiRb1FvJXzwYKduvGzejtxM5/YQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.11.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"msw":"^2.12.14","zod":"^4.3.6","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.2","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.14.1","@typescript-eslint/eslint-plugin":"^8.57.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.5.0_1776084184574_0.288622699842622","host":"s3://npm-registry-packages-npm-production"}},"7.6.0":{"name":"two-stroke","version":"7.6.0","license":"MIT","_id":"two-stroke@7.6.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"71c3ad90eb7ae002a7e0582d94026d4884ec7944","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.0.tgz","fileCount":29,"integrity":"sha512-KeO45845VYpBvOBSC+ZWuC+15Dh3b8vCj3IMU4pEx4EukEXIaN9kdKRbR/RauMaJxpDivu9CfiEYtSTXrhtnwA==","signatures":[{"sig":"MEUCIAiXjT9ABVWRRfBV6Ez0om8OiySQmEOUMUvtRRMcGcWZAiEAptVXNzr3fmbJ/aXEL0kK++/4a1mdMW4J7xBZRdUW+Ds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":498016},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/efaee3b2cd9312e53bc637c99dad40b7/two-stroke-7.6.0.tgz","_integrity":"sha512-KeO45845VYpBvOBSC+ZWuC+15Dh3b8vCj3IMU4pEx4EukEXIaN9kdKRbR/RauMaJxpDivu9CfiEYtSTXrhtnwA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.11.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"msw":"^2.12.14","zod":"^4.4.2","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.5","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.5","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.2","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.15.2","@typescript-eslint/eslint-plugin":"^8.59.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.0_1777998642475_0.27296010233783563","host":"s3://npm-registry-packages-npm-production"}},"7.6.1":{"name":"two-stroke","version":"7.6.1","license":"MIT","_id":"two-stroke@7.6.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"8c45a1d723f6548f3420715df2ac7956605d56a8","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.1.tgz","fileCount":29,"integrity":"sha512-NsnQAJBsVcgxM7wTRCv6RQkU4Jz8TL3AWr+X7IOnNmd+1cDDdUhNNKbvRAZ2ZiKacQHS4TFNIxaAu79/qYpitQ==","signatures":[{"sig":"MEUCIQChrBGu305iNauKw3kPQNYkTQMMBLw2A0xfUrsTSVWa1QIgTHqIsXavgOOWmARMn8WwWBMlgwPf/Kh+S3IwV3EqqUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":498034},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/42efcd7cd512a5872e4851cce812ddf8/two-stroke-7.6.1.tgz","_integrity":"sha512-NsnQAJBsVcgxM7wTRCv6RQkU4Jz8TL3AWr+X7IOnNmd+1cDDdUhNNKbvRAZ2ZiKacQHS4TFNIxaAu79/qYpitQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.11.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"msw":"^2.14.6","zod":"^4.4.2","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.7","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.7","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.3","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.16.3","@typescript-eslint/eslint-plugin":"^8.59.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.1_1778752483600_0.15324942917457474","host":"s3://npm-registry-packages-npm-production"}},"7.6.2":{"name":"two-stroke","version":"7.6.2","license":"MIT","_id":"two-stroke@7.6.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"89f2260b56b981a3c8c44d0197d93a45b0913f2b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.2.tgz","fileCount":29,"integrity":"sha512-5bRoATeZ/kKeXBt0aBYlJBrN+USQb4Es8+wTeYx6KsK7c/MFTvMFo1sMGbwQt/CjOTy3ua6xOfpuzZTj+m05fQ==","signatures":[{"sig":"MEYCIQCAU9yWXnIkBiwQgwiap/pv4cFEMZ595GLvPSd5jRvrXwIhANXPT6FL52Zf39cshIi7IO1hhX+Vjkjkmxz7wSeAnDqY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":497990},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.2.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/e330df2ba00e7c01d65fddc488610bbf/two-stroke-7.6.2.tgz","_integrity":"sha512-5bRoATeZ/kKeXBt0aBYlJBrN+USQb4Es8+wTeYx6KsK7c/MFTvMFo1sMGbwQt/CjOTy3ua6xOfpuzZTj+m05fQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.13.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.2","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.7","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.7","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.3","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.16.3","@typescript-eslint/eslint-plugin":"^8.60.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.8","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.2_1780906134530_0.05961958038414372","host":"s3://npm-registry-packages-npm-production"}},"7.6.3":{"name":"two-stroke","version":"7.6.3","license":"MIT","_id":"two-stroke@7.6.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"31c72bd35549088275a500925ebaedfa7f4d2ae1","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.3.tgz","fileCount":29,"integrity":"sha512-4fpn200rVv5TFQiJRhjFDuMwwR1si5CPZ0ME/M1A7HOMQA2quHKIHnqaSwlX67eXMX/DhzA1iZbFi8h65CHp+A==","signatures":[{"sig":"MEYCIQDokoOPCQ/XqkSPcZ3+xZ7Twvni4I60auf0tuN4OvdQMwIhAJgd68SlRi11xXMBrcDDoSKBAmbfTWfgbDtJV6y3SjlO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":604379},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.3.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/70243ae97a07195aa6711e5fcbde8820/two-stroke-7.6.3.tgz","_integrity":"sha512-4fpn200rVv5TFQiJRhjFDuMwwR1si5CPZ0ME/M1A7HOMQA2quHKIHnqaSwlX67eXMX/DhzA1iZbFi8h65CHp+A==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.13.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.2","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.7","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.7","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.3","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.16.3","@typescript-eslint/eslint-plugin":"^8.60.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.8","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.3_1780997226934_0.7840009429366188","host":"s3://npm-registry-packages-npm-production"}},"7.6.4":{"name":"two-stroke","version":"7.6.4","license":"MIT","_id":"two-stroke@7.6.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"43d9080045c7a7b423a03f1d1c9b2ff5767d473d","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.4.tgz","fileCount":29,"integrity":"sha512-PravCUwZPS/sqMgCk9J0ELyM/z6k5RBklLDUkYY5+I3pyXZPxkjLMWx7CRQf8vzx7QKLFPcDCrIuIqzbAEeuLQ==","signatures":[{"sig":"MEQCIFn/gSnSwzIsfY4pjQxXoqFbUM1DhADyYitVIG0ygZOlAiA61zu5tCToeSjFVFBiwlT6vEFXo5T2rjSY+gMqwfItzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":604449},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.4.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/46f31b49727418a293a98ade81a29301/two-stroke-7.6.4.tgz","_integrity":"sha512-PravCUwZPS/sqMgCk9J0ELyM/z6k5RBklLDUkYY5+I3pyXZPxkjLMWx7CRQf8vzx7QKLFPcDCrIuIqzbAEeuLQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.13.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.2","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.7","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.7","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.3","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.16.3","@typescript-eslint/eslint-plugin":"^8.60.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.8","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.4_1780997687920_0.3044228925195156","host":"s3://npm-registry-packages-npm-production"}},"7.6.5":{"name":"two-stroke","version":"7.6.5","license":"MIT","_id":"two-stroke@7.6.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"7b14d4226d1a2eac7dbb5a6b7110b016251e77ab","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.5.tgz","fileCount":29,"integrity":"sha512-uk1wDsOMIKz86oPtEZIQfxOSC83sX8L1bh2vFWed49JcQ8fKF8/VahVG86KfLja9jP+cx4I4x+bR+3U5UW9j8Q==","signatures":[{"sig":"MEYCIQC30rBhKitdWvN0IYttuTvQ0r5DIbb9+6bvS6MBVxUACwIhAJ8c0l3rMQmb9xvAkl5BmxUV+zrK4Pz45pwM3GVFexSX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":604449},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.5.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/791b33d0b0a1e375efa19431b1671392/two-stroke-7.6.5.tgz","_integrity":"sha512-uk1wDsOMIKz86oPtEZIQfxOSC83sX8L1bh2vFWed49JcQ8fKF8/VahVG86KfLja9jP+cx4I4x+bR+3U5UW9j8Q==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.13.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.2","jose":"^6.2.2","mime":"^4.1.0","miniflare":"^4.20260317.3","toucan-js":"^4.1.1","jwk-subtle":"^1.1.7","@sentry/cli":"^3.3.4","@types/node":"^25.5.0","pbkdf-subtle":"^1.1.7","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.2","@vitest/snapshot":"^4.1.2","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.3","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.57.2","@cloudflare/vitest-pool-workers":"^0.16.3","@typescript-eslint/eslint-plugin":"^8.60.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.8","prettier":"^3.8.1","typescript":"^6.0.2","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.5_1780999722358_0.07431941893416649","host":"s3://npm-registry-packages-npm-production"}},"7.6.6":{"name":"two-stroke","version":"7.6.6","license":"MIT","_id":"two-stroke@7.6.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"743d7f16d252db931ee9f13b536c3d9ad5ee200d","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.6.tgz","fileCount":29,"integrity":"sha512-/Lh7T2wKtQ8OHQGzJ4wEjqxBRY6wPZ628cgzwUBJo5QGFSUWm1w1asXyWx0lKg/rf5yrB0lPkM0RguY+tzJ5MA==","signatures":[{"sig":"MEYCIQD297e9Ww8zB6qABXSrLhPxBp32cJ9gGvk159WZRor8iQIhAM0MnDphrL1GPRKcNV2hPVz58AiEJVEqtSo4mzaBXzMR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":604450},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.6.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/166d7858bb01f2c31f16c9695892b3e5/two-stroke-7.6.6.tgz","_integrity":"sha512-/Lh7T2wKtQ8OHQGzJ4wEjqxBRY6wPZ628cgzwUBJo5QGFSUWm1w1asXyWx0lKg/rf5yrB0lPkM0RguY+tzJ5MA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.13.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260603.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.7","@sentry/cli":"^3.5.0","@types/node":"^25.9.2","pbkdf-subtle":"^1.1.7","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.4","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.60.1","@cloudflare/vitest-pool-workers":"^0.16.13","@typescript-eslint/eslint-plugin":"^8.60.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.8.3","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.6_1781190605879_0.7448185626746036","host":"s3://npm-registry-packages-npm-production"}},"7.6.7":{"name":"two-stroke","version":"7.6.7","license":"MIT","_id":"two-stroke@7.6.7","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"4e1a9cac4b3898681708ea2d283dbfd16050a5e1","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.7.tgz","fileCount":29,"integrity":"sha512-c024PjX1Qgr3X+Rr8NYAQEa6QC4UaZW/VzQMwCA+v92nTixMz99Cr7d1rYVI9raEzp3qGUnVb6SdG4W260xhlA==","signatures":[{"sig":"MEUCIFUDlRjiw1GwUgTyvsj/LD+0Pt7SFPI/lox6mUW7W1e3AiEA4hJDde9oKCWQPTnwjBV1Om2pshvzvXi91LM2VxZAqvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":611930},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.7.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/2193461278a7233fc03cb42dd51fee77/two-stroke-7.6.7.tgz","_integrity":"sha512-c024PjX1Qgr3X+Rr8NYAQEa6QC4UaZW/VzQMwCA+v92nTixMz99Cr7d1rYVI9raEzp3qGUnVb6SdG4W260xhlA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.13.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260603.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.7","@sentry/cli":"^3.5.0","@types/node":"^26.0.1","pbkdf-subtle":"^1.1.7","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.6","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.60.1","@cloudflare/vitest-pool-workers":"^0.16.13","@typescript-eslint/eslint-plugin":"^8.62.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.8.3","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.7_1782722341481_0.09516623981193817","host":"s3://npm-registry-packages-npm-production"}},"7.6.8":{"name":"two-stroke","version":"7.6.8","license":"MIT","_id":"two-stroke@7.6.8","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"5a3c613ff14b685ac2ec4c5186367b1a70965a22","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.6.8.tgz","fileCount":30,"integrity":"sha512-ZXDhzTFxOLVg1BjkweUEFsE19g4ccTeSFiTCRauphx5AUAs0uSrQ0eX/y2aRuEezQOMZRy9PAzH/SPZRhUQTsw==","signatures":[{"sig":"MEQCICArEj6/pakX3kIuCbpNX+77J0NJTULSTvNJRolj0yibAiBUoMeFFGG9qemJ8YuR/ABfETNqP9YORwDhO/1Y6Tfpcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.6.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":611861},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.6.8.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/1f373ddca30150db058c2e1b817cb985/two-stroke-7.6.8.tgz","_integrity":"sha512-ZXDhzTFxOLVg1BjkweUEFsE19g4ccTeSFiTCRauphx5AUAs0uSrQ0eX/y2aRuEezQOMZRy9PAzH/SPZRhUQTsw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.13.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260603.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.7","@sentry/cli":"^3.5.0","@types/node":"^26.0.1","pbkdf-subtle":"^1.1.7","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.6","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.60.1","@cloudflare/vitest-pool-workers":"^0.16.13","@typescript-eslint/eslint-plugin":"^8.62.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.8.3","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.6.8_1782723263344_0.6741758986808288","host":"s3://npm-registry-packages-npm-production"}},"7.7.0":{"name":"two-stroke","version":"7.7.0","license":"MIT","_id":"two-stroke@7.7.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"5e5c71a76ad5efe33df51d9f9fe7f29f496bb735","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.7.0.tgz","fileCount":30,"integrity":"sha512-Wi9AjFUocj6sEUL0UjjXUqNOuvslBYJhtfdvXwpPpy2KM70KQdVrDZKDYPQpAqH0L9ZpNhWI2WXcLRTc8tEd+g==","signatures":[{"sig":"MEQCIHMKvl2vFX2zxWQQm7JI6KfIEo1Sb+KRxJchhZO1lD/ZAiAHbazH9TT05CtCd+I0+eWAKmbiTkFZHFt/g+JqFZWQuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590320},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.7.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/a2cbb30009b4a843a78226e9e17ff081/two-stroke-7.7.0.tgz","_integrity":"sha512-Wi9AjFUocj6sEUL0UjjXUqNOuvslBYJhtfdvXwpPpy2KM70KQdVrDZKDYPQpAqH0L9ZpNhWI2WXcLRTc8tEd+g==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.8","@sentry/cli":"^3.6.0","@types/node":"^26.1.0","pbkdf-subtle":"^1.1.8","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.62.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.8","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.7.0_1783332357751_0.22387034396447936","host":"s3://npm-registry-packages-npm-production"}},"7.7.1":{"name":"two-stroke","version":"7.7.1","license":"MIT","_id":"two-stroke@7.7.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"b3025d92ffbdcffcbebdff1d6a3de7732516d3b0","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.7.1.tgz","fileCount":30,"integrity":"sha512-sQFuNjx4kiQQIu9ClzJhkbfesMestkjZXORTZiUlu9IV3/aWTZ/ECCSibZBewYrEJBUdrb18Z/QbjIo0qfV7tA==","signatures":[{"sig":"MEUCIHCQkVVilVgjTvaRKhqFewe6D/aTAzxz1Q0LtWmBa7ZeAiEA4T4MbOahSjiHRYsV0ZLl3vEYMvVfJKfMbXgM5+nYpe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590437},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.7.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/d2c7c6353a188c5cf04c42956cb6c18d/two-stroke-7.7.1.tgz","_integrity":"sha512-sQFuNjx4kiQQIu9ClzJhkbfesMestkjZXORTZiUlu9IV3/aWTZ/ECCSibZBewYrEJBUdrb18Z/QbjIo0qfV7tA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.8","@sentry/cli":"^3.6.0","@types/node":"^26.1.0","pbkdf-subtle":"^1.1.8","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.62.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.8","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.7.1_1783337788975_0.7098377202039208","host":"s3://npm-registry-packages-npm-production"}},"7.8.0":{"name":"two-stroke","version":"7.8.0","license":"MIT","_id":"two-stroke@7.8.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"d5f8513dead5d2d9e68da23eb081bc125970cb58","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.8.0.tgz","fileCount":30,"integrity":"sha512-vcA/uNMHrJxUypCW9u6w+Yfqj/UQkjqx7fxUJjLTJBzydwYwCw86sqMGo6cVC+BJU2cc/XisOrzrlcwQONLxkA==","signatures":[{"sig":"MEUCIHuOhnbvZQvIN+kvwdv7RF/kYIrdtFZlCa4BKo9Q+c9HAiEAjjUc64oIABbf4G6iO6ZBNprnAgut4L+mVWzYYydfXgY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590533},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.8.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/b65173334e7d9c14b1973a9825a59414/two-stroke-7.8.0.tgz","_integrity":"sha512-vcA/uNMHrJxUypCW9u6w+Yfqj/UQkjqx7fxUJjLTJBzydwYwCw86sqMGo6cVC+BJU2cc/XisOrzrlcwQONLxkA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.8","@sentry/cli":"^3.6.0","@types/node":"^26.1.0","pbkdf-subtle":"^1.1.8","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.62.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.8","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.8.0_1783594217722_0.37482936156052626","host":"s3://npm-registry-packages-npm-production"}},"7.8.1":{"name":"two-stroke","version":"7.8.1","license":"MIT","_id":"two-stroke@7.8.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"bdedc606e73bf2d33d818a5c5efc5c50d5623da1","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.8.1.tgz","fileCount":30,"integrity":"sha512-Nfsq+Xm/KKrJkShuofhQZl1siDNmnFjhA7YK2OvS7/fYfmjBR0393VGSkX0orwiitRxlnUlVbSxWVXOvHh/5Mg==","signatures":[{"sig":"MEUCIQDRFFaBnDT5w785hjE3vzSvwvOVLz/4FdbNNpBqeIoNnQIgf5yFuMZimt6rLcVMEC1gYbLGnZYRpolDLjr2AyzKNpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590527},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.8.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/686528adb96b17809c1e6d6c348891f4/two-stroke-7.8.1.tgz","_integrity":"sha512-Nfsq+Xm/KKrJkShuofhQZl1siDNmnFjhA7YK2OvS7/fYfmjBR0393VGSkX0orwiitRxlnUlVbSxWVXOvHh/5Mg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.8","@sentry/cli":"^3.6.0","@types/node":"^26.1.0","pbkdf-subtle":"^1.1.8","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.62.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.8","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.8.1_1783596254534_0.2876200463684617","host":"s3://npm-registry-packages-npm-production"}},"7.8.2":{"name":"two-stroke","version":"7.8.2","license":"MIT","_id":"two-stroke@7.8.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"88beb5b579f2b5351ba268f2677c8ad12e181017","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.8.2.tgz","fileCount":30,"integrity":"sha512-9RGOdFvRlTWV1jH5IdXCQWTiO2525ij6GzACqCnghfX6qJ+Bwjpaxy1vZckRJG4H64dF8hH3hjw1AmVXYoOrLg==","signatures":[{"sig":"MEYCIQCs8JQK9H9aF2rNy79EUdV9Bhm/s049ioJX9Sv4g+uHWAIhAMjM6eu0kdQ/B854vlj9XXbrCvQJ8BTT2dAnhXSx+3xM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590531},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.8.2.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/7661876e089eef2c65c0338388118979/two-stroke-7.8.2.tgz","_integrity":"sha512-9RGOdFvRlTWV1jH5IdXCQWTiO2525ij6GzACqCnghfX6qJ+Bwjpaxy1vZckRJG4H64dF8hH3hjw1AmVXYoOrLg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.8","@sentry/cli":"^3.6.0","@types/node":"^26.1.0","pbkdf-subtle":"^1.1.8","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.62.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.8","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.8.2_1783596753239_0.0552030763432696","host":"s3://npm-registry-packages-npm-production"}},"7.8.3":{"name":"two-stroke","version":"7.8.3","license":"MIT","_id":"two-stroke@7.8.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"ceb1f53476f4866d842eba83908049d77cedb081","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.8.3.tgz","fileCount":30,"integrity":"sha512-7eh7vmrFBV3Xw6OeaxOWb6K8KnEwEf8pF5xaNuqM4NC10OZZdNou7m7Pb8lVotuLYLOaJ670V/54au1QbVPGsg==","signatures":[{"sig":"MEUCIQDeoekfH6N6H7g9DPJyjKPV1q/ugXqPzfMJt4oo21A8TQIgd2NPNfFS1/UwXbPobXeXBPuahzYoM3UIDDLssiHUT9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590501},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.8.3.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/3aba444e904db04768e3fd8981e9e9bd/two-stroke-7.8.3.tgz","_integrity":"sha512-7eh7vmrFBV3Xw6OeaxOWb6K8KnEwEf8pF5xaNuqM4NC10OZZdNou7m7Pb8lVotuLYLOaJ670V/54au1QbVPGsg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.8","@sentry/cli":"^3.6.0","pbkdf-subtle":"^1.1.8","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.62.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.8","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.8.3_1783605927213_0.27812848248572686","host":"s3://npm-registry-packages-npm-production"}},"7.9.0":{"name":"two-stroke","version":"7.9.0","license":"MIT","_id":"two-stroke@7.9.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"eb9ee0d696a91b6c65b0cd46c14a6ccaf9342569","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.9.0.tgz","fileCount":30,"integrity":"sha512-fj7aS99WvxV3k3yR2XJ3WIKqmk7EW1VoICKEmm5OL57v6qMKVlKTK7cJ2ZZOj+oquhoO/eKbEtF6nWHqIskzPg==","signatures":[{"sig":"MEUCIQCi3lJDP008S9hh6J3+DBzVzGEbh5XzYJ23HhYpt3FOYwIgcBeQzijwh44NN2EwkJZ70Qge5DvTQ6M9fizhDUIAMU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590632},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.9.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/449405a6148ead0af096968116e7d069/two-stroke-7.9.0.tgz","_integrity":"sha512-fj7aS99WvxV3k3yR2XJ3WIKqmk7EW1VoICKEmm5OL57v6qMKVlKTK7cJ2ZZOj+oquhoO/eKbEtF6nWHqIskzPg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","jwk-subtle":"^1.1.8","@sentry/cli":"^3.6.0","pbkdf-subtle":"^1.1.8","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.62.1"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.8","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.9.0_1783691535690_0.4667458978636889","host":"s3://npm-registry-packages-npm-production"}},"7.10.0":{"name":"two-stroke","version":"7.10.0","license":"MIT","_id":"two-stroke@7.10.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"af0067ee1e68c3aa3419b76e9d394187d449b29d","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.10.0.tgz","fileCount":31,"integrity":"sha512-XkRQutJLi3UadvztcR543SUTvX9wpJWtAhM38VkcOGfv7vyDLsP+DRpzZcBGIG5eJBeZkI7wik1WIDXYCBZ+AA==","signatures":[{"sig":"MEUCIFLZyEK9iYvpAPNIhDMC6WhLniLhz4crIxhi7vLmhzfdAiEA0UU+X9vi6D85HLOifb4hpLQuHqFEsFQ9cUOFLUnyQp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":592985},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.10.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/6d8f52a11ed399943bed41a57dfa6f3d/two-stroke-7.10.0.tgz","_integrity":"sha512-XkRQutJLi3UadvztcR543SUTvX9wpJWtAhM38VkcOGfv7vyDLsP+DRpzZcBGIG5eJBeZkI7wik1WIDXYCBZ+AA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","@sentry/cli":"^3.6.0","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.63.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.10","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.10.0_1784108112241_0.9093132398828894","host":"s3://npm-registry-packages-npm-production"}},"7.10.1":{"name":"two-stroke","version":"7.10.1","license":"MIT","_id":"two-stroke@7.10.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"14486efd6799cfeaa2e9043a4cbef4c49ba15785","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.10.1.tgz","fileCount":31,"integrity":"sha512-74bASqFOq2Dc5bAxaS7HjtQHhTZYJRa55SeM82TpfL9UlbPSEBto8EumoRDQWlomwKPAcqkTYVCjIEjqpjPbGQ==","signatures":[{"sig":"MEUCIDdQKphnYaPey/gucX46glc8PsIrYrRkTxtQ3GS34wFHAiEAy0WuNef0X/5FFl2ICbqGOhkbBmyR/tVmEb4H3AAiJeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617339},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.10.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/fe863ea2cca3c68da2f3f2286b0933b1/two-stroke-7.10.1.tgz","_integrity":"sha512-74bASqFOq2Dc5bAxaS7HjtQHhTZYJRa55SeM82TpfL9UlbPSEBto8EumoRDQWlomwKPAcqkTYVCjIEjqpjPbGQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","@sentry/cli":"^3.6.0","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.63.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.10","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.10.1_1784126620437_0.0685843312840202","host":"s3://npm-registry-packages-npm-production"}},"7.11.0":{"name":"two-stroke","version":"7.11.0","license":"MIT","_id":"two-stroke@7.11.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"1c04377a6781f5615e6e71d3f063a5257ddd1754","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.11.0.tgz","fileCount":31,"integrity":"sha512-u/w+c3Hz34fIGUSe3vh8CY0/y2cXTw9YAhb4YZR8xk35eOUQXsIBUCYBMhT5yr2hivu4rL77SE2JA2SznsY2fw==","signatures":[{"sig":"MEYCIQDe6Zoc13ybAbMdDseHLR+3A1Y1Ptwqvb1v6s2Tmu8SuwIhAMb4PgZLYQtiEfmMltc9M5tKI3mzwurzm1Qef7y5i+qm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617377},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.11.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/923c89e158eb8cd16756b5ba1e8401f8/two-stroke-7.11.0.tgz","_integrity":"sha512-u/w+c3Hz34fIGUSe3vh8CY0/y2cXTw9YAhb4YZR8xk35eOUQXsIBUCYBMhT5yr2hivu4rL77SE2JA2SznsY2fw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","@sentry/cli":"^3.6.0","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.63.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.10","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.11.0_1784129952732_0.9965663645928788","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"two-stroke","version":"8.0.0","license":"MIT","_id":"two-stroke@8.0.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"5c721daac93c60a4896c2c48a9752069784ac6c7","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.0.tgz","fileCount":33,"integrity":"sha512-dNzx3ZsIYxqMp+urmiLhkhRK9JHC6ib6rAvhb9qQ0WUxMxGcxeKo1JDmAFl6ZpyZcS8u7nMgM9/74YacIfAtDg==","signatures":[{"sig":"MEYCIQCnYy/d54jhAIqku796Own6bpGmbhwvGdjLTgYiM4+QGQIhALqY5efxvwZN0tCYtpKK/7fHnYcpJ1UdSi8/R5z1NOTO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":618013},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/f8753cdeef099a49e25aabc10ae49af5/two-stroke-8.0.0.tgz","_integrity":"sha512-dNzx3ZsIYxqMp+urmiLhkhRK9JHC6ib6rAvhb9qQ0WUxMxGcxeKo1JDmAFl6ZpyZcS8u7nMgM9/74YacIfAtDg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.26.0","oxfmt":"^0.58.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"^6.0.3","oxlint-tsgolint":"^0.24.0","@cloudflare/vitest-pool-workers":"^0.18.4"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","typescript":">=5","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.0_1784299603935_0.4112864928861102","host":"s3://npm-registry-packages-npm-production"}},"8.0.1":{"name":"two-stroke","version":"8.0.1","license":"MIT","_id":"two-stroke@8.0.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"066fccd4ec6bffa1925cab33dc00a068b21e1a01","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.1.tgz","fileCount":33,"integrity":"sha512-7wpQVC91Vc5soqWUVxzILOWrXPozj3EtwMbWHSnnakZWs5QxYRFSXeYz2xrMh5jz7nA36ICMQLsw5PVVUDz3sw==","signatures":[{"sig":"MEYCIQCx6adW9hm+fAsMdm3oWAmWIjjDZScQdSIaFfO7+ZklLAIhAI0b3sgf1se6F4hAjPmmt1JW1QA5i/fiEqbvIkQW3s77","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617992},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/abb3c2287b41858b0b3dd5c3d0a34746/two-stroke-8.0.1.tgz","_integrity":"sha512-7wpQVC91Vc5soqWUVxzILOWrXPozj3EtwMbWHSnnakZWs5QxYRFSXeYz2xrMh5jz7nA36ICMQLsw5PVVUDz3sw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.26.0","oxfmt":"^0.58.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"^6.0.3","oxlint-tsgolint":"^0.24.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","typescript":">=5","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.1_1784300778442_0.531873867373932","host":"s3://npm-registry-packages-npm-production"}},"8.0.2":{"name":"two-stroke","version":"8.0.2","license":"MIT","_id":"two-stroke@8.0.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"776439eeccdf35ec8df29f66219ee267a1d19356","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.2.tgz","fileCount":33,"integrity":"sha512-kbKH65+gtGty26NSjaZef6ekKr/L6kEzIOVVzbCc++ojtj3abKomJnwE3h9bxnLxKBiwqv88WobTjoeyzrXCzA==","signatures":[{"sig":"MEYCIQDb4ZXbTHirU8up+lPa+62y0zu9dVE1lp865AS5i/Zy6gIhAO5JmAAWy2mLMGnxmDyl3/pMR+Gq6NHJQom0umtaL175","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":618042},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.2.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/643b497769f0edd5e39ef885883e53aa/two-stroke-8.0.2.tgz","_integrity":"sha512-kbKH65+gtGty26NSjaZef6ekKr/L6kEzIOVVzbCc++ojtj3abKomJnwE3h9bxnLxKBiwqv88WobTjoeyzrXCzA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.26.0","oxfmt":"^0.58.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"^6.0.3","oxlint-tsgolint":"^0.24.0","@cloudflare/vitest-pool-workers":"^0.18.4"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","typescript":">=5","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.2_1784302152173_0.7018627938221602","host":"s3://npm-registry-packages-npm-production"}},"8.0.3":{"name":"two-stroke","version":"8.0.3","license":"MIT","_id":"two-stroke@8.0.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"5b00b8d8b741e7646361a3d70f91c8bc64ea020a","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.3.tgz","fileCount":35,"integrity":"sha512-CykIh6ww3pwCyMzr79LN3tPpf4BKZx80SWD4X2XkI9GolCyFU2qgdzTamx7+1hYyBRtOgTXmTy4hPrs/Bqh9og==","signatures":[{"sig":"MEUCIQDFbzwyWj+1Nilh6vP3O8DneKhW7SgQcYNHvQ9DWHFk7AIgbo+omuaMqIkLcsGau9FbOEzzB285l4iTeZKkwzUrraA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621035},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.3.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/6cad69b7c42c0173ead85dff581faf8e/two-stroke-8.0.3.tgz","_integrity":"sha512-CykIh6ww3pwCyMzr79LN3tPpf4BKZx80SWD4X2XkI9GolCyFU2qgdzTamx7+1hYyBRtOgTXmTy4hPrs/Bqh9og==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.26.0","oxfmt":"^0.58.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"^6.0.3","oxlint-tsgolint":"^0.24.0","@cloudflare/vitest-pool-workers":"^0.18.4"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","typescript":">=5","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.3_1784302999969_0.9296214299512826","host":"s3://npm-registry-packages-npm-production"}},"8.0.4":{"name":"two-stroke","version":"8.0.4","license":"MIT","_id":"two-stroke@8.0.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"476b2543ce1b568d02028a8d4d71a6ad67dba260","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.4.tgz","fileCount":35,"integrity":"sha512-7SYakHPiRoDhpwEyJKEJz2GshPJ279t8O5svQnoRqla1xSwurIma1GI20ajRKVej5sucAfG5G5RiJ4mxd3ytrQ==","signatures":[{"sig":"MEYCIQDPnprQ/MRJS0ANFBSIw+ugqLvxEf2Df8KIVj+yvS6ymQIhAN1TuMpYD5yOwZOlabievq/o4hzCpvAaZbLGSz01vt5r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621031},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.4.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/83524583ddf3bcafbe2d8ac96c7f3df2/two-stroke-8.0.4.tgz","_integrity":"sha512-7SYakHPiRoDhpwEyJKEJz2GshPJ279t8O5svQnoRqla1xSwurIma1GI20ajRKVej5sucAfG5G5RiJ4mxd3ytrQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0","@typescript/typescript6":"^6.0.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"^7.0.2","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","typescript":">=7","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.4_1784532231064_0.21715878146093104","host":"s3://npm-registry-packages-npm-production"}},"8.0.5":{"name":"two-stroke","version":"8.0.5","license":"MIT","_id":"two-stroke@8.0.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"da4a973e157e32db0993b20510d3ca5d1141b943","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.5.tgz","fileCount":35,"integrity":"sha512-wSh8qov8NnSqm1CTQwwneQ/An/lBIcx2qtVPDxPyPudkxGzPK3KVbsB2ngXk0Ykq6ahZyQB3aF/IVggP629WUg==","signatures":[{"sig":"MEQCIHvzN0/xL7wg8kSwpUFG/Gh2ibyhGiXpJMqkalasSB8YAiAm9ebXj7+ednx8d8IeQBpeXZ/s8kPc9eyIVlLLamMWAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621077},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.5.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/54805d7b12c07f847da33a9f5f0fe438/two-stroke-8.0.5.tgz","_integrity":"sha512-wSh8qov8NnSqm1CTQwwneQ/An/lBIcx2qtVPDxPyPudkxGzPK3KVbsB2ngXk0Ykq6ahZyQB3aF/IVggP629WUg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0","@typescript/typescript6":"^6.0.2"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"npm:@typescript/typescript6@^6.0.2","typescript7":"npm:typescript@^7.0.2","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","typescript":">=7","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.5_1784532571742_0.6710110415664887","host":"s3://npm-registry-packages-npm-production"}},"8.0.6":{"name":"two-stroke","version":"8.0.6","license":"MIT","_id":"two-stroke@8.0.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"2e9b98f1097bb0f4dacc5d583c7758a75d8ed638","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.6.tgz","fileCount":35,"integrity":"sha512-6MswmRSx8FNe9iWpFCiD3W/xeCngvQx/zORue/P9wdxhwSvqMedrq6yC6FfhofL0Fa7DI/9N5Oe1BbMwkjVP+w==","signatures":[{"sig":"MEUCIQDFBrRcK/dLTqmLzKuJLDrETHmN1xppBI87J47uWNvS5AIgHZVpIEV98bNeJhlbzw24ZUmVxWRlgUZBrKmsEUv1Ou4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621036},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.6.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/0cb5cd5324f87feb0d20ba632df8d947/two-stroke-8.0.6.tgz","_integrity":"sha512-6MswmRSx8FNe9iWpFCiD3W/xeCngvQx/zORue/P9wdxhwSvqMedrq6yC6FfhofL0Fa7DI/9N5Oe1BbMwkjVP+w==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"npm:@typescript/typescript6@^6.0.2","typescript7":"npm:typescript@^7.0.2","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","typescript":">=7","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.6_1784533172901_0.3316164755458755","host":"s3://npm-registry-packages-npm-production"}},"8.0.7":{"name":"two-stroke","version":"8.0.7","license":"MIT","_id":"two-stroke@8.0.7","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"3abed5fcaac8ac25b93d8051f98eaa80dcf6249e","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.7.tgz","fileCount":35,"integrity":"sha512-pnX1d6dGMfj9qUgv/UXERwP2gIUGbE0ac6K+jOLVOH8AYarcNF6QrmB0FNAnYJzJl1YZ6mB6rrzypLe+N1PWjA==","signatures":[{"sig":"MEYCIQC+zQUl3+3dWchqK8ma3Mimc4YTGikq/n1P6/ydu7klOQIhAI5NJB7i/Usg6V/qiKQMOzNQeAmeUlRqxWZyv/PoN6qr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620939},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.7.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/bc7a2f5ae9c6d09b1a2e59de20d174b5/two-stroke-8.0.7.tgz","_integrity":"sha512-pnX1d6dGMfj9qUgv/UXERwP2gIUGbE0ac6K+jOLVOH8AYarcNF6QrmB0FNAnYJzJl1YZ6mB6rrzypLe+N1PWjA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"^7.0.2","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.7_1784535523871_0.3539882447080702","host":"s3://npm-registry-packages-npm-production"}},"8.0.8":{"name":"two-stroke","version":"8.0.8","license":"MIT","_id":"two-stroke@8.0.8","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"5332094aef1f67b3e911bf15f95af89706778668","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.8.tgz","fileCount":36,"integrity":"sha512-2DHmsy4b8i+BeSi0AKc21MP4qkDfvWfFmGxqctZGz+7TIh/HuPwmHaW47F72E0cggam+Ml/PSTOR/DXujFStbg==","signatures":[{"sig":"MEUCIAxPT4d1sXfI6qD7lamPX7WXI0P4Jg92HFsi4s9bgSuRAiEA3DNFyp0+P9Sk2w3YubvHF00HTxRohSySDiUA7+aPyd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":632287},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.8.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/c936f4b3b0a37965ef01f6844abffb5b/two-stroke-8.0.8.tgz","_integrity":"sha512-2DHmsy4b8i+BeSi0AKc21MP4qkDfvWfFmGxqctZGz+7TIh/HuPwmHaW47F72E0cggam+Ml/PSTOR/DXujFStbg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"^7.0.2","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.8_1784535785164_0.90307878963867","host":"s3://npm-registry-packages-npm-production"}},"8.0.9":{"name":"two-stroke","version":"8.0.9","license":"MIT","_id":"two-stroke@8.0.9","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"2e6475bf73b68c30a2914ada78a1b03ca566d4b0","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.9.tgz","fileCount":36,"integrity":"sha512-Gwdopa1x3NAAKyEgT0nVXH8PYT3tQ/xwI8TJcuSMFvkruu9SNvqIA34pBXqjM1dx/Tp9lI7fFmPVSttODctp3Q==","signatures":[{"sig":"MEUCIQC2RakTMGNxO1UL09NtTyCcnvxwlXhP88AjqxxtaLOGuQIgZR14UZTKejw7OZAAJjjK+YYpypwXsRrczTqQoKRqqQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":640732},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.9.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/a11d7242de96cf6698448cca6692b8f1/two-stroke-8.0.9.tgz","_integrity":"sha512-Gwdopa1x3NAAKyEgT0nVXH8PYT3tQ/xwI8TJcuSMFvkruu9SNvqIA34pBXqjM1dx/Tp9lI7fFmPVSttODctp3Q==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","typescript":"^7.0.2","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.9_1784536272746_0.8019339269267576","host":"s3://npm-registry-packages-npm-production"}},"8.0.10":{"name":"two-stroke","version":"8.0.10","license":"MIT","_id":"two-stroke@8.0.10","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"a4552fdb6a63b89383b427a0262aa56656584412","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.10.tgz","fileCount":35,"integrity":"sha512-sGd0oJK0CEA0meeADuGseJ7yngbUIEO7AeVRqC3DxH8GpnLB6o1ZIHsumI1D85OEksBDWLjI4dxCu6UYjWpJ9g==","signatures":[{"sig":"MEYCIQCxZtjck4nrpIeCPBncQ9fTQU0hCSN33vFSSiESVdlvHAIhAK6ToSItU0yxsSN3YSYEHDiHk+DS5Sh0TwMaCmRISRqF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620940},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.10.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/35b7dc8acf2c5da7b37029265a67ceef/two-stroke-8.0.10.tgz","_integrity":"sha512-sGd0oJK0CEA0meeADuGseJ7yngbUIEO7AeVRqC3DxH8GpnLB6o1ZIHsumI1D85OEksBDWLjI4dxCu6UYjWpJ9g==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.10_1784536853215_0.9246961982048107","host":"s3://npm-registry-packages-npm-production"}},"8.0.11":{"name":"two-stroke","version":"8.0.11","license":"MIT","_id":"two-stroke@8.0.11","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"e6892672fe89935670bc8a5ac0ecf81cb24d52fb","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.11.tgz","fileCount":35,"integrity":"sha512-NInBE4uS216+FWtju8RPaKzt59K8779HiBHYX23DPtMyTWV2L86dtQXO9ZFGFUY2GM4nuu3upFUrMK+1S9QsDQ==","signatures":[{"sig":"MEQCIBtBCo1QFgNtI7kIOFXCVRi178tHjL2lVAIOop1jCN//AiA7e49dTEDBe0XdbFmXClj7gbc8e+KqHVUls6jTL5PQ6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620836},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.11.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/165850d6ef7886678602d1b56aedcd74/two-stroke-8.0.11.tgz","_integrity":"sha512-NInBE4uS216+FWtju8RPaKzt59K8779HiBHYX23DPtMyTWV2L86dtQXO9ZFGFUY2GM4nuu3upFUrMK+1S9QsDQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","knip":"^6.27.0","mime":"^4.1.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","toucan-js":"^4.1.1","typescript":"^6.0.3","@sentry/cli":"^3.6.0","openapi-fetch":"^0.17.0","oxlint-tsgolint":"^0.25.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"wrangler":">=3","miniflare":"^4.20260708.1"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.11_1784537587834_0.8458914463292824","host":"s3://npm-registry-packages-npm-production"}},"8.0.12":{"name":"two-stroke","version":"8.0.12","license":"MIT","_id":"two-stroke@8.0.12","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","tsc":"tsc","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","oxfmt":"oxfmt","deploy":"bin/deploy.mjs","format":"bin/format.mjs","oxlint":"oxlint","vitest":"vitest","wrangler":"wrangler","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"1329878eabd7e99894ad367b6062fcb95dcbb8d7","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.12.tgz","fileCount":35,"integrity":"sha512-eeldmpt1mxoI2dkoeT/wg//TZs/2poRRj78nGSZjzZbBBhK37gtR0ugwlmPoEqFwJPOaHedgBAxx+CjdEqySNQ==","signatures":[{"sig":"MEUCIEaH45IVxr/ygDWU1Za/QK4Kp+uaO8wOY++/3DA7RV69AiEAzVYnp+SKvlhtaBUQBQQfpSy16NmthWwsuHf9V9d4GcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620952},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.12.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/eca624a0599eae7aee08eedac4585d15/two-stroke-8.0.12.tgz","_integrity":"sha512-eeldmpt1mxoI2dkoeT/wg//TZs/2poRRj78nGSZjzZbBBhK37gtR0ugwlmPoEqFwJPOaHedgBAxx+CjdEqySNQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","knip":"^6.27.0","mime":"^4.1.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","toucan-js":"^4.1.1","typescript":"^6.0.3","@sentry/cli":"^3.6.0","openapi-fetch":"^0.17.0","oxlint-tsgolint":"^0.25.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"wrangler":">=3","miniflare":"^4.20260708.1"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.12_1784537835023_0.4464656187410714","host":"s3://npm-registry-packages-npm-production"}},"8.0.13":{"name":"two-stroke","version":"8.0.13","license":"MIT","_id":"two-stroke@8.0.13","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"2aaf4630622e9868fe45e2c2dd1491e2f0ff2545","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.13.tgz","fileCount":35,"integrity":"sha512-wjsh/+PyZGsW2SYsDY+8IbCj+nVDVZcxnEX0d6BDvq1sbEY/HVOaNkY4I2GUAjNX1un879iF8hBcjQAixfjTiA==","signatures":[{"sig":"MEUCIFQeN8hvG0VCAVVs21xFmKE8WXyc96ppsNx4r0DqNpG0AiEAk7/lobosgjCcsKxihqfZDwBSbwLkbYDuQn3rzKk95aU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620940},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.13.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/94fadc6ede90abd491ec737a0548f4e8/two-stroke-8.0.13.tgz","_integrity":"sha512-wjsh/+PyZGsW2SYsDY+8IbCj+nVDVZcxnEX0d6BDvq1sbEY/HVOaNkY4I2GUAjNX1un879iF8hBcjQAixfjTiA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.13_1784543514949_0.6822123808924789","host":"s3://npm-registry-packages-npm-production"}},"8.0.14":{"name":"two-stroke","version":"8.0.14","license":"MIT","_id":"two-stroke@8.0.14","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"bb0fa5b7df6c7bbf6e3caee2fe8ffc42c45ebd85","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.14.tgz","fileCount":35,"integrity":"sha512-49vfzC0uvV6MBdrBWWgDI3Fd1bnDi1WgqGmKKWSBdC3MzGQTh86KzPUMG0JZ3r1HlzsN+lqeAiO3szke6EXwcw==","signatures":[{"sig":"MEUCIQCsfheLvKNlnLVbyMEbdizNSwgfoRneLyVjD1bqe1B7UwIgfIFEztUm250cxh8iKpGEPdhTxA7gRmr+uJ9ESy/CREw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620940},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.14.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/46e4f485eadb694c8793fa62947f63ff/two-stroke-8.0.14.tgz","_integrity":"sha512-49vfzC0uvV6MBdrBWWgDI3Fd1bnDi1WgqGmKKWSBdC3MzGQTh86KzPUMG0JZ3r1HlzsN+lqeAiO3szke6EXwcw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.14_1784626777775_0.429790457474142","host":"s3://npm-registry-packages-npm-production"}},"8.0.15":{"name":"two-stroke","version":"8.0.15","license":"MIT","_id":"two-stroke@8.0.15","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"0bbc6219037b2affbd1ab5a18d85184d03c499f7","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.15.tgz","fileCount":35,"integrity":"sha512-Gdawr9RZtiCp4cnkfkjufc+wVI78iBbd//qrLsxkQnED3JNLfN3oJT+1A2uT7moI871068w/H+nmfeTXhPMy4w==","signatures":[{"sig":"MEYCIQCPxfJg7STwEfktVmwWt6XqFnxNBAqKr+J+UfJtRf2aBQIhAPaIkqAl2b22IBgdAtED6arBNyudelCi2DDPWFFNi33E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621160},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.15.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/531e156455e0e1e3a6ed015b38ad1f47/two-stroke-8.0.15.tgz","_integrity":"sha512-Gdawr9RZtiCp4cnkfkjufc+wVI78iBbd//qrLsxkQnED3JNLfN3oJT+1A2uT7moI871068w/H+nmfeTXhPMy4w==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.15_1784628072875_0.2918597639292504","host":"s3://npm-registry-packages-npm-production"}},"8.0.16":{"name":"two-stroke","version":"8.0.16","license":"MIT","_id":"two-stroke@8.0.16","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"f0d22312493a4850b0cb4b26431e09d8539a9cb4","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.16.tgz","fileCount":35,"integrity":"sha512-zXT0bZMYkOdBQjJ1hP0FOpScZqoJyumSlt/SOEzF9TIt9UvTgp4IYX01l4DRtBs+co7cZorcDnRXRz9VRhEEig==","signatures":[{"sig":"MEUCIFPZrx8bAmRySYyXiWLkll32xboJwE4iYYz+bzymcfrYAiEA77fqm8oG7hylxe7NRU9LlmTJWd4QovhFA9WEhoMfxo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621176},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.16.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/1a05292d89f129447bef4f095a2f9319/two-stroke-8.0.16.tgz","_integrity":"sha512-zXT0bZMYkOdBQjJ1hP0FOpScZqoJyumSlt/SOEzF9TIt9UvTgp4IYX01l4DRtBs+co7cZorcDnRXRz9VRhEEig==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.16_1784628417257_0.6749962652528629","host":"s3://npm-registry-packages-npm-production"}},"8.0.17":{"name":"two-stroke","version":"8.0.17","license":"MIT","_id":"two-stroke@8.0.17","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"a09983ff285f67ef18cf2649df52e6e6540b81fe","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.17.tgz","fileCount":35,"integrity":"sha512-mXrLoaHpuIk5obBUjkv+eoJCEny8BeHbwQfTt0sZsnTzX8/8TSJ7vf2mg/Xt/+6V8Z5MT9J/26PHxEMeT9BQIw==","signatures":[{"sig":"MEUCIQDLxt/nRNftt2bTgTF7ZyVWOpmmqLIUz/xXCBPwLu2YTgIgCzY5W5G4QYLGo6BQdz2hLf0VmE6gWIzyq0c7sOfecJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620948},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.17.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/f5164d2c2f128e24782c3d8a56ba7e7a/two-stroke-8.0.17.tgz","_integrity":"sha512-mXrLoaHpuIk5obBUjkv+eoJCEny8BeHbwQfTt0sZsnTzX8/8TSJ7vf2mg/Xt/+6V8Z5MT9J/26PHxEMeT9BQIw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.5"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.17_1784628726789_0.7895569036469663","host":"s3://npm-registry-packages-npm-production"}},"8.0.18":{"name":"two-stroke","version":"8.0.18","license":"MIT","_id":"two-stroke@8.0.18","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"7330e1578b4cf050f793a3aedb7f8d0678ea1f77","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.18.tgz","fileCount":35,"integrity":"sha512-oebtveN4Yg4Okv1Y22uIERRIs3pBzhew5aQbS1Ag0EpBVmJfvncRsjxRTiLqwvv6CSrHutbRlM7ayUE8ufHrgw==","signatures":[{"sig":"MEYCIQC+Vpb78rN/MRz7TD5uLQdcFfj8QkU9dJ3pS2ipkHPKZwIhAOAsBrSCmaDaZ+ZpMCME4efGcEmwVufa6em9Ynn7qtkn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621022},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.18.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/98a06732527d8bb36f6547c853b24753/two-stroke-8.0.18.tgz","_integrity":"sha512-oebtveN4Yg4Okv1Y22uIERRIs3pBzhew5aQbS1Ag0EpBVmJfvncRsjxRTiLqwvv6CSrHutbRlM7ayUE8ufHrgw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.6"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.18_1784652062273_0.9611169403646695","host":"s3://npm-registry-packages-npm-production"}},"8.0.19":{"name":"two-stroke","version":"8.0.19","license":"MIT","_id":"two-stroke@8.0.19","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"6d5db5c1db415da813d8642c3830b9890b4c4f97","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.19.tgz","fileCount":35,"integrity":"sha512-rwiWchfTJHzEGBwURisKqkb4NTen7I7YwjgPqSTIABA7Q8hWEzORr0cPBNEDEFONxVHtIPszCARfmyMCIFwnQQ==","signatures":[{"sig":"MEUCIQDmXAkbuOJLiA+MND/65KdeuutRVxGqEC12TZnVNStL/wIge7hALTe9GcikYMSH/DStzWnsE33JTGfVthUYydF0tU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620972},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.19.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/a5b9aa69f86510b8e1f52c9114bd0f03/two-stroke-8.0.19.tgz","_integrity":"sha512-rwiWchfTJHzEGBwURisKqkb4NTen7I7YwjgPqSTIABA7Q8hWEzORr0cPBNEDEFONxVHtIPszCARfmyMCIFwnQQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.27.0","oxfmt":"^0.59.0","oxlint":"^1.74.0","vitest":"^4.1.10","oxlint-tsgolint":"^0.25.0","@cloudflare/vitest-pool-workers":"^0.18.6"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.19_1784652213950_0.81753742442889","host":"s3://npm-registry-packages-npm-production"}},"7.11.3":{"name":"two-stroke","version":"7.11.3","license":"MIT","_id":"two-stroke@7.11.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"99f362d4ad4bdc4ea13a9849995beaf2da0411f3","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.11.3.tgz","fileCount":31,"integrity":"sha512-40FzXTwhrTph1Nd6evTUE5Mw6QWJi5Kea1lq7JIbyHueVGEat1ieBlN5+7bai1tFJKcfOXptX2xR+NRXSL40PA==","signatures":[{"sig":"MEYCIQCxo99HY5IUcR27rZR3RiYiYsWNPA7FV7Sc6Q5NVYnD4QIhAJIDKJfVX9evPdfRtot4JzKuTZMwrbazIiE501Gg2XPh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617414},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.11.3.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/c61c0f3d22ee917c04d7617a6eef1ef6/two-stroke-7.11.3.tgz","_integrity":"sha512-40FzXTwhrTph1Nd6evTUE5Mw6QWJi5Kea1lq7JIbyHueVGEat1ieBlN5+7bai1tFJKcfOXptX2xR+NRXSL40PA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.3","mime":"^4.1.0","miniflare":"^4.20260701.0","toucan-js":"^4.1.1","@sentry/cli":"^3.6.0","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.7","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.62.1","@cloudflare/vitest-pool-workers":"^0.18.0","@typescript-eslint/eslint-plugin":"^8.64.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.10","prettier":"^3.9.4","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.11.3_1784652459887_0.06197938564891681","host":"s3://npm-registry-packages-npm-production"}},"8.0.20":{"name":"two-stroke","version":"8.0.20","license":"MIT","_id":"two-stroke@8.0.20","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"ba80fa64121dc691558a4275f94d42416bb38fc4","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.20.tgz","fileCount":34,"integrity":"sha512-34ak4jAegWAVaNdWPKO5Hi007n18dVHIy/W8oeV/WgfDBnQFlSgu8T1MhdB/OUS/BWfSL62e4NTpmF0kcMGtjw==","signatures":[{"sig":"MEUCIH4abY2FyGYJYfbU0O+h4KqA8/35LyS9xfPf94SFwkRaAiEAiC6RYbrFudHKcmKlvjcCS/ca5yFIpck1Eny0fWF7SEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617587},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.20.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/9a843bf6b13bb82faf0ebb2f8839c5f0/two-stroke-8.0.20.tgz","_integrity":"sha512-34ak4jAegWAVaNdWPKO5Hi007n18dVHIy/W8oeV/WgfDBnQFlSgu8T1MhdB/OUS/BWfSL62e4NTpmF0kcMGtjw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.4","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.29.0","oxfmt":"^0.60.0","oxlint":"^1.75.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.18.8"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.20_1785395188873_0.12237882547555268","host":"s3://npm-registry-packages-npm-production"}},"7.11.4":{"name":"two-stroke","version":"7.11.4","license":"MIT","_id":"two-stroke@7.11.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"b1364caac6dd49001b41b1e4477d713f6c96571e","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.11.4.tgz","fileCount":30,"integrity":"sha512-tVli9PmMA+tmRkhZ9ub4bXStdvjyG1JisVeAwTL0tENY74Skoj+XxKlA56A4kzakiAT7TdoWrXZ+hxTd0DHe6Q==","signatures":[{"sig":"MEUCIQD8U8sUKLB8i35ZqNeP3rQQXPeAI+66PxD8qYvuZaB/rgIgDU48eSvmDwC7VqdnaDQIC2BT6EwR7a6bGGo2DNOjguw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":616847},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.11.4.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/fb4261558b0560e8566035394b5cc2b8/two-stroke-7.11.4.tgz","_integrity":"sha512-tVli9PmMA+tmRkhZ9ub4bXStdvjyG1JisVeAwTL0tENY74Skoj+XxKlA56A4kzakiAT7TdoWrXZ+hxTd0DHe6Q==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.4","mime":"^4.1.0","miniflare":"^4.20260722.0","toucan-js":"^4.1.1","@sentry/cli":"^3.6.2","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.8","@vitest/snapshot":"^4.1.8","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.9","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.65.0","@cloudflare/vitest-pool-workers":"^0.18.8","@typescript-eslint/eslint-plugin":"^8.65.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^10.8.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.11.4_1785395222813_0.6625763931341009","host":"s3://npm-registry-packages-npm-production"}},"8.0.21":{"name":"two-stroke","version":"8.0.21","license":"MIT","_id":"two-stroke@8.0.21","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"77daf08b4d3de03559b71c262ecbc5ba7ff8ec23","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.21.tgz","fileCount":34,"integrity":"sha512-qKlMcISb1vawEaMyPmL1nBIafW/R9uY2JOpyjEOaSyZJlzznU/72Xsc0h+y0me8eHMW5Kcx/0VeLica3pNKJ1A==","signatures":[{"sig":"MEYCIQDeVi9dfvj/gIWxTL4pY26itkcUpIES80+3/gLlbFYR1QIhALYTHmc5qMQMYQN0/1TwRctseP67Hsx0EQpBACW0Ckpc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617629},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.21.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/0c61b6cd7b5be8d299f8df8a1994b409/two-stroke-8.0.21.tgz","_integrity":"sha512-qKlMcISb1vawEaMyPmL1nBIafW/R9uY2JOpyjEOaSyZJlzznU/72Xsc0h+y0me8eHMW5Kcx/0VeLica3pNKJ1A==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.4","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.29.0","oxfmt":"^0.61.0","oxlint":"^1.76.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.18.8"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.21_1785512204300_0.528563004078402","host":"s3://npm-registry-packages-npm-production"}},"8.0.22":{"name":"two-stroke","version":"8.0.22","license":"MIT","_id":"two-stroke@8.0.22","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"ca93f43df3e2a77753170493d9f874b8a320faea","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.22.tgz","fileCount":34,"integrity":"sha512-px9maoNkY2A9Ex4q6Y3UORG7GWYbLEiFrK5Gj4SprjfoFYrZt+vl3zvVqOwSmXLzEEcyUD2Rc5cRSAK4ADFgZg==","signatures":[{"sig":"MEUCICSPNFo92hXxRCYTaNU9g07WgYrxZHW8EoY75O0lT2ezAiEA5brm1dHBs9tBbrjPrGcs1YerEmCfQLz9pWv+VcGrEmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617265},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.22.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/30964fc543c8d728565905c54d9a2c97/two-stroke-8.0.22.tgz","_integrity":"sha512-px9maoNkY2A9Ex4q6Y3UORG7GWYbLEiFrK5Gj4SprjfoFYrZt+vl3zvVqOwSmXLzEEcyUD2Rc5cRSAK4ADFgZg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.16.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.6","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.61.0","oxlint":"^1.76.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.20.1"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.22_1785850000646_0.024953406430346936","host":"s3://npm-registry-packages-npm-production"}},"7.11.5":{"name":"two-stroke","version":"7.11.5","license":"MIT","_id":"two-stroke@7.11.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"171b3e27479de5b896c0af7e486d638763de7c52","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.11.5.tgz","fileCount":30,"integrity":"sha512-7lUfIt2L0nxnl2ROzLsFvt/uPjxTuKP4WNUVB2YlYylo3d6G4lNSzIsE7qqG4BN046719OAbUC8oGAhwEXolRw==","signatures":[{"sig":"MEQCIQC1WZbXeSLKXRLudLbWcQGa+KL2pcu7ufUedsBk7CPz/wIfKSkUV9xagcTBLLPE1uL9hC45f1iBcR7dGxa965aUmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.11.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621586},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.11.5.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/b560d340c580d6109d3c174d67ed50a5/two-stroke-7.11.5.tgz","_integrity":"sha512-7lUfIt2L0nxnl2ROzLsFvt/uPjxTuKP4WNUVB2YlYylo3d6G4lNSzIsE7qqG4BN046719OAbUC8oGAhwEXolRw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.17.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.8","mime":"^4.1.0","miniflare":"5.20260811.1-alpha","toucan-js":"^4.1.1","@sentry/cli":"^3.6.2","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.10","@vitest/snapshot":"^4.1.10","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.10","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.67.0","@cloudflare/vitest-pool-workers":"^0.21.3","@typescript-eslint/eslint-plugin":"^8.67.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^10.8.1","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.11.5_1786955176483_0.3365356134754869","host":"s3://npm-registry-packages-npm-production"}},"8.0.23":{"name":"two-stroke","version":"8.0.23","license":"MIT","_id":"two-stroke@8.0.23","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"cd82cec5ecf4021e422ce676ec7a5f5187d53d64","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.23.tgz","fileCount":34,"integrity":"sha512-KPKfwbq+8qPyYQyVgZdU2wXKhkeQfbMSHp12HbUCIh8hWMQkCSx5VIPKeP3Ge0gGN1OZf5cjkd9aSlWZ9MtkCw==","signatures":[{"sig":"MEQCIFIeNoZKKzmd+9FU3tEbkmuIc1HoRB/9jmEd3viWvxyyAiA3bDpQ8ReTsiRFfcmEDHh5lr75JilQ/qdt583s0EU3PA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617265},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.23.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/3f66ff293d6bc99f788b642f8707bee8/two-stroke-8.0.23.tgz","_integrity":"sha512-KPKfwbq+8qPyYQyVgZdU2wXKhkeQfbMSHp12HbUCIh8hWMQkCSx5VIPKeP3Ge0gGN1OZf5cjkd9aSlWZ9MtkCw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.17.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.6","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.63.0","oxlint":"^1.76.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.21.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.23_1786955278328_0.9276113660984442","host":"s3://npm-registry-packages-npm-production"}},"7.11.6":{"name":"two-stroke","version":"7.11.6","license":"MIT","_id":"two-stroke@7.11.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"6478e5c5fe1c2b0cb794011480614fbbe6eacdad","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-7.11.6.tgz","fileCount":30,"integrity":"sha512-NBlnYdv0pgor0DGVKrmE0RnWSBXmeyYTQCBJOLr2//XocjlV3MQuU0Iz9Un6UL6Kqd4CDyHFK96aiokgJr0fuw==","signatures":[{"sig":"MEUCIQCUHkBb1oAqRVIakTV7zG/zS/zvw+d5560auz7hSM+pDwIgPG60VPw+noLD36CYCJCVs6Hb8e774oVMwlyukp2Xgq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@7.11.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":621581},"main":"src/index.ts","type":"module","_from":"file:two-stroke-7.11.6.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/87d3e8c0b54e811e06ca53e04b54a740/two-stroke-7.11.6.tgz","_integrity":"sha512-NBlnYdv0pgor0DGVKrmE0RnWSBXmeyYTQCBJOLr2//XocjlV3MQuU0Iz9Un6UL6Kqd4CDyHFK96aiokgJr0fuw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.17.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"msw":"^2.14.6","zod":"^4.4.3","jose":"^6.2.8","mime":"^4.1.0","miniflare":"^4.20260730.0","toucan-js":"^4.1.1","@sentry/cli":"^3.6.2","openapi-fetch":"^0.17.0","@vitest/runner":"^4.1.10","@vitest/snapshot":"^4.1.10","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.8","eslint-config-two-stroke":"^1.5.10","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^8.67.0","@cloudflare/vitest-pool-workers":"^0.21.3","@typescript-eslint/eslint-plugin":"^8.67.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^10.8.1","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^6.0.3","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":">=10","vitest":">=4","prettier":">=3","wrangler":">=3","typescript":">=5","@sentry/cli":">=2"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_7.11.6_1786957085937_0.48689111964346443","host":"s3://npm-registry-packages-npm-production"}},"8.0.24":{"name":"two-stroke","version":"8.0.24","license":"MIT","_id":"two-stroke@8.0.24","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"75011de0ccef5f53cc2da4ccb0bad39866cb694b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.24.tgz","fileCount":34,"integrity":"sha512-mx+ZzbWmrYcJNH6ZclmjDElpzeVeSKp/NwbgSXLshsaeo+u2zXo3aofhalY6MeNHr77aGgLuhTNDylc7q2+zRg==","signatures":[{"sig":"MEQCIB2rW55Bbd8p0HsYlZdr3Cpay83bzTFNu2WxeS45krhhAiBZkoTTKwTlBT6JeG7aJwpzgMc0BKpKWS+An3FBGsK6ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617294},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.24.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/fbf0e16465bef0aa68e10e295d2feae4/two-stroke-8.0.24.tgz","_integrity":"sha512-mx+ZzbWmrYcJNH6ZclmjDElpzeVeSKp/NwbgSXLshsaeo+u2zXo3aofhalY6MeNHr77aGgLuhTNDylc7q2+zRg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.17.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.6","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.63.0","oxlint":"^1.76.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.21.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.24_1787041009789_0.8846608268642904","host":"s3://npm-registry-packages-npm-production"}},"8.0.25":{"name":"two-stroke","version":"8.0.25","license":"MIT","_id":"two-stroke@8.0.25","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"50fc4dc8e1cc5f82abcd38893e1f9d2bfd69c8eb","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.25.tgz","fileCount":34,"integrity":"sha512-PTq9shqQFU9EBY82MNDG2s0qK7MDqdEBZRORMURejAt9egfwNz0HsQIk2ciGNarsEfeIiPBb3/4ZGz/Yu/cuQw==","signatures":[{"sig":"MEUCIEuC9vwazbDmWrZrVMYANcKaIPED6qDm7KfRuDJ4CYGOAiEA/IevFonopSaGm5nRzUDnr30neuLe6g2TglzzjJXVXTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617341},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.25.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/6e674da10491770e9a2be8b4de3a1f09/two-stroke-8.0.25.tgz","_integrity":"sha512-PTq9shqQFU9EBY82MNDG2s0qK7MDqdEBZRORMURejAt9egfwNz0HsQIk2ciGNarsEfeIiPBb3/4ZGz/Yu/cuQw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.17.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.6","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.63.0","oxlint":"^1.76.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.21.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.25_1787223838945_0.641492990989945","host":"s3://npm-registry-packages-npm-production"}},"8.0.26":{"name":"two-stroke","version":"8.0.26","license":"MIT","_id":"two-stroke@8.0.26","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"ffd0a74229a03120c71bc637481f707418868a6b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.0.26.tgz","fileCount":35,"integrity":"sha512-gWWMQOvututEPL+3yrKYIiWOUhXDRlkVJg55c8rn6blWDr4MihheCPMg5sT9pguAqaXo4CKyKMN03fhJDW4xOA==","signatures":[{"sig":"MEQCIAvzBdRwE/gzAa+ruHk6M0QUCe3fTZFxnLSxuTeIBCXkAiBxKaQzMvLDHuRFd5qYzvHPfRsjHANpEvDACEnrnUDnjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.0.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617562},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.0.26.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/0518cf936deffbf5828c514411667b4e/two-stroke-8.0.26.tgz","_integrity":"sha512-gWWMQOvututEPL+3yrKYIiWOUhXDRlkVJg55c8rn6blWDr4MihheCPMg5sT9pguAqaXo4CKyKMN03fhJDW4xOA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.17.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.6","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.63.0","oxlint":"^1.76.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.21.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.0.26_1787225493268_0.5245794970757662","host":"s3://npm-registry-packages-npm-production"}},"8.1.0":{"name":"two-stroke","version":"8.1.0","license":"MIT","_id":"two-stroke@8.1.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"4f197e0941669be14de2efe4cf893c7f3593fab6","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.1.0.tgz","fileCount":35,"integrity":"sha512-2NdngyTPK2WbJV7Xw4oO2DecgpnQV6DBUjKnnbDgBZ6vI3nt/l8nj5jPKqrTez4c3U2YUR4vmfnvlyqOTP+aLg==","signatures":[{"sig":"MEUCIQDztkxT6IFyjTnQygoZqUdGCIutLihDtuWhxDzDQi7h9QIgYXZkOqGah53DsNvxFHyBeRnMnoJcFE75Sp3+wG3mau8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617776},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.1.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/5758f90915a14ac7c6c0f5b771f2a4f4/two-stroke-8.1.0.tgz","_integrity":"sha512-2NdngyTPK2WbJV7Xw4oO2DecgpnQV6DBUjKnnbDgBZ6vI3nt/l8nj5jPKqrTez4c3U2YUR4vmfnvlyqOTP+aLg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.17.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.6","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.65.0","oxlint":"^1.76.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.1.0_1788280209756_0.5610118254308742","host":"s3://npm-registry-packages-npm-production"}},"8.2.0":{"name":"two-stroke","version":"8.2.0","license":"MIT","_id":"two-stroke@8.2.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"7a091f1366c214e8280cd85d389d68767d2ee903","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.2.0.tgz","fileCount":35,"integrity":"sha512-jQMElV3xwHEW3uLN0mHQb8pbtlK/MIFZYhf9hdpwy69+I3jxmjLMshfVO3LO6ts54xdIGVONzNjORtMFTzQ3YQ==","signatures":[{"sig":"MEQCIBH2YySbHrVU0V2gm6GJ8y/YA6G5BaJ0XNSsmTyp/l+JAiBQcBzBcdbCg4sj0NJeKyjoZLph9WdPxHwpQMD3f01Y3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620519},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.2.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/4164b5db0a710c1707e1062cbfbe3e13/two-stroke-8.2.0.tgz","_integrity":"sha512-jQMElV3xwHEW3uLN0mHQb8pbtlK/MIFZYhf9hdpwy69+I3jxmjLMshfVO3LO6ts54xdIGVONzNjORtMFTzQ3YQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.6","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.65.0","oxlint":"^1.76.0","vitest":"^4.1.10","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.2.0_1788873600750_0.7385989061685994","host":"s3://npm-registry-packages-npm-production"}},"8.2.1":{"name":"two-stroke","version":"8.2.1","license":"MIT","_id":"two-stroke@8.2.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"7d7173ffb410cc15fca965a57e738ebea221b37f","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.2.1.tgz","fileCount":35,"integrity":"sha512-Z9HSpxnI7yswvjfOMau7DaxllEzHSk9f467vwD3GU+CXbG1ZeXd/0T2wpAe27EOAfXcj7nFQJKaCv8xfKZ9WPA==","signatures":[{"sig":"MEUCIQCj86WwEMwdugHlOEXPCLMoiSG4AbL+D5ztWG6Psa8scgIgMpNN8OhmKijLSi/qL85DCKJ+biXol300EJj6uUU777o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620519},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.2.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/67260ecbcc3d7422a94e915f1be3959d/two-stroke-8.2.1.tgz","_integrity":"sha512-Z9HSpxnI7yswvjfOMau7DaxllEzHSk9f467vwD3GU+CXbG1ZeXd/0T2wpAe27EOAfXcj7nFQJKaCv8xfKZ9WPA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.66.0","oxlint":"^1.76.0","vitest":"^5.0.0","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.2.1_1788873679347_0.9363562846026439","host":"s3://npm-registry-packages-npm-production"}},"8.3.0":{"name":"two-stroke","version":"8.3.0","license":"MIT","_id":"two-stroke@8.3.0","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"2beb1b606a594bf7069a1f547dc50ea091eef70b","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.0.tgz","fileCount":35,"integrity":"sha512-J7MXkV7wLRXxcn94QHPXQctoo9WY9V7OikrLN0JFu/Q8uPQZkgwKRg6u9jHGVn3E3+Pc15psOhV4mzbqgO72Dg==","signatures":[{"sig":"MEYCIQCqr1neoOy99UgXFc5iLwtIcqYoB1joqjgiXTn6BnGH/gIhAK+8lvPaSzYvJ2vUt2nG+yV7yUjXmOt/StFvmjEyc0aB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620762},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.0.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/a778c07fe7b2f98be8680bc2986de1da/two-stroke-8.3.0.tgz","_integrity":"sha512-J7MXkV7wLRXxcn94QHPXQctoo9WY9V7OikrLN0JFu/Q8uPQZkgwKRg6u9jHGVn3E3+Pc15psOhV4mzbqgO72Dg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.66.0","oxlint":"^1.76.0","vitest":"^5.0.0","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.0_1788948319017_0.4193758323463026","host":"s3://npm-registry-packages-npm-production"}},"8.3.1":{"name":"two-stroke","version":"8.3.1","license":"MIT","_id":"two-stroke@8.3.1","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"c4ce6366c68ef1dc9acfe81d674140ae51416ee6","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.1.tgz","fileCount":35,"integrity":"sha512-zzKC4uHc49LUl2rCN332On2JN3cDAeC9GaSykHbbrQbAWhIUh5rcO2zZsYv8wVBYF+M7QA3JUt/5nTJ54Xvrew==","signatures":[{"sig":"MEUCIQCxl4Ky84vTHM0zrYYa/9ixAlLRggvkJDBMHwwHIxosywIgP5zilXvReEqa4c8Y7RV4A569F5bNAtL3yo21adMg+JU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620785},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.1.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/b5435de2714bac522a39fe7cdac71e30/two-stroke-8.3.1.tgz","_integrity":"sha512-zzKC4uHc49LUl2rCN332On2JN3cDAeC9GaSykHbbrQbAWhIUh5rcO2zZsYv8wVBYF+M7QA3JUt/5nTJ54Xvrew==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.66.0","oxlint":"^1.76.0","vitest":"^5.0.0","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.1_1788963551363_0.37608075443978994","host":"s3://npm-registry-packages-npm-production"}},"8.3.2":{"name":"two-stroke","version":"8.3.2","license":"MIT","_id":"two-stroke@8.3.2","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"779e2b7bb92bc4faab590d379f3174ca51d1d8c6","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.2.tgz","fileCount":35,"integrity":"sha512-Yz3ys4+e3kcpdI52LJ2jn9baCaAnMY5Ie+UHyYUEvFQqKrPmtBrnYY69letSDx3OMgaVfNt9Jl2QLBfiIIontw==","signatures":[{"sig":"MEUCICR1469y2tyGt+G3nn9pdbUYvL2z86MmbC6Io13ChBT6AiEAyRV1CG72miY63x3q3KbRDREtz8qVvGDSh0y/U3mGIDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVnjOdWk0bJUtNx+HncMrtYl3MZy2BQ/HORzATvl/feAIhAJRInm1fQt5ONITF/uLmqO/6jFsOpVSyuQeLYcyGz/kf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620897},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.2.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/1152da83e368544354cf83b23cedf9e1/two-stroke-8.3.2.tgz","_integrity":"sha512-Yz3ys4+e3kcpdI52LJ2jn9baCaAnMY5Ie+UHyYUEvFQqKrPmtBrnYY69letSDx3OMgaVfNt9Jl2QLBfiIIontw==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.67.0","oxlint":"^1.76.0","vitest":"^5.0.0","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":"^0.58.0","oxlint":"^1.73.0","vitest":">=4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":"^3.6.0","oxlint-tsgolint":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.2_1789494100211_0.1815370536431229","host":"s3://npm-registry-packages-npm-production"}},"8.3.3":{"name":"two-stroke","version":"8.3.3","license":"MIT","_id":"two-stroke@8.3.3","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"a4e3e62f8df078c2a3599570a619188fe5fe1ace","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.3.tgz","fileCount":35,"integrity":"sha512-yUvV7PjpnIpyY3eblsNx+hQmz5fPDvvwDCNxf+yBHtk92yqWtzPpRe+y32deFkqvsFZpar4osTwNNA7ioAJvMA==","signatures":[{"sig":"MEQCICWA9vCeK0LEYnEQUHbOEZR4Rw4daU9dWPeQpI5i9TqpAiAQd0lQiEHxUuvp9O3lGx1nAFWmtfPRwp45F86CE8K8HQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDaE1GT6m5pxL9vYZ+jaQmjNEQi4Ka6RK1ueHVfu8bGdQIhAM5GTKPDWkFklJ/190JC+CXoZ/+VGZSfJyZXZx9GqeCp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620900},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.3.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/ffc57f82993402e2497948a4562d6839/two-stroke-8.3.3.tgz","_integrity":"sha512-yUvV7PjpnIpyY3eblsNx+hQmz5fPDvvwDCNxf+yBHtk92yqWtzPpRe+y32deFkqvsFZpar4osTwNNA7ioAJvMA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.4.3","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.31.0","oxfmt":"^0.67.0","oxlint":"^1.76.0","vitest":"^5.0.0","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":">=0.58.0","oxlint":">=1.73.0","vitest":"^4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":">=3.6.0","oxlint-tsgolint":">=0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.3_1789546131805_0.7790111988690736","host":"s3://npm-registry-packages-npm-production"}},"8.3.4":{"name":"two-stroke","version":"8.3.4","license":"MIT","_id":"two-stroke@8.3.4","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"1363a0a8b6c3f3ff202218b1275dbece3b2166de","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.4.tgz","fileCount":35,"integrity":"sha512-v2ybkZnX7rUSXhINn02FsPiinh5FzhF/flJOc4yBtOmOtFJTohTB0pgaxJLLpjV8Xl1TLyPCXlKyQh+oB6WoQg==","signatures":[{"sig":"MEUCIQCZ9xYdwqQBte7CvYzedLI+rW8diTkp+drd6lCHJUt18QIgXQ4m7PoVI7nVnCcqKOeLcs/8ZSsLaRCfhAevN4+YK/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFWfLqqeO/IwAsqCApShVM+AEFPuKt81Ua2x4uxEQ8/NAiEA/+4YbHyUsqV9CwfQ20oMHINXo6DUJHD99IkL9X4EuoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620901},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.4.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/5aff82db030f39a1a8097fd610d296b8/two-stroke-8.3.4.tgz","_integrity":"sha512-v2ybkZnX7rUSXhINn02FsPiinh5FzhF/flJOc4yBtOmOtFJTohTB0pgaxJLLpjV8Xl1TLyPCXlKyQh+oB6WoQg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.6.4","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.35.1","oxfmt":"^0.67.0","oxlint":"^1.82.0","vitest":"^4.1.11","oxlint-tsgolint":"^7.0.2001","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":">=0.58.0","oxlint":">=1.73.0","vitest":"^4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":">=3.6.0","oxlint-tsgolint":">=0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.4_1789547253998_0.5690031000014335","host":"s3://npm-registry-packages-npm-production"}},"8.3.5":{"name":"two-stroke","version":"8.3.5","license":"MIT","_id":"two-stroke@8.3.5","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"a4e801d7a53643e1f2af8759f350ab91f136f2a8","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.5.tgz","fileCount":35,"integrity":"sha512-3ge3fZT3YvxUV8IG4AK3Dq0NhdWXrVTcu9J/XPjvEvibA9u2n6kyddE6SdDhg888S//PPCZPGTZktx8ljpnURA==","signatures":[{"sig":"MEYCIQDfD96bRg0GXt5O4RY1Qr3B4aOUKnaYkN5d0J/+7ZCmkgIhANpsSjYGqTIBIO+/ABvk/1HjSHWJo90PSQGsgMdtObxe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID/GYEqDXz24tOLKsFgtv42aqqj4ZOepYy+7dZqFru93AiEAq7tQqvRzHSQiQKtgzKjf+AD9yTG/AeVVHS/ZE5CsbUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":673332},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.5.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/4697108f91ee4a11a7d53c98e7965cfb/two-stroke-8.3.5.tgz","_integrity":"sha512-3ge3fZT3YvxUV8IG4AK3Dq0NhdWXrVTcu9J/XPjvEvibA9u2n6kyddE6SdDhg888S//PPCZPGTZktx8ljpnURA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.6.5","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.37.0","oxfmt":"^0.68.0","oxlint":"^1.83.0","vitest":"^4.1.11","oxlint-tsgolint":"^7.0.2002","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":">=0.58.0","oxlint":">=1.73.0","vitest":"^4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":">=3.6.0","oxlint-tsgolint":">=0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.5_1790099952872_0.031113904693670147","host":"s3://npm-registry-packages-npm-production"}},"8.3.6":{"name":"two-stroke","version":"8.3.6","license":"MIT","_id":"two-stroke@8.3.6","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"4e0f1445c11373b46be642fda840c1b60e9b4ab1","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.6.tgz","fileCount":35,"integrity":"sha512-rVoENEr8dDsDFYdGPv1U6Yy5nOzdQ5kpggWqNHuTZV6ExkU37NqUOmOk8kFy5nAcwGNr2X8+QpLILQqDHrbfLg==","signatures":[{"sig":"MEQCICVSiaRkjOETQcoFO0hTLHAUzuJUUp2yN1dBIpRckBpoAiBEx6xZt0RO0i5+qUEssFKuhhC659lWZwzOPDTNytlSlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDvXt0UXpaneiMe+SWlA1llekzrMrHbpaOHNnp89EbbFAIgHk8yewBB9xkOEyDMxqY3ErKq4ii1nt18iWaWCx1yUtA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":674437},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.6.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/ac8ed9811caf3cfeeceb36af795cb85c/two-stroke-8.3.6.tgz","_integrity":"sha512-rVoENEr8dDsDFYdGPv1U6Yy5nOzdQ5kpggWqNHuTZV6ExkU37NqUOmOk8kFy5nAcwGNr2X8+QpLILQqDHrbfLg==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"msw":"^2.15.0","zod":"^4.6.5","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.37.0","oxfmt":"^0.68.0","oxlint":"^1.83.0","vitest":"^4.1.11","oxlint-tsgolint":"^7.0.2002","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":">=0.58.0","oxlint":">=1.73.0","vitest":"^4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":">=3.6.0","oxlint-tsgolint":">=0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.6_1790155841899_0.521086517701826","host":"s3://npm-registry-packages-npm-production"}},"8.3.7":{"name":"two-stroke","version":"8.3.7","license":"MIT","_id":"two-stroke@8.3.7","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"8fb45a261715b37e4f0ed3ae465ad00cc90a0150","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.7.tgz","fileCount":35,"integrity":"sha512-XV751BW+4b7uPdgNdzYyxLoF0U+JWGdoNFpDsE2cPcXYc5S6VG28YEJdYhy55c3NqOPkUJEAIHRfGkYJ9oGBGQ==","signatures":[{"sig":"MEUCIAvV1syQ5QJ4KjVsLMrGKbB3JwUBNilXmNHLwY9F3VIAAiEA+xhEh2Wq7XtlAB73xIzE0RhefRn4A+0XQSnUVJR6no4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC9rMLnvvHCbbCkLXScdMw9/JfZ+zgHQXrD+8xQ8XPFXwIhAMMYpkvXGEEwuUH0hxaVD6ELLaneUakKweFe81gDFvId","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":675777},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.7.tgz","engines":{"node":"^24.9.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/1bc1e749276b0a00cab081f0646c06d3/two-stroke-8.3.7.tgz","_integrity":"sha512-XV751BW+4b7uPdgNdzYyxLoF0U+JWGdoNFpDsE2cPcXYc5S6VG28YEJdYhy55c3NqOPkUJEAIHRfGkYJ9oGBGQ==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"msw":"^2.15.0","zod":"^4.6.5","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.37.0","oxfmt":"^0.70.0","oxlint":"^1.83.0","vitest":"^4.1.11","oxlint-tsgolint":"^7.0.2002","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":">=0.58.0","oxlint":">=1.73.0","vitest":"^4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":">=3.6.0","oxlint-tsgolint":">=0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.7_1790420094825_0.6515027653296543","host":"s3://npm-registry-packages-npm-production"}},"8.3.8":{"name":"two-stroke","version":"8.3.8","license":"MIT","_id":"two-stroke@8.3.8","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"homepage":"https://github.com/change-engine/two-stroke#readme","bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"dist":{"shasum":"bea20e77e8dd561c443794d90837f08118267aae","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.8.tgz","fileCount":38,"integrity":"sha512-gBPVbYaPDd/z2ROnozoyb62yTVZFXWIKrwUwbqCdVOl0K6gV2rCSGSKfLTcPKy7ps9d8PVKZLgfA0i5XUyb3nA==","signatures":[{"sig":"MEUCIQCMhDCkMf/TyNJyQO49+BGnen4Uoo70d1xTNQiP4Acs6QIgYad6Hnx3Ze0aE2fDgRfLQpjTteaBeDNpk/x/vdWKZ5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD4F60RFEODi7iEBCtD3Be8ITtyrVL3C/4uJJfYvy0CAQIgTB0lqAkCjg4cQ3lQlll2J3lGgReIf1wBuwZbqMkukWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":693770},"main":"src/index.ts","type":"module","_from":"file:two-stroke-8.3.8.tgz","engines":{"node":"^24.9.0"},"scripts":{"dev":"node bin/dev.mjs","lint":"node bin/lint.mjs","test":"node bin/test.mjs","format":"node bin/format.mjs","type-check":"node bin/type-check.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"prettier":{"printWidth":100},"_resolved":"/tmp/dfc5bfd581d9a552997a2056ec98aaf9/two-stroke-8.3.8.tgz","_integrity":"sha512-gBPVbYaPDd/z2ROnozoyb62yTVZFXWIKrwUwbqCdVOl0K6gV2rCSGSKfLTcPKy7ps9d8PVKZLgfA0i5XUyb3nA==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"msw":"^2.15.0","zod":"^4.6.5","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.38.0","oxfmt":"^0.70.0","oxlint":"^1.83.0","vitest":"^4.1.11","@types/node":"^26.6.2","oxlint-tsgolint":"^7.0.2003","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":">=0.58.0","oxlint":">=1.73.0","vitest":"^4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":">=3.6.0","oxlint-tsgolint":">=0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/two-stroke_8.3.8_1790591831135_0.32943220035428267","host":"s3://npm-registry-packages-npm-production"}},"8.3.9":{"_id":"two-stroke@8.3.9","bin":{"dev":"bin/dev.mjs","bulk":"bin/bulk.mjs","lint":"bin/lint.mjs","test":"bin/test.mjs","deploy":"bin/deploy.mjs","format":"bin/format.mjs","api-types":"bin/api-types.mjs","type-check":"bin/type-check.mjs"},"bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"dist":{"shasum":"9285ea4dd3930142180425314f962659717863db","tarball":"https://registry.npmjs.org/two-stroke/-/two-stroke-8.3.9.tgz","fileCount":38,"integrity":"sha512-MM0CBe7t0e3eLyqSFhfKIJvsIoMA+IQUdUWmxxpLjBMUFMvc39k4A4Cbxzaw+GSUEhPPPhZso5FqzHWc+Uqd6g==","signatures":[{"sig":"MEQCIF8uu9fJqq0aSutpSPgjXSEdqfIi/fp24j8J3F8ffzWgAiADuTKYrMojQgjkfBjnPGX8/6vo+ecUPmPsJ1iCz41TtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEcpBMqeZH0VwoDHsoZAlkWZHqwq9nrNmCK3xR4M602JAiBbYtsP8BFCbuZtdsb1dTAVoP8gkDNYXPTyqAKY35bn4A=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/two-stroke@8.3.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":694312},"main":"src/index.ts","name":"two-stroke","type":"module","_from":"file:two-stroke-8.3.9.tgz","engines":{"node":"^24.9.0"},"license":"MIT","scripts":{"dev":"node bin/dev.mjs","lint":"node bin/lint.mjs","test":"node bin/test.mjs","format":"node bin/format.mjs","type-check":"node bin/type-check.mjs"},"version":"8.3.9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebae41ae-80c8-4939-8a2c-171b626b06f2"}},"homepage":"https://github.com/change-engine/two-stroke#readme","prettier":{"printWidth":100},"_resolved":"/tmp/c7011383b71259558793d48d9f1a5d48/two-stroke-8.3.9.tgz","_integrity":"sha512-MM0CBe7t0e3eLyqSFhfKIJvsIoMA+IQUdUWmxxpLjBMUFMvc39k4A4Cbxzaw+GSUEhPPPhZso5FqzHWc+Uqd6g==","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"_npmVersion":"11.19.0","description":"Simple Cloudflare Worker framework.","directories":{},"maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"_nodeVersion":"24.21.0","dependencies":{"msw":"^2.15.0","zod":"^4.6.5","jose":"^6.2.12","mime":"^4.1.0","toucan-js":"^4.1.1","typescript":"^6.0.3","openapi-fetch":"^0.17.0","openapi-typescript":"^7.13.0"},"eslintConfig":{"extends":["two-stroke"]},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.38.0","oxfmt":"^0.70.0","oxlint":"^1.83.0","vitest":"^4.1.11","@types/node":"^26.6.2","oxlint-tsgolint":"^7.0.2003","@cloudflare/vitest-pool-workers":"^0.22.0"},"peerDependencies":{"oxfmt":">=0.58.0","oxlint":">=1.73.0","vitest":"^4","wrangler":">=3","miniflare":"^4.20260708.1","@sentry/cli":">=3.6.0","oxlint-tsgolint":">=0.24.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/two-stroke_8.3.9_1790601426433_0.23721670984812815"}}},"time":{"created":"2024-02-13T16:20:22.935Z","modified":"2026-09-28T13:17:06.961Z","1.0.0":"2024-02-13T16:20:23.266Z","1.0.1":"2024-02-13T16:26:33.212Z","1.0.2":"2024-02-23T15:09:16.187Z","1.0.3":"2024-02-23T15:13:06.098Z","1.0.4":"2024-02-23T15:24:59.702Z","1.0.5":"2024-02-23T15:30:29.299Z","1.0.6":"2024-02-28T16:28:08.446Z","1.0.7":"2024-03-11T09:34:09.513Z","1.0.8":"2024-03-21T16:42:53.339Z","1.0.9":"2024-03-21T17:46:14.972Z","1.0.10":"2024-03-28T10:32:02.267Z","1.0.11":"2024-03-28T19:04:31.444Z","1.0.12":"2024-03-28T19:10:57.234Z","1.0.13":"2024-04-15T18:21:26.709Z","1.0.14":"2024-04-17T15:37:34.822Z","1.0.15":"2024-04-22T09:56:34.651Z","1.0.16":"2024-04-22T15:31:10.280Z","1.0.17":"2024-04-26T08:57:03.260Z","1.0.18":"2024-04-30T14:33:28.845Z","1.0.19":"2024-05-01T16:53:26.809Z","1.0.20":"2024-05-01T17:19:28.231Z","1.0.21":"2024-05-01T17:40:49.130Z","1.0.22":"2024-05-10T15:44:09.746Z","1.0.23":"2024-05-10T17:08:56.590Z","1.0.24":"2024-06-17T15:32:06.605Z","1.0.25":"2024-06-17T15:54:51.332Z","1.0.26":"2024-06-19T14:21:08.483Z","1.0.27":"2024-07-09T15:41:41.454Z","1.0.28":"2024-07-09T15:59:18.968Z","1.0.29":"2024-07-10T09:00:26.368Z","1.0.30":"2024-07-23T10:41:24.233Z","1.0.31":"2024-07-24T08:24:42.000Z","1.0.32":"2024-07-24T12:51:10.995Z","1.0.33":"2024-07-25T12:40:26.726Z","1.0.34":"2024-07-25T14:24:56.896Z","1.0.35":"2024-07-25T15:17:49.002Z","1.1.0":"2024-08-08T15:37:34.859Z","1.1.1":"2024-09-02T08:26:04.333Z","1.1.3":"2024-09-09T15:44:18.678Z","1.1.4":"2024-10-03T13:58:21.134Z","1.1.5":"2024-10-14T15:57:17.753Z","1.1.6":"2024-10-14T16:31:34.232Z","1.1.7":"2024-10-14T16:51:40.359Z","2.0.0":"2024-10-24T10:53:51.653Z","3.0.0":"2024-10-25T10:43:45.103Z","4.0.0":"2024-10-28T11:10:37.374Z","4.1.0":"2024-10-29T09:34:48.845Z","4.1.1":"2024-11-05T10:08:37.887Z","4.1.2":"2024-11-05T16:16:25.215Z","4.1.3":"2024-12-03T19:12:17.685Z","4.1.4":"2024-12-16T18:34:16.343Z","4.1.5":"2025-01-17T11:28:12.219Z","4.1.6":"2025-01-20T15:35:50.541Z","4.1.7":"2025-02-19T15:35:15.400Z","4.1.8":"2025-03-03T11:03:37.016Z","4.1.9":"2025-03-03T12:45:36.542Z","4.1.10":"2025-03-03T13:33:13.231Z","4.1.11":"2025-03-14T09:17:15.666Z","4.2.0":"2025-03-31T09:41:18.754Z","4.3.0":"2025-04-01T13:49:45.554Z","4.3.1":"2025-04-02T08:32:12.062Z","4.3.2":"2025-04-16T12:50:23.265Z","4.3.3":"2025-04-23T10:37:24.636Z","4.4.0":"2025-05-01T11:30:01.464Z","4.4.1":"2025-05-21T12:38:33.518Z","4.4.2":"2025-05-21T14:18:31.722Z","5.0.0":"2025-05-23T11:46:58.332Z","5.0.1":"2025-05-23T13:20:15.474Z","5.0.2":"2025-05-23T13:51:10.698Z","5.0.3":"2025-06-02T07:58:48.198Z","5.0.4":"2025-06-02T08:00:53.672Z","5.0.5":"2025-06-03T11:03:19.466Z","5.0.6":"2025-06-05T12:38:29.734Z","5.1.0":"2025-06-09T08:07:06.648Z","5.1.1":"2025-06-11T10:39:57.105Z","5.1.2":"2025-06-18T08:42:53.645Z","5.1.3":"2025-06-18T09:06:00.783Z","5.1.4":"2025-06-18T09:11:32.458Z","5.1.5":"2025-06-18T09:22:46.482Z","5.1.6":"2025-06-19T17:07:57.152Z","5.1.7":"2025-06-23T08:08:59.620Z","5.2.0":"2025-06-24T16:08:29.469Z","5.2.1":"2025-06-27T08:21:45.138Z","5.2.2":"2025-06-27T08:41:24.803Z","5.2.3":"2025-07-02T10:12:15.712Z","5.2.4":"2025-07-10T09:18:40.320Z","5.2.6":"2025-07-14T15:16:05.826Z","5.2.7":"2025-07-23T07:42:54.063Z","5.3.0":"2025-07-25T12:43:37.005Z","5.3.1":"2025-07-25T12:49:19.289Z","5.3.2":"2025-07-25T12:51:37.086Z","5.4.0":"2025-07-28T11:56:58.359Z","5.5.0":"2025-07-29T15:37:25.540Z","5.6.0":"2025-07-30T09:11:36.853Z","5.6.1":"2025-07-30T10:09:43.748Z","5.6.3":"2025-08-05T12:17:12.086Z","5.7.0":"2025-08-18T18:43:59.587Z","5.8.0":"2025-08-19T16:41:04.699Z","5.8.1":"2025-08-19T17:57:09.545Z","6.0.0":"2025-08-20T14:13:41.618Z","6.0.1":"2025-09-08T17:12:58.325Z","6.0.2":"2025-09-23T11:46:28.719Z","6.1.0":"2025-09-30T10:50:04.290Z","6.1.1":"2025-10-08T11:33:57.018Z","6.2.0":"2025-10-09T10:41:14.420Z","6.2.1":"2025-10-23T11:23:26.018Z","6.2.2":"2025-10-23T11:51:41.008Z","6.2.3":"2025-11-03T10:45:41.643Z","6.2.4":"2025-11-25T13:10:21.469Z","6.2.5":"2025-11-25T13:29:03.032Z","6.3.1":"2025-12-03T14:40:40.652Z","6.4.0":"2026-01-27T16:55:11.284Z","6.4.1":"2026-02-11T08:36:41.176Z","6.4.2":"2026-02-11T08:38:30.501Z","6.4.3":"2026-02-11T08:47:11.683Z","6.5.0":"2026-03-16T12:39:41.089Z","6.5.1":"2026-03-16T13:04:10.515Z","6.5.2":"2026-03-16T15:25:01.802Z","6.5.3":"2026-03-16T18:33:20.897Z","7.0.0":"2026-03-18T12:31:37.856Z","7.1.0":"2026-03-30T08:52:50.152Z","7.2.0":"2026-03-31T16:59:57.938Z","7.3.0":"2026-04-01T10:17:03.846Z","7.4.0":"2026-04-08T10:42:17.453Z","7.5.0":"2026-04-13T12:43:04.723Z","7.6.0":"2026-05-05T16:30:42.626Z","7.6.1":"2026-05-14T09:54:43.736Z","7.6.2":"2026-06-08T08:08:54.666Z","7.6.3":"2026-06-09T09:27:07.105Z","7.6.4":"2026-06-09T09:34:48.093Z","7.6.5":"2026-06-09T10:08:42.501Z","7.6.6":"2026-06-11T15:10:06.127Z","7.6.7":"2026-06-29T08:39:01.613Z","7.6.8":"2026-06-29T08:54:23.471Z","7.7.0":"2026-07-06T10:05:57.883Z","7.7.1":"2026-07-06T11:36:29.143Z","7.8.0":"2026-07-09T10:50:17.856Z","7.8.1":"2026-07-09T11:24:14.677Z","7.8.2":"2026-07-09T11:32:33.442Z","7.8.3":"2026-07-09T14:05:27.374Z","7.9.0":"2026-07-10T13:52:15.823Z","7.10.0":"2026-07-15T09:35:12.393Z","7.10.1":"2026-07-15T14:43:40.589Z","7.11.0":"2026-07-15T15:39:12.894Z","8.0.0":"2026-07-17T14:46:44.140Z","8.0.1":"2026-07-17T15:06:18.612Z","8.0.2":"2026-07-17T15:29:12.360Z","8.0.3":"2026-07-17T15:43:20.130Z","8.0.4":"2026-07-20T07:23:51.186Z","8.0.5":"2026-07-20T07:29:31.905Z","8.0.6":"2026-07-20T07:39:33.079Z","8.0.7":"2026-07-20T08:18:44.005Z","8.0.8":"2026-07-20T08:23:05.288Z","8.0.9":"2026-07-20T08:31:12.889Z","8.0.10":"2026-07-20T08:40:53.356Z","8.0.11":"2026-07-20T08:53:07.966Z","8.0.12":"2026-07-20T08:57:15.160Z","8.0.13":"2026-07-20T10:31:55.072Z","8.0.14":"2026-07-21T09:39:37.914Z","8.0.15":"2026-07-21T10:01:13.003Z","8.0.16":"2026-07-21T10:06:57.427Z","8.0.17":"2026-07-21T10:12:06.923Z","8.0.18":"2026-07-21T16:41:02.449Z","8.0.19":"2026-07-21T16:43:34.086Z","7.11.3":"2026-07-21T16:47:40.081Z","8.0.20":"2026-07-30T07:06:29.020Z","7.11.4":"2026-07-30T07:07:03.007Z","8.0.21":"2026-07-31T15:36:44.445Z","8.0.22":"2026-08-04T13:26:40.859Z","7.11.5":"2026-08-17T08:26:16.656Z","8.0.23":"2026-08-17T08:27:58.478Z","7.11.6":"2026-08-17T08:58:06.072Z","8.0.24":"2026-08-18T08:16:49.933Z","8.0.25":"2026-08-20T11:03:59.104Z","8.0.26":"2026-08-20T11:31:33.418Z","8.1.0":"2026-09-01T16:30:09.926Z","8.2.0":"2026-09-08T13:20:00.907Z","8.2.1":"2026-09-08T13:21:19.491Z","8.3.0":"2026-09-09T10:05:19.158Z","8.3.1":"2026-09-09T14:19:11.480Z","8.3.2":"2026-09-15T17:41:40.317Z","8.3.3":"2026-09-16T08:08:51.991Z","8.3.4":"2026-09-16T08:27:34.093Z","8.3.5":"2026-09-22T17:59:13.066Z","8.3.6":"2026-09-23T09:30:41.990Z","8.3.7":"2026-09-26T10:54:54.928Z","8.3.8":"2026-09-28T10:37:11.242Z","8.3.9":"2026-09-28T13:17:06.524Z"},"bugs":{"url":"https://github.com/change-engine/two-stroke/issues"},"license":"MIT","homepage":"https://github.com/change-engine/two-stroke#readme","repository":{"url":"git+https://github.com/change-engine/two-stroke.git","type":"git"},"description":"Simple Cloudflare Worker framework.","maintainers":[{"name":"barnabyshearer","email":"b@zi.is"}],"readme":"# two-stroke\n\nA minimalist framework for Cloudflare Workers with built-in routing, authentication, and validation.\n\n## Installation\n\n```bash\nnpm install two-stroke\n```\n\n## Quick Start\n\n```typescript\nimport { twoStroke } from \"two-stroke\";\nimport { z } from \"zod/v4\";\n\ntype MyEnv = {\n  MY_KV: KVNamespace;\n};\n\nconst app = twoStroke<MyEnv>(\"My API\", \"1.0.0\");\n\napp.get(app.noAuth, \"/hello\", z.object({ message: z.string() }), async () => ({\n  body: { message: \"Hello, World!\" },\n}));\n\nexport default app;\n```\n\nThe `twoStroke` function returns an object that directly satisfies the Cloudflare Workers `ExportedHandler` interface — export it as `default` and it handles `fetch`, `queue`, `scheduled`, and `email` events.\n\n## API Reference\n\n### `twoStroke<T>(title, release, origin?)`\n\nCreates a new application instance.\n\n| Parameter | Type                                 | Description                                                                                                                                                                           |\n| --------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `title`   | `string`                             | API title, used in the generated OpenAPI spec.                                                                                                                                        |\n| `release` | `string`                             | Release version, used for Sentry and OpenAPI.                                                                                                                                         |\n| `origin`  | `(origin: string \\| null) => string` | Optional. Returns the `Access-Control-Allow-Origin` value for a given request origin. If omitted, defaults to `\"*\"`. In staging environments, `localhost` origins are always allowed. |\n\nThe environment type `T` must extend `Env`, which allows values of type `string`, `Queue`, `KVNamespace`, `R2Bucket`, `D1Database`, `Fetcher`, `Hyperdrive`, `DurableObjectNamespace`, `Vectorize`, or `ImagesBinding`.\n\nEvery environment must also include `SENTRY_DSN` and `SENTRY_ENVIRONMENT` string bindings. These are used automatically to initialize Sentry on every request, queue batch, scheduled event, and email.\n\nReturns an object with the following methods:\n\n---\n\n### Route Registration\n\nAll route methods register an HTTP endpoint with authentication, validation, and a handler.\n\n#### `app.get(auth, path, output, handler, params?)`\n\nRegisters a `GET` route.\n\n| Parameter | Type                              | Description                                                                                                  |\n| --------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------ |\n| `auth`    | `(c: { req, env }) => Promise<A>` | Authentication function.                                                                                     |\n| `path`    | `string`                          | URL path pattern (e.g. `\"/users/{userId}\"`).                                                                 |\n| `output`  | `ZodType`                         | Zod schema validating the response body.                                                                     |\n| `handler` | `Handler`                         | Async function handling the request.                                                                         |\n| `params`  | `ZodObject`                       | Optional. Zod object schema for query parameters. When provided, these appear in the generated OpenAPI spec. |\n\n#### `app.post(auth, path, input, output, handler, params?)`\n\nRegisters a `POST` route.\n\n| Parameter | Type                              | Description                                                                                                                                                                                                                                      |\n| --------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `auth`    | `(c: { req, env }) => Promise<A>` | Authentication function.                                                                                                                                                                                                                         |\n| `path`    | `string`                          | URL path pattern.                                                                                                                                                                                                                                |\n| `input`   | `ZodType \\| undefined`            | Zod schema validating the request body. Pass `undefined` for routes that don't require a body, or if you want to handle the body yourself (e.g a stream). Accepts both `application/json` and `application/x-www-form-urlencoded` content types. |\n| `output`  | `ZodType`                         | Zod schema validating the response body.                                                                                                                                                                                                         |\n| `handler` | `Handler`                         | Async function handling the request.                                                                                                                                                                                                             |\n| `params`  | `ZodObject`                       | Optional. Zod object schema for query parameters.                                                                                                                                                                                                |\n\n#### `app.put(auth, path, input, output, handler)`\n\nRegisters a `PUT` route. Same signature as `post` (without the optional `params`).\n\n#### `app.delete(auth, path, output, handler, params?)`\n\nRegisters a `DELETE` route. Same signature as `get`.\n\n---\n\n### Path Parameters\n\nPath parameters use `{name}` syntax and are automatically extracted via regex:\n\n```typescript\napp.get(\n  app.noAuth,\n  \"/users/{userId}/posts/{postId}\",\n  z.object({ title: z.string() }),\n  async ({ params }) => {\n    // params.userId and params.postId are typed as string\n    return { body: { title: \"Hello\" } };\n  },\n);\n```\n\nThe `ExtractParameterNames<P>` utility type extracts parameter names from the path string at compile time, so `params` is fully typed.\n\n---\n\n### Handler Context\n\nEvery route handler receives a single context object:\n\n```typescript\nasync (c: {\n  req: Request;              // Original Cloudflare Request\n  env: T;                    // Environment bindings\n  body: z.infer<I>;          // Parsed & validated request body (undefined for GET/DELETE)\n  params: { ... };           // Extracted path parameters, typed from the path string\n  searchParams: URLSearchParams;  // URL query parameters\n  claims: A;                 // Authentication claims (type depends on auth method)\n  sentry: Toucan;            // Sentry instance for error tracking\n  waitUntil: (p: Promise<void>) => void;  // Extend request lifetime\n}) => Promise<Response>\n```\n\nHandlers must return an object with a `body` and optional `status` and `headers`:\n\n```typescript\n// Success (200 is the default)\nreturn { body: { id: \"123\" } };\n\n// Redirect\nreturn { body: { url: \"/new-location\" }, status: 302, headers: { Location: \"/new-location\" } };\n\n// Error\nreturn { body: { error: \"Not found\" }, status: 404 };\n```\n\nValid status codes for typed success responses are `200` (default), `301`, and `302`. Any other numeric status is allowed when the body is `{ error: string }` or omitted.\n\n---\n\n### Authentication\n\n#### `app.noAuth`\n\nNo authentication. The `claims` value is `null`.\n\n```typescript\napp.get(app.noAuth, \"/public\", outputSchema, handler);\n```\n\n#### `app.pbkdf(key, customHeaderName?)`\n\nPBKDF2 key verification. Validates a `Bearer` or `token` scheme credential against a hashed secret stored in the environment. The `claims` value is `void`.\n\n| Parameter          | Type      | Description                                                                       |\n| ------------------ | --------- | --------------------------------------------------------------------------------- |\n| `key`              | `keyof T` | Environment binding name containing the PBKDF2 hash.                              |\n| `customHeaderName` | `string`  | Optional. Header name to read the credential from. Defaults to `\"Authorization\"`. |\n\n```typescript\napp.get(app.pbkdf(\"API_KEY_HASH\"), \"/protected\", outputSchema, handler);\n\n// With custom header\napp.get(app.pbkdf(\"API_KEY_HASH\", \"X-Api-Key\"), \"/protected\", outputSchema, handler);\n```\n\n#### `app.jwt<J>(key, audience)`\n\nJWT verification using JWK (JSON Web Keys). Fetches the OIDC configuration and JWKS from the issuer URL, then verifies the token. The `claims` value is typed as `J`.\n\n| Parameter  | Type      | Description                                                |\n| ---------- | --------- | ---------------------------------------------------------- |\n| `key`      | `keyof T` | Environment binding name containing the issuer URL.        |\n| `audience` | `keyof T` | Environment binding name containing the expected audience. |\n\n```typescript\ntype Claims = { sub: string; email: string };\n\napp.get(\n  app.jwt<Claims>(\"AUTH_ISSUER\", \"AUTH_AUDIENCE\"),\n  \"/me\",\n  z.object({ email: z.string() }),\n  async ({ claims }) => ({\n    // claims is typed as Claims\n    body: { email: claims.email },\n  }),\n);\n```\n\nAuthentication failures return `401` with a `WWW-Authenticate: Bearer` header.\n\n---\n\n### Queue Handling\n\n#### `app.queueHandler(input, handler)`\n\nRegisters a queue consumer. Only one queue handler can be registered per app.\n\n| Parameter | Type                                                        | Description                                          |\n| --------- | ----------------------------------------------------------- | ---------------------------------------------------- |\n| `input`   | `ZodType`                                                   | Zod schema for validating each message in the batch. |\n| `handler` | `(c: { env, batch, sentry, parsedBatch }) => Promise<void>` | Async function processing the batch.                 |\n\nThe `parsedBatch` is an array of `ZodSafeParseResult` objects, one per message, allowing you to handle valid and invalid messages individually.\n\n```typescript\napp.queueHandler(\n  z.object({ userId: z.string(), action: z.string() }),\n  async ({ batch, parsedBatch, env }) => {\n    for (let i = 0; i < batch.messages.length; i++) {\n      const result = parsedBatch[i];\n      if (result.success) {\n        console.log(result.data.userId, result.data.action);\n        batch.messages[i].ack();\n      } else {\n        batch.messages[i].retry();\n      }\n    }\n  },\n);\n```\n\n### `addToQueue(queue, message, config?)`\n\nStandalone utility for sending messages to a queue with exponential backoff retry.\n\n```typescript\nimport { addToQueue } from \"two-stroke\";\n\nawait addToQueue(env.MY_QUEUE, { userId: \"123\", action: \"sync\" });\n```\n\n| Config Option   | Type     | Default | Description                                                  |\n| --------------- | -------- | ------- | ------------------------------------------------------------ |\n| `retries`       | `number` | `5`     | Maximum number of send attempts.                             |\n| `backoffFactor` | `number` | `2`     | Base for exponential backoff (in seconds: `factor^attempt`). |\n\nAll other properties on `config` are forwarded to the Cloudflare `Queue.send()` options (e.g. `contentType`, `delaySeconds`).\n\n---\n\n### Scheduled Tasks\n\n#### `app.schedule(cron, handler)`\n\nRegisters a cron-triggered handler. Multiple schedules can be registered.\n\n| Parameter | Type                                    | Description                                                |\n| --------- | --------------------------------------- | ---------------------------------------------------------- |\n| `cron`    | `string`                                | Cron expression (must match a trigger in `wrangler.toml`). |\n| `handler` | `(c: { env, sentry }) => Promise<void>` | Async function to run on schedule.                         |\n\n```typescript\napp.schedule(\"0 * * * *\", async ({ env, sentry }) => {\n  // Runs every hour\n});\n\napp.schedule(\"0 0 * * *\", async ({ env }) => {\n  // Runs daily at midnight\n});\n```\n\n---\n\n### Email Handling\n\n#### `app.emailHandler(handler)`\n\nRegisters an email handler for Cloudflare Email Routing. Only one email handler can be registered per app.\n\n| Parameter | Type                                             | Description                          |\n| --------- | ------------------------------------------------ | ------------------------------------ |\n| `handler` | `(c: { env, message, sentry }) => Promise<void>` | Async function processing the email. |\n\nThe `message` is a Cloudflare `ForwardableEmailMessage`.\n\n```typescript\napp.emailHandler(async ({ message, env }) => {\n  console.log(`Email from ${message.from} to ${message.to}`);\n  await message.forward(\"archive@example.com\");\n});\n```\n\n---\n\n### OpenAPI Documentation\n\nA `GET /doc` endpoint is automatically registered and serves an OpenAPI 3.1.0 specification generated from all registered routes. It includes:\n\n- Path and query parameters (from path patterns and `params` schemas)\n- Request body schemas (from `input`)\n- Response body schemas (from `output`)\n- Security requirements (routes using auth other than `noAuth` are marked with bearer auth)\n- Standard `400` and `500` error response schemas\n\n---\n\n### Request & Response Behavior\n\n**Request validation**: `POST` and `PUT` bodies are validated against the `input` schema. Invalid bodies return `400` with an `error` message and Zod `issues` array.\n\n**Response validation**: `200` responses are validated against the `output` schema. Validation failures are logged but the response is still sent (the schema acts as a development-time warning, not a gate).\n\n**CORS**: All responses include `Access-Control-Allow-Origin`. `OPTIONS` requests are handled automatically with a `204` and appropriate headers allowing `GET`, `HEAD`, `PUT`, `POST`, `DELETE` methods and `Authorization`, `Content-Type` headers.\n\n**Security headers**: All responses include `Strict-Transport-Security`, `X-Content-Type-Options: nosniff`, and `Content-Security-Policy: default-src 'self'`. Custom headers from the handler are preserved and take precedence.\n\n**Content types**: Responses default to `application/json`. Handlers can override this via the `headers` return value — when `Content-Type` is not `application/json`, the body is sent as-is without JSON serialization.\n\n**Errors**: Unhandled exceptions return `500` and are reported to Sentry. Authentication failures return `401`.\n\n**404**: Unmatched routes return an empty `404` response.\n\n---\n\n## Testing Utilities\n\nTwo-stroke exports testing utilities from `two-stroke/test` designed for use with Vitest and `@cloudflare/vitest-pool-workers`.\n\n### `setupTests<Paths>()`\n\nInitializes the test environment. Call once per test file. Returns:\n\n| Property                            | Type                                              | Description                                                                                                                                              |\n| ----------------------------------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `url`                               | `URL`                                             | Base URL (`https://example.com/`).                                                                                                                       |\n| `fetchMock`                         | `MockAgent`                                       | Cloudflare's fetch mock (from `cloudflare:test`). Activated with `disableNetConnect()` in `beforeAll`.                                                   |\n| `client`                            | `Client<Paths>`                                   | An `openapi-fetch` client pointed at the worker, typed with the `Paths` generic (typically generated from the OpenAPI spec).                             |\n| `waitForQueue(trigger)`             | `(trigger: () => Promise<void>) => Promise<void>` | Triggers an action and waits until the queue batch finishes processing.                                                                                  |\n| `fakeJWK(issuer, audience, claims)` | `(issuer, audience, claims) => Promise<string>`   | Generates an RS256-signed JWT for testing. Automatically mocks the OIDC discovery and JWKS endpoints on the issuer URL. Returns the signed token string. |\n\n```typescript\nimport { setupTests } from \"two-stroke/test\";\nimport type { paths } from \"./api\";\n\nconst { client, fetchMock, fakeJWK, waitForQueue } = await setupTests<paths>();\n\ndescribe(\"GET /hello\", () => {\n  it(\"returns a greeting\", async () => {\n    const { data, response } = await client.GET(\"/hello\");\n    expect(response.status).toBe(200);\n    expect(data?.message).toBe(\"Hello, World!\");\n  });\n});\n```\n\n### `recordRequest(cb, statusCode, data, responseOptions?)`\n\nCreates a fetch mock reply handler that captures the JSON request body and returns a fixed response. Useful for intercepting outgoing API calls.\n\n```typescript\nlet captured: unknown;\nfetchMock\n  .get(\"https://api.example.com\")\n  .intercept({ method: \"POST\", path: \"/webhook\" })\n  .reply(\n    recordRequest(\n      (data) => {\n        captured = data;\n      },\n      200,\n      { ok: true },\n    ),\n  );\n```\n\n### `recordFormRequest(cb, statusCode, data, responseOptions?)`\n\nSame as `recordRequest` but parses the body as `application/x-www-form-urlencoded`.\n\n### `recordFirehoseRequest(cb, statusCode, data, responseOptions?)`\n\nSame as `recordRequest` but also decodes and parses a base64-encoded `Record.Data` field from the JSON body (for AWS Firehose-style payloads). Calls `cb` twice: once with the raw body and once with the decoded inner payload.\n\n---\n\n## CLI Commands\n\nTwo-stroke provides executable bin scripts. In consuming projects, these are available directly as commands (e.g. `npx dev`, `npx test`). For framework development, run them with `pnpm`:\n\n### `dev`\n\nStarts a local development server via `wrangler dev`.\n\n### `test`\n\nBuilds the worker with `wrangler deploy --dry-run`, generates TypeScript types from the OpenAPI spec into `test/api.d.ts`, then runs `vitest`. Passes all arguments through to vitest (e.g. `test --watch`, `test src/users.test.ts`).\n\n### `lint`\n\nRuns `eslint --cache --max-warnings=0` followed by `prettier --cache --check .`. Fails on any violation.\n\n### `format`\n\nRuns `eslint --cache --fix` followed by `prettier --cache --write .`.\n\n### `type-check`\n\nRuns `wrangler deploy --dry-run --outdir=dist` followed by `tsc --noEmit`.\n\n### `deploy <env> <version>`\n\nDeploys the worker to a Cloudflare environment with Sentry release tracking:\n\n1. Writes the version to `src/release.ts`\n2. Uploads secrets via `wrangler secret bulk`\n3. Creates and finalizes a Sentry release\n4. Runs `wrangler deploy`\n5. Uploads sourcemaps to Sentry\n\n### `api-types <urls>`\n\nGenerates TypeScript type definitions from live OpenAPI endpoints. Accepts a comma-separated list of service URLs. Fetches `/doc` from each, converts to TypeScript via `openapi-typescript`, and writes definition files to `src/__definitions__/`.\n\n### `bulk <entry|rest> <entryfile>`\n\nUploads files from `dist/` to a Cloudflare KV namespace. Used for serving static assets.\n\n- `bulk entry index.html` — uploads only the entry file (with `nocache` cache control)\n- `bulk rest index.html` — uploads everything except the entry file (with immutable cache control)\n\nRequires `NAMESPACE` and `DOMAIN` environment variables.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}