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.
Files changed (52) hide show
  1. package/dist/{auth-cmd-CYVhSNFy.mjs → auth-cmd-CAH62yDU.mjs} +2 -2
  2. package/dist/{build-cmd-CkVD1uOh.mjs → build-cmd-CJvZvPQO.mjs} +1 -1
  3. package/dist/{cache-QcUfR-ff.mjs → cache-BlNeQjuP.mjs} +1 -1
  4. package/dist/{cancel-deploy-DsvWKFTe.mjs → cancel-deploy-CmlAZ9P6.mjs} +1 -1
  5. package/dist/cli/cli.mjs +164 -33
  6. package/dist/{client-CyCHWSO_.mjs → client-Clirrol3.mjs} +59 -0
  7. package/dist/{cloudflare-auth-DRkGe7-s.mjs → cloudflare-auth-B1QtTO1b.mjs} +51 -4
  8. package/dist/{cloudflare-cmd-D3ME2GAe.mjs → cloudflare-cmd-B6_OZx2V.mjs} +1 -1
  9. package/dist/{cloudflare-connect-BivMefMA.mjs → cloudflare-connect-j5D4hhrG.mjs} +1 -1
  10. package/dist/{connect-D9Yr-T5f.mjs → connect-C04Wdy_h.mjs} +4 -4
  11. package/dist/{create-project-DMV-csEm.mjs → create-project-ChGZ1DFd.mjs} +1 -1
  12. package/dist/{db-BxoUWL0F.mjs → db-D2d_mUsB.mjs} +31 -21
  13. package/dist/{delete-iJOqxBz1.mjs → delete-D8GigDk8.mjs} +1 -1
  14. package/dist/{deploy-CcDoeBIf.mjs → deploy-iXZ3F0N6.mjs} +20 -22
  15. package/dist/{domain-gu_iaHmn.mjs → domain-B1VmoSr0.mjs} +1 -1
  16. package/dist/email-uKyQYUVY.mjs +1016 -0
  17. package/dist/{env-DmU2To0C.mjs → env-BcQzYgoG.mjs} +1 -1
  18. package/dist/{gen-BKw6qHIg.mjs → gen-DI2YwdBM.mjs} +1 -1
  19. package/dist/generate-RTK8_kK1.mjs +47 -0
  20. package/dist/{github-cmd-DJS5Ab-H.mjs → github-cmd-xItS5Zwf.mjs} +1 -1
  21. package/dist/{inbound-CNKxb3FY.mjs → inbound-2d0zi2yS.mjs} +13 -1
  22. package/dist/{inbound-BJ70in1n.d.mts → inbound-afAcWeQ9.d.mts} +9 -0
  23. package/dist/index.mjs +20 -18
  24. package/dist/{init-Dx5cgKqK.mjs → init-BD-9THgn.mjs} +5 -5
  25. package/dist/{link-D_rm5sRH.mjs → link-RMdgjF1v.mjs} +2 -2
  26. package/dist/{list-M8XShti7.mjs → list-3F52R_yO.mjs} +1 -1
  27. package/dist/{local-d1-BE8KBbMy.mjs → local-d1-D2I6Ox5F.mjs} +1 -1
  28. package/dist/{login-C8-UuLnp.mjs → login-pV69H-ZO.mjs} +1 -1
  29. package/dist/{logs-DwFU7dMW.mjs → logs-DFHHD6wE.mjs} +1 -1
  30. package/dist/{node-BkaXcpAc.mjs → node-Dk3H2jmU.mjs} +1 -1
  31. package/dist/{platform-cmd-BEOVv1PN.mjs → platform-cmd-DxJ2FRwR.mjs} +1 -1
  32. package/dist/{platform-domain-BszUfiS8.mjs → platform-domain-ChvbJkdy.mjs} +2 -2
  33. package/dist/{platform-lifecycle-CjSr6xf0.mjs → platform-lifecycle-DN4MzJF_.mjs} +6 -6
  34. package/dist/{platform-management-W30iCaTL.mjs → platform-management-Db2PXw0B.mjs} +1 -1
  35. package/dist/{platform-recovery-pHHv4ZSg.mjs → platform-recovery-C_YO-tIs.mjs} +2 -2
  36. package/dist/{project-cmd-DCpk1cDt.mjs → project-cmd-Mo0V9yKS.mjs} +10 -10
  37. package/dist/{requests-Dn8Vheh1.mjs → requests-BcKOVpRg.mjs} +1 -1
  38. package/dist/{rollback-CtlPXEBi.mjs → rollback-Bx85-0xh.mjs} +1 -1
  39. package/dist/{runner-mysql-CgRFl3s6.mjs → runner-mysql-7BPUNGmL.mjs} +1 -1
  40. package/dist/{runner-pg-DCkWPsWS.mjs → runner-pg-BkEza-dX.mjs} +1 -1
  41. package/dist/runtime/email/testing.d.mts +1 -1
  42. package/dist/runtime/email/testing.mjs +1 -1
  43. package/dist/runtime/email.d.mts +1 -1
  44. package/dist/runtime/email.mjs +1 -1
  45. package/dist/{secret-BqTxGqki.mjs → secret-ByhJ9AMl.mjs} +1 -1
  46. package/dist/sqlite-validation-BzKMWnO4.mjs +25 -0
  47. package/dist/{validate-Bihr8WBi.mjs → validate-tBBN_dXH.mjs} +1 -0
  48. package/package.json +7 -7
  49. package/skills/void/docs/guide/email.md +34 -3
  50. package/skills/void/docs/guide/platform-development.md +29 -0
  51. package/skills/void/docs/reference/cli.md +51 -0
  52. package/dist/email-r6DHJyAB.mjs +0 -262
@@ -5,11 +5,11 @@ import { t as cfAccessHeaders } from "./cf-access-AJ1ehiFR.mjs";
5
5
  import { b as readDeploymentPlatform, c as getToken, o as getProxyUrl, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
6
6
  import { c as getDatabaseDialect, f as readConfig, p as resolveBindingNames } from "./config-BQFq7QvD.mjs";
7
7
  import { r as detectFramework } from "./plugin-inference-BDRfZngg.mjs";
8
- import { c as collectMigrations, d as stripSqlExt, f as writeJournal, n as listDrizzleArtifacts, r as validateMigrations, t as assertJournalCoherence, u as readJournal } from "./validate-Bihr8WBi.mjs";
9
- import { t as resolveLocalD1Target } from "./local-d1-BE8KBbMy.mjs";
8
+ import { c as collectMigrations, d as stripSqlExt, f as writeJournal, n as listDrizzleArtifacts, r as validateMigrations, t as assertJournalCoherence, u as readJournal } from "./validate-tBBN_dXH.mjs";
9
+ import { t as resolveLocalD1Target } from "./local-d1-D2I6Ox5F.mjs";
10
10
  import { a as loadLocalEnv } from "./env-D4Emu-M_.mjs";
11
- import { n as PlatformClient, t as PlatformApiError } from "./client-CyCHWSO_.mjs";
12
- import { formatTimestamp } from "./gen-BKw6qHIg.mjs";
11
+ import { n as PlatformClient, t as PlatformApiError } from "./client-Clirrol3.mjs";
12
+ import { formatTimestamp } from "./gen-DI2YwdBM.mjs";
13
13
  import { createRequire } from "node:module";
14
14
  import { existsSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
15
15
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -285,12 +285,22 @@ async function runGenerate(root, dialect) {
285
285
  const additionalSchemas = existsSync(authSchemaPath) ? [authSchemaPath] : void 0;
286
286
  const configPath = writeDrizzleConfig(root, dialect === "postgresql" ? "postgresql://dummy" : dialect === "mysql" ? "mysql://dummy" : ":memory:", dialect, { additionalSchemas });
287
287
  try {
288
- runDrizzleKit(root, [
288
+ if (dialect === "sqlite") {
289
+ const { generateValidatedSqliteMigrations } = await import("./generate-RTK8_kK1.mjs");
290
+ await generateValidatedSqliteMigrations(readProjectPaths(root).migrationsDir, () => {
291
+ runDrizzleKit(root, [
292
+ "generate",
293
+ "--config",
294
+ configPath
295
+ ]);
296
+ });
297
+ } else runDrizzleKit(root, [
289
298
  "generate",
290
299
  "--config",
291
300
  configPath
292
301
  ]);
293
- } catch {
302
+ } catch (error) {
303
+ log.error(getErrorMessage(error));
294
304
  process.exit(1);
295
305
  }
296
306
  outro("Done.");
@@ -334,7 +344,7 @@ async function runStatus(root, dialect) {
334
344
  localApplied = [];
335
345
  }
336
346
  else {
337
- const { getAppliedMigrations } = await import("./local-d1-BE8KBbMy.mjs").then((n) => n.i);
347
+ const { getAppliedMigrations } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
338
348
  const { databasePath: dbPath } = getLocalD1Target(root);
339
349
  localApplied = await getAppliedMigrations(dbPath);
340
350
  }
@@ -344,7 +354,7 @@ async function runStatus(root, dialect) {
344
354
  if (dialect !== "sqlite") {
345
355
  const databaseUrl = process.env.DATABASE_URL;
346
356
  if (!databaseUrl) throw new Error("DATABASE_URL is not available.");
347
- remoteApplied = (dialect === "postgresql" ? await (await import("./runner-pg-DCkWPsWS.mjs").then((n) => n.n)).getPgAppliedMigrations(databaseUrl) : await (await import("./runner-mysql-CgRFl3s6.mjs").then((n) => n.n)).getMySqlAppliedMigrations(databaseUrl)).map((name) => ({
357
+ remoteApplied = (dialect === "postgresql" ? await (await import("./runner-pg-BkEza-dX.mjs").then((n) => n.n)).getPgAppliedMigrations(databaseUrl) : await (await import("./runner-mysql-7BPUNGmL.mjs").then((n) => n.n)).getMySqlAppliedMigrations(databaseUrl)).map((name) => ({
348
358
  name,
349
359
  applied_at: ""
350
360
  }));
@@ -425,12 +435,12 @@ async function resetDatabase(root, dialect) {
425
435
  }
426
436
  });
427
437
  if (migrations.length > 0) {
428
- const { applyMySqlMigrations } = await import("./runner-mysql-CgRFl3s6.mjs").then((n) => n.n);
438
+ const { applyMySqlMigrations } = await import("./runner-mysql-7BPUNGmL.mjs").then((n) => n.n);
429
439
  await withMySqlClient(root, (client) => applyMySqlMigrations(client, migrations));
430
440
  }
431
441
  return migrations.length;
432
442
  }
433
- const { runMigrations } = await import("./local-d1-BE8KBbMy.mjs").then((n) => n.i);
443
+ const { runMigrations } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
434
444
  const { databasePath: dbPath } = getLocalD1Target(root);
435
445
  rmSync(dbPath, { force: true });
436
446
  rmSync(dbPath + "-wal", { force: true });
@@ -465,7 +475,7 @@ async function runSeed(root, file, dialect) {
465
475
  outro("Done.");
466
476
  return;
467
477
  }
468
- const { openSqliteDatabase } = await import("./local-d1-BE8KBbMy.mjs").then((n) => n.i);
478
+ const { openSqliteDatabase } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
469
479
  const { databasePath: dbPath } = getLocalD1Target(root);
470
480
  const db = await openSqliteDatabase(dbPath);
471
481
  try {
@@ -679,7 +689,7 @@ async function runExecute(root, command, file, dialect, remote) {
679
689
  outro("Done.");
680
690
  return;
681
691
  }
682
- const { openSqliteDatabase } = await import("./local-d1-BE8KBbMy.mjs").then((n) => n.i);
692
+ const { openSqliteDatabase } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
683
693
  const { databasePath: dbPath } = getLocalD1Target(root);
684
694
  if (!existsSync(dbPath)) {
685
695
  log.error("No local database found. Run `void dev` first.");
@@ -747,11 +757,11 @@ async function runMigrate(root, dialect, remote) {
747
757
  let appliedNames;
748
758
  let applyMigrations;
749
759
  if (dialect === "postgresql") {
750
- const { getPgAppliedMigrations, runPgMigrations } = await import("./runner-pg-DCkWPsWS.mjs").then((n) => n.n);
760
+ const { getPgAppliedMigrations, runPgMigrations } = await import("./runner-pg-BkEza-dX.mjs").then((n) => n.n);
751
761
  appliedNames = await getPgAppliedMigrations(databaseUrl);
752
762
  applyMigrations = () => runPgMigrations(migrationsDir, databaseUrl);
753
763
  } else {
754
- const { getMySqlAppliedMigrations, runMySqlMigrations } = await import("./runner-mysql-CgRFl3s6.mjs").then((n) => n.n);
764
+ const { getMySqlAppliedMigrations, runMySqlMigrations } = await import("./runner-mysql-7BPUNGmL.mjs").then((n) => n.n);
755
765
  appliedNames = await getMySqlAppliedMigrations(databaseUrl);
756
766
  applyMigrations = () => runMySqlMigrations(migrationsDir, databaseUrl);
757
767
  }
@@ -795,7 +805,7 @@ async function runMigrate(root, dialect, remote) {
795
805
  log.error(getErrorMessage(error));
796
806
  process.exit(1);
797
807
  }
798
- const { checkWranglerMigrationApplySet, parseRootWranglerConfig } = await import("./deploy-CcDoeBIf.mjs").then((n) => n.n);
808
+ const { checkWranglerMigrationApplySet, parseRootWranglerConfig } = await import("./deploy-iXZ3F0N6.mjs").then((n) => n.n);
799
809
  const applySet = await checkWranglerMigrationApplySet(context.operation.configPath, parseRootWranglerConfig(context.operation.configPath), binding, context.migrationsDir, rawMigrations);
800
810
  if (!applySet.ok) {
801
811
  log.error(applySet.reason);
@@ -864,7 +874,7 @@ async function runMigrate(root, dialect, remote) {
864
874
  return;
865
875
  }
866
876
  if (dialect === "postgresql") {
867
- const { applyPgMigrations } = await import("./runner-pg-DCkWPsWS.mjs").then((n) => n.n);
877
+ const { applyPgMigrations } = await import("./runner-pg-BkEza-dX.mjs").then((n) => n.n);
868
878
  const applied = await withPgClient(root, async (client) => {
869
879
  let existingRows = [];
870
880
  try {
@@ -889,7 +899,7 @@ async function runMigrate(root, dialect, remote) {
889
899
  return;
890
900
  }
891
901
  if (dialect === "mysql") {
892
- const { applyMySqlMigrations } = await import("./runner-mysql-CgRFl3s6.mjs").then((n) => n.n);
902
+ const { applyMySqlMigrations } = await import("./runner-mysql-7BPUNGmL.mjs").then((n) => n.n);
893
903
  const applied = await withMySqlClient(root, async (client) => {
894
904
  let existingRows = [];
895
905
  try {
@@ -913,7 +923,7 @@ async function runMigrate(root, dialect, remote) {
913
923
  outro("Done.");
914
924
  return;
915
925
  }
916
- const { getAppliedMigrations, runMigrations } = await import("./local-d1-BE8KBbMy.mjs").then((n) => n.i);
926
+ const { getAppliedMigrations, runMigrations } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
917
927
  const { databasePath: dbPath } = getLocalD1Target(root);
918
928
  try {
919
929
  const existingRows = await getAppliedMigrations(dbPath);
@@ -1223,7 +1233,7 @@ async function runRenameMigrations(root, dialect) {
1223
1233
  process.exit(1);
1224
1234
  }
1225
1235
  else {
1226
- const { openSqliteDatabase } = await import("./local-d1-BE8KBbMy.mjs").then((n) => n.i);
1236
+ const { openSqliteDatabase } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
1227
1237
  const { databasePath: dbPath } = getLocalD1Target(root);
1228
1238
  if (existsSync(dbPath)) try {
1229
1239
  const db = await openSqliteDatabase(dbPath);
@@ -1353,7 +1363,7 @@ async function runExport(root, args, dialect) {
1353
1363
  } else process.stdout.write(output);
1354
1364
  return;
1355
1365
  }
1356
- const { openSqliteDatabase } = await import("./local-d1-BE8KBbMy.mjs").then((n) => n.i);
1366
+ const { openSqliteDatabase } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
1357
1367
  const { databasePath: dbPath } = getLocalD1Target(root);
1358
1368
  if (!existsSync(dbPath)) {
1359
1369
  log.error("No local database found. Run `void dev` first.", errOut);
@@ -1512,7 +1522,7 @@ async function runSeedModule(root, seedPath, dialect) {
1512
1522
  return;
1513
1523
  }
1514
1524
  const { drizzle } = await import("drizzle-orm/better-sqlite3");
1515
- const { openSqliteDatabase } = await import("./local-d1-BE8KBbMy.mjs").then((n) => n.i);
1525
+ const { openSqliteDatabase } = await import("./local-d1-D2I6Ox5F.mjs").then((n) => n.i);
1516
1526
  const { databasePath: dbPath } = getLocalD1Target(root);
1517
1527
  const sqlite = await openSqliteDatabase(dbPath);
1518
1528
  try {
@@ -1,6 +1,6 @@
1
1
  import { C as cancel, D as log, E as intro, F as isCancel, N as text, O as note, i as createSpinner, k as outro, r as cliTitle } from "./output-tFQLLj26.mjs";
2
2
  import { S as removeProjectConfig, c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
3
- import { n as PlatformClient } from "./client-CyCHWSO_.mjs";
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/delete.ts
6
6
  async function runDeleteCommand(root, slug, options) {
@@ -12,25 +12,26 @@ import { i as voidWarn, r as voidLog } from "./log-ChfPKsVd.mjs";
12
12
  import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestinationSplats } from "./headers-D8QfRX9Y.mjs";
13
13
  import { i as inferProjectBindings, n as FRAMEWORK_SCAN_DIRS, r as detectFramework } from "./plugin-inference-BDRfZngg.mjs";
14
14
  import { o as validateSsrEntry } from "./entry-DU3oDoQ3.mjs";
15
- import { a as buildMigrationPlanBundle, c as collectMigrations, r as validateMigrations, t as assertJournalCoherence } from "./validate-Bihr8WBi.mjs";
15
+ import { a as buildMigrationPlanBundle, c as collectMigrations, r as validateMigrations, t as assertJournalCoherence } from "./validate-tBBN_dXH.mjs";
16
16
  import { r as scanWranglerDotenvKeys } from "./dotenv-VQxupEUv.mjs";
17
17
  import { t as discoverSchema } from "./discover-xvfrgJeo.mjs";
18
18
  import { t as findEnvFile } from "./env-types-BNPhro-M.mjs";
19
19
  import { a as deriveSelfHostEnvContextFromVars, c as fetchRemoteSecretNames, d as readEmittedWorkerVars, f as selfHostSchemaFailureMessage, i as SelfHostSecretListError, l as formatEnvReport, n as SelfHostFirstDeployError, o as dischargeSelfHostEnvContext, p as validateProdEnv, r as SelfHostSchemaError, t as SelfHostEnvValidationError, u as listSelfHostSecretNames } from "./env-validation-ENpMy6Ez.mjs";
20
20
  import { n as CLOUDFLARE_DEPLOY_BUILD_ENV, o as resolveRemoteMode, s as stripInternalEnvKeys } from "./env-D4Emu-M_.mjs";
21
21
  import { n as writeDrizzleConfig } from "./config-NOG_U1aK.mjs";
22
- import { t as runMySqlMigrations } from "./runner-mysql-CgRFl3s6.mjs";
23
- import { t as runPgMigrations } from "./runner-pg-DCkWPsWS.mjs";
22
+ import { t as runMySqlMigrations } from "./runner-mysql-7BPUNGmL.mjs";
23
+ import { t as runPgMigrations } from "./runner-pg-BkEza-dX.mjs";
24
+ import { n as openMigrationValidationDatabase, t as SqliteMigrationError } from "./sqlite-validation-BzKMWnO4.mjs";
24
25
  import { t as scanPages } from "./scan-CpK-57ug.mjs";
25
26
  import { a as scanEmailHandlersSync, r as hasEmailHandlers } from "./email-Ce6SQq-i.mjs";
26
- import { a as isExpiredTokenError, i as isCliOutdatedError, n as PlatformClient, o as parsePlatformErrorBody, t as PlatformApiError } from "./client-CyCHWSO_.mjs";
27
+ import { a as isExpiredTokenError, i as isCliOutdatedError, n as PlatformClient, o as parsePlatformErrorBody, t as PlatformApiError } from "./client-Clirrol3.mjs";
27
28
  import { a as resolveProjectCommand, i as hasBackendFiles, n as detectPreset, o as resolveWranglerArgv, r as formatProjectCommand, t as FRAMEWORK_PRESETS } from "./preset-lAy0B0BQ.mjs";
28
- import { o as ensureCloudflareAuthentication, t as CloudflareAuthenticationError } from "./cloudflare-auth-DRkGe7-s.mjs";
29
+ import { i as cloudflareKeyringNeedsTerminal, s as ensureCloudflareAuthentication, t as CloudflareAuthenticationError } from "./cloudflare-auth-B1QtTO1b.mjs";
29
30
  import { n as createCloudflareEmptyDomainPublisher } from "./cloudflare-operations-CPTpRW6d.mjs";
30
- import { i as promptProjectSetupAction, n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-DMV-csEm.mjs";
31
+ import { i as promptProjectSetupAction, n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-ChGZ1DFd.mjs";
31
32
  import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project--Vxawf7z.mjs";
32
33
  import { t as collectGitDeployMetadata } from "./git-metadata-D-gurjzG.mjs";
33
- import { t as promptForLoginToken } from "./login-C8-UuLnp.mjs";
34
+ import { t as promptForLoginToken } from "./login-pV69H-ZO.mjs";
34
35
  import { createRequire } from "node:module";
35
36
  import { copyFileSync, cpSync, createWriteStream, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
36
37
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -3471,8 +3472,8 @@ async function generateWrapper(workerDir, workerMain, root, features) {
3471
3472
  let migrations;
3472
3473
  let migrationPlanBundle;
3473
3474
  if (features.hasMigrations) {
3474
- const { collectMigrations } = await import("./validate-Bihr8WBi.mjs").then((n) => n.l);
3475
- const { buildMigrationPlanBundle } = await import("./validate-Bihr8WBi.mjs").then((n) => n.s);
3475
+ const { collectMigrations } = await import("./validate-tBBN_dXH.mjs").then((n) => n.l);
3476
+ const { buildMigrationPlanBundle } = await import("./validate-tBBN_dXH.mjs").then((n) => n.s);
3476
3477
  const migrationsDir = readProjectPaths(root).migrationsDir;
3477
3478
  migrations = collectMigrations(migrationsDir);
3478
3479
  migrationPlanBundle = features.migrationDialect === "sqlite" ? buildMigrationPlanBundle(migrations) : void 0;
@@ -5361,8 +5362,7 @@ async function computeDesiredCloudflareResources(root, voidConfig, configPath) {
5361
5362
  * `required` set is passed in, so this needs no Better Auth resolution).
5362
5363
  */
5363
5364
  async function assertMigrationsProduceAuthSchema(migrations, required) {
5364
- const { DatabaseSync } = await import("node:sqlite");
5365
- const db = new DatabaseSync(":memory:");
5365
+ const db = await openMigrationValidationDatabase(migrations);
5366
5366
  const quote = (identifier) => `"${identifier.replace(/"/g, "\"\"")}"`;
5367
5367
  const foldIdentifier = (identifier) => identifier.toLowerCase();
5368
5368
  const sameIdentifier = (a, b) => foldIdentifier(a) === foldIdentifier(b);
@@ -5380,11 +5380,6 @@ async function assertMigrationsProduceAuthSchema(migrations, required) {
5380
5380
  return primaryKey.length === 1 && primaryKey[0] ? primaryKey[0].name : null;
5381
5381
  };
5382
5382
  try {
5383
- for (const migration of migrations) try {
5384
- db.exec(migration.sql);
5385
- } catch (err) {
5386
- throw new Error(`checked-in migration ${migration.name} could not be applied to a fresh SQLite database, so the auth schema cannot be verified: ${getErrorMessage(err)}`);
5387
- }
5388
5383
  const tables = new Set(db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all().map((row) => foldIdentifier(row.name)));
5389
5384
  const problems = [];
5390
5385
  for (const req of required) {
@@ -5701,11 +5696,16 @@ function createDeployWranglerRunner(root, accountId, apiBaseUrl) {
5701
5696
  const [command, ...prefix] = resolveWranglerArgv(root);
5702
5697
  return (args, opts) => {
5703
5698
  const childEnv = deployChildEnv(accountId, apiBaseUrl);
5704
- if (!opts.capture) childEnv.WRANGLER_LOG = "none";
5699
+ const keyringTerminal = cloudflareKeyringNeedsTerminal(args);
5700
+ if (!opts.capture || keyringTerminal) childEnv.WRANGLER_LOG = "none";
5705
5701
  if (opts.env) Object.assign(childEnv, opts.env);
5706
5702
  const result = spawnSync(command, [...prefix, ...args], {
5707
5703
  cwd: root,
5708
- stdio: opts.input === void 0 ? opts.capture ? [
5704
+ stdio: keyringTerminal ? [
5705
+ "inherit",
5706
+ "inherit",
5707
+ "ignore"
5708
+ ] : opts.input === void 0 ? opts.capture ? [
5709
5709
  "ignore",
5710
5710
  "pipe",
5711
5711
  "pipe"
@@ -6506,9 +6506,7 @@ async function runCloudflareDeploy(root, options, cliLog, deps = {}) {
6506
6506
  "they must already produce the Better Auth schema — tables, columns, and the primary",
6507
6507
  "keys, unique constraints and foreign keys it declares:",
6508
6508
  ` ${getErrorMessage(err)}`,
6509
- "`void db generate` includes the production Better Auth schema automatically. Run it,",
6510
- "review and commit the generated migration, then rerun deploy — or deploy this app",
6511
- "with `void deploy` (the managed platform)."
6509
+ ...err instanceof SqliteMigrationError ? ["Repair the unapplied migration named above, then rerun deploy.", "`void db generate` diffs snapshots and cannot repair existing invalid SQL."] : ["`void db generate` includes the production Better Auth schema automatically.", "Run it, review and commit the generated migration, then rerun deploy."]
6512
6510
  ].join("\n"));
6513
6511
  return exit(1);
6514
6512
  }
@@ -7120,7 +7118,7 @@ async function runCloudflareStaticDeploy(root, options, voidConfig, preset, cliL
7120
7118
  workerName,
7121
7119
  versionId
7122
7120
  });
7123
- assertCloudflareBindingsPreserved(existingWorker, uploaded);
7121
+ assertCloudflareBindingsPreserved(existingWorker, uploaded, [], { staticAssetsBinding: "ASSETS" });
7124
7122
  } : void 0,
7125
7123
  recordVerifiedCandidate: existingWorker ? (versionId) => recordCloudflareCandidate(root, pinnedHandoffLink, existingWorker.versionId, versionId) : void 0,
7126
7124
  workerName,
@@ -1,6 +1,6 @@
1
1
  import { D as log, O as note, c as import_picocolors } 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-CyCHWSO_.mjs";
3
+ import { n as PlatformClient } from "./client-Clirrol3.mjs";
4
4
  //#region src/cli/domain.ts
5
5
  async function runDomainCommand(root, args) {
6
6
  const platform = readDeploymentPlatform(root);