void 0.21.9 → 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-DZZGK80W.mjs → account-cmd-CjyxcGkM.mjs} +4 -4
- package/dist/{auth-link-B_CeugBw.mjs → auth-link-BLO4ptzo.mjs} +4 -4
- package/dist/{auth-router-BgEFRuvZ.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 -50
- 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-BsUSRzln.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-hRrvZaq_.mjs → db-gp2sCXyN.mjs} +14 -14
- package/dist/{delete-D6dZ9B6B.mjs → delete-TTedbH6B.mjs} +3 -3
- package/dist/{deploy-DDz7c8LK.mjs → deploy-B19L2Bra.mjs} +1 -1
- package/dist/{deploy-WaAQez1O.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-DFi-s2t4.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-WO0JlPx8.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-DvqXsfGs.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-03819ATr.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-z92h63q5.mjs → platform-auth-config-BlN8xTdD.mjs} +3 -3
- package/dist/{platform-auth-protection-DeE3yr2R.mjs → platform-auth-protection-7d5aV2Jg.mjs} +3 -3
- package/dist/{platform-auth-recovery-o_340Ixx.mjs → platform-auth-recovery-Dxij8ZbR.mjs} +3 -3
- package/dist/{platform-cmd-DNl8WosH.mjs → platform-cmd-B3hwKrFK.mjs} +5 -5
- package/dist/{platform-cmd-C4ZV3Vpy.mjs → platform-cmd-E0FuL212.mjs} +1 -1
- package/dist/{platform-domain-CU1JtJkW.mjs → platform-domain-D6Xcy9ZX.mjs} +36 -9
- package/dist/{platform-lifecycle-Bs2qx1E3.mjs → platform-lifecycle-DMh_qrry.mjs} +1 -1
- package/dist/{platform-lifecycle-Bc047IeT.mjs → platform-lifecycle-k0E0xoxx.mjs} +548 -86
- package/dist/{platform-management-CVpGI9Y5.mjs → platform-management-Brz_BDiT.mjs} +54 -9
- package/dist/{platform-management-C8tt6D8h.mjs → platform-management-DOtss0BN.mjs} +1 -1
- package/dist/{platform-recovery-dvUaptLr.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-DFQk7rbW.mjs +0 -2
- package/dist/migrate-TsHGBnDA.mjs +0 -2
- package/dist/prepare-BZXkjdNe.mjs +0 -2
package/dist/index.mjs
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { n as __toESM } from "./rolldown-runtime-DXIUcv95.mjs";
|
|
2
2
|
import { a as join, l as relative, n as dirname, u as resolve } from "./dist-BVqXeR_h.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { G as resolveWorkerDirName, St as hasDocumentRoutes, V as resolveDistDir, ct as prerenderPagesNode, dt as collectRevalidate, ft as hasRevalidate, mt as SEND_EMAIL_BINDING, ot as generateQueueResolverSource, pt as scanDurableObjectModules, st as prerenderPages, ut as collectPages, wt as resolveAssetRoutingPolicy, xt as hasApiRoutes } from "./deploy-
|
|
3
|
+
import { t as require_picocolors } from "./picocolors-BTps1_gs.mjs";
|
|
4
|
+
import { G as resolveWorkerDirName, St as hasDocumentRoutes, V as resolveDistDir, ct as prerenderPagesNode, dt as collectRevalidate, ft as hasRevalidate, mt as SEND_EMAIL_BINDING, ot as generateQueueResolverSource, pt as scanDurableObjectModules, st as prerenderPages, ut as collectPages, wt as resolveAssetRoutingPolicy, xt as hasApiRoutes } from "./deploy-CH-o2CaZ.mjs";
|
|
5
5
|
import { i as resolveProjectPaths, n as readProjectPaths, t as assertNoRootSourceConventionConflicts } from "./project-paths-GgcMozYz.mjs";
|
|
6
6
|
import { n as loadVoidAuthConfig, t as findVoidAuthConfig } from "./config-DPByhVck.mjs";
|
|
7
7
|
import { r as scopedAccessCredentials } from "./cf-access-DRsQRe6k.mjs";
|
|
8
8
|
import { a as getApiUrl, c as getToken, o as getProxyUrl, u as isStagingMode } from "./auth-DLNN0D3Z.mjs";
|
|
9
9
|
import { r as ensurePlatformProxyAccess } from "./cf-access-P0iZnu0q.mjs";
|
|
10
10
|
import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
|
|
11
|
-
import { d as isNodeTarget, h as resolveBindingNames, m as readConfig, u as getDatabaseDialect } from "./config-
|
|
12
|
-
import { C as readWranglerWebSocketTombstones, D as syncWranglerWebSockets, E as syncWranglerDurableObjects, L as
|
|
11
|
+
import { d as isNodeTarget, h as resolveBindingNames, m as readConfig, u as getDatabaseDialect } from "./config-Br_JZD6u.mjs";
|
|
12
|
+
import { B as materializeCloudflareConfig, C as readWranglerWebSocketTombstones, D as syncWranglerWebSockets, E as syncWranglerDurableObjects, H as restoreCloudflarePreviewPointer, I as resolveSandboxConfig, L as sandboxContainerConfig, M as SANDBOX_MIGRATION_TAG, N as assertSandboxNamespaceConfig, P as isSandboxEnabled, T as syncWranglerBindings, W as stashCloudflareDeployPointer, a as LIVE_MIGRATION_TAG, d as ensureWranglerNodejsAlsFlag, g as readExistingLiveBindingConfig, h as normalizeWranglerCompatibilityFlags, j as DEFAULT_SANDBOX_CLASS_NAME, l as ensureWranglerCompat, m as nextDurableObjectMigrationTag, p as hasDurableObjectSqliteMigration, u as ensureWranglerCompatibilityDate, w as resolveLiveBindingConfig, y as readWranglerCompat } from "./wrangler-DQF1vKyf.mjs";
|
|
13
13
|
import { i as voidWarn, n as voidError, r as voidLog, t as setShowTimestamp } from "./log-ChfPKsVd.mjs";
|
|
14
|
-
import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestinationSplats } from "./headers-
|
|
14
|
+
import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestinationSplats } from "./headers-DWi2IXWx.mjs";
|
|
15
15
|
import { n as ensureProjectTsconfig, r as writeFileIfChanged } from "./project-tsconfig-B8GeM0RM.mjs";
|
|
16
16
|
import { i as isMemberExpression, n as isIdentifier, r as isLiteral } from "./ast-CPGPjb0V.mjs";
|
|
17
17
|
import { i as resolveLayoutIds } from "./scan-4tfN-PSn.mjs";
|
|
18
18
|
import { a as scanJobsSync, i as scanQueuesSync, n as scanRoutePatternsSync, r as scanRoutes, t as scanMiddlewareSync } from "./scan-ClYmX3sa.mjs";
|
|
19
19
|
import { c as inferBindingsFromSource, i as inferProjectBindings, l as walk, n as FRAMEWORK_SCAN_DIRS, r as detectFramework, s as scanWebSocketRoutesSync, t as DEFAULT_SCAN_DIRS } from "./plugin-inference-BMfKRSqE.mjs";
|
|
20
|
-
import { n as writeLocalD1PersistState, t as resolveLocalD1Target } from "./local-d1-
|
|
20
|
+
import { n as writeLocalD1PersistState, t as resolveLocalD1Target } from "./local-d1-Bg9OzEEO.mjs";
|
|
21
21
|
import { n as parseDotenvFile } from "./dotenv-VQxupEUv.mjs";
|
|
22
22
|
import { i as generateDbDts, n as generateQueueTypes, r as DRIZZLE_OPERATORS, t as generateRouteTypes } from "./route-types-Clm4WD0B.mjs";
|
|
23
23
|
import { t as discoverSchema } from "./discover-BcPPiF1o.mjs";
|
|
24
24
|
import { _ as parseCapturedMessage, a as DEV_INBOX_ENV_VAR, c as DEV_INBOX_TOKEN_ENV_VAR, f as clearDevBuffer, g as listDevMessages, l as DEV_INBOX_TOKEN_HEADER, m as findDevMessage, n as DEV_INBOX_ACK_VALUE, o as DEV_INBOX_MAX_CAPTURE_BYTES, s as DEV_INBOX_PREFIX, t as DEV_INBOX_ACK_HEADER, u as DEV_INBOX_TOKEN_QUERY, v as pushToDevBuffer, y as registerEmailSink } from "./dev-inbox-P0u4tM8Y.mjs";
|
|
25
|
-
import { t as MagicString } from "./dist-
|
|
25
|
+
import { t as MagicString } from "./dist-AoCzRTJE.mjs";
|
|
26
26
|
import { n as findEnvFileForPaths, r as generateEnvTypes, t as findEnvFile } from "./env-types-C2_bIk_b.mjs";
|
|
27
27
|
import { y as loadUserEnvFile } from "./env-validation-BB4GkLxn.mjs";
|
|
28
28
|
import { a as loadLocalEnv, o as resolveRemoteMode, r as findLegacyEnvFiles, s as stripInternalEnvKeys, t as CLIENT_ENV_PREFIX$2 } from "./env-_v349JBd.mjs";
|
|
@@ -2035,7 +2035,7 @@ function migrationPlugin(root, dialect, databaseId = "local", persistRoot = join
|
|
|
2035
2035
|
if (applied.length > 0) voidLog(`Applied ${applied.length} migration(s): ${applied.join(", ")}`);
|
|
2036
2036
|
}
|
|
2037
2037
|
if (auth?.enabled) {
|
|
2038
|
-
const { runLocalVoidAuthMigrations } = await import("./node-
|
|
2038
|
+
const { runLocalVoidAuthMigrations } = await import("./node-Dt7z256D.mjs");
|
|
2039
2039
|
await runLocalVoidAuthMigrations(root, dialect, persistRoot, databaseId, auth.configPath);
|
|
2040
2040
|
voidLog("Applied Better Auth migrations");
|
|
2041
2041
|
}
|
|
@@ -4024,12 +4024,39 @@ function compileAssetFallbackHelper(assetsDir = "assets", serveSpaFallback = fal
|
|
|
4024
4024
|
}
|
|
4025
4025
|
return response;` : ` return response;`;
|
|
4026
4026
|
return `
|
|
4027
|
+
const __voidAssetContentTypes = {
|
|
4028
|
+
".avif": "image/avif",
|
|
4029
|
+
".css": "text/css; charset=utf-8",
|
|
4030
|
+
".gif": "image/gif",
|
|
4031
|
+
".html": "text/html; charset=utf-8",
|
|
4032
|
+
".ico": "image/x-icon",
|
|
4033
|
+
".jpeg": "image/jpeg",
|
|
4034
|
+
".jpg": "image/jpeg",
|
|
4035
|
+
".js": "text/javascript; charset=utf-8",
|
|
4036
|
+
".json": "application/json; charset=utf-8",
|
|
4037
|
+
".mjs": "text/javascript; charset=utf-8",
|
|
4038
|
+
".png": "image/png",
|
|
4039
|
+
".svg": "image/svg+xml",
|
|
4040
|
+
".txt": "text/plain; charset=utf-8",
|
|
4041
|
+
".wasm": "application/wasm",
|
|
4042
|
+
".webp": "image/webp",
|
|
4043
|
+
".woff": "font/woff",
|
|
4044
|
+
".woff2": "font/woff2",
|
|
4045
|
+
};
|
|
4046
|
+
|
|
4027
4047
|
async function serveWithAssets(request, env, response) {
|
|
4028
4048
|
if (response.status !== 404 || !env.ASSETS || (request.method !== "GET" && request.method !== "HEAD")) return response;
|
|
4029
4049
|
const asset = await env.ASSETS.fetch(new Request(request.url, { method: request.method, headers: request.headers }));
|
|
4030
4050
|
if (asset.status !== 404) {
|
|
4031
4051
|
const res = new Response(asset.body, asset);
|
|
4032
|
-
|
|
4052
|
+
const pathname = new URL(request.url).pathname;
|
|
4053
|
+
// Directly uploaded assets can reach the binding without a MIME type.
|
|
4054
|
+
if (!res.headers.get("Content-Type")) {
|
|
4055
|
+
const filename = pathname.slice(pathname.lastIndexOf("/") + 1);
|
|
4056
|
+
const contentType = __voidAssetContentTypes[filename.slice(filename.lastIndexOf(".")).toLowerCase()];
|
|
4057
|
+
if (contentType) res.headers.set("Content-Type", contentType);
|
|
4058
|
+
}
|
|
4059
|
+
if (pathname.startsWith(${JSON.stringify("/" + assetsDir + "/")})) {
|
|
4033
4060
|
res.headers.set("Cache-Control", "public, max-age=31536000, immutable");
|
|
4034
4061
|
} else {
|
|
4035
4062
|
res.headers.set("Cache-Control", "no-store");
|
|
@@ -4064,11 +4091,12 @@ function compileWorkerEntry(options = {}) {
|
|
|
4064
4091
|
const remoteBindingNames = JSON.stringify(remote?.bindingNames);
|
|
4065
4092
|
const createRemoteEnvCall = `createRemoteEnv(env${remote?.bindingNames ? `, ${remoteBindingNames}` : ""})`;
|
|
4066
4093
|
const hasSandbox = sandbox === true || typeof sandbox === "object";
|
|
4067
|
-
const sandboxClassName = typeof sandbox === "object" ? sandbox.className ?? "
|
|
4094
|
+
const sandboxClassName = typeof sandbox === "object" ? sandbox.className ?? "SandboxV1" : DEFAULT_SANDBOX_CLASS_NAME;
|
|
4068
4095
|
const sandboxBindingName = typeof sandbox === "object" ? sandbox.bindingName ?? "SANDBOX" : "SANDBOX";
|
|
4069
4096
|
const sandboxRuntimePath = typeof sandbox === "object" ? sandbox.runtimePath ?? "void/sandbox" : "void/sandbox";
|
|
4070
4097
|
const sandboxImport = hasSandbox ? `import { VoidPlatformSandbox as __VoidSandbox, __setSandboxBindingName } from ${JSON.stringify(sandboxRuntimePath)};\n` : "";
|
|
4071
|
-
const
|
|
4098
|
+
const sandboxInstanceType = typeof sandbox === "object" ? sandbox.instanceType : void 0;
|
|
4099
|
+
const sandboxExport = hasSandbox ? sandboxClassName === "SandboxV1" && !sandboxInstanceType ? `export { __VoidSandbox as SandboxV1 };\n__setSandboxBindingName(${JSON.stringify(sandboxBindingName)});\n` : `export class ${sandboxClassName} extends __VoidSandbox {${sandboxInstanceType ? ` protected override instanceType = ${JSON.stringify(sandboxInstanceType)} as const; ` : ""}}\n__setSandboxBindingName(${JSON.stringify(sandboxBindingName)});\n` : "";
|
|
4072
4100
|
const hasLive = live === true || typeof live === "object";
|
|
4073
4101
|
const liveBindingName = typeof live === "object" ? live.bindingName ?? "VOID_LIVE" : "VOID_LIVE";
|
|
4074
4102
|
const liveClassName = typeof live === "object" ? live.className ?? "VoidLiveStreamDurableObject" : "VoidLiveStreamDurableObject";
|
|
@@ -4915,6 +4943,7 @@ function routingPlugin(root, options) {
|
|
|
4915
4943
|
sandbox: options.hasSandbox ? {
|
|
4916
4944
|
bindingName: options.sandboxBindingName,
|
|
4917
4945
|
className: options.sandboxClassName,
|
|
4946
|
+
instanceType: options.sandboxInstanceType,
|
|
4918
4947
|
runtimePath: sandboxRuntimePath
|
|
4919
4948
|
} : false,
|
|
4920
4949
|
live: options.live,
|
|
@@ -5007,6 +5036,7 @@ function routingPlugin(root, options) {
|
|
|
5007
5036
|
sandbox: options.hasSandbox ? {
|
|
5008
5037
|
bindingName: options.sandboxBindingName,
|
|
5009
5038
|
className: options.sandboxClassName,
|
|
5039
|
+
instanceType: options.sandboxInstanceType,
|
|
5010
5040
|
runtimePath: sandboxRuntimePath
|
|
5011
5041
|
} : false,
|
|
5012
5042
|
hasEmail: hasEmailHandlers(),
|
|
@@ -5073,6 +5103,7 @@ function routingPlugin(root, options) {
|
|
|
5073
5103
|
sandbox: options.hasSandbox ? {
|
|
5074
5104
|
bindingName: options.sandboxBindingName,
|
|
5075
5105
|
className: options.sandboxClassName,
|
|
5106
|
+
instanceType: options.sandboxInstanceType,
|
|
5076
5107
|
runtimePath: sandboxRuntimePath
|
|
5077
5108
|
} : false,
|
|
5078
5109
|
hasEmail: hasEmailHandlers(),
|
|
@@ -5540,8 +5571,8 @@ function readVoidDevCredentials(root) {
|
|
|
5540
5571
|
* block the server. On completion, writes project.json and restarts the server.
|
|
5541
5572
|
*/
|
|
5542
5573
|
async function runAiSetupPrompt(root, token, apiUrl, server) {
|
|
5543
|
-
const { select, text, isCancel, log } = await import("./dist-
|
|
5544
|
-
const { PlatformClient } = await import("./client-
|
|
5574
|
+
const { select, text, isCancel, log } = await import("./dist-BuDuKZJv.mjs");
|
|
5575
|
+
const { PlatformClient } = await import("./client-Czz8o5jP.mjs");
|
|
5545
5576
|
const { attachSelectedPlatform, writeProjectConfig } = await import("./project-BuUwfj6f.mjs");
|
|
5546
5577
|
const { inferDefaultSlug } = await import("./resolve-project-DtbidV4y.mjs");
|
|
5547
5578
|
const client = new PlatformClient(token, apiUrl);
|
|
@@ -5570,7 +5601,7 @@ async function runAiSetupPrompt(root, token, apiUrl, server) {
|
|
|
5570
5601
|
let slug;
|
|
5571
5602
|
if (result === "__create__") {
|
|
5572
5603
|
const { validateProjectSlug } = await import("./project-slug-DofjTFd-.mjs");
|
|
5573
|
-
const { createProjectWithSlugRetry } = await import("./create-project-
|
|
5604
|
+
const { createProjectWithSlugRetry } = await import("./create-project-DdoqwFLF.mjs");
|
|
5574
5605
|
let created;
|
|
5575
5606
|
try {
|
|
5576
5607
|
created = await createProjectWithSlugRetry(client, inferDefaultSlug(root), async (defaultSlug) => {
|
|
@@ -6038,23 +6069,20 @@ function voidPlugin(options) {
|
|
|
6038
6069
|
if (migrationAdditions.length > 0) result.migrations = [...existingMigrations, ...migrationAdditions];
|
|
6039
6070
|
}
|
|
6040
6071
|
if (bindings.needsSandbox && sandboxConfig) {
|
|
6072
|
+
assertSandboxNamespaceConfig({
|
|
6073
|
+
...resolved,
|
|
6074
|
+
...result
|
|
6075
|
+
}, sandboxConfig);
|
|
6041
6076
|
const existingDurableObjectBindings = (result.durable_objects ?? resolved.durable_objects)?.bindings ?? [];
|
|
6042
6077
|
if (!existingDurableObjectBindings.some((binding) => binding.name === sandboxConfig.binding)) result.durable_objects = { bindings: [...existingDurableObjectBindings, {
|
|
6043
6078
|
name: sandboxConfig.binding,
|
|
6044
6079
|
class_name: sandboxConfig.className
|
|
6045
6080
|
}] };
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
name: sandboxConfig.containerName,
|
|
6049
|
-
class_name: sandboxConfig.className,
|
|
6050
|
-
image: sandboxConfig.image,
|
|
6051
|
-
...sandboxConfig.imageBuildContext && { image_build_context: sandboxConfig.imageBuildContext },
|
|
6052
|
-
...sandboxConfig.instanceType && { instance_type: sandboxConfig.instanceType },
|
|
6053
|
-
...sandboxConfig.maxInstances != null && { max_instances: sandboxConfig.maxInstances }
|
|
6054
|
-
}];
|
|
6081
|
+
result.containers = [...(result.containers ?? resolved.containers ?? []).filter((container) => container.class_name !== sandboxConfig.className), sandboxContainerConfig(sandboxConfig)];
|
|
6082
|
+
resolved.containers = [];
|
|
6055
6083
|
const currentMigrations = result.migrations ?? resolved.migrations;
|
|
6056
6084
|
const existingMigrations = Array.isArray(currentMigrations) ? currentMigrations : [];
|
|
6057
|
-
if (!existingMigrations.some((migration) => migration.tag === "void-sandbox-
|
|
6085
|
+
if (!existingMigrations.some((migration) => migration.tag === "void-sandbox-v2" || migration.new_sqlite_classes?.includes(sandboxConfig.className))) result.migrations = [...existingMigrations, {
|
|
6058
6086
|
tag: SANDBOX_MIGRATION_TAG,
|
|
6059
6087
|
new_sqlite_classes: [sandboxConfig.className]
|
|
6060
6088
|
}];
|
|
@@ -6426,6 +6454,7 @@ function voidPlugin(options) {
|
|
|
6426
6454
|
},
|
|
6427
6455
|
sandboxBindingName: sandboxConfig?.binding,
|
|
6428
6456
|
sandboxClassName: sandboxConfig?.className,
|
|
6457
|
+
sandboxInstanceType: sandboxConfig?.instanceType,
|
|
6429
6458
|
get live() {
|
|
6430
6459
|
return shouldEmitLive() ? liveConfig : void 0;
|
|
6431
6460
|
},
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { a as join, i as isAbsolute, l as relative, n as dirname, t as basename, u as resolve } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
3
2
|
import { n as readProjectPaths, o as TYPED_CONFIG_FILE } from "./project-paths-GgcMozYz.mjs";
|
|
4
3
|
import { c as getToken, u as isStagingMode } from "./auth-DLNN0D3Z.mjs";
|
|
5
4
|
import { d as writeProjectConfig, i as readDeploymentPlatform, l as writeDeploymentPlatform, o as readProjectConfig, t as attachSelectedPlatform } from "./project-C0Fqu05O.mjs";
|
|
6
|
-
import { m as readConfig, u as getDatabaseDialect } from "./config-
|
|
7
|
-
import {
|
|
5
|
+
import { m as readConfig, u as getDatabaseDialect } from "./config-Br_JZD6u.mjs";
|
|
6
|
+
import { B as materializeCloudflareConfig, i as LATEST_KNOWN_COMPAT_DATE, k as writeProvisionedWranglerConfig } from "./wrangler-DQF1vKyf.mjs";
|
|
8
7
|
import { n as ensureProjectTsconfig, t as createProjectTsconfig } from "./project-tsconfig-B8GeM0RM.mjs";
|
|
9
8
|
import { r as detectFramework } from "./plugin-inference-BMfKRSqE.mjs";
|
|
10
9
|
import { n as parseDotenvFile, t as expandDotenv } from "./dotenv-VQxupEUv.mjs";
|
|
11
|
-
import { t as MagicString } from "./dist-
|
|
12
|
-
import { B as text, E as confirm, I as select, N as note, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-
|
|
10
|
+
import { t as MagicString } from "./dist-AoCzRTJE.mjs";
|
|
11
|
+
import { B as text, E as confirm, I as select, N as note, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
|
|
13
12
|
import { t as writeDrizzleConfig } from "./config-D8MOgiQV.mjs";
|
|
14
13
|
import { n as getPackageDir, t as detectAgents } from "./agents-B_pX_HmQ.mjs";
|
|
15
|
-
import { n as PlatformClient } from "./client-
|
|
14
|
+
import { n as PlatformClient } from "./client-BTZ3XkrB.mjs";
|
|
16
15
|
import { r as formatProjectCommand } from "./preset-UHj9ARyP.mjs";
|
|
17
|
-
import { n as writeVoidProjectConfig, t as canRewriteVoidProjectConfig } from "./config-write-
|
|
18
|
-
import { i as migrateFrameworkAdapterPaths, t as migrateLegacyVoidConfig } from "./migrate-
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { t as
|
|
16
|
+
import { n as writeVoidProjectConfig, t as canRewriteVoidProjectConfig } from "./config-write-B1f88wJA.mjs";
|
|
17
|
+
import { i as migrateFrameworkAdapterPaths, t as migrateLegacyVoidConfig } from "./migrate-BPITvDJN.mjs";
|
|
18
|
+
import { r as cliTitle } from "./output-Dm_A4Tbv.mjs";
|
|
19
|
+
import { a as promptProjectSelection, r as promptAndCreateProject } from "./create-project-l9J7pbtm.mjs";
|
|
20
|
+
import { t as promptForLoginToken } from "./login-CAsAsQ-_.mjs";
|
|
21
|
+
import { i as saveDiscoveredPlatform, t as discoverPlatform } from "./platform-cmd-B3hwKrFK.mjs";
|
|
22
|
+
import { t as connectCloudflare } from "./cloudflare-connect-Ctmrw579.mjs";
|
|
23
23
|
import { n as findInstalledYarnPnpRuntime, r as hasLocalLockfile, t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-BV4AzNul.mjs";
|
|
24
24
|
import { createRequire } from "node:module";
|
|
25
25
|
import { existsSync, mkdirSync, readFileSync, readdirSync, rmdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -2646,7 +2646,7 @@ async function runInitCommand(root, initArgs) {
|
|
|
2646
2646
|
injectAgentBlock(root);
|
|
2647
2647
|
const agents = detectAgents(root);
|
|
2648
2648
|
if (agents.length > 0) {
|
|
2649
|
-
const { linkSkillsForSpecificAgents } = await import("./skills-
|
|
2649
|
+
const { linkSkillsForSpecificAgents } = await import("./skills-D1II1Juz.mjs");
|
|
2650
2650
|
linkSkillsForSpecificAgents(root, agents);
|
|
2651
2651
|
} else log.info("No coding agent detected; read the bundled docs linked in AGENTS.md");
|
|
2652
2652
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as import_picocolors, r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
1
|
import { c as getToken, s as getSiteDomain } from "./auth-DLNN0D3Z.mjs";
|
|
3
2
|
import { d as writeProjectConfig, o as readProjectConfig, t as attachSelectedPlatform } from "./project-C0Fqu05O.mjs";
|
|
4
|
-
import { O as intro, P as outro, T as cancel, j as log } from "./dist-
|
|
5
|
-
import { n as PlatformClient } from "./client-
|
|
6
|
-
import {
|
|
3
|
+
import { O as intro, P as outro, T as cancel, j as log } from "./dist-CTBk70IR.mjs";
|
|
4
|
+
import { n as PlatformClient } from "./client-BTZ3XkrB.mjs";
|
|
5
|
+
import { c as import_picocolors, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
|
|
6
|
+
import { a as promptProjectSelection, r as promptAndCreateProject } from "./create-project-l9J7pbtm.mjs";
|
|
7
7
|
import { r as resolveProjectBySlug } from "./resolve-project-BG5ORGID.mjs";
|
|
8
8
|
//#region src/cli/link.ts
|
|
9
9
|
function projectLabel(slug, root, url) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as dim, c as import_picocolors, o as ensureUtc, r as cliTitle, u as tablePrefix } 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 { O as intro, P as outro, j as log } from "./dist-
|
|
5
|
-
import { n as PlatformClient } from "./client-
|
|
3
|
+
import { O as intro, P as outro, j as log } from "./dist-CTBk70IR.mjs";
|
|
4
|
+
import { n as PlatformClient } from "./client-BTZ3XkrB.mjs";
|
|
5
|
+
import { a as dim, c as import_picocolors, d as tablePrefix, o as ensureUtc, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
|
|
6
6
|
import { r as resolveProjectBySlug } from "./resolve-project-BG5ORGID.mjs";
|
|
7
7
|
//#region src/cli/list.ts
|
|
8
8
|
async function runListCommand(root, slug) {
|
|
@@ -43,7 +43,7 @@ async function runListCommand(root, slug) {
|
|
|
43
43
|
}
|
|
44
44
|
async function showCloudflareDeployments(root, slug) {
|
|
45
45
|
if (slug) throw new Error("project: A project name selects a Void platform project and is not used for direct Cloudflare apps.");
|
|
46
|
-
const { readCloudflareWorkerStatus, resolveCloudflareOperationContext } = await import("./cloudflare-operations-
|
|
46
|
+
const { readCloudflareWorkerStatus, resolveCloudflareOperationContext } = await import("./cloudflare-operations-BT6OWFBk.mjs");
|
|
47
47
|
const status = await readCloudflareWorkerStatus(resolveCloudflareOperationContext(root));
|
|
48
48
|
if (status.versions.length === 0) {
|
|
49
49
|
outro(`No deployments for ${status.workerName}.`);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as AuthUser } from "./auth-DkcFflXV.mjs";
|
|
2
|
-
import { a as CloudEnv, r as CloudContext } from "./handler-
|
|
2
|
+
import { a as CloudEnv, r as CloudContext } from "./handler-HEcZsaij.mjs";
|
|
3
3
|
//#region src/runtime/live.d.ts
|
|
4
4
|
type MaybePromise<T> = T | Promise<T>;
|
|
5
5
|
type LiveControlRequest = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join, i as isAbsolute, u as resolve } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import { v as readRootWranglerConfig } from "./wrangler-
|
|
2
|
+
import { v as readRootWranglerConfig } from "./wrangler-DQF1vKyf.mjs";
|
|
3
3
|
import { r as getMiniflareDatabasePath } from "./runner-p-dMs2UN.mjs";
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as import_picocolors, i as createSpinner, r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
1
|
import { _ as saveToken, a as getApiUrl, c as getToken, g as savePlatformToken, h as runPlatformLogin, l as getTokenSource, m as runLogin, p as removeToken, u as isStagingMode } from "./auth-DLNN0D3Z.mjs";
|
|
3
|
-
import { I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-
|
|
4
|
-
import { i as isExpiredTokenError, n as PlatformClient } from "./client-
|
|
2
|
+
import { I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
|
|
3
|
+
import { i as isExpiredTokenError, n as PlatformClient } from "./client-BTZ3XkrB.mjs";
|
|
4
|
+
import { c as import_picocolors, i as createSpinner, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
|
|
5
5
|
//#region src/cli/login.ts
|
|
6
6
|
async function selectPlatformLoginMethod(platform, requestedId) {
|
|
7
7
|
const providers = platform?.authenticationProviders ?? ["github", "google"];
|
|
@@ -29,7 +29,7 @@ async function selectPlatformLoginMethod(platform, requestedId) {
|
|
|
29
29
|
return methods.find((method) => method.id === provider);
|
|
30
30
|
}
|
|
31
31
|
async function promptForLoginToken(root = process.cwd(), platform) {
|
|
32
|
-
const { id: provider, label: providerName } = await selectPlatformLoginMethod(platform ?? await import("./platform-cmd-
|
|
32
|
+
const { id: provider, label: providerName } = await selectPlatformLoginMethod(platform ?? await import("./platform-cmd-E0FuL212.mjs").then(({ discoverPlatform }) => discoverPlatform(getApiUrl(root))));
|
|
33
33
|
const s = createSpinner();
|
|
34
34
|
s.start(`Opening browser for ${providerName} login...`);
|
|
35
35
|
try {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { a as dim, c as import_picocolors, r as cliTitle } 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 { O as intro, P as outro, j as log } from "./dist-
|
|
5
|
-
import { n as PlatformClient } from "./client-
|
|
3
|
+
import { O as intro, P as outro, j as log } from "./dist-CTBk70IR.mjs";
|
|
4
|
+
import { n as PlatformClient } from "./client-BTZ3XkrB.mjs";
|
|
5
|
+
import { a as dim, c as import_picocolors, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
|
|
6
6
|
//#region src/cli/logs.ts
|
|
7
7
|
async function runLogsCommand(root, filter, range, deployment, level) {
|
|
8
8
|
console.log();
|
|
9
9
|
intro(cliTitle("project logs"));
|
|
10
10
|
const platform = readDeploymentPlatform(root);
|
|
11
11
|
if (platform === "cloudflare") {
|
|
12
|
-
const { resolveCloudflareOperationContext, tailCloudflareWorker } = await import("./cloudflare-operations-
|
|
12
|
+
const { resolveCloudflareOperationContext, tailCloudflareWorker } = await import("./cloudflare-operations-BT6OWFBk.mjs");
|
|
13
13
|
if (range !== "1h") log.warn("Cloudflare tail streams live logs; --range does not select historical entries.");
|
|
14
14
|
if (level && level !== "all" && level !== "error") log.warn("Cloudflare tail cannot filter individual console levels; showing all invocation logs.");
|
|
15
15
|
await tailCloudflareWorker(resolveCloudflareOperationContext(root), {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { a as join, n as dirname } from "./dist-BVqXeR_h.mjs";
|
|
2
|
-
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
3
2
|
import { o as TYPED_CONFIG_FILE, s as loadTypedVoidConfigFile } from "./project-paths-GgcMozYz.mjs";
|
|
4
|
-
import { g as validateConfig } from "./config-
|
|
5
|
-
import {
|
|
6
|
-
import { O as intro, P as outro, j as log } from "./dist-
|
|
3
|
+
import { g as validateConfig } from "./config-Br_JZD6u.mjs";
|
|
4
|
+
import { U as seedCloudflareConfig, W as stashCloudflareDeployPointer, z as VOID_LOCK_FILE } from "./wrangler-DQF1vKyf.mjs";
|
|
5
|
+
import { O as intro, P as outro, j as log } from "./dist-CTBk70IR.mjs";
|
|
6
|
+
import { r as cliTitle } from "./output-Dm_A4Tbv.mjs";
|
|
7
7
|
import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
|
|
8
8
|
import { parseSync } from "vite";
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as join } from "./dist-BVqXeR_h.mjs";
|
|
2
2
|
import { n as loadVoidAuthConfig, t as findVoidAuthConfig } from "./config-DPByhVck.mjs";
|
|
3
|
-
import { m as readConfig } from "./config-
|
|
3
|
+
import { m as readConfig } from "./config-Br_JZD6u.mjs";
|
|
4
4
|
import { r as getMiniflareDatabasePath } from "./runner-p-dMs2UN.mjs";
|
|
5
5
|
import { a as loadLocalEnv } from "./env-_v349JBd.mjs";
|
|
6
6
|
import { r as resolveVoidAuthMigrationSchema } from "./drizzle-Beb2Am5S.mjs";
|
|
@@ -137,8 +137,8 @@ async function runAuth(origin, args) {
|
|
|
137
137
|
if (args.action === "login" || args.action === "token" && args.tokenStdin) {
|
|
138
138
|
if (!args.tokenStdin && !process.stdin.isTTY) throw new OperatorClientError("Browser login requires an interactive terminal. Use --token-stdin to exchange an API session.", "interactive_login_required");
|
|
139
139
|
const apiToken = args.tokenStdin ? await readOperatorApiTokenStdin() : await (async () => {
|
|
140
|
-
const { discoverPlatform } = await import("./platform-cmd-
|
|
141
|
-
const { selectPlatformLoginMethod } = await import("./login-
|
|
140
|
+
const { discoverPlatform } = await import("./platform-cmd-E0FuL212.mjs");
|
|
141
|
+
const { selectPlatformLoginMethod } = await import("./login-CGcRKEoi.mjs");
|
|
142
142
|
const { runPlatformLogin } = await import("./auth-CZuiVsFh.mjs");
|
|
143
143
|
return runPlatformLogin(origin, (await selectPlatformLoginMethod(await discoverPlatform(origin), args.providerExplicit ? args.provider : void 0)).id, (url) => process.stderr.write(`Sign in at ${url}\n`));
|
|
144
144
|
})();
|
|
@@ -279,7 +279,7 @@ async function followOperatorLogs(client, args, signal, pollIntervalMs = 2e3) {
|
|
|
279
279
|
}
|
|
280
280
|
async function runOperatorCommand(args) {
|
|
281
281
|
if (!args.action) {
|
|
282
|
-
const { printHelpPage } = await import("./help-
|
|
282
|
+
const { printHelpPage } = await import("./help-CmZzxUba.mjs");
|
|
283
283
|
printHelpPage(["platform", args.group]);
|
|
284
284
|
return;
|
|
285
285
|
}
|
|
@@ -288,7 +288,7 @@ async function runOperatorCommand(args) {
|
|
|
288
288
|
const client = new OperatorClient(origin, readOperatorToken(origin));
|
|
289
289
|
if (args.method === "POST") {
|
|
290
290
|
if (!args.plan && !args.yes && (!process.stdin.isTTY || !process.stderr.isTTY)) throw new OperatorClientError("Mutations in non-interactive mode require --yes or --plan.", "confirmation_required");
|
|
291
|
-
if (args.tokenStdin && args.group === "email" && (args.action === "domain-add" || args.action === "domain-remove")) args = {
|
|
291
|
+
if (args.tokenStdin && (args.group === "email" && (args.action === "domain-add" || args.action === "domain-remove") || args.group === "zero-trust" && args.action === "configure")) args = {
|
|
292
292
|
...args,
|
|
293
293
|
body: {
|
|
294
294
|
...args.body,
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { n as __toESM } from "./rolldown-runtime-DXIUcv95.mjs";
|
|
2
|
+
import { t as require_picocolors } from "./picocolors-BTps1_gs.mjs";
|
|
3
|
+
import { L as spinner, j as log, k as isCI } from "./dist-CTBk70IR.mjs";
|
|
4
|
+
//#region src/cli/output.ts
|
|
5
|
+
var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
|
|
6
|
+
/** Keep recovery commands on the same CLI when using the local checkout launcher. */
|
|
7
|
+
function cliCommandName() {
|
|
8
|
+
const entryName = process.argv[1]?.split(/[\\/]/).at(-1);
|
|
9
|
+
return entryName === "void-dev" || entryName === "void-dev.cmd" ? "void-dev" : "void";
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Terminal-safe spinner wrapper. In CI and redirected output,
|
|
13
|
+
* `@clack/prompts` spinner emits DEC Private Mode cursor hide/show codes
|
|
14
|
+
* (`\x1b[?25l` / `\x1b[?25h`) that render as text artifacts. This wrapper
|
|
15
|
+
* replaces the spinner with plain log output.
|
|
16
|
+
*/
|
|
17
|
+
function createSpinner(options, isTerminal = process.stdout.isTTY === true) {
|
|
18
|
+
if (!isCI() && isTerminal) return spinner(options);
|
|
19
|
+
let currentMessage = "";
|
|
20
|
+
return {
|
|
21
|
+
start(msg = "") {
|
|
22
|
+
currentMessage = msg;
|
|
23
|
+
if (msg) log.step(msg);
|
|
24
|
+
},
|
|
25
|
+
stop(msg = "") {
|
|
26
|
+
if (msg) log.info(msg);
|
|
27
|
+
},
|
|
28
|
+
message(msg = "") {
|
|
29
|
+
if (msg && msg !== currentMessage) {
|
|
30
|
+
currentMessage = msg;
|
|
31
|
+
log.step(msg);
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
cancel(msg = "") {
|
|
35
|
+
if (msg) log.warn(msg);
|
|
36
|
+
},
|
|
37
|
+
error(msg = "") {
|
|
38
|
+
if (msg) log.error(msg);
|
|
39
|
+
},
|
|
40
|
+
clear() {},
|
|
41
|
+
get isCancelled() {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function cliTitle(command) {
|
|
47
|
+
return import_picocolors.default.blue(`void ${command}`);
|
|
48
|
+
}
|
|
49
|
+
function sectionTitle(title) {
|
|
50
|
+
return import_picocolors.default.reset(import_picocolors.default.blue(title));
|
|
51
|
+
}
|
|
52
|
+
function categoryTitle(title) {
|
|
53
|
+
return import_picocolors.default.reset(import_picocolors.default.bold(import_picocolors.default.cyan(title)));
|
|
54
|
+
}
|
|
55
|
+
function dim(text) {
|
|
56
|
+
return import_picocolors.default.dim(text);
|
|
57
|
+
}
|
|
58
|
+
function tablePrefix() {
|
|
59
|
+
return `${import_picocolors.default.gray("│")} `;
|
|
60
|
+
}
|
|
61
|
+
/** Strip terminal control characters from text received from a platform. */
|
|
62
|
+
function sanitizeTerminalText(value) {
|
|
63
|
+
return value.replace(/[\u0000-\u001f\u007f-\u009f]/g, " ");
|
|
64
|
+
}
|
|
65
|
+
function helpLine(command, description) {
|
|
66
|
+
return `${import_picocolors.default.reset(command.padEnd(34))} ${import_picocolors.default.dim(description)}`;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Ensure a timestamp string will be parsed as UTC by `new Date()`.
|
|
70
|
+
* DB timestamps lack timezone info — appends 'Z' only when no
|
|
71
|
+
* existing indicator (Z, z, or numeric offset) is present.
|
|
72
|
+
*/
|
|
73
|
+
function ensureUtc(s) {
|
|
74
|
+
const last = s.at(-1);
|
|
75
|
+
if (last === "Z" || last === "z") return s;
|
|
76
|
+
if (s.includes("+", 10)) return s;
|
|
77
|
+
if (s.lastIndexOf("-") > 9) return s;
|
|
78
|
+
return s + "Z";
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
export { dim as a, import_picocolors as c, tablePrefix as d, createSpinner as i, sanitizeTerminalText as l, cliCommandName as n, ensureUtc as o, cliTitle as r, helpLine as s, categoryTitle as t, sectionTitle as u };
|
package/dist/pages/client.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as PageObject } from "../protocol-
|
|
1
|
+
import { t as PageObject } from "../protocol-BBa6cstI.mjs";
|
|
2
2
|
import { n as CacheForInput, r as CacheForResult } from "../prefetch-Ce6la4EI.mjs";
|
|
3
3
|
//#region src/pages/action-result.d.ts
|
|
4
4
|
type ActionErrorHandlingScope = "callSite" | "boundary";
|
package/dist/pages/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as renderHtmlAttrs, i as renderHeadToString, n as HeadDescriptor, o as resolveHead, r as renderBodyAttrs, t as HeadConfig } from "../head-Do8P4puT.mjs";
|
|
2
|
-
import "../config-
|
|
2
|
+
import "../config-VavjpDnp.mjs";
|
|
3
3
|
import { i as PageDefinition, n as LayoutDefinition, o as PageScanResult, r as NamedLayoutDefinition } from "../types-BAp5AEBU.mjs";
|
|
4
4
|
import { t as serializePageData } from "../serialize-CfSwWfF2.mjs";
|
|
5
5
|
//#region src/project-paths.d.ts
|
package/dist/pages/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as join } from "../dist-BVqXeR_h.mjs";
|
|
2
2
|
import { r as resolvePagesDir } from "../project-paths-GgcMozYz.mjs";
|
|
3
|
-
import { m as readConfig } from "../config-
|
|
4
|
-
import { i as parseRedirectsFile } from "../headers-
|
|
3
|
+
import { m as readConfig } from "../config-Br_JZD6u.mjs";
|
|
4
|
+
import { i as parseRedirectsFile } from "../headers-DWi2IXWx.mjs";
|
|
5
5
|
import { a as resolveNamedLayout, i as resolveLayoutIds, n as resolveEffectiveLayoutChain, r as resolveLayoutChain, t as scanPages } from "../scan-4tfN-PSn.mjs";
|
|
6
6
|
import { i as resolveHead, n as renderHeadToString, r as renderHtmlAttrs, t as renderBodyAttrs } from "../head-D_QRR5Yd.mjs";
|
|
7
7
|
import { t as serializePageData } from "../serialize-BPvnNQuA.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as PageScanResult } from "../types-BAp5AEBU.mjs";
|
|
2
2
|
import { ResolvedConfig, ViteDevServer } from "vite";
|
|
3
|
-
//#region ../../node_modules/.pnpm/magic-string@1.
|
|
3
|
+
//#region ../../node_modules/.pnpm/magic-string@1.4.2/node_modules/magic-string/dist/index.d.mts
|
|
4
4
|
//#region src/SourceMap.d.ts
|
|
5
5
|
interface SourceMapOptions {
|
|
6
6
|
/**
|
|
@@ -56,7 +56,9 @@ declare class SourceMap {
|
|
|
56
56
|
x_google_ignoreList: number[] | undefined;
|
|
57
57
|
debugId: string | undefined;
|
|
58
58
|
rangeMappings: string | undefined;
|
|
59
|
-
constructor(properties: DecodedSourceMap
|
|
59
|
+
constructor(properties: DecodedSourceMap | (Omit<DecodedSourceMap, "mappings"> & {
|
|
60
|
+
mappings: string;
|
|
61
|
+
}));
|
|
60
62
|
/**
|
|
61
63
|
* Returns the equivalent of `JSON.stringify(map)`
|
|
62
64
|
*/
|
|
@@ -90,8 +92,7 @@ interface UpdateOptions {
|
|
|
90
92
|
}
|
|
91
93
|
type ReplacementFunction = (substring: string, ...args: any[]) => string;
|
|
92
94
|
declare class MagicString {
|
|
93
|
-
original: string;
|
|
94
|
-
indentExclusionRanges: MagicStringOptions["indentExclusionRanges"];
|
|
95
|
+
readonly original: string;
|
|
95
96
|
offset: number;
|
|
96
97
|
constructor(string: string, options?: MagicStringOptions);
|
|
97
98
|
/**
|
|
@@ -143,8 +144,14 @@ declare class MagicString {
|
|
|
143
144
|
indent(indentStr?: string, options?: IndentOptions): this;
|
|
144
145
|
/**
|
|
145
146
|
* Moves the characters from `start` and `end` to `index`.
|
|
147
|
+
*
|
|
148
|
+
* `affinity` controls where the range is anchored at `index`. With the
|
|
149
|
+
* default `'right'`, it is inserted before the content that starts at `index`;
|
|
150
|
+
* with `'left'`, it is inserted after the content that ends at `index`. The
|
|
151
|
+
* two differ only when other content has already been moved to that boundary,
|
|
152
|
+
* mirroring the `appendLeft`/`appendRight` distinction.
|
|
146
153
|
*/
|
|
147
|
-
move(start: number, end: number, index: number): this;
|
|
154
|
+
move(start: number, end: number, index: number, affinity?: "left" | "right"): this;
|
|
148
155
|
/**
|
|
149
156
|
* Replaces the characters from `start` to `end` with `content`, along with the appended/prepended content in
|
|
150
157
|
* that range. The same restrictions as `s.remove()` apply.
|
|
@@ -178,7 +185,10 @@ declare class MagicString {
|
|
|
178
185
|
prependRight(index: number, content: string): this;
|
|
179
186
|
/**
|
|
180
187
|
* Removes the characters from `start` to `end` (of the original string, **not** the generated string).
|
|
181
|
-
*
|
|
188
|
+
* Content appended or prepended at positions strictly inside the range is removed with it, while
|
|
189
|
+
* content attached at `start` or `end` is preserved — use `s.overwrite(start, end, '')` to remove
|
|
190
|
+
* the range including its edge inserts.
|
|
191
|
+
* Repeated removals and removals with partially overlapping ranges are allowed.
|
|
182
192
|
*/
|
|
183
193
|
remove(start: number, end: number): this;
|
|
184
194
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as dirname, u as resolve } from "../dist-BVqXeR_h.mjs";
|
|
2
2
|
import { n as isIdentifier, r as isLiteral } from "../ast-CPGPjb0V.mjs";
|
|
3
3
|
import { n as resolveEffectiveLayoutChain, t as scanPages } from "../scan-4tfN-PSn.mjs";
|
|
4
|
-
import { t as MagicString } from "../dist-
|
|
4
|
+
import { t as MagicString } from "../dist-AoCzRTJE.mjs";
|
|
5
5
|
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
6
6
|
import { normalizePath, parseSync } from "vite";
|
|
7
7
|
//#region src/pages/island-imports.ts
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { w as ValidationError } from "../handler-
|
|
2
|
-
import { a as handlePageMutation, i as handlePageGet, n as PageRenderResult, o as safeJsonStringify, r as flattenValidationErrors, t as PageObject } from "../protocol-
|
|
1
|
+
import { w as ValidationError } from "../handler-HEcZsaij.mjs";
|
|
2
|
+
import { a as handlePageMutation, i as handlePageGet, n as PageRenderResult, o as safeJsonStringify, r as flattenValidationErrors, t as PageObject } from "../protocol-BBa6cstI.mjs";
|
|
3
3
|
export { PageObject, PageRenderResult, ValidationError, flattenValidationErrors, handlePageGet, handlePageMutation, safeJsonStringify };
|