void 0.21.8 → 0.22.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/dist/{account-cmd-CQ2wi4Th.mjs → account-cmd-CjyxcGkM.mjs} +4 -4
- package/dist/{auth-link-B_lceSHK.mjs → auth-link-BLO4ptzo.mjs} +4 -4
- package/dist/{auth-router-cZq0HuWe.mjs → auth-router-ZUg9MF_U.mjs} +5 -5
- package/dist/{build-cmd-Dpt0jd-x.mjs → build-cmd-BxR5FROK.mjs} +3 -3
- package/dist/{cache-7_UeZdTk.mjs → cache-D0sWhgKI.mjs} +3 -3
- package/dist/{cancel-deploy-D23R1RXT.mjs → cancel-deploy-D4NUqFbi.mjs} +3 -3
- package/dist/{cf-build-output-CGT03qCD.mjs → cf-build-output-BJ6yGEIS.mjs} +139 -62
- package/dist/cli/cf-compat.mjs +164 -42
- package/dist/cli/cli.mjs +73 -44
- package/dist/cli/env-schema-probe.d.mts +1 -1
- package/dist/{client-QTl6ko_D.mjs → client-BTZ3XkrB.mjs} +25 -0
- package/dist/client-Czz8o5jP.mjs +2 -0
- package/dist/{cloudflare-auth-C4_GPZr0.mjs → cloudflare-auth-DQkqoMYa.mjs} +1 -6
- package/dist/{cloudflare-cmd-bSmZ1d5L.mjs → cloudflare-cmd-BKlfGHAy.mjs} +6 -7
- package/dist/{cloudflare-connect-jAwacxxP.mjs → cloudflare-connect-Ctmrw579.mjs} +3 -3
- package/dist/{cloudflare-operations-sMZXpk_S.mjs → cloudflare-operations-B9tzgjmf.mjs} +10 -39
- package/dist/{cloudflare-operations-BipGMJ5O.mjs → cloudflare-operations-BT6OWFBk.mjs} +1 -1
- package/dist/{config-CafTW6Cz.mjs → config-Br_JZD6u.mjs} +2 -7
- package/dist/{config-s7Xj7tPb.mjs → config-CyQ-wVd7.mjs} +1 -1
- package/dist/{config-CF69HgXc.d.mts → config-VavjpDnp.d.mts} +1 -2
- package/dist/config-entry.d.mts +1 -1
- package/dist/{config-write-BSduPMY8.mjs → config-write-B1f88wJA.mjs} +1 -1
- package/dist/{connect-BY38i-9E.mjs → connect-Dg-WkW-C.mjs} +5 -5
- package/dist/{create-project-BniEV0OW.mjs → create-project-DdoqwFLF.mjs} +1 -1
- package/dist/{create-project-DBfFSZKY.mjs → create-project-l9J7pbtm.mjs} +8 -4
- package/dist/{db-BIo37Y7H.mjs → db-gp2sCXyN.mjs} +14 -14
- package/dist/{delete-D6dZ9B6B.mjs → delete-TTedbH6B.mjs} +3 -3
- package/dist/{deploy-BM_LoBXC.mjs → deploy-B19L2Bra.mjs} +1 -1
- package/dist/{deploy-C0JaQSWS.mjs → deploy-CH-o2CaZ.mjs} +47 -36
- 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-JRF59P_r.mjs} +4 -4
- package/dist/{email-dMnE_Lat.mjs → email-Bo6G9LOZ.mjs} +6 -6
- package/dist/{env-Csi-tMbT.mjs → env-BYOrWQnv.mjs} +4 -4
- package/dist/{env-public-D_6u46fX.d.mts → env-public-BxU_0yTL.d.mts} +2 -1
- package/dist/gen-CNJ62MM7.mjs +2 -0
- package/dist/{gen-Dz3X1Qab.mjs → gen-sCtlCOdA.mjs} +3 -3
- package/dist/{github-cmd-BED3_9JD.mjs → github-cmd-0-7PexDq.mjs} +5 -7
- package/dist/{handler-BXJTXd02.d.mts → handler-HEcZsaij.d.mts} +2 -1
- package/dist/{headers-BOg_velo.mjs → headers-DWi2IXWx.mjs} +1 -1
- package/dist/help-CmZzxUba.mjs +2 -0
- package/dist/{help-DC7gdz7L.mjs → help-GKtwl07I.mjs} +124 -4
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +53 -24
- package/dist/{init-CJSnEcuj.mjs → init-FZx3Elvz.mjs} +13 -13
- package/dist/{link-CsHOinF7.mjs → link-BrQfb_CU.mjs} +4 -4
- package/dist/{list-CDb-4bZ1.mjs → list-D44jmIAM.mjs} +4 -4
- package/dist/{live-CKiJilLr.d.mts → live-CKJlvlNp.d.mts} +1 -1
- package/dist/{local-d1-CC8sKFGu.mjs → local-d1-Bg9OzEEO.mjs} +1 -1
- package/dist/{login-DZldyb8c.mjs → login-CAsAsQ-_.mjs} +4 -4
- package/dist/login-CGcRKEoi.mjs +2 -0
- package/dist/{logs-BdfiOezj.mjs → logs-BjKvFnVM.mjs} +4 -4
- package/dist/{migrate-B8KuoYsO.mjs → migrate-BPITvDJN.mjs} +4 -4
- package/dist/migrate-CYfbKkXh.mjs +2 -0
- package/dist/{node-BM43oz4G.mjs → node-Dt7z256D.mjs} +1 -1
- package/dist/{operator-cmd-B9dbG3Od.mjs → operator-cmd-BK5CCiT9.mjs} +4 -4
- package/dist/output-Dm_A4Tbv.mjs +81 -0
- package/dist/pages/client.d.mts +1 -1
- package/dist/pages/index.d.mts +1 -1
- package/dist/pages/index.mjs +2 -2
- package/dist/pages/islands-plugin.d.mts +16 -6
- package/dist/pages/islands-plugin.mjs +1 -1
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/{output-CCH48AMM.mjs → picocolors-BTps1_gs.mjs} +2 -76
- package/dist/{platform-auth-config-Bex45lQt.mjs → platform-auth-config-BlN8xTdD.mjs} +3 -3
- package/dist/{platform-auth-protection-Dma02l6-.mjs → platform-auth-protection-7d5aV2Jg.mjs} +3 -3
- package/dist/{platform-auth-recovery-COOhMCvx.mjs → platform-auth-recovery-Dxij8ZbR.mjs} +3 -3
- package/dist/{platform-cmd-BtxZrT6w.mjs → platform-cmd-B3hwKrFK.mjs} +5 -5
- package/dist/{platform-cmd-CjNB09OF.mjs → platform-cmd-E0FuL212.mjs} +1 -1
- package/dist/{platform-domain-DppaTARe.mjs → platform-domain-D6Xcy9ZX.mjs} +36 -9
- package/dist/{platform-lifecycle-CYll-oKE.mjs → platform-lifecycle-DMh_qrry.mjs} +1 -1
- package/dist/{platform-lifecycle-BpDlxT3t.mjs → platform-lifecycle-k0E0xoxx.mjs} +769 -59
- package/dist/{platform-management-BKYenDlE.mjs → platform-management-Brz_BDiT.mjs} +72 -10
- package/dist/{platform-management-BS5r6Ao8.mjs → platform-management-DOtss0BN.mjs} +1 -1
- package/dist/{platform-recovery-dJ5Me-I0.mjs → platform-recovery-BvtcXON5.mjs} +2 -2
- package/dist/prepare-Bm3iq-u4.mjs +2 -0
- package/dist/{prepare-DyZ-Yok5.mjs → prepare-C-6YZyyg.mjs} +3 -3
- package/dist/{prepare-C3kt3Rst.mjs → prepare-CRhJbVrG.mjs} +1 -1
- package/dist/{project-cmd-B44I8J_W.mjs → project-cmd-BZLCqOqw.mjs} +29 -15
- package/dist/{project-team-BkbYIsXN.mjs → project-team-BvgM0WoX.mjs} +3 -3
- package/dist/{project-token-C8xEEQnB.mjs → project-token-l5DqK6Az.mjs} +3 -3
- package/dist/project-zero-trust-v6Mvpp8y.mjs +63 -0
- package/dist/{protocol-ZH3jP4a7.d.mts → protocol-BBa6cstI.d.mts} +1 -1
- package/dist/{provision-BhreDAOS.mjs → provision-C4IGqkBf.mjs} +24 -19
- package/dist/{provision-DNtrtaVD.mjs → provision-Fr9pRqce.mjs} +1 -1
- package/dist/{requests-DFyhBMaf.mjs → requests-DN-BbNiM.mjs} +3 -3
- package/dist/{rollback-DHHxXZiS.mjs → rollback-D7rzSaZM.mjs} +4 -4
- package/dist/runtime/env-public.d.mts +1 -1
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/live-client.d.mts +1 -1
- package/dist/runtime/live.d.mts +1 -1
- 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 +118 -72
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +1 -1
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/sandbox-container-4fdqLnyb.mjs +279 -0
- package/dist/sandbox-container-DdNEBfCc.d.mts +72 -0
- package/dist/sandbox-qpNBT8a3.d.mts +49 -0
- package/dist/{secret-DN9sSNiV.mjs → secret-BOtOl_cb.mjs} +4 -4
- package/dist/{skills-O6FUaizK.mjs → skills-D1II1Juz.mjs} +1 -1
- package/dist/{subcommand-prompt-BuGYkAkC.mjs → subcommand-prompt-CY1C4fvl.mjs} +2 -2
- package/dist/{wrangler-BymcxrRa.mjs → wrangler-DQF1vKyf.mjs} +37 -27
- package/dist/{ws-BwcqizuH.d.mts → ws-BoY7vQML.d.mts} +1 -1
- package/package.json +40 -32
- package/sandbox.Dockerfile +4 -0
- package/schema.json +10 -22
- package/skills/void/SKILL.md +2 -0
- package/skills/void/docs/guide/deployment.md +1 -1
- package/skills/void/docs/guide/edge/revalidation.md +1 -1
- package/skills/void/docs/guide/edge/static-assets.md +1 -0
- package/skills/void/docs/guide/platform/administration/zero-trust.md +318 -0
- package/skills/void/docs/guide/platform/development/local.md +2 -2
- package/skills/void/docs/guide/platform/installation/domains.md +1 -1
- package/skills/void/docs/guide/platform/installation/first-deployment.md +4 -0
- package/skills/void/docs/guide/platform/installation/prerequisites.md +1 -1
- package/skills/void/docs/guide/platform/installation/uninstall.md +17 -2
- package/skills/void/docs/guide/platform-administration.md +1 -0
- package/skills/void/docs/guide/sandboxes.md +70 -41
- package/skills/void/docs/integrations/cloudflare.md +1 -1
- package/skills/void/docs/reference/api.md +35 -35
- package/skills/void/docs/reference/cli.md +68 -6
- package/skills/void/docs/reference/config.md +16 -16
- package/dist/client-4cDVv7BO.mjs +0 -2
- package/dist/gen-Vnv2f65C.mjs +0 -2
- package/dist/help-DQMfeKMz.mjs +0 -2
- package/dist/login-t6rndSRW.mjs +0 -2
- package/dist/migrate-TsHGBnDA.mjs +0 -2
- package/dist/prepare-BZXkjdNe.mjs +0 -2
|
@@ -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 import_picocolors } from "./output-CCH48AMM.mjs";
|
|
2
1
|
import { c as getToken } from "./auth-DLNN0D3Z.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-BTZ3XkrB.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-BT6OWFBk.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 {
|
|
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-C0JaQSWS.mjs";
|
|
2
|
+
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-CH-o2CaZ.mjs";
|
|
4
3
|
import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
|
|
5
4
|
import { c as getToken, d as openBrowser } from "./auth-DLNN0D3Z.mjs";
|
|
6
5
|
import { o as readProjectConfig } from "./project-C0Fqu05O.mjs";
|
|
7
|
-
import { m as readConfig } from "./config-
|
|
8
|
-
import { k as writeProvisionedWranglerConfig } from "./wrangler-
|
|
9
|
-
import { E as confirm, F as password, N as note, W as isCancel, j as log } from "./dist-
|
|
6
|
+
import { m as readConfig } from "./config-Br_JZD6u.mjs";
|
|
7
|
+
import { k as writeProvisionedWranglerConfig } from "./wrangler-DQF1vKyf.mjs";
|
|
8
|
+
import { E as confirm, F as password, N as note, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
|
|
10
9
|
import { a as scanEmailHandlersSync } from "./email--tEtMoj_.mjs";
|
|
11
|
-
import { n as PlatformClient, t as PlatformApiError } from "./client-
|
|
10
|
+
import { n as PlatformClient, t as PlatformApiError } from "./client-BTZ3XkrB.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";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { a as join } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
3
2
|
import { c as getToken } from "./auth-DLNN0D3Z.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
5
|
import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-BB4GkLxn.mjs";
|
|
7
|
-
import { N as note, O as intro, P as outro, j as log } from "./dist-
|
|
8
|
-
import { n as PlatformClient } from "./client-
|
|
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-BTZ3XkrB.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-BT6OWFBk.mjs");
|
|
30
30
|
remoteSecrets = await listCloudflareSecrets(resolveCloudflareOperationContext(root));
|
|
31
31
|
} else {
|
|
32
32
|
const token = getToken(root);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { c as VoidPlatformSandbox } from "./sandbox-qpNBT8a3.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 */
|
|
@@ -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-
|
|
3
|
+
import { m as readConfig, u as getDatabaseDialect } from "./config-Br_JZD6u.mjs";
|
|
5
4
|
import { n as ensureProjectTsconfig } from "./project-tsconfig-B8GeM0RM.mjs";
|
|
6
5
|
import { n as readJournal, t as collectMigrations } from "./collect-DiTn9yr6.mjs";
|
|
7
|
-
import { I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-
|
|
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
8
|
import { r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-CIUwFpjB.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 import_picocolors } from "./output-CCH48AMM.mjs";
|
|
2
1
|
import { c as getToken, d as openBrowser, n as createCodeChallenge, r as createCodeVerifier, t as awaitBrowserCallback } from "./auth-DLNN0D3Z.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-BTZ3XkrB.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 { c as VoidPlatformSandbox } from "./sandbox-qpNBT8a3.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 & {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import { a as convertFallbacksConfig, c as convertRewritesConfig, f as isProtocolRelative, l as countSplats, n as VALID_REDIRECT_STATUSES, o as convertHeadersConfig, p as parseHostPrefixedSource, s as convertRedirectsConfig } from "./config-
|
|
2
|
+
import { a as convertFallbacksConfig, c as convertRewritesConfig, f as isProtocolRelative, l as countSplats, n as VALID_REDIRECT_STATUSES, o as convertHeadersConfig, p as parseHostPrefixedSource, s as convertRedirectsConfig } from "./config-Br_JZD6u.mjs";
|
|
3
3
|
import { i as voidWarn } from "./log-ChfPKsVd.mjs";
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
//#region src/cli/headers.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as join } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { N as note, P as outro } from "./dist-Dn6nn2IU.mjs";
|
|
2
|
+
import { N as note, P as outro } from "./dist-CTBk70IR.mjs";
|
|
4
3
|
import { n as getPackageDir } from "./agents-B_pX_HmQ.mjs";
|
|
4
|
+
import { c as import_picocolors, s as helpLine, t as categoryTitle, u as sectionTitle } from "./output-Dm_A4Tbv.mjs";
|
|
5
5
|
import { t as OPERATOR_MAX_TIMEOUT_MS } from "./operator-client-DUwumHpQ.mjs";
|
|
6
6
|
import { readFileSync } from "node:fs";
|
|
7
7
|
//#region src/cli/ascii.ts
|
|
@@ -135,6 +135,71 @@ const operatorCommands = [
|
|
|
135
135
|
positional: ["id", "userId"],
|
|
136
136
|
method: "POST"
|
|
137
137
|
},
|
|
138
|
+
{
|
|
139
|
+
group: "zero-trust",
|
|
140
|
+
action: "status",
|
|
141
|
+
description: "Inspect saved platform Zero Trust configuration and project state counts",
|
|
142
|
+
path: "/zero-trust",
|
|
143
|
+
booleans: ["check"]
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
group: "zero-trust",
|
|
147
|
+
action: "configure",
|
|
148
|
+
description: "Configure and reconcile project Zero Trust protection",
|
|
149
|
+
path: "/zero-trust/configure",
|
|
150
|
+
values: {
|
|
151
|
+
"identity-providers": "Comma-separated Access identity provider IDs",
|
|
152
|
+
policies: "Comma-separated reusable Access policy IDs",
|
|
153
|
+
"existing-projects": "Required when enabling: protected or public for existing projects"
|
|
154
|
+
},
|
|
155
|
+
booleans: ["token-stdin", "protect-new-projects"],
|
|
156
|
+
method: "POST"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
group: "zero-trust",
|
|
160
|
+
action: "reconcile",
|
|
161
|
+
description: "Repair platform and project Access configuration drift",
|
|
162
|
+
path: "/zero-trust/reconcile",
|
|
163
|
+
method: "POST"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
group: "zero-trust",
|
|
167
|
+
action: "disable",
|
|
168
|
+
description: "Remove Void-managed Access applications and make projects public",
|
|
169
|
+
path: "/zero-trust/disable",
|
|
170
|
+
method: "POST"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
group: "zero-trust",
|
|
174
|
+
action: "project-status",
|
|
175
|
+
description: "Inspect one project Zero Trust override and effective state",
|
|
176
|
+
path: "/zero-trust/projects/:id",
|
|
177
|
+
positional: ["id"]
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
group: "zero-trust",
|
|
181
|
+
action: "project-protect",
|
|
182
|
+
description: "Protect one project, overriding the platform default",
|
|
183
|
+
path: "/zero-trust/projects/:id",
|
|
184
|
+
positional: ["id"],
|
|
185
|
+
method: "POST"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
group: "zero-trust",
|
|
189
|
+
action: "project-public",
|
|
190
|
+
description: "Make one project public, overriding the platform default",
|
|
191
|
+
path: "/zero-trust/projects/:id",
|
|
192
|
+
positional: ["id"],
|
|
193
|
+
method: "POST"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
group: "zero-trust",
|
|
197
|
+
action: "project-reconcile",
|
|
198
|
+
description: "Repair Access configuration drift for one project",
|
|
199
|
+
path: "/zero-trust/projects/:id/reconcile",
|
|
200
|
+
positional: ["id"],
|
|
201
|
+
method: "POST"
|
|
202
|
+
},
|
|
138
203
|
{
|
|
139
204
|
group: "deployment",
|
|
140
205
|
action: "list",
|
|
@@ -478,7 +543,8 @@ function parseOperatorArgs(args) {
|
|
|
478
543
|
"follow",
|
|
479
544
|
"token-stdin",
|
|
480
545
|
"force",
|
|
481
|
-
"ended"
|
|
546
|
+
"ended",
|
|
547
|
+
...operatorCommands.flatMap((command) => command.booleans ?? [])
|
|
482
548
|
]);
|
|
483
549
|
for (let index = 0; index < args.length; index++) {
|
|
484
550
|
const arg = args[index];
|
|
@@ -580,6 +646,24 @@ function parseOperatorArgs(args) {
|
|
|
580
646
|
"identity"
|
|
581
647
|
].includes(String(parsed.body.type))) throw new Error("platform: Signup grant type must be github, email, or identity.");
|
|
582
648
|
for (const name of command.booleans ?? []) if (name !== "token-stdin" && flags.has(name)) parsed.body[name] = true;
|
|
649
|
+
if (group === "zero-trust" && action === "configure") {
|
|
650
|
+
if (!parsed.tokenStdin) throw new Error("platform: zero-trust configure requires --token-stdin.");
|
|
651
|
+
const identityProviderIds = values["identity-providers"]?.split(",").map((entry) => entry.trim()).filter(Boolean);
|
|
652
|
+
const policyIds = values.policies?.split(",").map((entry) => entry.trim()).filter(Boolean);
|
|
653
|
+
const existingProjects = values["existing-projects"];
|
|
654
|
+
if (!identityProviderIds?.length || !policyIds?.length) throw new Error("platform: zero-trust configure requires --identity-providers and --policies.");
|
|
655
|
+
if (existingProjects !== void 0 && existingProjects !== "protected" && existingProjects !== "public") throw new Error("platform: --existing-projects must be protected or public.");
|
|
656
|
+
parsed.body = {
|
|
657
|
+
identityProviderIds,
|
|
658
|
+
policyIds,
|
|
659
|
+
...existingProjects ? { existingProjects } : {},
|
|
660
|
+
protectNewProjects: flags.has("protect-new-projects")
|
|
661
|
+
};
|
|
662
|
+
} else if (group === "zero-trust" && action === "status") {
|
|
663
|
+
delete parsed.body.check;
|
|
664
|
+
if (flags.has("check")) parsed.query.check = "true";
|
|
665
|
+
} else if (group === "zero-trust" && action === "project-protect") parsed.body.protected = true;
|
|
666
|
+
else if (group === "zero-trust" && action === "project-public") parsed.body.protected = false;
|
|
583
667
|
return parsed;
|
|
584
668
|
}
|
|
585
669
|
//#endregion
|
|
@@ -638,7 +722,7 @@ function operatorHelpTree() {
|
|
|
638
722
|
})),
|
|
639
723
|
...(entry.booleans ?? []).map((flag) => ({
|
|
640
724
|
command: `--${flag}`,
|
|
641
|
-
description: flag === "follow" ? "Poll new logs until interrupted or the build ends" : flag === "ended" ? "Attest that the original provider execution has ended" : flag === "token-stdin" && group === "email" ? entry.action === "domain-remove" ? "Read a replacement Cloudflare token for blocked project cleanup from stdin" : "Read a scoped Cloudflare API token from stdin" : "Read a full API session from stdin for explicit operator session exchange"
|
|
725
|
+
description: flag === "follow" ? "Poll new logs until interrupted or the build ends" : flag === "ended" ? "Attest that the original provider execution has ended" : flag === "protect-new-projects" ? "Protect newly created projects by default" : flag === "check" && group === "zero-trust" ? "Also check the saved settings against Cloudflare Access (several API calls)" : flag === "token-stdin" && group === "zero-trust" ? "Read the Access management API token from stdin" : flag === "token-stdin" && group === "email" ? entry.action === "domain-remove" ? "Read a replacement Cloudflare token for blocked project cleanup from stdin" : "Read a scoped Cloudflare API token from stdin" : "Read a full API session from stdin for explicit operator session exchange"
|
|
642
726
|
}))
|
|
643
727
|
]
|
|
644
728
|
}]))
|
|
@@ -1193,6 +1277,10 @@ const HELP_TREE = {
|
|
|
1193
1277
|
command: "team <command>",
|
|
1194
1278
|
description: "Manage members and project invitations"
|
|
1195
1279
|
},
|
|
1280
|
+
{
|
|
1281
|
+
command: "zero-trust <command>",
|
|
1282
|
+
description: "Inspect or override Cloudflare Zero Trust protection"
|
|
1283
|
+
},
|
|
1196
1284
|
{
|
|
1197
1285
|
command: "logs",
|
|
1198
1286
|
description: "Show runtime logs from the deployed project"
|
|
@@ -1319,6 +1407,38 @@ const HELP_TREE = {
|
|
|
1319
1407
|
decline: basicSubcommand("Decline your invitation on the active platform connection (VOID_API_URL overrides it).", "void project team decline <invitation-id>")
|
|
1320
1408
|
}
|
|
1321
1409
|
},
|
|
1410
|
+
"zero-trust": {
|
|
1411
|
+
summary: "Inspect and manage Zero Trust protection for a Void platform project.",
|
|
1412
|
+
usage: ["void project zero-trust <status|protect|public|reconcile> [options]"],
|
|
1413
|
+
commands: [
|
|
1414
|
+
{
|
|
1415
|
+
command: "status",
|
|
1416
|
+
description: "Show desired and effective protection state"
|
|
1417
|
+
},
|
|
1418
|
+
{
|
|
1419
|
+
command: "protect",
|
|
1420
|
+
description: "Protect the project"
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
command: "public",
|
|
1424
|
+
description: "Make the project public"
|
|
1425
|
+
},
|
|
1426
|
+
{
|
|
1427
|
+
command: "reconcile",
|
|
1428
|
+
description: "Repair Cloudflare Access configuration drift"
|
|
1429
|
+
}
|
|
1430
|
+
],
|
|
1431
|
+
options: [{
|
|
1432
|
+
command: "--project <name>",
|
|
1433
|
+
description: "Project name override"
|
|
1434
|
+
}],
|
|
1435
|
+
children: Object.fromEntries([
|
|
1436
|
+
"status",
|
|
1437
|
+
"protect",
|
|
1438
|
+
"public",
|
|
1439
|
+
"reconcile"
|
|
1440
|
+
].map((action) => [action, withProjectOption(action === "status" ? "Show desired and effective Zero Trust protection." : action === "protect" ? "Protect the project with the platform Access policy." : action === "public" ? "Make the project public with a managed Access bypass." : "Repair Cloudflare Access configuration drift for the project.", `void project zero-trust ${action} [options]`)]))
|
|
1441
|
+
},
|
|
1322
1442
|
logs: {
|
|
1323
1443
|
summary: "Show runtime logs from the deployed project.",
|
|
1324
1444
|
usage: ["void project logs [options]"],
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as HeadDescriptor } from "./head-Do8P4puT.mjs";
|
|
2
2
|
import { r as AuthUser } from "./auth-DkcFflXV.mjs";
|
|
3
|
-
import { C as defer, E as ValidatorSlots, S as InferProps, T as HandlerInput, _ as defineQueue, a as CloudEnv, b as Deferred, c as QueueRetryOptions, d as TypedQueueHandler, f as VoidAssetRewriteError, g as defineMiddleware, h as defineHead, i as CloudContextVariables, l as RenderAssetTags, m as defineHandler, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, x as DeferredState, y as defineScheduled } from "./handler-
|
|
3
|
+
import { C as defer, E as ValidatorSlots, S as InferProps, T as HandlerInput, _ as defineQueue, a as CloudEnv, b as Deferred, c as QueueRetryOptions, d as TypedQueueHandler, f as VoidAssetRewriteError, g as defineMiddleware, h as defineHead, i as CloudContextVariables, l as RenderAssetTags, m as defineHandler, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, x as DeferredState, y as defineScheduled } from "./handler-HEcZsaij.mjs";
|
|
4
4
|
import { t as QueueMap } from "./queues-BWKt1Xo4.mjs";
|
|
5
5
|
import { PluginConfig } from "@cloudflare/vite-plugin";
|
|
6
6
|
import { Plugin } from "vite";
|