void 0.25.0 → 0.26.1
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-DcR1ywt8.mjs → account-cmd-CfUXh_nU.mjs} +8 -7
- package/dist/{application-analysis-BVsVqc11.mjs → application-analysis-DKy02UY0.mjs} +21 -32
- package/dist/{application-routing-B7QEjqSR.mjs → application-routing-DQyUh_5S.mjs} +1 -1
- package/dist/{auth-7wuZ5ob8.mjs → auth-B5_tZLxT.mjs} +9 -9
- package/dist/{auth-CdgZ9uag.mjs → auth-BgX2qYSY.mjs} +1 -1
- package/dist/{auth-link-Z6E5DYvM.mjs → auth-link-D5RmKnzh.mjs} +5 -5
- package/dist/{auth-migrations-9vif1uj8.mjs → auth-migrations-BwHgeEsD.mjs} +8 -18
- package/dist/{auth-router-BdM4avI8.mjs → auth-router-Bap-pvbn.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-CEE7D-hM.mjs → build-cmd-B58c8iS8.mjs} +8 -7
- package/dist/{cache-TcZnBLtH.mjs → cache-Bo52trKF.mjs} +8 -8
- package/dist/{cancel-deploy-CYoZmcmR.mjs → cancel-deploy-BZNz3Q26.mjs} +6 -5
- package/dist/{cf-access-AHKBzmuu.mjs → cf-access-ngGqZpHZ.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/cli/cli.mjs +48 -83
- package/dist/cli/cloudflare-operation-process.mjs +71 -77
- package/dist/cli/env-schema-probe.d.mts +1 -1
- package/dist/cli/env-schema-probe.mjs +5 -6
- package/dist/client-By4JjMw_.mjs +2 -0
- package/dist/{client-RsPo8wsP.mjs → client-C2Prx_Bi.mjs} +30 -8
- 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-BhbK6yTq.mjs → cloudflare-operations-BlYLlowZ.mjs} +1 -1
- package/dist/{cloudflare-operations-CjaV4lZi.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-DCvUmPXY.mjs → connect-X0MUA1gk.mjs} +12 -11
- package/dist/{create-project-eAPgYq35.mjs → create-project-DxiyW6iX.mjs} +7 -7
- package/dist/{create-project-C734I-Mu.mjs → create-project-iwkbqiBU.mjs} +1 -1
- package/dist/{db-C07GEdKF.mjs → db-XnVMHzoV.mjs} +101 -133
- package/dist/{delete-pKMVsrpJ.mjs → delete-esYlMiSJ.mjs} +8 -8
- package/dist/{deploy-DfsAe-T0.mjs → deploy-BsEvnlJl.mjs} +2377 -2512
- package/dist/deploy-C1d-YTfp.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-D3uA9ize.mjs → domain-CbbBWhWE.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-z3o2cwjH.mjs → email-CpuT42g7.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-D5liuQYR.mjs → env-DMA3cXZt.mjs} +1 -1
- package/dist/{env-public-BX_r8HR6.d.mts → env-public-DR7ZM6d-.d.mts} +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/{env-3Q8-_2IH.mjs → env-w9jOyGZn.mjs} +10 -9
- 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-IvCYKyQL.mjs → fetch-stream-PGgz4uGz.mjs} +26 -24
- package/dist/{fetch-stream-Bjf0hoZb.d.mts → fetch-stream-obvZ7fvO.d.mts} +1 -16
- package/dist/{gen-NjwoG9FK.mjs → gen-DtkQhvQg.mjs} +40 -57
- package/dist/gen-dA9hW7AV.mjs +2 -0
- package/dist/{github-cmd-DquUq-b1.mjs → github-cmd-D_FsOFxq.mjs} +65 -164
- package/dist/{handler-DghKr6dU.mjs → handler-BHAn2fZJ.mjs} +1 -0
- package/dist/{handler-CZ4nAylQ.d.mts → handler-CNAwjRcW.d.mts} +5 -12
- 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-DRZXC4fj.mjs → help-CVFBTmBx.mjs} +23 -38
- package/dist/help-DzKUrQvk.mjs +2 -0
- package/dist/{inbound-fRkqcXaC.mjs → inbound-PfQDLXc5.mjs} +23 -24
- package/dist/index.d.mts +19 -2
- package/dist/index.mjs +632 -532
- package/dist/{info-BmA3_IFZ.mjs → info-PYWwkWyt.mjs} +4 -4
- package/dist/{init-DT7yuuyl.mjs → init-Bw-fRKGp.mjs} +161 -197
- package/dist/{limits-Bq5LG8Id.d.mts → limits-CFsDKQvU.d.mts} +1 -10
- package/dist/{limits-Cjuk2VPm.mjs → limits-D0vD1M9A.mjs} +1 -22
- package/dist/{link-CXOlqh2F.mjs → link-DlPG8iX3.mjs} +10 -10
- package/dist/{list-eEWVJEPn.mjs → list-2GN7_ueV.mjs} +11 -9
- package/dist/{live-CB1y5IuC.mjs → live-CgQuTpqD.mjs} +15 -16
- package/dist/{live-Chw1eIMv.d.mts → live-Du8jXwOW.d.mts} +4 -2
- package/dist/{local-d1-Df4XpwhW.mjs → local-d1-ga5O_idV.mjs} +2 -2
- package/dist/{login-pWQHYVu2.mjs → login-D-Q4xw3Q.mjs} +7 -7
- package/dist/login-Dc-wuTDq.mjs +2 -0
- package/dist/{logs-DnxVX7TR.mjs → logs-rd8J-OFh.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-BkyRWRx8.mjs → node-DJicPvPj.mjs} +5 -5
- package/dist/{operator-args-CAVcmwUt.mjs → operator-args-BNsW5gfp.mjs} +10 -1
- package/dist/{operator-auth-CkmTE3rt.mjs → operator-auth-AzVLbrr3.mjs} +4 -8
- package/dist/{operator-client-LmwjxT6q.mjs → operator-client-BQtzyG-g.mjs} +3 -3
- package/dist/{operator-cmd-d-IEKgNk.mjs → operator-cmd-B6f6Cg9Z.mjs} +45 -14
- package/dist/operator-cmd-Cwn50lOV.mjs +2 -0
- package/dist/{output-BBsUwdyT.mjs → output-C50ag2r3.mjs} +44 -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-NPpwZ_kc.mjs → plan-BhLO2p4w.mjs} +4 -3
- package/dist/plan-CH2G51je.mjs +2 -0
- package/dist/{platform-args-Bzf8JPc2.mjs → platform-args-BoZkWQnJ.mjs} +4 -2
- package/dist/platform-args-DYgITk0D.mjs +2 -0
- package/dist/{platform-auth-config-0V0lA3pF.mjs → platform-auth-config-n603OANg.mjs} +45 -40
- package/dist/{platform-auth-protection-DFeJ-JkK.mjs → platform-auth-protection-zxDr0hWW.mjs} +9 -8
- package/dist/{platform-auth-recovery-ICy4muq6.mjs → platform-auth-recovery-tw9lgtgE.mjs} +8 -7
- package/dist/{platform-cmd-D7vSWMvV.mjs → platform-cmd-B8-bCb7t.mjs} +48 -23
- package/dist/{platform-cmd-BPySFOew.mjs → platform-cmd-C00YM14r.mjs} +1 -1
- package/dist/{platform-discovery-DDDUvnqp.mjs → platform-discovery-BC0HCKYt.mjs} +18 -4
- package/dist/{platform-domain-CUdY064e.mjs → platform-domain-p0kobLV8.mjs} +6 -5
- package/dist/{platform-lifecycle-Dm09JNkn.mjs → platform-lifecycle-D_QEY32D.mjs} +906 -389
- package/dist/{platform-lifecycle-BaUdTRPU.mjs → platform-lifecycle-vFqtNPPa.mjs} +1 -1
- package/dist/{platform-management-BSEc_ZeG.mjs → platform-management-BdYblvvE.mjs} +175 -32
- package/dist/{platform-management-Bp6aoH2C.mjs → platform-management-oi-SvI3f.mjs} +1 -1
- package/dist/{platform-plans-config-B0pOVQyW.mjs → platform-plans-config-CjiFv5J4.mjs} +5 -4
- package/dist/{platform-recovery-WOZ95Uze.mjs → platform-recovery-PvNS9Nl2.mjs} +3 -3
- package/dist/{platform-registry-KfNEF84O.mjs → platform-registry-P387v42A.mjs} +17 -10
- package/dist/platform-setup-DVe42Ws7.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-DnaKBi--.mjs → prepare-Do96654b.mjs} +8 -8
- package/dist/{prepare-39EvOhI6.mjs → prepare-Dq9hTIbo.mjs} +4 -3
- package/dist/{prerender-render-D9qbLs2f.mjs → prerender-render-Ct20jftc.mjs} +17 -3
- package/dist/prerender-render.mjs +1 -1
- package/dist/{project-IOjBU8R6.mjs → project-BiaPQ7ur.mjs} +1 -1
- package/dist/{project-BkbfDs0V.mjs → project-DQstYTxO.mjs} +1 -1
- package/dist/{project-cmd-Bs5A392E.mjs → project-cmd-ti8_yTcA.mjs} +19 -19
- package/dist/{project-team-ohAWWaew.mjs → project-team-CDPE1Tsg.mjs} +15 -18
- package/dist/{project-token-CP01Jna6.mjs → project-token-CkZ1cN0Z.mjs} +14 -17
- package/dist/{project-tsconfig-B8GeM0RM.mjs → project-tsconfig-CVJhNMxs.mjs} +2 -1
- package/dist/{project-zero-trust-BzkVgx35.mjs → project-zero-trust-DdjLR61k.mjs} +12 -9
- package/dist/{protocol-CjF_iI9X.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-Btj1jppf.mjs → provision-BfaLiWbj.mjs} +51 -42
- package/dist/{provision-BEv0k-qz.mjs → provision-Wu9ZBk9L.mjs} +2 -3
- package/dist/{requests-B3PBuGlX.mjs → requests-DFAqyYy8.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-DDub9GsO.mjs → rollback-BKYXBduI.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-Ol0TNjk6.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 +11 -12
- package/dist/runtime/ai.mjs +47 -113
- 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.d.mts +1 -1
- 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/limits.d.mts +2 -2
- package/dist/runtime/limits.mjs +2 -2
- 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 +35 -86
- 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.d.mts +1 -1
- package/dist/runtime/sandbox.mjs +14 -24
- 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/{sandbox-XZAqzFlG.d.mts → sandbox-C5LFoJMf.d.mts} +7 -7
- package/dist/{scan-C7okrLyM.mjs → scan-C3uDzz6J.mjs} +21 -18
- package/dist/{secret-3c72lY1U.mjs → secret-BAt2KMmO.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-Dhom39bd.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-ctOrgiS3.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-CL1w7GXU.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 +69 -64
- package/{skills/void/docs → docs}/guide/app-types.md +1 -1
- 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/database.md +23 -8
- 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 +12 -5
- package/{skills/void/docs → docs}/guide/pages-routing/actions-and-forms.md +21 -9
- 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 +2 -10
- 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/credentials.md +2 -2
- package/{skills/void/docs → docs}/guide/platform/installation/domains.md +3 -1
- package/{skills/void/docs → docs}/guide/platform/installation/first-deployment.md +8 -2
- package/{skills/void/docs → docs}/guide/platform/installation/maintenance.md +7 -1
- package/{skills/void/docs → docs}/guide/platform/installation/setup.md +1 -1
- package/docs/guide/platform/installation/uninstall.md +102 -0
- package/{skills/void/docs → docs}/guide/project-collaboration.md +6 -2
- 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 +41 -22
- 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/api/resources.md +11 -14
- package/{skills/void/docs → docs}/reference/api.md +35 -34
- package/{skills/void/docs → docs}/reference/cli/auth.md +3 -6
- package/{skills/void/docs → docs}/reference/cli/database.md +3 -4
- 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 +3 -3
- package/{skills/void/docs → docs}/reference/cli/platform-email.md +2 -3
- package/{skills/void/docs → docs}/reference/cli/platform-installation.md +15 -13
- 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/platform.md +4 -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 +2 -2
- package/{skills/void/docs → docs}/reference/config.md +13 -13
- package/{skills/void/docs → docs}/reference/resource-inference.md +2 -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 +11 -5
- package/dist/cf-build-output-ChY6-XWP.mjs +0 -2
- package/dist/client-B4Me-9HE.mjs +0 -2
- package/dist/config-0acf1oys.mjs +0 -2
- package/dist/config-D8MOgiQV.mjs +0 -32
- package/dist/deploy-BDu1vhSH.mjs +0 -2
- package/dist/discover-AMCBXivQ.mjs +0 -2
- package/dist/fetch-error-Sp1R4mZv.d.mts +0 -20
- package/dist/gen-ById9r2j.mjs +0 -2
- package/dist/help-DPGBwomV.mjs +0 -2
- package/dist/login-C98-sw79.mjs +0 -2
- package/dist/migrate-CEu2X5DB.mjs +0 -2
- package/dist/plan-D1Q5rf-r.mjs +0 -2
- package/dist/platform-args-Cq6EjQro.mjs +0 -2
- package/dist/prepare-CnjcTV2s.mjs +0 -2
- package/dist/resolve-project-DtbidV4y.mjs +0 -2
- package/dist/route-url-CG7U-cRN.mjs +0 -15
- package/dist/runner-CXA9Fh8h.mjs +0 -2
- package/dist/validate-Dq_L3s0S.mjs +0 -2
- package/skills/void/docs/guide/platform/installation/uninstall.md +0 -69
- 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/database/d1.md +2 -2
- package/{skills/void/docs → docs}/guide/database/mysql.md +0 -0
- package/{skills/void/docs → docs}/guide/deployment.md +0 -0
- 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/prerequisites.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/rewrites.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/types.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/deploy.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/structure.md +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as readProjectConfig } from "./project-
|
|
2
|
-
import { c as getToken } from "./auth-
|
|
3
|
-
import { H as outro, L as log } from "./
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { r as readProjectConfig } from "./project-DQstYTxO.mjs";
|
|
2
|
+
import { c as getToken } from "./auth-B5_tZLxT.mjs";
|
|
3
|
+
import { H as outro, L as log } from "./dist-D3m88sjf.mjs";
|
|
4
|
+
import { i as dim, l as import_picocolors } from "./output-C50ag2r3.mjs";
|
|
5
|
+
import { r as PlatformClient } from "./client-C2Prx_Bi.mjs";
|
|
6
6
|
//#region src/cli/requests.ts
|
|
7
7
|
async function runRequestsCommand(root, range, status) {
|
|
8
8
|
console.log();
|
|
@@ -15,9 +15,14 @@ function resolveProjectBySlug(projects, slug) {
|
|
|
15
15
|
slug: project.slug
|
|
16
16
|
} : null;
|
|
17
17
|
}
|
|
18
|
+
async function requireProjectBySlug(client, slug) {
|
|
19
|
+
const project = resolveProjectBySlug(await client.listProjects(), slug);
|
|
20
|
+
if (!project) throw new Error(`project: No project found with slug '${slug}'.`);
|
|
21
|
+
return project;
|
|
22
|
+
}
|
|
18
23
|
function inferDefaultSlug(root) {
|
|
19
24
|
const pkgPath = join(root, "package.json");
|
|
20
25
|
return (JSON.parse(readFileSync(pkgPath, "utf-8")).name ?? "my-app").replace(/^@[^/]+\//, "").replace(/[^a-z0-9-]/g, "-");
|
|
21
26
|
}
|
|
22
27
|
//#endregion
|
|
23
|
-
export { inferDefaultSlug as n,
|
|
28
|
+
export { resolveProjectBySlug as i, inferDefaultSlug as n, requireProjectBySlug as r, getRequestedProjectSlug as t };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-
|
|
2
|
-
import { c as getToken } from "./auth-
|
|
3
|
-
import { A as confirm, H as outro, K as select, L as log, O as cancel, tt as isCancel } from "./
|
|
4
|
-
import { r as
|
|
5
|
-
import {
|
|
1
|
+
import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-DQstYTxO.mjs";
|
|
2
|
+
import { c as getToken } from "./auth-B5_tZLxT.mjs";
|
|
3
|
+
import { A as confirm, H as outro, K as select, L as log, O as cancel, tt as isCancel } from "./dist-D3m88sjf.mjs";
|
|
4
|
+
import { a as ensureUtc, d as printSuccess, i as dim, r as createSpinner, s as formatCount } from "./output-C50ag2r3.mjs";
|
|
5
|
+
import { r as PlatformClient } from "./client-C2Prx_Bi.mjs";
|
|
6
6
|
//#region src/cli/rollback.ts
|
|
7
7
|
async function runRollbackCommand(root, deployId) {
|
|
8
8
|
console.log();
|
|
@@ -54,23 +54,16 @@ async function runRollbackCommand(root, deployId) {
|
|
|
54
54
|
const currentMigrations = active?.applied_migrations ? JSON.parse(active.applied_migrations) : [];
|
|
55
55
|
const targetMigrations = target.applied_migrations ? JSON.parse(target.applied_migrations) : [];
|
|
56
56
|
const migrationDiff = currentMigrations.filter((m) => !targetMigrations.includes(m));
|
|
57
|
-
|
|
58
|
-
log.warn(`The current database has ${formatCount(migrationDiff.length, "migration")} applied after this deployment:`);
|
|
59
|
-
for (const m of migrationDiff) log.message(` ${dim("•")} ${m}`);
|
|
60
|
-
log.message(dim("Rolling back will NOT revert these migrations. The older code will run against the current schema."));
|
|
61
|
-
const proceed = await confirm({ message: "Proceed with rollback?" });
|
|
62
|
-
if (isCancel(proceed) || !proceed) {
|
|
63
|
-
cancel("Rollback cancelled.");
|
|
64
|
-
process.exit(0);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
57
|
+
await confirmUnrevertedMigrations(migrationDiff, "deployment");
|
|
67
58
|
const s = createSpinner();
|
|
68
59
|
s.start("Rolling back...");
|
|
69
60
|
try {
|
|
70
61
|
const result = await client.rollback(linked.projectId, targetId, { allowDestructive: migrationDiff.length > 0 ? migrationDiff : void 0 });
|
|
71
62
|
s.stop("Rollback complete.");
|
|
72
|
-
if (result.ok)
|
|
73
|
-
|
|
63
|
+
if (result.ok) {
|
|
64
|
+
log.info("Traffic is now serving the rolled-back deployment.");
|
|
65
|
+
printSuccess(`Rolled back to ${targetId}.`);
|
|
66
|
+
} else {
|
|
74
67
|
log.error(result.error ?? "Rollback failed.");
|
|
75
68
|
process.exit(1);
|
|
76
69
|
}
|
|
@@ -79,10 +72,9 @@ async function runRollbackCommand(root, deployId) {
|
|
|
79
72
|
log.error(err instanceof Error ? err.message : String(err));
|
|
80
73
|
process.exit(1);
|
|
81
74
|
}
|
|
82
|
-
outro(dim("Traffic is now serving the rolled-back deployment."));
|
|
83
75
|
}
|
|
84
76
|
async function runCloudflareRollback(root, deployId) {
|
|
85
|
-
const { activateCloudflareExistingVersion, readCloudflareWorkerStatus, resolveCloudflareOperationContext } = await import("./cloudflare-operations-
|
|
77
|
+
const { activateCloudflareExistingVersion, readCloudflareWorkerStatus, resolveCloudflareOperationContext } = await import("./cloudflare-operations-BlYLlowZ.mjs");
|
|
86
78
|
const context = resolveCloudflareOperationContext(root);
|
|
87
79
|
const status = await readCloudflareWorkerStatus(context);
|
|
88
80
|
const deployedVersionIds = new Set(status.deployedVersionIds);
|
|
@@ -121,24 +113,10 @@ async function runCloudflareRollback(root, deployId) {
|
|
|
121
113
|
if (target.metadata?.schema !== 2 || current?.metadata?.schema !== 2 || target.metadata.triggerConfig.preserve || current.metadata.triggerConfig.preserve) log.info("This rollback keeps the current domains, routes, and schedules. The selected version has no complete trigger snapshot.");
|
|
122
114
|
if (!current?.metadata || !target.metadata) {
|
|
123
115
|
log.warn("Void migration metadata is unavailable for one of these versions. Database migrations are forward-only and will not be reverted.");
|
|
124
|
-
|
|
125
|
-
if (isCancel(proceed) || !proceed) {
|
|
126
|
-
cancel("Rollback cancelled.");
|
|
127
|
-
process.exit(0);
|
|
128
|
-
}
|
|
116
|
+
await confirmRollbackOrExit();
|
|
129
117
|
} else {
|
|
130
118
|
const targetSet = new Set(target.metadata.migrations);
|
|
131
|
-
|
|
132
|
-
if (migrationDiff.length > 0) {
|
|
133
|
-
log.warn(`The current database has ${formatCount(migrationDiff.length, "migration")} applied after this version:`);
|
|
134
|
-
for (const migration of migrationDiff) log.message(` ${dim("•")} ${migration}`);
|
|
135
|
-
log.message(dim("Rolling back will NOT revert these migrations. The older code will run against the current schema."));
|
|
136
|
-
const proceed = await confirm({ message: "Proceed with rollback?" });
|
|
137
|
-
if (isCancel(proceed) || !proceed) {
|
|
138
|
-
cancel("Rollback cancelled.");
|
|
139
|
-
process.exit(0);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
119
|
+
await confirmUnrevertedMigrations(current.metadata.migrations.filter((migration) => !targetSet.has(migration)), "version");
|
|
142
120
|
}
|
|
143
121
|
const spinner = createSpinner();
|
|
144
122
|
spinner.start("Rolling back...");
|
|
@@ -150,8 +128,23 @@ async function runCloudflareRollback(root, deployId) {
|
|
|
150
128
|
log.error(error instanceof Error ? error.message : String(error));
|
|
151
129
|
process.exit(1);
|
|
152
130
|
}
|
|
153
|
-
log.
|
|
154
|
-
|
|
131
|
+
log.info("Traffic is now serving the selected Cloudflare Worker Version.");
|
|
132
|
+
printSuccess(`Rolled back to ${target.id}.`);
|
|
133
|
+
}
|
|
134
|
+
async function confirmRollbackOrExit() {
|
|
135
|
+
const proceed = await confirm({ message: "Proceed with rollback?" });
|
|
136
|
+
if (isCancel(proceed) || !proceed) {
|
|
137
|
+
cancel("Rollback cancelled.");
|
|
138
|
+
process.exit(0);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** List migrations the rollback will not revert and ask before continuing. */
|
|
142
|
+
async function confirmUnrevertedMigrations(migrationDiff, noun) {
|
|
143
|
+
if (migrationDiff.length === 0) return;
|
|
144
|
+
log.warn(`The current database has ${formatCount(migrationDiff.length, "migration")} applied after this ${noun}:`);
|
|
145
|
+
for (const migration of migrationDiff) log.message(` ${dim("•")} ${migration}`);
|
|
146
|
+
log.message(dim("Rolling back will NOT revert these migrations. The older code will run against the current schema."));
|
|
147
|
+
await confirmRollbackOrExit();
|
|
155
148
|
}
|
|
156
149
|
function formatAge(deployedAt) {
|
|
157
150
|
if (!deployedAt) return "";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join, l as relative } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import { r as writeFileIfChanged } from "./project-tsconfig-
|
|
2
|
+
import { r as writeFileIfChanged } from "./project-tsconfig-CVJhNMxs.mjs";
|
|
3
3
|
import { mkdirSync } from "node:fs";
|
|
4
4
|
//#region src/codegen/db-types.ts
|
|
5
5
|
const DRIZZLE_OPERATORS = "sql, eq, ne, gt, gte, lt, lte, and, or, not, desc, asc, like, ilike, notLike, inArray, notInArray, isNull, isNotNull, between, notBetween, exists, notExists, count, sum, avg, min, max";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#region src/runtime/route-url.d.ts
|
|
2
|
+
/** Expand complete route tokens without changing query strings or fragments. */
|
|
3
|
+
declare function interpolateRouteParams(path: string, params?: Record<string, string>): string;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { interpolateRouteParams as t };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region src/runtime/route-url.ts
|
|
2
|
+
/**
|
|
3
|
+
* Encode one path segment of a route param. `encodeURIComponent` keeps dots, and
|
|
4
|
+
* URL parsing resolves `.`/`..` (even as `%2e`), so such a segment would move the
|
|
5
|
+
* request to another path instead of reaching this route.
|
|
6
|
+
*/
|
|
7
|
+
function encodeSegment(name, segment) {
|
|
8
|
+
if (segment === "." || segment === "..") throw new TypeError(`Route param "${name}" cannot be "${segment}"; it would change the request path.`);
|
|
9
|
+
return encodeURIComponent(segment);
|
|
10
|
+
}
|
|
11
|
+
/** Expand complete route tokens without changing query strings or fragments. */
|
|
12
|
+
function interpolateRouteParams(path, params) {
|
|
13
|
+
if (!params) return path;
|
|
14
|
+
const suffixIndex = path.search(/[?#]/);
|
|
15
|
+
const pathname = suffixIndex === -1 ? path : path.slice(0, suffixIndex);
|
|
16
|
+
const suffix = suffixIndex === -1 ? "" : path.slice(suffixIndex);
|
|
17
|
+
let leadingName;
|
|
18
|
+
const replaced = pathname.replace(/(^|\/):([^/{}]+)(\{\.\+\})?(?=\/|$)/g, (token, prefix, name, catchAll, offset) => {
|
|
19
|
+
if (!Object.hasOwn(params, name)) return token;
|
|
20
|
+
if (offset === 0) leadingName = name;
|
|
21
|
+
const value = params[name];
|
|
22
|
+
return prefix + (catchAll ? value.split("/").map((segment) => encodeSegment(name, segment)).join("/") : encodeSegment(name, value));
|
|
23
|
+
});
|
|
24
|
+
if (replaced.startsWith("//") && !pathname.startsWith("//")) throw new TypeError(`Route param "${leadingName ?? ""}" would make the request path start with "//", which changes the request host.`);
|
|
25
|
+
return replaced + suffix;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { interpolateRouteParams as t };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as runMigrations, i as openSqliteDatabase, n as getAppliedMigrations, r as getMiniflareDatabasePath, t as getApplicationTables } from "./runner-DMBKSrRk.mjs";
|
|
2
|
+
export { getApplicationTables, getAppliedMigrations, getMiniflareDatabasePath, openSqliteDatabase, runMigrations };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as join, n as dirname } from "./dist-BVqXeR_h.mjs";
|
|
2
2
|
import { t as collectMigrations } from "./collect-DiTn9yr6.mjs";
|
|
3
3
|
import { n as hasPackageDependency, r as readNearestPackageJson } from "./package-json-DXfiT1jV.mjs";
|
|
4
|
-
import { r as classifyMigration } from "./plan-
|
|
4
|
+
import { r as classifyMigration } from "./plan-BhLO2p4w.mjs";
|
|
5
5
|
import { existsSync, mkdirSync } from "node:fs";
|
|
6
6
|
import { createHash, createHmac } from "node:crypto";
|
|
7
7
|
//#region src/migrations/runner.ts
|
|
@@ -171,4 +171,4 @@ async function runMigrations(migrationsDir, dbPath) {
|
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
//#endregion
|
|
174
|
-
export {
|
|
174
|
+
export { runMigrations as a, openSqliteDatabase as i, getAppliedMigrations as n, toBetterSqlite3Error as o, getMiniflareDatabasePath as r, getApplicationTables as t };
|
|
@@ -9,14 +9,17 @@ async function readMySqlAppliedMigrations(client) {
|
|
|
9
9
|
throw error;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
function toMySqlClient(connection) {
|
|
13
|
+
return { async query(sql, params) {
|
|
14
|
+
const [rows] = await connection.query(sql, params);
|
|
15
|
+
return Array.isArray(rows) ? rows : [];
|
|
16
|
+
} };
|
|
17
|
+
}
|
|
12
18
|
async function getMySqlAppliedMigrations(url) {
|
|
13
19
|
const { createConnection } = await import("mysql2/promise");
|
|
14
20
|
const connection = await createConnection(url);
|
|
15
21
|
try {
|
|
16
|
-
return await readMySqlAppliedMigrations(
|
|
17
|
-
const [rows] = await connection.query(sql, params);
|
|
18
|
-
return Array.isArray(rows) ? rows : [];
|
|
19
|
-
} });
|
|
22
|
+
return await readMySqlAppliedMigrations(toMySqlClient(connection));
|
|
20
23
|
} finally {
|
|
21
24
|
await connection.end();
|
|
22
25
|
}
|
|
@@ -42,10 +45,7 @@ async function runMySqlMigrations(migrationsDir, url) {
|
|
|
42
45
|
multipleStatements: true
|
|
43
46
|
});
|
|
44
47
|
try {
|
|
45
|
-
return await applyMySqlMigrations(
|
|
46
|
-
const [rows] = await connection.query(sql, params);
|
|
47
|
-
return Array.isArray(rows) ? rows : [];
|
|
48
|
-
} }, migrations);
|
|
48
|
+
return await applyMySqlMigrations(toMySqlClient(connection), migrations);
|
|
49
49
|
} finally {
|
|
50
50
|
await connection.end();
|
|
51
51
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as runMySqlMigrations, n as getMySqlAppliedMigrations, t as applyMySqlMigrations } from "./runner-mysql-
|
|
1
|
+
import { i as runMySqlMigrations, n as getMySqlAppliedMigrations, t as applyMySqlMigrations } from "./runner-mysql-CEzKtmFb.mjs";
|
|
2
2
|
export { applyMySqlMigrations, getMySqlAppliedMigrations, runMySqlMigrations };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as runPgMigrations, n as getPgAppliedMigrations, t as applyPgMigrations } from "./runner-pg-
|
|
1
|
+
import { i as runPgMigrations, n as getPgAppliedMigrations, t as applyPgMigrations } from "./runner-pg-DV8p_zjA.mjs";
|
|
2
2
|
export { applyPgMigrations, getPgAppliedMigrations, runPgMigrations };
|
package/dist/runtime/ai.d.mts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { n as LimitOperation } from "../limits-Bq5LG8Id.mjs";
|
|
2
1
|
//#region src/runtime/ai-types.d.ts
|
|
3
2
|
type AiProviderName = "openai" | "anthropic" | "google-ai-studio" | "groq" | "mistral" | "grok" | "deepseek" | "openrouter" | "perplexity" | "cohere" | "cerebras" | "huggingface" | "replicate" | "baseten" | "cartesia" | "deepgram" | "elevenlabs" | "fal" | "ideogram" | "parallel";
|
|
4
3
|
type AiProvider = AiProviderName | (string & {});
|
|
@@ -26,25 +25,25 @@ type AiProviderFetchInit = {
|
|
|
26
25
|
* in a `Response` with SSE headers — ready to return from a route handler.
|
|
27
26
|
*/
|
|
28
27
|
export type VoidAi = {
|
|
29
|
-
models(...args: Parameters<Ai["models"]>):
|
|
30
|
-
toMarkdown(files: Array<Parameters<Ai["toMarkdown"]>[0]>, options?: Parameters<Ai["toMarkdown"]>[1]):
|
|
31
|
-
toMarkdown(...args: Parameters<Ai["toMarkdown"]>):
|
|
32
|
-
/** Workers AI inference
|
|
33
|
-
run<Name extends keyof AiModels>(model: Name, inputs: AiModels[Name]["inputs"], options?: AiOptions):
|
|
28
|
+
models(...args: Parameters<Ai["models"]>): Promise<Awaited<ReturnType<Ai["models"]>>>;
|
|
29
|
+
toMarkdown(files: Array<Parameters<Ai["toMarkdown"]>[0]>, options?: Parameters<Ai["toMarkdown"]>[1]): Promise<Array<Awaited<ReturnType<Ai["toMarkdown"]>>>>;
|
|
30
|
+
toMarkdown(...args: Parameters<Ai["toMarkdown"]>): Promise<Awaited<ReturnType<Ai["toMarkdown"]>>>;
|
|
31
|
+
/** Workers AI inference. */
|
|
32
|
+
run<Name extends keyof AiModels>(model: Name, inputs: AiModels[Name]["inputs"], options?: AiOptions): Promise<AiModels[Name]["postProcessedOutputs"]>;
|
|
34
33
|
/** Cloudflare AI Gateway model inference. Accepts Cloudflare model IDs unchanged. */
|
|
35
|
-
run(model: string, inputs: unknown, options?: AiOptions):
|
|
34
|
+
run(model: string, inputs: unknown, options?: AiOptions): Promise<unknown>;
|
|
36
35
|
/** Image generation. Returns the proxy response so callers can return or parse it. */
|
|
37
|
-
image<Name extends keyof AiModels>(model: Name, inputs: AiModels[Name]["inputs"], options?: AiOptions):
|
|
36
|
+
image<Name extends keyof AiModels>(model: Name, inputs: AiModels[Name]["inputs"], options?: AiOptions): Promise<Response>;
|
|
38
37
|
/** Cloudflare AI Gateway model inference returned as a Response. */
|
|
39
|
-
image(model: string, inputs: unknown, options?: AiOptions):
|
|
38
|
+
image(model: string, inputs: unknown, options?: AiOptions): Promise<Response>;
|
|
40
39
|
/** Provider-native AI Gateway requests using a project secret for the provider API key. */
|
|
41
40
|
provider(provider: AiProvider, options?: AiProviderOptions): {
|
|
42
|
-
fetch(path: string, init?: AiProviderFetchInit):
|
|
41
|
+
fetch(path: string, init?: AiProviderFetchInit): Promise<Response>;
|
|
43
42
|
};
|
|
44
43
|
/** Stream Workers AI response as SSE */
|
|
45
|
-
stream<Name extends keyof AiModels>(model: Name, inputs: Omit<AiModels[Name]["inputs"], "stream">, options?: AiOptions):
|
|
44
|
+
stream<Name extends keyof AiModels>(model: Name, inputs: Omit<AiModels[Name]["inputs"], "stream">, options?: AiOptions): Promise<Response>;
|
|
46
45
|
/** Stream any Cloudflare AI Gateway model response as SSE */
|
|
47
|
-
stream(model: string, inputs: Record<string, unknown>, options?: AiOptions):
|
|
46
|
+
stream(model: string, inputs: Record<string, unknown>, options?: AiOptions): Promise<Response>;
|
|
48
47
|
};
|
|
49
48
|
export declare const ai: VoidAi;
|
|
50
49
|
//#endregion
|
package/dist/runtime/ai.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cfAccessHeaders } from "../cf-access-TWNzXltp.mjs";
|
|
2
|
-
import { a as getRawRuntimeEnv } from "../env-raw-
|
|
3
|
-
import {
|
|
2
|
+
import { a as getRawRuntimeEnv } from "../env-raw-jZpP5n47.mjs";
|
|
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 */
|
|
6
6
|
const PROVIDER_KEY_MAP = {
|
|
@@ -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) => {
|
|
@@ -491,19 +430,20 @@ function backend() {
|
|
|
491
430
|
return _backend ??= resolveBackend();
|
|
492
431
|
}
|
|
493
432
|
/** Normalize provider 429 responses and binding quota failures before they reach callers. */
|
|
494
|
-
function aiOperation(execute, rawStream = false) {
|
|
495
|
-
|
|
496
|
-
|
|
433
|
+
async function aiOperation(execute, rawStream = false) {
|
|
434
|
+
let value;
|
|
435
|
+
try {
|
|
436
|
+
value = await execute();
|
|
497
437
|
if (value instanceof Response) {
|
|
498
438
|
const limit = await limitFromResponse(value, "ai");
|
|
499
439
|
if (limit) throw limit;
|
|
500
440
|
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
441
|
+
} catch (error) {
|
|
442
|
+
throw classifyAiLimit(error) ?? error;
|
|
443
|
+
}
|
|
444
|
+
if (value instanceof Response && value.body && value.headers.get("content-type")?.includes("text/event-stream")) return new Response(streamResponse(value.body).body, value);
|
|
445
|
+
if (rawStream && value instanceof ReadableStream) return streamResponse(value).body;
|
|
446
|
+
return value;
|
|
507
447
|
}
|
|
508
448
|
function classifyAiLimit(error) {
|
|
509
449
|
if (error instanceof UsageLimit) return error;
|
|
@@ -515,7 +455,7 @@ function classifyAiLimit(error) {
|
|
|
515
455
|
}) : null;
|
|
516
456
|
}
|
|
517
457
|
/** Streaming failures after headers are sent end with an explicit terminal SSE event. */
|
|
518
|
-
function streamResponse(body
|
|
458
|
+
function streamResponse(body) {
|
|
519
459
|
const reader = body.getReader();
|
|
520
460
|
return new Response(new ReadableStream({
|
|
521
461
|
async pull(controller) {
|
|
@@ -526,13 +466,7 @@ function streamResponse(body, limited) {
|
|
|
526
466
|
} catch (error) {
|
|
527
467
|
const limit = classifyAiLimit(error);
|
|
528
468
|
let data = { message: "Generation was interrupted. Please try again." };
|
|
529
|
-
if (limit)
|
|
530
|
-
data = await limit.response().json();
|
|
531
|
-
try {
|
|
532
|
-
const fallback = await limited(limit);
|
|
533
|
-
if (fallback instanceof Response) data = readUsageLimit(await fallback.json().catch(() => null)) ?? data;
|
|
534
|
-
} catch {}
|
|
535
|
-
}
|
|
469
|
+
if (limit) data = await limit.response().json();
|
|
536
470
|
controller.enqueue(new TextEncoder().encode(`event: ${limit ? "void:limit" : "void:error"}\ndata: ${JSON.stringify(data)}\n\n`));
|
|
537
471
|
controller.close();
|
|
538
472
|
}
|
|
@@ -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"];
|