void 0.21.9 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/{account-cmd-DZZGK80W.mjs → account-cmd-C84Ee8cO.mjs} +5 -5
- package/dist/{scan-ClYmX3sa.mjs → application-analysis-BVsVqc11.mjs} +135 -18
- package/dist/application-routing-B7QEjqSR.mjs +27 -0
- package/dist/{auth-CZuiVsFh.mjs → auth-CCjt0hcq.mjs} +1 -1
- package/dist/{auth-DLNN0D3Z.mjs → auth-CSkdO2Bb.mjs} +4 -47
- package/dist/{auth-link-B_CeugBw.mjs → auth-link-CioEg6uY.mjs} +5 -5
- package/dist/{auth-router-BgEFRuvZ.mjs → auth-router-BsR981d4.mjs} +5 -5
- package/dist/{better-auth-shared-rsBGBvWJ.mjs → better-auth-shared-hy6RPh9W.mjs} +13 -2
- package/dist/{build-cmd-Dpt0jd-x.mjs → build-cmd-LzvNJORH.mjs} +19 -7
- package/dist/{cache-7_UeZdTk.mjs → cache-C4MvnrMH.mjs} +4 -4
- package/dist/{cancel-deploy-D23R1RXT.mjs → cancel-deploy-abUxpP2n.mjs} +4 -4
- package/dist/{cf-build-output-CGT03qCD.mjs → cf-build-output-BPqOT964.mjs} +141 -63
- package/dist/cf-build-output-_0HNWysu.mjs +2 -0
- package/dist/cli/cli.mjs +114 -460
- package/dist/cli/cloudflare-operation-process.mjs +1103 -0
- package/dist/cli/env-schema-probe.d.mts +2 -1
- package/dist/cli/env-schema-probe.mjs +3 -3
- package/dist/client-Cu7jWiF1.mjs +2 -0
- package/dist/{client-QTl6ko_D.mjs → client-RV8NVeB8.mjs} +165 -21
- package/dist/{cloudflare-auth-C4_GPZr0.mjs → cloudflare-auth-Qdc7tw8F.mjs} +41 -43
- package/dist/{cloudflare-cmd-bSmZ1d5L.mjs → cloudflare-cmd-BcrVyTmJ.mjs} +9 -10
- package/dist/cloudflare-config-Bktvwtpf.mjs +182 -0
- package/dist/{cloudflare-connect-jAwacxxP.mjs → cloudflare-connect-B8uPZ4nx.mjs} +4 -4
- package/dist/{cloudflare-operations-BipGMJ5O.mjs → cloudflare-operations-AiWashgg.mjs} +1 -1
- package/dist/{cloudflare-operations-sMZXpk_S.mjs → cloudflare-operations-fxHb-byx.mjs} +118 -203
- package/dist/{preset-UHj9ARyP.mjs → cloudflare-process-B-wekeR6.mjs} +93 -6
- package/dist/{config-CF69HgXc.d.mts → config-BMHb8RCj.d.mts} +2 -2
- package/dist/{config-CafTW6Cz.mjs → config-Br_JZD6u.mjs} +2 -7
- package/dist/config-C_XRIPx2.mjs +89 -0
- package/dist/{config-s7Xj7tPb.mjs → config-CyQ-wVd7.mjs} +1 -1
- package/dist/config-entry.d.mts +1 -1
- package/dist/{config-write-BSduPMY8.mjs → config-write-B1f88wJA.mjs} +1 -1
- package/dist/{connect-BsUSRzln.mjs → connect-Bd4kJd9U.mjs} +6 -6
- package/dist/{create-project-BniEV0OW.mjs → create-project-Boczwj5r.mjs} +1 -1
- package/dist/{create-project-DBfFSZKY.mjs → create-project-bMf6ffLZ.mjs} +9 -5
- package/dist/{db-hRrvZaq_.mjs → db-8uG64XLl.mjs} +26 -26
- package/dist/{delete-D6dZ9B6B.mjs → delete-NvbiyeJf.mjs} +4 -4
- package/dist/{deploy-WaAQez1O.mjs → deploy-DzAIwqNU.mjs} +944 -607
- package/dist/{deploy-DDz7c8LK.mjs → deploy-bjXdFCtn.mjs} +1 -1
- package/dist/{dist-BR1quN_w.mjs → dist-AoCzRTJE.mjs} +226 -60
- package/dist/{dist-C5fND3R0.mjs → dist-BuDuKZJv.mjs} +1 -1
- package/dist/{dist-Dn6nn2IU.mjs → dist-CTBk70IR.mjs} +42 -42
- package/dist/{domain-Dmhvb2oU.mjs → domain-y5Tvydvo.mjs} +5 -5
- package/dist/{email-DFi-s2t4.mjs → email-B3umsW75.mjs} +15 -30
- package/dist/{env-Csi-tMbT.mjs → env-BS6qYHDb.mjs} +6 -6
- package/dist/{env-public-D_6u46fX.d.mts → env-public-BX_r8HR6.d.mts} +2 -1
- package/dist/{env-validation-BB4GkLxn.mjs → env-validation-BPn7vk-V.mjs} +18 -71
- package/dist/{env-validation-BXge7uyK.mjs → env-validation-DbTg7-ar.mjs} +1 -1
- package/dist/{fetch-CXDChK7B.mjs → fetch-BIZJh7vR.mjs} +2 -2
- package/dist/{fetch-stream-AOByI7Ki.mjs → fetch-stream-IvCYKyQL.mjs} +24 -4
- package/dist/{gen-Dz3X1Qab.mjs → gen-B580--vC.mjs} +5 -5
- package/dist/gen-BVaUUumi.mjs +2 -0
- package/dist/{github-cmd-BED3_9JD.mjs → github-cmd-v45BdfKX.mjs} +6 -8
- package/dist/{handler-BXJTXd02.d.mts → handler-CZ4nAylQ.d.mts} +2 -1
- package/dist/{headers-BOg_velo.mjs → headers-DWi2IXWx.mjs} +1 -1
- package/dist/help-DofyZuY7.mjs +2 -0
- package/dist/{help-DC7gdz7L.mjs → help-daGKjXGk.mjs} +268 -666
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +305 -1490
- package/dist/info-B97bTX9N.mjs +113 -0
- package/dist/{init-WO0JlPx8.mjs → init-Bvy7zrBo.mjs} +51 -20
- package/dist/limits-Bq5LG8Id.d.mts +27 -0
- package/dist/limits-Cjuk2VPm.mjs +68 -0
- package/dist/{link-CsHOinF7.mjs → link-CDqqCjFl.mjs} +5 -5
- package/dist/{list-CDb-4bZ1.mjs → list-CZj0dzKY.mjs} +5 -5
- package/dist/{live-CKiJilLr.d.mts → live-Chw1eIMv.d.mts} +1 -1
- package/dist/{local-d1-CC8sKFGu.mjs → local-d1-2CMnpuW_.mjs} +2 -2
- package/dist/login-DYt_An22.mjs +2 -0
- package/dist/{login-DvqXsfGs.mjs → login-UZKFM_u7.mjs} +5 -5
- package/dist/{logs-BdfiOezj.mjs → logs-CUZ6t9t3.mjs} +5 -5
- package/dist/migrate-8_2u55MD.mjs +2 -0
- package/dist/{migrate-B8KuoYsO.mjs → migrate-DHul7PRV.mjs} +5 -4
- package/dist/{node-BM43oz4G.mjs → node-BkyRWRx8.mjs} +2 -2
- package/dist/operator-args-CLgKGlwU.mjs +690 -0
- package/dist/{operator-cmd-03819ATr.mjs → operator-cmd-DBA6dl0m.mjs} +69 -23
- package/dist/output-Dm_A4Tbv.mjs +81 -0
- package/dist/pages/client.d.mts +34 -2
- package/dist/pages/client.mjs +59 -3
- package/dist/pages/index.d.mts +1 -1
- package/dist/pages/index.mjs +3 -3
- package/dist/pages/islands-plugin.d.mts +16 -6
- package/dist/pages/islands-plugin.mjs +2 -2
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +2 -308
- package/dist/{parse-filename-DioPHiR9.mjs → parse-filename-CUbj-1MP.mjs} +35 -1
- package/dist/{output-CCH48AMM.mjs → picocolors-BTps1_gs.mjs} +2 -76
- package/dist/plan-D1Q5rf-r.mjs +2 -0
- package/dist/plan-NPpwZ_kc.mjs +58 -0
- package/dist/platform-args-BJdRtlLq.mjs +506 -0
- package/dist/platform-args-D3RXyR6h.mjs +2 -0
- package/dist/{platform-auth-config-z92h63q5.mjs → platform-auth-config-B56E9YP1.mjs} +4 -4
- package/dist/{platform-auth-protection-DeE3yr2R.mjs → platform-auth-protection-BDWO_aER.mjs} +3 -3
- package/dist/{platform-auth-recovery-o_340Ixx.mjs → platform-auth-recovery-1gg4CSRe.mjs} +4 -4
- package/dist/{platform-cmd-C4ZV3Vpy.mjs → platform-cmd-Bt-1w6pY.mjs} +1 -1
- package/dist/{platform-cmd-DNl8WosH.mjs → platform-cmd-DMcQStSc.mjs} +26 -5
- package/dist/{platform-domain-CU1JtJkW.mjs → platform-domain-BNkcz0OB.mjs} +36 -9
- package/dist/{platform-lifecycle-Bc047IeT.mjs → platform-lifecycle-9OyBALhH.mjs} +850 -276
- package/dist/{platform-lifecycle-Bs2qx1E3.mjs → platform-lifecycle-BE6C_jxh.mjs} +1 -1
- package/dist/{platform-management-CVpGI9Y5.mjs → platform-management-CjwLVQwN.mjs} +59 -11
- package/dist/{platform-management-C8tt6D8h.mjs → platform-management-CnyTdcWX.mjs} +1 -1
- package/dist/platform-plans-config-BNGKGr4P.mjs +359 -0
- package/dist/{platform-recovery-dvUaptLr.mjs → platform-recovery-D6KSpuFm.mjs} +2 -2
- package/dist/{plugin-inference-BMfKRSqE.mjs → plugin-inference-CXWnn79A.mjs} +174 -64
- package/dist/{prepare-DyZ-Yok5.mjs → prepare-B5Mkic5u.mjs} +3 -3
- package/dist/{prepare-C3kt3Rst.mjs → prepare-DOsL0CC9.mjs} +4 -20
- package/dist/prepare-cgvDMtSb.mjs +2 -0
- package/dist/{project-cmd-B44I8J_W.mjs → project-cmd-CNzrqvBv.mjs} +30 -16
- package/dist/{project-team-BkbYIsXN.mjs → project-team-DQOWPfQT.mjs} +4 -4
- package/dist/{project-token-C8xEEQnB.mjs → project-token-CTDYU0Cc.mjs} +4 -4
- package/dist/project-zero-trust-BNAkW-_0.mjs +63 -0
- package/dist/{protocol-ZH3jP4a7.d.mts → protocol-CjF_iI9X.d.mts} +2 -2
- package/dist/protocol-U7bfjHmA.mjs +331 -0
- package/dist/{provision-DNtrtaVD.mjs → provision-C4ORE7G7.mjs} +1 -1
- package/dist/{provision-BhreDAOS.mjs → provision-CJFgTZY8.mjs} +111 -215
- package/dist/{requests-DFyhBMaf.mjs → requests-MhxYnau8.mjs} +4 -4
- package/dist/resource-name-C7LVpcRm.mjs +11 -0
- package/dist/{rollback-DHHxXZiS.mjs → rollback-CJ6iSDoU.mjs} +5 -5
- package/dist/route-url-CG7U-cRN.mjs +15 -0
- package/dist/{runner-B8wXwWlo.mjs → runner-CXA9Fh8h.mjs} +1 -1
- package/dist/{runner-p-dMs2UN.mjs → runner-Ol0TNjk6.mjs} +2 -2
- package/dist/runtime/ai.d.mts +12 -8
- package/dist/runtime/ai.mjs +84 -17
- package/dist/runtime/better-auth-mysql.mjs +1 -1
- package/dist/runtime/better-auth-pg.mjs +1 -1
- package/dist/runtime/better-auth.mjs +1 -1
- package/dist/runtime/client-react.mjs +2 -2
- package/dist/runtime/client-solid.mjs +2 -2
- package/dist/runtime/client-svelte.mjs +2 -2
- package/dist/runtime/client-vue.mjs +2 -2
- package/dist/runtime/client.mjs +2 -2
- package/dist/runtime/durable.d.mts +3 -1
- package/dist/runtime/durable.mjs +4 -1
- package/dist/runtime/email/testing.mjs +1 -1
- package/dist/runtime/env-public.d.mts +1 -1
- package/dist/runtime/fetch-stream.mjs +1 -1
- package/dist/runtime/fetch.mjs +1 -1
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/kv.mjs +0 -1
- package/dist/runtime/limits.d.mts +2 -0
- package/dist/runtime/limits.mjs +2 -0
- package/dist/runtime/live-client.d.mts +1 -1
- package/dist/runtime/live-server.mjs +25 -16
- package/dist/runtime/live.d.mts +1 -1
- package/dist/runtime/migration-handler.mjs +62 -42
- package/dist/runtime/route-url.d.mts +4 -0
- package/dist/runtime/route-url.mjs +2 -0
- package/dist/runtime/routing.d.mts +180 -0
- package/dist/runtime/routing.mjs +1082 -0
- package/dist/runtime/sandbox-container.d.mts +3 -0
- package/dist/runtime/sandbox-container.mjs +2 -0
- package/dist/runtime/sandbox.d.mts +4 -32
- package/dist/runtime/sandbox.mjs +151 -75
- package/dist/runtime/sse.mjs +1 -1
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +4 -2
- package/dist/runtime/ws-server.mjs +27 -2
- package/dist/runtime/ws.d.mts +2 -2
- package/dist/runtime/ws.mjs +8 -6
- package/dist/sandbox-XZAqzFlG.d.mts +52 -0
- package/dist/sandbox-container-Bo0eiFKz.d.mts +73 -0
- package/dist/sandbox-container-C6ItmVuN.mjs +281 -0
- package/dist/{scan-4tfN-PSn.mjs → scan-C7okrLyM.mjs} +4 -35
- package/dist/{secret-DN9sSNiV.mjs → secret-Dli5fP0B.mjs} +6 -6
- package/dist/{skills-O6FUaizK.mjs → skills-D1II1Juz.mjs} +1 -1
- package/dist/{sse-BaC1jXko.mjs → sse-CQNaDFFV.mjs} +6 -3
- package/dist/{subcommand-prompt-BuGYkAkC.mjs → subcommand-prompt-CY1C4fvl.mjs} +2 -2
- package/dist/validate-Dq_L3s0S.mjs +2 -0
- package/dist/{validate-CIUwFpjB.mjs → validate-ctOrgiS3.mjs} +2 -1
- package/dist/{wrangler-BymcxrRa.mjs → wrangler-7K-bW_DL.mjs} +14 -235
- package/dist/{ws-BwcqizuH.d.mts → ws-CL1w7GXU.d.mts} +13 -2
- package/package.json +48 -33
- package/sandbox.Dockerfile +4 -0
- package/schema.json +10 -22
- package/skills/migrate-vite-cloudflare-to-void/SKILL.md +34 -157
- package/skills/void/SKILL.md +50 -133
- package/skills/void/docs/guide/ai.md +94 -84
- package/skills/void/docs/guide/app-types.md +3 -32
- package/skills/void/docs/guide/auth.md +12 -116
- package/skills/void/docs/guide/database/d1.md +9 -54
- package/skills/void/docs/guide/database/mysql.md +1 -1
- package/skills/void/docs/guide/database/postgresql.md +5 -26
- package/skills/void/docs/guide/database.md +23 -75
- package/skills/void/docs/guide/deployment.md +27 -113
- package/skills/void/docs/guide/durable-state.md +43 -18
- package/skills/void/docs/guide/edge/headers.md +3 -47
- package/skills/void/docs/guide/edge/prerendering.md +5 -20
- package/skills/void/docs/guide/edge/redirects.md +11 -64
- package/skills/void/docs/guide/edge/revalidation.md +6 -19
- package/skills/void/docs/guide/edge/rewrites.md +56 -284
- package/skills/void/docs/guide/edge/static-assets.md +23 -72
- package/skills/void/docs/guide/email/domains.md +112 -0
- package/skills/void/docs/guide/email/receiving.md +139 -0
- package/skills/void/docs/guide/email/sending.md +231 -0
- package/skills/void/docs/guide/email.md +13 -619
- package/skills/void/docs/guide/env-migration.md +11 -11
- package/skills/void/docs/guide/env-vars.md +9 -29
- package/skills/void/docs/guide/index.md +0 -15
- package/skills/void/docs/guide/jobs.md +3 -18
- package/skills/void/docs/guide/kv.md +5 -11
- package/skills/void/docs/guide/live.md +5 -56
- package/skills/void/docs/guide/pages-routing/actions-and-forms.md +78 -125
- package/skills/void/docs/guide/pages-routing/head.md +10 -10
- package/skills/void/docs/guide/pages-routing/islands.md +6 -36
- package/skills/void/docs/guide/pages-routing/layouts.md +6 -128
- package/skills/void/docs/guide/pages-routing/loaders.md +3 -19
- package/skills/void/docs/guide/pages-routing/markdown.md +13 -171
- package/skills/void/docs/guide/pages-routing/overview.md +7 -17
- package/skills/void/docs/guide/pages-routing/view-transitions.md +1 -1
- package/skills/void/docs/guide/platform/administration/access.md +1 -4
- package/skills/void/docs/guide/platform/administration/email.md +35 -8
- package/skills/void/docs/guide/platform/administration/operations.md +26 -4
- package/skills/void/docs/guide/platform/administration/plans.md +126 -0
- package/skills/void/docs/guide/platform/administration/projects.md +5 -2
- package/skills/void/docs/guide/platform/administration/zero-trust.md +189 -0
- package/skills/void/docs/guide/platform/development/local.md +2 -2
- package/skills/void/docs/guide/platform/development/runtime.md +3 -13
- package/skills/void/docs/guide/platform/development/schema-ci.md +0 -58
- package/skills/void/docs/guide/platform/installation/credentials.md +6 -4
- package/skills/void/docs/guide/platform/installation/domains.md +31 -3
- package/skills/void/docs/guide/platform/installation/first-deployment.md +6 -0
- package/skills/void/docs/guide/platform/installation/maintenance.md +3 -1
- package/skills/void/docs/guide/platform/installation/prerequisites.md +21 -16
- package/skills/void/docs/guide/platform/installation/setup.md +9 -5
- package/skills/void/docs/guide/platform/installation/uninstall.md +17 -2
- package/skills/void/docs/guide/platform-administration.md +2 -0
- package/skills/void/docs/guide/queues.md +7 -9
- package/skills/void/docs/guide/quickstart.md +38 -37
- package/skills/void/docs/guide/remote-dev.md +4 -9
- package/skills/void/docs/guide/sandboxes.md +78 -41
- package/skills/void/docs/guide/server-routing.md +9 -72
- package/skills/void/docs/guide/sse.md +4 -18
- package/skills/void/docs/guide/ssg.md +3 -15
- package/skills/void/docs/guide/ssr.md +14 -62
- package/skills/void/docs/guide/storage.md +9 -4
- package/skills/void/docs/guide/type-safety.md +3 -14
- package/skills/void/docs/guide/typed-fetch.md +3 -7
- package/skills/void/docs/guide/websockets.md +68 -40
- package/skills/void/docs/integrations/agents.md +3 -3
- package/skills/void/docs/integrations/cloudflare.md +85 -316
- package/skills/void/docs/integrations/frameworks/analog.md +5 -64
- package/skills/void/docs/integrations/frameworks/astro.md +4 -73
- package/skills/void/docs/integrations/frameworks/nuxt.md +5 -62
- package/skills/void/docs/integrations/frameworks/overview.md +11 -54
- package/skills/void/docs/integrations/frameworks/react-router.md +5 -60
- package/skills/void/docs/integrations/frameworks/sveltekit.md +6 -65
- package/skills/void/docs/integrations/frameworks/tanstack-start.md +4 -62
- package/skills/void/docs/integrations/nodejs-bun-deno.md +5 -69
- package/skills/void/docs/reference/api/auth.md +156 -0
- package/skills/void/docs/reference/api/client.md +87 -0
- package/skills/void/docs/reference/api/database.md +95 -0
- package/skills/void/docs/reference/api/durable.md +46 -0
- package/skills/void/docs/reference/api/env.md +50 -0
- package/skills/void/docs/reference/api/handlers.md +254 -0
- package/skills/void/docs/reference/api/pages.md +241 -0
- package/skills/void/docs/reference/api/plugin.md +39 -0
- package/skills/void/docs/reference/api/resources.md +109 -0
- package/skills/void/docs/reference/api/rewrites.md +76 -0
- package/skills/void/docs/reference/api/types.md +92 -0
- package/skills/void/docs/reference/api.md +56 -1218
- package/skills/void/docs/reference/cli/auth.md +88 -0
- package/skills/void/docs/reference/cli/database.md +128 -0
- package/skills/void/docs/reference/cli/deploy.md +85 -0
- package/skills/void/docs/reference/cli/domains.md +41 -0
- package/skills/void/docs/reference/cli/email.md +129 -0
- package/skills/void/docs/reference/cli/generate.md +116 -0
- package/skills/void/docs/reference/cli/github.md +189 -0
- package/skills/void/docs/reference/cli/platform-config.md +92 -0
- package/skills/void/docs/reference/cli/platform-email.md +81 -0
- package/skills/void/docs/reference/cli/platform-installation.md +127 -0
- package/skills/void/docs/reference/cli/platform-operations.md +90 -0
- package/skills/void/docs/reference/cli/platform-users.md +89 -0
- package/skills/void/docs/reference/cli/platform-zero-trust.md +45 -0
- package/skills/void/docs/reference/cli/platform.md +70 -0
- package/skills/void/docs/reference/cli/project.md +214 -0
- package/skills/void/docs/reference/cli/secrets.md +76 -0
- package/skills/void/docs/reference/cli/setup.md +70 -0
- package/skills/void/docs/reference/cli.md +33 -1621
- package/skills/void/docs/reference/config.md +26 -32
- package/skills/void/docs/reference/resource-inference.md +3 -58
- package/skills/void/docs/reference/structure.md +14 -41
- package/dist/canonical-json-DuDiiUsQ.mjs +0 -13
- package/dist/cli/cf-compat.mjs +0 -968
- package/dist/client-4cDVv7BO.mjs +0 -2
- package/dist/gen-Vnv2f65C.mjs +0 -2
- package/dist/help-DQMfeKMz.mjs +0 -2
- package/dist/login-DFQk7rbW.mjs +0 -2
- package/dist/migrate-TsHGBnDA.mjs +0 -2
- package/dist/plan-BEZ8VJW0.mjs +0 -256
- package/dist/plan-DpuOr14e.mjs +0 -2
- package/dist/prepare-BZXkjdNe.mjs +0 -2
- package/dist/validate-EKmJWxmy.mjs +0 -2
- /package/dist/cli/{cf-compat.d.mts → cloudflare-operation-process.d.mts} +0 -0
|
@@ -287,7 +287,7 @@ function wrapAnsi(string, columns, options) {
|
|
|
287
287
|
return String(string).normalize().split(CRLF_OR_LF).map((line) => exec(line, columns, options)).join("\n");
|
|
288
288
|
}
|
|
289
289
|
//#endregion
|
|
290
|
-
//#region ../../node_modules/.pnpm/@clack+core@1.5.
|
|
290
|
+
//#region ../../node_modules/.pnpm/@clack+core@1.5.1/node_modules/@clack/core/dist/index.mjs
|
|
291
291
|
var import_src = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
292
292
|
const ESC = "\x1B";
|
|
293
293
|
const CSI = `${ESC}[`;
|
|
@@ -794,7 +794,7 @@ var n = class extends y {
|
|
|
794
794
|
}
|
|
795
795
|
};
|
|
796
796
|
//#endregion
|
|
797
|
-
//#region ../../node_modules/.pnpm/@clack+prompts@1.8.
|
|
797
|
+
//#region ../../node_modules/.pnpm/@clack+prompts@1.8.1/node_modules/@clack/prompts/dist/index.mjs
|
|
798
798
|
function isUnicodeSupported() {
|
|
799
799
|
if (process$1.platform !== "win32") return process$1.env.TERM !== "linux";
|
|
800
800
|
return Boolean(process$1.env.CI) || Boolean(process$1.env.WT_SESSION) || Boolean(process$1.env.TERMINUS_SUBLIME) || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
@@ -891,28 +891,28 @@ const limitOptions = ({ cursor: l, options: e, style: w, output: p = process.std
|
|
|
891
891
|
for (const t of s) for (const n of t) x.push(n);
|
|
892
892
|
return c && x.push(M), x;
|
|
893
893
|
};
|
|
894
|
-
const confirm = (
|
|
895
|
-
const a =
|
|
894
|
+
const confirm = (e) => {
|
|
895
|
+
const a = e.active ?? "Yes", o = e.inactive ?? "No";
|
|
896
896
|
return new r({
|
|
897
897
|
active: a,
|
|
898
|
-
inactive:
|
|
899
|
-
signal:
|
|
900
|
-
input:
|
|
901
|
-
output:
|
|
902
|
-
initialValue:
|
|
898
|
+
inactive: o,
|
|
899
|
+
signal: e.signal,
|
|
900
|
+
input: e.input,
|
|
901
|
+
output: e.output,
|
|
902
|
+
initialValue: e.initialValue ?? true,
|
|
903
903
|
render() {
|
|
904
|
-
const
|
|
904
|
+
const i = e.withGuide ?? settings.withGuide, u = `${symbol(this.state)} `, l = i ? `${styleText("gray", S_BAR)} ` : "", f = wrapTextWithPrefix(e.output, e.message, l, u), s = `${i ? `${styleText("gray", S_BAR)}
|
|
905
905
|
` : ""}${f}
|
|
906
|
-
`, c = this.value ? a :
|
|
906
|
+
`, c = this.value ? a : o;
|
|
907
907
|
switch (this.state) {
|
|
908
|
-
case "submit": return `${
|
|
909
|
-
case "cancel": return `${
|
|
908
|
+
case "submit": return `${s}${i ? `${styleText("gray", S_BAR)} ` : ""}${styleText("dim", c)}`;
|
|
909
|
+
case "cancel": return `${s}${i ? `${styleText("gray", S_BAR)} ` : ""}${styleText(["strikethrough", "dim"], c)}${i ? `
|
|
910
910
|
${styleText("gray", S_BAR)}` : ""}`;
|
|
911
911
|
default: {
|
|
912
|
-
const r =
|
|
913
|
-
return `${
|
|
912
|
+
const r = i ? `${styleText("cyan", S_BAR)} ` : "", g = i ? styleText("cyan", S_BAR_END) : "";
|
|
913
|
+
return `${s}${r}${this.value ? `${styleText("green", S_RADIO_ACTIVE)} ${a}` : `${styleText("dim", S_RADIO_INACTIVE)} ${styleText("dim", a)}`}${e.vertical ? i ? `
|
|
914
914
|
${styleText("cyan", S_BAR)} ` : `
|
|
915
|
-
` : ` ${styleText("dim", "/")} `}${this.value ? `${styleText("dim", S_RADIO_INACTIVE)} ${styleText("dim",
|
|
915
|
+
` : ` ${styleText("dim", "/")} `}${this.value ? `${styleText("dim", S_RADIO_INACTIVE)} ${styleText("dim", o)}` : `${styleText("green", S_RADIO_ACTIVE)} ${o}`}
|
|
916
916
|
${g}
|
|
917
917
|
`;
|
|
918
918
|
}
|
|
@@ -932,7 +932,7 @@ const multiselect = (i) => {
|
|
|
932
932
|
const u = (t, a) => {
|
|
933
933
|
const r = t.label ?? String(t.value);
|
|
934
934
|
return a === "disabled" ? `${styleText("gray", S_CHECKBOX_INACTIVE)} ${m(r, (o) => styleText(["strikethrough", "gray"], o))}${t.hint ? ` ${styleText("dim", `(${t.hint ?? "disabled"})`)}` : ""}` : a === "active" ? `${styleText("cyan", S_CHECKBOX_ACTIVE)} ${r}${t.hint ? ` ${styleText("dim", `(${t.hint})`)}` : ""}` : a === "selected" ? `${styleText("green", S_CHECKBOX_SELECTED)} ${m(r, (o) => styleText("dim", o))}${t.hint ? ` ${styleText("dim", `(${t.hint})`)}` : ""}` : a === "cancelled" ? `${m(r, (o) => styleText(["strikethrough", "dim"], o))}` : a === "active-selected" ? `${styleText("green", S_CHECKBOX_SELECTED)} ${r}${t.hint ? ` ${styleText("dim", `(${t.hint})`)}` : ""}` : a === "submitted" ? `${m(r, (o) => styleText("dim", o))}` : `${styleText("dim", S_CHECKBOX_INACTIVE)} ${m(r, (o) => styleText("dim", o))}`;
|
|
935
|
-
}, d = i.required ?? true,
|
|
935
|
+
}, d = i.required ?? true, x = i.showInstructions ?? true;
|
|
936
936
|
return new a({
|
|
937
937
|
options: i.options,
|
|
938
938
|
signal: i.signal,
|
|
@@ -952,7 +952,7 @@ ${styleText("reset", styleText("dim", `Press ${styleText([
|
|
|
952
952
|
render() {
|
|
953
953
|
const t = i.withGuide ?? settings.withGuide, a = wrapTextWithPrefix(i.output, i.message, t ? `${symbolBar(this.state)} ` : "", `${symbol(this.state)} `), r = `${t ? `${styleText("gray", S_BAR)}
|
|
954
954
|
` : ""}${a}
|
|
955
|
-
`, o = this.value ?? [],
|
|
955
|
+
`, o = this.value ?? [], g = (n, l) => {
|
|
956
956
|
if (n.disabled) return u(n, "disabled");
|
|
957
957
|
const s = o.includes(n.value);
|
|
958
958
|
return l && s ? u(n, "active-selected") : s ? u(n, "selected") : u(n, l ? "active" : "inactive");
|
|
@@ -970,7 +970,7 @@ ${styleText("gray", S_BAR)}` : ""}`;
|
|
|
970
970
|
}
|
|
971
971
|
case "error": {
|
|
972
972
|
const n = t ? `${styleText("yellow", S_BAR)} ` : "", l = this.error.split(`
|
|
973
|
-
`).map(($,
|
|
973
|
+
`).map(($, v) => v === 0 ? `${t ? `${styleText("yellow", S_BAR_END)} ` : ""}${styleText("yellow", $)}` : ` ${$}`).join(`
|
|
974
974
|
`), s = r.split(`
|
|
975
975
|
`).length, h = l.split(`
|
|
976
976
|
`).length + 1;
|
|
@@ -981,7 +981,7 @@ ${styleText("gray", S_BAR)}` : ""}`;
|
|
|
981
981
|
maxItems: i.maxItems,
|
|
982
982
|
columnPadding: n.length,
|
|
983
983
|
rowPadding: s + h,
|
|
984
|
-
style:
|
|
984
|
+
style: g
|
|
985
985
|
}).join(`
|
|
986
986
|
${n}`)}
|
|
987
987
|
${l}
|
|
@@ -989,7 +989,7 @@ ${l}
|
|
|
989
989
|
}
|
|
990
990
|
default: {
|
|
991
991
|
const n = t ? `${styleText("cyan", S_BAR)} ` : "", l = r.split(`
|
|
992
|
-
`).length, s =
|
|
992
|
+
`).length, s = x ? formatInstructionFooter(MULTISELECT_INSTRUCTIONS, t) : t ? [styleText("cyan", S_BAR_END)] : [], h = s.join(`
|
|
993
993
|
`), $ = s.length + 1;
|
|
994
994
|
return `${r}${n}${limitOptions({
|
|
995
995
|
output: i.output,
|
|
@@ -998,7 +998,7 @@ ${l}
|
|
|
998
998
|
maxItems: i.maxItems,
|
|
999
999
|
columnPadding: n.length,
|
|
1000
1000
|
rowPadding: l + $,
|
|
1001
|
-
style:
|
|
1001
|
+
style: g
|
|
1002
1002
|
}).join(`
|
|
1003
1003
|
${n}`)}
|
|
1004
1004
|
${h}
|
|
@@ -1102,29 +1102,29 @@ ${h}
|
|
|
1102
1102
|
${styleText("gray", l$1 + S_BAR_H.repeat(t + 2) + S_CORNER_BOTTOM_RIGHT)}
|
|
1103
1103
|
`);
|
|
1104
1104
|
};
|
|
1105
|
-
const password = (
|
|
1106
|
-
validate:
|
|
1107
|
-
mask:
|
|
1108
|
-
signal:
|
|
1109
|
-
input:
|
|
1110
|
-
output:
|
|
1105
|
+
const password = (e) => new u$1({
|
|
1106
|
+
validate: e.validate,
|
|
1107
|
+
mask: e.mask ?? S_PASSWORD_MASK,
|
|
1108
|
+
signal: e.signal,
|
|
1109
|
+
input: e.input,
|
|
1110
|
+
output: e.output,
|
|
1111
1111
|
render() {
|
|
1112
|
-
const
|
|
1113
|
-
` : ""}${symbol(this.state)} ${
|
|
1114
|
-
`,
|
|
1112
|
+
const r = e.withGuide ?? settings.withGuide, o = `${r ? `${styleText("gray", S_BAR)}
|
|
1113
|
+
` : ""}${symbol(this.state)} ${e.message}
|
|
1114
|
+
`, m = this.userInputWithCursor, i = this.masked;
|
|
1115
1115
|
switch (this.state) {
|
|
1116
1116
|
case "error": {
|
|
1117
|
-
const s =
|
|
1118
|
-
return
|
|
1119
|
-
${s}${
|
|
1117
|
+
const s = r ? `${styleText("yellow", S_BAR)} ` : "", n = r ? `${styleText("yellow", S_BAR_END)} ` : "", d = i ?? "";
|
|
1118
|
+
return e.clearOnError && this.clear(), `${o.trim()}
|
|
1119
|
+
${s}${d}
|
|
1120
1120
|
${n}${styleText("yellow", this.error)}
|
|
1121
1121
|
`;
|
|
1122
1122
|
}
|
|
1123
|
-
case "submit": return `${o}${
|
|
1124
|
-
case "cancel": return `${o}${
|
|
1123
|
+
case "submit": return `${o}${r ? `${styleText("gray", S_BAR)} ` : ""}${i ? styleText("dim", i) : ""}`;
|
|
1124
|
+
case "cancel": return `${o}${r ? `${styleText("gray", S_BAR)} ` : ""}${i ? styleText(["strikethrough", "dim"], i) : ""}${i && r ? `
|
|
1125
1125
|
${styleText("gray", S_BAR)}` : ""}`;
|
|
1126
|
-
default: return `${o}${
|
|
1127
|
-
${
|
|
1126
|
+
default: return `${o}${r ? `${styleText("cyan", S_BAR)} ` : ""}${m}
|
|
1127
|
+
${r ? styleText("cyan", S_BAR_END) : ""}
|
|
1128
1128
|
`;
|
|
1129
1129
|
}
|
|
1130
1130
|
}
|
|
@@ -1245,19 +1245,19 @@ ${styleText("gray", S_BAR)}` : ""}`;
|
|
|
1245
1245
|
}
|
|
1246
1246
|
default: {
|
|
1247
1247
|
const r = n ? `${styleText("cyan", S_BAR)} ` : "", a = u.split(`
|
|
1248
|
-
`).length, p = d ? formatInstructionFooter(SELECT_INSTRUCTIONS, n) : n ? [styleText("cyan", S_BAR_END)] : [],
|
|
1249
|
-
`),
|
|
1248
|
+
`).length, p = d ? formatInstructionFooter(SELECT_INSTRUCTIONS, n) : n ? [styleText("cyan", S_BAR_END)] : [], f = p.join(`
|
|
1249
|
+
`), b = p.length + 1;
|
|
1250
1250
|
return `${u}${r}${limitOptions({
|
|
1251
1251
|
output: t.output,
|
|
1252
1252
|
cursor: this.cursor,
|
|
1253
1253
|
options: this.options,
|
|
1254
1254
|
maxItems: t.maxItems,
|
|
1255
1255
|
columnPadding: r.length,
|
|
1256
|
-
rowPadding: a +
|
|
1256
|
+
rowPadding: a + b,
|
|
1257
1257
|
style: (g, x) => o(g, g.disabled ? "disabled" : x ? "active" : "inactive")
|
|
1258
1258
|
}).join(`
|
|
1259
1259
|
${r}`)}
|
|
1260
|
-
${
|
|
1260
|
+
${f}
|
|
1261
1261
|
`;
|
|
1262
1262
|
}
|
|
1263
1263
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { c as getToken } from "./auth-DLNN0D3Z.mjs";
|
|
1
|
+
import { c as getToken } from "./auth-CSkdO2Bb.mjs";
|
|
3
2
|
import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
|
|
4
|
-
import { N as note, j as log } from "./dist-
|
|
5
|
-
import { n as PlatformClient } from "./client-
|
|
3
|
+
import { N as note, j as log } from "./dist-CTBk70IR.mjs";
|
|
4
|
+
import { n as PlatformClient } from "./client-RV8NVeB8.mjs";
|
|
5
|
+
import { c as import_picocolors } from "./output-Dm_A4Tbv.mjs";
|
|
6
6
|
//#region src/cli/domain.ts
|
|
7
7
|
async function runDomainCommand(root, args) {
|
|
8
8
|
const platform = readDeploymentPlatform(root);
|
|
@@ -40,7 +40,7 @@ async function runDomainCommand(root, args) {
|
|
|
40
40
|
}
|
|
41
41
|
async function runCloudflareDomainCommand(root, args) {
|
|
42
42
|
if (args.projectSlug) throw new Error("domain: --project selects a Void platform project and is not used for direct Cloudflare apps.");
|
|
43
|
-
const { changeCloudflareDomain, listCloudflareDomains } = await import("./cloudflare-operations-
|
|
43
|
+
const { changeCloudflareDomain, listCloudflareDomains } = await import("./cloudflare-operations-AiWashgg.mjs");
|
|
44
44
|
if (args.subcommand === "add") {
|
|
45
45
|
const result = await changeCloudflareDomain(root, args.hostname, "add");
|
|
46
46
|
log.success(result.modified ? `Domain ${args.hostname} added and activated on Cloudflare.` : `Domain ${args.hostname} is already configured.`);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { a as join } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import { c as import_picocolors, i as createSpinner } from "./output-CCH48AMM.mjs";
|
|
3
|
-
import { L as resolveDeployTransport, O as isWranglerNonInteractiveOrCI, X as runWranglerAuthToken, _ as deriveWorkerName, _t as findEmailConfigConflicts, bt as renderEmailChecklist, gt as createNodeEmailDns, h as createDeployWranglerRunner, ht as applyEmailSetup, k as loadProvisionModule, v as discoverRootWranglerConfig, vt as preflightEmail, yt as renderAddressMap } from "./deploy-WaAQez1O.mjs";
|
|
4
2
|
import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import { o as readProjectConfig } from "./project-C0Fqu05O.mjs";
|
|
7
|
-
import { m as readConfig } from "./config-CafTW6Cz.mjs";
|
|
8
|
-
import { k as writeProvisionedWranglerConfig } from "./wrangler-BymcxrRa.mjs";
|
|
9
|
-
import { E as confirm, F as password, N as note, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
3
|
+
import { m as readConfig } from "./config-Br_JZD6u.mjs";
|
|
10
4
|
import { a as scanEmailHandlersSync } from "./email--tEtMoj_.mjs";
|
|
11
|
-
import {
|
|
5
|
+
import { L as resolveDeployTransport, O as isWranglerNonInteractiveOrCI, X as runWranglerAuthToken, _ as deriveWorkerName, _t as createNodeEmailDns, bt as renderAddressMap, gt as applyEmailSetup, h as createDeployWranglerRunner, k as loadProvisionModule, v as discoverRootWranglerConfig, vt as findEmailConfigConflicts, xt as renderEmailChecklist, yt as preflightEmail } from "./deploy-DzAIwqNU.mjs";
|
|
6
|
+
import { c as getToken, d as openBrowser } from "./auth-CSkdO2Bb.mjs";
|
|
7
|
+
import { o as readProjectConfig } from "./project-C0Fqu05O.mjs";
|
|
8
|
+
import { A as writeProvisionedWranglerConfig } from "./wrangler-7K-bW_DL.mjs";
|
|
9
|
+
import { E as confirm, F as password, N as note, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
|
|
10
|
+
import { n as PlatformClient, t as PlatformApiError } from "./client-RV8NVeB8.mjs";
|
|
11
|
+
import { c as import_picocolors, i as createSpinner } from "./output-Dm_A4Tbv.mjs";
|
|
12
12
|
import { existsSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
13
13
|
import { tmpdir } from "node:os";
|
|
14
14
|
import { execSync } from "node:child_process";
|
|
@@ -324,6 +324,7 @@ async function emailDomainAdd(client, projectId, rawDomain, subdomain, deps = {}
|
|
|
324
324
|
};
|
|
325
325
|
const domain = normalizeEmailDomainInput(rawDomain);
|
|
326
326
|
if (!isValidEmailDomainInput(domain)) return fail(`email: invalid domain '${rawDomain}'.`);
|
|
327
|
+
if (subdomain !== void 0) return fail("email: Platform-managed custom email requires a Cloudflare zone apex because inbound email uses its catch-all. Omit --subdomain, choose an unused zone apex, or use the platform shared mail address.");
|
|
327
328
|
let target;
|
|
328
329
|
try {
|
|
329
330
|
target = resolveEmailDomainTarget(domain, subdomain);
|
|
@@ -332,28 +333,16 @@ async function emailDomainAdd(client, projectId, rawDomain, subdomain, deps = {}
|
|
|
332
333
|
}
|
|
333
334
|
const dns = deps.dns ?? await createNodeEmailDns();
|
|
334
335
|
const decideTarget = async () => {
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
const mx = await lookupMxForRender(dns, domain);
|
|
340
|
-
if (mx === null) log.info(`MX could not read ${domain}'s MX from here — the platform decides over public DNS.`);
|
|
341
|
-
else if (mx.length > 0) {
|
|
342
|
-
target = {
|
|
343
|
-
emailDomain: `mail.${domain}`,
|
|
344
|
-
forced: false
|
|
345
|
-
};
|
|
346
|
-
log.info(`MX ${domain} carries MX for ${mx[0]} → apex is off limits\n using ${target.emailDomain} [change with --subdomain]`);
|
|
347
|
-
const subMx = await lookupMxForRender(dns, target.emailDomain);
|
|
348
|
-
if (subMx !== null && subMx.length > 0) log.warn(`MX ${target.emailDomain} also carries MX (${subMx.join(", ")}) — the platform may refuse it; pick another with --subdomain.`);
|
|
349
|
-
} else log.info(`MX ${domain} has no MX records → using the apex`);
|
|
350
|
-
}
|
|
336
|
+
const mx = await lookupMxForRender(dns, domain);
|
|
337
|
+
if (mx === null) log.info(`MX could not read ${domain}'s MX from here — the platform decides over public DNS.`);
|
|
338
|
+
else if (mx.some((exchange) => !/\.mx\.cloudflare\.net$/i.test(exchange))) fail(`email: ${domain} already receives mail from another provider. Platform custom inbound email requires an unused Cloudflare zone apex; choose another apex or use the platform shared mail address.`);
|
|
339
|
+
else log.info(`MX using the requested apex ${domain}`);
|
|
351
340
|
};
|
|
352
341
|
let renewal;
|
|
353
342
|
const settings = await client.getEmailSettings(projectId);
|
|
354
343
|
if (settings.domains.management === "admin") {
|
|
355
344
|
const rows = await client.listEmailDomains(projectId);
|
|
356
|
-
const existing = [target.emailDomain
|
|
345
|
+
const existing = [target.emailDomain].map((candidate) => rows.find((row) => row.domain === candidate && row.managed_by !== "admin")).find((row) => row !== void 0);
|
|
357
346
|
if (!existing) {
|
|
358
347
|
await decideTarget();
|
|
359
348
|
const project = settings.domains.projectSlug ?? projectId;
|
|
@@ -724,11 +713,7 @@ async function runEmailCloudflareCommandInConfig(root, args, project, configPath
|
|
|
724
713
|
existingAddresses: rootConfig.addresses,
|
|
725
714
|
existingVars: rootConfig.vars && typeof rootConfig.vars === "object" && !Array.isArray(rootConfig.vars) ? rootConfig.vars : null,
|
|
726
715
|
configConflicts: findEmailConfigConflicts(rootConfig),
|
|
727
|
-
|
|
728
|
-
"-c",
|
|
729
|
-
wranglerConfigPath,
|
|
730
|
-
"--env="
|
|
731
|
-
],
|
|
716
|
+
configPath: wranglerConfigPath,
|
|
732
717
|
apiBaseUrl,
|
|
733
718
|
runWrangler,
|
|
734
719
|
getSessionBearer,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { a as join } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { c as getToken } from "./auth-DLNN0D3Z.mjs";
|
|
2
|
+
import { c as getToken } from "./auth-CSkdO2Bb.mjs";
|
|
4
3
|
import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
|
|
5
4
|
import { r as generateEnvTypes, t as findEnvFile } from "./env-types-C2_bIk_b.mjs";
|
|
6
|
-
import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-
|
|
7
|
-
import { N as note, O as intro, P as outro, j as log } from "./dist-
|
|
8
|
-
import { n as PlatformClient } from "./client-
|
|
5
|
+
import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-BPn7vk-V.mjs";
|
|
6
|
+
import { N as note, O as intro, P as outro, j as log } from "./dist-CTBk70IR.mjs";
|
|
7
|
+
import { n as PlatformClient } from "./client-RV8NVeB8.mjs";
|
|
8
|
+
import { r as cliTitle } from "./output-Dm_A4Tbv.mjs";
|
|
9
9
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
10
10
|
//#region src/cli/env.ts
|
|
11
11
|
async function runEnvCommand(root, args) {
|
|
@@ -26,7 +26,7 @@ async function runCheck(root, useRemoteSecrets) {
|
|
|
26
26
|
const platform = readDeploymentPlatform(root);
|
|
27
27
|
if (platform === "none") throw new Error("env: Deployment is disabled. Run `void init` to choose a platform.");
|
|
28
28
|
if (platform === "cloudflare") {
|
|
29
|
-
const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-
|
|
29
|
+
const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-AiWashgg.mjs");
|
|
30
30
|
remoteSecrets = await listCloudflareSecrets(resolveCloudflareOperationContext(root));
|
|
31
31
|
} else {
|
|
32
32
|
const token = getToken(root);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { l as VoidPlatformSandbox } from "./sandbox-XZAqzFlG.mjs";
|
|
1
2
|
import { t as StandardSchemaV1 } from "./standard-schema-Fo_vCAZh.mjs";
|
|
2
3
|
//#region src/runtime/env-public.d.ts
|
|
3
4
|
type AnyValidator = StandardSchemaV1<unknown, unknown>;
|
|
@@ -112,7 +113,7 @@ declare global {
|
|
|
112
113
|
KV: KVNamespace;
|
|
113
114
|
STORAGE: R2Bucket;
|
|
114
115
|
AI: Ai;
|
|
115
|
-
SANDBOX: DurableObjectNamespace<
|
|
116
|
+
SANDBOX: DurableObjectNamespace<VoidPlatformSandbox>;
|
|
116
117
|
/** @internal Service binding to proxy worker (AI, revalidation, future features) */
|
|
117
118
|
__VOID_PROXY?: Fetcher;
|
|
118
119
|
/** @internal Custom proxy URL override */
|
|
@@ -2,7 +2,7 @@ import { a as join, n as dirname, u as resolve } from "./dist-BVqXeR_h.mjs";
|
|
|
2
2
|
import { i as voidWarn } from "./log-ChfPKsVd.mjs";
|
|
3
3
|
import { t as findEnvFile } from "./env-types-C2_bIk_b.mjs";
|
|
4
4
|
import { a as loadLocalEnv, i as isClientEnvKey, r as findLegacyEnvFiles } from "./env-_v349JBd.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { c as resolveCloudflareOperationArgv, n as decodeCloudflareOperationResult, r as encodeCloudflareOperation } from "./cloudflare-process-B-wekeR6.mjs";
|
|
6
6
|
import { existsSync, readFileSync } from "node:fs";
|
|
7
7
|
import { pathToFileURL } from "node:url";
|
|
8
8
|
import { spawn } from "node:child_process";
|
|
@@ -733,59 +733,12 @@ function firstDeployMessage(missingKeys) {
|
|
|
733
733
|
...names.map((key) => ` void secret put ${key}`)
|
|
734
734
|
].join("\n");
|
|
735
735
|
}
|
|
736
|
-
/**
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
* objects (each with a string `name`, per `fetchSecrets` →
|
|
743
|
-
* `GET /accounts/{id}/workers/scripts/{name}/secrets`). Pinned explicitly
|
|
744
|
-
* so a future default change can't silently switch us to `pretty`.
|
|
745
|
-
* - the worker name resolves from the config's `name` (`getLegacyScriptName`:
|
|
746
|
-
* `args.name ?? config.name` — we pass no `--name`, the pinned config is
|
|
747
|
-
* the single source of truth).
|
|
748
|
-
* - `-c <configPath>` (global `--config` alias) pins the ONE resolved config;
|
|
749
|
-
* `--env=` (explicit EMPTY environment) forces the top-level config env so
|
|
750
|
-
* a project dotenv exporting `CLOUDFLARE_ENV` can never reselect a named
|
|
751
|
-
* `env.*` block — same rationale as the provisioner's wranglerConfigArgs.
|
|
752
|
-
*/
|
|
753
|
-
function secretListArgs(configPath) {
|
|
754
|
-
return [
|
|
755
|
-
"secret",
|
|
756
|
-
"list",
|
|
757
|
-
"--format=json",
|
|
758
|
-
"-c",
|
|
759
|
-
configPath,
|
|
760
|
-
"--env="
|
|
761
|
-
];
|
|
762
|
-
}
|
|
763
|
-
/**
|
|
764
|
-
* wrangler 4.131's `secret list` worker-not-found signal. When the worker has
|
|
765
|
-
* never been deployed, `fetchSecrets` throws the API worker-not-found error and
|
|
766
|
-
* `secretListCommand.handler` — ONLY when `isWorkerNotFoundError(e)` is true
|
|
767
|
-
* (`e.code === 10007` WORKER_NOT_FOUND or `10090`
|
|
768
|
-
* WORKER_LEGACY_ENVIRONMENT_NOT_FOUND, per wrangler-dist/cli.js) — rethrows a
|
|
769
|
-
* `UserError` with this exact fixed diagnostic block:
|
|
770
|
-
*
|
|
771
|
-
* Worker "<name>"[ (env: <env>)] not found.
|
|
772
|
-
*
|
|
773
|
-
* If this is a new Worker, run `wrangler deploy` first to create it.
|
|
774
|
-
* Otherwise, check that the Worker name is correct and you're logged into the right account.
|
|
775
|
-
*
|
|
776
|
-
* The API code itself is caught and never printed, so the child's stderr
|
|
777
|
-
* carries this MESSAGE, not `10007`/`10090`. Matching only the bare lead-in
|
|
778
|
-
* `If this is a new Worker` misclassifies any unrelated status-1
|
|
779
|
-
* diagnostic that merely contains that fragment. So we require the COMPLETE
|
|
780
|
-
* structured block — the `… not found.` lead AND both fixed sentences of the
|
|
781
|
-
* guidance — after normalizing whitespace (wrangler may wrap/indent the
|
|
782
|
-
* multi-line UserError when it prints). The block carries no secret content, so
|
|
783
|
-
* it survives `WRANGLER_LOG_SANITIZE=true`; the combined output is inspected
|
|
784
|
-
* INTERNALLY only and never copied into any thrown error.
|
|
785
|
-
*/
|
|
786
|
-
function isWorkerNotFoundOutput(output) {
|
|
787
|
-
const normalized = output.replace(/\s+/g, " ");
|
|
788
|
-
return /Worker ".*?"(?: \(env: [^)]*\))? not found\./.test(normalized) && (normalized.includes("[code: 10007]") || normalized.includes("[code: 10090]") || normalized.includes("If this is a new Worker, run `wrangler deploy` first to create it.") && normalized.includes("Otherwise, check that the Worker name is correct and you're logged into the right account."));
|
|
736
|
+
/** Select the generated top-level Worker config for structured secret discovery. */
|
|
737
|
+
function secretListOperation(configPath) {
|
|
738
|
+
return {
|
|
739
|
+
type: "secret.list",
|
|
740
|
+
configPath
|
|
741
|
+
};
|
|
789
742
|
}
|
|
790
743
|
/**
|
|
791
744
|
* Build the THROWN message for a wrangler-run failure from the structural
|
|
@@ -793,7 +746,7 @@ function isWorkerNotFoundOutput(output) {
|
|
|
793
746
|
* `result.stdout`, a spawn-error string, or a rejection message — those are
|
|
794
747
|
* unconstrained (the child inherits `process.env`) and could embed an env
|
|
795
748
|
* value. Where wrangler's own diagnostics would help, the message tells the
|
|
796
|
-
* user to
|
|
749
|
+
* user to retry through Void rather than echoing its output here.
|
|
797
750
|
*/
|
|
798
751
|
function secretListFailureMessage(reason, detail) {
|
|
799
752
|
const base = "env: `wrangler secret list` could not confirm the remote secrets";
|
|
@@ -815,14 +768,13 @@ function secretListError(reason, detail = {}) {
|
|
|
815
768
|
* is never interpreted as "no secrets exist" — that would let a deploy proceed
|
|
816
769
|
* with required secrets actually missing on the worker.
|
|
817
770
|
*
|
|
818
|
-
* A
|
|
771
|
+
* A completed failure with a typed missing-Worker code is a
|
|
819
772
|
* DISTINCT, structured {@link SelfHostFirstDeployError} carrying the still
|
|
820
|
-
* unsatisfied required `missingKeys` + `
|
|
773
|
+
* unsatisfied required `missingKeys` + `void secret put` bootstrap guidance,
|
|
821
774
|
* instead of the generic "list exited nonzero" dead end.
|
|
822
775
|
*
|
|
823
776
|
* Raw child output (stderr/stdout, spawn-error text, rejection messages)
|
|
824
|
-
*
|
|
825
|
-
* output is matched to a boolean that never leaves this function. Every THROWN
|
|
777
|
+
* does not participate in missing-Worker classification. Every THROWN
|
|
826
778
|
* error carries only a structural {@link SecretListFailureReason} code and safe
|
|
827
779
|
* scalars (exit code / signal name), so no env value the child may have echoed
|
|
828
780
|
* can reach the error's message, fields, or JSON — even under `VOID_ENV_UNMASK`.
|
|
@@ -830,7 +782,7 @@ function secretListError(reason, detail = {}) {
|
|
|
830
782
|
async function fetchSelfHostSecretNames(run, configPath, missingKeys) {
|
|
831
783
|
let result;
|
|
832
784
|
try {
|
|
833
|
-
result = await Promise.resolve(run(
|
|
785
|
+
result = await Promise.resolve(run(secretListOperation(configPath)));
|
|
834
786
|
} catch {
|
|
835
787
|
throw secretListError("spawn-error");
|
|
836
788
|
}
|
|
@@ -838,15 +790,10 @@ async function fetchSelfHostSecretNames(run, configPath, missingKeys) {
|
|
|
838
790
|
if (result.signal != null) throw secretListError("signal", { signal: String(result.signal) });
|
|
839
791
|
if (typeof result.status !== "number" || result.status !== 0) {
|
|
840
792
|
const exitCode = typeof result.status === "number" ? result.status : void 0;
|
|
841
|
-
if (
|
|
793
|
+
if (Number.isSafeInteger(result.status) && result.status > 0 && ([10007, 10090].includes(result.errorCode ?? 0) || result.failure === "not-found")) throw new SelfHostFirstDeployError(firstDeployMessage(missingKeys), missingKeys, exitCode);
|
|
842
794
|
throw secretListError("nonzero-exit", { exitCode });
|
|
843
795
|
}
|
|
844
|
-
|
|
845
|
-
try {
|
|
846
|
-
parsed = JSON.parse(result.stdout);
|
|
847
|
-
} catch {
|
|
848
|
-
throw secretListError("malformed-output");
|
|
849
|
-
}
|
|
796
|
+
const parsed = result.data;
|
|
850
797
|
if (!Array.isArray(parsed)) throw secretListError("malformed-output");
|
|
851
798
|
const names = [];
|
|
852
799
|
for (const member of parsed) {
|
|
@@ -881,7 +828,7 @@ const SECRET_LIST_TIMEOUT_MS = 12e4;
|
|
|
881
828
|
/**
|
|
882
829
|
* Default {@link RunSecretList}: resolves wrangler's REAL CLI entry
|
|
883
830
|
* (`wrangler-dist/cli.js`, not the signal-swallowing `bin` wrapper) via
|
|
884
|
-
* {@link
|
|
831
|
+
* {@link resolveCloudflareOperationArgv} and spawns it ASYNC with `shell: false`, so every
|
|
885
832
|
* argv element is passed literally (no shell → no metacharacter injection) and
|
|
886
833
|
* the event loop stays free. A hard timeout SIGKILLs a hung child; the result
|
|
887
834
|
* carries `{status, signal, error}` provenance so the caller fails closed on
|
|
@@ -894,11 +841,11 @@ const SECRET_LIST_TIMEOUT_MS = 12e4;
|
|
|
894
841
|
* fires), a bounded fallback settles the call as a HARD failure anyway.
|
|
895
842
|
*/
|
|
896
843
|
function createDefaultSecretListRunner(root, options) {
|
|
897
|
-
const launcher = options?.launcher ??
|
|
844
|
+
const launcher = options?.launcher ?? resolveCloudflareOperationArgv(root);
|
|
898
845
|
const timeoutMs = options?.timeoutMs ?? SECRET_LIST_TIMEOUT_MS;
|
|
899
846
|
const [command, ...prefix] = launcher;
|
|
900
847
|
return (args) => new Promise((resolvePromise) => {
|
|
901
|
-
const child = spawn(command, [...prefix, ...args], {
|
|
848
|
+
const child = spawn(command, [...prefix, ...encodeCloudflareOperation(args)], {
|
|
902
849
|
cwd: root,
|
|
903
850
|
shell: false,
|
|
904
851
|
env: secretListEnv(options?.accountId),
|
|
@@ -927,7 +874,7 @@ function createDefaultSecretListRunner(root, options) {
|
|
|
927
874
|
settled = true;
|
|
928
875
|
clearTimeout(commandTimer);
|
|
929
876
|
clearTimeout(killFallbackTimer);
|
|
930
|
-
resolvePromise(result);
|
|
877
|
+
resolvePromise(decodeCloudflareOperationResult(result));
|
|
931
878
|
};
|
|
932
879
|
const timeoutNote = `env: wrangler secret list exceeded the ${timeoutMs}ms timeout`;
|
|
933
880
|
const commandTimer = setTimeout(() => {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars, r as SelfHostSchemaError } from "./env-validation-
|
|
1
|
+
import { a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars, r as SelfHostSchemaError } from "./env-validation-BPn7vk-V.mjs";
|
|
2
2
|
export { SelfHostSchemaError, computeInvalidEmittedKeys, deriveSelfHostSchemaFacts, readEmittedWorkerVars };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as ofetch } from "./fetch-error-Dj3crt0e.mjs";
|
|
2
|
+
import { t as interpolateRouteParams } from "./route-url-CG7U-cRN.mjs";
|
|
2
3
|
//#region src/runtime/fetch.ts
|
|
3
4
|
async function fetch(path, options) {
|
|
4
|
-
|
|
5
|
-
if (options?.params) for (const [key, value] of Object.entries(options.params)) url = url.replace(`:${key}`, encodeURIComponent(value));
|
|
5
|
+
const url = interpolateRouteParams(path, options?.params);
|
|
6
6
|
return ofetch(url, {
|
|
7
7
|
method: options?.method ?? "GET",
|
|
8
8
|
body: options?.body,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { n as ofetch } from "./fetch-error-Dj3crt0e.mjs";
|
|
1
|
+
import { n as ofetch, t as FetchError } from "./fetch-error-Dj3crt0e.mjs";
|
|
2
|
+
import { t as interpolateRouteParams } from "./route-url-CG7U-cRN.mjs";
|
|
2
3
|
//#region src/runtime/fetch-stream.ts
|
|
3
4
|
/**
|
|
4
5
|
* Consume an SSE endpoint as an async generator of text chunks.
|
|
@@ -20,8 +21,7 @@ import { n as ofetch } from "./fetch-error-Dj3crt0e.mjs";
|
|
|
20
21
|
* @yields {string} Text chunks from SSE data frames.
|
|
21
22
|
*/
|
|
22
23
|
async function* fetchStream(path, options) {
|
|
23
|
-
|
|
24
|
-
if (options?.params) for (const [key, value] of Object.entries(options.params)) url = url.replace(`:${key}`, encodeURIComponent(value));
|
|
24
|
+
const url = interpolateRouteParams(path, options?.params);
|
|
25
25
|
const body = (await ofetch.raw(url, {
|
|
26
26
|
method: options?.method ?? "POST",
|
|
27
27
|
body: options?.body,
|
|
@@ -35,6 +35,16 @@ async function* fetchStream(path, options) {
|
|
|
35
35
|
const reader = body.getReader();
|
|
36
36
|
const decoder = new TextDecoder();
|
|
37
37
|
let buffer = "";
|
|
38
|
+
let event = "";
|
|
39
|
+
const terminal = (data) => {
|
|
40
|
+
if (event !== "void:error" && event !== "void:limit") return;
|
|
41
|
+
let message = "Generation was interrupted.";
|
|
42
|
+
try {
|
|
43
|
+
const body = JSON.parse(data);
|
|
44
|
+
if (typeof body.message === "string") message = body.message;
|
|
45
|
+
} catch {}
|
|
46
|
+
throw new FetchError(message);
|
|
47
|
+
};
|
|
38
48
|
try {
|
|
39
49
|
while (true) {
|
|
40
50
|
const { done, value } = await reader.read();
|
|
@@ -44,9 +54,18 @@ async function* fetchStream(path, options) {
|
|
|
44
54
|
buffer = lines.pop();
|
|
45
55
|
for (const line of lines) {
|
|
46
56
|
const trimmed = line.trim();
|
|
47
|
-
if (
|
|
57
|
+
if (trimmed.startsWith("event:")) {
|
|
58
|
+
event = trimmed.slice(6).trim();
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (!trimmed) {
|
|
62
|
+
event = "";
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (trimmed.startsWith(":")) continue;
|
|
48
66
|
if (trimmed.startsWith("data: ")) {
|
|
49
67
|
const data = trimmed.slice(6);
|
|
68
|
+
terminal(data);
|
|
50
69
|
if (data === "[DONE]") return;
|
|
51
70
|
try {
|
|
52
71
|
const parsed = JSON.parse(data);
|
|
@@ -64,6 +83,7 @@ async function* fetchStream(path, options) {
|
|
|
64
83
|
const trimmed = buffer.trim();
|
|
65
84
|
if (trimmed.startsWith("data: ")) {
|
|
66
85
|
const data = trimmed.slice(6);
|
|
86
|
+
terminal(data);
|
|
67
87
|
if (data !== "[DONE]") try {
|
|
68
88
|
const parsed = JSON.parse(data);
|
|
69
89
|
if (typeof parsed.response === "string") yield parsed.response;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { a as join, l as relative, n as dirname } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
3
2
|
import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
|
|
4
|
-
import { m as readConfig, u as getDatabaseDialect } from "./config-
|
|
5
|
-
import { n as ensureProjectTsconfig } from "./project-tsconfig-B8GeM0RM.mjs";
|
|
3
|
+
import { m as readConfig, u as getDatabaseDialect } from "./config-Br_JZD6u.mjs";
|
|
6
4
|
import { n as readJournal, t as collectMigrations } from "./collect-DiTn9yr6.mjs";
|
|
7
|
-
import {
|
|
5
|
+
import { n as ensureProjectTsconfig } from "./project-tsconfig-B8GeM0RM.mjs";
|
|
6
|
+
import { I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
|
|
8
7
|
import { t as writeDrizzleConfig } from "./config-D8MOgiQV.mjs";
|
|
9
|
-
import { r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-
|
|
8
|
+
import { r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-ctOrgiS3.mjs";
|
|
9
|
+
import { r as cliTitle } from "./output-Dm_A4Tbv.mjs";
|
|
10
10
|
import { t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-BV4AzNul.mjs";
|
|
11
11
|
import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
12
12
|
import { fileURLToPath } from "node:url";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { c as getToken, d as openBrowser, n as createCodeChallenge, r as createCodeVerifier, t as awaitBrowserCallback } from "./auth-DLNN0D3Z.mjs";
|
|
1
|
+
import { c as getToken, d as openBrowser, n as createCodeChallenge, r as createCodeVerifier, t as awaitBrowserCallback } from "./auth-CSkdO2Bb.mjs";
|
|
3
2
|
import { o as readProjectConfig } from "./project-C0Fqu05O.mjs";
|
|
4
|
-
import { B as text, E as confirm, I as select, T as cancel, W as isCancel, j as log } from "./dist-
|
|
5
|
-
import { n as PlatformClient, o as parsePlatformErrorBody, s as platformErrorMessage, t as PlatformApiError } from "./client-
|
|
3
|
+
import { B as text, E as confirm, I as select, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
|
|
4
|
+
import { n as PlatformClient, o as parsePlatformErrorBody, s as platformErrorMessage, t as PlatformApiError } from "./client-RV8NVeB8.mjs";
|
|
5
|
+
import { c as import_picocolors } from "./output-Dm_A4Tbv.mjs";
|
|
6
6
|
import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-BG5ORGID.mjs";
|
|
7
7
|
import { t as collectGitDeployMetadata } from "./git-metadata-D-gurjzG.mjs";
|
|
8
8
|
import { randomBytes } from "node:crypto";
|
|
@@ -90,14 +90,12 @@ function formatInstallations(installations) {
|
|
|
90
90
|
function formatConnection(connection) {
|
|
91
91
|
const row = (label, value) => ` ${label.padEnd(16)}${value}`;
|
|
92
92
|
const workflow = connection.build_executor === "github_actions" ? connection.workflow_path : `${connection.workflow_path} (unused for container builds)`;
|
|
93
|
-
|
|
93
|
+
return [
|
|
94
94
|
row("Repository", connection.repo_full_name),
|
|
95
95
|
row("Branch", connection.branch),
|
|
96
96
|
row("Build executor", connection.build_executor),
|
|
97
97
|
row("Deploy workflow", workflow)
|
|
98
|
-
];
|
|
99
|
-
if (connection.requires_reconnect) rows.push(row("Authorization", "Reconnect required: run `void github connect` for this repository"));
|
|
100
|
-
return rows.join("\n");
|
|
98
|
+
].join("\n");
|
|
101
99
|
}
|
|
102
100
|
async function runGithubCommand(root, args) {
|
|
103
101
|
const token = getToken(root);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { l as VoidPlatformSandbox } from "./sandbox-XZAqzFlG.mjs";
|
|
1
2
|
import { t as StandardSchemaV1 } from "./standard-schema-Fo_vCAZh.mjs";
|
|
2
3
|
import { n as HeadDescriptor } from "./head-Do8P4puT.mjs";
|
|
3
4
|
import { r as AuthUser, t as AuthSession } from "./auth-DkcFflXV.mjs";
|
|
@@ -98,7 +99,7 @@ interface CloudBindings extends VoidGeneratedEnvBindings {
|
|
|
98
99
|
KV: KVNamespace;
|
|
99
100
|
STORAGE: R2Bucket;
|
|
100
101
|
AI: Ai;
|
|
101
|
-
SANDBOX: DurableObjectNamespace<
|
|
102
|
+
SANDBOX: DurableObjectNamespace<VoidPlatformSandbox>;
|
|
102
103
|
[key: string]: unknown;
|
|
103
104
|
}
|
|
104
105
|
type CloudEnv = Env & {
|