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
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as fetchStream } from "../fetch-stream-
|
|
1
|
+
import { o as FetchError } from "../fetch-BPCYVi3H.mjs";
|
|
2
|
+
import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
|
|
3
3
|
export { FetchError as StreamError, fetchStream };
|
package/dist/runtime/fetch.d.mts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export { FetchError, fetch };
|
|
1
|
+
import { a as fetch, i as QueryOption, n as MethodsOf, o as FetchError, r as ParamsOption, t as BodyOption } from "../fetch-BPCYVi3H.mjs";
|
|
2
|
+
export { BodyOption, FetchError, MethodsOf, ParamsOption, QueryOption, fetch };
|
package/dist/runtime/fetch.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
-
import { C as defer, E as ValidatorSlots, S as InferProps, T as HandlerInput, _ as defineQueue, a as CloudEnv, b as Deferred, c as QueueRetryOptions, d as TypedQueueHandler, f as VoidAssetRewriteError, g as defineMiddleware, h as defineHead, i as CloudContextVariables, l as RenderAssetTags, m as defineHandler, n as CloudBindings, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, w as ValidationError, y as defineScheduled } from "../handler-
|
|
2
|
+
import { C as defer, E as ValidatorSlots, S as InferProps, T as HandlerInput, _ as defineQueue, a as CloudEnv, b as Deferred, c as QueueRetryOptions, d as TypedQueueHandler, f as VoidAssetRewriteError, g as defineMiddleware, h as defineHead, i as CloudContextVariables, l as RenderAssetTags, m as defineHandler, n as CloudBindings, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, w as ValidationError, y as defineScheduled } from "../handler-CNAwjRcW.mjs";
|
|
3
3
|
export { BasicAuthOptions, CloudBindings, CloudContext, CloudContextVariables, CloudEnv, type Deferred, type HandlerInput, type InferProps, QueueBatch, QueueMessage, QueueRetryOptions, RenderAssetTags, TypedHandler, TypedQueueHandler, ValidationError, type ValidatorSlots, VoidAssetRewriteError, basicAuth, defer, defineHandler, defineHead, defineMiddleware, defineQueue, defineRender, defineScheduled };
|
package/dist/runtime/handler.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as defineMiddleware, c as defineScheduled, i as defineHead, n as basicAuth, o as defineQueue, r as defineHandler, s as defineRender, t as VoidAssetRewriteError } from "../handler-
|
|
1
|
+
import { r as defer, t as ValidationError } from "../validation-error-Dg9Recn1.mjs";
|
|
2
|
+
import { a as defineMiddleware, c as defineScheduled, i as defineHead, n as basicAuth, o as defineQueue, r as defineHandler, s as defineRender, t as VoidAssetRewriteError } from "../handler-BHAn2fZJ.mjs";
|
|
3
3
|
export { ValidationError, VoidAssetRewriteError, basicAuth, defer, defineHandler, defineHead, defineMiddleware, defineQueue, defineRender, defineScheduled };
|
package/dist/runtime/isr.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as getRawRuntimeEnv } from "../env-raw-
|
|
1
|
+
import { a as getRawRuntimeEnv } from "../env-raw-jZpP5n47.mjs";
|
|
2
2
|
import { isrEdgeCacheUrlForToken, splitIsrCacheKey } from "@void/isr";
|
|
3
3
|
import { denormalizeIsrPath, isrKey, isrPrefix, isrVariantPrefix, listIsrHosts } from "@void/isr/runtime";
|
|
4
4
|
//#region src/runtime/isr.ts
|
package/dist/runtime/kv.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as requireRuntimeBinding } from "../env-
|
|
1
|
+
import { a as requireRuntimeBinding } from "../env-DMA3cXZt.mjs";
|
|
2
2
|
//#region src/runtime/kv.ts
|
|
3
3
|
function parseValue(raw) {
|
|
4
4
|
if (raw === null) return null;
|
|
@@ -11,6 +11,13 @@ function parseValue(raw) {
|
|
|
11
11
|
function serializeValue(value) {
|
|
12
12
|
return JSON.stringify(value);
|
|
13
13
|
}
|
|
14
|
+
function toPutOptions(options) {
|
|
15
|
+
const opts = {};
|
|
16
|
+
if (options?.ttl) opts.expirationTtl = options.ttl;
|
|
17
|
+
if (options?.expiration) opts.expiration = options.expiration;
|
|
18
|
+
if (options?.metadata) opts.metadata = options.metadata;
|
|
19
|
+
return opts;
|
|
20
|
+
}
|
|
14
21
|
function getListCursor(result) {
|
|
15
22
|
return typeof result.cursor === "string" ? result.cursor : void 0;
|
|
16
23
|
}
|
|
@@ -21,11 +28,7 @@ function createKVMap(getNS, prefix) {
|
|
|
21
28
|
return parseValue(await getNS().get(prefixed(key)));
|
|
22
29
|
},
|
|
23
30
|
async put(key, value, options) {
|
|
24
|
-
|
|
25
|
-
if (options?.ttl) opts.expirationTtl = options.ttl;
|
|
26
|
-
if (options?.expiration) opts.expiration = options.expiration;
|
|
27
|
-
if (options?.metadata) opts.metadata = options.metadata;
|
|
28
|
-
await getNS().put(prefixed(key), serializeValue(value), opts);
|
|
31
|
+
await getNS().put(prefixed(key), serializeValue(value), toPutOptions(options));
|
|
29
32
|
},
|
|
30
33
|
async delete(key) {
|
|
31
34
|
await getNS().delete(prefixed(key));
|
|
@@ -62,11 +65,7 @@ function createKVClient(getNS) {
|
|
|
62
65
|
return parseValue(await getNS().get(key));
|
|
63
66
|
},
|
|
64
67
|
async put(key, value, options) {
|
|
65
|
-
|
|
66
|
-
if (options?.ttl) opts.expirationTtl = options.ttl;
|
|
67
|
-
if (options?.expiration) opts.expiration = options.expiration;
|
|
68
|
-
if (options?.metadata) opts.metadata = options.metadata;
|
|
69
|
-
await getNS().put(key, serializeValue(value), opts);
|
|
68
|
+
await getNS().put(key, serializeValue(value), toPutOptions(options));
|
|
70
69
|
},
|
|
71
70
|
async delete(key) {
|
|
72
71
|
await getNS().delete(key);
|
|
@@ -92,11 +92,8 @@ function connectLiveStream(url, options = {}) {
|
|
|
92
92
|
resubscribeOnNextOpen = true;
|
|
93
93
|
reconnectTimer = setTimeout(() => {
|
|
94
94
|
reconnectTimer = null;
|
|
95
|
-
if (closed || !options.keepOpen && subscriptions.size === 0) {
|
|
96
|
-
resubscribeOnNextOpen = false;
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
95
|
resubscribeOnNextOpen = false;
|
|
96
|
+
if (closed || !options.keepOpen && subscriptions.size === 0) return;
|
|
100
97
|
openSource(true).catch((error) => {
|
|
101
98
|
if (!closed) reportError(error);
|
|
102
99
|
});
|
|
@@ -152,12 +149,7 @@ function connectLiveStream(url, options = {}) {
|
|
|
152
149
|
if (resubscribeWithNextFlush) {
|
|
153
150
|
resubscribeWithNextFlush = false;
|
|
154
151
|
const pendingIds = new Set(operations.map((operation) => operation.id));
|
|
155
|
-
operations = [...[...subscriptions.values()].filter((subscription) => !pendingIds.has(subscription.id)).map(
|
|
156
|
-
kind: "subscribe",
|
|
157
|
-
id: subscription.id,
|
|
158
|
-
topic: subscription.topic,
|
|
159
|
-
...subscription.lastEventId !== void 0 && { lastEventId: subscription.lastEventId }
|
|
160
|
-
})), ...operations];
|
|
152
|
+
operations = [...[...subscriptions.values()].filter((subscription) => !pendingIds.has(subscription.id)).map(subscribeOperation), ...operations];
|
|
161
153
|
}
|
|
162
154
|
const headers = new Headers(typeof options.headers === "function" ? await options.headers() : options.headers);
|
|
163
155
|
headers.set("content-type", "application/json");
|
|
@@ -187,12 +179,7 @@ function connectLiveStream(url, options = {}) {
|
|
|
187
179
|
async function resubscribeAll() {
|
|
188
180
|
const activeSubscriptions = [...subscriptions.values()];
|
|
189
181
|
if (activeSubscriptions.length === 0) return;
|
|
190
|
-
await Promise.all(activeSubscriptions.map((subscription) => enqueue(
|
|
191
|
-
kind: "subscribe",
|
|
192
|
-
id: subscription.id,
|
|
193
|
-
topic: subscription.topic,
|
|
194
|
-
...subscription.lastEventId !== void 0 && { lastEventId: subscription.lastEventId }
|
|
195
|
-
})));
|
|
182
|
+
await Promise.all(activeSubscriptions.map((subscription) => enqueue(subscribeOperation(subscription))));
|
|
196
183
|
}
|
|
197
184
|
function closeIfIdle() {
|
|
198
185
|
if (!options.keepOpen && subscriptions.size === 0) {
|
|
@@ -223,12 +210,7 @@ function connectLiveStream(url, options = {}) {
|
|
|
223
210
|
};
|
|
224
211
|
subscriptions.set(subscription.id, subscription);
|
|
225
212
|
try {
|
|
226
|
-
await enqueue(
|
|
227
|
-
kind: "subscribe",
|
|
228
|
-
id: subscription.id,
|
|
229
|
-
topic: subscription.topic,
|
|
230
|
-
...subscription.lastEventId !== void 0 && { lastEventId: subscription.lastEventId }
|
|
231
|
-
});
|
|
213
|
+
await enqueue(subscribeOperation(subscription));
|
|
232
214
|
} catch (error) {
|
|
233
215
|
if (subscriptionVersions.get(subscription.id) === version) {
|
|
234
216
|
if (previousSubscription) {
|
|
@@ -281,5 +263,13 @@ function connectLiveStream(url, options = {}) {
|
|
|
281
263
|
}
|
|
282
264
|
};
|
|
283
265
|
}
|
|
266
|
+
function subscribeOperation(subscription) {
|
|
267
|
+
return {
|
|
268
|
+
kind: "subscribe",
|
|
269
|
+
id: subscription.id,
|
|
270
|
+
topic: subscription.topic,
|
|
271
|
+
...subscription.lastEventId !== void 0 && { lastEventId: subscription.lastEventId }
|
|
272
|
+
};
|
|
273
|
+
}
|
|
284
274
|
//#endregion
|
|
285
275
|
export { connectLiveStream };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as eventStream } from "../sse-
|
|
2
|
-
import { t as __getLiveBindingName } from "../live-
|
|
1
|
+
import { n as eventStream } from "../sse-CMvCgjNk.mjs";
|
|
2
|
+
import { t as __getLiveBindingName } from "../live-CgQuTpqD.mjs";
|
|
3
3
|
//#region src/runtime/live-server.ts
|
|
4
4
|
const GENERATION_KEY = "connection:generation";
|
|
5
5
|
const TOPIC_PRUNE_ALARM_DELAY_MS = 6e4;
|
|
@@ -185,13 +185,7 @@ function createLiveDurableObject() {
|
|
|
185
185
|
if (this.connection === connection) this.connection = null;
|
|
186
186
|
return new Response("connection queue full", { status: 410 });
|
|
187
187
|
}
|
|
188
|
-
const event =
|
|
189
|
-
subscriptionId: row.subscriptionId,
|
|
190
|
-
topic: message.topic,
|
|
191
|
-
...message.type !== void 0 && { type: message.type },
|
|
192
|
-
...message.eventId !== void 0 && { eventId: message.eventId },
|
|
193
|
-
data: message.data
|
|
194
|
-
};
|
|
188
|
+
const event = liveEvent(row.subscriptionId, message);
|
|
195
189
|
if (encodedLiveEventSize(event) > connection.limits.maxEncodedEventSize) return payloadTooLargeResponse(connection.limits.maxEncodedEventSize);
|
|
196
190
|
connection.queued++;
|
|
197
191
|
const activeConnection = connection;
|
|
@@ -247,23 +241,8 @@ function createLiveDurableObject() {
|
|
|
247
241
|
return Response.json({ ok: true });
|
|
248
242
|
}
|
|
249
243
|
async publish(message) {
|
|
250
|
-
const
|
|
251
|
-
const grouped
|
|
252
|
-
for (const [key, row] of rows) {
|
|
253
|
-
const list = grouped.get(row.connectionId) ?? [];
|
|
254
|
-
list.push({
|
|
255
|
-
key,
|
|
256
|
-
row
|
|
257
|
-
});
|
|
258
|
-
grouped.set(row.connectionId, list);
|
|
259
|
-
}
|
|
260
|
-
for (const { row } of [...grouped.values()].flat()) if (encodedLiveEventSize({
|
|
261
|
-
subscriptionId: row.subscriptionId,
|
|
262
|
-
topic: message.topic,
|
|
263
|
-
...message.type !== void 0 && { type: message.type },
|
|
264
|
-
...message.eventId !== void 0 && { eventId: message.eventId },
|
|
265
|
-
data: message.data
|
|
266
|
-
}) > message.limits.maxEncodedEventSize) return payloadTooLargeResponse(message.limits.maxEncodedEventSize);
|
|
244
|
+
const grouped = groupByConnection(await this.state.storage.list({ prefix: subscriberPrefix(message.streamId, message.topicKey) }));
|
|
245
|
+
for (const { row } of [...grouped.values()].flat()) if (encodedLiveEventSize(liveEvent(row.subscriptionId, message)) > message.limits.maxEncodedEventSize) return payloadTooLargeResponse(message.limits.maxEncodedEventSize);
|
|
267
246
|
const groups = [...grouped];
|
|
268
247
|
for (let offset = 0; offset < groups.length; offset += LIVE_FANOUT_CONCURRENCY) {
|
|
269
248
|
const batch = groups.slice(offset, offset + LIVE_FANOUT_CONCURRENCY);
|
|
@@ -303,15 +282,7 @@ function createLiveDurableObject() {
|
|
|
303
282
|
if (rows.size > staleKeys.length) await this.schedulePruneAlarm();
|
|
304
283
|
}
|
|
305
284
|
async findStaleSubscriberKeys(entries, limits) {
|
|
306
|
-
const grouped =
|
|
307
|
-
for (const [key, row] of entries) {
|
|
308
|
-
const list = grouped.get(row.connectionId) ?? [];
|
|
309
|
-
list.push({
|
|
310
|
-
key,
|
|
311
|
-
row
|
|
312
|
-
});
|
|
313
|
-
grouped.set(row.connectionId, list);
|
|
314
|
-
}
|
|
285
|
+
const grouped = groupByConnection(entries);
|
|
315
286
|
const staleKeys = [];
|
|
316
287
|
const groups = [...grouped];
|
|
317
288
|
for (let offset = 0; offset < groups.length; offset += LIVE_FANOUT_CONCURRENCY) {
|
|
@@ -387,6 +358,27 @@ function isStaleSubscriber(row, connection) {
|
|
|
387
358
|
const subscription = connection.subscriptions.get(row.subscriptionId);
|
|
388
359
|
return !subscription || !subscription.active || subscription.revision !== row.revision;
|
|
389
360
|
}
|
|
361
|
+
function liveEvent(subscriptionId, message) {
|
|
362
|
+
return {
|
|
363
|
+
subscriptionId,
|
|
364
|
+
topic: message.topic,
|
|
365
|
+
...message.type !== void 0 && { type: message.type },
|
|
366
|
+
...message.eventId !== void 0 && { eventId: message.eventId },
|
|
367
|
+
data: message.data
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
function groupByConnection(entries) {
|
|
371
|
+
const grouped = /* @__PURE__ */ new Map();
|
|
372
|
+
for (const [key, row] of entries) {
|
|
373
|
+
const list = grouped.get(row.connectionId) ?? [];
|
|
374
|
+
list.push({
|
|
375
|
+
key,
|
|
376
|
+
row
|
|
377
|
+
});
|
|
378
|
+
grouped.set(row.connectionId, list);
|
|
379
|
+
}
|
|
380
|
+
return grouped;
|
|
381
|
+
}
|
|
390
382
|
function encodedLiveEventSize(event) {
|
|
391
383
|
return textEncoder.encode(JSON.stringify(event)).byteLength;
|
|
392
384
|
}
|
package/dist/runtime/live.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
-
import { _ as __getLiveBindingName, a as LiveControlErrorCode, c as LiveControlOptions, d as LiveHookContext, f as LiveLimits, g as LiveSubscribeHookContext, h as LiveStreamOptions, i as LiveControlError, l as LiveControlRequest, m as LiveStream, n as LiveConnectHookContext, o as LiveControlOperation, p as LivePublishOptions, r as LiveConnectOptions, s as LiveControlOperationResult, t as LiveClientEvent, u as LiveControlResponse, v as __setLiveBindingName, y as
|
|
3
|
-
export { LiveClientEvent, LiveConnectHookContext, LiveConnectOptions, LiveControlError, LiveControlErrorCode, LiveControlOperation, LiveControlOperationResult, LiveControlOptions, LiveControlRequest, LiveControlResponse, LiveHookContext, LiveLimits, LivePublishOptions, LiveStream, LiveStreamOptions, LiveSubscribeHookContext, __getLiveBindingName, __setLiveBindingName, defineLiveStream };
|
|
2
|
+
import { _ as __getLiveBindingName, a as LiveControlErrorCode, b as defineLiveStream, c as LiveControlOptions, d as LiveHookContext, f as LiveLimits, g as LiveSubscribeHookContext, h as LiveStreamOptions, i as LiveControlError, l as LiveControlRequest, m as LiveStream, n as LiveConnectHookContext, o as LiveControlOperation, p as LivePublishOptions, r as LiveConnectOptions, s as LiveControlOperationResult, t as LiveClientEvent, u as LiveControlResponse, v as __setLiveBindingName, y as __setLiveDev } from "../live-Du8jXwOW.mjs";
|
|
3
|
+
export { LiveClientEvent, LiveConnectHookContext, LiveConnectOptions, LiveControlError, LiveControlErrorCode, LiveControlOperation, LiveControlOperationResult, LiveControlOptions, LiveControlRequest, LiveControlResponse, LiveHookContext, LiveLimits, LivePublishOptions, LiveStream, LiveStreamOptions, LiveSubscribeHookContext, __getLiveBindingName, __setLiveBindingName, __setLiveDev, defineLiveStream };
|
package/dist/runtime/live.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as __setLiveBindingName, r as
|
|
2
|
-
export { __getLiveBindingName, __setLiveBindingName, defineLiveStream };
|
|
1
|
+
import { i as defineLiveStream, n as __setLiveBindingName, r as __setLiveDev, t as __getLiveBindingName } from "../live-CgQuTpqD.mjs";
|
|
2
|
+
export { __getLiveBindingName, __setLiveBindingName, __setLiveDev, defineLiveStream };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { canonicalJson, splitSqlStatements } from "@void/deploy-core";
|
|
1
|
+
import { canonicalJson, canonicalSql, getMigrationPlanHashInput, isSingleStatement, splitSqlStatements } from "@void/deploy-core";
|
|
2
2
|
//#region src/runtime/migration-handler.ts
|
|
3
3
|
const SUPPORTED_CLASSIFIER_VERSION = 1;
|
|
4
4
|
function createMigrationHandler(env, migrations, _dialect, runAuthMigrations, planBundle) {
|
|
@@ -361,7 +361,7 @@ async function verifyPlanBundle(migrations, planBundle) {
|
|
|
361
361
|
const migration = migrations[index];
|
|
362
362
|
const plan = planBundle.plans[index];
|
|
363
363
|
if (plan.name !== migration.name || plan.dialect !== "sqlite" || plan.classifierVersion !== SUPPORTED_CLASSIFIER_VERSION) throw new Error(`invalid migration execution plan for ${migration.name}`);
|
|
364
|
-
const sqlHash = await sha256Hex(canonicalSql
|
|
364
|
+
const sqlHash = await sha256Hex(canonicalSql(migration.sql));
|
|
365
365
|
if (plan.sqlHash !== sqlHash) throw new Error(`migration SQL hash mismatch for ${migration.name}`);
|
|
366
366
|
const planHash = await hashPlan(plan);
|
|
367
367
|
if (plan.planHash !== planHash) throw new Error(`migration plan hash mismatch for ${migration.name}`);
|
|
@@ -374,25 +374,13 @@ async function verifyPlanBundle(migrations, planBundle) {
|
|
|
374
374
|
if (planBundle.migrationListHash !== migrationListHash) throw new Error("migration list hash mismatch");
|
|
375
375
|
return planBundle;
|
|
376
376
|
}
|
|
377
|
-
function canonicalSql$1(sql) {
|
|
378
|
-
return (sql.charCodeAt(0) === 65279 ? sql.slice(1) : sql).replace(/\r\n?/g, "\n");
|
|
379
|
-
}
|
|
380
377
|
async function sha256Hex(value) {
|
|
381
378
|
const bytes = new TextEncoder().encode(value);
|
|
382
379
|
const hash = await crypto.subtle.digest("SHA-256", bytes);
|
|
383
380
|
return `sha256:${[...new Uint8Array(hash)].map((byte) => byte.toString(16).padStart(2, "0")).join("")}`;
|
|
384
381
|
}
|
|
385
382
|
async function hashPlan(plan) {
|
|
386
|
-
|
|
387
|
-
classifierVersion: plan.classifierVersion,
|
|
388
|
-
dialect: plan.dialect,
|
|
389
|
-
kind: plan.kind,
|
|
390
|
-
name: plan.name,
|
|
391
|
-
sqlHash: plan.sqlHash,
|
|
392
|
-
stability: plan.stability
|
|
393
|
-
};
|
|
394
|
-
if (plan.kind === "breakpoint-framed") hashInput.statements = plan.statements;
|
|
395
|
-
return sha256Hex(canonicalJson(hashInput));
|
|
383
|
+
return sha256Hex(canonicalJson(getMigrationPlanHashInput(plan)));
|
|
396
384
|
}
|
|
397
385
|
async function runD1LegacyMigrations(db, migrations) {
|
|
398
386
|
await createTrackingTable(db);
|
|
@@ -412,7 +400,7 @@ async function runD1LegacyMigrations(db, migrations) {
|
|
|
412
400
|
try {
|
|
413
401
|
const statements = splitMigrationSql(migration.sql);
|
|
414
402
|
if (statements.length === 1) {
|
|
415
|
-
if (
|
|
403
|
+
if (isSingleStatement(statements[0])) {
|
|
416
404
|
await db.prepare(statements[0]).run();
|
|
417
405
|
await recordLegacyMigration(db, migration.name);
|
|
418
406
|
} else await runUnsplitMigration(db, migration, (/* @__PURE__ */ new Date()).toISOString());
|
|
@@ -478,70 +466,5 @@ function isStatementBreakpointLine(line) {
|
|
|
478
466
|
function hasInlineStatementBreakpoint(line) {
|
|
479
467
|
return /;\s*-->\s*statement-breakpoint\s*$/.test(line.trim());
|
|
480
468
|
}
|
|
481
|
-
function isSingleSqlStatement(sql) {
|
|
482
|
-
let statements = 0;
|
|
483
|
-
let inStatement = false;
|
|
484
|
-
let index = 0;
|
|
485
|
-
while (index < sql.length) {
|
|
486
|
-
const character = sql[index];
|
|
487
|
-
const next = index + 1 < sql.length ? sql[index + 1] : "";
|
|
488
|
-
if (character === "-" && next === "-") {
|
|
489
|
-
index += 2;
|
|
490
|
-
while (index < sql.length && sql[index] !== "\n") index++;
|
|
491
|
-
continue;
|
|
492
|
-
}
|
|
493
|
-
if (character === "/" && next === "*") {
|
|
494
|
-
index += 2;
|
|
495
|
-
while (index < sql.length - 1 && !(sql[index] === "*" && sql[index + 1] === "/")) index++;
|
|
496
|
-
index = Math.min(index + 2, sql.length);
|
|
497
|
-
continue;
|
|
498
|
-
}
|
|
499
|
-
if (character === "'") {
|
|
500
|
-
inStatement = true;
|
|
501
|
-
index++;
|
|
502
|
-
while (index < sql.length) {
|
|
503
|
-
if (sql[index] === "'" && sql[index + 1] === "'") {
|
|
504
|
-
index += 2;
|
|
505
|
-
continue;
|
|
506
|
-
}
|
|
507
|
-
if (sql[index] === "'") {
|
|
508
|
-
index++;
|
|
509
|
-
break;
|
|
510
|
-
}
|
|
511
|
-
index++;
|
|
512
|
-
}
|
|
513
|
-
continue;
|
|
514
|
-
}
|
|
515
|
-
if (character === "\"" || character === "`" || character === "[") {
|
|
516
|
-
inStatement = true;
|
|
517
|
-
const close = character === "[" ? "]" : character;
|
|
518
|
-
index++;
|
|
519
|
-
while (index < sql.length) {
|
|
520
|
-
if (close !== "]" && sql[index] === close && sql[index + 1] === close) {
|
|
521
|
-
index += 2;
|
|
522
|
-
continue;
|
|
523
|
-
}
|
|
524
|
-
if (sql[index] === close) {
|
|
525
|
-
index++;
|
|
526
|
-
break;
|
|
527
|
-
}
|
|
528
|
-
index++;
|
|
529
|
-
}
|
|
530
|
-
continue;
|
|
531
|
-
}
|
|
532
|
-
if (character === ";") {
|
|
533
|
-
if (inStatement) {
|
|
534
|
-
statements++;
|
|
535
|
-
inStatement = false;
|
|
536
|
-
}
|
|
537
|
-
index++;
|
|
538
|
-
continue;
|
|
539
|
-
}
|
|
540
|
-
if (character !== " " && character !== " " && character !== "\n" && character !== "\r") inStatement = true;
|
|
541
|
-
index++;
|
|
542
|
-
}
|
|
543
|
-
if (inStatement) statements++;
|
|
544
|
-
return statements === 1;
|
|
545
|
-
}
|
|
546
469
|
//#endregion
|
|
547
470
|
export { createMigrationHandler };
|
package/dist/runtime/queues.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as requireRuntimeBinding } from "../env-
|
|
1
|
+
import { a as requireRuntimeBinding } from "../env-DMA3cXZt.mjs";
|
|
2
2
|
//#region src/runtime/queues.ts
|
|
3
3
|
/** Typed queue producers — resolves `QUEUE_*` bindings from the active runtime environment. */
|
|
4
4
|
const queues = new Proxy({}, { get(_, name) {
|
|
@@ -6,8 +6,8 @@ import { Hono } from "hono";
|
|
|
6
6
|
* via Workers for Platforms instead of the Cloudflare REST API (~1-5ms vs ~50-200ms).
|
|
7
7
|
*
|
|
8
8
|
* Authenticated via `x-void-internal` header against `env.__VOID_PROXY_TOKEN`.
|
|
9
|
-
* Response formats match the proxy's
|
|
10
|
-
*
|
|
9
|
+
* Response formats match the proxy's REST API responses, so ProxyClient
|
|
10
|
+
* handles both paths.
|
|
11
11
|
*/
|
|
12
12
|
export declare function createBindingHandler(env: Record<string, unknown>): Hono;
|
|
13
13
|
//#endregion
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { t as parseR2Conditional } from "../../r2-conditions-D1Wk8i7b.mjs";
|
|
2
2
|
import { Hono } from "hono";
|
|
3
3
|
//#region src/runtime/remote/binding-handler.ts
|
|
4
|
+
function decodeBase64(value) {
|
|
5
|
+
return Uint8Array.from(atob(value), (ch) => ch.charCodeAt(0));
|
|
6
|
+
}
|
|
4
7
|
/**
|
|
5
8
|
* Creates a Hono app that handles `/__void/*` routes for native binding access.
|
|
6
9
|
* Deployed user workers expose this so the proxy can dispatch D1/KV/R2 operations
|
|
7
10
|
* via Workers for Platforms instead of the Cloudflare REST API (~1-5ms vs ~50-200ms).
|
|
8
11
|
*
|
|
9
12
|
* Authenticated via `x-void-internal` header against `env.__VOID_PROXY_TOKEN`.
|
|
10
|
-
* Response formats match the proxy's
|
|
11
|
-
*
|
|
13
|
+
* Response formats match the proxy's REST API responses, so ProxyClient
|
|
14
|
+
* handles both paths.
|
|
12
15
|
*/
|
|
13
16
|
function createBindingHandler(env) {
|
|
14
17
|
const app = new Hono();
|
|
@@ -102,12 +105,8 @@ function createBindingHandler(env) {
|
|
|
102
105
|
if (body.expiration) opts.expiration = body.expiration;
|
|
103
106
|
if (body.expiration_ttl) opts.expirationTtl = body.expiration_ttl;
|
|
104
107
|
let value;
|
|
105
|
-
if (body.base64 && typeof body.value === "string")
|
|
106
|
-
|
|
107
|
-
const bytes = new Uint8Array(binary.length);
|
|
108
|
-
for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
|
|
109
|
-
value = bytes.buffer;
|
|
110
|
-
} else value = typeof body.value === "string" ? body.value : JSON.stringify(body.value);
|
|
108
|
+
if (body.base64 && typeof body.value === "string") value = decodeBase64(body.value).buffer;
|
|
109
|
+
else value = typeof body.value === "string" ? body.value : JSON.stringify(body.value);
|
|
111
110
|
await kv.put(body.key, value, opts);
|
|
112
111
|
return c.json({ success: true });
|
|
113
112
|
});
|
|
@@ -153,7 +152,7 @@ function createBindingHandler(env) {
|
|
|
153
152
|
if (!body.binding || !body.key) return c.json({ error: "binding and key required" }, 400);
|
|
154
153
|
const bucket = env[body.binding];
|
|
155
154
|
if (!bucket) return c.json({ error: `unknown binding "${body.binding}"` }, 404);
|
|
156
|
-
const data = body.base64 ?
|
|
155
|
+
const data = body.base64 ? decodeBase64(body.base64) : new TextEncoder().encode(body.value ?? "");
|
|
157
156
|
let onlyIf;
|
|
158
157
|
try {
|
|
159
158
|
if (body.onlyIf !== void 0 || c.req.path.endsWith("/put-conditional")) onlyIf = parseR2Conditional(body.onlyIf);
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { t as cfAccessHeaders } from "../../cf-access-TWNzXltp.mjs";
|
|
2
2
|
import { n as serializeR2Conditional } from "../../r2-conditions-D1Wk8i7b.mjs";
|
|
3
3
|
//#region src/runtime/remote/client.ts
|
|
4
|
+
/** Base64-encode binary values for JSON transport to the proxy. */
|
|
5
|
+
function bytesToBase64(bytes) {
|
|
6
|
+
let binary = "";
|
|
7
|
+
for (const byte of bytes) binary += String.fromCharCode(byte);
|
|
8
|
+
return btoa(binary);
|
|
9
|
+
}
|
|
4
10
|
function readableMessage(value) {
|
|
5
11
|
if (typeof value !== "string") return;
|
|
6
12
|
const text = value.replace(/(?:\u001b\]|\u009d)[\s\S]*?(?:\u0007|\u001b\\|\u009c|$)/g, "").replace(/(?:\u001b\[|\u009b)[0-?]*[ -/]*[@-~]/g, "").replace(/[\u0000-\u001f\u007f-\u009f]/g, " ").trim();
|
|
@@ -118,7 +124,7 @@ var ProxyClient = class {
|
|
|
118
124
|
//#region src/runtime/remote/d1.ts
|
|
119
125
|
/**
|
|
120
126
|
* D1Database implementation backed by the remote proxy.
|
|
121
|
-
* Used during local development when `remote: true` is set in void.
|
|
127
|
+
* Used during local development when `remote: true` is set in void.config.ts.
|
|
122
128
|
*/
|
|
123
129
|
var ProxyD1Database = class {
|
|
124
130
|
client;
|
|
@@ -172,43 +178,31 @@ var ProxyD1PreparedStatement = class ProxyD1PreparedStatement {
|
|
|
172
178
|
this._sql = sql;
|
|
173
179
|
this._params = params;
|
|
174
180
|
}
|
|
181
|
+
query(method) {
|
|
182
|
+
return this.client.fetch("/d1/query", {
|
|
183
|
+
binding: this.binding,
|
|
184
|
+
sql: this._sql,
|
|
185
|
+
params: this._params,
|
|
186
|
+
method
|
|
187
|
+
});
|
|
188
|
+
}
|
|
175
189
|
bind(...values) {
|
|
176
190
|
return new ProxyD1PreparedStatement(this.client, this.binding, this._sql, values);
|
|
177
191
|
}
|
|
178
192
|
async all() {
|
|
179
|
-
return await (await this.
|
|
180
|
-
binding: this.binding,
|
|
181
|
-
sql: this._sql,
|
|
182
|
-
params: this._params,
|
|
183
|
-
method: "all"
|
|
184
|
-
})).json();
|
|
193
|
+
return await (await this.query("all")).json();
|
|
185
194
|
}
|
|
186
195
|
async first(col) {
|
|
187
|
-
const row = await (await this.
|
|
188
|
-
binding: this.binding,
|
|
189
|
-
sql: this._sql,
|
|
190
|
-
params: this._params,
|
|
191
|
-
method: "first"
|
|
192
|
-
})).json();
|
|
196
|
+
const row = await (await this.query("first")).json();
|
|
193
197
|
if (row === null) return null;
|
|
194
198
|
if (col) return row[col];
|
|
195
199
|
return row;
|
|
196
200
|
}
|
|
197
201
|
async run() {
|
|
198
|
-
return await (await this.
|
|
199
|
-
binding: this.binding,
|
|
200
|
-
sql: this._sql,
|
|
201
|
-
params: this._params,
|
|
202
|
-
method: "run"
|
|
203
|
-
})).json();
|
|
202
|
+
return await (await this.query("run")).json();
|
|
204
203
|
}
|
|
205
204
|
async raw(options) {
|
|
206
|
-
const data = await (await this.
|
|
207
|
-
binding: this.binding,
|
|
208
|
-
sql: this._sql,
|
|
209
|
-
params: this._params,
|
|
210
|
-
method: "raw"
|
|
211
|
-
})).json();
|
|
205
|
+
const data = await (await this.query("raw")).json();
|
|
212
206
|
if (options?.columnNames) return [data.columns, ...data.results];
|
|
213
207
|
return data.results;
|
|
214
208
|
}
|
|
@@ -217,7 +211,7 @@ var ProxyD1PreparedStatement = class ProxyD1PreparedStatement {
|
|
|
217
211
|
//#region src/runtime/remote/kv.ts
|
|
218
212
|
/**
|
|
219
213
|
* KVNamespace implementation backed by the remote proxy.
|
|
220
|
-
* Used during local development when `remote: true` is set in void.
|
|
214
|
+
* Used during local development when `remote: true` is set in void.config.ts.
|
|
221
215
|
*/
|
|
222
216
|
var ProxyKVNamespace = class {
|
|
223
217
|
client;
|
|
@@ -281,30 +275,9 @@ var ProxyKVNamespace = class {
|
|
|
281
275
|
let serializedValue;
|
|
282
276
|
let isBase64 = false;
|
|
283
277
|
if (typeof value === "string") serializedValue = value;
|
|
284
|
-
else
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
for (const byte of bytes) binary += String.fromCharCode(byte);
|
|
288
|
-
serializedValue = btoa(binary);
|
|
289
|
-
isBase64 = true;
|
|
290
|
-
} else {
|
|
291
|
-
const reader = value.getReader();
|
|
292
|
-
const chunks = [];
|
|
293
|
-
while (true) {
|
|
294
|
-
const { done, value: chunk } = await reader.read();
|
|
295
|
-
if (done) break;
|
|
296
|
-
chunks.push(chunk);
|
|
297
|
-
}
|
|
298
|
-
const total = chunks.reduce((sum, c) => sum + c.length, 0);
|
|
299
|
-
const merged = new Uint8Array(total);
|
|
300
|
-
let offset = 0;
|
|
301
|
-
for (const chunk of chunks) {
|
|
302
|
-
merged.set(chunk, offset);
|
|
303
|
-
offset += chunk.length;
|
|
304
|
-
}
|
|
305
|
-
let binary = "";
|
|
306
|
-
for (const byte of merged) binary += String.fromCharCode(byte);
|
|
307
|
-
serializedValue = btoa(binary);
|
|
278
|
+
else {
|
|
279
|
+
const buffer = value instanceof ArrayBuffer ? value : await new Response(value).arrayBuffer();
|
|
280
|
+
serializedValue = bytesToBase64(new Uint8Array(buffer));
|
|
308
281
|
isBase64 = true;
|
|
309
282
|
}
|
|
310
283
|
const body = {
|
|
@@ -337,7 +310,7 @@ var ProxyKVNamespace = class {
|
|
|
337
310
|
//#region src/runtime/remote/r2.ts
|
|
338
311
|
/**
|
|
339
312
|
* R2Bucket implementation backed by the remote proxy.
|
|
340
|
-
* Used during local development when `remote: true` is set in void.
|
|
313
|
+
* Used during local development when `remote: true` is set in void.config.ts.
|
|
341
314
|
*/
|
|
342
315
|
var ProxyR2Bucket = class {
|
|
343
316
|
client;
|
|
@@ -373,26 +346,9 @@ var ProxyR2Bucket = class {
|
|
|
373
346
|
let textValue;
|
|
374
347
|
if (typeof value === "string") textValue = value;
|
|
375
348
|
else if (value === null) textValue = "";
|
|
376
|
-
else if (value instanceof ArrayBuffer) base64 =
|
|
377
|
-
else if (ArrayBuffer.isView(value)) base64 =
|
|
378
|
-
else
|
|
379
|
-
else {
|
|
380
|
-
const reader = value.getReader();
|
|
381
|
-
const chunks = [];
|
|
382
|
-
while (true) {
|
|
383
|
-
const { done, value: chunk } = await reader.read();
|
|
384
|
-
if (done) break;
|
|
385
|
-
chunks.push(chunk);
|
|
386
|
-
}
|
|
387
|
-
const total = chunks.reduce((sum, c) => sum + c.length, 0);
|
|
388
|
-
const merged = new Uint8Array(total);
|
|
389
|
-
let offset = 0;
|
|
390
|
-
for (const chunk of chunks) {
|
|
391
|
-
merged.set(chunk, offset);
|
|
392
|
-
offset += chunk.length;
|
|
393
|
-
}
|
|
394
|
-
base64 = arrayBufferToBase64(merged.buffer);
|
|
395
|
-
}
|
|
349
|
+
else if (value instanceof ArrayBuffer) base64 = bytesToBase64(new Uint8Array(value));
|
|
350
|
+
else if (ArrayBuffer.isView(value)) base64 = bytesToBase64(new Uint8Array(value.buffer, value.byteOffset, value.byteLength));
|
|
351
|
+
else base64 = bytesToBase64(new Uint8Array(await new Response(value).arrayBuffer()));
|
|
396
352
|
const body = {
|
|
397
353
|
binding: this.binding,
|
|
398
354
|
key
|
|
@@ -453,12 +409,6 @@ var ProxyR2Bucket = class {
|
|
|
453
409
|
throw new Error("resumeMultipartUpload() is not supported with remote bindings");
|
|
454
410
|
}
|
|
455
411
|
};
|
|
456
|
-
function arrayBufferToBase64(buffer, byteOffset = 0, byteLength = buffer.byteLength) {
|
|
457
|
-
const bytes = new Uint8Array(buffer, byteOffset, byteLength);
|
|
458
|
-
let binary = "";
|
|
459
|
-
for (const byte of bytes) binary += String.fromCharCode(byte);
|
|
460
|
-
return btoa(binary);
|
|
461
|
-
}
|
|
462
412
|
function makeR2Object(data) {
|
|
463
413
|
return {
|
|
464
414
|
key: data.key,
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare function interpolateRouteParams(path: string, params?: Record<string, string>): string;
|
|
4
|
-
//#endregion
|
|
1
|
+
import { t as interpolateRouteParams } from "../route-url-BgPja1GS.mjs";
|
|
2
|
+
export { interpolateRouteParams };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as interpolateRouteParams } from "../route-url-
|
|
1
|
+
import { t as interpolateRouteParams } from "../route-url-BjGv_KKY.mjs";
|
|
2
2
|
export { interpolateRouteParams };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as DevCssAsset } from "../types-BAp5AEBU.mjs";
|
|
2
|
-
import { a as handlePageMutation, i as handlePageGet } from "../protocol-
|
|
2
|
+
import { a as handlePageMutation, i as handlePageGet } from "../protocol-BPZaNqBo.mjs";
|
|
3
3
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
4
4
|
import { Context, ExecutionContext, Hono, MiddlewareHandler } from "hono";
|
|
5
5
|
//#region src/runtime/routing-errors.d.ts
|