void 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS_TEMPLATE.md +1 -3
- package/README.md +19 -9
- package/dist/{account-cmd-CDry3B5V.mjs → account-cmd-l-FM7Ioq.mjs} +8 -7
- package/dist/{application-analysis-DC2yPvzY.mjs → application-analysis-DKy02UY0.mjs} +21 -32
- package/dist/{application-routing-C9khgLiS.mjs → application-routing-DQyUh_5S.mjs} +1 -1
- package/dist/{auth-D52yG7hl.mjs → auth-Dn2vw-SG.mjs} +9 -9
- package/dist/{auth-B60QDbjg.mjs → auth-LMJcNESe.mjs} +1 -1
- package/dist/{auth-link-DjeOptYi.mjs → auth-link-vz9Z2kmG.mjs} +5 -5
- package/dist/{auth-migrations-9vif1uj8.mjs → auth-migrations-BwHgeEsD.mjs} +8 -18
- package/dist/{auth-router-BRxIuqDi.mjs → auth-router-DvsCUVw4.mjs} +6 -19
- package/dist/{better-auth-shared-BVkjZ3vM.d.mts → better-auth-shared-CPvWD3nG.d.mts} +0 -4
- package/dist/{better-auth-shared-hy6RPh9W.mjs → better-auth-shared-DPpj8zxc.mjs} +94 -16
- package/dist/{build-cmd-Ce3C8huo.mjs → build-cmd-D6we0VjO.mjs} +8 -7
- package/dist/{cache-CS8Yxr5a.mjs → cache-CZRdzKx1.mjs} +8 -8
- package/dist/{cancel-deploy-mZsD88Xa.mjs → cancel-deploy-CQ3NnMvf.mjs} +6 -5
- package/dist/{cf-access-YTlqvAsk.mjs → cf-access-BcIBSKqG.mjs} +11 -12
- package/dist/{cf-build-output-U8o1Gl6X.mjs → cf-build-output-DjvB_872.mjs} +62 -85
- package/dist/cf-build-output-H9a97vME.mjs +2 -0
- package/dist/cf-user-agent-lKblH3zU.mjs +17 -0
- package/dist/cli/cli.mjs +48 -83
- package/dist/cli/cloudflare-operation-process.mjs +78 -78
- package/dist/cli/env-schema-probe.mjs +5 -6
- package/dist/{client-mC-dFGDD.mjs → client-DlDJuY0s.mjs} +30 -8
- package/dist/client-tso2OfcG.mjs +2 -0
- package/dist/{cloudflare-auth-Qdc7tw8F.mjs → cloudflare-auth-CuxfF6OA.mjs} +9 -17
- package/dist/{cloudflare-cmd-bhwCxAN6.mjs → cloudflare-cmd-lHqNlJGW.mjs} +6 -5
- package/dist/{cloudflare-config-Bktvwtpf.mjs → cloudflare-config-BmhBv3HV.mjs} +1 -1
- package/dist/{cloudflare-connect-CuhRgk3k.mjs → cloudflare-connect-2G3rL2rP.mjs} +4 -4
- package/dist/{cloudflare-operations-DoQrVHAt.mjs → cloudflare-operations-BlYLlowZ.mjs} +1 -1
- package/dist/{cloudflare-operations-DYa3coIk.mjs → cloudflare-operations-CwI1bChl.mjs} +41 -70
- package/dist/{cloudflare-process-B-wekeR6.mjs → cloudflare-process-2-TfIEzB.mjs} +20 -22
- package/dist/{config-CyQ-wVd7.mjs → config-5r-YpMC-.mjs} +1 -1
- package/dist/{config-C_XRIPx2.mjs → config-B_ggY-IO.mjs} +3 -3
- package/dist/config-BtSFvXZx.mjs +2 -0
- package/dist/config-CLYAosnQ.mjs +78 -0
- package/dist/{config-BMHb8RCj.d.mts → config-CSa15FvD.d.mts} +1 -1
- package/dist/{config-Br_JZD6u.mjs → config-DiowPT80.mjs} +24 -30
- package/dist/config-entry.d.mts +1 -1
- package/dist/{config-write-B1f88wJA.mjs → config-write-AHGesphx.mjs} +8 -7
- package/dist/{connect-H6EvP62X.mjs → connect-BfPBHHm-.mjs} +12 -11
- package/dist/{create-project-B2kk9Q0o.mjs → create-project-BdXEFKal.mjs} +7 -7
- package/dist/{create-project-Dbb4uiN-.mjs → create-project-qFDC45zg.mjs} +1 -1
- package/dist/{db-DpCKZto0.mjs → db-Xs80hcaA.mjs} +101 -133
- package/dist/{delete-CxlSvsvW.mjs → delete-d2vuou3j.mjs} +7 -7
- package/dist/{deploy-CeEbnv4b.mjs → deploy-Bqe1PYBw.mjs} +2351 -2497
- package/dist/deploy-VsWsVQkw.mjs +2 -0
- package/dist/{dev-inbox-D64ZKUod.mjs → dev-inbox-CK-UuPob.mjs} +7 -16
- package/dist/{discover-BcPPiF1o.mjs → discover-CkCYv9T_.mjs} +1 -2
- package/dist/discover-EDUf6JJw.mjs +2 -0
- package/dist/{prompts-ZAuJlyCj.mjs → dist-Bx1z6Eva.mjs} +1 -1
- package/dist/{dist-AoCzRTJE.mjs → dist-Cegxq8gs.mjs} +8 -8
- package/dist/{prompts-6OSVA7DJ.mjs → dist-D3m88sjf.mjs} +10 -53
- package/dist/{domain-B_9VgOm6.mjs → domain-BsDUBAvt.mjs} +29 -30
- package/dist/{dotenv-VQxupEUv.mjs → dotenv-BfU6eqFt.mjs} +20 -32
- package/dist/{drizzle-Beb2Am5S.mjs → drizzle-CF84FOVM.mjs} +16 -13
- package/dist/{email-BokHgjKj.mjs → email-_lGAHOhp.mjs} +24 -19
- package/dist/{email--tEtMoj_.mjs → email-d_Aux1vM.mjs} +1 -1
- package/dist/{entry-CF5wvH4w.mjs → entry-CMAkqBmU.mjs} +6 -6
- package/dist/{env-_v349JBd.mjs → env-BxocywBB.mjs} +25 -6
- package/dist/{env-BdTc-K2L.mjs → env-C74QepDE.mjs} +10 -10
- package/dist/{env-D5liuQYR.mjs → env-DMA3cXZt.mjs} +1 -1
- package/dist/{env-raw-Cx8ElDdj.mjs → env-raw-jZpP5n47.mjs} +1 -2
- package/dist/{env-types-D5kds_OZ.mjs → env-types-CwXgeMgL.mjs} +1 -1
- package/dist/{env-validation-cZBvGWaP.mjs → env-validation-CrVNjsPm.mjs} +1 -1
- package/dist/{env-validation-vBSQ8gw5.mjs → env-validation-Dxdx_5wo.mjs} +17 -21
- package/dist/{fetch-_SeGZao9.d.mts → fetch-BPCYVi3H.d.mts} +20 -1
- package/dist/{fetch-BIZJh7vR.mjs → fetch-sAcwjzLO.mjs} +1 -1
- package/dist/{fetch-stream-Nm3hkZbT.mjs → fetch-stream-PGgz4uGz.mjs} +18 -23
- package/dist/{fetch-stream-Bjf0hoZb.d.mts → fetch-stream-obvZ7fvO.d.mts} +1 -16
- package/dist/{gen-BhDlTpwW.mjs → gen-DtkQhvQg.mjs} +40 -57
- package/dist/gen-dA9hW7AV.mjs +2 -0
- package/dist/{github-cmd-hhkTzlGS.mjs → github-cmd-DaDdBbSS.mjs} +65 -164
- package/dist/{handler-DghKr6dU.mjs → handler-BHAn2fZJ.mjs} +1 -0
- package/dist/{handler-BeK3weD4.d.mts → handler-CNAwjRcW.d.mts} +4 -11
- package/dist/{head-Do8P4puT.d.mts → head-C8K_iGe6.d.mts} +1 -1
- package/dist/{head-D_QRR5Yd.mjs → head-D2VF4ApL.mjs} +29 -51
- package/dist/{headers-2rKda9Y6.mjs → headers-DlfR78Nu.mjs} +3 -3
- package/dist/{help-Bv44e2tm.mjs → help-0bTe_lID.mjs} +13 -32
- package/dist/help-DfQYVfGY.mjs +2 -0
- package/dist/{inbound-fRkqcXaC.mjs → inbound-PfQDLXc5.mjs} +23 -24
- package/dist/index.d.mts +19 -2
- package/dist/index.mjs +619 -532
- package/dist/{info-DhtTKh65.mjs → info-PYWwkWyt.mjs} +4 -4
- package/dist/{init-BMf4T03q.mjs → init-DaBGmaXC.mjs} +161 -198
- package/dist/{link-BqYsSS_I.mjs → link-C6fjafep.mjs} +10 -10
- package/dist/{list-_kBToO-l.mjs → list-BTFBlqKl.mjs} +9 -8
- package/dist/{live-CB1y5IuC.mjs → live-CgQuTpqD.mjs} +15 -16
- package/dist/{live-iAuEH1hd.d.mts → live-Du8jXwOW.d.mts} +4 -2
- package/dist/{local-d1-fGxYrVD6.mjs → local-d1-ga5O_idV.mjs} +2 -2
- package/dist/{login-DFuo-RWO.mjs → login-GKcNUmtI.mjs} +7 -7
- package/dist/login-mx_ydhmp.mjs +2 -0
- package/dist/{logs-DYgnh6dH.mjs → logs-BiMSULmc.mjs} +28 -11
- package/dist/migrate-BHp07yJE.mjs +2 -0
- package/dist/{migrate-CV1on-yJ.mjs → migrate-NLsjBbuM.mjs} +34 -20
- package/dist/{mime-D5Nmdzf7.mjs → mime-DxCznlJq.mjs} +45 -95
- package/dist/{node-C6Q6e1Es.mjs → node-DJicPvPj.mjs} +5 -5
- package/dist/{operator-args-DdY54Bgb.mjs → operator-args-DOBhIaIg.mjs} +10 -1
- package/dist/{operator-auth-2dsGlTT5.mjs → operator-auth-BEZ_u0Cz.mjs} +2 -2
- package/dist/{operator-client-BFqpp6z0.mjs → operator-client-DbDv4vtE.mjs} +2 -2
- package/dist/{operator-cmd-CUGHXrQf.mjs → operator-cmd-BT4hgavL.mjs} +24 -11
- package/dist/operator-cmd-CwBB-1yb.mjs +2 -0
- package/dist/{output-BvdaehtE.mjs → output-C50ag2r3.mjs} +20 -2
- package/dist/pages/client.d.mts +19 -51
- package/dist/pages/client.mjs +204 -225
- package/dist/pages/head-client.d.mts +1 -1
- package/dist/pages/head.d.mts +1 -1
- package/dist/pages/head.mjs +1 -1
- package/dist/pages/index.d.mts +2 -2
- package/dist/pages/index.mjs +6 -12
- package/dist/pages/islands-plugin.d.mts +1 -1
- package/dist/pages/islands-plugin.mjs +21 -25
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +2 -2
- package/dist/{plan-CJGEeTEI.mjs → plan-BhLO2p4w.mjs} +2 -1
- package/dist/plan-CH2G51je.mjs +2 -0
- package/dist/platform-args-D4E1PjVw.mjs +2 -0
- package/dist/{platform-args-DSV2p4nY.mjs → platform-args-DUeXY9Om.mjs} +1 -1
- package/dist/{platform-auth-config-Bosx7U1h.mjs → platform-auth-config-CkSx3usH.mjs} +40 -36
- package/dist/{platform-auth-protection-DcbL_LW_.mjs → platform-auth-protection-BJimB_p9.mjs} +9 -8
- package/dist/{platform-auth-recovery-WfTZ8K6o.mjs → platform-auth-recovery-BU6izFAU.mjs} +8 -7
- package/dist/{platform-cmd-DbKtQb_4.mjs → platform-cmd-BbY1dWiM.mjs} +14 -13
- package/dist/{platform-cmd-dyFUof0t.mjs → platform-cmd-BbmJiq5O.mjs} +1 -1
- package/dist/{platform-discovery-BC0HCKYt.mjs → platform-discovery-DIYz8V63.mjs} +1 -1
- package/dist/{platform-domain-Bsq43AJp.mjs → platform-domain-CHVS6cV0.mjs} +6 -6
- package/dist/{platform-lifecycle--5gWmDoI.mjs → platform-lifecycle-ByAlpkhV.mjs} +1 -1
- package/dist/{platform-lifecycle-Cfi0o6xM.mjs → platform-lifecycle-DzCwqhFq.mjs} +76 -387
- package/dist/{platform-management-Bbwf6-Dq.mjs → platform-management-CBOT4BSM.mjs} +1 -1
- package/dist/{platform-management-BrF9STZp.mjs → platform-management-CuuVDhyt.mjs} +7 -7
- package/dist/{platform-plans-config-DU-8nC2Y.mjs → platform-plans-config-CN-heS4q.mjs} +5 -4
- package/dist/{platform-recovery-DQAqAQYu.mjs → platform-recovery-CskSJgLh.mjs} +3 -3
- package/dist/{platform-registry-P387v42A.mjs → platform-registry-Cjv2Qf0r.mjs} +5 -1
- package/dist/platform-setup-BBxRxmFC.mjs +299 -0
- package/dist/{plugin-inference-CXWnn79A.mjs → plugin-inference-BlQbOL0P.mjs} +43 -42
- package/dist/prepare-DRUV-g3X.mjs +2 -0
- package/dist/{prepare-WoUubFKL.mjs → prepare-Do96654b.mjs} +8 -8
- package/dist/{prepare-BMrRWLwP.mjs → prepare-Dq9hTIbo.mjs} +4 -4
- package/dist/{prerender-render-D9qbLs2f.mjs → prerender-render-Ct20jftc.mjs} +17 -3
- package/dist/prerender-render.mjs +1 -1
- package/dist/{project-DQstYTxO.mjs → project-BAm2aB6Q.mjs} +1 -1
- package/dist/{project-BiaPQ7ur.mjs → project-DedqCp59.mjs} +1 -1
- package/dist/{project-cmd-BbH2LptN.mjs → project-cmd-DaoRrn-8.mjs} +19 -19
- package/dist/{project-team-Yiww3-go.mjs → project-team-Q_lCA7Io.mjs} +15 -18
- package/dist/{project-token-BrtT2NkY.mjs → project-token-BArgK9o1.mjs} +14 -17
- package/dist/{project-tsconfig-B8GeM0RM.mjs → project-tsconfig-CVJhNMxs.mjs} +2 -1
- package/dist/{project-zero-trust-nYJ2V2nc.mjs → project-zero-trust-KO9Hu2Pq.mjs} +12 -9
- package/dist/{protocol-BX8t2jiw.d.mts → protocol-BPZaNqBo.d.mts} +4 -2
- package/dist/{protocol-U7bfjHmA.mjs → protocol-CfaUwNs8.mjs} +46 -49
- package/dist/{providers-CJlNS3kT.mjs → providers-BXuhmuub.mjs} +1 -12
- package/dist/{provision-VeqAC77A.mjs → provision-BfaLiWbj.mjs} +38 -41
- package/dist/{provision-DMTPG8Rh.mjs → provision-Wu9ZBk9L.mjs} +2 -3
- package/dist/{requests-TIz_jtSu.mjs → requests-C7Oeoh5u.mjs} +5 -5
- package/dist/resolve-project-BIeYs9Cw.mjs +2 -0
- package/dist/{resolve-project-BG5ORGID.mjs → resolve-project-CP8rZs_p.mjs} +6 -1
- package/dist/{rollback-dBqICPzj.mjs → rollback-DVAtrLAl.mjs} +30 -37
- package/dist/{route-types-Clm4WD0B.mjs → route-types-CbtsIeFn.mjs} +1 -1
- package/dist/route-url-BgPja1GS.d.mts +5 -0
- package/dist/route-url-BjGv_KKY.mjs +28 -0
- package/dist/runner-9wjsSZx-.mjs +2 -0
- package/dist/{runner--2KF6Kua.mjs → runner-DMBKSrRk.mjs} +2 -2
- package/dist/{runner-mysql-DmWchSWJ.mjs → runner-mysql-CEzKtmFb.mjs} +8 -8
- package/dist/{runner-mysql-CEG5JozK.mjs → runner-mysql-CkFqZ6CE.mjs} +1 -1
- package/dist/{runner-pg-Bh4AgZdj.mjs → runner-pg-BGYRFdRp.mjs} +1 -1
- package/dist/runtime/ai.d.mts +1 -1
- package/dist/runtime/ai.mjs +34 -95
- package/dist/runtime/better-auth-mysql.d.mts +1 -1
- package/dist/runtime/better-auth-mysql.mjs +4 -9
- package/dist/runtime/better-auth-pg.d.mts +1 -1
- package/dist/runtime/better-auth-pg.mjs +5 -10
- package/dist/runtime/better-auth.d.mts +1 -1
- package/dist/runtime/better-auth.mjs +3 -3
- package/dist/runtime/client-react.d.mts +2 -3
- package/dist/runtime/client-react.mjs +2 -2
- package/dist/runtime/client-solid.d.mts +2 -3
- package/dist/runtime/client-solid.mjs +2 -2
- package/dist/runtime/client-svelte.d.mts +2 -3
- package/dist/runtime/client-svelte.mjs +2 -2
- package/dist/runtime/client-vue.d.mts +2 -3
- package/dist/runtime/client-vue.mjs +2 -2
- package/dist/runtime/client.d.mts +2 -3
- package/dist/runtime/client.mjs +2 -2
- package/dist/runtime/db.mjs +1 -1
- package/dist/runtime/durable.mjs +3 -10
- package/dist/runtime/email/testing.mjs +5 -5
- package/dist/runtime/email.d.mts +2 -1
- package/dist/runtime/email.mjs +11 -27
- package/dist/runtime/env-public.mjs +15 -20
- package/dist/runtime/env.mjs +1 -1
- package/dist/runtime/fetch-stream.d.mts +2 -2
- package/dist/runtime/fetch-stream.mjs +1 -1
- package/dist/runtime/fetch.d.mts +2 -3
- package/dist/runtime/fetch.mjs +1 -1
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/handler.mjs +2 -2
- package/dist/runtime/isr.mjs +1 -1
- package/dist/runtime/kv.mjs +10 -11
- package/dist/runtime/live-client.d.mts +1 -1
- package/dist/runtime/live-client.mjs +12 -22
- package/dist/runtime/live-server.mjs +27 -35
- package/dist/runtime/live.d.mts +2 -2
- package/dist/runtime/live.mjs +2 -2
- package/dist/runtime/migration-handler.mjs +4 -81
- package/dist/runtime/queues.mjs +1 -1
- package/dist/runtime/remote/binding-handler.d.mts +2 -2
- package/dist/runtime/remote/binding-handler.mjs +8 -9
- package/dist/runtime/remote/index.mjs +27 -77
- package/dist/runtime/route-url.d.mts +2 -4
- package/dist/runtime/route-url.mjs +1 -1
- package/dist/runtime/routing.d.mts +1 -1
- package/dist/runtime/routing.mjs +15 -26
- package/dist/runtime/sandbox.mjs +2 -2
- package/dist/runtime/sse.mjs +1 -1
- package/dist/runtime/storage.mjs +1 -1
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +2 -2
- package/dist/runtime/ws-server.mjs +30 -61
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/runtime/ws.mjs +1 -1
- package/dist/{scan-C8dA7iM4.mjs → scan-C3uDzz6J.mjs} +12 -13
- package/dist/{secret-AKnNXNP5.mjs → secret-BvtB7IjY.mjs} +15 -15
- package/dist/{skills-BPQUGClu.mjs → skills-BgVMvQdy.mjs} +2 -2
- package/dist/{sse-CQNaDFFV.mjs → sse-CMvCgjNk.mjs} +1 -1
- package/dist/{subcommand-prompt-B6WS9Aoz.mjs → subcommand-prompt-BSlnD1fI.mjs} +2 -2
- package/dist/sveltekit.d.mts +0 -2
- package/dist/terminal-log-text-D9ACPOuG.mjs +32 -0
- package/dist/validate-BJr9LfXy.mjs +2 -0
- package/dist/{validate-ymhap6M_.mjs → validate-C9qJArv7.mjs} +9 -28
- package/dist/{defer-YsYDUoii.mjs → validation-error-Dg9Recn1.mjs} +11 -11
- package/dist/{wrangler-DhUerFkW.mjs → wrangler-D9KTuqnv.mjs} +89 -194
- package/dist/{ws-C79j4aED.d.mts → ws-CChrrAU-.d.mts} +1 -1
- package/dist/{yarn-pnp-BV4AzNul.mjs → yarn-pnp-CUX_iTPA.mjs} +19 -27
- package/{skills/void/docs → docs}/guide/ai.md +5 -3
- package/{skills/void/docs → docs}/guide/auth.md +37 -1
- package/{skills/void/docs → docs}/guide/database/postgresql.md +2 -2
- package/{skills/void/docs → docs}/guide/deployment.md +2 -2
- package/{skills/void/docs → docs}/guide/edge/revalidation.md +1 -1
- package/{skills/void/docs → docs}/guide/edge/rewrites.md +2 -4
- package/{skills/void/docs → docs}/guide/email/receiving.md +2 -2
- package/{skills/void/docs → docs}/guide/email/sending.md +0 -2
- package/{skills/void/docs → docs}/guide/env-vars.md +4 -0
- package/{skills/void/docs → docs}/guide/jobs.md +2 -2
- package/{skills/void/docs → docs}/guide/live.md +10 -5
- package/{skills/void/docs → docs}/guide/pages-routing/actions-and-forms.md +20 -8
- package/{skills/void/docs → docs}/guide/pages-routing/loaders.md +7 -3
- package/{skills/void/docs → docs}/guide/pages-routing/markdown.md +15 -23
- package/{skills/void/docs → docs}/guide/pages-routing/overview.md +6 -4
- package/{skills/void/docs → docs}/guide/platform/administration/access.md +3 -11
- package/{skills/void/docs → docs}/guide/platform/administration/operations.md +3 -12
- package/{skills/void/docs → docs}/guide/platform/administration/projects.md +1 -1
- package/{skills/void/docs → docs}/guide/platform/development/local.md +4 -2
- package/{skills/void/docs → docs}/guide/platform/development/runtime.md +1 -1
- package/{skills/void/docs → docs}/guide/platform/development/schema-ci.md +1 -1
- package/{skills/void/docs → docs}/guide/platform/installation/domains.md +3 -1
- package/{skills/void/docs → docs}/guide/platform/installation/first-deployment.md +4 -2
- package/{skills/void/docs → docs}/guide/platform/installation/maintenance.md +4 -0
- package/{skills/void/docs → docs}/guide/project-collaboration.md +7 -3
- package/{skills/void/docs → docs}/guide/queues.md +0 -2
- package/{skills/void/docs → docs}/guide/remote-dev.md +5 -5
- package/{skills/void/docs → docs}/guide/sandboxes.md +2 -2
- package/{skills/void/docs → docs}/guide/sse.md +0 -2
- package/{skills/void/docs → docs}/guide/storage.md +7 -2
- package/{skills/void/docs → docs}/guide/websockets.md +4 -0
- package/docs/integrations/agents.md +37 -0
- package/{skills/void/docs → docs}/integrations/frameworks/astro.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/nuxt.md +6 -2
- package/{skills/void/docs → docs}/integrations/hono.md +15 -7
- package/{skills/void/docs → docs}/integrations/nodejs-bun-deno.md +1 -0
- package/{skills/void/docs → docs}/reference/api/auth.md +1 -1
- package/{skills/void/docs → docs}/reference/api/handlers.md +4 -2
- package/{skills/void/docs → docs}/reference/api/pages.md +4 -0
- package/{skills/void/docs → docs}/reference/cli/auth.md +1 -6
- package/{skills/void/docs → docs}/reference/cli/database.md +3 -4
- package/{skills/void/docs → docs}/reference/cli/deploy.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/generate.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/github.md +3 -12
- package/{skills/void/docs → docs}/reference/cli/platform-config.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/platform-email.md +2 -3
- package/{skills/void/docs → docs}/reference/cli/platform-installation.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/platform-operations.md +3 -0
- package/{skills/void/docs → docs}/reference/cli/platform-users.md +2 -2
- package/{skills/void/docs → docs}/reference/cli/project.md +5 -4
- package/{skills/void/docs → docs}/reference/cli/secrets.md +3 -3
- package/{skills/void/docs → docs}/reference/cli/setup.md +9 -11
- package/{skills/void/docs → docs}/reference/cli.md +1 -1
- package/{skills/void/docs → docs}/reference/config.md +13 -13
- package/{skills/void/docs → docs}/reference/resource-inference.md +1 -16
- package/package.json +34 -30
- package/schema.json +1 -1
- package/skills/migrate-vite-cloudflare-to-void/SKILL.md +4 -1
- package/skills/void/SKILL.md +9 -5
- package/dist/cf-build-output-ChY6-XWP.mjs +0 -2
- package/dist/client-BxVixJBI.mjs +0 -2
- package/dist/config-0acf1oys.mjs +0 -2
- package/dist/config-D8MOgiQV.mjs +0 -32
- package/dist/deploy-qmiLE1G1.mjs +0 -2
- package/dist/discover-AMCBXivQ.mjs +0 -2
- package/dist/fetch-error-Sp1R4mZv.d.mts +0 -20
- package/dist/gen-qCBwH3fZ.mjs +0 -2
- package/dist/help-Dw5f9Xrg.mjs +0 -2
- package/dist/login-D7meQg_3.mjs +0 -2
- package/dist/migrate-CEu2X5DB.mjs +0 -2
- package/dist/operator-cmd-DRPvhpjM.mjs +0 -2
- package/dist/plan-COtUvdMA.mjs +0 -2
- package/dist/platform-args-Dcy_5b_Y.mjs +0 -2
- package/dist/prepare-BBknoZI1.mjs +0 -2
- package/dist/resolve-project-DtbidV4y.mjs +0 -2
- package/dist/route-url-CG7U-cRN.mjs +0 -15
- package/dist/runner-voIltZrY.mjs +0 -2
- package/dist/validate-pna7R3Pv.mjs +0 -2
- package/skills/void/docs/integrations/agents.md +0 -26
- package/dist/{runner-pg-D4OPlil-.mjs → runner-pg-DV8p_zjA.mjs} +4 -4
- package/{skills/void/docs → docs}/guide/app-types.md +0 -0
- package/{skills/void/docs → docs}/guide/database/d1.md +2 -2
- package/{skills/void/docs → docs}/guide/database/mysql.md +0 -0
- package/{skills/void/docs → docs}/guide/database.md +8 -8
- package/{skills/void/docs → docs}/guide/durable-state.md +0 -0
- package/{skills/void/docs → docs}/guide/edge/headers.md +0 -0
- package/{skills/void/docs → docs}/guide/edge/prerendering.md +0 -0
- package/{skills/void/docs → docs}/guide/edge/redirects.md +0 -0
- package/{skills/void/docs → docs}/guide/edge/static-assets.md +0 -0
- package/{skills/void/docs → docs}/guide/email/domains.md +0 -0
- package/{skills/void/docs → docs}/guide/email.md +0 -0
- package/{skills/void/docs → docs}/guide/index.md +0 -0
- package/{skills/void/docs → docs}/guide/kv.md +0 -0
- package/{skills/void/docs → docs}/guide/pages-routing/head.md +0 -0
- package/{skills/void/docs → docs}/guide/pages-routing/islands.md +2 -2
- package/{skills/void/docs → docs}/guide/pages-routing/layouts.md +0 -0
- package/{skills/void/docs → docs}/guide/pages-routing/view-transitions.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/administration/email.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/administration/plans.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/administration/zero-trust.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/ci.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/credentials.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/prerequisites.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/setup.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/uninstall.md +0 -0
- package/{skills/void/docs → docs}/guide/platform-administration.md +0 -0
- package/{skills/void/docs → docs}/guide/platform-development.md +0 -0
- package/{skills/void/docs → docs}/guide/quickstart.md +0 -0
- package/{skills/void/docs → docs}/guide/self-hosted-platform.md +0 -0
- package/{skills/void/docs → docs}/guide/server-routing.md +3 -3
- package/{skills/void/docs → docs}/guide/ssg.md +0 -0
- package/{skills/void/docs → docs}/guide/ssr.md +0 -0
- package/{skills/void/docs → docs}/guide/type-safety.md +0 -0
- package/{skills/void/docs → docs}/guide/typed-fetch.md +0 -0
- package/{skills/void/docs → docs}/index.md +0 -0
- package/{skills/void/docs → docs}/integrations/cloudflare.md +0 -0
- package/{skills/void/docs → docs}/integrations/frameworks/analog.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/overview.md +0 -0
- package/{skills/void/docs → docs}/integrations/frameworks/react-router.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/sveltekit.md +1 -1
- package/{skills/void/docs → docs}/integrations/frameworks/tanstack-start.md +2 -2
- package/{skills/void/docs → docs}/reference/api/client.md +0 -0
- package/{skills/void/docs → docs}/reference/api/database.md +2 -2
- /package/{skills/void/docs → docs}/reference/api/durable.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/env.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/plugin.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/resources.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/rewrites.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/types.md +0 -0
- /package/{skills/void/docs → docs}/reference/api.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/domains.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/email.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/platform-zero-trust.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/platform.md +0 -0
- /package/{skills/void/docs → docs}/reference/structure.md +0 -0
package/dist/runtime/ai.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cfAccessHeaders } from "../cf-access-TWNzXltp.mjs";
|
|
2
|
-
import { a as getRawRuntimeEnv } from "../env-raw-
|
|
2
|
+
import { a as getRawRuntimeEnv } from "../env-raw-jZpP5n47.mjs";
|
|
3
3
|
import { r as limitFromResponse, t as UsageLimit } from "../limits-D0vD1M9A.mjs";
|
|
4
4
|
//#region src/runtime/ai-types.ts
|
|
5
5
|
/** Maps provider prefix to expected env var name for the API key */
|
|
@@ -143,9 +143,6 @@ async function serializeProxyValue(value, serializeDataObjectAsFile = false) {
|
|
|
143
143
|
}
|
|
144
144
|
return value;
|
|
145
145
|
}
|
|
146
|
-
function formFileName(value, fallback) {
|
|
147
|
-
return fileNameFromBlob(value) ?? fallback;
|
|
148
|
-
}
|
|
149
146
|
async function serializeFormData(form) {
|
|
150
147
|
const entries = [];
|
|
151
148
|
for (const [name, value] of form.entries()) {
|
|
@@ -161,7 +158,7 @@ async function serializeFormData(form) {
|
|
|
161
158
|
value: {
|
|
162
159
|
[VOID_FILE_MARKER]: true,
|
|
163
160
|
data: arrayBufferToBase64(await value.arrayBuffer()),
|
|
164
|
-
name:
|
|
161
|
+
name: fileNameFromBlob(value) ?? name,
|
|
165
162
|
type: value.type || void 0
|
|
166
163
|
}
|
|
167
164
|
});
|
|
@@ -260,7 +257,7 @@ function isUnsafeProviderPath(path) {
|
|
|
260
257
|
return false;
|
|
261
258
|
}
|
|
262
259
|
/**
|
|
263
|
-
* Build a real outgoing HTTP body for the user's own AI Gateway (
|
|
260
|
+
* Build a real outgoing HTTP body for the user's own AI Gateway (self-host).
|
|
264
261
|
*
|
|
265
262
|
* Unlike `serializeProviderBody`/`providerRequestBody` (which build the proxy
|
|
266
263
|
* envelope decoded on the proxy side), this emits an actual `BodyInit` +
|
|
@@ -304,16 +301,10 @@ async function providerRequestBody(provider, path, init, options, runtimeEnv) {
|
|
|
304
301
|
apiKeyPrefix: options?.apiKeyPrefix
|
|
305
302
|
};
|
|
306
303
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
headers: { "content-type": "application/json" },
|
|
312
|
-
body: JSON.stringify({
|
|
313
|
-
action,
|
|
314
|
-
...body
|
|
315
|
-
})
|
|
316
|
-
});
|
|
304
|
+
/** Backend for the Void platform proxy, reached by service binding or HTTPS. */
|
|
305
|
+
function makeProxyBackend(send, runtimeEnv) {
|
|
306
|
+
async function proxyFetch(action, payload, options = {}) {
|
|
307
|
+
const res = await send(action, payload);
|
|
317
308
|
const limit = await limitFromResponse(res, "ai");
|
|
318
309
|
if (limit) throw limit;
|
|
319
310
|
if (options.throwOnError !== false && !res.ok) {
|
|
@@ -324,60 +315,48 @@ function makeServiceBindingBackend(proxy, runtimeEnv) {
|
|
|
324
315
|
}
|
|
325
316
|
return {
|
|
326
317
|
async run(model, inputs, options) {
|
|
327
|
-
const projectId = runtimeEnv.__PROJECT_ID;
|
|
328
|
-
const aiToken = runtimeEnv.__VOID_PROXY_TOKEN;
|
|
329
318
|
const res = await proxyFetch("run", {
|
|
330
319
|
model,
|
|
331
320
|
inputs,
|
|
332
|
-
options
|
|
333
|
-
projectId,
|
|
334
|
-
aiToken
|
|
321
|
+
options
|
|
335
322
|
});
|
|
336
323
|
if (hasStreamFlag(inputs) && inputs.stream) return res.body;
|
|
337
324
|
return readProxyResult(res);
|
|
338
325
|
},
|
|
339
326
|
async image(model, inputs, options) {
|
|
340
|
-
const projectId = runtimeEnv.__PROJECT_ID;
|
|
341
|
-
const aiToken = runtimeEnv.__VOID_PROXY_TOKEN;
|
|
342
327
|
const { runOptions } = splitImageOptions(options);
|
|
343
328
|
return proxyFetch("run", {
|
|
344
329
|
model,
|
|
345
330
|
inputs,
|
|
346
|
-
options: runOptions
|
|
347
|
-
projectId,
|
|
348
|
-
aiToken
|
|
331
|
+
options: runOptions
|
|
349
332
|
});
|
|
350
333
|
},
|
|
351
334
|
async providerFetch(provider, path, init, options) {
|
|
352
|
-
|
|
353
|
-
const aiToken = runtimeEnv.__VOID_PROXY_TOKEN;
|
|
354
|
-
return proxyFetch("provider", {
|
|
355
|
-
...await providerRequestBody(provider, path, init, options, runtimeEnv),
|
|
356
|
-
projectId,
|
|
357
|
-
aiToken
|
|
358
|
-
}, { throwOnError: false });
|
|
335
|
+
return proxyFetch("provider", await providerRequestBody(provider, path, init, options, runtimeEnv), { throwOnError: false });
|
|
359
336
|
},
|
|
360
337
|
async models(params) {
|
|
361
|
-
|
|
362
|
-
const aiToken = runtimeEnv.__VOID_PROXY_TOKEN;
|
|
363
|
-
return (await proxyFetch("models", {
|
|
364
|
-
inputs: params,
|
|
365
|
-
projectId,
|
|
366
|
-
aiToken
|
|
367
|
-
})).json();
|
|
338
|
+
return (await proxyFetch("models", { inputs: params })).json();
|
|
368
339
|
},
|
|
369
340
|
async toMarkdown(items, options) {
|
|
370
|
-
const projectId = runtimeEnv.__PROJECT_ID;
|
|
371
|
-
const aiToken = runtimeEnv.__VOID_PROXY_TOKEN;
|
|
372
341
|
return (await proxyFetch("toMarkdown", {
|
|
373
342
|
inputs: items,
|
|
374
|
-
options
|
|
375
|
-
projectId,
|
|
376
|
-
aiToken
|
|
343
|
+
options
|
|
377
344
|
})).json();
|
|
378
345
|
}
|
|
379
346
|
};
|
|
380
347
|
}
|
|
348
|
+
function makeServiceBindingBackend(proxy, runtimeEnv) {
|
|
349
|
+
return makeProxyBackend((action, payload) => proxy.fetch(`https://ai-proxy/ai/${action}`, {
|
|
350
|
+
method: "POST",
|
|
351
|
+
headers: { "content-type": "application/json" },
|
|
352
|
+
body: JSON.stringify({
|
|
353
|
+
action,
|
|
354
|
+
...payload,
|
|
355
|
+
projectId: runtimeEnv.__PROJECT_ID,
|
|
356
|
+
aiToken: runtimeEnv.__VOID_PROXY_TOKEN
|
|
357
|
+
})
|
|
358
|
+
}), runtimeEnv);
|
|
359
|
+
}
|
|
381
360
|
function makeHttpBackend(token, projectId, runtimeEnv) {
|
|
382
361
|
const base = getProxyUrl(runtimeEnv);
|
|
383
362
|
const headers = {
|
|
@@ -385,56 +364,16 @@ function makeHttpBackend(token, projectId, runtimeEnv) {
|
|
|
385
364
|
authorization: `Bearer ${token}`,
|
|
386
365
|
...cfAccessHeaders(runtimeEnv, base)
|
|
387
366
|
};
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
});
|
|
399
|
-
const limit = await limitFromResponse(res, "ai");
|
|
400
|
-
if (limit) throw limit;
|
|
401
|
-
if (options.throwOnError !== false && !res.ok) {
|
|
402
|
-
const text = await res.text();
|
|
403
|
-
throw new Error(`ai: Proxy request failed with ${res.status}: '${text}'.`);
|
|
404
|
-
}
|
|
405
|
-
return res;
|
|
406
|
-
}
|
|
407
|
-
return {
|
|
408
|
-
async run(model, inputs, options) {
|
|
409
|
-
const res = await proxyFetch("run", {
|
|
410
|
-
model,
|
|
411
|
-
inputs,
|
|
412
|
-
options
|
|
413
|
-
});
|
|
414
|
-
if (hasStreamFlag(inputs) && inputs.stream) return res.body;
|
|
415
|
-
return readProxyResult(res);
|
|
416
|
-
},
|
|
417
|
-
async image(model, inputs, options) {
|
|
418
|
-
const { runOptions } = splitImageOptions(options);
|
|
419
|
-
return proxyFetch("run", {
|
|
420
|
-
model,
|
|
421
|
-
inputs,
|
|
422
|
-
options: runOptions
|
|
423
|
-
});
|
|
424
|
-
},
|
|
425
|
-
async providerFetch(provider, path, init, options) {
|
|
426
|
-
return proxyFetch("provider", await providerRequestBody(provider, path, init, options, runtimeEnv), { throwOnError: false });
|
|
427
|
-
},
|
|
428
|
-
async models(params) {
|
|
429
|
-
return (await proxyFetch("models", { inputs: params })).json();
|
|
430
|
-
},
|
|
431
|
-
async toMarkdown(items, options) {
|
|
432
|
-
return (await proxyFetch("toMarkdown", {
|
|
433
|
-
inputs: items,
|
|
434
|
-
options
|
|
435
|
-
})).json();
|
|
436
|
-
}
|
|
437
|
-
};
|
|
367
|
+
return makeProxyBackend((action, payload) => fetch(`${base}/${action}`, {
|
|
368
|
+
method: "POST",
|
|
369
|
+
headers,
|
|
370
|
+
body: JSON.stringify({
|
|
371
|
+
action,
|
|
372
|
+
...payload,
|
|
373
|
+
projectId
|
|
374
|
+
}),
|
|
375
|
+
redirect: "manual"
|
|
376
|
+
}), runtimeEnv);
|
|
438
377
|
}
|
|
439
378
|
function makeDirectBackend(directAi, runtimeEnv, gatewayId) {
|
|
440
379
|
const run = async (model, inputs, options) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-
|
|
1
|
+
import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-CPvWD3nG.mjs";
|
|
2
2
|
//#region src/runtime/better-auth-mysql.d.ts
|
|
3
3
|
export declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
|
|
4
4
|
export declare const createVoidAuth: VoidAuthRuntimeApi["createVoidAuth"];
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { t as applyMySqlAuthMigrations } from "../auth-migrations-
|
|
2
|
-
import {
|
|
1
|
+
import { t as applyMySqlAuthMigrations } from "../auth-migrations-BwHgeEsD.mjs";
|
|
2
|
+
import { n as createVoidAuthRuntime, r as resolveConnectionString } from "../better-auth-shared-DPpj8zxc.mjs";
|
|
3
3
|
//#region src/runtime/better-auth-mysql.ts
|
|
4
|
-
function resolveConnectionString(env) {
|
|
5
|
-
const connectionString = typeof env.DATABASE_URL === "string" && env.DATABASE_URL.length > 0 ? env.DATABASE_URL : typeof env.HYPERDRIVE?.connectionString === "string" && env.HYPERDRIVE.connectionString.length > 0 ? env.HYPERDRIVE.connectionString : void 0;
|
|
6
|
-
if (!connectionString) throw new Error("auth: Better Auth requires DATABASE_URL for local MySQL dev or HYPERDRIVE in production.");
|
|
7
|
-
return connectionString;
|
|
8
|
-
}
|
|
9
4
|
async function resolveDatabase(env) {
|
|
10
5
|
const { createPool } = await import("mysql2/promise");
|
|
11
6
|
const pool = createPool({
|
|
12
|
-
uri: resolveConnectionString(env),
|
|
7
|
+
uri: resolveConnectionString(env, "MySQL"),
|
|
13
8
|
connectionLimit: 1
|
|
14
9
|
});
|
|
15
10
|
return {
|
|
@@ -23,7 +18,7 @@ async function runMySqlAuthMigrations(_request, env, runtime, migrationSchema) {
|
|
|
23
18
|
if (!migrationSchema) throw new Error("auth: Migration schema is unavailable.");
|
|
24
19
|
if (runtime.dialect !== "mysql" || migrationSchema.dialect !== "mysql") throw new Error("auth: Runtime mismatch. Expected mysql.");
|
|
25
20
|
const { createConnection } = await import("mysql2/promise");
|
|
26
|
-
const connection = await createConnection(resolveConnectionString(env));
|
|
21
|
+
const connection = await createConnection(resolveConnectionString(env, "MySQL"));
|
|
27
22
|
try {
|
|
28
23
|
await applyMySqlAuthMigrations({
|
|
29
24
|
async all(sql, params) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-
|
|
1
|
+
import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-CPvWD3nG.mjs";
|
|
2
2
|
//#region src/runtime/better-auth-pg.d.ts
|
|
3
3
|
export declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
|
|
4
4
|
export declare const createVoidAuth: VoidAuthRuntimeApi["createVoidAuth"];
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { n as applyPgAuthMigrations } from "../auth-migrations-
|
|
2
|
-
import {
|
|
1
|
+
import { n as applyPgAuthMigrations } from "../auth-migrations-BwHgeEsD.mjs";
|
|
2
|
+
import { n as createVoidAuthRuntime, r as resolveConnectionString, t as assertRuntimeDialect } from "../better-auth-shared-DPpj8zxc.mjs";
|
|
3
3
|
import { t as disablePgPassFallback } from "../pg-J2HbZIkX.mjs";
|
|
4
4
|
//#region src/runtime/better-auth-pg.ts
|
|
5
|
-
function resolveConnectionString(env) {
|
|
6
|
-
const connectionString = typeof env.DATABASE_URL === "string" && env.DATABASE_URL.length > 0 ? env.DATABASE_URL : typeof env.HYPERDRIVE?.connectionString === "string" && env.HYPERDRIVE.connectionString.length > 0 ? env.HYPERDRIVE.connectionString : void 0;
|
|
7
|
-
if (!connectionString) throw new Error("auth: Better Auth requires DATABASE_URL for local PostgreSQL dev or HYPERDRIVE in production.");
|
|
8
|
-
return connectionString;
|
|
9
|
-
}
|
|
10
5
|
async function resolveDatabase(env) {
|
|
11
6
|
const { default: pg } = await import("pg");
|
|
12
|
-
const connectionString = resolveConnectionString(env);
|
|
7
|
+
const connectionString = resolveConnectionString(env, "PostgreSQL");
|
|
13
8
|
const pool = new pg.Pool({
|
|
14
9
|
connectionString,
|
|
15
10
|
max: 1
|
|
@@ -23,10 +18,10 @@ async function resolveDatabase(env) {
|
|
|
23
18
|
}
|
|
24
19
|
async function runPostgresAuthMigrations(_request, env, runtime, migrationSchema) {
|
|
25
20
|
if (!migrationSchema) throw new Error("auth: Migration schema is unavailable.");
|
|
26
|
-
|
|
21
|
+
assertRuntimeDialect(runtime, "postgresql");
|
|
27
22
|
if (migrationSchema.dialect !== "postgresql") throw new Error(`auth: Runtime mismatch. Expected postgresql, received '${migrationSchema.dialect}'.`);
|
|
28
23
|
const { Client } = await import("pg");
|
|
29
|
-
const client = new Client({ connectionString: resolveConnectionString(env) });
|
|
24
|
+
const client = new Client({ connectionString: resolveConnectionString(env, "PostgreSQL") });
|
|
30
25
|
disablePgPassFallback(client);
|
|
31
26
|
await client.connect();
|
|
32
27
|
try {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-
|
|
1
|
+
import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-CPvWD3nG.mjs";
|
|
2
2
|
//#region src/runtime/better-auth.d.ts
|
|
3
3
|
export declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
|
|
4
4
|
export declare const createVoidAuth: VoidAuthRuntimeApi["createVoidAuth"];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as applySqliteAuthMigrations } from "../auth-migrations-
|
|
2
|
-
import {
|
|
1
|
+
import { r as applySqliteAuthMigrations } from "../auth-migrations-BwHgeEsD.mjs";
|
|
2
|
+
import { n as createVoidAuthRuntime, t as assertRuntimeDialect } from "../better-auth-shared-DPpj8zxc.mjs";
|
|
3
3
|
//#region src/runtime/better-auth.ts
|
|
4
4
|
async function resolveDatabase(env) {
|
|
5
5
|
if (!env.DB) throw new Error("auth: Better Auth requires the \"DB\" D1 binding for sqlite apps.");
|
|
@@ -10,7 +10,7 @@ async function resolveDatabase(env) {
|
|
|
10
10
|
}
|
|
11
11
|
async function runSqliteAuthMigrations(_request, env, runtime, migrationSchema) {
|
|
12
12
|
if (!migrationSchema) throw new Error("auth: Migration schema is unavailable.");
|
|
13
|
-
|
|
13
|
+
assertRuntimeDialect(runtime, "sqlite");
|
|
14
14
|
if (migrationSchema.dialect !== "sqlite") throw new Error(`auth: Runtime mismatch. Expected sqlite, received '${migrationSchema.dialect}'.`);
|
|
15
15
|
if (!env.DB) throw new Error("auth: Better Auth requires the \"DB\" D1 binding for sqlite apps.");
|
|
16
16
|
await applySqliteAuthMigrations({
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
|
|
2
2
|
import { n as createAuthClient, t as auth } from "../auth-client-react-7GFffu8R.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
|
|
3
|
+
import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
|
|
4
|
+
import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
|
|
6
5
|
export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
|
|
2
|
-
import { t as fetch } from "../fetch-
|
|
3
|
-
import { t as fetchStream } from "../fetch-stream-
|
|
2
|
+
import { t as fetch } from "../fetch-sAcwjzLO.mjs";
|
|
3
|
+
import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
|
|
4
4
|
import { n as createAuthClient, t as auth } from "../auth-client-react-CMLwT2xI.mjs";
|
|
5
5
|
export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
|
|
2
2
|
import { n as createAuthClient, t as auth } from "../auth-client-solid-DyTFL4cq.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
|
|
3
|
+
import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
|
|
4
|
+
import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
|
|
6
5
|
export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
|
|
2
|
-
import { t as fetch } from "../fetch-
|
|
3
|
-
import { t as fetchStream } from "../fetch-stream-
|
|
2
|
+
import { t as fetch } from "../fetch-sAcwjzLO.mjs";
|
|
3
|
+
import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
|
|
4
4
|
import { n as createAuthClient, t as auth } from "../auth-client-solid-UoreJWZG.mjs";
|
|
5
5
|
export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
|
|
2
2
|
import { n as createAuthClient, t as auth } from "../auth-client-svelte-zetW0KIH.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
|
|
3
|
+
import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
|
|
4
|
+
import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
|
|
6
5
|
export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
|
|
2
|
-
import { t as fetch } from "../fetch-
|
|
3
|
-
import { t as fetchStream } from "../fetch-stream-
|
|
2
|
+
import { t as fetch } from "../fetch-sAcwjzLO.mjs";
|
|
3
|
+
import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
|
|
4
4
|
import { n as createAuthClient, t as auth } from "../auth-client-svelte-Cv_WvrRk.mjs";
|
|
5
5
|
export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
|
|
2
2
|
import { n as createAuthClient, t as auth } from "../auth-client-vue-bChShbQP.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
|
|
3
|
+
import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
|
|
4
|
+
import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
|
|
6
5
|
export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
|
|
2
|
-
import { t as fetch } from "../fetch-
|
|
3
|
-
import { t as fetchStream } from "../fetch-stream-
|
|
2
|
+
import { t as fetch } from "../fetch-sAcwjzLO.mjs";
|
|
3
|
+
import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
|
|
4
4
|
import { n as createAuthClient, t as auth } from "../auth-client-vue-CFk7Xbv3.mjs";
|
|
5
5
|
export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
|
|
2
2
|
import { n as createAuthClient, t as auth } from "../auth-client-Bawdj38n.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
|
|
3
|
+
import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
|
|
4
|
+
import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
|
|
6
5
|
export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
package/dist/runtime/client.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
|
|
2
|
-
import { t as fetch } from "../fetch-
|
|
3
|
-
import { t as fetchStream } from "../fetch-stream-
|
|
2
|
+
import { t as fetch } from "../fetch-sAcwjzLO.mjs";
|
|
3
|
+
import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
|
|
4
4
|
import { n as createAuthClient, t as auth } from "../auth-client-BWBT8HLp.mjs";
|
|
5
5
|
export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
|
package/dist/runtime/db.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as requireRuntimeBinding, r as getRuntimeRequestResource } from "../env-
|
|
1
|
+
import { a as requireRuntimeBinding, r as getRuntimeRequestResource } from "../env-DMA3cXZt.mjs";
|
|
2
2
|
import { drizzle } from "drizzle-orm/d1";
|
|
3
3
|
import { and, asc, avg, between, count, desc, eq, exists, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, max, min, ne, not, notBetween, notExists, notInArray, notLike, or, sql, sum } from "drizzle-orm";
|
|
4
4
|
//#region src/runtime/db.ts
|
package/dist/runtime/durable.mjs
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { t as isResourceName } from "../resource-name-C7LVpcRm.mjs";
|
|
2
|
-
import { a as requireRuntimeBinding, o as withRuntimeEnv } from "../env-
|
|
2
|
+
import { a as requireRuntimeBinding, o as withRuntimeEnv } from "../env-DMA3cXZt.mjs";
|
|
3
3
|
import { DurableObject } from "cloudflare:workers";
|
|
4
4
|
//#region src/runtime/durable.ts
|
|
5
5
|
const DEFAULT_STORAGE_KEY = "__void_durable_state";
|
|
6
|
-
function cloneInitialState(state) {
|
|
7
|
-
return structuredClone(state);
|
|
8
|
-
}
|
|
9
6
|
function assertMigrations(version, migrations) {
|
|
10
7
|
const byVersion = /* @__PURE__ */ new Map();
|
|
11
8
|
for (const migration of migrations) {
|
|
@@ -43,7 +40,7 @@ function defineDurableState(definition) {
|
|
|
43
40
|
async #load() {
|
|
44
41
|
const stored = await this.#objectState.storage.get(storageKey);
|
|
45
42
|
if (!stored) {
|
|
46
|
-
const initial = typeof definition.initialState === "function" ? await definition.initialState(this.#runtimeEnv) :
|
|
43
|
+
const initial = typeof definition.initialState === "function" ? await definition.initialState(this.#runtimeEnv) : structuredClone(definition.initialState);
|
|
47
44
|
this.#value = initial;
|
|
48
45
|
await this.#persist();
|
|
49
46
|
return;
|
|
@@ -51,11 +48,7 @@ function defineDurableState(definition) {
|
|
|
51
48
|
if (stored.__voidDurableState !== true || !Number.isInteger(stored.version)) throw new Error(`durable: invalid state record at storage key '${storageKey}'.`);
|
|
52
49
|
if (stored.version > version) throw new Error(`durable: stored state version ${stored.version} is newer than supported version ${version}.`);
|
|
53
50
|
let value = stored.value;
|
|
54
|
-
for (let nextVersion = stored.version + 1; nextVersion <= version; nextVersion++)
|
|
55
|
-
const migration = migrations.get(nextVersion);
|
|
56
|
-
if (!migration) throw new Error(`durable: missing state migration for version ${nextVersion}.`);
|
|
57
|
-
value = await migration.migrate(value);
|
|
58
|
-
}
|
|
51
|
+
for (let nextVersion = stored.version + 1; nextVersion <= version; nextVersion++) value = await migrations.get(nextVersion).migrate(value);
|
|
59
52
|
this.#value = value;
|
|
60
53
|
if (stored.version !== version) await this.#persist();
|
|
61
54
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as normalizeEmail, r as buildMime } from "../../mime-
|
|
2
|
-
import { n as compileEmailPattern, t as compareEmailRoutes } from "../../email
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { i as normalizeEmail, r as buildMime } from "../../mime-DxCznlJq.mjs";
|
|
2
|
+
import { n as compileEmailPattern, t as compareEmailRoutes } from "../../email-d_Aux1vM.mjs";
|
|
3
|
+
import { b as registerEmailSink } from "../../dev-inbox-CK-UuPob.mjs";
|
|
4
|
+
import { a as createMessageProxy, n as MAX_INBOUND_HEADERS, t as MAX_INBOUND_BYTES } from "../../inbound-PfQDLXc5.mjs";
|
|
5
5
|
//#region src/runtime/email/testing.ts
|
|
6
6
|
/**
|
|
7
7
|
* Test harnesses for void/email.
|
|
@@ -163,7 +163,7 @@ function createInboundTestHarness(opts) {
|
|
|
163
163
|
else {
|
|
164
164
|
const at = input.to.indexOf("@");
|
|
165
165
|
const label = at === -1 ? "void email" : input.to.slice(at + 1).toLowerCase() || "void email";
|
|
166
|
-
if (raw.byteLength >
|
|
166
|
+
if (raw.byteLength > MAX_INBOUND_BYTES) return refuse(`${label}: message too large (max ${MAX_INBOUND_BYTES} bytes)`);
|
|
167
167
|
try {
|
|
168
168
|
headers = parseHeaderBlock(raw, MAX_INBOUND_HEADERS);
|
|
169
169
|
} catch (e) {
|
package/dist/runtime/email.d.mts
CHANGED
|
@@ -9,7 +9,8 @@ export declare class MimeError extends Error {
|
|
|
9
9
|
//#endregion
|
|
10
10
|
//#region src/runtime/email.d.ts
|
|
11
11
|
/**
|
|
12
|
-
* Send an email via the
|
|
12
|
+
* Send an email via the worker's own `SEND_EMAIL` binding or the Void
|
|
13
|
+
* platform proxy.
|
|
13
14
|
*
|
|
14
15
|
* During `void dev` the message is captured by the local inbox
|
|
15
16
|
* (`/__void/inbox`) and never reaches the proxy; an in-process sink
|
package/dist/runtime/email.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as normalizeEmail, n as MimeError, r as buildMime } from "../mime-
|
|
2
|
-
import { a as DEV_INBOX_ENV_VAR,
|
|
3
|
-
import { a as getRawRuntimeEnv } from "../env-raw-
|
|
4
|
-
import { a as
|
|
1
|
+
import { i as normalizeEmail, n as MimeError, r as buildMime } from "../mime-DxCznlJq.mjs";
|
|
2
|
+
import { a as DEV_INBOX_ENV_VAR, c as DEV_INBOX_TOKEN_ENV_VAR, d as bytesToBase64, f as captureMessage, g as hasActiveSink, i as DEV_INBOX_CAPTURE_URL, m as dispatchToSinks, x as serializeCapturedMessage } from "../dev-inbox-CK-UuPob.mjs";
|
|
3
|
+
import { a as getRawRuntimeEnv } from "../env-raw-jZpP5n47.mjs";
|
|
4
|
+
import { a as createMessageProxy, c as isForwardableEmailMessage, i as bytesToReadableStream, l as parseEmail, o as defineEmail, r as ParseEmailError, s as enactEmailActions, u as replyEmail } from "../inbound-PfQDLXc5.mjs";
|
|
5
5
|
import { isRecord } from "@void/deploy-core";
|
|
6
6
|
//#region src/runtime/email.ts
|
|
7
7
|
const VALID_SLUG = /^[a-z0-9](?:[a-z0-9-]{0,54}[a-z0-9])?$/;
|
|
@@ -78,7 +78,6 @@ function resolveSendEmailBinding(env) {
|
|
|
78
78
|
* `OUTCOME_UNKNOWN` with the original error as `cause`: once `send()` has
|
|
79
79
|
* started, an undocumented rejection does not prove the provider declined
|
|
80
80
|
* the message before accepting it.
|
|
81
|
-
*
|
|
82
81
|
*/
|
|
83
82
|
function classifyBindingError(e) {
|
|
84
83
|
const message = e instanceof Error ? e.message : String(e);
|
|
@@ -93,12 +92,6 @@ function classifyBindingError(e) {
|
|
|
93
92
|
return makeError("OUTCOME_UNKNOWN", message, e);
|
|
94
93
|
}
|
|
95
94
|
const UNVERIFIED_DESTINATION_RE = /^[^\n]{0,200}destination address[^\n]{0,200}not (?:yet )?verified/i;
|
|
96
|
-
function bytesToReadableStream(bytes) {
|
|
97
|
-
return new ReadableStream({ start(controller) {
|
|
98
|
-
controller.enqueue(bytes);
|
|
99
|
-
controller.close();
|
|
100
|
-
} });
|
|
101
|
-
}
|
|
102
95
|
/**
|
|
103
96
|
* Deliver through the worker's own `SEND_EMAIL` binding. One `EmailMessage`
|
|
104
97
|
* per recipient, within one bounded batch, and the same `deliveries` shape
|
|
@@ -213,15 +206,6 @@ function err(code, message, cause) {
|
|
|
213
206
|
error: makeError(code, message, cause)
|
|
214
207
|
};
|
|
215
208
|
}
|
|
216
|
-
function bytesToBase64(bytes) {
|
|
217
|
-
const CHUNK = 8192;
|
|
218
|
-
let binary = "";
|
|
219
|
-
for (let i = 0; i < bytes.byteLength; i += CHUNK) {
|
|
220
|
-
const slice = bytes.subarray(i, Math.min(i + CHUNK, bytes.byteLength));
|
|
221
|
-
binary += String.fromCharCode(...slice);
|
|
222
|
-
}
|
|
223
|
-
return btoa(binary);
|
|
224
|
-
}
|
|
225
209
|
function coerceErrorCode(code) {
|
|
226
210
|
return [
|
|
227
211
|
"BINDING_MISSING",
|
|
@@ -342,12 +326,13 @@ function readFailureDeliveries(raw, recipients, fallbackId) {
|
|
|
342
326
|
...entry.state === "provider_accepted" ? { state: "provider_accepted" } : {}
|
|
343
327
|
} : void 0;
|
|
344
328
|
if (entry.ok === false) {
|
|
329
|
+
const state = readDeliveryState(entry.state);
|
|
345
330
|
const error = entry.error;
|
|
346
331
|
return typeof error === "object" && error !== null && typeof error.message === "string" ? {
|
|
347
332
|
recipient,
|
|
348
333
|
ok: false,
|
|
349
334
|
error: makeError(coerceErrorCode(error.code), error.message),
|
|
350
|
-
...
|
|
335
|
+
...state ? { state } : {}
|
|
351
336
|
} : void 0;
|
|
352
337
|
}
|
|
353
338
|
});
|
|
@@ -569,11 +554,9 @@ async function postToDevInbox(inbox, captured) {
|
|
|
569
554
|
* `ids` is built from the same deduplicated, lowercased list the two
|
|
570
555
|
* production transports send to, so code written against a captured result
|
|
571
556
|
* sees exactly what a deploy returns: one entry per unique address, keyed the
|
|
572
|
-
* way `sendViaBinding` and the proxy report it.
|
|
573
|
-
*
|
|
574
|
-
*
|
|
575
|
-
* deployed. The captured message itself keeps the original fields; the
|
|
576
|
-
* inbox displays what was asked for, the result reports what would be sent.
|
|
557
|
+
* way `sendViaBinding` and the proxy report it. The captured message itself
|
|
558
|
+
* keeps the original fields; the inbox displays what was asked for, the
|
|
559
|
+
* result reports what would be sent.
|
|
577
560
|
*/
|
|
578
561
|
function capturedResult(normalized, captureId) {
|
|
579
562
|
const recipients = uniqueRecipients(normalized);
|
|
@@ -587,7 +570,8 @@ function capturedResult(normalized, captureId) {
|
|
|
587
570
|
};
|
|
588
571
|
}
|
|
589
572
|
/**
|
|
590
|
-
* Send an email via the
|
|
573
|
+
* Send an email via the worker's own `SEND_EMAIL` binding or the Void
|
|
574
|
+
* platform proxy.
|
|
591
575
|
*
|
|
592
576
|
* During `void dev` the message is captured by the local inbox
|
|
593
577
|
* (`/__void/inbox`) and never reaches the proxy; an in-process sink
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as getRawRuntimeEnv } from "../env-raw-
|
|
2
|
-
import { i as isInternalBinding, n as getRuntimeEnv } from "../env-
|
|
1
|
+
import { a as getRawRuntimeEnv } from "../env-raw-jZpP5n47.mjs";
|
|
2
|
+
import { i as isInternalBinding, n as getRuntimeEnv } from "../env-DMA3cXZt.mjs";
|
|
3
3
|
import { a as oneOf, i as number, n as email, o as string, r as json, s as url, t as boolean } from "../env-helpers--wFmQ_5Q.mjs";
|
|
4
4
|
//#region src/shared/env-mask.ts
|
|
5
5
|
/**
|
|
@@ -93,6 +93,16 @@ const registry = registryGlobal[ENV_REGISTRY_SYMBOL] ??= {
|
|
|
93
93
|
bootValidation: null
|
|
94
94
|
};
|
|
95
95
|
const validatedCache = /* @__PURE__ */ new WeakMap();
|
|
96
|
+
const cacheList = [];
|
|
97
|
+
function getValidatedCache(rawEnv) {
|
|
98
|
+
let cache = validatedCache.get(rawEnv);
|
|
99
|
+
if (!cache) {
|
|
100
|
+
cache = /* @__PURE__ */ new Map();
|
|
101
|
+
validatedCache.set(rawEnv, cache);
|
|
102
|
+
cacheList.push(cache);
|
|
103
|
+
}
|
|
104
|
+
return cache;
|
|
105
|
+
}
|
|
96
106
|
/** Vite embeds the same public build inputs into server and browser bundles. */
|
|
97
107
|
function getClientEnvValues() {
|
|
98
108
|
const values = import.meta.env;
|
|
@@ -112,7 +122,7 @@ function getClientEnvValues() {
|
|
|
112
122
|
function defineEnv(schema) {
|
|
113
123
|
registry.schema = schema;
|
|
114
124
|
registry.hasDefineEnvBeenCalled = true;
|
|
115
|
-
for (const map of
|
|
125
|
+
for (const map of cacheList) map.clear();
|
|
116
126
|
registry.bootValidation = null;
|
|
117
127
|
return env;
|
|
118
128
|
}
|
|
@@ -150,12 +160,7 @@ async function _validateEnvOnce(envValues) {
|
|
|
150
160
|
if (report.valid) {
|
|
151
161
|
try {
|
|
152
162
|
const cacheKey = getRawRuntimeEnv();
|
|
153
|
-
|
|
154
|
-
if (!cache) {
|
|
155
|
-
cache = /* @__PURE__ */ new Map();
|
|
156
|
-
validatedCache.set(cacheKey, cache);
|
|
157
|
-
cacheList.push(cache);
|
|
158
|
-
}
|
|
163
|
+
const cache = getValidatedCache(cacheKey);
|
|
159
164
|
for (const [key, value] of report.values) {
|
|
160
165
|
if (isInternalBinding(key, cacheKey)) continue;
|
|
161
166
|
if (!cache.has(key)) cache.set(key, value);
|
|
@@ -174,10 +179,6 @@ async function _validateEnvOnce(envValues) {
|
|
|
174
179
|
};
|
|
175
180
|
throw error;
|
|
176
181
|
}
|
|
177
|
-
function validatedCacheValues() {
|
|
178
|
-
return cacheList;
|
|
179
|
-
}
|
|
180
|
-
const cacheList = [];
|
|
181
182
|
/** Internal: framework-only access to the registered schema (for plugin/CLI). */
|
|
182
183
|
function _getRegisteredSchema() {
|
|
183
184
|
return registry.schema;
|
|
@@ -240,13 +241,7 @@ function readKey(key) {
|
|
|
240
241
|
if (!registry.schema) return rawValue;
|
|
241
242
|
const validator = registry.schema[key];
|
|
242
243
|
if (!validator) return rawValue;
|
|
243
|
-
const
|
|
244
|
-
let cache = validatedCache.get(cacheKey);
|
|
245
|
-
if (!cache) {
|
|
246
|
-
cache = /* @__PURE__ */ new Map();
|
|
247
|
-
validatedCache.set(cacheKey, cache);
|
|
248
|
-
cacheList.push(cache);
|
|
249
|
-
}
|
|
244
|
+
const cache = getValidatedCache(rawEnv);
|
|
250
245
|
if (cache.has(key)) return cache.get(key);
|
|
251
246
|
const result = validator["~standard"].validate(rawValue);
|
|
252
247
|
if (result instanceof Promise) throw new Error(`env: Async validator for '${key}' cannot be resolved synchronously. Proxy property access is synchronous, so async Standard Schema validators must be pre-resolved by calling \`_validateEnvOnce(env)\` at worker boot (Void splices this into the generated entry) or by awaiting \`validateAllEnv(env)\` before the first \`env.${key}\` read. Once pre-validated, the resolved value is cached and served synchronously here.`);
|
package/dist/runtime/env.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as requireRuntimeBinding, i as isInternalBinding, n as getRuntimeEnv, o as withRuntimeEnv, r as getRuntimeRequestResource, t as getRuntimeBinding } from "../env-
|
|
1
|
+
import { a as requireRuntimeBinding, i as isInternalBinding, n as getRuntimeEnv, o as withRuntimeEnv, r as getRuntimeRequestResource, t as getRuntimeBinding } from "../env-DMA3cXZt.mjs";
|
|
2
2
|
export { getRuntimeBinding, getRuntimeEnv, getRuntimeRequestResource, isInternalBinding, requireRuntimeBinding, withRuntimeEnv };
|