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
|
@@ -6,6 +6,8 @@ outline: deep
|
|
|
6
6
|
|
|
7
7
|
Deploy-on-GitHub works from **any** Void login — Google, GitHub, or other SSO. The first time you connect GitHub, Void links your GitHub identity to your current account (a one-time step, independent of how you logged in); it never creates a second account.
|
|
8
8
|
|
|
9
|
+
Project-scoped `github` and `build` commands resolve the project in the same order as deploy: the `[project]` argument or `--project`, then `VOID_PROJECT`, then the linked project (`.void/project.json`).
|
|
10
|
+
|
|
9
11
|
## `void github link` {#void-github-link}
|
|
10
12
|
|
|
11
13
|
```
|
|
@@ -78,8 +80,6 @@ void github connect my-app \
|
|
|
78
80
|
--branch main
|
|
79
81
|
```
|
|
80
82
|
|
|
81
|
-
**Project resolution** follows the same order as deploy: positional / `--project`, `VOID_PROJECT`, linked project (`.void/project.json`).
|
|
82
|
-
|
|
83
83
|
You can connect only repositories your GitHub account can access.
|
|
84
84
|
|
|
85
85
|
A project has one GitHub connection. Running `void github connect` on a project that is already connected fails. To connect a different repository, run `void github disconnect` first.
|
|
@@ -107,8 +107,6 @@ The CLI prompts for new settings using the current values as defaults. In CI, pa
|
|
|
107
107
|
void github update my-app --executor github_actions
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
**Project resolution** follows the same order as deploy: positional / `--project`, `VOID_PROJECT`, linked project (`.void/project.json`).
|
|
111
|
-
|
|
112
110
|
## `void github status` {#void-github-status}
|
|
113
111
|
|
|
114
112
|
```
|
|
@@ -127,15 +125,13 @@ Show the connected repository, branch, executor, and workflow. Container builds
|
|
|
127
125
|
void github status my-app
|
|
128
126
|
```
|
|
129
127
|
|
|
130
|
-
**Project resolution** follows the same order as deploy: positional / `--project`, `VOID_PROJECT`, linked project (`.void/project.json`).
|
|
131
|
-
|
|
132
128
|
## `void github disconnect` {#void-github-disconnect}
|
|
133
129
|
|
|
134
130
|
```
|
|
135
131
|
void github disconnect [project]
|
|
136
132
|
```
|
|
137
133
|
|
|
138
|
-
Disconnect a project from its GitHub repository, stopping automatic deploys. Any in-flight builds for the project are cancelled
|
|
134
|
+
Disconnect a project from its GitHub repository, stopping automatic deploys. Any in-flight builds for the project are cancelled before the connection is removed. If the project has no connection, it reports that and exits successfully. To point a project at a different repository, disconnect first, then run `void github connect`.
|
|
139
135
|
|
|
140
136
|
You are asked to confirm before anything is removed. Pass `--yes` to skip the prompt; `--yes` is **required** in a non-interactive shell (CI), where there is no prompt to answer.
|
|
141
137
|
|
|
@@ -150,8 +146,6 @@ You are asked to confirm before anything is removed. Pass `--yes` to skip the pr
|
|
|
150
146
|
void github disconnect my-app --yes
|
|
151
147
|
```
|
|
152
148
|
|
|
153
|
-
**Project resolution** follows the same order as deploy: positional / `--project`, `VOID_PROJECT`, linked project (`.void/project.json`).
|
|
154
|
-
|
|
155
149
|
## Build {#build}
|
|
156
150
|
|
|
157
151
|
Inspect Deploy-on-GitHub builds.
|
|
@@ -171,9 +165,6 @@ Stream, tail, or download the build logs for a **container** build. With no
|
|
|
171
165
|
| `--output <file>`, `-o` | Write logs to a file instead of stdout (appends while following). | stdout |
|
|
172
166
|
| `--project <slug>`, `-p` | Target project. | linked |
|
|
173
167
|
|
|
174
|
-
**Project resolution** follows the same order as deploy: positional / `--project`,
|
|
175
|
-
`VOID_PROJECT`, linked project (`.void/project.json`).
|
|
176
|
-
|
|
177
168
|
Builds run on **GitHub Actions** keep their logs on GitHub — the command prints
|
|
178
169
|
the Actions run URL instead of streaming. Only the last 10,000 log lines of a
|
|
179
170
|
container build are retained.
|
|
@@ -20,7 +20,7 @@ void platform config plans default <plan-id>
|
|
|
20
20
|
void platform config plans sync
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
Use `--plan` to preview changes and affected accounts; scripted mutations require `--yes`. Every command supports `--connection <
|
|
23
|
+
Use `--plan` to preview changes and affected accounts; scripted mutations require `--yes`. Every command supports `--connection <slug-or-url>` and `--json`. `show` reports the effective limits, default, assignments, and pending account updates. `reset` restores a built-in plan's original limits and build instance size. Archived plans keep their existing accounts but cannot receive new assignments; change the default before archiving it. `remove` requires a replacement for a plan that has accounts or is the default. Changing the default affects only new accounts.
|
|
24
24
|
|
|
25
25
|
For `add` and `set`, `--file` reads a JSON object with optional `name`, `limits`, `buildInstanceType`, and boolean `allowShortSlugs`. `limits` is a partial object of nonnegative whole numbers; `0` means unlimited by the plan. Build timeouts remain capped at the platform maximum of 60 minutes; `0` uses that maximum. Omitted settings keep their current values or the copied plan's values. `buildInstanceType` is `standard-3` or `standard-4`. `allowShortSlugs` permits future assignments of project slugs of five characters or fewer; existing URLs remain available. Storage quotas are not editable. See [Plans and Limits](../../guide/platform/administration/plans.md) for supported limits and examples.
|
|
26
26
|
|
|
@@ -60,7 +60,7 @@ alternative; the last method cannot be disabled. Disabling revokes human session
|
|
|
60
60
|
created through that method, including operator sessions. Scoped deployment tokens
|
|
61
61
|
remain valid; a human login token used as `VOID_TOKEN` is still revoked.
|
|
62
62
|
|
|
63
|
-
Commands accept `--connection <
|
|
63
|
+
Commands accept `--connection <slug-or-url>` and `--json`. Changes accept
|
|
64
64
|
`--plan` or `--yes`. For scripted configuration, use `--file <path>` for the
|
|
65
65
|
nonsecret fields and `--client-secret-env <name>` for the environment variable
|
|
66
66
|
containing the secret. Omit the secret when editing to retain its saved value.
|
|
@@ -89,4 +89,4 @@ when using `--yes`. Recovery requires Cloudflare management/database authority,
|
|
|
89
89
|
original recovery keys, and a successful browser provider test. Use
|
|
90
90
|
`--client-secret-env <name>` for new or rotated credentials.
|
|
91
91
|
|
|
92
|
-
For automation,
|
|
92
|
+
For automation, see [operator authentication](./platform.md#operator-authentication).
|
|
@@ -42,9 +42,8 @@ has ended and the operation is at least 24 hours old, inspect the exact resource
|
|
|
42
42
|
named by the preview and attest whether its write was `applied` or `not-applied`.
|
|
43
43
|
Applied writes continue at the next step; not-applied writes retry the same
|
|
44
44
|
persisted intent. The running platform version must match that intent, so restore
|
|
45
|
-
the matching version before recovering an operation created by older code.
|
|
46
|
-
|
|
47
|
-
identity, and digest used by the apply request. Time alone never retries a write.
|
|
45
|
+
the matching version before recovering an operation created by older code. Time
|
|
46
|
+
alone never retries a write.
|
|
48
47
|
|
|
49
48
|
`shared-recipients` discovers shared inbound addresses, provider rule names and
|
|
50
49
|
IDs, and interrupted creation intents, including projects awaiting deletion.
|
|
@@ -101,29 +101,29 @@ void platform rollback [id] --runtime <earlier-path> [--from-runtime <current-pa
|
|
|
101
101
|
void platform repair [id] [--runtime <path>] [--dashboard-url <origin>] [--plan] [--yes]
|
|
102
102
|
void platform disable [id] [--plan] [--yes]
|
|
103
103
|
void platform enable [id] [--runtime <path>] [--plan] [--yes]
|
|
104
|
-
void platform uninstall [id] [--plan] [--purge-data] [--keep-zone] [--yes]
|
|
104
|
+
void platform uninstall [id] [--plan] [--purge-data | --purge-resources] [--keep-zone] [--yes]
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
`discover --installation` limits recovery and endpoint verification to one installation in a shared Cloudflare account.
|
|
108
108
|
|
|
109
|
-
Omit `id` when only one installation is configured, or choose from the interactive picker. Non-interactive commands need
|
|
109
|
+
Use the installation slug shown beside its name in `void platform list`. Installation IDs and saved connection IDs also work. Lifecycle commands require local installation records; use `discover` to restore them on another machine. Omit `id` when only one installation is configured, or choose from the interactive picker. Non-interactive commands need a slug or ID when several installations exist. Commands that make changes also require `--yes`; `--plan` only previews changes.
|
|
110
110
|
|
|
111
111
|
To add or explicitly change a separately deployed dashboard after installation,
|
|
112
112
|
use `repair --dashboard-url <origin>` or `upgrade --dashboard-url <origin>`.
|
|
113
113
|
Preview with `--plan` first. Existing Access protection must cover the configured
|
|
114
114
|
dashboard origin before maintenance can proceed. See [Optional Dashboard](../../guide/platform/installation/domains.md#optional-dashboard).
|
|
115
115
|
|
|
116
|
-
After discovery on another machine, set `VOID_PLATFORM_DATABASE_URL`.
|
|
116
|
+
After discovery on another machine, set `VOID_PLATFORM_DATABASE_URL`. See [Manage an installation from another machine](../../guide/platform/installation/maintenance.md#manage-an-installation-from-another-machine) for the secrets needed to recreate a missing Worker.
|
|
117
117
|
|
|
118
|
-
| Command | Behavior
|
|
119
|
-
| ----------- |
|
|
120
|
-
| `discover` | Verifies remote ownership and restores local installation records without downloading secrets
|
|
121
|
-
| `repair` | Recreates missing resources owned by the installer
|
|
122
|
-
| `upgrade` | Deploys the selected runtime and supported pending migrations
|
|
123
|
-
| `rollback` | Restores a declared-compatible earlier runtime without reversing PostgreSQL migrations
|
|
124
|
-
| `disable` | Blocks
|
|
125
|
-
| `enable` |
|
|
126
|
-
| `uninstall` | Blocks traffic and removes eligible resources, retaining data by default
|
|
118
|
+
| Command | Behavior |
|
|
119
|
+
| ----------- | ----------------------------------------------------------------------------------------------------------- |
|
|
120
|
+
| `discover` | Verifies remote ownership and restores local installation records without downloading secrets |
|
|
121
|
+
| `repair` | Recreates missing resources owned by the installer |
|
|
122
|
+
| `upgrade` | Deploys the selected runtime and supported pending migrations |
|
|
123
|
+
| `rollback` | Restores a declared-compatible earlier runtime without reversing PostgreSQL migrations |
|
|
124
|
+
| `disable` | Blocks app traffic and the platform API without removing data; only admin status and sign-in stay available |
|
|
125
|
+
| `enable` | Redeploys and verifies the platform Workers, then restores traffic |
|
|
126
|
+
| `uninstall` | Blocks traffic and removes eligible resources, retaining data by default |
|
|
127
127
|
|
|
128
128
|
Repair and upgrade preserve disabled state. New, resumed, and previously disabled installations block user traffic until all target Workers pass verification; the installer's health probes can still run. Routes and custom domains remain attached.
|
|
129
129
|
|
|
@@ -137,6 +137,8 @@ An upgrade completes after the new Workers pass health checks. If rollout fails,
|
|
|
137
137
|
|
|
138
138
|
`platform rollback` restores a compatible earlier runtime without reversing database migrations. Pass its files with `--runtime`; if the installed version is custom, also supply that version with `--from-runtime`. Void refuses incompatible targets.
|
|
139
139
|
|
|
140
|
-
Uninstall verifies remote ownership before removing anything. Data resources are retained unless you pass `--purge-data`. Workers, the Queues they use, R2, AI Gateway, DNS records, routes, custom domains, adopted resources, external PostgreSQL, and zones are
|
|
140
|
+
Uninstall verifies remote ownership before removing anything. Data resources are retained unless you pass `--purge-data`. Workers, the Queues they use, R2, AI Gateway, DNS records, routes, custom domains, adopted resources, external PostgreSQL, and zones are retained for manual review.
|
|
141
|
+
|
|
142
|
+
`--purge-resources` includes `--purge-data` and also deletes every other resource the installation created, including Workers, Queues, R2, AI Gateway, the platform DNS record, routes, custom domains, and installer-created Access resources. It removes only the Email Routing rules that send mail to the platform email gateway, and keeps zones, adopted resources, external PostgreSQL, other Email Routing settings, and API tokens. A route, custom domain, DNS record, or Access resource that no longer matches the installation's record is kept and listed. It refuses before any change while projects remain or resource reads are denied. Use the Edit permissions listed by `--plan`; read checks cannot verify them, so a denied deletion can stop uninstall after changes have begun. Rerun the same command to continue after an interruption, or after a plain or `--purge-data` uninstall stopped.
|
|
141
143
|
|
|
142
144
|
See [Disable and Uninstall](../../guide/platform/installation/uninstall.md#remove-retained-resources) for the full removal policy and the cleanup order.
|
|
@@ -54,6 +54,7 @@ void platform system asset-migrations [--page <n>] [--limit <n>]
|
|
|
54
54
|
void platform system events [--page <n>] [--limit <n>]
|
|
55
55
|
void platform system backfill-queue-tokens
|
|
56
56
|
void platform system sandbox-drain [--cursor <opaque-cursor>]
|
|
57
|
+
void platform system rotate-proxy-tokens [--project <id> | --all]
|
|
57
58
|
```
|
|
58
59
|
|
|
59
60
|
`overview` shows platform totals and recent activity. `health` checks the configured services and database, and exits with a nonzero status if a check fails. `cli-versions` reports the CLI versions used by deployments.
|
|
@@ -64,6 +65,8 @@ void platform system sandbox-drain [--cursor <opaque-cursor>]
|
|
|
64
65
|
|
|
65
66
|
`sandbox-drain` removes legacy tenant-owned Sandbox resources. Use `--plan` to preview and `--yes` to apply, then pass `nextCursor` as `--cursor` to continue. Application traffic stays paused during cleanup.
|
|
66
67
|
|
|
68
|
+
`rotate-proxy-tokens` gives projects new platform credentials on their live Worker and the Workers kept for rollback, without a redeploy. Workers kept for rollback whose author can no longer deploy keep the old credentials. Use `--project <id>` for one project or `--all` for every project, with `--plan` to preview and `--yes` to apply. `--plan` alone shows every rotation that is still running. Each run does a bounded batch and the platform finishes the rest in the background; a rotation takes about 6 minutes per project, longer while a deploy is running. Use `--plan` to check progress until nothing is pending or failed. Running `--yes` again with `--project` or `--all` while a rotation is still running starts one more rotation for that project. When a rotation is finished, the previous credentials no longer work. Each rotation starts a new version of the project's live Worker, so WebSocket connections reconnect once.
|
|
69
|
+
|
|
67
70
|
Use the [platform lifecycle commands](./platform-installation.md#lifecycle-commands) to maintain your installation's Workers.
|
|
68
71
|
|
|
69
72
|
## Hosted Workers {#operator-workers}
|
|
@@ -16,13 +16,13 @@ void platform user show <id>
|
|
|
16
16
|
Use the same ID to change a plan, suspend or restore the account, or delete it:
|
|
17
17
|
|
|
18
18
|
```sh
|
|
19
|
-
void platform user plan <id> <
|
|
19
|
+
void platform user plan <id> <plan-id>
|
|
20
20
|
void platform user suspend <id> [--reason <text>]
|
|
21
21
|
void platform user restore <id>
|
|
22
22
|
void platform user delete <id>
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Suspending a user blocks their applications. Deleting a user also deletes their project resources. A plan change updates resource limits while preserving any administrator suspension.
|
|
25
|
+
Suspending a user blocks their applications, including scheduled jobs and queue consumers. While the account is suspended, each queue message is retried about once an hour, and each retry uses one of its queue's retries. Messages that run out of retries are dropped: after about 3 hours with the default of 3 retries, and at once for a queue with `maxRetries: 0`. Restore an account suspended by mistake promptly; queue delivery resumes within about an hour. Deleting a user also deletes their project resources. A plan change updates resource limits while preserving any administrator suspension.
|
|
26
26
|
|
|
27
27
|
The last active administrator cannot be deleted or suspended. Both previews and
|
|
28
28
|
actual mutations enforce this rule, including in the browser admin UI. Allowed
|
|
@@ -14,7 +14,9 @@ void platform use [id]
|
|
|
14
14
|
void platform status [id]
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
`
|
|
17
|
+
`list` shows the currently selected platform first, followed by other saved platforms. For a platform with local installation records, its installation slug appears beside its name, such as `Cloudflare Void (cloudflare)`. Select it with `void platform use cloudflare`. For a connected platform without a local installation slug, use its printed API URL.
|
|
18
|
+
|
|
19
|
+
`use` and `status` accept an installation slug, display name, saved ID, or API URL. If a slug or name matches several platforms, use the API URL to choose one. They auto-select the only configured platform; with multiple platforms they show a picker interactively and require an explicit selector in non-interactive use. A project with a recorded platform URL keeps using that platform when the global default changes.
|
|
18
20
|
|
|
19
21
|
For a self-hosted installation, `status <installation-id>` prints locally saved
|
|
20
22
|
lifecycle progress before checking the live API. The saved checkpoint may be out
|
|
@@ -25,7 +27,7 @@ checkpoint and exits with an error; it does not confirm current availability.
|
|
|
25
27
|
|
|
26
28
|
Use `void platform` to administer the users and apps on your selected platform. Start with the [Platform Administration guide](../../guide/platform-administration.md) for signing in, giving people access, and investigating deployments.
|
|
27
29
|
|
|
28
|
-
Every command below accepts `--connection <
|
|
30
|
+
Every command below accepts `--connection <slug-or-url>` to select a registered platform and `--json` for structured output. Display names and saved IDs also work. Without `--connection`, Void uses `VOID_API_URL` if set, then the active platform connection. Application project files do not change this selection.
|
|
29
31
|
|
|
30
32
|
### Making Changes {#making-changes}
|
|
31
33
|
|
|
@@ -10,6 +10,7 @@ Show deployments for the configured target.
|
|
|
10
10
|
|
|
11
11
|
- Void targets show recent hosted deployments; `[name]` looks up a project by slug and otherwise the linked project is used.
|
|
12
12
|
- Cloudflare targets list Worker Versions, identify the active version, and show the recorded migration count. A project name is not accepted because the Worker name comes from `cloudflare.name` in `void.config.ts`.
|
|
13
|
+
- Owners and admins also see a warning when the platform cannot finish [replacing the project's credentials](../../guide/project-collaboration.md#change-or-remove-access).
|
|
13
14
|
|
|
14
15
|
## `void project link [name]` {#void-project-link-name}
|
|
15
16
|
|
|
@@ -36,7 +37,7 @@ void project team accept <invitation-id>
|
|
|
36
37
|
void project team decline <invitation-id>
|
|
37
38
|
```
|
|
38
39
|
|
|
39
|
-
Project-scoped commands use `--project`, then `VOID_PROJECT`, then the linked project. Invitations can target only an email address already registered to a user on that platform; they do not create accounts or grant signup access. Only the invited account can accept or decline its invitation.
|
|
40
|
+
Project-scoped commands use `--project`, then `VOID_PROJECT`, then the linked project. Invitations can target only an email address already registered to a user on that platform; they do not create accounts or grant signup access. Only the invited account can accept or decline its invitation. `list` shows the same credential warning as `void project status`.
|
|
40
41
|
|
|
41
42
|
Readers can view the project but cannot deploy. Collaborators can deploy and manage deploy prerequisites. Project administrators can additionally manage domains, email destinations, GitHub configuration, and the project team. The owner alone can delete the project. See [Project Collaboration](../../guide/project-collaboration.md) for the full role boundaries.
|
|
42
43
|
|
|
@@ -137,7 +138,7 @@ void project logs --level error --range 12h
|
|
|
137
138
|
void project logs --level error --filter websocket
|
|
138
139
|
```
|
|
139
140
|
|
|
140
|
-
Logs include top-level `console.*` calls and uncaught errors captured by Cloudflare Tail. If you catch an error and save it only to your database, it won't appear here. Also log it with `console.error()` or `logger.error()` from `void/log`.
|
|
141
|
+
Logs include top-level `console.*` calls and uncaught errors captured by Cloudflare Tail. If you catch an error and save it only to your database, it won't appear here. Also log it with `console.error()` or `logger.error()` from `void/log`. On hosted Void targets, pass the `Error` object itself to `console.error()`, as in `console.error('Save failed:', error)`, to see its stack trace under the log line. Logging only `error.message` shows no stack.
|
|
141
142
|
|
|
142
143
|
For errors that never reach your Worker, such as edge routing errors or static site requests, use `void project requests --status 5xx`.
|
|
143
144
|
|
|
@@ -195,7 +196,7 @@ This command is hosted-only. Direct Cloudflare deploys are local operations and
|
|
|
195
196
|
|
|
196
197
|
## `void project delete [name]` {#void-project-delete-name}
|
|
197
198
|
|
|
198
|
-
Permanently delete a hosted Void project and all its resources (databases, KV namespaces, R2 buckets, deployments). Requires typing the project slug to confirm.
|
|
199
|
+
Permanently delete a hosted Void project and all its resources (databases, KV namespaces, R2 buckets, deployments). Requires typing the project slug to confirm; `--force` (`-f`) skips the prompt.
|
|
199
200
|
|
|
200
201
|
If `[name]` is omitted, uses the linked project.
|
|
201
202
|
|
|
@@ -211,4 +212,4 @@ Purge all cached pages for the linked project. The edge cache will clear within
|
|
|
211
212
|
|
|
212
213
|
If `--project` is provided, purges that project's cache instead of the linked project.
|
|
213
214
|
|
|
214
|
-
This command is
|
|
215
|
+
This command is hosted-only. For direct Cloudflare targets, redeploy or purge the configured ISR KV namespace yourself.
|
|
@@ -14,8 +14,6 @@ List production secret names for the saved target. Secret values are never print
|
|
|
14
14
|
|
|
15
15
|
## `void secret put` {#void-secret-put}
|
|
16
16
|
|
|
17
|
-
On hosted projects, secret writes and deletes return a retryable conflict while a deployment or rollback is in progress. Wait for that operation to finish and retry; the rejected operation leaves the stored secret unchanged.
|
|
18
|
-
|
|
19
17
|
```
|
|
20
18
|
void secret put <name> [--project <name>]
|
|
21
19
|
void secret put <name=value> [--project <name>]
|
|
@@ -27,7 +25,7 @@ Value input modes:
|
|
|
27
25
|
- prompt (TTY): `void secret put API_KEY` (masked input)
|
|
28
26
|
- stdin: `echo -n "abcd" | void secret put API_KEY`
|
|
29
27
|
|
|
30
|
-
On a direct Cloudflare target, the value is
|
|
28
|
+
On a direct Cloudflare target, the value is stored as an encrypted Worker secret.
|
|
31
29
|
|
|
32
30
|
## `void secret sync` {#void-secret-sync}
|
|
33
31
|
|
|
@@ -51,6 +49,8 @@ void secret delete <name> [--project <name>]
|
|
|
51
49
|
|
|
52
50
|
Secret commands use the platform saved in `.void/project.json`. Hosted project resolution follows the same order as deploy (`--project`, env var, linked project). Direct Cloudflare targets reject `--project` and use the pinned root Cloudflare config.
|
|
53
51
|
|
|
52
|
+
On hosted projects, secret writes and deletes return a retryable conflict while a deployment or rollback is in progress. Wait for that operation to finish and retry; the rejected operation leaves the stored secret unchanged.
|
|
53
|
+
|
|
54
54
|
## Env Schema {#env-schema}
|
|
55
55
|
|
|
56
56
|
### `void env check` {#void-env-check}
|
|
@@ -28,7 +28,7 @@ Resources recorded in `void.lock.json` without a matching definition appear sepa
|
|
|
28
28
|
## `void init` {#void-init}
|
|
29
29
|
|
|
30
30
|
```sh
|
|
31
|
-
void init [--tsconfig] [--github] [--
|
|
31
|
+
void init [--tsconfig] [--github] [--git | --no-git]
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Set up a new or existing Void project. In an empty directory, choose Vite+ or Vite, a framework, and a D1, PostgreSQL, MySQL, or Static Pages starter.
|
|
@@ -37,6 +37,12 @@ In an existing app, Void adds missing dependencies and scripts and updates the V
|
|
|
37
37
|
|
|
38
38
|
The wizard also sets up TypeScript, agent instructions, environment declarations, and a deployment target. Choose Cloudflare, a Void platform, or skip deployment setup. If you skip sign-in, run `void connect` when you're ready. See [Quick Start](../../guide/quickstart.md).
|
|
39
39
|
|
|
40
|
+
Every init run sets up coding agents. New projects get a minimal `AGENTS.md`
|
|
41
|
+
pointing to `node_modules/void/docs/`. Existing projects prompt before the file
|
|
42
|
+
is created, appended to, or updated; CI and non-interactive runs leave existing
|
|
43
|
+
projects' instructions unchanged. Skills are linked for detected agents. See
|
|
44
|
+
[Coding Agents](../../integrations/agents.md).
|
|
45
|
+
|
|
40
46
|
Outside an existing repository or workspace package, Void offers to initialize Git. Use `--git` to initialize without a prompt or `--no-git` to skip it. CI requires `--git` to initialize. Workspace packages do not accept these flags.
|
|
41
47
|
|
|
42
48
|
Run selected setup steps with:
|
|
@@ -44,10 +50,10 @@ Run selected setup steps with:
|
|
|
44
50
|
| Flag | Purpose |
|
|
45
51
|
| ------------ | -------------------------------------------------------------- |
|
|
46
52
|
| `--tsconfig` | Update TypeScript configuration, preserving existing settings. |
|
|
47
|
-
| `--agents` | Set up agent instructions and skills for detected agents. |
|
|
48
53
|
| `--github` | Create the GitHub Actions deployment workflow. |
|
|
49
54
|
|
|
50
|
-
These flags can be combined and skip the other wizard steps.
|
|
55
|
+
These flags can be combined and skip the other wizard steps. Coding agent setup
|
|
56
|
+
still runs. Add `--git` if you also want Git initialization.
|
|
51
57
|
|
|
52
58
|
For Cloudflare workflows, add a `CLOUDFLARE_API_TOKEN` repository secret. PostgreSQL and MySQL apps also need `DATABASE_URL`.
|
|
53
59
|
|
|
@@ -60,11 +66,3 @@ void prepare
|
|
|
60
66
|
```
|
|
61
67
|
|
|
62
68
|
Generates Void’s types and TypeScript configuration without starting the dev server or building the app. Run it after a fresh clone or before typechecking in CI.
|
|
63
|
-
|
|
64
|
-
## Agent {#agent}
|
|
65
|
-
|
|
66
|
-
### `void init --agents` {#void-init-agents}
|
|
67
|
-
|
|
68
|
-
Adds Void instructions to `AGENTS.md` and links skills for detected coding agents. Existing instructions outside the Void block are preserved.
|
|
69
|
-
|
|
70
|
-
If no supported agent is detected, `AGENTS.md` links to the bundled docs. See [Coding Agents](../../integrations/agents.md).
|
|
@@ -56,7 +56,7 @@ Use this page as a command reference. If you are setting up a project for the fi
|
|
|
56
56
|
| `void account login` | Authenticate with a Void platform |
|
|
57
57
|
| `void cloudflare login` | Authenticate with Cloudflare through Void |
|
|
58
58
|
| `void platform install` | Install a company Void platform in Cloudflare |
|
|
59
|
-
| `void connect <url>` | Connect the CLI to a Void platform
|
|
59
|
+
| `void connect <url>` | Connect the CLI to a Void platform; hostnames default to HTTPS |
|
|
60
60
|
| `void project link` | Link directory to a project |
|
|
61
61
|
| `void project logs` | Show runtime logs from deployed project |
|
|
62
62
|
| `void project requests` | Show request-level traffic (status, method, timing) |
|
|
@@ -73,7 +73,7 @@ Use this page as a command reference. If you are setting up a project for the fi
|
|
|
73
73
|
| `void email allow <address>` | Add a recipient and send a verification email |
|
|
74
74
|
| `void email disallow <address>` | Remove a recipient from the allowlist |
|
|
75
75
|
| `void email domain` | Send and receive at your own domain on a Cloudflare zone |
|
|
76
|
-
| `void init` |
|
|
76
|
+
| `void init` | Set up a new or existing project, including coding agents |
|
|
77
77
|
| `void migrate` | Convert legacy `void.json` and root Wrangler JSON/JSONC into `void.config.ts` |
|
|
78
78
|
|
|
79
79
|
## Binary Invocation {#binary-invocation}
|
|
@@ -297,6 +297,18 @@ Curated Cloudflare Workers configuration. `void init` pins `compatibility_date`
|
|
|
297
297
|
|
|
298
298
|
`worker.vars` values must be strings. Root `.env` values override them during local development only. Production builds do not load `.env`, and reject any `worker.vars` name declared as a server key in `env.ts`. Use `void secret put` for production server values.
|
|
299
299
|
|
|
300
|
+
`worker.limits.cpu_ms` sets the CPU time limit per request, from 1 to 300000 ms. On a Void platform, deploy fails if the limit exceeds the account plan; lower it in `void.config.ts` before retrying. Rollback instead caps the old limit at the current plan ceiling. On direct deploys, [Cloudflare enforces the value](https://developers.cloudflare.com/workers/platform/limits/#cpu-time): Workers Free allows up to 10 ms and Workers Paid up to 300000 ms per request.
|
|
301
|
+
|
|
302
|
+
```json
|
|
303
|
+
{
|
|
304
|
+
"worker": {
|
|
305
|
+
"limits": {
|
|
306
|
+
"cpu_ms": 30000
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
```
|
|
311
|
+
|
|
300
312
|
### `cloudflare`
|
|
301
313
|
|
|
302
314
|
The complete Cloudflare Worker configuration for direct Cloudflare builds and deployment. Put custom bindings, `name`, `account_id`, routes, services, vars, migrations, and any other Cloudflare fields here. Void passes these fields through to the generated Cloudflare build configuration. Settings you edit here take precedence over values Void previously recorded in `void.lock.json`.
|
|
@@ -325,18 +337,6 @@ deploy: { cloudflare: { mode: 'atomic' } },
|
|
|
325
337
|
|
|
326
338
|
This choice applies to subsequent `void deploy` runs. Atomic deployment sends traffic to the new Worker before Void checks readiness; a Durable Object class migration cannot be rolled back across its migration boundary. Use `--atomic` for a single deployment instead. `deploy` is a Void setting and is not passed to Cloudflare's Worker config.
|
|
327
339
|
|
|
328
|
-
`worker.limits.cpu_ms` sets the CPU time limit per request, from 1 to 300000 ms. On a Void platform, deploy fails if the limit exceeds the account plan; lower it in `void.config.ts` before retrying. Rollback instead caps the old limit at the current plan ceiling. On direct deploys, [Cloudflare enforces the value](https://developers.cloudflare.com/workers/platform/limits/#cpu-time): Workers Free allows up to 10 ms and Workers Paid up to 300000 ms per request.
|
|
329
|
-
|
|
330
|
-
```json
|
|
331
|
-
{
|
|
332
|
-
"worker": {
|
|
333
|
-
"limits": {
|
|
334
|
-
"cpu_ms": 30000
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
```
|
|
339
|
-
|
|
340
340
|
### `routing`
|
|
341
341
|
|
|
342
342
|
Routing and edge configuration for headers, redirects, rewrites, and caching.
|
|
@@ -434,7 +434,7 @@ ISR revalidation TTL in seconds, either globally or per path. See [Revalidation]
|
|
|
434
434
|
|
|
435
435
|
#### `routing.revalidateQueryAllowlist`
|
|
436
436
|
|
|
437
|
-
Query parameters
|
|
437
|
+
Query parameters to keep in ISR cache keys. Keys are source URL patterns, values are query parameter names to keep. The listed parameters are part of the cache key for every request to a matching path; all other query parameters are left out of the key. When omitted, ISR cache keys drop every incoming query parameter to avoid unbounded cache fanout.
|
|
438
438
|
|
|
439
439
|
```json
|
|
440
440
|
{
|
|
@@ -17,6 +17,7 @@ Void automatically detects which Cloudflare resources your project uses by scann
|
|
|
17
17
|
| `SANDBOX` | Managed Sandbox capability | `import { getSandbox } from "void/sandbox"` | `getSandbox()`; native Cloudflare also exposes `env.SANDBOX` / `c.env.SANDBOX` |
|
|
18
18
|
| Auth | none | `import { ... } from "void/auth"` or `import { auth } from "void/client"` / `void/client/react` / `void/client/vue` / `void/client/svelte` / `void/client/solid` | none |
|
|
19
19
|
| `QUEUE_*` | `Queue` | `import { queues } from "void/queues"` | `env.QUEUE_*` |
|
|
20
|
+
| `VOID_LIVE` | `DurableObjectNamespace` | `import { defineLiveStream } from "void/live"` | n/a |
|
|
20
21
|
| filename-derived | `DurableObjectNamespace` | A default-exported `defineDurableState()` module in `durable-objects/` | n/a |
|
|
21
22
|
|
|
22
23
|
Auth detection also triggers when importing the `auth` specifier from `void/client` or a framework-specific client subpath such as `void/client/react` (but not when importing only `fetch`).
|
|
@@ -79,22 +80,7 @@ Paths are relative to the project root. When `inference.scanDirs` is set, it rep
|
|
|
79
80
|
|
|
80
81
|
## Explicit Binding Overrides
|
|
81
82
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
```json
|
|
85
|
-
{
|
|
86
|
-
"inference": {
|
|
87
|
-
"bindings": {
|
|
88
|
-
"db": true,
|
|
89
|
-
"kv": true,
|
|
90
|
-
"storage": false,
|
|
91
|
-
"ai": false
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Explicit values override only their named bindings. Omitted bindings continue to be inferred, so setting `kv` does not disable storage, auth, or other features. Auth and checked-in migrations still require a database even when `db` is `false`.
|
|
83
|
+
Use [`inference.bindings`](./config.md#inference-bindings) to enable, disable, or rename a binding when inference does not match your setup. It overrides only the bindings you name; the rest are still inferred.
|
|
98
84
|
|
|
99
85
|
## File Types
|
|
100
86
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "void",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.1",
|
|
4
|
+
"description": "Full-stack framework and deployment CLI for Cloudflare Workers, powered by Vite.",
|
|
5
|
+
"homepage": "https://void.cloud",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/voidzero-dev/void/issues"
|
|
8
|
+
},
|
|
9
|
+
"license": "MIT",
|
|
4
10
|
"repository": {
|
|
5
11
|
"type": "git",
|
|
6
12
|
"url": "git+https://github.com/voidzero-dev/void.git",
|
|
@@ -11,6 +17,7 @@
|
|
|
11
17
|
},
|
|
12
18
|
"files": [
|
|
13
19
|
"dist",
|
|
20
|
+
"docs",
|
|
14
21
|
"schema.json",
|
|
15
22
|
"skills",
|
|
16
23
|
"AGENTS_TEMPLATE.md",
|
|
@@ -331,43 +338,40 @@
|
|
|
331
338
|
}
|
|
332
339
|
},
|
|
333
340
|
"dependencies": {
|
|
334
|
-
"@cloudflare/build-output-utils": "0.
|
|
335
|
-
"@cloudflare/codemods": "0.4.
|
|
336
|
-
"@cloudflare/config": "0.
|
|
341
|
+
"@cloudflare/build-output-utils": "^0.9.0",
|
|
342
|
+
"@cloudflare/codemods": "^0.4.2",
|
|
343
|
+
"@cloudflare/config": "^0.24.1",
|
|
337
344
|
"@cloudflare/sandbox": "1.0.0",
|
|
338
|
-
"@cloudflare/vite-plugin": "1.
|
|
339
|
-
"@cloudflare/workers-auth": "0.
|
|
340
|
-
"@cloudflare/workers-types": "^
|
|
341
|
-
"@napi-rs/keyring": "2.1.0",
|
|
342
|
-
"@void/deploy-cloudflare": "0.
|
|
343
|
-
"@void/deploy-core": "0.
|
|
344
|
-
"@void/edge": "0.
|
|
345
|
-
"@void/isr": "0.
|
|
346
|
-
"@void/platform": "0.
|
|
347
|
-
"acorn": "^8.18.0",
|
|
345
|
+
"@cloudflare/vite-plugin": "^1.63.1",
|
|
346
|
+
"@cloudflare/workers-auth": "^0.13.1",
|
|
347
|
+
"@cloudflare/workers-types": "^5.20261009.1",
|
|
348
|
+
"@napi-rs/keyring": "^2.1.0",
|
|
349
|
+
"@void/deploy-cloudflare": "0.26.1",
|
|
350
|
+
"@void/deploy-core": "0.26.1",
|
|
351
|
+
"@void/edge": "0.26.1",
|
|
352
|
+
"@void/isr": "0.26.1",
|
|
353
|
+
"@void/platform": "0.26.1",
|
|
348
354
|
"better-auth": "^1.7.7",
|
|
349
355
|
"better-sqlite3": "^13.0.3",
|
|
350
356
|
"blake3-jit": "^1.1.0",
|
|
351
|
-
"cf": "1.0.0-beta.
|
|
357
|
+
"cf": "^1.0.0-beta.13",
|
|
352
358
|
"drizzle-arktype": "^0.1.3",
|
|
353
359
|
"drizzle-kit": "^0.31.11",
|
|
354
360
|
"drizzle-orm": "^0.45.3",
|
|
355
361
|
"drizzle-valibot": "^0.4.2",
|
|
356
362
|
"drizzle-zod": "^0.8.3",
|
|
357
363
|
"email-validator": "^2.0.4",
|
|
358
|
-
"es-module-lexer": "^3.0.2",
|
|
359
364
|
"hono": "^4.13.13",
|
|
360
365
|
"ignore": "^7.0.12",
|
|
361
366
|
"jiti": "^2.7.0",
|
|
362
|
-
"jsonc-parser": "3.3.1",
|
|
363
|
-
"mime": "4.1.0",
|
|
364
|
-
"miniflare": "5.
|
|
367
|
+
"jsonc-parser": "^3.3.1",
|
|
368
|
+
"mime": "^4.1.0",
|
|
369
|
+
"miniflare": "5.20261006.1-alpha",
|
|
365
370
|
"minimatch": "^10.2.6",
|
|
366
|
-
"mysql2": "3.24.5",
|
|
367
|
-
"pg": "8.23.1",
|
|
368
|
-
"postal-mime": "^4.0.
|
|
369
|
-
"proper-lockfile": "^4.1.2"
|
|
370
|
-
"undici": "8.11.2"
|
|
371
|
+
"mysql2": "^3.24.5",
|
|
372
|
+
"pg": "^8.23.1",
|
|
373
|
+
"postal-mime": "^4.0.5",
|
|
374
|
+
"proper-lockfile": "^4.1.2"
|
|
371
375
|
},
|
|
372
376
|
"devDependencies": {
|
|
373
377
|
"@electric-sql/pglite": "0.5.8",
|
|
@@ -375,12 +379,12 @@
|
|
|
375
379
|
"@types/node": "^26.6.4",
|
|
376
380
|
"@types/pg": "^8.23.1",
|
|
377
381
|
"@types/proper-lockfile": "^4.1.4",
|
|
378
|
-
"@voidzero-dev/vite-plus-prompts": "
|
|
382
|
+
"@voidzero-dev/vite-plus-prompts": "1.1.0",
|
|
379
383
|
"arktype": "^2.2.7",
|
|
380
384
|
"ci-info": "^4.4.0",
|
|
381
385
|
"estree-walker": "^3.0.3",
|
|
382
386
|
"fast-wrap-ansi": "^0.2.2",
|
|
383
|
-
"magic-string": "^1.4.
|
|
387
|
+
"magic-string": "^1.4.3",
|
|
384
388
|
"ofetch": "2.0.0-alpha.3",
|
|
385
389
|
"pathslash": "^0.1.0",
|
|
386
390
|
"pglite-server": "0.1.5",
|
|
@@ -388,12 +392,12 @@
|
|
|
388
392
|
"tinyglobby": "^0.2.17",
|
|
389
393
|
"typescript": "7.0.2",
|
|
390
394
|
"valibot": "^1.5.0",
|
|
391
|
-
"vite": "npm:@voidzero-dev/vite-plus-core@1.
|
|
392
|
-
"vite-plus": "1.
|
|
395
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@1.1.0",
|
|
396
|
+
"vite-plus": "1.1.0",
|
|
393
397
|
"zod": "^4.6.5"
|
|
394
398
|
},
|
|
395
399
|
"peerDependencies": {
|
|
396
|
-
"@void/md": "0.
|
|
400
|
+
"@void/md": "0.26.1",
|
|
397
401
|
"arktype": ">=2.0.0",
|
|
398
402
|
"valibot": ">=1.0.0-beta.7",
|
|
399
403
|
"vite": "^8.0.0",
|
|
@@ -417,7 +421,7 @@
|
|
|
417
421
|
"node": ">=24.21.0"
|
|
418
422
|
},
|
|
419
423
|
"scripts": {
|
|
420
|
-
"build": "node scripts/sync-
|
|
424
|
+
"build": "node scripts/sync-docs.mjs && vp pack",
|
|
421
425
|
"dev": "vp pack --watch",
|
|
422
426
|
"typecheck": "tsc --noEmit --rootDir ../.."
|
|
423
427
|
}
|
package/schema.json
CHANGED
|
@@ -212,7 +212,7 @@
|
|
|
212
212
|
},
|
|
213
213
|
"revalidateQueryAllowlist": {
|
|
214
214
|
"type": "object",
|
|
215
|
-
"description": "Query parameters that
|
|
215
|
+
"description": "Query parameters that are part of the ISR cache key for every request to a matching path. Keys are source URL patterns; values are arrays of query parameter names. All other query parameters are left out of the key. When omitted, ISR drops every query parameter from the cache key.",
|
|
216
216
|
"patternProperties": {
|
|
217
217
|
"^(\\/|\\*$)": {
|
|
218
218
|
"type": "array",
|
|
@@ -9,7 +9,10 @@ Read the app's package manifest, Vite config, Worker entry, Cloudflare config,
|
|
|
9
9
|
and migrations. Identify its framework, endpoints, bindings, and deployed Worker
|
|
10
10
|
before changing them.
|
|
11
11
|
|
|
12
|
-
Use the bundled guides under
|
|
12
|
+
Use the bundled guides under `node_modules/void/docs/`. Without a local Void
|
|
13
|
+
installation, use `../../docs/` relative to this skill's real directory in the
|
|
14
|
+
Void package, following any symlink. If the skill was copied without the package,
|
|
15
|
+
use the guides at [https://void.cloud](https://void.cloud) instead:
|
|
13
16
|
|
|
14
17
|
- `integrations/cloudflare.md` for existing Worker handoff and configuration.
|
|
15
18
|
- `integrations/frameworks/overview.md` and the matching framework guide when
|