void 0.20.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{auth-cmd-CYVhSNFy.mjs → auth-cmd-CAH62yDU.mjs} +2 -2
- package/dist/{build-cmd-CkVD1uOh.mjs → build-cmd-CJvZvPQO.mjs} +1 -1
- package/dist/{cache-QcUfR-ff.mjs → cache-BlNeQjuP.mjs} +1 -1
- package/dist/{cancel-deploy-DsvWKFTe.mjs → cancel-deploy-CmlAZ9P6.mjs} +1 -1
- package/dist/cli/cli.mjs +164 -33
- package/dist/{client-CyCHWSO_.mjs → client-Clirrol3.mjs} +59 -0
- package/dist/{cloudflare-auth-DRkGe7-s.mjs → cloudflare-auth-B1QtTO1b.mjs} +51 -4
- package/dist/{cloudflare-cmd-D3ME2GAe.mjs → cloudflare-cmd-B6_OZx2V.mjs} +1 -1
- package/dist/{cloudflare-connect-BivMefMA.mjs → cloudflare-connect-j5D4hhrG.mjs} +1 -1
- package/dist/{connect-D9Yr-T5f.mjs → connect-C04Wdy_h.mjs} +4 -4
- package/dist/{create-project-DMV-csEm.mjs → create-project-ChGZ1DFd.mjs} +1 -1
- package/dist/{db-BxoUWL0F.mjs → db-D2d_mUsB.mjs} +31 -21
- package/dist/{delete-iJOqxBz1.mjs → delete-D8GigDk8.mjs} +1 -1
- package/dist/{deploy-CcDoeBIf.mjs → deploy-iXZ3F0N6.mjs} +20 -22
- package/dist/{domain-gu_iaHmn.mjs → domain-B1VmoSr0.mjs} +1 -1
- package/dist/email-uKyQYUVY.mjs +1016 -0
- package/dist/{env-DmU2To0C.mjs → env-BcQzYgoG.mjs} +1 -1
- package/dist/{gen-BKw6qHIg.mjs → gen-DI2YwdBM.mjs} +1 -1
- package/dist/generate-RTK8_kK1.mjs +47 -0
- package/dist/{github-cmd-DJS5Ab-H.mjs → github-cmd-xItS5Zwf.mjs} +1 -1
- package/dist/{inbound-CNKxb3FY.mjs → inbound-2d0zi2yS.mjs} +13 -1
- package/dist/{inbound-BJ70in1n.d.mts → inbound-afAcWeQ9.d.mts} +9 -0
- package/dist/index.mjs +20 -18
- package/dist/{init-Dx5cgKqK.mjs → init-BD-9THgn.mjs} +5 -5
- package/dist/{link-D_rm5sRH.mjs → link-RMdgjF1v.mjs} +2 -2
- package/dist/{list-M8XShti7.mjs → list-3F52R_yO.mjs} +1 -1
- package/dist/{local-d1-BE8KBbMy.mjs → local-d1-D2I6Ox5F.mjs} +1 -1
- package/dist/{login-C8-UuLnp.mjs → login-pV69H-ZO.mjs} +1 -1
- package/dist/{logs-DwFU7dMW.mjs → logs-DFHHD6wE.mjs} +1 -1
- package/dist/{node-BkaXcpAc.mjs → node-Dk3H2jmU.mjs} +1 -1
- package/dist/{platform-cmd-BEOVv1PN.mjs → platform-cmd-DxJ2FRwR.mjs} +1 -1
- package/dist/{platform-domain-BszUfiS8.mjs → platform-domain-ChvbJkdy.mjs} +2 -2
- package/dist/{platform-lifecycle-CjSr6xf0.mjs → platform-lifecycle-DN4MzJF_.mjs} +6 -6
- package/dist/{platform-management-W30iCaTL.mjs → platform-management-Db2PXw0B.mjs} +1 -1
- package/dist/{platform-recovery-pHHv4ZSg.mjs → platform-recovery-C_YO-tIs.mjs} +2 -2
- package/dist/{project-cmd-DCpk1cDt.mjs → project-cmd-Mo0V9yKS.mjs} +10 -10
- package/dist/{requests-Dn8Vheh1.mjs → requests-BcKOVpRg.mjs} +1 -1
- package/dist/{rollback-CtlPXEBi.mjs → rollback-Bx85-0xh.mjs} +1 -1
- package/dist/{runner-mysql-CgRFl3s6.mjs → runner-mysql-7BPUNGmL.mjs} +1 -1
- package/dist/{runner-pg-DCkWPsWS.mjs → runner-pg-BkEza-dX.mjs} +1 -1
- package/dist/runtime/email/testing.d.mts +1 -1
- package/dist/runtime/email/testing.mjs +1 -1
- package/dist/runtime/email.d.mts +1 -1
- package/dist/runtime/email.mjs +1 -1
- package/dist/{secret-BqTxGqki.mjs → secret-ByhJ9AMl.mjs} +1 -1
- package/dist/sqlite-validation-BzKMWnO4.mjs +25 -0
- package/dist/{validate-Bihr8WBi.mjs → validate-tBBN_dXH.mjs} +1 -0
- package/package.json +7 -7
- package/skills/void/docs/guide/email.md +34 -3
- package/skills/void/docs/guide/platform-development.md +29 -0
- package/skills/void/docs/reference/cli.md +51 -0
- package/dist/email-r6DHJyAB.mjs +0 -262
|
@@ -3,7 +3,7 @@ import { D as log, E as intro, O as note, k as outro, r as cliTitle } from "./ou
|
|
|
3
3
|
import { b as readDeploymentPlatform, c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
4
4
|
import { r as generateEnvTypes, t as findEnvFile } from "./env-types-BNPhro-M.mjs";
|
|
5
5
|
import { c as fetchRemoteSecretNames, l as formatEnvReport, p as validateProdEnv } from "./env-validation-ENpMy6Ez.mjs";
|
|
6
|
-
import { n as PlatformClient } from "./client-
|
|
6
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
7
7
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
8
8
|
//#region src/cli/env.ts
|
|
9
9
|
async function runEnvCommand(root, args) {
|
|
@@ -3,7 +3,7 @@ import { C as cancel, D as log, E as intro, F as isCancel, j as select, k as out
|
|
|
3
3
|
import { n as readProjectPaths } from "./project-paths-SK8nMHPp.mjs";
|
|
4
4
|
import { c as getDatabaseDialect, f as readConfig } from "./config-BQFq7QvD.mjs";
|
|
5
5
|
import { n as ensureProjectTsconfig } from "./project-tsconfig-Ql2XsSQp.mjs";
|
|
6
|
-
import { c as collectMigrations, n as listDrizzleArtifacts, t as assertJournalCoherence, u as readJournal } from "./validate-
|
|
6
|
+
import { c as collectMigrations, n as listDrizzleArtifacts, t as assertJournalCoherence, u as readJournal } from "./validate-tBBN_dXH.mjs";
|
|
7
7
|
import { n as writeDrizzleConfig } from "./config-NOG_U1aK.mjs";
|
|
8
8
|
import { t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-DxSInkzL.mjs";
|
|
9
9
|
import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { n as dirname, o as join } from "./dist-BrsS7cai.mjs";
|
|
2
|
+
import { c as collectMigrations } from "./validate-tBBN_dXH.mjs";
|
|
3
|
+
import { n as openMigrationValidationDatabase } from "./sqlite-validation-BzKMWnO4.mjs";
|
|
4
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
|
|
5
|
+
//#region src/drizzle/generate.ts
|
|
6
|
+
function snapshotFiles(root) {
|
|
7
|
+
const files = /* @__PURE__ */ new Map();
|
|
8
|
+
if (existsSync(root)) {
|
|
9
|
+
for (const entry of readdirSync(root, {
|
|
10
|
+
recursive: true,
|
|
11
|
+
withFileTypes: true
|
|
12
|
+
})) if (entry.isFile()) {
|
|
13
|
+
const path = join(entry.parentPath, entry.name);
|
|
14
|
+
files.set(path, readFileSync(path));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return files;
|
|
18
|
+
}
|
|
19
|
+
/** Keep SQL and Drizzle's snapshot/journal together when generation fails validation. */
|
|
20
|
+
async function generateValidatedSqliteMigrations(migrationsDir, generate) {
|
|
21
|
+
try {
|
|
22
|
+
(await openMigrationValidationDatabase(collectMigrations(migrationsDir))).close();
|
|
23
|
+
} catch (cause) {
|
|
24
|
+
throw new Error(`${cause instanceof Error ? cause.message : String(cause)}\nRepair the unapplied migration before generating again. Drizzle diffs snapshots; rerunning generation does not repair existing SQL.`, { cause });
|
|
25
|
+
}
|
|
26
|
+
const existed = existsSync(migrationsDir);
|
|
27
|
+
const previous = snapshotFiles(migrationsDir);
|
|
28
|
+
try {
|
|
29
|
+
generate();
|
|
30
|
+
(await openMigrationValidationDatabase(collectMigrations(migrationsDir))).close();
|
|
31
|
+
} catch (cause) {
|
|
32
|
+
if (!existed) rmSync(migrationsDir, {
|
|
33
|
+
recursive: true,
|
|
34
|
+
force: true
|
|
35
|
+
});
|
|
36
|
+
else {
|
|
37
|
+
for (const path of snapshotFiles(migrationsDir).keys()) if (!previous.has(path)) rmSync(path);
|
|
38
|
+
for (const [path, contents] of previous) {
|
|
39
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
40
|
+
writeFileSync(path, contents);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
throw new Error(`${cause instanceof Error ? cause.message : String(cause)}\nMigration generation failed; previous SQL, snapshots and journal were restored. Review the schema change before retrying. For additive changes, use an additive migration rather than rebuilding existing tables.`, { cause });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { generateValidatedSqliteMigrations };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as cancel, D as log, F as isCancel, N as text, c as import_picocolors, j as select, w as confirm } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { c as getToken, d as openBrowser, i as createCodeVerifier, n as awaitBrowserCallback, r as createCodeChallenge, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
-
import { n as PlatformClient, o as parsePlatformErrorBody, t as PlatformApiError } from "./client-
|
|
3
|
+
import { n as PlatformClient, o as parsePlatformErrorBody, t as PlatformApiError } from "./client-Clirrol3.mjs";
|
|
4
4
|
import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project--Vxawf7z.mjs";
|
|
5
5
|
import { t as collectGitDeployMetadata } from "./git-metadata-D-gurjzG.mjs";
|
|
6
6
|
import { randomBytes } from "node:crypto";
|
|
@@ -75,6 +75,10 @@ function tryReadEmailDomain() {
|
|
|
75
75
|
}
|
|
76
76
|
return typeof raw === "string" && raw.length > 0 ? raw : void 0;
|
|
77
77
|
}
|
|
78
|
+
function readRelayDomain(message) {
|
|
79
|
+
const raw = message.__voidRelayDomain;
|
|
80
|
+
return typeof raw === "string" && raw.length > 0 ? raw : void 0;
|
|
81
|
+
}
|
|
78
82
|
/**
|
|
79
83
|
* Identity helper that types the inbound email handler. Use as the default
|
|
80
84
|
* export of `email/<address>.ts` or `email/_default.ts`.
|
|
@@ -246,7 +250,8 @@ function bytesToReadableStream(bytes) {
|
|
|
246
250
|
function createMessageProxy(envelope, opts = {}) {
|
|
247
251
|
const actions = [];
|
|
248
252
|
const headers = new Headers(envelope.headers);
|
|
249
|
-
const
|
|
253
|
+
const slug = envelope.viaDomain === void 0 || envelope.viaDomain === "" ? opts.slug : void 0;
|
|
254
|
+
const userVisibleTo = stripSlugFromAddress(envelope.to, slug);
|
|
250
255
|
let cachedRaw;
|
|
251
256
|
let bufferingPromise;
|
|
252
257
|
function readRawOnce() {
|
|
@@ -362,6 +367,12 @@ function createMessageProxy(envelope, opts = {}) {
|
|
|
362
367
|
writable: false,
|
|
363
368
|
configurable: false
|
|
364
369
|
});
|
|
370
|
+
if (typeof envelope.viaDomain === "string" && envelope.viaDomain.length > 0) Object.defineProperty(message, "__voidRelayDomain", {
|
|
371
|
+
value: envelope.viaDomain,
|
|
372
|
+
enumerable: false,
|
|
373
|
+
writable: false,
|
|
374
|
+
configurable: false
|
|
375
|
+
});
|
|
365
376
|
proxyRawCache.set(message, { read: readRawOnce });
|
|
366
377
|
return {
|
|
367
378
|
message,
|
|
@@ -592,6 +603,7 @@ async function buildReplyMessage(message, opts) {
|
|
|
592
603
|
const originalReferences = headers.get("References") ?? "";
|
|
593
604
|
let fromAddr;
|
|
594
605
|
if (opts.from !== void 0) fromAddr = opts.from;
|
|
606
|
+
else if (readRelayDomain(message) !== void 0) fromAddr = message.to;
|
|
595
607
|
else {
|
|
596
608
|
const slug = tryReadProjectSlug();
|
|
597
609
|
if (slug) {
|
|
@@ -215,6 +215,15 @@ interface EmailEnvelope {
|
|
|
215
215
|
*/
|
|
216
216
|
raw: ReadableStream<Uint8Array> | Uint8Array;
|
|
217
217
|
rawSize: number;
|
|
218
|
+
/**
|
|
219
|
+
* The registered custom domain this message arrived on, set only by the
|
|
220
|
+
* platform's relay lane (`POST /email/relay` — design doc 0078, "Custom
|
|
221
|
+
* domains on Cloudflare"). Undefined on the platform mail zone. A relayed
|
|
222
|
+
* recipient carries no `<slug>+` prefix, so the generated dispatcher runs
|
|
223
|
+
* in no-prefix mode for it (Mode B item 4) and `replyEmail` defaults
|
|
224
|
+
* `from` to the address that received it, on this domain.
|
|
225
|
+
*/
|
|
226
|
+
viaDomain?: string;
|
|
218
227
|
}
|
|
219
228
|
/**
|
|
220
229
|
* What the user handler decided to do with a message. Returned from the
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as __toESM } from "./rolldown-runtime-rQ84J-ij.mjs";
|
|
2
2
|
import { c as relative, l as resolve, n as dirname, o as join } from "./dist-BrsS7cai.mjs";
|
|
3
3
|
import { st as require_picocolors } from "./output-tFQLLj26.mjs";
|
|
4
|
-
import { D as resolveAssetRoutingPolicy, E as hasDocumentRoutes, T as hasApiRoutes, _ as scanDurableObjectModules, c as resolveDistDir, d as generateQueueResolverSource, f as prerenderPages, g as hasRevalidate, h as collectRevalidate, l as resolveWorkerDirName, m as collectPages, p as prerenderPagesNode, v as SEND_EMAIL_BINDING } from "./deploy-
|
|
4
|
+
import { D as resolveAssetRoutingPolicy, E as hasDocumentRoutes, T as hasApiRoutes, _ as scanDurableObjectModules, c as resolveDistDir, d as generateQueueResolverSource, f as prerenderPages, g as hasRevalidate, h as collectRevalidate, l as resolveWorkerDirName, m as collectPages, p as prerenderPagesNode, v as SEND_EMAIL_BINDING } from "./deploy-iXZ3F0N6.mjs";
|
|
5
5
|
import { i as resolveProjectPaths, n as readProjectPaths, t as assertNoRootSourceConventionConflicts } from "./project-paths-SK8nMHPp.mjs";
|
|
6
6
|
import { a as scanQueuesSync, c as loadVoidAuthConfig, i as scanWebSocketRoutesSync, n as scanRoutePatternsSync, o as scanJobsSync, r as scanRoutes, s as findVoidAuthConfig, t as scanMiddlewareSync } from "./scan-BMH4rzlv.mjs";
|
|
7
7
|
import { a as getApiUrl, b as readDeploymentPlatform, c as getToken, o as getProxyUrl, u as isStagingMode, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
@@ -12,7 +12,7 @@ import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestination
|
|
|
12
12
|
import { n as ensureProjectTsconfig, r as writeFileIfChanged } from "./project-tsconfig-Ql2XsSQp.mjs";
|
|
13
13
|
import { a as inferBindingsFromSource, i as inferProjectBindings, n as FRAMEWORK_SCAN_DIRS, o as walk, r as detectFramework, t as DEFAULT_SCAN_DIRS } from "./plugin-inference-BDRfZngg.mjs";
|
|
14
14
|
import { a as validateSsrEntries, c as isIdentifier, l as isLiteral, n as SSR_SERVER_ENTRY_RELATIVE_PATHS, o as validateSsrEntry, t as SSR_CLIENT_ENTRY_RELATIVE_PATHS, u as isMemberExpression } from "./entry-DU3oDoQ3.mjs";
|
|
15
|
-
import { n as writeLocalD1PersistState, t as resolveLocalD1Target } from "./local-d1-
|
|
15
|
+
import { n as writeLocalD1PersistState, t as resolveLocalD1Target } from "./local-d1-D2I6Ox5F.mjs";
|
|
16
16
|
import { n as parseDotenvFile } from "./dotenv-VQxupEUv.mjs";
|
|
17
17
|
import { i as generateVoidAuthDrizzleSchema, n as generateQueueTypes, o as DRIZZLE_OPERATORS, r as generateVoidAuthDatabaseModule, s as generateDbDts, t as generateRouteTypes } from "./route-types-Da-DpyUp.mjs";
|
|
18
18
|
import { t as discoverSchema } from "./discover-xvfrgJeo.mjs";
|
|
@@ -701,7 +701,7 @@ export function createDb(d1) {
|
|
|
701
701
|
const migrationsDir = paths.migrationsDir;
|
|
702
702
|
if (!(existsSync(migrationsDir) && readdirSync(migrationsDir).some((f) => f.endsWith(".sql")))) {
|
|
703
703
|
if (dialect === "sqlite") {
|
|
704
|
-
const { getApplicationTables, getMiniflareDatabasePath } = await import("./local-d1-
|
|
704
|
+
const { getApplicationTables, getMiniflareDatabasePath } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
|
|
705
705
|
if ((await getApplicationTables(getMiniflareDatabasePath(options.localD1PersistRoot ?? join(root, ".void"), options.localD1DatabaseId ?? "local")).catch(() => [])).length > 0) return;
|
|
706
706
|
}
|
|
707
707
|
voidWarn(`Schema found but no migrations in ${paths.sourceRelative("db/migrations")}/.\n \`void db push\` syncs the schema to your local DB without creating migration files.
|
|
@@ -1982,10 +1982,10 @@ function migrationPlugin(root, dialect, databaseId = "local", persistRoot = join
|
|
|
1982
1982
|
else warn();
|
|
1983
1983
|
return;
|
|
1984
1984
|
}
|
|
1985
|
-
const { collectMigrations } = await import("./validate-
|
|
1986
|
-
const { validateMigrations } = await import("./validate-
|
|
1985
|
+
const { collectMigrations } = await import("./validate-tBBN_dXH.mjs").then((n) => n.l);
|
|
1986
|
+
const { validateMigrations } = await import("./validate-tBBN_dXH.mjs").then((n) => n.i);
|
|
1987
1987
|
const allMigrations = collectMigrations(migrationsDir);
|
|
1988
|
-
const appliedNames = dialect === "mysql" ? await import("./runner-mysql-
|
|
1988
|
+
const appliedNames = dialect === "mysql" ? await import("./runner-mysql-7BPUNGmL.mjs").then((n) => n.n).then((runner) => runner.getMySqlAppliedMigrations(url)) : await import("./runner-pg-BkEza-dX.mjs").then((n) => n.n).then((runner) => runner.getPgAppliedMigrations(url));
|
|
1989
1989
|
const appliedSet = new Set(appliedNames);
|
|
1990
1990
|
const pending = allMigrations.filter((migration) => !appliedSet.has(migration.name));
|
|
1991
1991
|
if (pending.length > 0) try {
|
|
@@ -1993,12 +1993,12 @@ function migrationPlugin(root, dialect, databaseId = "local", persistRoot = join
|
|
|
1993
1993
|
} catch (err) {
|
|
1994
1994
|
voidWarn(err instanceof Error ? err.message : String(err));
|
|
1995
1995
|
}
|
|
1996
|
-
const applied = dialect === "mysql" ? await import("./runner-mysql-
|
|
1996
|
+
const applied = dialect === "mysql" ? await import("./runner-mysql-7BPUNGmL.mjs").then((n) => n.n).then((runner) => runner.runMySqlMigrations(migrationsDir, url)) : await import("./runner-pg-BkEza-dX.mjs").then((n) => n.n).then((runner) => runner.runPgMigrations(migrationsDir, url));
|
|
1997
1997
|
if (applied.length > 0) voidLog(`Applied ${applied.length} migration(s): ${applied.join(", ")}`);
|
|
1998
1998
|
} else if (hasSqlMigrations) {
|
|
1999
|
-
const { runMigrations, getMiniflareDatabasePath, getAppliedMigrations } = await import("./local-d1-
|
|
2000
|
-
const { collectMigrations } = await import("./validate-
|
|
2001
|
-
const { validateMigrations } = await import("./validate-
|
|
1999
|
+
const { runMigrations, getMiniflareDatabasePath, getAppliedMigrations } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
|
|
2000
|
+
const { collectMigrations } = await import("./validate-tBBN_dXH.mjs").then((n) => n.l);
|
|
2001
|
+
const { validateMigrations } = await import("./validate-tBBN_dXH.mjs").then((n) => n.i);
|
|
2002
2002
|
const dbPath = getMiniflareDatabasePath(persistRoot, databaseId);
|
|
2003
2003
|
const allMigrations = collectMigrations(migrationsDir);
|
|
2004
2004
|
const appliedRows = await getAppliedMigrations(dbPath);
|
|
@@ -2013,7 +2013,7 @@ function migrationPlugin(root, dialect, databaseId = "local", persistRoot = join
|
|
|
2013
2013
|
if (applied.length > 0) voidLog(`Applied ${applied.length} migration(s): ${applied.join(", ")}`);
|
|
2014
2014
|
}
|
|
2015
2015
|
if (auth?.enabled) {
|
|
2016
|
-
const { runLocalVoidAuthMigrations } = await import("./node-
|
|
2016
|
+
const { runLocalVoidAuthMigrations } = await import("./node-Dk3H2jmU.mjs");
|
|
2017
2017
|
await runLocalVoidAuthMigrations(root, dialect, persistRoot, databaseId, auth.configPath);
|
|
2018
2018
|
voidLog("Applied Better Auth migrations");
|
|
2019
2019
|
}
|
|
@@ -4148,7 +4148,8 @@ ${envValidateCall}${isrDeploymentStamp} const userEnv = __filterInternalBinding
|
|
|
4148
4148
|
const emailHandler = hasEmail ? remotePath ? `async function handleEmail(envelope, env, ctx) {
|
|
4149
4149
|
${envValidateCall} if (env.__VOID_REMOTE === "1") env = ${createRemoteEnvCall};
|
|
4150
4150
|
const userEnv = __filterInternalBindings(env);
|
|
4151
|
-
const
|
|
4151
|
+
const __relayed = typeof envelope.viaDomain === "string" && envelope.viaDomain.length > 0;
|
|
4152
|
+
const __slug = __relayed ? undefined : (typeof env.__VOID_PROJECT_SLUG === "string" && env.__VOID_PROJECT_SLUG.length > 0 ? env.__VOID_PROJECT_SLUG : undefined);
|
|
4152
4153
|
const { message, getActions } = __createMessageProxy(envelope, { slug: __slug });
|
|
4153
4154
|
await __withRawEnv(env, () => withRuntimeEnv(env, () => __emailHandler(message, userEnv, ctx, { slug: __slug })));
|
|
4154
4155
|
const __actions = getActions();
|
|
@@ -4156,7 +4157,8 @@ ${envValidateCall} if (env.__VOID_REMOTE === "1") env = ${createRemoteEnvCall};
|
|
|
4156
4157
|
return __actions;
|
|
4157
4158
|
}` : `async function handleEmail(envelope, env, ctx) {
|
|
4158
4159
|
${envValidateCall} const userEnv = __filterInternalBindings(env);
|
|
4159
|
-
const
|
|
4160
|
+
const __relayed = typeof envelope.viaDomain === "string" && envelope.viaDomain.length > 0;
|
|
4161
|
+
const __slug = __relayed ? undefined : (typeof env.__VOID_PROJECT_SLUG === "string" && env.__VOID_PROJECT_SLUG.length > 0 ? env.__VOID_PROJECT_SLUG : undefined);
|
|
4160
4162
|
const { message, getActions } = __createMessageProxy(envelope, { slug: __slug });
|
|
4161
4163
|
await __withRawEnv(env, () => withRuntimeEnv(env, () => __emailHandler(message, userEnv, ctx, { slug: __slug })));
|
|
4162
4164
|
const __actions = getActions();
|
|
@@ -4995,8 +4997,8 @@ function routingPlugin(root, options) {
|
|
|
4995
4997
|
if (!options.target) {
|
|
4996
4998
|
const migrationsDir = paths.migrationsDir;
|
|
4997
4999
|
if (existsSync(migrationsDir) || compileOptions.auth) {
|
|
4998
|
-
const { collectMigrations } = await import("./validate-
|
|
4999
|
-
const { buildMigrationPlanBundle } = await import("./validate-
|
|
5000
|
+
const { collectMigrations } = await import("./validate-tBBN_dXH.mjs").then((n) => n.l);
|
|
5001
|
+
const { buildMigrationPlanBundle } = await import("./validate-tBBN_dXH.mjs").then((n) => n.s);
|
|
5000
5002
|
const migrations = existsSync(migrationsDir) ? collectMigrations(migrationsDir) : [];
|
|
5001
5003
|
const dialect = getDatabaseDialect(readConfig(root));
|
|
5002
5004
|
compileOptions.migrationHandlerPath = resolveFile(dialect === "postgresql" ? "#self/runtime/migration-handler-pg" : dialect === "mysql" ? "#self/runtime/migration-handler-mysql" : "#self/runtime/migration-handler");
|
|
@@ -5536,7 +5538,7 @@ function readVoidDevCredentials(root) {
|
|
|
5536
5538
|
*/
|
|
5537
5539
|
async function runAiSetupPrompt(root, token, apiUrl, server) {
|
|
5538
5540
|
const { select, text, isCancel, log } = await import("./output-tFQLLj26.mjs").then((n) => n.T);
|
|
5539
|
-
const { PlatformClient } = await import("./client-
|
|
5541
|
+
const { PlatformClient } = await import("./client-Clirrol3.mjs").then((n) => n.r);
|
|
5540
5542
|
const { attachSelectedPlatform, writeProjectConfig } = await import("./auth-W9WII-mN.mjs").then((n) => n.y);
|
|
5541
5543
|
const { inferDefaultSlug } = await import("./resolve-project--Vxawf7z.mjs").then((n) => n.i);
|
|
5542
5544
|
const client = new PlatformClient(token, apiUrl);
|
|
@@ -5564,8 +5566,8 @@ async function runAiSetupPrompt(root, token, apiUrl, server) {
|
|
|
5564
5566
|
let projectId;
|
|
5565
5567
|
let slug;
|
|
5566
5568
|
if (result === "__create__") {
|
|
5567
|
-
const { validateProjectSlug } = await import("./create-project-
|
|
5568
|
-
const { createProjectWithSlugRetry } = await import("./create-project-
|
|
5569
|
+
const { validateProjectSlug } = await import("./create-project-ChGZ1DFd.mjs").then((n) => n.a);
|
|
5570
|
+
const { createProjectWithSlugRetry } = await import("./create-project-ChGZ1DFd.mjs").then((n) => n.t);
|
|
5569
5571
|
let created;
|
|
5570
5572
|
try {
|
|
5571
5573
|
created = await createProjectWithSlugRetry(client, inferDefaultSlug(root), async (defaultSlug) => {
|
|
@@ -9,12 +9,12 @@ import { r as detectFramework } from "./plugin-inference-BDRfZngg.mjs";
|
|
|
9
9
|
import { n as parseDotenvFile, t as expandDotenv } from "./dotenv-VQxupEUv.mjs";
|
|
10
10
|
import { t as MagicString } from "./dist-BR1quN_w.mjs";
|
|
11
11
|
import { n as writeDrizzleConfig } from "./config-NOG_U1aK.mjs";
|
|
12
|
-
import { n as PlatformClient } from "./client-
|
|
12
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
13
13
|
import { r as formatProjectCommand } from "./preset-lAy0B0BQ.mjs";
|
|
14
|
-
import { n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-
|
|
15
|
-
import { t as promptForLoginToken } from "./login-
|
|
16
|
-
import { t as connectCloudflare } from "./cloudflare-connect-
|
|
17
|
-
import { discoverPlatform, saveDiscoveredPlatform } from "./platform-cmd-
|
|
14
|
+
import { n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-ChGZ1DFd.mjs";
|
|
15
|
+
import { t as promptForLoginToken } from "./login-pV69H-ZO.mjs";
|
|
16
|
+
import { t as connectCloudflare } from "./cloudflare-connect-j5D4hhrG.mjs";
|
|
17
|
+
import { discoverPlatform, saveDiscoveredPlatform } from "./platform-cmd-DxJ2FRwR.mjs";
|
|
18
18
|
import { n as findInstalledYarnPnpRuntime, r as hasLocalLockfile, t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-DxSInkzL.mjs";
|
|
19
19
|
import { createRequire } from "node:module";
|
|
20
20
|
import { existsSync, mkdirSync, readFileSync, readdirSync, rmdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { C as cancel, D as log, E as intro, c as import_picocolors, k as outro, r as cliTitle } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { T as writeProjectConfig, c as getToken, s as getSiteDomain, v as attachSelectedPlatform, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
-
import { n as PlatformClient } from "./client-
|
|
4
|
-
import { n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-
|
|
3
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
4
|
+
import { n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-ChGZ1DFd.mjs";
|
|
5
5
|
import { r as resolveProjectBySlug } from "./resolve-project--Vxawf7z.mjs";
|
|
6
6
|
//#region src/cli/link.ts
|
|
7
7
|
function projectLabel(slug, root, url) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { D as log, E as intro, a as dim, c as import_picocolors, k as outro, o as ensureUtc, r as cliTitle, u as tablePrefix } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { b as readDeploymentPlatform, c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
-
import { n as PlatformClient } from "./client-
|
|
3
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
4
4
|
import { r as resolveProjectBySlug } from "./resolve-project--Vxawf7z.mjs";
|
|
5
5
|
//#region src/cli/list.ts
|
|
6
6
|
async function runListCommand(root, slug) {
|
|
@@ -2,7 +2,7 @@ import { n as __exportAll } from "./rolldown-runtime-rQ84J-ij.mjs";
|
|
|
2
2
|
import { a as isAbsolute, l as resolve, n as dirname, o as join } from "./dist-BrsS7cai.mjs";
|
|
3
3
|
import { v as readRootWranglerConfig } from "./wrangler--imS8n0d.mjs";
|
|
4
4
|
import { n as hasPackageDependency, r as readNearestPackageJson } from "./package-json-CPoWX79C.mjs";
|
|
5
|
-
import { c as collectMigrations, o as classifyMigration } from "./validate-
|
|
5
|
+
import { c as collectMigrations, o as classifyMigration } from "./validate-tBBN_dXH.mjs";
|
|
6
6
|
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
7
7
|
import { createHash, createHmac } from "node:crypto";
|
|
8
8
|
//#region src/migrations/runner.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as cancel, D as log, E as intro, F as isCancel, c as import_picocolors, i as createSpinner, j as select, k as outro, r as cliTitle } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { _ as saveToken, c as getToken, g as savePlatformToken, h as runPlatformLogin, l as getTokenSource, m as runLogin, p as removeToken, u as isStagingMode } from "./auth-W9WII-mN.mjs";
|
|
3
|
-
import { a as isExpiredTokenError, n as PlatformClient } from "./client-
|
|
3
|
+
import { a as isExpiredTokenError, n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
4
4
|
//#region src/cli/login.ts
|
|
5
5
|
async function promptForLoginToken(root = process.cwd(), platform) {
|
|
6
6
|
const providers = platform?.authenticationProviders ?? ["github", "google"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { D as log, E as intro, a as dim, c as import_picocolors, k as outro, r as cliTitle } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { b as readDeploymentPlatform, c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
-
import { n as PlatformClient } from "./client-
|
|
3
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
4
4
|
//#region src/cli/logs.ts
|
|
5
5
|
async function runLogsCommand(root, filter, range, deployment, level) {
|
|
6
6
|
console.log();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { o as join } from "./dist-BrsS7cai.mjs";
|
|
2
2
|
import { c as loadVoidAuthConfig, s as findVoidAuthConfig } from "./scan-BMH4rzlv.mjs";
|
|
3
3
|
import { f as readConfig } from "./config-BQFq7QvD.mjs";
|
|
4
|
-
import { r as getMiniflareDatabasePath } from "./local-d1-
|
|
4
|
+
import { r as getMiniflareDatabasePath } from "./local-d1-D2I6Ox5F.mjs";
|
|
5
5
|
import { a as resolveVoidAuthMigrationSchema } from "./route-types-Da-DpyUp.mjs";
|
|
6
6
|
import { a as loadLocalEnv } from "./env-D4Emu-M_.mjs";
|
|
7
7
|
import { n as applyPgAuthMigrations, r as applySqliteAuthMigrations, t as applyMySqlAuthMigrations } from "./auth-migrations-9vif1uj8.mjs";
|
|
@@ -116,7 +116,7 @@ async function runPlatformCommand(_root, args) {
|
|
|
116
116
|
console.log(`Capabilities: ${Object.entries(discovery.capabilities).filter(([, enabled]) => enabled).map(([name]) => name).join(", ")}`);
|
|
117
117
|
return;
|
|
118
118
|
}
|
|
119
|
-
const { runPlatformLifecycleCommand } = await import("./platform-lifecycle-
|
|
119
|
+
const { runPlatformLifecycleCommand } = await import("./platform-lifecycle-DN4MzJF_.mjs");
|
|
120
120
|
await runPlatformLifecycleCommand(args);
|
|
121
121
|
}
|
|
122
122
|
//#endregion
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { D as log, F as isCancel, N as text, O as note, Y as readInstallationRecoverySecrets, et as savePlatformConnection, nt as writeInstallationManifest, w as confirm, z as acquirePlatformLifecycleLock } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { t as cfAccessHeaders } from "./cf-access-AJ1ehiFR.mjs";
|
|
3
|
-
import { S as resolvePlatformCloudflareCredential, assertNoninteractivePlatformMutationAcknowledged, d as createPlatformInstallPlan, g as PlatformCloudflareClient, l as recordPlatformWorkerTraffic, n as acquirePlatformDatabaseLifecycleLock, r as createPlatformHealthProbeToken, resolvePlatformInstallDatabaseUrl, s as recordResource, x as assertPlatformOperatorCredentialCanApplyPlan } from "./platform-lifecycle-
|
|
4
|
-
import { resolveInstalledPlatformManifest, selectAuthoritativePlatformManifest, verifyPlatformInstallationOwnership } from "./platform-management-
|
|
3
|
+
import { S as resolvePlatformCloudflareCredential, assertNoninteractivePlatformMutationAcknowledged, d as createPlatformInstallPlan, g as PlatformCloudflareClient, l as recordPlatformWorkerTraffic, n as acquirePlatformDatabaseLifecycleLock, r as createPlatformHealthProbeToken, resolvePlatformInstallDatabaseUrl, s as recordResource, x as assertPlatformOperatorCredentialCanApplyPlan } from "./platform-lifecycle-DN4MzJF_.mjs";
|
|
4
|
+
import { resolveInstalledPlatformManifest, selectAuthoritativePlatformManifest, verifyPlatformInstallationOwnership } from "./platform-management-Db2PXw0B.mjs";
|
|
5
5
|
import { randomUUID } from "node:crypto";
|
|
6
6
|
import { PLATFORM_APPLICATION_KEY, PLATFORM_REMOTE_INSTALLATION_MANIFEST_KEY, createApplicationRoutes, createPlatformDeploymentManifest, normalizeApplicationDomain } from "@void/platform";
|
|
7
7
|
//#region src/cli/platform-domain.ts
|
|
@@ -4,7 +4,7 @@ import { $ as resolveInstallationManifest, A as password, B as assertPlatformIns
|
|
|
4
4
|
import { t as cfAccessHeaders } from "./cf-access-AJ1ehiFR.mjs";
|
|
5
5
|
import { d as openBrowser } from "./auth-W9WII-mN.mjs";
|
|
6
6
|
import { o as resolveWranglerArgv } from "./preset-lAy0B0BQ.mjs";
|
|
7
|
-
import {
|
|
7
|
+
import { l as runCloudflareAuthCommand, n as announceCloudflareLogin } from "./cloudflare-auth-B1QtTO1b.mjs";
|
|
8
8
|
import { n as createDefaultRunWrangler, o as resolvePinnedApiBaseUrl } from "./provision-Blnstcm2.mjs";
|
|
9
9
|
import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
10
10
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
@@ -3992,14 +3992,14 @@ function resolvePlatformInstallDatabaseUrl(checkpoint, manifest = null) {
|
|
|
3992
3992
|
}
|
|
3993
3993
|
async function runPlatformLifecycleCommand(args) {
|
|
3994
3994
|
if (args.subcommand === "domain") {
|
|
3995
|
-
const { runPlatformDomainCommand } = await import("./platform-domain-
|
|
3995
|
+
const { runPlatformDomainCommand } = await import("./platform-domain-ChvbJkdy.mjs");
|
|
3996
3996
|
await runPlatformDomainCommand(args);
|
|
3997
3997
|
return;
|
|
3998
3998
|
}
|
|
3999
3999
|
if (args.subcommand === "discover") {
|
|
4000
4000
|
const client = new PlatformCloudflareClient((await resolvePlatformCloudflareCredential()).token);
|
|
4001
4001
|
const accountId = await selectAccount(await readAccounts(client), args.account);
|
|
4002
|
-
const { recoverPlatformInstallations } = await import("./platform-recovery-
|
|
4002
|
+
const { recoverPlatformInstallations } = await import("./platform-recovery-C_YO-tIs.mjs");
|
|
4003
4003
|
const recovered = await recoverPlatformInstallations(client, accountId, void 0, args.selector);
|
|
4004
4004
|
if (recovered.length === 0) {
|
|
4005
4005
|
log.info(`No recoverable Void platform installations were found in ${accountId}.`);
|
|
@@ -4009,7 +4009,7 @@ async function runPlatformLifecycleCommand(args) {
|
|
|
4009
4009
|
return;
|
|
4010
4010
|
}
|
|
4011
4011
|
if (args.subcommand !== "install") {
|
|
4012
|
-
const { runInstalledPlatformCommand } = await import("./platform-management-
|
|
4012
|
+
const { runInstalledPlatformCommand } = await import("./platform-management-Db2PXw0B.mjs");
|
|
4013
4013
|
await runInstalledPlatformCommand(args);
|
|
4014
4014
|
return;
|
|
4015
4015
|
}
|
|
@@ -4159,7 +4159,7 @@ async function runPlatformLifecycleCommand(args) {
|
|
|
4159
4159
|
progress?.stop("Read the saved installation.");
|
|
4160
4160
|
progress = void 0;
|
|
4161
4161
|
if (authoritative) {
|
|
4162
|
-
const { selectAuthoritativePlatformManifest } = await import("./platform-management-
|
|
4162
|
+
const { selectAuthoritativePlatformManifest } = await import("./platform-management-Db2PXw0B.mjs");
|
|
4163
4163
|
const selected = selectAuthoritativePlatformManifest(existing, authoritative);
|
|
4164
4164
|
authoritativeProvisionIntents = true;
|
|
4165
4165
|
if (!args.plan && JSON.stringify(selected) !== JSON.stringify(existing)) writeInstallationManifest(selected);
|
|
@@ -4318,7 +4318,7 @@ async function runPlatformLifecycleCommand(args) {
|
|
|
4318
4318
|
})).actions.filter((action) => action.kind === "worker"),
|
|
4319
4319
|
revalidateBeforeWorkerDeploy: (manifest, action) => revalidatePlatformInstallAction(client, plan, manifest, action),
|
|
4320
4320
|
verifyExistingOwnership: async (manifest, databaseCheckpointExists) => {
|
|
4321
|
-
const { verifyPlatformInstallationOwnership } = await import("./platform-management-
|
|
4321
|
+
const { verifyPlatformInstallationOwnership } = await import("./platform-management-Db2PXw0B.mjs");
|
|
4322
4322
|
const retainedReplacementKeys = new Set(plan.actions.filter((action) => {
|
|
4323
4323
|
const previous = manifest.resources.find((resource) => resource.key === action.key);
|
|
4324
4324
|
return action.action === "create" && previous && previous.name !== action.name;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { $ as resolveInstallationManifest, D as log, F as isCancel, O as note, Q as removePlatformConnectionForInstallation, U as listInstallationManifests, Y as readInstallationRecoverySecrets, Z as removeInstallationRecoverySecrets, i as createSpinner, j as select, k as outro, nt as writeInstallationManifest, w as confirm, z as acquirePlatformLifecycleLock } from "./output-tFQLLj26.mjs";
|
|
2
|
-
import { S as resolvePlatformCloudflareCredential, _ as hyperdriveOriginConfigHash, a as installPlatform, assertNoninteractivePlatformMutationAcknowledged, b as verifyPlatformRuntimeTokenPermissions, c as resolveBootstrapGitHubId, d as createPlatformInstallPlan, f as formatPlatformInstallPlan, g as PlatformCloudflareClient, h as revalidatePlatformInstallAction, i as createPlatformInstallationSecrets, m as platformProvisionIntentHash, n as acquirePlatformDatabaseLifecycleLock, o as loadPlatformRuntime, p as platformAdoptionIntentHash, resolvePlatformInstallDatabaseUrl, t as REMOTE_INSTALLATION_MANIFEST_KEY, u as trackedPlatformWorkerTraffic, v as hyperdriveOriginFromConnectionString, x as assertPlatformOperatorCredentialCanApplyPlan, y as hyperdriveOriginMatches } from "./platform-lifecycle-
|
|
2
|
+
import { S as resolvePlatformCloudflareCredential, _ as hyperdriveOriginConfigHash, a as installPlatform, assertNoninteractivePlatformMutationAcknowledged, b as verifyPlatformRuntimeTokenPermissions, c as resolveBootstrapGitHubId, d as createPlatformInstallPlan, f as formatPlatformInstallPlan, g as PlatformCloudflareClient, h as revalidatePlatformInstallAction, i as createPlatformInstallationSecrets, m as platformProvisionIntentHash, n as acquirePlatformDatabaseLifecycleLock, o as loadPlatformRuntime, p as platformAdoptionIntentHash, resolvePlatformInstallDatabaseUrl, t as REMOTE_INSTALLATION_MANIFEST_KEY, u as trackedPlatformWorkerTraffic, v as hyperdriveOriginFromConnectionString, x as assertPlatformOperatorCredentialCanApplyPlan, y as hyperdriveOriginMatches } from "./platform-lifecycle-DN4MzJF_.mjs";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { PLATFORM_DISABLED_KEY, PLATFORM_DISABLED_VALUE, PLATFORM_R2_OWNERSHIP_MARKER_KEY, createPlatformResourceOwnershipMarker, parsePlatformInstallationManifest, parsePlatformResourceOwnershipMarker, recordInstallationResource, recordInstallationStep, setInstallationDesiredState, transitionInstallation } from "@void/platform";
|
|
5
5
|
//#region src/cli/platform-management.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { U as listInstallationManifests, et as savePlatformConnection, nt as writeInstallationManifest, z as acquirePlatformLifecycleLock } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { t as cfAccessHeaders } from "./cf-access-AJ1ehiFR.mjs";
|
|
3
|
-
import { d as createPlatformInstallPlan, t as REMOTE_INSTALLATION_MANIFEST_KEY } from "./platform-lifecycle-
|
|
4
|
-
import { isPlatformManifestMonotonicExtension, recoverDurablyMarkedProvisionIntents, verifyPlatformInstallationOwnership } from "./platform-management-
|
|
3
|
+
import { d as createPlatformInstallPlan, t as REMOTE_INSTALLATION_MANIFEST_KEY } from "./platform-lifecycle-DN4MzJF_.mjs";
|
|
4
|
+
import { isPlatformManifestMonotonicExtension, recoverDurablyMarkedProvisionIntents, verifyPlatformInstallationOwnership } from "./platform-management-Db2PXw0B.mjs";
|
|
5
5
|
import { parsePlatformInstallationManifest, setInstallationEndpoints } from "@void/platform";
|
|
6
6
|
//#region src/cli/platform-recovery.ts
|
|
7
7
|
async function recoverPlatformInstallations(client, accountId, verifyEndpoint = verifyInstallationEndpoint, selector = "") {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { D as log, E as intro, a as dim, c as import_picocolors, k as outro, r as cliTitle, u as tablePrefix } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { b as readDeploymentPlatform, c as getToken, s as getSiteDomain } from "./auth-W9WII-mN.mjs";
|
|
3
|
-
import { n as PlatformClient } from "./client-
|
|
3
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
4
4
|
//#region src/cli/projects.ts
|
|
5
5
|
async function runProjectsCommand(root) {
|
|
6
6
|
console.log();
|
|
@@ -35,47 +35,47 @@ async function runProjectsCommand(root) {
|
|
|
35
35
|
async function runProjectCommand(root, args) {
|
|
36
36
|
const cloudflare = readDeploymentPlatform(root) === "cloudflare";
|
|
37
37
|
if (args.subcommand === "status") {
|
|
38
|
-
const { runListCommand } = await import("./list-
|
|
38
|
+
const { runListCommand } = await import("./list-3F52R_yO.mjs");
|
|
39
39
|
return runListCommand(root, args.name || void 0);
|
|
40
40
|
}
|
|
41
41
|
if (args.subcommand === "link") {
|
|
42
42
|
if (cloudflare) throw new Error("project: Direct Cloudflare apps are identified by the name in wrangler.jsonc and do not need linking.");
|
|
43
|
-
const { runLink } = await import("./link-
|
|
43
|
+
const { runLink } = await import("./link-RMdgjF1v.mjs");
|
|
44
44
|
return runLink(root, args.name || void 0);
|
|
45
45
|
}
|
|
46
46
|
if (args.subcommand === "list") {
|
|
47
47
|
if (cloudflare) {
|
|
48
|
-
const { runListCommand } = await import("./list-
|
|
48
|
+
const { runListCommand } = await import("./list-3F52R_yO.mjs");
|
|
49
49
|
return runListCommand(root);
|
|
50
50
|
}
|
|
51
51
|
return runProjectsCommand(root);
|
|
52
52
|
}
|
|
53
53
|
if (args.subcommand === "logs") {
|
|
54
|
-
const { runLogsCommand } = await import("./logs-
|
|
54
|
+
const { runLogsCommand } = await import("./logs-DFHHD6wE.mjs");
|
|
55
55
|
return runLogsCommand(root, args.filter, args.range, args.deployment || void 0, args.level || void 0);
|
|
56
56
|
}
|
|
57
57
|
if (args.subcommand === "requests") {
|
|
58
58
|
if (cloudflare) throw new Error("project: Historical request analytics require the Void platform. Use `void project logs` for a live Cloudflare tail.");
|
|
59
|
-
const { runRequestsCommand } = await import("./requests-
|
|
59
|
+
const { runRequestsCommand } = await import("./requests-BcKOVpRg.mjs");
|
|
60
60
|
return runRequestsCommand(root, args.range, args.status || void 0);
|
|
61
61
|
}
|
|
62
62
|
if (args.subcommand === "rollback") {
|
|
63
|
-
const { runRollbackCommand } = await import("./rollback-
|
|
63
|
+
const { runRollbackCommand } = await import("./rollback-Bx85-0xh.mjs");
|
|
64
64
|
return runRollbackCommand(root, args.deployId || void 0);
|
|
65
65
|
}
|
|
66
66
|
if (args.subcommand === "cancel") {
|
|
67
67
|
if (cloudflare) throw new Error("project: Direct Cloudflare deploys activate only after readiness succeeds, so there is no remote build to cancel.");
|
|
68
|
-
const { runCancelDeployCommand } = await import("./cancel-deploy-
|
|
68
|
+
const { runCancelDeployCommand } = await import("./cancel-deploy-CmlAZ9P6.mjs");
|
|
69
69
|
return runCancelDeployCommand(root, args.deployId || void 0);
|
|
70
70
|
}
|
|
71
71
|
if (args.subcommand === "delete") {
|
|
72
72
|
if (cloudflare) throw new Error("project: Refusing to delete Cloudflare resources through this command. Direct deployments are additive and existing resources may be shared.");
|
|
73
|
-
const { runDeleteCommand } = await import("./delete-
|
|
73
|
+
const { runDeleteCommand } = await import("./delete-D8GigDk8.mjs");
|
|
74
74
|
return runDeleteCommand(root, args.name || void 0, { force: args.force });
|
|
75
75
|
}
|
|
76
76
|
if (args.subcommand === "purge-cache") {
|
|
77
77
|
if (cloudflare) throw new Error("project: Direct Cloudflare ISR cache purge is not available yet; redeploy or purge the configured KV namespace explicitly.");
|
|
78
|
-
const { runPurgeCacheCommand } = await import("./cache-
|
|
78
|
+
const { runPurgeCacheCommand } = await import("./cache-BlNeQjuP.mjs");
|
|
79
79
|
return runPurgeCacheCommand(root, args.projectSlug || void 0);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { D as log, E as intro, a as dim, c as import_picocolors, k as outro, r as cliTitle } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
-
import { n as PlatformClient } from "./client-
|
|
3
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
4
4
|
//#region src/cli/requests.ts
|
|
5
5
|
async function runRequestsCommand(root, range, status) {
|
|
6
6
|
console.log();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as cancel, D as log, E as intro, F as isCancel, a as dim, c as import_picocolors, i as createSpinner, j as select, k as outro, o as ensureUtc, r as cliTitle, w as confirm } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { b as readDeploymentPlatform, c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
-
import { n as PlatformClient } from "./client-
|
|
3
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
4
4
|
//#region src/cli/rollback.ts
|
|
5
5
|
async function runRollbackCommand(root, deployId) {
|
|
6
6
|
console.log();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __exportAll } from "./rolldown-runtime-rQ84J-ij.mjs";
|
|
2
|
-
import { c as collectMigrations } from "./validate-
|
|
2
|
+
import { c as collectMigrations } from "./validate-tBBN_dXH.mjs";
|
|
3
3
|
//#region src/migrations/runner-mysql.ts
|
|
4
4
|
var runner_mysql_exports = /* @__PURE__ */ __exportAll({
|
|
5
5
|
applyMySqlMigrations: () => applyMySqlMigrations,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __exportAll } from "./rolldown-runtime-rQ84J-ij.mjs";
|
|
2
|
-
import { c as collectMigrations } from "./validate-
|
|
2
|
+
import { c as collectMigrations } from "./validate-tBBN_dXH.mjs";
|
|
3
3
|
//#region src/migrations/runner-pg.ts
|
|
4
4
|
var runner_pg_exports = /* @__PURE__ */ __exportAll({
|
|
5
5
|
applyPgMigrations: () => applyPgMigrations,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
-
import { r as EmailHandler } from "../../inbound-
|
|
2
|
+
import { r as EmailHandler } from "../../inbound-afAcWeQ9.mjs";
|
|
3
3
|
//#region src/runtime/email/dev-inbox.d.ts
|
|
4
4
|
interface CapturedMessage {
|
|
5
5
|
id: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as normalizeEmail, r as buildMime } from "../../mime-BJD7d_qL.mjs";
|
|
2
2
|
import { y as registerEmailSink } from "../../dev-inbox-DkgRWLkW.mjs";
|
|
3
3
|
import { n as compileEmailPattern, t as compareEmailRoutes } from "../../email-Ce6SQq-i.mjs";
|
|
4
|
-
import { i as createMessageProxy, n as MAX_INBOUND_HEADERS, t as MAX_INBOUND_BYTES } from "../../inbound-
|
|
4
|
+
import { i as createMessageProxy, n as MAX_INBOUND_HEADERS, t as MAX_INBOUND_BYTES } from "../../inbound-2d0zi2yS.mjs";
|
|
5
5
|
//#region src/runtime/email/testing.ts
|
|
6
6
|
/**
|
|
7
7
|
* Test harnesses for void/email.
|
package/dist/runtime/email.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
-
import { C as SendEmailRecipientResult, S as SendEmailOptions, _ as Attachment, a as MessageProxy, b as SendEmailError, c as ParsedEmail, d as defineEmail, f as enactEmailActions, g as Address, h as replyEmail, i as EmailHandlerInfo, l as ReplyEmailOptions, m as parseEmail, n as EmailEnvelope, o as ParseEmailError, p as isForwardableEmailMessage, r as EmailHandler, s as ParseEmailErrorCode, t as EmailAction, u as createMessageProxy, v as NormalizedEmail, w as SendEmailResult, x as SendEmailErrorCode, y as SendEmailDelivery } from "../inbound-
|
|
2
|
+
import { C as SendEmailRecipientResult, S as SendEmailOptions, _ as Attachment, a as MessageProxy, b as SendEmailError, c as ParsedEmail, d as defineEmail, f as enactEmailActions, g as Address, h as replyEmail, i as EmailHandlerInfo, l as ReplyEmailOptions, m as parseEmail, n as EmailEnvelope, o as ParseEmailError, p as isForwardableEmailMessage, r as EmailHandler, s as ParseEmailErrorCode, t as EmailAction, u as createMessageProxy, v as NormalizedEmail, w as SendEmailResult, x as SendEmailErrorCode, y as SendEmailDelivery } from "../inbound-afAcWeQ9.mjs";
|
|
3
3
|
//#region src/runtime/email/mime.d.ts
|
|
4
4
|
type MimeErrorCode = "INVALID_FROM" | "INVALID_TO" | "MIME_ERROR";
|
|
5
5
|
export declare class MimeError extends Error {
|
package/dist/runtime/email.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as normalizeEmail, n as MimeError, r as buildMime } from "../mime-BJD7d_qL.mjs";
|
|
2
2
|
import { a as DEV_INBOX_ENV_VAR, b as serializeCapturedMessage, c as DEV_INBOX_TOKEN_ENV_VAR, d as captureMessage, h as hasActiveSink, i as DEV_INBOX_CAPTURE_URL, p as dispatchToSinks } from "../dev-inbox-DkgRWLkW.mjs";
|
|
3
3
|
import { a as getRawRuntimeEnv } from "../env-raw-Cx8ElDdj.mjs";
|
|
4
|
-
import { a as defineEmail, c as parseEmail, i as createMessageProxy, l as replyEmail, o as enactEmailActions, r as ParseEmailError, s as isForwardableEmailMessage } from "../inbound-
|
|
4
|
+
import { a as defineEmail, c as parseEmail, i as createMessageProxy, l as replyEmail, o as enactEmailActions, r as ParseEmailError, s as isForwardableEmailMessage } from "../inbound-2d0zi2yS.mjs";
|
|
5
5
|
//#region src/runtime/email.ts
|
|
6
6
|
const VALID_SLUG = /^[a-z0-9](?:[a-z0-9-]{0,54}[a-z0-9])?$/;
|
|
7
7
|
function makeError(code, message, cause) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A as password, C as cancel, D as log, E as intro, F as isCancel, O as note, k as outro, r as cliTitle, w as confirm } from "./output-tFQLLj26.mjs";
|
|
2
2
|
import { b as readDeploymentPlatform, c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
3
|
import { m as validateSecretValues } from "./env-validation-ENpMy6Ez.mjs";
|
|
4
|
-
import { n as PlatformClient } from "./client-
|
|
4
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
5
5
|
import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project--Vxawf7z.mjs";
|
|
6
6
|
import { readFileSync } from "node:fs";
|
|
7
7
|
//#region src/cli/secret.ts
|