{"_id":"@redpointgames/framework","_rev":"93-603067fe65ce7ed6e06625f2016e6c95","name":"@redpointgames/framework","dist-tags":{"latest":"0.0.77-dev20260611072443"},"versions":{"0.0.76-dev.2026.4.19.8.26.38":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.8.26.38","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.8.26.38","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"6db4fe8f4a8f357303a19abda29ca62d71883681","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.8.26.38.tgz","fileCount":203,"integrity":"sha512-2lopdsDfWHnz5ND1KLFl1KX4G/YoTTcSH5xlfNt6bbYQmJs81L0QfXDHC40UsJdrEJKYyeHtEcbvrB8Z2yYbcw==","signatures":[{"sig":"MEUCIQDr2OnQzYizH6bSROJLOfcYvruf4y7fUYPQugPenDRDmAIgJpdEk6einCBkVZAcBxT5Vaq0mVmqELrx9CPrvqykNxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504945},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev.2026.04.19.08.26.38+6355d5f.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"hach-que","email":"npm@redpoint.games"},"_resolved":"/tmp/b91039f559008ece78cbfa1a97a7d314/redpointgames-framework-0.0.76-dev.2026.04.19.08.26.38+6355d5f.tgz","_integrity":"sha512-2lopdsDfWHnz5ND1KLFl1KX4G/YoTTcSH5xlfNt6bbYQmJs81L0QfXDHC40UsJdrEJKYyeHtEcbvrB8Z2yYbcw==","_npmVersion":"10.8.2","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"0.27.2","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@twofold/server-function-transforms":"npm:@redpointgames/server-function-transforms@0.0.15-dev.2026.04.19.08.26.38+6355d5f","@twofold/client-component-transforms":"npm:@redpointgames/client-component-transforms@0.0.8-dev.2026.04.19.08.26.38+6355d5f"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.4","react-dom":"19.2.4","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.4"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.8.26.38_1776587218231_0.923974970652673","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026.4.19.8.27.1":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.8.27.1","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.8.27.1","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"756ccaa8520f2b6de2fe10bce916c3200ae12df4","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.8.27.1.tgz","fileCount":203,"integrity":"sha512-+Q1cyGDEUJMdUqPbxdHPQ9iAYVUlN+nfiLqprIPdQpQIDAlgaxT3+gtrjSbUo8mtmNmui11ZLewbi12D6jytOg==","signatures":[{"sig":"MEQCIB3nVyw6/eFD8Hp0Q0DQG21ltNmZ+mkkAtoBAWTyyagOAiBsVtAgVNQ/PvRtNU1ba+pzdHEXIMph4ucr0TNLf7WwKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505005},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev.2026.04.19.08.27.01+5d0251d.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"hach-que","email":"npm@redpoint.games"},"_resolved":"/tmp/417ae2d78052819e706a6991b6587020/redpointgames-framework-0.0.76-dev.2026.04.19.08.27.01+5d0251d.tgz","_integrity":"sha512-+Q1cyGDEUJMdUqPbxdHPQ9iAYVUlN+nfiLqprIPdQpQIDAlgaxT3+gtrjSbUo8mtmNmui11ZLewbi12D6jytOg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"10.8.2","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"0.27.2","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@twofold/server-function-transforms":"npm:@redpointgames/server-function-transforms@0.0.15-dev.2026.04.19.08.27.01+5d0251d","@twofold/client-component-transforms":"npm:@redpointgames/client-component-transforms@0.0.8-dev.2026.04.19.08.27.01+5d0251d"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.4","react-dom":"19.2.4","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.4"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.8.27.1_1776587240398_0.716769167221831","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026.4.19.8.41.14":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.8.41.14","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.8.41.14","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"09ae090af3023c76e27389d8747fcbb887c415b5","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.8.41.14.tgz","fileCount":203,"integrity":"sha512-tjuaRMV4aLVCe2YZF6EwdeFlg5k90X1T5NC/azDAUZKfgornPPzQkf2NkU777HBDQfMdJBhXAYrdPza4lGkh3A==","signatures":[{"sig":"MEUCIAQjLaZhIFaM4TT7de32IGhJWudcICs58Ch7bsQLQ4+HAiEA69HTEwDgn9HJ4uAHaKOGo79+Wpk3NV67zdcRIHERrn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev.2026.4.19.8.41.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504927},"type":"module","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"gitHead":"532f8ed022d5d2e3ba0473d322da7e5fbaa14cde","scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","prepack":"cp ../../README.md ./ && pnpm compile","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"catalog:","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@twofold/server-function-transforms":"workspace:*","@twofold/client-component-transforms":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"catalog:","@types/etag":"^1.8.4","@types/node":"catalog:","@types/react":"catalog:","@types/picomatch":"^4.0.2","@types/react-dom":"catalog:","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"catalog:","react-dom":"catalog:","tailwindcss":">=4.0.0","react-server-dom-webpack":"catalog:"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.8.41.14_1776588097845_0.831991959084412","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026.4.19.8.42.5":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.8.42.5","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.8.42.5","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"a39961b1b978de374f95a20b73148be118e23106","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.8.42.5.tgz","fileCount":203,"integrity":"sha512-ujf6j6yJP9Qrni9bwIZc1XmlL96ikfcL1CZIOY2qMp9EGgqpQdNv1TmXeuamx5wUYe8cgoaShZ0JAPWPqjizTA==","signatures":[{"sig":"MEUCIBEfA9qpFDFy7aXpD26JkwwVaaDs3pLHlaCdUctFZeDnAiEA+GH0JrmulHa0mNnFfYEA7gcbpJukwH3jszMrccCJpJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev.2026.4.19.8.42.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504927},"type":"module","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"gitHead":"91826944201550f014c9618be714b6421c4a6b68","scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","prepack":"cp ../../README.md ./ && pnpm compile","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"catalog:","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@twofold/server-function-transforms":"workspace:*","@twofold/client-component-transforms":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"catalog:","@types/etag":"^1.8.4","@types/node":"catalog:","@types/react":"catalog:","@types/picomatch":"^4.0.2","@types/react-dom":"catalog:","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"catalog:","react-dom":"catalog:","tailwindcss":">=4.0.0","react-server-dom-webpack":"catalog:"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.8.42.5_1776588147791_0.33056166032925094","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026.4.19.9.17.46":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.9.17.46","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.9.17.46","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"022685a46e627856e8a97948c28d5fd2a9587c91","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.9.17.46.tgz","fileCount":203,"integrity":"sha512-BaaTzsMdsAAAWgrr3FP5iq8M5ClFZHxL+F33PTAaxtcB0soEb9rjtPvUL50a66CZybzEYDn5VM0WFdlJryoCXQ==","signatures":[{"sig":"MEQCIEKBUxeCBq91NPoztKKLN6b2vLMYVdoldZVKrxi6ITXnAiBI0cW1LWOu/AEE/Vih3SeyK6PTXQKP4U+rfz2BlrqIqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev.2026.4.19.9.17.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504927},"type":"module","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"gitHead":"ac2faaae2f83c4481499d4b1c5045fa7abfb9ec8","scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","prepack":"cp ../../README.md ./ && pnpm compile","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"catalog:","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@twofold/server-function-transforms":"workspace:*","@twofold/client-component-transforms":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"catalog:","@types/etag":"^1.8.4","@types/node":"catalog:","@types/react":"catalog:","@types/picomatch":"^4.0.2","@types/react-dom":"catalog:","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"catalog:","react-dom":"catalog:","tailwindcss":">=4.0.0","react-server-dom-webpack":"catalog:"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.9.17.46_1776590289834_0.876754258837569","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026.4.19.9.18.42":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.9.18.42","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.9.18.42","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"75822bce4ffd510b6f9b7bc846e6d26573fc0300","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.9.18.42.tgz","fileCount":203,"integrity":"sha512-PqvnkmHdMu4RlPyMohTFLuLWWGMboD8Binsi8+2OFjRpQjNEb3E/6q19bLsQsa9uNYs6R0hzVsNl8LQ9gFHyWA==","signatures":[{"sig":"MEUCIG2ct7le1pfoBRxxN/3FetMQBHbMYDFbSQYVJtxuVK6sAiEAve0qMsyuLJ5pbBgpVYmOdYhOLY5yU0yhBZ8OKTKp9d4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev.2026.4.19.9.18.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":505005},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev.2026.04.19.09.18.42+3118eff.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/1312ea2a2da393a2a2a55d2a285dd270/redpointgames-framework-0.0.76-dev.2026.04.19.09.18.42+3118eff.tgz","_integrity":"sha512-PqvnkmHdMu4RlPyMohTFLuLWWGMboD8Binsi8+2OFjRpQjNEb3E/6q19bLsQsa9uNYs6R0hzVsNl8LQ9gFHyWA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"0.27.2","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@twofold/server-function-transforms":"npm:@redpointgames/server-function-transforms@0.0.15-dev.2026.04.19.09.18.42+3118eff","@twofold/client-component-transforms":"npm:@redpointgames/client-component-transforms@0.0.8-dev.2026.04.19.09.18.42+3118eff"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.4","react-dom":"19.2.4","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.4"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.9.18.42_1776590341607_0.267194438055842","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026.4.19.9.49.34":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.9.49.34","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.9.49.34","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"5109fc782cdc5d1d60a3a5bca307ad403e482888","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.9.49.34.tgz","fileCount":203,"integrity":"sha512-ExHmOz8vmawf4tKItpOxJaHsaStAtNrn8ChpZYz1E/lCaCVGUwDG1D8d9CnfOT9hV4hsjVIsoa6EcuZKjOwyZg==","signatures":[{"sig":"MEUCIH78drZZ3ikWAFSXGIIPHwusiAdpQ6Tu9o6F2vrjuAjDAiEAujiGPgAFTgCBiwpEKoG2iMlOM8t7rhjtNxgmcWDBXJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev.2026.4.19.9.49.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":505005},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev.2026.04.19.09.49.34+ec58f19.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/5445ec8c2ad1d64badc57ceace274a49/redpointgames-framework-0.0.76-dev.2026.04.19.09.49.34+ec58f19.tgz","_integrity":"sha512-ExHmOz8vmawf4tKItpOxJaHsaStAtNrn8ChpZYz1E/lCaCVGUwDG1D8d9CnfOT9hV4hsjVIsoa6EcuZKjOwyZg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"0.27.2","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@twofold/server-function-transforms":"npm:@redpointgames/server-function-transforms@0.0.15-dev.2026.04.19.09.49.34+ec58f19","@twofold/client-component-transforms":"npm:@redpointgames/client-component-transforms@0.0.8-dev.2026.04.19.09.49.34+ec58f19"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.9.49.34_1776592194369_0.8041931851299702","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026.4.19.10.17.9":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.10.17.9","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.10.17.9","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"5b8535b53e9c9d238b4d5846760abe4bcd04800e","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.10.17.9.tgz","fileCount":203,"integrity":"sha512-LGlXrpOs5bjkghnbWiD+gyr7pCXL5D6uI2foLjKsLtufeFXGGyi1sYl6Ze3hXHDbNUV+z/GHhUeg5oM4EGkafg==","signatures":[{"sig":"MEUCIQDTWgA1WNE6weTVdk2swD92OWdLv1oqpk0irRcVe8zn5gIgdDv75NxX2sq4xhDHEIaG9gRoPAZSqSjgNKF1wW+ysj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev.2026.4.19.10.17.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504996},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev.2026.04.19.10.17.09+1d6a1a3.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/6d70aa1eb1781fcdbc1b820d767852fb/redpointgames-framework-0.0.76-dev.2026.04.19.10.17.09+1d6a1a3.tgz","_integrity":"sha512-LGlXrpOs5bjkghnbWiD+gyr7pCXL5D6uI2foLjKsLtufeFXGGyi1sYl6Ze3hXHDbNUV+z/GHhUeg5oM4EGkafg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"0.27.2","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev.2026.04.19.10.17.09+1d6a1a3","@redpointgames/client-component-transforms":"0.0.8-dev.2026.04.19.10.17.09+1d6a1a3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.10.17.9_1776593871032_0.6749001764460112","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026.4.19.10.25.11":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026.4.19.10.25.11","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026.4.19.10.25.11","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"963ff9969e29c9ca15a4da6c77f07a436f9ea25a","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026.4.19.10.25.11.tgz","fileCount":203,"integrity":"sha512-s1k6LK60SP95OXdD74EaScpUivICLDfoNgr1MUznikHqLvtTzdCN693/YbzoLoknFgXEIgoRteMh7blTVyzcMQ==","signatures":[{"sig":"MEQCIEAcQG8Q3eWDY3BuYlnO6y9KcUp73BolAOYpgLu6XF+vAiA+6hLGtR56eeLuimAXfIqPJ2cls1OJj6EOf5mJR/3b6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev.2026.4.19.10.25.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504972},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev.2026.04.19.10.25.11.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/5764ebd245d7490e3036d9a6b31c281b/redpointgames-framework-0.0.76-dev.2026.04.19.10.25.11.tgz","_integrity":"sha512-s1k6LK60SP95OXdD74EaScpUivICLDfoNgr1MUznikHqLvtTzdCN693/YbzoLoknFgXEIgoRteMh7blTVyzcMQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"0.27.2","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev.2026.04.19.10.25.11","@redpointgames/client-component-transforms":"0.0.8-dev.2026.04.19.10.25.11"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026.4.19.10.25.11_1776594352046_0.7902728560398271","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev.2026-04-19-10-27-46":{"name":"@redpointgames/framework","version":"0.0.76-dev.2026-04-19-10-27-46","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev.2026-04-19-10-27-46","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"6111f751d204e07e6b77c9225153cf1c990c4891","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev.2026-04-19-10-27-46.tgz","fileCount":203,"integrity":"sha512-uR4AjV/mLCv7+t1RiuzJIrbZRdWhgQ5RZC8xc53sCTTuU2/SM/zX2jCChc8J69kvxJg0MoozNjry2f6MOThWHQ==","signatures":[{"sig":"MEUCIFc7uOyute+KeRP9vApSl0c1KBhc2YMzU1mi0WzYc/2jAiEAigjnskFzHcZ7EGoBqP3UJKyzX9FKdTuWRgdaa6uQlpM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev.2026-04-19-10-27-46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504972},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev.2026-04-19-10-27-46.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/4181652d770246eb85b6ea21461ce8e9/redpointgames-framework-0.0.76-dev.2026-04-19-10-27-46.tgz","_integrity":"sha512-uR4AjV/mLCv7+t1RiuzJIrbZRdWhgQ5RZC8xc53sCTTuU2/SM/zX2jCChc8J69kvxJg0MoozNjry2f6MOThWHQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"0.27.2","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev.2026-04-19-10-27-46","@redpointgames/client-component-transforms":"0.0.8-dev.2026-04-19-10-27-46"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev.2026-04-19-10-27-46_1776594502228_0.07897528120735031","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260419102911":{"name":"@redpointgames/framework","version":"0.0.76-dev20260419102911","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260419102911","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"a3b6edb696bb71a409830ee64d691b825136433e","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260419102911.tgz","fileCount":203,"integrity":"sha512-1jqYZm6RL/YRMmUMOwVeNIoNL9s3ckMyTum592Td8sXrnEvYmHEz//G5NTO5143a0ZSMjzptkZkWh0jOzIWcJg==","signatures":[{"sig":"MEYCIQCiAfhfV/kSt5gkG7Jw8GYtwvYt96lel0lgY/XgJvrkPwIhAPKoxC/w+JRm5+3rpmpWR/+nnbWJozZPdFv9t2O+nYoe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260419102911","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504954},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260419102911.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/5085e8084716df7420ca44fafb8ad8fc/redpointgames-framework-0.0.76-dev20260419102911.tgz","_integrity":"sha512-1jqYZm6RL/YRMmUMOwVeNIoNL9s3ckMyTum592Td8sXrnEvYmHEz//G5NTO5143a0ZSMjzptkZkWh0jOzIWcJg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","esbuild":"0.27.2","chokidar":"^4.0.3","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260419102911","@redpointgames/client-component-transforms":"0.0.8-dev20260419102911"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260419102911_1776594592000_0.15922602703472188","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260420021406":{"name":"@redpointgames/framework","version":"0.0.76-dev20260420021406","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260420021406","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"6c92047f754df2b8f71d0a076c51382190157aa5","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260420021406.tgz","fileCount":203,"integrity":"sha512-lOGh76Rj0PLMx+61ibTi6DGr2WbWyhP6zLzm8OJNg8ENd5gvgmBYqbC31Yq9B1s1IULHzc7KSk/JEZTmhaCS4w==","signatures":[{"sig":"MEUCIAsGVJPy02u9WT2sQOPcUQyahPzt9oyCGAv9NXOld88AAiEAh9OS9ZsQyBgVzp1z6L06OZZZahn4aG0aYJs0G/Xg/pk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260420021406","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":508597},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260420021406.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/39d5ed8f5bcc1805da1a312ff4b4ff25/redpointgames-framework-0.0.76-dev20260420021406.tgz","_integrity":"sha512-lOGh76Rj0PLMx+61ibTi6DGr2WbWyhP6zLzm8OJNg8ENd5gvgmBYqbC31Yq9B1s1IULHzc7KSk/JEZTmhaCS4w==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.27.2","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260420021406","@redpointgames/client-component-transforms":"0.0.8-dev20260420021406"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260420021406_1776651288942_0.2797688843259536","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260420032229":{"name":"@redpointgames/framework","version":"0.0.76-dev20260420032229","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260420032229","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"692f47cd772f446173c6c7ac005609be4e125619","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260420032229.tgz","fileCount":204,"integrity":"sha512-MCZU1SYV7d5mkC3de7B6blh9btm7bLx6+Ja526cUZ0Aktde78ufzaqPXCrOlmhKSM2+JTLciMpxDu9gK2epU0A==","signatures":[{"sig":"MEUCIF32LSNVyWhq2xgwSqdCXlV1RQAtynFX3WlRgX1HfZJbAiEAgUssQj/GmKSnQlWnF0Jt/7i0B3WAKAwuXRRp023H9BQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260420032229","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":509370},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260420032229.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/6ba7eb488dd50b3757976832a6732934/redpointgames-framework-0.0.76-dev20260420032229.tgz","_integrity":"sha512-MCZU1SYV7d5mkC3de7B6blh9btm7bLx6+Ja526cUZ0Aktde78ufzaqPXCrOlmhKSM2+JTLciMpxDu9gK2epU0A==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.27.2","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260420032229","@redpointgames/client-component-transforms":"0.0.8-dev20260420032229"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260420032229_1776655392480_0.3031925796180561","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260420051511":{"name":"@redpointgames/framework","version":"0.0.76-dev20260420051511","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260420051511","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"75723d698ff39f80d91f6092c193329cce863f59","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260420051511.tgz","fileCount":204,"integrity":"sha512-i7M5NWOipyFR/xZ7OZHBpgdaVrf36KtC0zxeoolSiaOc/UWAdd5/b3jauwPmXOKX3HT3mALtal8p5QGctjCGCA==","signatures":[{"sig":"MEUCIQCCGmC0OFl4qyK64eNAVechRptWXbl3FsYSxafFt+pRcwIgMZAKDYSvtOTyWJjagY4jG1pdYNn1nK2L4tLaB6xa3rY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260420051511","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":509427},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260420051511.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/e2aefd40e8959bdc32c625125f58dc25/redpointgames-framework-0.0.76-dev20260420051511.tgz","_integrity":"sha512-i7M5NWOipyFR/xZ7OZHBpgdaVrf36KtC0zxeoolSiaOc/UWAdd5/b3jauwPmXOKX3HT3mALtal8p5QGctjCGCA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.27.2","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260420051511","@redpointgames/client-component-transforms":"0.0.8-dev20260420051511"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260420051511_1776662154955_0.36106533101711835","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260420083520":{"name":"@redpointgames/framework","version":"0.0.76-dev20260420083520","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260420083520","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"97e0dd5f203c4b3683616f9f7fb559226bd6104f","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260420083520.tgz","fileCount":204,"integrity":"sha512-288zME0m5L6MfBxfLr4sfhkihONhm9cbGa1vIQqfLDSlx2wAHsZ44C3iaKuu0i8C0OLd2LwW1Jh97aBQHGg/qQ==","signatures":[{"sig":"MEUCIQDWRb27rQeUEwvfmNhY+U+TBwC/M1c+vhYnUZ1vTeARAAIgBKr8OoOCuittdXKAFW2/mqz0zSRWs7yTu3/u9KuhBWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260420083520","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512519},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260420083520.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/36713240df95d1de696587d8501550b6/redpointgames-framework-0.0.76-dev20260420083520.tgz","_integrity":"sha512-288zME0m5L6MfBxfLr4sfhkihONhm9cbGa1vIQqfLDSlx2wAHsZ44C3iaKuu0i8C0OLd2LwW1Jh97aBQHGg/qQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.27.2","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260420083520","@redpointgames/client-component-transforms":"0.0.8-dev20260420083520"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260420083520_1776674160136_0.9900463544027247","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260420085921":{"name":"@redpointgames/framework","version":"0.0.76-dev20260420085921","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260420085921","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"a1277d89f73eb864edaf376d37c628bde0a8e811","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260420085921.tgz","fileCount":204,"integrity":"sha512-hKGs5HEmyDz7IeJonZKOeF9ltqQjup10SCVbObBaDpLhbVZLpeCkeb8k/VRMxaTap/QXeFsTY8ZaOegYCsdasQ==","signatures":[{"sig":"MEUCIAzQ3cLavqr6iaRJTsNkiGBLNOdYc3jWPCu4WtQt9+hRAiEAxdYUAEW3mThaHzkuk1ScMxql7C1EZY7mhH+HqRUd8co=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260420085921","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512573},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260420085921.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/ebc5ccb464175bb894e9e2669162aa9a/redpointgames-framework-0.0.76-dev20260420085921.tgz","_integrity":"sha512-hKGs5HEmyDz7IeJonZKOeF9ltqQjup10SCVbObBaDpLhbVZLpeCkeb8k/VRMxaTap/QXeFsTY8ZaOegYCsdasQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.27.2","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260420085921","@redpointgames/client-component-transforms":"0.0.8-dev20260420085921"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260420085921_1776675601381_0.465902592296078","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260420120005":{"name":"@redpointgames/framework","version":"0.0.76-dev20260420120005","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260420120005","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"fe646d9d0d5a86584e49811f19aa5fab7d4f56c2","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260420120005.tgz","fileCount":204,"integrity":"sha512-0DV5tNvac5k01B4XAYtM2g+PP31m77g7UW3qENML1WGzzBxCMqYrfkmubzV8t1DfX4Wx/fd+cLiiZlRdy+Poyg==","signatures":[{"sig":"MEYCIQDOYQDv/S2nhwvrcnZIxNW0mnhgqbqR2Z2DwKHR8SNOvQIhAPYslifmJZr1VhcjQwvfGvMgFxQTZoNblsuhiQLHkv5W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260420120005","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512985},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260420120005.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/9c6e8a978c588cc27cdc19f1e80dc94c/redpointgames-framework-0.0.76-dev20260420120005.tgz","_integrity":"sha512-0DV5tNvac5k01B4XAYtM2g+PP31m77g7UW3qENML1WGzzBxCMqYrfkmubzV8t1DfX4Wx/fd+cLiiZlRdy+Poyg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.27.2","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260420120005","@redpointgames/client-component-transforms":"0.0.8-dev20260420120005"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260420120005_1776686447388_0.05563366311317264","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260421165427":{"name":"@redpointgames/framework","version":"0.0.76-dev20260421165427","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260421165427","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"5f0ed690258e807d4a9aa221486b99fc195abeec","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260421165427.tgz","fileCount":206,"integrity":"sha512-abwBQf1iyFLRYwy/Kw0A/Z5gznAklZMu+yW2UfQbyd9ayN2yPpzaI25beidkIXQubYWmncPeCFGnC8GELcDvNA==","signatures":[{"sig":"MEQCIHl8/Yl/LEhVums8vulA2kkJ7Hk0ArKeeC83ohihRUh8AiAXwCTXWWZSjcSgN/RP5CBSRyPzv+DL1h+X+pUKoTCxYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260421165427","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527081},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260421165427.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/2dd463271d61aeccc0f17b96e3a297d6/redpointgames-framework-0.0.76-dev20260421165427.tgz","_integrity":"sha512-abwBQf1iyFLRYwy/Kw0A/Z5gznAklZMu+yW2UfQbyd9ayN2yPpzaI25beidkIXQubYWmncPeCFGnC8GELcDvNA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.12.1","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260421165427","@redpointgames/client-component-transforms":"0.0.8-dev20260421165427"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260421165427_1776790514202_0.675689685289306","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260421170939":{"name":"@redpointgames/framework","version":"0.0.76-dev20260421170939","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260421170939","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"0ad03676c6f114b631a6e00049b1252fbf539669","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260421170939.tgz","fileCount":206,"integrity":"sha512-Oaho804+Z6xg9eRVFyTfKq1w0t1LAU38BDPflug5G5nExCi1Ds0Cs/Hcnzk+zy9LZhxAESmbDZo4Hoy5wAoaUw==","signatures":[{"sig":"MEUCIQDTTQIYGieCkaWcWUKuBDdWx6s2OIkvOxUqZuGEMwXwbQIgQ38NYxZgg5LezvRPhBluTgVjiHvI43Cm7hqEiuHK6q4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260421170939","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527110},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260421170939.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/2614ef9388145af67fd9c69e2dc1b280/redpointgames-framework-0.0.76-dev20260421170939.tgz","_integrity":"sha512-Oaho804+Z6xg9eRVFyTfKq1w0t1LAU38BDPflug5G5nExCi1Ds0Cs/Hcnzk+zy9LZhxAESmbDZo4Hoy5wAoaUw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260421170939","@redpointgames/client-component-transforms":"0.0.8-dev20260421170939"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260421170939_1776791422841_0.28765184498504026","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260421171525":{"name":"@redpointgames/framework","version":"0.0.76-dev20260421171525","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260421171525","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"fb57e426b0f5ab5f73ff4a0dc25d93bd034d7851","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260421171525.tgz","fileCount":206,"integrity":"sha512-OOromnmzui2jHPFSA7g6dUo+L9fzOEH0lPv94df6IrL/Y8IEn8uZiMijiom25ufj/UAdeVw3JrhiqXX4bosprg==","signatures":[{"sig":"MEUCIHPhgCP/kYnE9h524AbAuxT4jbxVOFniSAtId5CSttn9AiEArvg6hEkEfiQv7y2cjKzSUlIo5T1f00sYHOilx9wLRX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260421171525","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527218},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260421171525.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/eef8115e26af4885ecad65a94f809bab/redpointgames-framework-0.0.76-dev20260421171525.tgz","_integrity":"sha512-OOromnmzui2jHPFSA7g6dUo+L9fzOEH0lPv94df6IrL/Y8IEn8uZiMijiom25ufj/UAdeVw3JrhiqXX4bosprg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260421171525","@redpointgames/client-component-transforms":"0.0.8-dev20260421171525"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260421171525_1776791772156_0.7859319159750229","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422033430":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422033430","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422033430","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"6632cd1f731ae86777d7e0c89febfa56d7159743","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422033430.tgz","fileCount":206,"integrity":"sha512-N+OH7FEGP3tiyynFTII3eo2HCcAm0obLK4ByKKNiCRwc8uSjfzbD7gkPOV2+5CEDGgVb7w8FIqEC9l+CdrRcaw==","signatures":[{"sig":"MEYCIQDjtPK7GP9/FMEn1QIcy0sesyH5yawqw3Glm/VsqZiwOwIhAJp+VZYcE2JfC0O9QH7VHmdohlmuJbVvS41aTia5wXWI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422033430","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527218},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422033430.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/aa241cd9c2d883ad0f313b99636ceeba/redpointgames-framework-0.0.76-dev20260422033430.tgz","_integrity":"sha512-N+OH7FEGP3tiyynFTII3eo2HCcAm0obLK4ByKKNiCRwc8uSjfzbD7gkPOV2+5CEDGgVb7w8FIqEC9l+CdrRcaw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422033430","@redpointgames/client-component-transforms":"0.0.8-dev20260422033430"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422033430_1776828915664_0.6280689392075831","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422033959":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422033959","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422033959","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"798578469ca03e5f2b6d9fcfc7b5cedd2d0eeb9c","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422033959.tgz","fileCount":206,"integrity":"sha512-pq7MBdc9+rkpifPsNxLyx7A0VCJTBHB5fCMoVc9qaAjPbYmRhaEZY/TL5Fo4c1OojOtUT8RNwwvO1KfG8M3/SA==","signatures":[{"sig":"MEYCIQDIg5B92l/vBSkOgWlPFGJHfDLWZAGFZjIGGO2nycULDAIhAOqO+ioGZ9QWS2dhX0kw4MalHIYFV1eKEycHLFFxrxTX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422033959","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527216},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422033959.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/4413b95c40a710d882350692d6496dcf/redpointgames-framework-0.0.76-dev20260422033959.tgz","_integrity":"sha512-pq7MBdc9+rkpifPsNxLyx7A0VCJTBHB5fCMoVc9qaAjPbYmRhaEZY/TL5Fo4c1OojOtUT8RNwwvO1KfG8M3/SA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-rc.16","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422033959","@redpointgames/client-component-transforms":"0.0.8-dev20260422033959"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422033959_1776829241461_0.15747405426085792","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422034002":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422034002","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422034002","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"c7a9740728d47dadf5b931ff5c6a5ae63c5196bf","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422034002.tgz","fileCount":206,"integrity":"sha512-0qHbMkCEAwV+/qpfJl33G4W5oP4VL8Lkxf/1wgbIW1kI/Oogb9AC53MGCU5UaadDz1V7Sb7bgfmZ9QNTsB76Vg==","signatures":[{"sig":"MEYCIQCyYnCBirBBsWTcbySlcgyZk/U6r9qDYeVx3Od5KQNOVAIhAKoJQaJTfQzoX2TPxc1QKTKZqmt0UhcTnreVQaZrXI3V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422034002","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527216},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422034002.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/c29aba2d94d911b662d3ca1102c82d4b/redpointgames-framework-0.0.76-dev20260422034002.tgz","_integrity":"sha512-0qHbMkCEAwV+/qpfJl33G4W5oP4VL8Lkxf/1wgbIW1kI/Oogb9AC53MGCU5UaadDz1V7Sb7bgfmZ9QNTsB76Vg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.11","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-rc.16","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.1.14","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422034002","@redpointgames/client-component-transforms":"0.0.8-dev20260422034002"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422034002_1776829243976_0.30620558188089264","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422035500":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422035500","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422035500","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"7be657729a2beec333e4a2d1de6e69f32ae05b91","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422035500.tgz","fileCount":206,"integrity":"sha512-MIFJJjz6KAWP5NnvZylN+Y6/TrSLby20+BCExkVTBEfz9DQiZENaaq51Z8S4/3EM1b7MQs0QpRYlmUTTbBtBVg==","signatures":[{"sig":"MEUCIQDzfmWBUoYo5LkH3JBdnej0B1tk8i5p2m1/lZqbzXW4KwIgAe12c8qKdKj0/otz80odHMkrZFkostRefjytqn5INPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422035500","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527214},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422035500.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/322a7d39ec8cdb8068bca3e031e0b9a1/redpointgames-framework-0.0.76-dev20260422035500.tgz","_integrity":"sha512-MIFJJjz6KAWP5NnvZylN+Y6/TrSLby20+BCExkVTBEfz9DQiZENaaq51Z8S4/3EM1b7MQs0QpRYlmUTTbBtBVg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-rc.16","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422035500","@redpointgames/client-component-transforms":"0.0.8-dev20260422035500"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422035500_1776830137882_0.8593663571708308","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422040724":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422040724","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422040724","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"d3051ce0629feac98674bffe0f75173f205c6dcf","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422040724.tgz","fileCount":206,"integrity":"sha512-EnGSxgr5aFxq6dSK6Zoou4seGi3rbMyj5EFgMl4Vbx9cQ9Fj8ftID6Xb/wGEN/0YBQNWVhlWG6QZ8FfLaKFJJw==","signatures":[{"sig":"MEQCIEhlfmlan6ZrwSD4MV3txAiKDfNQZfMVi3Qbvc5NgA/9AiBPqus3BwuBgv0lYVT9KQobLIVlHwQ9J9Y3K20GSKGIZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422040724","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527214},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422040724.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/bafddd924c0f42fa78bc829225883992/redpointgames-framework-0.0.76-dev20260422040724.tgz","_integrity":"sha512-EnGSxgr5aFxq6dSK6Zoou4seGi3rbMyj5EFgMl4Vbx9cQ9Fj8ftID6Xb/wGEN/0YBQNWVhlWG6QZ8FfLaKFJJw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.12.1","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-rc.16","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422040724","@redpointgames/client-component-transforms":"0.0.8-dev20260422040724"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422040724_1776830884766_0.34279017965794645","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422043556":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422043556","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422043556","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"96d5d521b00b41e070cc92d933f5eafd47fa0b9b","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422043556.tgz","fileCount":206,"integrity":"sha512-llLnTQQCphdKInQCSc6o/m9/zytEipXNvT8gP4TejkEElly0JMCEd7b35mNDk6bE2pqKf48IiNo5vG5M9llmrg==","signatures":[{"sig":"MEYCIQC4vIg5nFieD6Ip+9KUVErkau1r7GWtCVFwlvougVxpiQIhALTOOv46IfFGfaLeqxLvQSAyOoV0isTdHNTEPxiSwpVc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422043556","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527209},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422043556.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/3d8af167e5ebc3743f8794aaa55cc470/redpointgames-framework-0.0.76-dev20260422043556.tgz","_integrity":"sha512-llLnTQQCphdKInQCSc6o/m9/zytEipXNvT8gP4TejkEElly0JMCEd7b35mNDk6bE2pqKf48IiNo5vG5M9llmrg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-rc.16","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422043556","@redpointgames/client-component-transforms":"0.0.8-dev20260422043556"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422043556_1776832602316_0.794474378642245","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422044006":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422044006","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422044006","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"d24170899dcb47d1043682ed7e5d8f2a1a6c0a35","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422044006.tgz","fileCount":206,"integrity":"sha512-/uDpVKGzzldcTyrfHqB6m0OUjxgehi2HJoCrSzK69w6+Io9DT3T/dsz7Z9sFsYe0YmJs1wsjoARpjQ9jnrjLWQ==","signatures":[{"sig":"MEUCIQCYGIT8UMmJusjSkwfLDDavlhnwMnbRsVc1BzIXonmxVQIgXN7Lx2ExAXK7xPtH47Nr9l18Uy/2hT/HygOaIRt0erA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422044006","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527508},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422044006.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/69e1c82b22ef1dd683d3a74c59ef6ed5/redpointgames-framework-0.0.76-dev20260422044006.tgz","_integrity":"sha512-/uDpVKGzzldcTyrfHqB6m0OUjxgehi2HJoCrSzK69w6+Io9DT3T/dsz7Z9sFsYe0YmJs1wsjoARpjQ9jnrjLWQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-rc.16","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422044006","@redpointgames/client-component-transforms":"0.0.8-dev20260422044006"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422044006_1776832849114_0.9180256054330096","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422044517":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422044517","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422044517","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"fb4c0f6a65aab9075ee534ce450aabdf8ad7b35b","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422044517.tgz","fileCount":206,"integrity":"sha512-GEO6zdjQxhwViV18EXTMRR+998yjk/XuD8815NJBvh/wNMrfpkCE8iC2LiNQOVhS11DcgER7IPjaMfKDT2gNHA==","signatures":[{"sig":"MEUCIENXVvLRFyoUcnLR2WQSES1PCLYB5AgvOmlePZaOUUQyAiEAnRTMXfpSdV+3ZEaBwup1OJ/N9ThDqPVFPGDpVJflsZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422044517","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527507},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422044517.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/d1af61845cfde25134f44dc43614d438/redpointgames-framework-0.0.76-dev20260422044517.tgz","_integrity":"sha512-GEO6zdjQxhwViV18EXTMRR+998yjk/XuD8815NJBvh/wNMrfpkCE8iC2LiNQOVhS11DcgER7IPjaMfKDT2gNHA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-rc.5","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422044517","@redpointgames/client-component-transforms":"0.0.8-dev20260422044517"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422044517_1776833161339_0.5994059102068878","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422044602":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422044602","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422044602","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"854b3695e1423ef9ce46b639f26984e4a1e09896","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422044602.tgz","fileCount":206,"integrity":"sha512-CxL8+e0szd+ELZYkSFYKB6xtW6E6W9l9nApWWo47+29e4ua9m63PsUxdQXxfOJn1AqB33Q5uMReSnoJWsFCmLg==","signatures":[{"sig":"MEYCIQCqLUkWGrllvjA3PV+dKWQ0hpM6KdSODUhr3oy0YlWVZgIhAM5JyixQgg7dbDlhr9nfIP+7S09Cfv4P5DE6gToRgCHS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422044602","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527507},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422044602.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/14f578747e1ca8167aa67465e4248c77/redpointgames-framework-0.0.76-dev20260422044602.tgz","_integrity":"sha512-CxL8+e0szd+ELZYkSFYKB6xtW6E6W9l9nApWWo47+29e4ua9m63PsUxdQXxfOJn1AqB33Q5uMReSnoJWsFCmLg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-rc.5","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422044602","@redpointgames/client-component-transforms":"0.0.8-dev20260422044602"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422044602_1776833204880_0.5247919879137772","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422052256":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422052256","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422052256","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"20ee59aec3e523862f6aadae66aa08819a7aa108","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422052256.tgz","fileCount":206,"integrity":"sha512-RPZLbm0v98z7iJ8k9xJWBZ5GR9DyMKx7OyuREz6K2V/WDltYtpEiNf1mCIykmM0aHzUvZNhYHbHlY8FCkblsJw==","signatures":[{"sig":"MEYCIQCbB3QaKTKzOPiB0e6aUyLyw6R443FSvke3AFLVRndcIAIhAO3+6ieEfchnDts21NflUH+On6AiUtIfKnq9cZVOsJVX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422052256","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":528805},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422052256.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/312b2c0c6b30c3625b18667426abcfe1/redpointgames-framework-0.0.76-dev20260422052256.tgz","_integrity":"sha512-RPZLbm0v98z7iJ8k9xJWBZ5GR9DyMKx7OyuREz6K2V/WDltYtpEiNf1mCIykmM0aHzUvZNhYHbHlY8FCkblsJw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.12.1","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422052256","@redpointgames/client-component-transforms":"0.0.8-dev20260422052256"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422052256_1776835421657_0.3670609537063807","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422063035":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422063035","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422063035","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"2c30aaadda563aafc3b2d96d6e4e8d14a3b33d00","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422063035.tgz","fileCount":207,"integrity":"sha512-TyUjTILlbQosN2D+ij7Z6N7rnWSo2vbe4R/Td6af3uMUNJC0OVnf+1Y6avenCeRPo9Mdca3Um5I5TgYWwRAdnA==","signatures":[{"sig":"MEQCIAXG0fnaML6Q/TyzEXkJOuBdJoMa+Bnu2okeZDsICsYjAiA38lfA36BcG4w7cf0A95NBibwynUYxIhFVJ9if/mWpRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422063035","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529238},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422063035.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./progress":"./src/client/components/progress.tsx","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/32563209f92f12da7689fe642d45ffd5/redpointgames-framework-0.0.76-dev20260422063035.tgz","_integrity":"sha512-TyUjTILlbQosN2D+ij7Z6N7rnWSo2vbe4R/Td6af3uMUNJC0OVnf+1Y6avenCeRPo9Mdca3Um5I5TgYWwRAdnA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422063035","@redpointgames/client-component-transforms":"0.0.8-dev20260422063035"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422063035_1776839477361_0.9925680790356854","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422070101":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422070101","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422070101","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"2a46c93cfaabac7aae636a8f826a20311fae5970","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422070101.tgz","fileCount":207,"integrity":"sha512-lQSX+nrujtPntiegCBObQyZLLTW6h3wCIiVzGX2/f/YtfArbK7/hMw71BffkyNZY+X6iz9jiwya+eyf/P31eww==","signatures":[{"sig":"MEYCIQD1Z0INcEXW6+2t+cKkJIKrth69BNmsFyNFhhpD4kilAQIhAN0hA9klLvbKMFPizUlCsyqpLt6wU1PweAlzpfLi37/Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422070101","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529561},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422070101.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./progress":"./src/client/components/progress.tsx","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/6ab588ec28153b0cb448266900bc9f38/redpointgames-framework-0.0.76-dev20260422070101.tgz","_integrity":"sha512-lQSX+nrujtPntiegCBObQyZLLTW6h3wCIiVzGX2/f/YtfArbK7/hMw71BffkyNZY+X6iz9jiwya+eyf/P31eww==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422070101","@redpointgames/client-component-transforms":"0.0.8-dev20260422070101"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422070101_1776841306512_0.6788424272684455","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422075416":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422075416","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422075416","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"facfce88893a6bf6ba9b2936a856cb26a0ea68e8","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422075416.tgz","fileCount":206,"integrity":"sha512-K3lh5ZLbV+kYbTK1x4KdS0Cyas9MFqm+qH9lEBXxs+8llSLEaXR78mDbIpZrrYb95jTE/SrOWDBP/YI4M0NrbA==","signatures":[{"sig":"MEYCIQCfTrDIq1FCR4l56RiGeevACmiRxdmtT7jQNlHOWQvYjgIhAK8evj625QbnytfRmAHSOqb29KpR/Z63WXuko1uLUZ/4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422075416","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529703},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422075416.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./progress":"./src/client/components/progress.tsx","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/46a28ce75cd87b6fc53651cfa7e3af20/redpointgames-framework-0.0.76-dev20260422075416.tgz","_integrity":"sha512-K3lh5ZLbV+kYbTK1x4KdS0Cyas9MFqm+qH9lEBXxs+8llSLEaXR78mDbIpZrrYb95jTE/SrOWDBP/YI4M0NrbA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422075416","@redpointgames/client-component-transforms":"0.0.8-dev20260422075416"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422075416_1776844500487_0.3090216664820029","host":"s3://npm-registry-packages-npm-production"}},"0.0.76-dev20260422134849":{"name":"@redpointgames/framework","version":"0.0.76-dev20260422134849","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.76-dev20260422134849","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"283ecc3be7c09d49ccac80d2450faf3687f3c3ed","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.76-dev20260422134849.tgz","fileCount":206,"integrity":"sha512-8Xx1TcqQyt/kFUlqjLcEupkRGtB/BBYl2Phu/wohWiLRpxAl1TFcY9zCzFTB7GPJtc3jkuwCnB8yO+u9vmXmfg==","signatures":[{"sig":"MEYCIQC+TkQROvfBSl39pUw6lQs8d4j/q4jZu7hn9aer5GvUSwIhAJ5P9TQWZOJBlI2C1NWBAJ++EykvUu/prwyqePVEtWYN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.76-dev20260422134849","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":530085},"type":"module","_from":"file:redpointgames-framework-0.0.76-dev20260422134849.tgz","types":"src/types/global.d.ts","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./progress":"./src/client/components/progress.tsx","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts"},"scripts":{"dev":"nodemon --exec \"pnpm run compile\" --watch src -e ts,tsx","lint":"eslint . && pnpm lint:backend && pnpm lint:client","compile":"pnpm node compile.js","lint:client":"tsc --noEmit -p src/client/tsconfig.json","lint:backend":"tsc --noEmit -p src/backend/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/a50d5c7d20cc705cabbef2eca3207195/redpointgames-framework-0.0.76-dev20260422134849.tgz","_integrity":"sha512-8Xx1TcqQyt/kFUlqjLcEupkRGtB/BBYl2Phu/wohWiLRpxAl1TFcY9zCzFTB7GPJtc3jkuwCnB8yO+u9vmXmfg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.12.1","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"4.3.6","etag":"^1.8.1","jiti":"^2.6.1","kleur":"^4.1.5","dotenv":"^17.2.3","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^4.0.3","prettier":"^3.6.2","rolldown":"1.0.0-beta.53","commander":"^14.0.1","minimatch":"^10.0.3","picomatch":"^4.0.3","mime-types":"^3.0.1","@babel/core":"^7.28.4","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@sentry/node":"^10.49.0","@sentry/react":"^10.49.0","react-refresh":"^0.18.0","stacktrace-js":"^2.0.2","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","serialize-error":"^12.0.0","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.1.14","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@redpointgames/server-function-transforms":"0.0.15-dev20260422134849","@redpointgames/client-component-transforms":"0.0.8-dev20260422134849"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","vitest":"^3.2.4","globals":"^17.5.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@sentry/cli":"^3.4.0","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.10","@types/picomatch":"^4.0.2","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","@sentry/cli":"^3.4.0","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.76-dev20260422134849_1776865772251_0.10074503785546218","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430111227":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430111227","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430111227","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"577525cd554c4d098a7622b14b6e06ae260516ae","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430111227.tgz","fileCount":88,"integrity":"sha512-5BjalkoAsSE/uJOyYe62f4D+G/UGfxnfDX99GG9b3ljrCvyDhV93S8rFBs/lyr10AitLbfmXZbUXWoy2p6nc8Q==","signatures":[{"sig":"MEQCIB7Av79iMDfRDQYwt/aNs6q1DpeKs+MUnWTRVEexiza+AiAoB+MIe2T56aCeyPmHjev83nSfP7Fm6Z0+ZW94iuQdmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430111227","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":573875},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430111227.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/30d89cbd9604b1df5499c0cc6df84d6a/redpointgames-framework-0.0.77-dev20260430111227.tgz","_integrity":"sha512-5BjalkoAsSE/uJOyYe62f4D+G/UGfxnfDX99GG9b3ljrCvyDhV93S8rFBs/lyr10AitLbfmXZbUXWoy2p6nc8Q==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430111227_1777547569339_0.4181715544466884","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430112402":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430112402","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430112402","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"72606cbf1e7a64eb3c96f338d3a8e4630c6f828a","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430112402.tgz","fileCount":88,"integrity":"sha512-49VXznoSPvvRGxG4we083e5sqHcmO92raUvE2SSJ4Mpe7xe+yHzr6eVmTksMdi8vzh16BZRxn36xmYlWErU8eg==","signatures":[{"sig":"MEQCIB7w8UHKOV0SZjukOXB3h0tQip+JSlOSqKqgAblYqQrIAiA2cqZGSclzYDA0A2hWCgzyzPrIlBweiRjS3KXWR9JfkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430112402","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":575858},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430112402.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/b5359a8c43799ee6f662d804ae41ec6b/redpointgames-framework-0.0.77-dev20260430112402.tgz","_integrity":"sha512-49VXznoSPvvRGxG4we083e5sqHcmO92raUvE2SSJ4Mpe7xe+yHzr6eVmTksMdi8vzh16BZRxn36xmYlWErU8eg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430112402_1777548265771_0.20525425751582183","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430112914":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430112914","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430112914","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"742548b5196123a69fc6495a9f56aa03e0339b9c","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430112914.tgz","fileCount":89,"integrity":"sha512-+pJfvqva+4o6Q+iucJ//2kuA/mSoPWvx3K/nwHwSAnirAnGBjEN/YzwTKqxjIG4HG6Ye6kI/ANIkdwof9qBDzw==","signatures":[{"sig":"MEUCIGclcp4zzoQDu9YLehTduWYjYIwKJeasREkPSk8SdJ7zAiEA2wXkt+2GTT0pbqO2N4VYZQUxpytrzIU3+Mx3AmIXOEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430112914","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576420},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430112914.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/12eaf360d0a56446f34c2d0809f253ae/redpointgames-framework-0.0.77-dev20260430112914.tgz","_integrity":"sha512-+pJfvqva+4o6Q+iucJ//2kuA/mSoPWvx3K/nwHwSAnirAnGBjEN/YzwTKqxjIG4HG6Ye6kI/ANIkdwof9qBDzw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430112914_1777548578938_0.3732635889626401","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430113515":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430113515","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430113515","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"885ded9bef241af413896cde60cf732f75938ab2","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430113515.tgz","fileCount":89,"integrity":"sha512-OQAVTFZBZMdCIqa3KE8t9cqjrpq4Q8DZW5aK/lx0ysVJ5fyk13v8VlbOz4ydo+bBb4Ti46kC50mZ8yOJAYnAtQ==","signatures":[{"sig":"MEQCIEixN8SbK77ssoaVMpmBCnJ8G+S2DEnxYEQLXMFVpTVwAiBd1JAodNPvmsLaYy/DoervieLJrgglVDxhItyg3nJymg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430113515","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576419},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430113515.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/417ab49f5e36906a9fdc1af34636b5cc/redpointgames-framework-0.0.77-dev20260430113515.tgz","_integrity":"sha512-OQAVTFZBZMdCIqa3KE8t9cqjrpq4Q8DZW5aK/lx0ysVJ5fyk13v8VlbOz4ydo+bBb4Ti46kC50mZ8yOJAYnAtQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430113515_1777548936155_0.9825900392590337","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430114441":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430114441","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430114441","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"76673a9780cb06bf81bed7875a2e894a560f60a1","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430114441.tgz","fileCount":89,"integrity":"sha512-QU+j5t6/7kO9myb48uCKwHZXwEeerB3A9zpy7zK0jigTtRuOggWXRod9NXkNTJIcli5dqzTKS4Dv6S23Nz+MQg==","signatures":[{"sig":"MEUCIQD2wgwLTYiKeeAovEL65SsHlpLj1Xe3+09HqVpGc1p4YgIgQD2aoj6IlvCwWcqLXdwLr2rdS/Wg9sVz8voqQ8AOeoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430114441","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576419},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430114441.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/9c546a937c1683cf62b80492a3391d87/redpointgames-framework-0.0.77-dev20260430114441.tgz","_integrity":"sha512-QU+j5t6/7kO9myb48uCKwHZXwEeerB3A9zpy7zK0jigTtRuOggWXRod9NXkNTJIcli5dqzTKS4Dv6S23Nz+MQg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430114441_1777549505549_0.7039828759195221","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430144350":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430144350","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430144350","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"a97b89ae9335b370982d499a74507ef48843ba14","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430144350.tgz","fileCount":89,"integrity":"sha512-I7+gOco8M+Fx5cGRS4RSNYlwxm73+20EMlOe37J9sWWie9PfMWK39GhnYNAAAZYeBOewF8Lfs4ACK0sxEGJbhg==","signatures":[{"sig":"MEUCIQDMwAE/YGUT/qpu7q+TDWKT5sAF7fkRXhmdOj+a77vYFQIgUxD2z1if3PUQ7g8LNbOWWW2SpWQ+/FsZ9XPAQXsExBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430144350","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":584714},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430144350.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/029d830c1f81293b4f935c3e57e171a5/redpointgames-framework-0.0.77-dev20260430144350.tgz","_integrity":"sha512-I7+gOco8M+Fx5cGRS4RSNYlwxm73+20EMlOe37J9sWWie9PfMWK39GhnYNAAAZYeBOewF8Lfs4ACK0sxEGJbhg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430144350_1777560252952_0.8899348990145022","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430145935":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430145935","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430145935","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"da485ea37e57275372a035686eb508d5e3864d5d","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430145935.tgz","fileCount":89,"integrity":"sha512-5QXEhdGHG11Zz+kF9W49lBiwum+Xclf7Kf1XPJiZGnNCBLQwNGC28aOd8mqj4jvzeu4bMRjriM3+Nv6rchsDFw==","signatures":[{"sig":"MEUCIQDnTpsXpAyQO+JlHihjj9pijBFF18rIhJ8gkBJJajdQdwIgasrEXjrZQrXuWKAPGVf3RcfW3T1bCydYCRsbE9IWJ2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430145935","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585469},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430145935.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/1ead120d96c33517057897b75a9bef16/redpointgames-framework-0.0.77-dev20260430145935.tgz","_integrity":"sha512-5QXEhdGHG11Zz+kF9W49lBiwum+Xclf7Kf1XPJiZGnNCBLQwNGC28aOd8mqj4jvzeu4bMRjriM3+Nv6rchsDFw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430145935_1777561198691_0.43024036131347576","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430150110":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430150110","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430150110","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"0a8488d27ce18f3e0d200db1376723be61c00948","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430150110.tgz","fileCount":89,"integrity":"sha512-SLnffz5CEnLUvp8YFqUiuKLVyegTKRMiU0FxL4KQ++IC1GZH/6OfvYI8CmM2+QkLT0LouJzi9rSwBlCiOGSUYw==","signatures":[{"sig":"MEYCIQDd6UTXejpR/Sag7PSgid7Yd6J3X+Yx+cZ8x/qcl2LCUAIhAPv9JctrR5Q15lNaBkX+CUx4kazS0/8D0t3EKnNHzD+2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430150110","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585810},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430150110.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/b4332d1636ab0d183f16de56b5dee190/redpointgames-framework-0.0.77-dev20260430150110.tgz","_integrity":"sha512-SLnffz5CEnLUvp8YFqUiuKLVyegTKRMiU0FxL4KQ++IC1GZH/6OfvYI8CmM2+QkLT0LouJzi9rSwBlCiOGSUYw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430150110_1777561301395_0.3326795731360932","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430152000":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430152000","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430152000","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"9a64269d687671ce4896c4d9b8f24797de5cd52b","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430152000.tgz","fileCount":89,"integrity":"sha512-HpG/+v4nCnFIImyMoq/qj3x4oZqNFKKMTU8ivYntNHaKN197BZ/N8IuP3tYzhQxDpnIYA9eeR22y+bdiUCTdug==","signatures":[{"sig":"MEYCIQDtIVeqAiKXf8CB0hb+uri6xQoj4poUQhg2tyCP1T2oUwIhAPDluPvs7LnesEcPNEry/nT81lZNHy1qBRpyK5QiwoRQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430152000","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":586128},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430152000.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/fac9ba7097359478ebd95357c571cd84/redpointgames-framework-0.0.77-dev20260430152000.tgz","_integrity":"sha512-HpG/+v4nCnFIImyMoq/qj3x4oZqNFKKMTU8ivYntNHaKN197BZ/N8IuP3tYzhQxDpnIYA9eeR22y+bdiUCTdug==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430152000_1777562421866_0.9431684593250158","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430164317":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430164317","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430164317","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"e5a126a83c56ea57a6fd97374ef280d58bb64e60","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430164317.tgz","fileCount":89,"integrity":"sha512-UdlcKP7bfOZ/O02mHM/U+cOyG92u9719JIZGh0gf4eUGkxUWOt8BwzZ9szK/stWLmSCHw+RGrq/f9BDq/PvL4g==","signatures":[{"sig":"MEQCIFcstgDpRN+XQrRsUvoYXB50+IgFqHL5rruZBke6SDeyAiA9MUW5yGzzPyGKViC28a/6crVrFFzcF86tVBBaJbflZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430164317","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":586833},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430164317.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/011aae70e3512e2dfd86ee1c887d389b/redpointgames-framework-0.0.77-dev20260430164317.tgz","_integrity":"sha512-UdlcKP7bfOZ/O02mHM/U+cOyG92u9719JIZGh0gf4eUGkxUWOt8BwzZ9szK/stWLmSCHw+RGrq/f9BDq/PvL4g==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430164317_1777567419980_0.7215113928080867","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430165332":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430165332","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430165332","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"9ed54effd199959c017b36c3d5c43e502f39cd02","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430165332.tgz","fileCount":89,"integrity":"sha512-mpPvo/UlLeQ392Jk7+NY53JPdKz7vBhz6RVLDEb9UDKsFmSqYXCwDcp1BoRtBnBz4GmdYXuNhjj29XMpTGUEQA==","signatures":[{"sig":"MEUCIQC035DWNFQPgkkCKNyzQNpEdnLxuaF/AgKrJHYg/6AVCAIgALV16SdaesCIXVv+oO3CPM1did4+84x7gBdZc0yNluQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430165332","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":586833},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430165332.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/f619092450a2eb23f90fa593063dab11/redpointgames-framework-0.0.77-dev20260430165332.tgz","_integrity":"sha512-mpPvo/UlLeQ392Jk7+NY53JPdKz7vBhz6RVLDEb9UDKsFmSqYXCwDcp1BoRtBnBz4GmdYXuNhjj29XMpTGUEQA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430165332_1777568037650_0.9394330816304215","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260430165441":{"name":"@redpointgames/framework","version":"0.0.77-dev20260430165441","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260430165441","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"775bae92b9f780dde18243e9109a7f1465cd2937","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260430165441.tgz","fileCount":89,"integrity":"sha512-5A9GnwT7vmvOAV0mShYtUcRgt/Wy5HBj7iIUQaE+Cxr5pD6VMeVoX0NR308ISZkYpU0xAMe1NPDBTY2NI6v9HQ==","signatures":[{"sig":"MEUCIC5+d1TuDHIZ+pSbPr1snpIVjmDoMHRyDzqXGxKSIhZ2AiEA1pJRTHxvWjcxcC9LGwIBOJCNhPvKc8tOLf7+SbayH2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260430165441","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":586833},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260430165441.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/c218a189543aefbbe0ae74e2820b9d8d/redpointgames-framework-0.0.77-dev20260430165441.tgz","_integrity":"sha512-5A9GnwT7vmvOAV0mShYtUcRgt/Wy5HBj7iIUQaE+Cxr5pD6VMeVoX0NR308ISZkYpU0xAMe1NPDBTY2NI6v9HQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260430165441_1777568102088_0.6709680214246887","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260501143925":{"name":"@redpointgames/framework","version":"0.0.77-dev20260501143925","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260501143925","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"ffb68e54a61c036e746e9f01e634d2a5deeef9bd","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260501143925.tgz","fileCount":89,"integrity":"sha512-fNIklb8uwWWomweERkj+sXLM3HvbjPQNlAAAnnzDLhlvE1B2q5zE/0JWqNcd8dMSdFHkNK85opcl0/WWWitJKg==","signatures":[{"sig":"MEUCIEpfD42V4EMA6HLUth/5nRPdPnbqM+PHY6fan1sxO/y4AiEAqArzs/ciI7ftg8Cjy13icjSlEirK5tGGnLuqw0z8N6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260501143925","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":588965},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260501143925.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/9f4cb7c3684943dce5c69decad135cee/redpointgames-framework-0.0.77-dev20260501143925.tgz","_integrity":"sha512-fNIklb8uwWWomweERkj+sXLM3HvbjPQNlAAAnnzDLhlvE1B2q5zE/0JWqNcd8dMSdFHkNK85opcl0/WWWitJKg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260501143925_1777646389952_0.1869959500764673","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260501172514":{"name":"@redpointgames/framework","version":"0.0.77-dev20260501172514","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260501172514","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"b1abf35bd4d265b0d62c4e5f846e0923888c47cc","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260501172514.tgz","fileCount":89,"integrity":"sha512-zNvYXFr/hAUHItNFuuzPrmmxVrjPudX2WWFKMOifblLYSkHHKTaHEch1VTAc7vCwu8uBPVsIhkmVIRc6nMwDdw==","signatures":[{"sig":"MEYCIQC9YAaxJ8KHEgbpajx6slJgDAm2iKPpzBiwuYDHALI7IAIhAJnCk6w6NkIIFn2O/5f1vFQDDEE1J/06QhYU1S28GvB8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260501172514","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":589024},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260501172514.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/15f6f1c1d811fb93ba3a2563b9d12ebf/redpointgames-framework-0.0.77-dev20260501172514.tgz","_integrity":"sha512-zNvYXFr/hAUHItNFuuzPrmmxVrjPudX2WWFKMOifblLYSkHHKTaHEch1VTAc7vCwu8uBPVsIhkmVIRc6nMwDdw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260501172514_1777656338192_0.1815751402289112","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260502170105":{"name":"@redpointgames/framework","version":"0.0.77-dev20260502170105","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260502170105","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"b6327ecf91429b74204979e40a842a1acd7f3dfe","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260502170105.tgz","fileCount":87,"integrity":"sha512-Wix/KjbqoqkfKNVfDPAW0TiagZMiTdY7zBN1eYcctyTT+7mMriW1HGd8p+YqPR4nrWyn151h4zDUIAQYBdwZww==","signatures":[{"sig":"MEQCIC+KusS6J7qOrPWDvM9WjQleeqIlWftgFp/G5AgbsuR6AiAN0r5BboFBu1SL8MU7tntWoQ5zyI7WDZXOAhd7Ps9rMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260502170105","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":584871},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260502170105.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/a998375e422827c72641e6cad5f94015/redpointgames-framework-0.0.77-dev20260502170105.tgz","_integrity":"sha512-Wix/KjbqoqkfKNVfDPAW0TiagZMiTdY7zBN1eYcctyTT+7mMriW1HGd8p+YqPR4nrWyn151h4zDUIAQYBdwZww==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260502170105_1777741289582_0.48279950858451004","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260502175858":{"name":"@redpointgames/framework","version":"0.0.77-dev20260502175858","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260502175858","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"b23ba2b6ccbf394d9dcb58aac0161381f253b61d","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260502175858.tgz","fileCount":87,"integrity":"sha512-0/cDm8Kpuri3miBGiX0PdJsq9YziyV/jQVrDpyzagR0JtCy/1OjH3fTd8XEPUyI9/wN0pd+O98sdsRQfz53wXA==","signatures":[{"sig":"MEQCIEr6OzHSduHuwS00iDqpRRiApV+S+eG0SYT6j+CxUzprAiAHDmdYKQbo/KjPUiry6bdJVfKxGsFyevEMXTVRQW6FSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260502175858","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585105},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260502175858.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/930ae66e22319fea0fb1e859e6124001/redpointgames-framework-0.0.77-dev20260502175858.tgz","_integrity":"sha512-0/cDm8Kpuri3miBGiX0PdJsq9YziyV/jQVrDpyzagR0JtCy/1OjH3fTd8XEPUyI9/wN0pd+O98sdsRQfz53wXA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260502175858_1777744762633_0.6994303034793026","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260503161512":{"name":"@redpointgames/framework","version":"0.0.77-dev20260503161512","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260503161512","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"ee6994d4b8db368458c0366aa1882ce8f6e88ccc","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260503161512.tgz","fileCount":87,"integrity":"sha512-AI1HCknP/MeTmP5AuWmUpkyPtrfg9u1LVe0toVm0axPalE2EHuuMl8Frpxxbwi7eGnGGcJSi8OvuyzQgR4IflA==","signatures":[{"sig":"MEQCIF/j4Ad43qaBNbrYydsJD4USHvsVY+rRwExc6tzuMyyxAiAySdpd1Gv4imgypDosqPg4VUKrm/Ws7JTA0QRMRscOvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260503161512","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":586466},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260503161512.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/85f34c7664be7e874de6c572444cc1ae/redpointgames-framework-0.0.77-dev20260503161512.tgz","_integrity":"sha512-AI1HCknP/MeTmP5AuWmUpkyPtrfg9u1LVe0toVm0axPalE2EHuuMl8Frpxxbwi7eGnGGcJSi8OvuyzQgR4IflA==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260503161512_1777824937104_0.5627965010300806","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260504040958":{"name":"@redpointgames/framework","version":"0.0.77-dev20260504040958","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260504040958","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"a07fc16aadd879b8c2fefe63933012634eb435d3","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260504040958.tgz","fileCount":87,"integrity":"sha512-PsVsSHhbOApwVd7H1sg5ezrDXZlU0L3rUr9I7+x6p0qp6rAf14pr3Da2uh7ZgCm6FrHGjg9BFLxm5rSgjdSr1A==","signatures":[{"sig":"MEUCIQD2bBmaFNVIHc2iE9PQwIQ2J33XrPceWhzo9m+4+FQF6gIgKekE0nw30peGvdxVStpjTXjkTeDyTbUojUOiTWP+Zbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260504040958","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":589947},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260504040958.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/23586ba31a088e60d561bff3cde928b8/redpointgames-framework-0.0.77-dev20260504040958.tgz","_integrity":"sha512-PsVsSHhbOApwVd7H1sg5ezrDXZlU0L3rUr9I7+x6p0qp6rAf14pr3Da2uh7ZgCm6FrHGjg9BFLxm5rSgjdSr1A==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260504040958_1777867818714_0.9512604381522898","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260504092827":{"name":"@redpointgames/framework","version":"0.0.77-dev20260504092827","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260504092827","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"638c63833d787a53802f4d5ad453a33ff937c202","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260504092827.tgz","fileCount":88,"integrity":"sha512-HT/CGg9CEEV7uRmElMsN4FQWScdi6AunIUyi7F2oX2c/B3q6Uc64aBDpNTi0EgFTsT1fsol0GB+V+N/IaIpvmg==","signatures":[{"sig":"MEUCIQCz/JaLJ8VaSFyZVIBWOm6WMkvAHHP1drLPNDwAFe8IHwIgcneKLJX5Abh/Uys2dlHvw4N4D5Ph5I7BdsZaS7LMGEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260504092827","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":597737},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260504092827.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/a5e58c23078ebed340dc312bf08db99f/redpointgames-framework-0.0.77-dev20260504092827.tgz","_integrity":"sha512-HT/CGg9CEEV7uRmElMsN4FQWScdi6AunIUyi7F2oX2c/B3q6Uc64aBDpNTi0EgFTsT1fsol0GB+V+N/IaIpvmg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260504092827_1777886932429_0.2979546375229267","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260505014046":{"name":"@redpointgames/framework","version":"0.0.77-dev20260505014046","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260505014046","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"49a5191555322a6e017f4a6b861ed04a61928331","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260505014046.tgz","fileCount":88,"integrity":"sha512-sOUZBNKFdolqawdgKgbTnh+j6oM9fI0XclckiTOpAbHjf3XRq4bRd4BFilEixgHAZFCB0C+D1aj7Qw6oh5ehcg==","signatures":[{"sig":"MEUCIDRiaj5beQB6Wtr6WsL6vvzh+NFifRlHyT1A7FeQpIeQAiEAhGJmJXx76OnhdoIiZCJT/Cy7YyayMBL9TSLf7HKvsXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260505014046","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":597735},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260505014046.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/82fe7fab6dc3b52d2963f4133dab7a49/redpointgames-framework-0.0.77-dev20260505014046.tgz","_integrity":"sha512-sOUZBNKFdolqawdgKgbTnh+j6oM9fI0XclckiTOpAbHjf3XRq4bRd4BFilEixgHAZFCB0C+D1aj7Qw6oh5ehcg==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260505014046_1777945270972_0.3029812371876863","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260505015911":{"name":"@redpointgames/framework","version":"0.0.77-dev20260505015911","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260505015911","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"d44b2119986a485080972bb4d2b4850b65852c1e","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260505015911.tgz","fileCount":88,"integrity":"sha512-zP1yTlNBAVZrt/jFXt1L/JZ+xjjWSfxw8uNG3obBbr8xBmV9tzK4wXY9XEpD5cEaao3IPsp8j6Coeh3fYpf7wQ==","signatures":[{"sig":"MEUCIHJnUuEtV8HpMMu6E0qN0qdvquwktrtwZ8v+cbkOjrKfAiEAm5YYz0wld5BJ9SqZFNkp9gVvFluA4rPLSfnAp3h51fw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260505015911","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":597754},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260505015911.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/2d5350be3924164faf70fef365921ff6/redpointgames-framework-0.0.77-dev20260505015911.tgz","_integrity":"sha512-zP1yTlNBAVZrt/jFXt1L/JZ+xjjWSfxw8uNG3obBbr8xBmV9tzK4wXY9XEpD5cEaao3IPsp8j6Coeh3fYpf7wQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260505015911_1777946376353_0.3774637292180847","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260505043054":{"name":"@redpointgames/framework","version":"0.0.77-dev20260505043054","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260505043054","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"c4a31651be6ca5a9e6a01d8ca5324f0a2320d933","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260505043054.tgz","fileCount":88,"integrity":"sha512-huUggBdrN1wbKFfwrVTZjU9M6nQBu5CMGIMlUApO/XeXqb6LCXdi5XLT9ZrsPsI00DXC4LfIJR9+R61q6H7tRQ==","signatures":[{"sig":"MEUCIQD9L+v4+48SpXc6urzVA9IG2Cb7pH9r21bqxs5hJOKtbAIgQOJ+1Gv54/xrwPCH+rZqkzBYYOXDCFXUSfOMgYScA1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260505043054","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":597891},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260505043054.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/f27f697e9897ee847ed02795683df406/redpointgames-framework-0.0.77-dev20260505043054.tgz","_integrity":"sha512-huUggBdrN1wbKFfwrVTZjU9M6nQBu5CMGIMlUApO/XeXqb6LCXdi5XLT9ZrsPsI00DXC4LfIJR9+R61q6H7tRQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260505043054_1777955475791_0.38825771179548485","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260505045321":{"name":"@redpointgames/framework","version":"0.0.77-dev20260505045321","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260505045321","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"0bc64075996d862eb76e5939e6a5f0fdd44a4c76","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260505045321.tgz","fileCount":89,"integrity":"sha512-aKyw8RiQ+vraGj0HeXxVhSM2H4mbd15OjImBlMHN2QDlHxzj5kR8Gy46gzQLn0lUwe43++jqsFDRRCbjQfSNOQ==","signatures":[{"sig":"MEUCIDM4OD2twtvXcfi1mzcJaP75mkm0P1S5bgETMpFq1v5mAiEAq2YfDKgRVyQryPWf9hn8K3VUj0JYkRRnANVyJwAIrxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260505045321","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":598017},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260505045321.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/5691bedc3619b74bc927a0f5901b84e9/redpointgames-framework-0.0.77-dev20260505045321.tgz","_integrity":"sha512-aKyw8RiQ+vraGj0HeXxVhSM2H4mbd15OjImBlMHN2QDlHxzj5kR8Gy46gzQLn0lUwe43++jqsFDRRCbjQfSNOQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260505045321_1777956823280_0.3351881840444726","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260505214814":{"name":"@redpointgames/framework","version":"0.0.77-dev20260505214814","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260505214814","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"31588b4f0926d3929145bb4661af8167034ddf74","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260505214814.tgz","fileCount":89,"integrity":"sha512-h/o+l5rOlWc82EOMD6yqmeP3NSdeqCsddz6SIrxDgh7HVDAA7GlG24O5MabYsfGpRKvJGS+jV3nsr/Zky00ZGw==","signatures":[{"sig":"MEYCIQCVsV3WkyB1XenMLsLc5a6d3y14+aD2WgqLF/x4Jw4fPAIhAIMr/eXmsCG5ucXXlMr7Vr1Jl9KFQmv/dhkKJoqChyhT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260505214814","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":598719},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260505214814.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/5247f764aa3c57bb63f93e083feb9da9/redpointgames-framework-0.0.77-dev20260505214814.tgz","_integrity":"sha512-h/o+l5rOlWc82EOMD6yqmeP3NSdeqCsddz6SIrxDgh7HVDAA7GlG24O5MabYsfGpRKvJGS+jV3nsr/Zky00ZGw==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260505214814_1778017721002_0.6712577099510064","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260505225234":{"name":"@redpointgames/framework","version":"0.0.77-dev20260505225234","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260505225234","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"fc8e7fb0d8828b4e9e1fa05c43b33a154a32d30d","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260505225234.tgz","fileCount":89,"integrity":"sha512-YnOB10nJ8AWFBxyUVnRI1L9WQgHlUkWiaxLa487HefXjLbsWAMMn350yRZz2/jaNN643Jyc1WkslQRCzNr2wcQ==","signatures":[{"sig":"MEQCICZAd0rEshOl8+pNv4IyovZMht2PXit7X8tE99rga8XGAiATtuZpPJ0IgryWcVD6IRVl9IUwxuLMoQwSwXloaiBlYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260505225234","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":601101},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260505225234.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/1cfda2b36dbb18ca5fc14cb7b5cf2f2a/redpointgames-framework-0.0.77-dev20260505225234.tgz","_integrity":"sha512-YnOB10nJ8AWFBxyUVnRI1L9WQgHlUkWiaxLa487HefXjLbsWAMMn350yRZz2/jaNN643Jyc1WkslQRCzNr2wcQ==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260505225234_1778021575966_0.3156245850038215","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260506020152":{"name":"@redpointgames/framework","version":"0.0.77-dev20260506020152","keywords":[],"author":{"name":"Ryan Toronto"},"license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260506020152","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"homepage":"https://github.com/RedpointGames/twofold#readme","bugs":{"url":"https://github.com/RedpointGames/twofold/issues"},"bin":{"twofold":"dist/backend/bin.js"},"dist":{"shasum":"96d3752a2b97e7c08cb8279fd89f3686397b3dd4","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260506020152.tgz","fileCount":89,"integrity":"sha512-qfSD5T7KDfr0ZiFjD9MTzlchWW8edf63HLu12oc8wwAIvJEBXk2zo5RrA+4jAol4AIj/IZ+A63k7AE2x0cHX5Q==","signatures":[{"sig":"MEUCIQDClOLd6CPIEk8eh0x7XpOCHVwzvFMK+88QX6p3bL1LfQIgfWsEF2Iu3wPjDGRaGhTcdqF7J/EuhHN5oqhKuJSKOCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260506020152","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":601281},"type":"module","_from":"file:redpointgames-framework-0.0.77-dev20260506020152.tgz","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"_resolved":"/tmp/353ce7bc512f22a55bea9896479c9f97/redpointgames-framework-0.0.77-dev20260506020152.tgz","_integrity":"sha512-qfSD5T7KDfr0ZiFjD9MTzlchWW8edf63HLu12oc8wwAIvJEBXk2zo5RrA+4jAol4AIj/IZ+A63k7AE2x0cHX5Q==","repository":{"url":"git+https://github.com/RedpointGames/twofold.git","type":"git"},"_npmVersion":"11.11.0","description":"Twofold is a framework for building weekend projects with React Server Components, Tailwind, and TypeScript.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.24","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.5","react-dom":"19.2.5","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.5"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260506020152_1778032934941_0.7545647072115498","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260512060417":{"name":"@redpointgames/framework","version":"0.0.77-dev20260512060417","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260512060417","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"ed03457e3f0bf65e1d2b224adca01fd95c914cfb","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260512060417.tgz","fileCount":89,"integrity":"sha512-8HsTt50w4S2u7FhNgVq8cYTILy4aWTXqnj4NKSb3o3kDEuJTgMdQtWO5Z1KpVLx+g9noqe5fZIJR2Mt/+aZkQg==","signatures":[{"sig":"MEQCIAczDZPIdVFCqefMhL+GmXXZ0VlU+oTU+KVYorsH+pAGAiB9KQj+V3zRAXpGrhv3+E0WZiMv50evdxsW7p8vbSMuRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260512060417","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602666},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260512060417_1778565885539_0.8453297626928438","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260520031845":{"name":"@redpointgames/framework","version":"0.0.77-dev20260520031845","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260520031845","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"d4ab76f2b12a76c37290edd561a0baef393a300c","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260520031845.tgz","fileCount":89,"integrity":"sha512-R2iLl15RLBIMh7qSjQByODQBUuHFbGXKIQGFH3AJ8BVBkkhqX8D1nwlaE1xjIO+bma7uGbExHBzPJ/9QgLqe3Q==","signatures":[{"sig":"MEUCIQCrH4/Wj2GhkxU+1NfbCkrWJv7n9I2typ8z7lLm6twWTwIgbAD3nUdKh+0ynWs/bnifzP1gohNF7KQcZsxSjrLlx/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260520031845","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602668},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^9.38.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260520031845_1779247150453_0.981015818881354","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260520031940":{"name":"@redpointgames/framework","version":"0.0.77-dev20260520031940","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260520031940","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"44ed881ffd3daa30d7a05547d41c568dec05766b","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260520031940.tgz","fileCount":89,"integrity":"sha512-rdOM8kqpsA+yClf4F52E64hjGUgsaSwQE23/pSj195EfOiuUiBkCfHCzJMoaZAEZRGbd7QPfNGr6624+Fr35CA==","signatures":[{"sig":"MEUCIHyxc8o9mMatjUEJnetkUZWAZpf1eB/MU0liJcQoA1W8AiEAySKu3Ve2+vLCRkMXTYR/x2k5x6gPSflkkauF4FM8unI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260520031940","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602668},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.0-beta.53","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260520031940_1779247209037_0.9672434223935136","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260520032253":{"name":"@redpointgames/framework","version":"0.0.77-dev20260520032253","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260520032253","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"6e5b0d613db7b3080e0cd37b06f8e65e15d61947","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260520032253.tgz","fileCount":89,"integrity":"sha512-a5vOLu0SvyVamc2xnwI4mn62a1fdGu/kvhWn3eOl+cHyFMOqhaby0I67ZHNjB8NKu3awUyyj3U5Rc26GppjLCQ==","signatures":[{"sig":"MEYCIQC4CQj28mSiwHI17rzT+XFztnXy7DcA23fgh08pLqnjHwIhANB5ELAa5c3wB3612gWVnRCfoQCfpBU65YDxeFmPxOdP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260520032253","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602660},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.1","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.45.0","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260520032253_1779247394219_0.7469227946891859","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260520032317":{"name":"@redpointgames/framework","version":"0.0.77-dev20260520032317","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260520032317","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"bda001871ea434410eb5379f9f1863151d8ec769","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260520032317.tgz","fileCount":89,"integrity":"sha512-0X2lsEqg2g+fkKqaIynSDEKM0DdeyEAjgU+p6ZubRtYDFnAqKzMpJp3nvXSRUmgM6ehyGW/k+C1xv1atbNok3g==","signatures":[{"sig":"MEYCIQCc9qbOy+cZFnpAOEGQVXqhqeE7kzwzaoct5sSyEz2ymgIhAOts3/kpMznAsPm60uR2iHohaPBXmSMPDHzoY0qs3itb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260520032317","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602660},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.1","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260520032317_1779247420062_0.7603675838352957","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260520032330":{"name":"@redpointgames/framework","version":"0.0.77-dev20260520032330","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260520032330","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"fab01399ce3a8ab8d854ffa1832825e4b7cb0ba2","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260520032330.tgz","fileCount":89,"integrity":"sha512-1XX+vlNuQD12iZ1nXwpTFIg2Q+214zX8gva9NK0gJJOu7uj/RKccbQEqmYfMK8whaBDRnZKhkkyX9bhyl25qeA==","signatures":[{"sig":"MEUCIQCXdyjadxtvawHNkPxYosjgBV50edG0Ygd6CTHhE/NqPgIgQ2FlM1ake3FvFvw5r51XtQDINxbWQjlb1aNMJsAFwHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260520032330","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602660},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.1","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260520032330_1779247429540_0.19234237556652123","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260520043507":{"name":"@redpointgames/framework","version":"0.0.77-dev20260520043507","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260520043507","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"0d2e7154a1bd7d1bcff6d0abb4f4863751690dfa","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260520043507.tgz","fileCount":89,"integrity":"sha512-TNxNczMzlTD8sLvX2hMAnjxL3fm7wKd82fGK+fVWzldr+u1ziTppZF1yXznPkbm7HAZtUNSTN4pTBXoetY91bA==","signatures":[{"sig":"MEQCID4pRdzub1ZzHc7Zm1sTG6EWvXQiKaOoMwlVCaIgPXQZAiBGXz+DPlSQ1C5n+2WHNW3cc1+MrKjB4VmUZQwX7uty1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260520043507","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602536},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.1","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260520043507_1779251730184_0.8208646705385167","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260526033611":{"name":"@redpointgames/framework","version":"0.0.77-dev20260526033611","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260526033611","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"f679ccce474bf46b64886e5a3b1edc08b71ec17c","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260526033611.tgz","fileCount":90,"integrity":"sha512-QYweLrIdYLqaS8Xgh0/+7MjMSP8xCRB/gOeFGKzLR59bVJLOwx8tB4KcP2RzpyYchFw5viFxBmGkD++lj6kqJA==","signatures":[{"sig":"MEUCIQDVNDqw4LD/ByeT6DCYYan00W/BneFJvg+igAkdrHaUDwIgeSQh3pKJELhWrmafE1DAi9OoBpVhdMdCPan1kYi5q6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260526033611","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602946},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.1","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.14","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260526033611_1779766592800_0.4736549545798123","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260526033632":{"name":"@redpointgames/framework","version":"0.0.77-dev20260526033632","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260526033632","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"157ad61d5f3b732b93eeacca76db2f6ebec47a25","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260526033632.tgz","fileCount":90,"integrity":"sha512-R4Ifn41tk0lA8Jl7JWUHdyQCxD+WvuBG+OOEv+D/MrWjIyL87+eQteMN/qo7bHCjvLKiPw0BMz7D9oeYL/FSsA==","signatures":[{"sig":"MEQCIBYxYR2eRAYd5MJk15+z9QcxKNDuuakvHU64vlyPCkq3AiA8O3IwFouZOhzMEpkXgd8usDeo9DrGu76p+ckA3sg0kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260526033632","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602946},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.1","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260526033632_1779766614530_0.626200513605325","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260526072308":{"name":"@redpointgames/framework","version":"0.0.77-dev20260526072308","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260526072308","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"f06aee7330d5597a0610b9e40c24e48e73592f16","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260526072308.tgz","fileCount":90,"integrity":"sha512-UsGVmGgBm8J2gviOuyp3v897PWb5BeFnvU4aUfCtzgH1PFh92HPg4qrwsQZV1HWhtsyUBi04Hl1Qaa4qs04XCw==","signatures":[{"sig":"MEYCIQDJ4EgYI+33L3e8xVIqXwa+Yg1Q4U9g5nvjeXVAM9Eg2QIhAOPxRoBuAGPeEDDnUSRra3OfR3Uk8uF+QDFoca4vQ5Fd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260526072308","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602677},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.1","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260526072308_1779780210430_0.8820871615687869","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260526072348":{"name":"@redpointgames/framework","version":"0.0.77-dev20260526072348","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260526072348","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"8acca39c31d5d2d4cd62367997da3286e28f6453","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260526072348.tgz","fileCount":90,"integrity":"sha512-XiapKIZkb0kyJUkVNlOmB+q50s0Vvl6zOxPlaQG4rjcfZ+n+ORvRW6zYjeOXw9rdwR0Q7ebsW1t9oufF/YwwWA==","signatures":[{"sig":"MEQCIEKRpoJIeNbwaOwei+eTkkgBsiM4al+4htcUG1dyhEW4AiAtyXFSzvtnL42b3QynNWdo7SNA+zSHpXyqQ69vearT8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260526072348","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602677},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260526072348_1779780248144_0.054481637702709085","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260526200714":{"name":"@redpointgames/framework","version":"0.0.77-dev20260526200714","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260526200714","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"ad0f3b1a4289c587a16e8113801a4f80156588e7","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260526200714.tgz","fileCount":91,"integrity":"sha512-QWhCk0W5eOv/H4q8PwAJgbaPAa2Kx6eLF6IY8/RvPXvi/bT6N3eL9V/fODMOE2JwsYHZi1Fkaxs1noNEwLSh1g==","signatures":[{"sig":"MEUCIQDRBdsXgTyMi8Jk/qvqjAuovdrTPqwnK/1M4qLbCqiawgIgLZO7sbZp4xXNc30TqbRoSCV6NdCRfVlMGV0aLK4INU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260526200714","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":603821},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260526200714_1779826058404_0.3741927852645299","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260526232441":{"name":"@redpointgames/framework","version":"0.0.77-dev20260526232441","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260526232441","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"d72bcd95e455894e22b1cd3a6569af81b4152a73","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260526232441.tgz","fileCount":91,"integrity":"sha512-8uEvQVCXJhWhxuWMwX/7IPRpSlZZFwHfblhK86p+tuu5f+gBjFYrETYcRZ/r3DBU1fFR8fkFQj68V9PDrX7wyQ==","signatures":[{"sig":"MEUCIQCD+uzUmVoSfGg3AfjOC7CBKtB9Oct4EvmCEMIeOPUjYwIgOZPvAfODl18A7RPEOzMA1XNHUq2X1d17++nfcc3mF8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260526232441","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":603824},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"19.1.0-rc.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260526232441_1779837901494_0.9182008170420826","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260526235921":{"name":"@redpointgames/framework","version":"0.0.77-dev20260526235921","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260526235921","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"2ffb352467567a12d1fc08364a4149111c571aa2","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260526235921.tgz","fileCount":92,"integrity":"sha512-j6oO+Ss4J9NvSOn1j8HfZfauSEiOHuK+HprICz59DLP0ArBF6QqvqpX/PG5n0e6cPlNV0X45E8oEBQzi8jjVxQ==","signatures":[{"sig":"MEYCIQCMd65GrJ+pAgzK3x8gcHTLEknDnUWzeri73EKu8CrvagIhANiDksgkAQIqhehDkioDswAYsn3cXZ7uuXfvWrm4kFcT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260526235921","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620435},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","react-transition-progress":"^0.0.4","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","@rolldown/plugin-babel":"^0.2.3","eslint-plugin-react-hooks":"^7.0.0","babel-plugin-react-compiler":"1.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260526235921_1779839982180_0.6693608039495411","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260527000206":{"name":"@redpointgames/framework","version":"0.0.77-dev20260527000206","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260527000206","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"284583a43605ce78cfd011bd75c7660b34a18100","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260527000206.tgz","fileCount":91,"integrity":"sha512-C6OVpWWgv+GEiiSZXe703/OQJxHgTfWING4h9d2BiD6/pnWYc+itYZZwMJYOarY8bu2RiMsRNUZAD95buiTDtw==","signatures":[{"sig":"MEQCIBbWvJ2FSKThfDXGgbxTWEfwPGHaeiOyTqwlBMUtCjI0AiAeJYt/hzKo8BRzO2jtyNf5BnNQndSqnsiw559w8ENVVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260527000206","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":604117},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260527000206_1779840148326_0.7829418500832179","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260527041938":{"name":"@redpointgames/framework","version":"0.0.77-dev20260527041938","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260527041938","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"77bcbd86cdc1ae6b44fff06e215025be7c574749","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260527041938.tgz","fileCount":92,"integrity":"sha512-VtGSWbiuaLrkj8ETomjPBwUnlsAktOzUnycfZ0hn9pVpklwv74fS15v2vxEsYneT3mWBdKj4u0GuT4464HxsjA==","signatures":[{"sig":"MEYCIQCMlo02IKuVY/+w0+SCwPmU/nLeVcCCRngQbEYzEGY18wIhAIliJbtOIiXy4+HF9PHvviqB989AYtLJfAmYOA5zaNaC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260527041938","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":605551},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260527041938_1779855626010_0.20863046386649864","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260527071359":{"name":"@redpointgames/framework","version":"0.0.77-dev20260527071359","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260527071359","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"4ee4875bcdcc1d64979020cbab406007e3e0235e","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260527071359.tgz","fileCount":92,"integrity":"sha512-sG1ut2iMA3dYbli1CFK76PP1PdzcqGGJmt7gAN1IJjYbUbwDODVHyP5rHS6PfmvwWsUX1ddV72x9gwaeJgAzwA==","signatures":[{"sig":"MEQCICr8zoANyIPDI7TzE5lq6JCpH9u9p6Sowl2rqee41Ij6AiA0FYI9Kx6+VcoNEgrZpkJ1lwiJ1RSkFlOPYmxRVzMbBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260527071359","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":608548},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260527071359_1779866062075_0.007144836945903288","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260527072418":{"name":"@redpointgames/framework","version":"0.0.77-dev20260527072418","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260527072418","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"04d3532d09334fb3eba2e6fed57b9528a2dc78d1","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260527072418.tgz","fileCount":92,"integrity":"sha512-to3/4NCZTPs1QxGmD2AcOYUaTVsBsYdbmLiVQzyOBZET6wfzbRy0Jbcj0E+OUdQGEkf82VEA1HHe7Tt4T3WA7w==","signatures":[{"sig":"MEUCIQC3MRdU50jpbpE1xZodZPzSB/5ff6R9b9js0+X6BeVPOwIgeJZtAT1CLKfOu26poOzSVwPYkIdV4X4AhWlE79ivL+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260527072418","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609300},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260527072418_1779866680993_0.6288693376074552","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260527080105":{"name":"@redpointgames/framework","version":"0.0.77-dev20260527080105","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260527080105","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"496e7e88b4ad6c54254236968cb25b852eb37a50","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260527080105.tgz","fileCount":92,"integrity":"sha512-ihXvfKw8J07U85QkdmoRb6AeZe31mNgCtf1EgiDi2V+5kXyzryEmQAMgxOxe3ZuLVhMtdmGAoZMBk9rLgCTaZw==","signatures":[{"sig":"MEYCIQDb8u36+fQqA4eMt6U6k/t1u5HAbeOkthZk7/DTwJLX6QIhAIZkKeexJ1qdZR7vkQeonolvmZHulbAh1HokJSmyoUZS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260527080105","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609473},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260527080105_1779868886341_0.31129274633916015","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260528053147":{"name":"@redpointgames/framework","version":"0.0.77-dev20260528053147","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260528053147","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"1f09d4af9fa45aa1806b8cdc9f91153a4ebe7188","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260528053147.tgz","fileCount":92,"integrity":"sha512-9ZyyX9dT9bx+KlCkdJGU6TClYLA5Lm5VHDqdC3CQ2c7Z0t4Z/YeiDCFDOtMN8jCfSHY+yoOcqa22NMZn5lebJg==","signatures":[{"sig":"MEUCIGUpGj8HmE/O8WvkBq0oqRXrwpWNL/dttTUF8x9u+uzzAiEA+yBlh7PEO15MCrRrur06aDwh4UEcw2zSBdRf4AzVLrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260528053147","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609569},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^16.4.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260528053147_1779946330934_0.27247087638953627","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260528053303":{"name":"@redpointgames/framework","version":"0.0.77-dev20260528053303","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260528053303","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"f60e5efdf635949a384e1bc06fad9de55215e8ea","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260528053303.tgz","fileCount":92,"integrity":"sha512-azjlSBcV89w5mNaFFZs9zi4O6+OMlzW15uG9Zy2QMHBZ6fp1mcD8WVZS2ZK75L4hh8yDriLp1Z/pmP2sUEaEnA==","signatures":[{"sig":"MEUCIAC4Drjh0sg38EoCkdjbzsP2v/VDZSakFTygj359DOCVAiEAp5TNbW+xFextiBeSvLxXJZOYwNmaqIdqSIrPAtlSxw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260528053303","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609569},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","jiti":"^2.6.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260528053303_1779946404905_0.1663170036241195","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260528053624":{"name":"@redpointgames/framework","version":"0.0.77-dev20260528053624","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260528053624","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"0d28dc0e021cae5cac9edd8938be6af94032d50e","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260528053624.tgz","fileCount":92,"integrity":"sha512-051T1OsbRP42NX9UUQFjERuJuwUkaIg+S8leqBB1FMFYYoVNLe76SIcgMYG2Gx7HbKyHTYjhbu2k391kWlAHkA==","signatures":[{"sig":"MEUCIFJD6WHeqNyKzvrncxQBupt0DEM1JxsNY6127FQAnXvKAiEAkktdOQuLj5jCOKkOj3G2Ll2pyWLQ2zRulVuyURWjWFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260528053624","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609547},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260528053624_1779946605902_0.993287926768599","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260528053947":{"name":"@redpointgames/framework","version":"0.0.77-dev20260528053947","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260528053947","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"6e38b80d416441a652522f69885fd06ae6a678f0","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260528053947.tgz","fileCount":92,"integrity":"sha512-z3u3+b76+mm0bCp6RR1hhKFOIo2dSvirmCkxpXgZgGskj3CAeQlTk8eU5qntU7RO3XmCLnw2zH7MIzSBf8tMpA==","signatures":[{"sig":"MEUCIQD3b/FhfecM3iRDwheCwdDyaZeW5KO4odXH1STnzVu4NQIgWJebDd/AEiqpVGrhn56+5NRH2/srMfU7EFUcGF5TeU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260528053947","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609547},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260528053947_1779946810735_0.2523185027227066","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260529061509":{"name":"@redpointgames/framework","version":"0.0.77-dev20260529061509","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260529061509","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"0ebbcb92aab06110e004a2a632ddc79eb8021a68","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260529061509.tgz","fileCount":92,"integrity":"sha512-+tX/naF6RjwlJeZAZ88kJcxd5OjdJvRYWfdZGgA8j9Qauisp01cttLWJxfbq2GsuwHy7HmriXkiuD4+YzBMW/w==","signatures":[{"sig":"MEUCIDjQd/TPiKT8IWM4SyyXAPo/obc4Lzh72kdAOFo4DLv8AiEA+2W9C7W54AAxAK5qSKuxtyQ7pnGXCZAfGq6DZIM+/iY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260529061509","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609741},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260529061509_1780035332473_0.4551950034405734","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260531094652":{"name":"@redpointgames/framework","version":"0.0.77-dev20260531094652","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260531094652","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"928af21167db7cfbdbc4a6d8f2e9c8c7b26b1053","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260531094652.tgz","fileCount":89,"integrity":"sha512-jA6a0CIvjdoLX+ojHl7Of++RAml2xw1pkZi3adU5ka8qXv/RFKm+yN2HmVayhkB8MVaKjtJliRIOUTS2vDIkaA==","signatures":[{"sig":"MEUCIQCmbHEXJtoAhKNWmkXyBlWYhqszxPICKdESgAduXTxDNAIgMhiT/ZNh98uKMdZg/YHxj+RHUHouzhgOiIZ4tnYpIoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260531094652","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":306145},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","@cloudflare/vite-plugin":"^1.39.0","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@hattip/adapter-cloudflare-workers":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260531094652_1780220836684_0.33732694082614256","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260602062931":{"name":"@redpointgames/framework","version":"0.0.77-dev20260602062931","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260602062931","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"cccde72e4865d8ed42798556785cb183a55fd9da","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260602062931.tgz","fileCount":92,"integrity":"sha512-5WNdvWJpt2XlSETDJTEQ/s6OslXQPDRc077coX1Ztfr2yq3T1nZ9FKKC3oa8HhGj4vU+12xhQBmHau9hn7ccbg==","signatures":[{"sig":"MEUCIQDBrC4uciYRbO4YAc+vZ4Tl6YuJuRN2K8rjyjoAaHB8YgIgIEHAXo0x1GJxRG2C+p17uixoCG/ylPnxCZMLt+fLEZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260602062931","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":308062},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./env":{"node":"./src/client/http/env.node.ts","types":"./src/client/http/env.d.ts","workerd":"./src/client/http/env.cloudflare.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","@cloudflare/vite-plugin":"^1.39.0","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@hattip/adapter-cloudflare-workers":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","@cloudflare/workers-types":"^4.20260601.1","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260602062931_1780381796186_0.7895853923354992","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260602085733":{"name":"@redpointgames/framework","version":"0.0.77-dev20260602085733","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260602085733","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"55bbd8743f51421c9f8e46335e7eb848262a29b3","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260602085733.tgz","fileCount":92,"integrity":"sha512-Gy9SapNQP2/RdOfpNuuPBt1LCpLbrAyEHxkatmUTXXNzSSgXsZZ2TgTb2pjqdSLSwSXzkYUhwyclBJxo+ijT7Q==","signatures":[{"sig":"MEUCIQCBONPYGdjLAb0N0+W4GCahb4ghDbqbccCaofY6tmMXwAIgQW2pqi9Yn5Ib7WREmHVQGaBSy3E09L7o55ERSEnwd74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260602085733","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":308570},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./env":{"node":"./src/client/http/env.node.ts","types":"./src/client/http/env.d.ts","workerd":"./src/client/http/env.cloudflare.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","@cloudflare/vite-plugin":"^1.39.0","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@hattip/adapter-cloudflare-workers":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","@cloudflare/workers-types":"^4.20260601.1","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260602085733_1780390678146_0.0033528955003483407","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260602091024":{"name":"@redpointgames/framework","version":"0.0.77-dev20260602091024","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260602091024","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"8404eb76960097e576741ae193802df083f0f49d","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260602091024.tgz","fileCount":92,"integrity":"sha512-y/JF+NLzOXTGrULRidTTDuVAMcEabqLz/TKG3UP140eMNuR17M1/0rqtMfbnj4Th1YROiAcYnxx5+aQEhXvYxg==","signatures":[{"sig":"MEUCIQDPP0qfaQweh/dm6wMO3KWHCR3rrZI3rTXrGhKvEI6nBgIgWp0ObkhCYHcjGYp9FCnizrib2abAXDGrJQQpGOso/G0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260602091024","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":308838},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./env":{"node":"./src/client/http/env.node.ts","types":"./src/client/http/env.d.ts","workerd":"./src/client/http/env.cloudflare.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","@cloudflare/vite-plugin":"^1.39.0","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@hattip/adapter-cloudflare-workers":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","@cloudflare/workers-types":"^4.20260601.1","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260602091024_1780391450334_0.09595100764598752","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260602102602":{"name":"@redpointgames/framework","version":"0.0.77-dev20260602102602","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260602102602","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"8f3aa03e8f9063bcbc3c55e20f07c134f836eb51","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260602102602.tgz","fileCount":92,"integrity":"sha512-6WvvVAQwY4cvqEPKpRztx/zEU+Z2pP1xvCXQo6gtcIDDnLPiAplozatPXaj2WlTMHMZU2hnli7h9sJvtBqyw9w==","signatures":[{"sig":"MEUCIQCMRIC+mKWUqnXIpDiMkxxxH2+lCbXabGXFoR6m8Up6BgIgfDOWmFMlzCw4xiOHl+r43sS8JM1i4SBaQOxxwaFlGLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260602102602","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":309590},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./env":{"node":"./src/client/http/env.node.ts","types":"./src/client/http/env.d.ts","workerd":"./src/client/http/env.cloudflare.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","@cloudflare/vite-plugin":"^1.39.0","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@hattip/adapter-cloudflare-workers":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","@cloudflare/workers-types":"^4.20260601.1","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260602102602_1780395985954_0.9961955981031196","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260604074846":{"name":"@redpointgames/framework","version":"0.0.77-dev20260604074846","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260604074846","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"1e967f987161921036de368755cc413bbe091bb4","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260604074846.tgz","fileCount":92,"integrity":"sha512-mZ37X6m4XWBMZQFW3qKePKhQdZUQKsAc0gF9mxiryLNkbac0k5fU4yXMaCvFvTncaknMDt1QDtFxQGyEyDGRJA==","signatures":[{"sig":"MEQCIFh3RLTAukJ1Jt1FjQhwMCa+XtxHeUhfiKGQCxghL1BNAiB+QWHmO1H4NQBwPvcL/oMZkTzZ7NwIytcS3gSES2HdiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260604074846","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310142},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./env":{"node":"./src/client/http/env.node.ts","types":"./src/client/http/env.d.ts","workerd":"./src/client/http/env.cloudflare.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","@cloudflare/vite-plugin":"^1.39.0","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@hattip/adapter-cloudflare-workers":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","@cloudflare/workers-types":"^4.20260601.1","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260604074846_1780559349728_0.04415780445667972","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260604084942":{"name":"@redpointgames/framework","version":"0.0.77-dev20260604084942","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260604084942","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"f94c46eaa24e9d9ab956c8e2a85e57042c3d4817","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260604084942.tgz","fileCount":92,"integrity":"sha512-PE4IG4Gy3jLiV9kVW71LizICsfECmo0qBHyvPcflY86ujwdGeFoU5F77F307FQ9YZcJEGQhI66AvmprlzRrnSQ==","signatures":[{"sig":"MEUCIQDFMWMrO5wC4nCzgjv08A7AR82++i6SgIglBx6Vw9Fs8wIgKynlj0FDFQadEB0A/PS5izIzdwIaKeaHKZzrWA9h6zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260604084942","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310140},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/types/global.d.ts"},"./env":{"node":"./src/client/http/env.node.ts","types":"./src/client/http/env.d.ts","workerd":"./src/client/http/env.cloudflare.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","@cloudflare/vite-plugin":"^1.39.0","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@hattip/adapter-cloudflare-workers":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","@cloudflare/workers-types":"^4.20260601.1","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260604084942_1780563007701_0.5083761597952539","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260605055552":{"name":"@redpointgames/framework","version":"0.0.77-dev20260605055552","keywords":[],"author":"Ryan Toronto","license":"ISC","_id":"@redpointgames/framework@0.0.77-dev20260605055552","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"bin":{"twofold":"./dist/backend/bin.js"},"dist":{"shasum":"0f4bcee9c648db66f0195f5d30fefd382955e19a","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260605055552.tgz","fileCount":92,"integrity":"sha512-AXkRPaCTpuPcy0qib+6UXuK/29Wqixbvo1VC3NijqSLwCWE6EQ5HTY3ld976/zj4chVXzyk1nugJNiFDysSW3g==","signatures":[{"sig":"MEQCIGQKSFQjQTpkWb6j7yGmG+73UzVyK9VW1Vol+NqGHfuNAiBwpt+3DC/xm2FNlr+sSPlU9Kn3EiRW/TOCg3gcFlSZKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260605055552","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310573},"type":"module","engines":{"node":">=22.20.0"},"exports":{".":{"types":"./src/backend/vite/types.d.ts"},"./env":{"node":"./src/client/http/env.node.ts","types":"./src/client/http/env.d.ts","workerd":"./src/client/http/env.cloudflare.ts"},"./auth":"./src/client/http/auth.ts","./link":"./src/client/components/link.tsx","./flash":{"default":"./src/client/actions/flash-client.ts","react-server":"./src/client/actions/flash.ts"},"./types":"./src/types/importable.ts","./crypto":"./src/client/http/crypto.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./cookies":"./src/client/http/cookies.ts","./headers":"./src/client/http/headers.ts","./redirect":"./src/client/http/redirect.ts","./not-found":"./src/client/http/not-found.ts","./telemetry":"./src/backend/vite/telemetry.ts","./encryption":"./dist/backend/encryption.js","./use-router":"./src/client/hooks/use-router.ts","./auth-server":"./src/client/http/auth-server.ts","./context/page":"./src/client/server-context/page.ts","./unauthorized":"./src/client/http/unauthorized.ts","./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./twofold-framework":"./src/client/components/twofold-framework.tsx","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"scripts":{"lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run","compile":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"repository":"https://github.com/RedpointGames/twofold","description":"","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","etag":"^1.8.1","vite":"^8.0.10","kleur":"^4.1.5","dotenv":"^17.4.2","mkcert":"^3.2.0","esbuild":"0.28.0","chokidar":"^5.0.0","fast-uri":">=3.1.2","rolldown":"1.0.2","commander":"^14.0.3","deepmerge":"^4.3.1","minimatch":"^10.0.3","picomatch":"^4.0.4","mime-types":"^3.0.2","@babel/core":"^7.29.0","client-only":"^0.0.1","server-only":"^0.0.1","xxhash-wasm":"^1.1.0","@hattip/core":"^0.0.49","@hattip/walk":"^0.0.49","react-refresh":"^0.18.0","@hattip/cookie":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/headers":"^0.0.49","is-plain-object":"^5.0.0","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","@hattip/response":"^0.0.49","@tailwindcss/node":"4.2.4","@tailwindcss/vite":"^4.2.4","stacktrace-parser":"^0.1.11","@tailwindcss/oxide":"4.2.4","@vitejs/plugin-rsc":"^0.5.26","urlpattern-polyfill":"10.1.0","@hattip/adapter-node":"^0.0.49","@vitejs/plugin-react":"^6.0.1","@rolldown/plugin-babel":"^0.2.3","@cloudflare/vite-plugin":"^1.39.0","react-transition-progress":"^0.0.4","babel-plugin-react-compiler":"^1.0.0","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@hattip/adapter-cloudflare-workers":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"cookie":"^1.0.2","eslint":"^10.3.0","tsdown":"^0.21.10","vitest":"^4.1.5","globals":"^17.6.0","nodemon":"^3.1.10","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/etag":"^1.8.4","@types/node":"^22.16.5","@types/react":"^19.2.15","@types/picomatch":"^4.0.3","@types/react-dom":"^19.2.3","@types/mime-types":"^3.0.1","typescript-eslint":"^8.59.4","@types/babel__core":"^7.20.5","eslint-plugin-react":"^7.37.5","@rolldown/pluginutils":"1.0.0-rc.17","@cloudflare/workers-types":"^4.20260601.1","eslint-plugin-react-hooks":"^7.0.0"},"peerDependencies":{"zod":">=4.0.0","react":"19.2.6","react-dom":"19.2.6","tailwindcss":">=4.0.0","react-server-dom-webpack":"19.2.6"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/framework_0.0.77-dev20260605055552_1780638987115_0.937651223082935","host":"s3://npm-registry-packages-npm-production"}},"0.0.77-dev20260611072443":{"name":"@redpointgames/framework","version":"0.0.77-dev20260611072443","description":"","type":"module","bin":{"twofold":"./dist/backend/bin.js"},"exports":{".":{"types":"./src/backend/vite/types.d.ts"},"./types":"./src/types/importable.ts","./twofold-framework":"./src/client/components/twofold-framework.tsx","./link":"./src/client/components/link.tsx","./use-router":"./src/client/hooks/use-router.ts","./use-optimistic-route":"./src/client/hooks/use-optimistic-route.ts","./cookies":"./src/client/http/cookies.ts","./crypto":"./src/client/http/crypto.ts","./env":{"types":"./src/client/http/env.d.ts","node":"./src/client/http/env.node.ts","workerd":"./src/client/http/env.cloudflare.ts"},"./headers":"./src/client/http/headers.ts","./auth":"./src/client/http/auth.ts","./auth-server":"./src/client/http/auth-server.ts","./not-found":"./src/client/http/not-found.ts","./unauthorized":"./src/client/http/unauthorized.ts","./redirect":"./src/client/http/redirect.ts","./encryption":"./dist/backend/encryption.js","./telemetry":"./src/backend/vite/telemetry.ts","./errors":"./src/backend/runtime/helpers/errors.ts","./context/page":"./src/client/server-context/page.ts","./flash":{"react-server":"./src/client/actions/flash.ts","default":"./src/client/actions/flash-client.ts"},"./internal/router":{"react-server":"./src/backend/vite/router.tsx"},"./internal/entrypoint/entry.browser.tsx":{"browser":"./src/backend/vite/entrypoint/entry.browser.tsx"},"./internal/entrypoint/entry.ssr.tsx":{"node":"./src/backend/vite/entrypoint/entry.ssr.tsx","workerd":"./src/backend/vite/entrypoint/entry.ssr.tsx"},"./internal/entrypoint/entry.server.ts":{"react-server":"./src/backend/vite/entrypoint/entry.server.ts"},"./internal/production/server.node.ts":{"node":"./src/backend/vite/production/server.node.ts"},"./internal/production/server.cloudflare.ts":{"workerd":"./src/backend/vite/production/server.cloudflare.ts"}},"keywords":[],"author":"Ryan Toronto","license":"ISC","engines":{"node":">=22.20.0"},"devDependencies":{"@cloudflare/workers-types":"^4.20260601.1","@eslint/js":"^10.0.1","@rolldown/pluginutils":"1.0.0-rc.17","@types/babel__core":"^7.20.5","@types/etag":"^1.8.4","@types/mime-types":"^3.0.1","@types/node":"^22.16.5","@types/picomatch":"^4.0.3","@types/react":"^19.2.15","@types/react-dom":"^19.2.3","cookie":"^1.0.2","eslint":"^10.3.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0","globals":"^17.6.0","nodemon":"^3.1.10","tsdown":"^0.21.10","typescript":"^5.9.3","typescript-eslint":"^8.59.4","vitest":"^4.1.5"},"peerDependencies":{"react":"19.2.6","react-dom":"19.2.6","react-server-dom-webpack":"19.2.6","tailwindcss":">=4.0.0","zod":">=4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"dependencies":{"@babel/core":"^7.29.0","@cloudflare/vite-plugin":"^1.39.0","@hattip/adapter-cloudflare-workers":"^0.0.49","@hattip/adapter-node":"^0.0.49","@hattip/compose":"^0.0.49","@hattip/cookie":"^0.0.49","@hattip/core":"^0.0.49","@hattip/headers":"^0.0.49","@hattip/response":"^0.0.49","@hattip/router":"^0.0.49","@hattip/static":"^0.0.49","@hattip/walk":"^0.0.49","@rolldown/plugin-babel":"^0.2.3","@ryanto/esbuild-plugin-tailwind":"^0.0.3","@tailwindcss/node":"4.2.4","@tailwindcss/oxide":"4.2.4","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^6.0.1","@vitejs/plugin-rsc":"^0.5.26","babel-plugin-react-compiler":"^1.0.0","chokidar":"^5.0.0","client-only":"^0.0.1","commander":"^14.0.3","deepmerge":"^4.3.1","dotenv":"^17.4.2","esbuild":"0.28.0","etag":"^1.8.1","fast-uri":">=3.1.2","is-plain-object":"^5.0.0","kleur":"^4.1.5","mime-types":"^3.0.2","minimatch":"^10.0.3","mkcert":"^3.2.0","picomatch":"^4.0.4","react-refresh":"^0.18.0","react-transition-progress":"^0.0.4","rolldown":"1.0.2","rsc-html-stream":"^0.0.7","serialize-error":"^13.0.1","server-only":"^0.0.1","stacktrace-parser":"^0.1.11","urlpattern-polyfill":"10.1.0","vite":"^8.0.10","xxhash-wasm":"^1.1.0","zod":"^4.4.3"},"repository":"https://github.com/RedpointGames/twofold","scripts":{"compile":"tsdown","lint":"eslint . && tsc --noEmit -p tsconfig.json","test":"vitest run"},"_nodeVersion":"24.16.0","_id":"@redpointgames/framework@0.0.77-dev20260611072443","dist":{"integrity":"sha512-sikNAX30fLNQSmA0Ukw4iQpZX55FUvyUOdLSsxlxNl8jEb7AKcLU3sFHGaaV+q4uea4S8onnlXHDszO2KHvaMQ==","shasum":"e529e7db6ea45023d0769a9067d0fb1d8ed875c9","tarball":"https://registry.npmjs.org/@redpointgames/framework/-/framework-0.0.77-dev20260611072443.tgz","fileCount":92,"unpackedSize":310553,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@redpointgames%2fframework@0.0.77-dev20260611072443","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGPV6Ns/VSmGxpMAKTSfLlShL23Vre+ePHJiBEYrmEvnAiEA15xzhq/Mva1OiNf2OxkhK0UZWU3cAEGehW5bA5eSQGY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6859235b-7eef-4160-82f8-3c621c42b538"}},"directories":{},"maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/framework_0.0.77-dev20260611072443_1781162707191_0.9470604531882616"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-19T08:26:58.122Z","modified":"2026-06-11T07:25:07.606Z","0.0.76-dev.2026.4.19.8.26.38":"2026-04-19T08:26:58.371Z","0.0.76-dev.2026.4.19.8.27.1":"2026-04-19T08:27:20.535Z","0.0.76-dev.2026.4.19.8.41.14":"2026-04-19T08:41:38.079Z","0.0.76-dev.2026.4.19.8.42.5":"2026-04-19T08:42:27.949Z","0.0.76-dev.2026.4.19.9.17.46":"2026-04-19T09:18:10.076Z","0.0.76-dev.2026.4.19.9.18.42":"2026-04-19T09:19:01.810Z","0.0.76-dev.2026.4.19.9.49.34":"2026-04-19T09:49:54.539Z","0.0.76-dev.2026.4.19.10.17.9":"2026-04-19T10:17:51.208Z","0.0.76-dev.2026.4.19.10.25.11":"2026-04-19T10:25:52.203Z","0.0.76-dev.2026-04-19-10-27-46":"2026-04-19T10:28:22.392Z","0.0.76-dev20260419102911":"2026-04-19T10:29:52.170Z","0.0.76-dev20260420021406":"2026-04-20T02:14:49.133Z","0.0.76-dev20260420032229":"2026-04-20T03:23:12.634Z","0.0.76-dev20260420051511":"2026-04-20T05:15:55.154Z","0.0.76-dev20260420083520":"2026-04-20T08:36:00.272Z","0.0.76-dev20260420085921":"2026-04-20T09:00:01.525Z","0.0.76-dev20260420120005":"2026-04-20T12:00:47.542Z","0.0.76-dev20260421165427":"2026-04-21T16:55:14.467Z","0.0.76-dev20260421170939":"2026-04-21T17:10:23.117Z","0.0.76-dev20260421171525":"2026-04-21T17:16:12.359Z","0.0.76-dev20260422033430":"2026-04-22T03:35:15.820Z","0.0.76-dev20260422033959":"2026-04-22T03:40:41.629Z","0.0.76-dev20260422034002":"2026-04-22T03:40:44.152Z","0.0.76-dev20260422035500":"2026-04-22T03:55:38.022Z","0.0.76-dev20260422040724":"2026-04-22T04:08:04.920Z","0.0.76-dev20260422043556":"2026-04-22T04:36:42.498Z","0.0.76-dev20260422044006":"2026-04-22T04:40:49.263Z","0.0.76-dev20260422044517":"2026-04-22T04:46:01.498Z","0.0.76-dev20260422044602":"2026-04-22T04:46:45.045Z","0.0.76-dev20260422052256":"2026-04-22T05:23:41.809Z","0.0.76-dev20260422063035":"2026-04-22T06:31:17.532Z","0.0.76-dev20260422070101":"2026-04-22T07:01:46.662Z","0.0.76-dev20260422075416":"2026-04-22T07:55:00.645Z","0.0.76-dev20260422134849":"2026-04-22T13:49:32.428Z","0.0.77-dev20260430111227":"2026-04-30T11:12:49.483Z","0.0.77-dev20260430112402":"2026-04-30T11:24:25.918Z","0.0.77-dev20260430112914":"2026-04-30T11:29:39.090Z","0.0.77-dev20260430113515":"2026-04-30T11:35:36.330Z","0.0.77-dev20260430114441":"2026-04-30T11:45:05.686Z","0.0.77-dev20260430144350":"2026-04-30T14:44:13.107Z","0.0.77-dev20260430145935":"2026-04-30T14:59:58.900Z","0.0.77-dev20260430150110":"2026-04-30T15:01:41.616Z","0.0.77-dev20260430152000":"2026-04-30T15:20:22.037Z","0.0.77-dev20260430164317":"2026-04-30T16:43:40.287Z","0.0.77-dev20260430165332":"2026-04-30T16:53:57.799Z","0.0.77-dev20260430165441":"2026-04-30T16:55:02.239Z","0.0.77-dev20260501143925":"2026-05-01T14:39:50.151Z","0.0.77-dev20260501172514":"2026-05-01T17:25:38.377Z","0.0.77-dev20260502170105":"2026-05-02T17:01:29.756Z","0.0.77-dev20260502175858":"2026-05-02T17:59:22.763Z","0.0.77-dev20260503161512":"2026-05-03T16:15:37.269Z","0.0.77-dev20260504040958":"2026-05-04T04:10:18.888Z","0.0.77-dev20260504092827":"2026-05-04T09:28:52.567Z","0.0.77-dev20260505014046":"2026-05-05T01:41:11.175Z","0.0.77-dev20260505015911":"2026-05-05T01:59:36.583Z","0.0.77-dev20260505043054":"2026-05-05T04:31:15.952Z","0.0.77-dev20260505045321":"2026-05-05T04:53:43.458Z","0.0.77-dev20260505214814":"2026-05-05T21:48:41.155Z","0.0.77-dev20260505225234":"2026-05-05T22:52:56.108Z","0.0.77-dev20260506020152":"2026-05-06T02:02:15.140Z","0.0.77-dev20260512060417":"2026-05-12T06:04:45.695Z","0.0.77-dev20260520031845":"2026-05-20T03:19:10.620Z","0.0.77-dev20260520031940":"2026-05-20T03:20:09.223Z","0.0.77-dev20260520032253":"2026-05-20T03:23:14.370Z","0.0.77-dev20260520032317":"2026-05-20T03:23:40.226Z","0.0.77-dev20260520032330":"2026-05-20T03:23:49.729Z","0.0.77-dev20260520043507":"2026-05-20T04:35:30.351Z","0.0.77-dev20260526033611":"2026-05-26T03:36:32.940Z","0.0.77-dev20260526033632":"2026-05-26T03:36:54.685Z","0.0.77-dev20260526072308":"2026-05-26T07:23:30.616Z","0.0.77-dev20260526072348":"2026-05-26T07:24:08.317Z","0.0.77-dev20260526200714":"2026-05-26T20:07:38.578Z","0.0.77-dev20260526232441":"2026-05-26T23:25:01.662Z","0.0.77-dev20260526235921":"2026-05-26T23:59:42.325Z","0.0.77-dev20260527000206":"2026-05-27T00:02:28.482Z","0.0.77-dev20260527041938":"2026-05-27T04:20:26.199Z","0.0.77-dev20260527071359":"2026-05-27T07:14:22.252Z","0.0.77-dev20260527072418":"2026-05-27T07:24:41.125Z","0.0.77-dev20260527080105":"2026-05-27T08:01:26.520Z","0.0.77-dev20260528053147":"2026-05-28T05:32:11.094Z","0.0.77-dev20260528053303":"2026-05-28T05:33:25.083Z","0.0.77-dev20260528053624":"2026-05-28T05:36:46.093Z","0.0.77-dev20260528053947":"2026-05-28T05:40:10.883Z","0.0.77-dev20260529061509":"2026-05-29T06:15:32.625Z","0.0.77-dev20260531094652":"2026-05-31T09:47:16.839Z","0.0.77-dev20260602062931":"2026-06-02T06:29:56.347Z","0.0.77-dev20260602085733":"2026-06-02T08:57:58.296Z","0.0.77-dev20260602091024":"2026-06-02T09:10:50.464Z","0.0.77-dev20260602102602":"2026-06-02T10:26:26.085Z","0.0.77-dev20260604074846":"2026-06-04T07:49:09.873Z","0.0.77-dev20260604084942":"2026-06-04T08:50:07.827Z","0.0.77-dev20260605055552":"2026-06-05T05:56:27.275Z","0.0.77-dev20260611072443":"2026-06-11T07:25:07.353Z"},"author":"Ryan Toronto","license":"ISC","keywords":[],"repository":"https://github.com/RedpointGames/twofold","maintainers":[{"name":"hach-que","email":"npm@redpoint.games"}],"readme":"","readmeFilename":""}