void 0.26.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-CDry3B5V.mjs → account-cmd-CfUXh_nU.mjs} +8 -7
- package/dist/{application-analysis-DC2yPvzY.mjs → application-analysis-DKy02UY0.mjs} +21 -32
- package/dist/{application-routing-C9khgLiS.mjs → application-routing-DQyUh_5S.mjs} +1 -1
- package/dist/{auth-D52yG7hl.mjs → auth-B5_tZLxT.mjs} +7 -7
- package/dist/{auth-B60QDbjg.mjs → auth-BgX2qYSY.mjs} +1 -1
- package/dist/{auth-link-DjeOptYi.mjs → auth-link-D5RmKnzh.mjs} +5 -5
- package/dist/{auth-migrations-9vif1uj8.mjs → auth-migrations-BwHgeEsD.mjs} +8 -18
- package/dist/{auth-router-BRxIuqDi.mjs → auth-router-Bap-pvbn.mjs} +4 -17
- package/dist/{better-auth-shared-BVkjZ3vM.d.mts → better-auth-shared-CPvWD3nG.d.mts} +0 -4
- package/dist/{better-auth-shared-hy6RPh9W.mjs → better-auth-shared-DPpj8zxc.mjs} +94 -16
- package/dist/{build-cmd-Ce3C8huo.mjs → build-cmd-B58c8iS8.mjs} +7 -6
- package/dist/{cache-CS8Yxr5a.mjs → cache-Bo52trKF.mjs} +7 -7
- package/dist/{cancel-deploy-mZsD88Xa.mjs → cancel-deploy-BZNz3Q26.mjs} +5 -4
- package/dist/{cf-access-YTlqvAsk.mjs → cf-access-ngGqZpHZ.mjs} +10 -11
- 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.mjs +5 -6
- package/dist/client-By4JjMw_.mjs +2 -0
- package/dist/{client-mC-dFGDD.mjs → client-C2Prx_Bi.mjs} +28 -6
- package/dist/{cloudflare-auth-Qdc7tw8F.mjs → cloudflare-auth-CuxfF6OA.mjs} +9 -17
- package/dist/{cloudflare-cmd-bhwCxAN6.mjs → cloudflare-cmd-lHqNlJGW.mjs} +6 -5
- package/dist/{cloudflare-config-Bktvwtpf.mjs → cloudflare-config-BmhBv3HV.mjs} +1 -1
- package/dist/{cloudflare-connect-CuhRgk3k.mjs → cloudflare-connect-2G3rL2rP.mjs} +4 -4
- package/dist/{cloudflare-operations-DoQrVHAt.mjs → cloudflare-operations-BlYLlowZ.mjs} +1 -1
- package/dist/{cloudflare-operations-DYa3coIk.mjs → cloudflare-operations-CwI1bChl.mjs} +41 -70
- package/dist/{cloudflare-process-B-wekeR6.mjs → cloudflare-process-2-TfIEzB.mjs} +20 -22
- package/dist/{config-CyQ-wVd7.mjs → config-5r-YpMC-.mjs} +1 -1
- package/dist/{config-C_XRIPx2.mjs → config-B_ggY-IO.mjs} +3 -3
- package/dist/config-BtSFvXZx.mjs +2 -0
- package/dist/config-CLYAosnQ.mjs +78 -0
- package/dist/{config-BMHb8RCj.d.mts → config-CSa15FvD.d.mts} +1 -1
- package/dist/{config-Br_JZD6u.mjs → config-DiowPT80.mjs} +24 -30
- package/dist/config-entry.d.mts +1 -1
- package/dist/{config-write-B1f88wJA.mjs → config-write-AHGesphx.mjs} +8 -7
- package/dist/{connect-H6EvP62X.mjs → connect-X0MUA1gk.mjs} +10 -9
- package/dist/{create-project-B2kk9Q0o.mjs → create-project-DxiyW6iX.mjs} +6 -6
- package/dist/{create-project-Dbb4uiN-.mjs → create-project-iwkbqiBU.mjs} +1 -1
- package/dist/{db-DpCKZto0.mjs → db-XnVMHzoV.mjs} +100 -132
- package/dist/{delete-CxlSvsvW.mjs → delete-esYlMiSJ.mjs} +6 -6
- package/dist/{deploy-CeEbnv4b.mjs → deploy-BsEvnlJl.mjs} +2346 -2495
- 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-B_9VgOm6.mjs → domain-CbbBWhWE.mjs} +28 -29
- package/dist/{dotenv-VQxupEUv.mjs → dotenv-BfU6eqFt.mjs} +20 -32
- package/dist/{drizzle-Beb2Am5S.mjs → drizzle-CF84FOVM.mjs} +16 -13
- package/dist/{email-BokHgjKj.mjs → email-CpuT42g7.mjs} +23 -18
- 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-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-BdTc-K2L.mjs → env-w9jOyGZn.mjs} +9 -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-Nm3hkZbT.mjs → fetch-stream-PGgz4uGz.mjs} +18 -23
- package/dist/{fetch-stream-Bjf0hoZb.d.mts → fetch-stream-obvZ7fvO.d.mts} +1 -16
- package/dist/{gen-BhDlTpwW.mjs → gen-DtkQhvQg.mjs} +40 -57
- package/dist/gen-dA9hW7AV.mjs +2 -0
- package/dist/{github-cmd-hhkTzlGS.mjs → github-cmd-D_FsOFxq.mjs} +64 -163
- package/dist/{handler-DghKr6dU.mjs → handler-BHAn2fZJ.mjs} +1 -0
- package/dist/{handler-BeK3weD4.d.mts → handler-CNAwjRcW.d.mts} +4 -11
- package/dist/{head-Do8P4puT.d.mts → head-C8K_iGe6.d.mts} +1 -1
- package/dist/{head-D_QRR5Yd.mjs → head-D2VF4ApL.mjs} +29 -51
- package/dist/{headers-2rKda9Y6.mjs → headers-DlfR78Nu.mjs} +3 -3
- package/dist/{help-Bv44e2tm.mjs → help-CVFBTmBx.mjs} +13 -32
- 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 +617 -530
- package/dist/{info-DhtTKh65.mjs → info-PYWwkWyt.mjs} +4 -4
- package/dist/{init-BMf4T03q.mjs → init-Bw-fRKGp.mjs} +160 -197
- package/dist/{link-BqYsSS_I.mjs → link-DlPG8iX3.mjs} +9 -9
- package/dist/{list-_kBToO-l.mjs → list-2GN7_ueV.mjs} +8 -7
- package/dist/{live-CB1y5IuC.mjs → live-CgQuTpqD.mjs} +15 -16
- package/dist/{live-iAuEH1hd.d.mts → live-Du8jXwOW.d.mts} +4 -2
- package/dist/{local-d1-fGxYrVD6.mjs → local-d1-ga5O_idV.mjs} +2 -2
- package/dist/{login-DFuo-RWO.mjs → login-D-Q4xw3Q.mjs} +7 -7
- package/dist/login-Dc-wuTDq.mjs +2 -0
- package/dist/{logs-DYgnh6dH.mjs → logs-rd8J-OFh.mjs} +27 -10
- package/dist/migrate-BHp07yJE.mjs +2 -0
- package/dist/{migrate-CV1on-yJ.mjs → migrate-NLsjBbuM.mjs} +34 -20
- package/dist/{mime-D5Nmdzf7.mjs → mime-DxCznlJq.mjs} +45 -95
- package/dist/{node-C6Q6e1Es.mjs → node-DJicPvPj.mjs} +5 -5
- package/dist/{operator-args-DdY54Bgb.mjs → operator-args-BNsW5gfp.mjs} +10 -1
- package/dist/{operator-auth-2dsGlTT5.mjs → operator-auth-AzVLbrr3.mjs} +1 -1
- package/dist/{operator-client-BFqpp6z0.mjs → operator-client-BQtzyG-g.mjs} +1 -1
- package/dist/{operator-cmd-CUGHXrQf.mjs → operator-cmd-B6f6Cg9Z.mjs} +24 -11
- package/dist/operator-cmd-Cwn50lOV.mjs +2 -0
- package/dist/{output-BvdaehtE.mjs → output-C50ag2r3.mjs} +20 -2
- package/dist/pages/client.d.mts +19 -51
- package/dist/pages/client.mjs +204 -225
- package/dist/pages/head-client.d.mts +1 -1
- package/dist/pages/head.d.mts +1 -1
- package/dist/pages/head.mjs +1 -1
- package/dist/pages/index.d.mts +2 -2
- package/dist/pages/index.mjs +6 -12
- package/dist/pages/islands-plugin.d.mts +1 -1
- package/dist/pages/islands-plugin.mjs +21 -25
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +2 -2
- package/dist/{plan-CJGEeTEI.mjs → plan-BhLO2p4w.mjs} +2 -1
- package/dist/plan-CH2G51je.mjs +2 -0
- package/dist/{platform-args-DSV2p4nY.mjs → platform-args-BoZkWQnJ.mjs} +1 -1
- package/dist/platform-args-DYgITk0D.mjs +2 -0
- package/dist/{platform-auth-config-Bosx7U1h.mjs → platform-auth-config-n603OANg.mjs} +40 -36
- package/dist/{platform-auth-protection-DcbL_LW_.mjs → platform-auth-protection-zxDr0hWW.mjs} +8 -7
- package/dist/{platform-auth-recovery-WfTZ8K6o.mjs → platform-auth-recovery-tw9lgtgE.mjs} +7 -6
- package/dist/{platform-cmd-DbKtQb_4.mjs → platform-cmd-B8-bCb7t.mjs} +10 -10
- package/dist/{platform-cmd-dyFUof0t.mjs → platform-cmd-C00YM14r.mjs} +1 -1
- package/dist/{platform-domain-Bsq43AJp.mjs → platform-domain-p0kobLV8.mjs} +5 -5
- package/dist/{platform-lifecycle-Cfi0o6xM.mjs → platform-lifecycle-D_QEY32D.mjs} +75 -386
- package/dist/{platform-lifecycle--5gWmDoI.mjs → platform-lifecycle-vFqtNPPa.mjs} +1 -1
- package/dist/{platform-management-BrF9STZp.mjs → platform-management-BdYblvvE.mjs} +6 -6
- package/dist/{platform-management-Bbwf6-Dq.mjs → platform-management-oi-SvI3f.mjs} +1 -1
- package/dist/{platform-plans-config-DU-8nC2Y.mjs → platform-plans-config-CjiFv5J4.mjs} +5 -4
- package/dist/{platform-recovery-DQAqAQYu.mjs → platform-recovery-PvNS9Nl2.mjs} +2 -2
- 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-WoUubFKL.mjs → prepare-Do96654b.mjs} +8 -8
- package/dist/{prepare-BMrRWLwP.mjs → prepare-Dq9hTIbo.mjs} +4 -4
- package/dist/{prerender-render-D9qbLs2f.mjs → prerender-render-Ct20jftc.mjs} +17 -3
- package/dist/prerender-render.mjs +1 -1
- package/dist/{project-cmd-BbH2LptN.mjs → project-cmd-ti8_yTcA.mjs} +18 -18
- package/dist/{project-team-Yiww3-go.mjs → project-team-CDPE1Tsg.mjs} +14 -17
- package/dist/{project-token-BrtT2NkY.mjs → project-token-CkZ1cN0Z.mjs} +13 -16
- package/dist/{project-tsconfig-B8GeM0RM.mjs → project-tsconfig-CVJhNMxs.mjs} +2 -1
- package/dist/{project-zero-trust-nYJ2V2nc.mjs → project-zero-trust-DdjLR61k.mjs} +11 -8
- package/dist/{protocol-BX8t2jiw.d.mts → protocol-BPZaNqBo.d.mts} +4 -2
- package/dist/{protocol-U7bfjHmA.mjs → protocol-CfaUwNs8.mjs} +46 -49
- package/dist/{providers-CJlNS3kT.mjs → providers-BXuhmuub.mjs} +1 -12
- package/dist/{provision-VeqAC77A.mjs → provision-BfaLiWbj.mjs} +38 -41
- package/dist/{provision-DMTPG8Rh.mjs → provision-Wu9ZBk9L.mjs} +2 -3
- package/dist/{requests-TIz_jtSu.mjs → requests-DFAqyYy8.mjs} +4 -4
- package/dist/resolve-project-BIeYs9Cw.mjs +2 -0
- package/dist/{resolve-project-BG5ORGID.mjs → resolve-project-CP8rZs_p.mjs} +6 -1
- package/dist/{rollback-dBqICPzj.mjs → rollback-BKYXBduI.mjs} +29 -36
- package/dist/{route-types-Clm4WD0B.mjs → route-types-CbtsIeFn.mjs} +1 -1
- package/dist/route-url-BgPja1GS.d.mts +5 -0
- package/dist/route-url-BjGv_KKY.mjs +28 -0
- package/dist/runner-9wjsSZx-.mjs +2 -0
- package/dist/{runner--2KF6Kua.mjs → runner-DMBKSrRk.mjs} +2 -2
- package/dist/{runner-mysql-DmWchSWJ.mjs → runner-mysql-CEzKtmFb.mjs} +8 -8
- package/dist/{runner-mysql-CEG5JozK.mjs → runner-mysql-CkFqZ6CE.mjs} +1 -1
- package/dist/{runner-pg-Bh4AgZdj.mjs → runner-pg-BGYRFdRp.mjs} +1 -1
- package/dist/runtime/ai.d.mts +1 -1
- package/dist/runtime/ai.mjs +34 -95
- package/dist/runtime/better-auth-mysql.d.mts +1 -1
- package/dist/runtime/better-auth-mysql.mjs +4 -9
- package/dist/runtime/better-auth-pg.d.mts +1 -1
- package/dist/runtime/better-auth-pg.mjs +5 -10
- package/dist/runtime/better-auth.d.mts +1 -1
- package/dist/runtime/better-auth.mjs +3 -3
- package/dist/runtime/client-react.d.mts +2 -3
- package/dist/runtime/client-react.mjs +2 -2
- package/dist/runtime/client-solid.d.mts +2 -3
- package/dist/runtime/client-solid.mjs +2 -2
- package/dist/runtime/client-svelte.d.mts +2 -3
- package/dist/runtime/client-svelte.mjs +2 -2
- package/dist/runtime/client-vue.d.mts +2 -3
- package/dist/runtime/client-vue.mjs +2 -2
- package/dist/runtime/client.d.mts +2 -3
- package/dist/runtime/client.mjs +2 -2
- package/dist/runtime/db.mjs +1 -1
- package/dist/runtime/durable.mjs +3 -10
- package/dist/runtime/email/testing.mjs +5 -5
- package/dist/runtime/email.d.mts +2 -1
- package/dist/runtime/email.mjs +11 -27
- package/dist/runtime/env-public.mjs +15 -20
- package/dist/runtime/env.mjs +1 -1
- package/dist/runtime/fetch-stream.d.mts +2 -2
- package/dist/runtime/fetch-stream.mjs +1 -1
- package/dist/runtime/fetch.d.mts +2 -3
- package/dist/runtime/fetch.mjs +1 -1
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/handler.mjs +2 -2
- package/dist/runtime/isr.mjs +1 -1
- package/dist/runtime/kv.mjs +10 -11
- package/dist/runtime/live-client.d.mts +1 -1
- package/dist/runtime/live-client.mjs +12 -22
- package/dist/runtime/live-server.mjs +27 -35
- package/dist/runtime/live.d.mts +2 -2
- package/dist/runtime/live.mjs +2 -2
- package/dist/runtime/migration-handler.mjs +4 -81
- package/dist/runtime/queues.mjs +1 -1
- package/dist/runtime/remote/binding-handler.d.mts +2 -2
- package/dist/runtime/remote/binding-handler.mjs +8 -9
- package/dist/runtime/remote/index.mjs +27 -77
- package/dist/runtime/route-url.d.mts +2 -4
- package/dist/runtime/route-url.mjs +1 -1
- package/dist/runtime/routing.d.mts +1 -1
- package/dist/runtime/routing.mjs +15 -26
- package/dist/runtime/sandbox.mjs +2 -2
- package/dist/runtime/sse.mjs +1 -1
- package/dist/runtime/storage.mjs +1 -1
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +2 -2
- package/dist/runtime/ws-server.mjs +30 -61
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/runtime/ws.mjs +1 -1
- package/dist/{scan-C8dA7iM4.mjs → scan-C3uDzz6J.mjs} +12 -13
- package/dist/{secret-AKnNXNP5.mjs → secret-BAt2KMmO.mjs} +14 -14
- package/dist/{skills-BPQUGClu.mjs → skills-BgVMvQdy.mjs} +2 -2
- package/dist/{sse-CQNaDFFV.mjs → sse-CMvCgjNk.mjs} +1 -1
- package/dist/{subcommand-prompt-B6WS9Aoz.mjs → subcommand-prompt-BSlnD1fI.mjs} +2 -2
- package/dist/sveltekit.d.mts +0 -2
- package/dist/terminal-log-text-D9ACPOuG.mjs +32 -0
- package/dist/validate-BJr9LfXy.mjs +2 -0
- package/dist/{validate-ymhap6M_.mjs → validate-C9qJArv7.mjs} +9 -28
- package/dist/{defer-YsYDUoii.mjs → validation-error-Dg9Recn1.mjs} +11 -11
- package/dist/{wrangler-DhUerFkW.mjs → wrangler-D9KTuqnv.mjs} +89 -194
- package/dist/{ws-C79j4aED.d.mts → ws-CChrrAU-.d.mts} +1 -1
- package/dist/{yarn-pnp-BV4AzNul.mjs → yarn-pnp-CUX_iTPA.mjs} +19 -27
- package/{skills/void/docs → docs}/guide/ai.md +5 -3
- package/{skills/void/docs → docs}/guide/auth.md +37 -1
- package/{skills/void/docs → docs}/guide/database/postgresql.md +2 -2
- package/{skills/void/docs → docs}/guide/edge/revalidation.md +1 -1
- package/{skills/void/docs → docs}/guide/edge/rewrites.md +2 -4
- package/{skills/void/docs → docs}/guide/email/receiving.md +2 -2
- package/{skills/void/docs → docs}/guide/email/sending.md +0 -2
- package/{skills/void/docs → docs}/guide/env-vars.md +4 -0
- package/{skills/void/docs → docs}/guide/jobs.md +2 -2
- package/{skills/void/docs → docs}/guide/live.md +10 -5
- package/{skills/void/docs → docs}/guide/pages-routing/actions-and-forms.md +20 -8
- package/{skills/void/docs → docs}/guide/pages-routing/loaders.md +7 -3
- package/{skills/void/docs → docs}/guide/pages-routing/markdown.md +15 -23
- package/{skills/void/docs → docs}/guide/pages-routing/overview.md +6 -4
- package/{skills/void/docs → docs}/guide/platform/administration/access.md +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/domains.md +3 -1
- package/{skills/void/docs → docs}/guide/platform/installation/first-deployment.md +3 -1
- package/{skills/void/docs → docs}/guide/platform/installation/maintenance.md +4 -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 +2 -2
- package/{skills/void/docs → docs}/guide/sse.md +0 -2
- package/{skills/void/docs → docs}/guide/storage.md +7 -2
- package/{skills/void/docs → docs}/guide/websockets.md +4 -0
- package/docs/integrations/agents.md +37 -0
- package/{skills/void/docs → docs}/integrations/frameworks/astro.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/nuxt.md +6 -2
- package/{skills/void/docs → docs}/integrations/hono.md +15 -7
- package/{skills/void/docs → docs}/integrations/nodejs-bun-deno.md +1 -0
- package/{skills/void/docs → docs}/reference/api/auth.md +1 -1
- package/{skills/void/docs → docs}/reference/api/handlers.md +4 -2
- package/{skills/void/docs → docs}/reference/api/pages.md +4 -0
- package/{skills/void/docs → docs}/reference/cli/auth.md +0 -5
- 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 +1 -1
- package/{skills/void/docs → docs}/reference/cli/platform-email.md +2 -3
- package/{skills/void/docs → docs}/reference/cli/platform-installation.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/platform-operations.md +3 -0
- package/{skills/void/docs → docs}/reference/cli/platform-users.md +2 -2
- package/{skills/void/docs → docs}/reference/cli/project.md +5 -4
- package/{skills/void/docs → docs}/reference/cli/secrets.md +3 -3
- package/{skills/void/docs → docs}/reference/cli/setup.md +9 -11
- package/{skills/void/docs → docs}/reference/cli.md +1 -1
- package/{skills/void/docs → docs}/reference/config.md +13 -13
- package/{skills/void/docs → docs}/reference/resource-inference.md +1 -16
- package/package.json +34 -30
- package/schema.json +1 -1
- package/skills/migrate-vite-cloudflare-to-void/SKILL.md +4 -1
- package/skills/void/SKILL.md +6 -3
- package/dist/cf-build-output-ChY6-XWP.mjs +0 -2
- package/dist/client-BxVixJBI.mjs +0 -2
- package/dist/config-0acf1oys.mjs +0 -2
- package/dist/config-D8MOgiQV.mjs +0 -32
- package/dist/deploy-qmiLE1G1.mjs +0 -2
- package/dist/discover-AMCBXivQ.mjs +0 -2
- package/dist/fetch-error-Sp1R4mZv.d.mts +0 -20
- package/dist/gen-qCBwH3fZ.mjs +0 -2
- package/dist/help-Dw5f9Xrg.mjs +0 -2
- package/dist/login-D7meQg_3.mjs +0 -2
- package/dist/migrate-CEu2X5DB.mjs +0 -2
- package/dist/operator-cmd-DRPvhpjM.mjs +0 -2
- package/dist/plan-COtUvdMA.mjs +0 -2
- package/dist/platform-args-Dcy_5b_Y.mjs +0 -2
- package/dist/prepare-BBknoZI1.mjs +0 -2
- package/dist/resolve-project-DtbidV4y.mjs +0 -2
- package/dist/route-url-CG7U-cRN.mjs +0 -15
- package/dist/runner-voIltZrY.mjs +0 -2
- package/dist/validate-pna7R3Pv.mjs +0 -2
- package/skills/void/docs/integrations/agents.md +0 -26
- package/dist/{runner-pg-D4OPlil-.mjs → runner-pg-DV8p_zjA.mjs} +4 -4
- package/{skills/void/docs → docs}/guide/app-types.md +0 -0
- package/{skills/void/docs → docs}/guide/database/d1.md +2 -2
- package/{skills/void/docs → docs}/guide/database/mysql.md +0 -0
- package/{skills/void/docs → docs}/guide/database.md +8 -8
- package/{skills/void/docs → docs}/guide/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/credentials.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/prerequisites.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/setup.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/uninstall.md +0 -0
- package/{skills/void/docs → docs}/guide/platform-administration.md +0 -0
- package/{skills/void/docs → docs}/guide/platform-development.md +0 -0
- package/{skills/void/docs → docs}/guide/quickstart.md +0 -0
- package/{skills/void/docs → docs}/guide/self-hosted-platform.md +0 -0
- package/{skills/void/docs → docs}/guide/server-routing.md +3 -3
- package/{skills/void/docs → docs}/guide/ssg.md +0 -0
- package/{skills/void/docs → docs}/guide/ssr.md +0 -0
- package/{skills/void/docs → docs}/guide/type-safety.md +0 -0
- package/{skills/void/docs → docs}/guide/typed-fetch.md +0 -0
- package/{skills/void/docs → docs}/index.md +0 -0
- package/{skills/void/docs → docs}/integrations/cloudflare.md +0 -0
- package/{skills/void/docs → docs}/integrations/frameworks/analog.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/overview.md +0 -0
- package/{skills/void/docs → docs}/integrations/frameworks/react-router.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/sveltekit.md +1 -1
- package/{skills/void/docs → docs}/integrations/frameworks/tanstack-start.md +2 -2
- package/{skills/void/docs → docs}/reference/api/client.md +0 -0
- package/{skills/void/docs → docs}/reference/api/database.md +2 -2
- /package/{skills/void/docs → docs}/reference/api/durable.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/env.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/plugin.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/resources.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/rewrites.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/types.md +0 -0
- /package/{skills/void/docs → docs}/reference/api.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/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/cli/platform.md +0 -0
- /package/{skills/void/docs → docs}/reference/structure.md +0 -0
package/dist/pages/head.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as resolveHead, n as renderHeadToString, r as renderHtmlAttrs, t as renderBodyAttrs } from "../head-
|
|
1
|
+
import { i as resolveHead, n as renderHeadToString, r as renderHtmlAttrs, t as renderBodyAttrs } from "../head-D2VF4ApL.mjs";
|
|
2
2
|
export { renderBodyAttrs, renderHeadToString, renderHtmlAttrs, resolveHead };
|
package/dist/pages/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as renderHtmlAttrs, i as renderHeadToString, n as HeadDescriptor, o as resolveHead, r as renderBodyAttrs, t as HeadConfig } from "../head-
|
|
2
|
-
import "../config-
|
|
1
|
+
import { a as renderHtmlAttrs, i as renderHeadToString, n as HeadDescriptor, o as resolveHead, r as renderBodyAttrs, t as HeadConfig } from "../head-C8K_iGe6.mjs";
|
|
2
|
+
import "../config-CSa15FvD.mjs";
|
|
3
3
|
import { i as PageDefinition, n as LayoutDefinition, o as PageScanResult, r as NamedLayoutDefinition } from "../types-BAp5AEBU.mjs";
|
|
4
4
|
import { t as serializePageData } from "../serialize-CfSwWfF2.mjs";
|
|
5
5
|
//#region src/project-paths.d.ts
|
package/dist/pages/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { a as join } from "../dist-BVqXeR_h.mjs";
|
|
2
2
|
import { r as resolvePagesDir } from "../project-paths-GgcMozYz.mjs";
|
|
3
|
-
import { m as readConfig } from "../config-
|
|
4
|
-
import { a as resolveNamedLayout, i as resolveLayoutIds, n as resolveEffectiveLayoutChain, r as resolveLayoutChain, t as scanPages } from "../scan-
|
|
5
|
-
import { i as parseRedirectsFile } from "../headers-
|
|
6
|
-
import { i as resolveHead, n as renderHeadToString, r as renderHtmlAttrs, t as renderBodyAttrs } from "../head-
|
|
3
|
+
import { m as readConfig } from "../config-DiowPT80.mjs";
|
|
4
|
+
import { a as resolveNamedLayout, i as resolveLayoutIds, n as resolveEffectiveLayoutChain, o as toLayoutId, r as resolveLayoutChain, t as scanPages } from "../scan-C3uDzz6J.mjs";
|
|
5
|
+
import { i as parseRedirectsFile } from "../headers-DlfR78Nu.mjs";
|
|
6
|
+
import { i as resolveHead, n as renderHeadToString, r as renderHtmlAttrs, t as renderBodyAttrs } from "../head-D2VF4ApL.mjs";
|
|
7
7
|
import { t as serializePageData } from "../serialize-BPvnNQuA.mjs";
|
|
8
8
|
//#region src/pages/manifest.ts
|
|
9
9
|
/**
|
|
@@ -17,15 +17,9 @@ function generateComponentManifest(scan, pagesDir) {
|
|
|
17
17
|
const importPath = `${pagesDir}/${page.componentPath}`;
|
|
18
18
|
lines.push(` ${JSON.stringify(page.componentId)}: () => import(${JSON.stringify(importPath)}),`);
|
|
19
19
|
}
|
|
20
|
-
for (const layout of scan.layouts) {
|
|
20
|
+
for (const layout of [...scan.layouts, ...scan.namedLayouts]) {
|
|
21
21
|
const importPath = `${pagesDir}/${layout.filePath}`;
|
|
22
|
-
|
|
23
|
-
lines.push(` ${JSON.stringify(layoutId)}: () => import(${JSON.stringify(importPath)}),`);
|
|
24
|
-
}
|
|
25
|
-
for (const namedLayout of scan.namedLayouts) {
|
|
26
|
-
const importPath = `${pagesDir}/${namedLayout.filePath}`;
|
|
27
|
-
const layoutId = namedLayout.directory ? `${namedLayout.directory}/_layouts/${namedLayout.name}` : `_layouts/${namedLayout.name}`;
|
|
28
|
-
lines.push(` ${JSON.stringify(layoutId)}: () => import(${JSON.stringify(importPath)}),`);
|
|
22
|
+
lines.push(` ${JSON.stringify(toLayoutId(layout))}: () => import(${JSON.stringify(importPath)}),`);
|
|
29
23
|
}
|
|
30
24
|
lines.push("};");
|
|
31
25
|
lines.push("const layoutTree = {");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as PageScanResult } from "../types-BAp5AEBU.mjs";
|
|
2
2
|
import { ResolvedConfig, ViteDevServer } from "vite";
|
|
3
|
-
//#region ../../node_modules/.pnpm/magic-string@1.4.
|
|
3
|
+
//#region ../../node_modules/.pnpm/magic-string@1.4.3/node_modules/magic-string/dist/index.d.mts
|
|
4
4
|
//#region src/SourceMap.d.ts
|
|
5
5
|
interface SourceMapOptions {
|
|
6
6
|
/**
|
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
import { n as dirname, u as resolve } from "../dist-BVqXeR_h.mjs";
|
|
2
2
|
import { n as isIdentifier, r as isLiteral } from "../ast-CPGPjb0V.mjs";
|
|
3
|
-
import { n as resolveEffectiveLayoutChain, t as scanPages } from "../scan-
|
|
4
|
-
import { t as MagicString } from "../dist-
|
|
3
|
+
import { n as resolveEffectiveLayoutChain, t as scanPages } from "../scan-C3uDzz6J.mjs";
|
|
4
|
+
import { t as MagicString } from "../dist-Cegxq8gs.mjs";
|
|
5
5
|
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
6
6
|
import { normalizePath, parseSync } from "vite";
|
|
7
7
|
//#region src/pages/island-imports.ts
|
|
8
|
-
/**
|
|
9
|
-
function
|
|
10
|
-
if (
|
|
11
|
-
const scripts = /\.(?:vue|svelte)$/.test(filename) ? [...code.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script\s*>/gi)].map((match) => ({
|
|
12
|
-
source: match[1],
|
|
13
|
-
filename: filename.replace(/\.(?:vue|svelte)$/, ".ts")
|
|
14
|
-
})) : [{
|
|
8
|
+
/** The whole JS/TS module, or each `<script>` block of a Vue/Svelte SFC with its offset in the file. */
|
|
9
|
+
function scriptBlocks(code, filename) {
|
|
10
|
+
if (!/\.(?:vue|svelte)$/.test(filename)) return [{
|
|
15
11
|
source: code,
|
|
12
|
+
offset: 0,
|
|
16
13
|
filename
|
|
17
14
|
}];
|
|
15
|
+
const scriptFilename = filename.replace(/\.(?:vue|svelte)$/, ".ts");
|
|
16
|
+
return [...code.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script\s*>/gi)].map((match) => {
|
|
17
|
+
const source = match[1];
|
|
18
|
+
return {
|
|
19
|
+
source,
|
|
20
|
+
offset: match.index + match[0].indexOf(source),
|
|
21
|
+
filename: scriptFilename
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/** Collect stylesheet imports from authored modules without treating dynamic imports or text as dependencies. */
|
|
26
|
+
function findStaticCssImports(code, filename) {
|
|
27
|
+
if (!code.includes("import")) return [];
|
|
18
28
|
const imports = [];
|
|
19
|
-
for (const script of
|
|
29
|
+
for (const script of scriptBlocks(code, filename)) {
|
|
20
30
|
if (!script.source.includes("import")) continue;
|
|
21
31
|
const program = parseSync(script.filename, script.source).program;
|
|
22
32
|
for (const node of program.body ?? []) {
|
|
@@ -44,22 +54,8 @@ function editIslandSource(code, edits, options) {
|
|
|
44
54
|
/** Read island import attributes from JS/TS, or script blocks inside an SFC. */
|
|
45
55
|
function findIslandImports(code, filename) {
|
|
46
56
|
if (!code.includes("import") || !code.includes("island")) return [];
|
|
47
|
-
const scripts = [];
|
|
48
|
-
if (/\.(?:vue|svelte)$/.test(filename)) for (const match of code.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script\s*>/gi)) {
|
|
49
|
-
const source = match[1];
|
|
50
|
-
scripts.push({
|
|
51
|
-
source,
|
|
52
|
-
offset: match.index + match[0].indexOf(source),
|
|
53
|
-
filename: filename.replace(/\.(?:vue|svelte)$/, ".ts")
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
else scripts.push({
|
|
57
|
-
source: code,
|
|
58
|
-
offset: 0,
|
|
59
|
-
filename
|
|
60
|
-
});
|
|
61
57
|
const imports = [];
|
|
62
|
-
for (const script of
|
|
58
|
+
for (const script of scriptBlocks(code, filename)) {
|
|
63
59
|
if (!script.source.includes("island")) continue;
|
|
64
60
|
const program = parseSync(script.filename, script.source).program;
|
|
65
61
|
for (const node of program.body ?? []) {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { w as ValidationError } from "../handler-
|
|
2
|
-
import { a as handlePageMutation, i as handlePageGet, n as PageRenderResult, o as safeJsonStringify, r as flattenValidationErrors, t as PageObject } from "../protocol-
|
|
1
|
+
import { w as ValidationError } from "../handler-CNAwjRcW.mjs";
|
|
2
|
+
import { a as handlePageMutation, i as handlePageGet, n as PageRenderResult, o as safeJsonStringify, r as flattenValidationErrors, t as PageObject } from "../protocol-BPZaNqBo.mjs";
|
|
3
3
|
export { PageObject, PageRenderResult, ValidationError, flattenValidationErrors, handlePageGet, handlePageMutation, safeJsonStringify };
|
package/dist/pages/protocol.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as safeJsonStringify, n as handlePageGet, r as handlePageMutation, t as flattenValidationErrors } from "../protocol-
|
|
1
|
+
import { t as ValidationError } from "../validation-error-Dg9Recn1.mjs";
|
|
2
|
+
import { i as safeJsonStringify, n as handlePageGet, r as handlePageMutation, t as flattenValidationErrors } from "../protocol-CfaUwNs8.mjs";
|
|
3
3
|
export { ValidationError, flattenValidationErrors, handlePageGet, handlePageMutation, safeJsonStringify };
|
|
@@ -15,6 +15,7 @@ function computeMigrationListHash(plans) {
|
|
|
15
15
|
plan.planHash
|
|
16
16
|
])));
|
|
17
17
|
}
|
|
18
|
+
/** Blank out comments, strings and quoted identifiers, keeping offsets stable. */
|
|
18
19
|
function getExecutableSql(sql) {
|
|
19
20
|
let out = "";
|
|
20
21
|
for (const segment of tokenizeSql(sql)) if (segment.kind === "sql") out += sql.slice(segment.start, segment.end);
|
|
@@ -55,4 +56,4 @@ function buildMigrationPlanBundle(migrations) {
|
|
|
55
56
|
};
|
|
56
57
|
}
|
|
57
58
|
//#endregion
|
|
58
|
-
export {
|
|
59
|
+
export { getExecutableSql as i, buildMigrationPlanBundle as n, classifyMigration as r, DESTRUCTIVE_PRAGMA as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as operatorGroups, r as parseOperatorArgs } from "./operator-args-
|
|
1
|
+
import { n as operatorGroups, r as parseOperatorArgs } from "./operator-args-BNsW5gfp.mjs";
|
|
2
2
|
import { PLATFORM_LOGIN_KINDS, normalizePlatformDashboardUrl, parsePlatformLoginId } from "@void/platform";
|
|
3
3
|
import { parsePlatformPlanId } from "@void/platform/plans";
|
|
4
4
|
//#region src/cli/platform-config-args.ts
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import { u as openBrowser } from "./auth-
|
|
2
|
-
import { A as confirm, K as select, U as password, X as text,
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { u as openBrowser } from "./auth-B5_tZLxT.mjs";
|
|
2
|
+
import { A as confirm, K as select, U as password, X as text, z as multiselect } from "./dist-D3m88sjf.mjs";
|
|
3
|
+
import { d as printSuccess } from "./output-C50ag2r3.mjs";
|
|
4
|
+
import { n as OperatorClient } from "./operator-client-BQtzyG-g.mjs";
|
|
5
|
+
import { a as resolveOperatorOrigin, r as readOperatorToken } from "./operator-auth-AzVLbrr3.mjs";
|
|
6
|
+
import { i as humanLines } from "./operator-cmd-B6f6Cg9Z.mjs";
|
|
7
|
+
import { o as platformPromptAnswer } from "./platform-setup-DVe42Ws7.mjs";
|
|
6
8
|
import { parsePlatformAdmissionPolicy, parsePlatformLoginConfiguration } from "@void/platform";
|
|
7
9
|
import { stripVTControlCharacters } from "node:util";
|
|
8
10
|
import { execFile } from "node:child_process";
|
|
9
11
|
import { setTimeout } from "node:timers/promises";
|
|
10
12
|
import { readFile } from "node:fs/promises";
|
|
11
13
|
//#region src/cli/platform-auth-config.ts
|
|
12
|
-
function value(input) {
|
|
13
|
-
if (isCancel(input) || typeof input === "symbol") throw new Error("platform: Cancelled.");
|
|
14
|
-
return input;
|
|
15
|
-
}
|
|
16
14
|
function print(result, json) {
|
|
17
15
|
console.log(json ? JSON.stringify(result, null, 2) : humanLines(result).join("\n"));
|
|
18
16
|
}
|
|
17
|
+
function printApplied(result, args) {
|
|
18
|
+
print(result, args.json);
|
|
19
|
+
if (!args.json && !args.plan) printSuccess("Platform authentication configuration updated.");
|
|
20
|
+
}
|
|
19
21
|
async function apply(client, path, body, args) {
|
|
20
22
|
const preview = await client.request(path, {
|
|
21
23
|
method: "POST",
|
|
@@ -28,7 +30,7 @@ async function apply(client, path, body, args) {
|
|
|
28
30
|
if (!args.yes) {
|
|
29
31
|
if (!process.stdin.isTTY) throw new Error("platform: Configuration changes require --yes or --plan in non-interactive mode.");
|
|
30
32
|
console.error(JSON.stringify(preview, null, 2));
|
|
31
|
-
if (!
|
|
33
|
+
if (!platformPromptAnswer(await confirm({
|
|
32
34
|
message: `Apply this change to ${client.origin}?`,
|
|
33
35
|
initialValue: false
|
|
34
36
|
}))) throw new Error("platform: Cancelled.");
|
|
@@ -92,11 +94,11 @@ async function configurationInput(args, existing) {
|
|
|
92
94
|
input.id = id || input.id || (kind === "github" || kind === "google" ? kind : kind === "oidc" ? "company" : "access");
|
|
93
95
|
const interactive = !!process.stdin.isTTY && !args.file;
|
|
94
96
|
if (interactive) {
|
|
95
|
-
if (!existing && kind !== "github" && kind !== "google" && !args.id) input.id =
|
|
97
|
+
if (!existing && kind !== "github" && kind !== "google" && !args.id) input.id = platformPromptAnswer(await text({
|
|
96
98
|
message: "Connection ID:",
|
|
97
99
|
initialValue: String(input.id)
|
|
98
100
|
}));
|
|
99
|
-
input.label =
|
|
101
|
+
input.label = platformPromptAnswer(await text({
|
|
100
102
|
message: "Login button label:",
|
|
101
103
|
initialValue: String(input.label ?? {
|
|
102
104
|
github: "GitHub",
|
|
@@ -105,23 +107,23 @@ async function configurationInput(args, existing) {
|
|
|
105
107
|
"cloudflare-access": "Cloudflare Access"
|
|
106
108
|
}[kind])
|
|
107
109
|
}));
|
|
108
|
-
if (kind === "oidc" || kind === "cloudflare-access") input.issuer =
|
|
110
|
+
if (kind === "oidc" || kind === "cloudflare-access") input.issuer = platformPromptAnswer(await text({
|
|
109
111
|
message: "OIDC issuer URL:",
|
|
110
112
|
initialValue: String(input.issuer ?? "")
|
|
111
113
|
}));
|
|
112
|
-
input.clientId =
|
|
114
|
+
input.clientId = platformPromptAnswer(await text({
|
|
113
115
|
message: "Client ID:",
|
|
114
116
|
initialValue: String(input.clientId ?? "")
|
|
115
117
|
}));
|
|
116
118
|
if (kind === "google") {
|
|
117
|
-
const domains =
|
|
119
|
+
const domains = platformPromptAnswer(await text({
|
|
118
120
|
message: "Allowed Workspace domains (comma-separated; blank allows any Google account):",
|
|
119
121
|
initialValue: Array.isArray(input.allowedDomains) ? input.allowedDomains.join(", ") : ""
|
|
120
122
|
}));
|
|
121
123
|
input.allowedDomains = domains.split(",").map((domain) => domain.trim()).filter(Boolean);
|
|
122
124
|
}
|
|
123
125
|
if (kind === "oidc" || kind === "cloudflare-access") {
|
|
124
|
-
const groups =
|
|
126
|
+
const groups = platformPromptAnswer(await text({
|
|
125
127
|
message: "Allowed groups (comma-separated; blank uses the provider’s access policy):",
|
|
126
128
|
initialValue: Array.isArray(input.requiredGroups) ? input.requiredGroups.join(", ") : ""
|
|
127
129
|
}));
|
|
@@ -132,7 +134,7 @@ async function configurationInput(args, existing) {
|
|
|
132
134
|
if (existing && configuration.id !== existing.id) throw new Error("platform: Use add to create a connection with a new ID.");
|
|
133
135
|
let secret = args.clientSecretEnv ? process.env[args.clientSecretEnv] : void 0;
|
|
134
136
|
if (args.clientSecretEnv && !secret) throw new Error(`platform: ${args.clientSecretEnv} must contain the client secret.`);
|
|
135
|
-
if (!args.clientSecretEnv && interactive) secret =
|
|
137
|
+
if (!args.clientSecretEnv && interactive) secret = platformPromptAnswer(await password({ message: existing ? "Client secret (leave blank to keep the saved secret):" : "Client secret:" })) || void 0;
|
|
136
138
|
if (!existing && !secret) throw new Error("platform: Provide --client-secret-env or enter a client secret interactively.");
|
|
137
139
|
return {
|
|
138
140
|
configuration,
|
|
@@ -141,11 +143,11 @@ async function configurationInput(args, existing) {
|
|
|
141
143
|
}
|
|
142
144
|
async function runPlatformAuthConfig(args) {
|
|
143
145
|
if (args.action === "recover") {
|
|
144
|
-
const { runPlatformAuthRecovery } = await import("./platform-auth-recovery-
|
|
146
|
+
const { runPlatformAuthRecovery } = await import("./platform-auth-recovery-tw9lgtgE.mjs");
|
|
145
147
|
return runPlatformAuthRecovery(args);
|
|
146
148
|
}
|
|
147
149
|
if (args.action === "protection") {
|
|
148
|
-
const { runPlatformProtectionConfig } = await import("./platform-auth-protection-
|
|
150
|
+
const { runPlatformProtectionConfig } = await import("./platform-auth-protection-zxDr0hWW.mjs");
|
|
149
151
|
return runPlatformProtectionConfig(args);
|
|
150
152
|
}
|
|
151
153
|
const origin = resolveOperatorOrigin(args.connection);
|
|
@@ -157,11 +159,11 @@ async function runPlatformAuthConfig(args) {
|
|
|
157
159
|
return;
|
|
158
160
|
}
|
|
159
161
|
if (!listing.initialized) {
|
|
160
|
-
|
|
162
|
+
printApplied(await apply(client, "/config/auth/initialize", {}, args), args);
|
|
161
163
|
console.log("Run void platform auth login, then return to void platform config auth.");
|
|
162
164
|
return;
|
|
163
165
|
}
|
|
164
|
-
const chosen =
|
|
166
|
+
const chosen = platformPromptAnswer(await select({
|
|
165
167
|
message: "Platform authentication:",
|
|
166
168
|
options: [
|
|
167
169
|
...listing.methods.map((method) => ({
|
|
@@ -183,7 +185,7 @@ async function runPlatformAuthConfig(args) {
|
|
|
183
185
|
]
|
|
184
186
|
}));
|
|
185
187
|
if (chosen === ":protection") {
|
|
186
|
-
const target =
|
|
188
|
+
const target = platformPromptAnswer(await select({
|
|
187
189
|
message: "Platform protection:",
|
|
188
190
|
options: [
|
|
189
191
|
{
|
|
@@ -211,7 +213,7 @@ async function runPlatformAuthConfig(args) {
|
|
|
211
213
|
action: "admission"
|
|
212
214
|
});
|
|
213
215
|
if (chosen === ":add") {
|
|
214
|
-
const kind =
|
|
216
|
+
const kind = platformPromptAnswer(await select({
|
|
215
217
|
message: "Login method:",
|
|
216
218
|
options: [
|
|
217
219
|
{
|
|
@@ -239,7 +241,7 @@ async function runPlatformAuthConfig(args) {
|
|
|
239
241
|
});
|
|
240
242
|
}
|
|
241
243
|
const method = listing.methods.find((method) => method.id === chosen);
|
|
242
|
-
const action =
|
|
244
|
+
const action = platformPromptAnswer(await select({
|
|
243
245
|
message: stripVTControlCharacters(method.label),
|
|
244
246
|
options: [
|
|
245
247
|
{
|
|
@@ -271,7 +273,7 @@ async function runPlatformAuthConfig(args) {
|
|
|
271
273
|
return;
|
|
272
274
|
}
|
|
273
275
|
if (args.action === "initialize") {
|
|
274
|
-
|
|
276
|
+
printApplied(await apply(client, "/config/auth/initialize", {}, args), args);
|
|
275
277
|
return;
|
|
276
278
|
}
|
|
277
279
|
if (!listing.initialized) throw new Error("platform: Run void platform config auth initialize, then sign in again.");
|
|
@@ -280,7 +282,7 @@ async function runPlatformAuthConfig(args) {
|
|
|
280
282
|
if (args.file) admission = JSON.parse(await readFile(args.file, "utf8"));
|
|
281
283
|
else {
|
|
282
284
|
if (!process.stdin.isTTY || args.json) throw new Error("platform: Supply --file with the signup policy in non-interactive mode.");
|
|
283
|
-
const mode =
|
|
285
|
+
const mode = platformPromptAnswer(await select({
|
|
284
286
|
message: "Who can create an account?",
|
|
285
287
|
initialValue: listing.admission?.mode ?? "restricted",
|
|
286
288
|
options: [
|
|
@@ -299,7 +301,7 @@ async function runPlatformAuthConfig(args) {
|
|
|
299
301
|
]
|
|
300
302
|
}));
|
|
301
303
|
if (mode === "company") {
|
|
302
|
-
const access = !!listing.protection &&
|
|
304
|
+
const access = !!listing.protection && platformPromptAnswer(await confirm({
|
|
303
305
|
message: "Allow everyone approved by Cloudflare Access protection?",
|
|
304
306
|
initialValue: true
|
|
305
307
|
}));
|
|
@@ -308,7 +310,7 @@ async function runPlatformAuthConfig(args) {
|
|
|
308
310
|
admission = {
|
|
309
311
|
mode,
|
|
310
312
|
access,
|
|
311
|
-
connections: eligible.length ?
|
|
313
|
+
connections: eligible.length ? platformPromptAnswer(await multiselect({
|
|
312
314
|
message: "Login methods whose company policies qualify new users:",
|
|
313
315
|
required: !access,
|
|
314
316
|
options: eligible.map((method) => ({
|
|
@@ -319,10 +321,10 @@ async function runPlatformAuthConfig(args) {
|
|
|
319
321
|
};
|
|
320
322
|
} else admission = { mode };
|
|
321
323
|
}
|
|
322
|
-
|
|
324
|
+
printApplied(await apply(client, "/config/auth/admission", {
|
|
323
325
|
revision: listing.revision,
|
|
324
326
|
admission: parsePlatformAdmissionPolicy(admission)
|
|
325
|
-
}, args), args
|
|
327
|
+
}, args), args);
|
|
326
328
|
return;
|
|
327
329
|
}
|
|
328
330
|
const method = listing.methods.find((method) => method.id === args.target);
|
|
@@ -332,16 +334,18 @@ async function runPlatformAuthConfig(args) {
|
|
|
332
334
|
return;
|
|
333
335
|
}
|
|
334
336
|
if (args.action === "test") {
|
|
335
|
-
|
|
337
|
+
const tested = await testMethod(client, args.target, args);
|
|
338
|
+
print(tested, args.json);
|
|
339
|
+
if (!args.json && !args.plan && tested.complete === true) printSuccess("Platform login verified.");
|
|
336
340
|
return;
|
|
337
341
|
}
|
|
338
342
|
if (args.action === "add" || args.action === "configure") {
|
|
339
343
|
console.error(`Register this callback URL with the provider: ${listing.callbackUrl ?? `${origin}/auth/callback`}`);
|
|
340
344
|
const input = await configurationInput(args, args.action === "configure" ? method : void 0);
|
|
341
|
-
|
|
345
|
+
printApplied(await apply(client, `/config/auth/connections/${encodeURIComponent(input.configuration.id)}/configure`, {
|
|
342
346
|
...input,
|
|
343
347
|
revision: args.action === "add" ? null : method.revision
|
|
344
|
-
}, args), args
|
|
348
|
+
}, args), args);
|
|
345
349
|
if (!args.plan && !args.json) console.log(`Test and enable it with void platform config auth enable ${input.configuration.id}.`);
|
|
346
350
|
return;
|
|
347
351
|
}
|
|
@@ -352,7 +356,7 @@ async function runPlatformAuthConfig(args) {
|
|
|
352
356
|
print(tested, args.json);
|
|
353
357
|
if (tested.complete !== true || typeof tested.id !== "string") throw new Error("platform: Complete the browser test before enabling or linking this login.");
|
|
354
358
|
testId = tested.id;
|
|
355
|
-
if (args.action === "enable" &&
|
|
359
|
+
if (args.action === "enable" && platformPromptAnswer(await confirm({
|
|
356
360
|
message: "Link this verified identity to your administrator account?",
|
|
357
361
|
initialValue: true
|
|
358
362
|
}))) await apply(client, `/config/auth/connections/${encodeURIComponent(args.target)}/link`, {
|
|
@@ -360,10 +364,10 @@ async function runPlatformAuthConfig(args) {
|
|
|
360
364
|
testId
|
|
361
365
|
}, args);
|
|
362
366
|
}
|
|
363
|
-
|
|
367
|
+
printApplied(await apply(client, `/config/auth/connections/${encodeURIComponent(args.target)}/${args.action}`, {
|
|
364
368
|
revision: method.revision,
|
|
365
369
|
...testId ? { testId } : {}
|
|
366
|
-
}, args), args
|
|
370
|
+
}, args), args);
|
|
367
371
|
}
|
|
368
372
|
//#endregion
|
|
369
373
|
export { runPlatformAuthConfig };
|
package/dist/{platform-auth-protection-DcbL_LW_.mjs → platform-auth-protection-zxDr0hWW.mjs}
RENAMED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { S as writePendingInstallationSecrets, c as normalizePlatformApiUrl, m as readInstallationRecoverySecrets, p as promoteInstallationSecrets, t as acquirePlatformLifecycleLock, v as resolveInstallationManifest, x as writeInstallationManifest } from "./platform-registry-P387v42A.mjs";
|
|
2
2
|
import { t as cfAccessHeaders } from "./cf-access-TWNzXltp.mjs";
|
|
3
|
-
import { n as ensurePlatformAccessToken } from "./cf-access-
|
|
4
|
-
import { A as confirm, tt as isCancel } from "./
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { n as ensurePlatformAccessToken } from "./cf-access-ngGqZpHZ.mjs";
|
|
4
|
+
import { A as confirm, tt as isCancel } from "./dist-D3m88sjf.mjs";
|
|
5
|
+
import { d as printSuccess } from "./output-C50ag2r3.mjs";
|
|
6
|
+
import { n as OperatorClient } from "./operator-client-BQtzyG-g.mjs";
|
|
7
|
+
import { a as resolveOperatorOrigin, r as readOperatorToken } from "./operator-auth-AzVLbrr3.mjs";
|
|
8
|
+
import { G as preparePlatformAccessSetup, K as PlatformCloudflareClient, U as checkpointPlatformAccessResources, V as resolvePlatformCloudflareCredential, W as parsePlatformAccessSetupSpec, n as resolvePlatformInstallDatabaseUrl, s as acquirePlatformDatabaseLifecycleLock } from "./platform-lifecycle-D_QEY32D.mjs";
|
|
9
|
+
import { d as verifyPlatformInstallationOwnership, l as selectAuthoritativePlatformManifest } from "./platform-management-BdYblvvE.mjs";
|
|
9
10
|
import { parsePlatformAccessProtection, platformProtectionProofMessage } from "@void/platform";
|
|
10
11
|
import { createHmac } from "node:crypto";
|
|
11
12
|
import { readFile } from "node:fs/promises";
|
|
@@ -212,7 +213,7 @@ async function runPlatformProtectionConfig(args) {
|
|
|
212
213
|
protection,
|
|
213
214
|
retainedAccessApplications: true
|
|
214
215
|
}, null, 2));
|
|
215
|
-
if (!args.json)
|
|
216
|
+
if (!args.json) printSuccess("Platform protection updated. Sign in again with void platform auth login. Existing Access applications and policies were retained.");
|
|
216
217
|
} finally {
|
|
217
218
|
release();
|
|
218
219
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { m as readInstallationRecoverySecrets, t as acquirePlatformLifecycleLock, v as resolveInstallationManifest } from "./platform-registry-P387v42A.mjs";
|
|
2
|
-
import { u as openBrowser } from "./auth-
|
|
3
|
-
import { A as confirm, tt as isCancel } from "./
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { u as openBrowser } from "./auth-B5_tZLxT.mjs";
|
|
3
|
+
import { A as confirm, tt as isCancel } from "./dist-D3m88sjf.mjs";
|
|
4
|
+
import { d as printSuccess } from "./output-C50ag2r3.mjs";
|
|
5
|
+
import { a as resolveOperatorOrigin } from "./operator-auth-AzVLbrr3.mjs";
|
|
6
|
+
import { K as PlatformCloudflareClient, V as resolvePlatformCloudflareCredential, c as acquirePlatformDatabaseLifecycleLockConnection, l as platformDatabaseClientUrl, n as resolvePlatformInstallDatabaseUrl } from "./platform-lifecycle-D_QEY32D.mjs";
|
|
7
|
+
import { d as verifyPlatformInstallationOwnership, l as selectAuthoritativePlatformManifest } from "./platform-management-BdYblvvE.mjs";
|
|
7
8
|
import { parsePlatformAccessProtection, parsePlatformAdmissionPolicy, parsePlatformLoginConfiguration, platformAuthenticationRecoveryMessage, validatePlatformAdmissionPolicy } from "@void/platform";
|
|
8
9
|
import { createCipheriv, createDecipheriv, createHash, createHmac, hkdfSync, randomBytes, randomUUID } from "node:crypto";
|
|
9
10
|
import { execFile } from "node:child_process";
|
|
@@ -295,7 +296,7 @@ async function runPlatformAuthRecovery(args) {
|
|
|
295
296
|
recovery,
|
|
296
297
|
identity: tested
|
|
297
298
|
});
|
|
298
|
-
|
|
299
|
+
printSuccess("Administrator login recovered. Sign in again with this login method.");
|
|
299
300
|
} finally {
|
|
300
301
|
await releaseDatabase();
|
|
301
302
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { b as selectPlatformConnection, c as normalizePlatformApiUrl, i as getActivePlatformConnection, l as platformConnectionSlug, o as listInstallationManifests, s as listPlatformConnections, y as savePlatformConnection } from "./platform-registry-P387v42A.mjs";
|
|
2
2
|
import { t as cfAccessHeaders } from "./cf-access-TWNzXltp.mjs";
|
|
3
|
-
import { i as isCloudflareAccessChallenge, n as ensurePlatformAccessToken, t as ensureCloudflaredToken } from "./cf-access-
|
|
4
|
-
import { K as select, L as log, X as text, tt as isCancel } from "./
|
|
3
|
+
import { i as isCloudflareAccessChallenge, n as ensurePlatformAccessToken, t as ensureCloudflaredToken } from "./cf-access-ngGqZpHZ.mjs";
|
|
4
|
+
import { K as select, L as log, X as text, tt as isCancel } from "./dist-D3m88sjf.mjs";
|
|
5
|
+
import { d as printSuccess, l as import_picocolors } from "./output-C50ag2r3.mjs";
|
|
5
6
|
import { n as readPlatformDiscoveryResponse, t as PlatformDisabledError } from "./platform-discovery-BC0HCKYt.mjs";
|
|
6
|
-
import { c as import_picocolors } from "./output-BvdaehtE.mjs";
|
|
7
7
|
//#region src/cli/platform-cmd.ts
|
|
8
8
|
function normalizePlatformInputUrl(input) {
|
|
9
9
|
const value = input.trim();
|
|
@@ -95,19 +95,19 @@ async function runPlatformCommand(_root, args) {
|
|
|
95
95
|
}]
|
|
96
96
|
});
|
|
97
97
|
if (isCancel(group)) return;
|
|
98
|
-
const { parsePlatformArgs } = await import("./platform-args-
|
|
98
|
+
const { parsePlatformArgs } = await import("./platform-args-DYgITk0D.mjs");
|
|
99
99
|
return runPlatformCommand(_root, parsePlatformArgs(["config", group]));
|
|
100
100
|
}
|
|
101
|
-
const { runPlatformPlansConfig } = await import("./platform-plans-config-
|
|
101
|
+
const { runPlatformPlansConfig } = await import("./platform-plans-config-CjiFv5J4.mjs");
|
|
102
102
|
await runPlatformPlansConfig(args);
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
105
|
-
const { runPlatformAuthConfig } = await import("./platform-auth-config-
|
|
105
|
+
const { runPlatformAuthConfig } = await import("./platform-auth-config-n603OANg.mjs");
|
|
106
106
|
await runPlatformAuthConfig(args);
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
109
|
if (args.subcommand === "operator") {
|
|
110
|
-
const { runOperatorCommand } = await import("./operator-cmd-
|
|
110
|
+
const { runOperatorCommand } = await import("./operator-cmd-Cwn50lOV.mjs");
|
|
111
111
|
await runOperatorCommand(args);
|
|
112
112
|
return;
|
|
113
113
|
}
|
|
@@ -138,7 +138,7 @@ async function runPlatformCommand(_root, args) {
|
|
|
138
138
|
}
|
|
139
139
|
if (args.subcommand === "use") {
|
|
140
140
|
const connection = await resolveConnection(args.selector);
|
|
141
|
-
|
|
141
|
+
printSuccess(`Using ${import_picocolors.default.bold(connection.displayName)} (${connection.apiUrl}).`);
|
|
142
142
|
return;
|
|
143
143
|
}
|
|
144
144
|
if (args.subcommand === "status") {
|
|
@@ -164,7 +164,7 @@ async function runPlatformCommand(_root, args) {
|
|
|
164
164
|
if (error instanceof PlatformDisabledError) throw new Error(`platform: Traffic at ${apiUrl} is paused for an upgrade or repair. Check again when it finishes.`, { cause: error });
|
|
165
165
|
throw error;
|
|
166
166
|
}
|
|
167
|
-
log.
|
|
167
|
+
log.info(`${discovery.displayName} is reachable.`);
|
|
168
168
|
console.log(`API: ${discovery.apiUrl}`);
|
|
169
169
|
console.log(`Proxy: ${discovery.proxyUrl}`);
|
|
170
170
|
if (discovery.applicationRouting?.workersDev && !discovery.applicationRouting.zoneName) {
|
|
@@ -175,7 +175,7 @@ async function runPlatformCommand(_root, args) {
|
|
|
175
175
|
console.log(`Capabilities: ${Object.entries(discovery.capabilities).filter(([, enabled]) => enabled).map(([name]) => name).join(", ")}`);
|
|
176
176
|
return;
|
|
177
177
|
}
|
|
178
|
-
const { runPlatformLifecycleCommand } = await import("./platform-lifecycle
|
|
178
|
+
const { runPlatformLifecycleCommand } = await import("./platform-lifecycle-vFqtNPPa.mjs");
|
|
179
179
|
await runPlatformLifecycleCommand(args);
|
|
180
180
|
}
|
|
181
181
|
function showSavedInstallationStatus(manifest) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as runPlatformCommand, t as discoverPlatform } from "./platform-cmd-
|
|
1
|
+
import { r as runPlatformCommand, t as discoverPlatform } from "./platform-cmd-B8-bCb7t.mjs";
|
|
2
2
|
export { discoverPlatform, runPlatformCommand };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { m as readInstallationRecoverySecrets, t as acquirePlatformLifecycleLock, x as writeInstallationManifest, y as savePlatformConnection } from "./platform-registry-P387v42A.mjs";
|
|
2
2
|
import { t as cfAccessHeaders } from "./cf-access-TWNzXltp.mjs";
|
|
3
|
-
import { A as confirm,
|
|
4
|
-
import {
|
|
5
|
-
import { B as assertPlatformOperatorCredentialCanApplyPlan, K as PlatformCloudflareClient, M as recordPlatformWorkerTraffic, O as createPlatformHealthProbeToken, P as createPlatformInstallPlan, V as resolvePlatformCloudflareCredential, j as recordResource, n as resolvePlatformInstallDatabaseUrl, s as acquirePlatformDatabaseLifecycleLock, t as assertNoninteractivePlatformMutationAcknowledged } from "./platform-lifecycle-
|
|
6
|
-
import { d as verifyPlatformInstallationOwnership, l as selectAuthoritativePlatformManifest, o as resolveInstalledPlatformManifest } from "./platform-management-
|
|
3
|
+
import { A as confirm, X as text, tt as isCancel } from "./dist-D3m88sjf.mjs";
|
|
4
|
+
import { d as printSuccess, u as note } from "./output-C50ag2r3.mjs";
|
|
5
|
+
import { B as assertPlatformOperatorCredentialCanApplyPlan, K as PlatformCloudflareClient, M as recordPlatformWorkerTraffic, O as createPlatformHealthProbeToken, P as createPlatformInstallPlan, V as resolvePlatformCloudflareCredential, j as recordResource, n as resolvePlatformInstallDatabaseUrl, s as acquirePlatformDatabaseLifecycleLock, t as assertNoninteractivePlatformMutationAcknowledged } from "./platform-lifecycle-D_QEY32D.mjs";
|
|
6
|
+
import { d as verifyPlatformInstallationOwnership, l as selectAuthoritativePlatformManifest, o as resolveInstalledPlatformManifest } from "./platform-management-BdYblvvE.mjs";
|
|
7
7
|
import { PLATFORM_HEALTH_HOSTNAME_LABEL, PLATFORM_REMOTE_INSTALLATION_MANIFEST_KEY, createApplicationRoutes, createPlatformDeploymentManifest, normalizeApplicationDomain } from "@void/platform";
|
|
8
8
|
//#region src/cli/platform-domain.ts
|
|
9
9
|
function platformDomainTarget(manifest, domain, zone, dedicatedZone) {
|
|
@@ -232,7 +232,7 @@ async function runPlatformDomainCommand(args) {
|
|
|
232
232
|
kind: "installed",
|
|
233
233
|
proxyUrl: manifest.endpoints.proxyUrl
|
|
234
234
|
});
|
|
235
|
-
|
|
235
|
+
printSuccess(`Apps now use *.${domain}. Existing workers.dev URLs remain available; the API connection is unchanged.`);
|
|
236
236
|
};
|
|
237
237
|
if (args.plan) {
|
|
238
238
|
await execute(selected);
|