void 1.1.12 → 1.2.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 (193) hide show
  1. package/dist/{account-cmd-Cj6sCMTk.mjs → account-cmd-CdUll_35.mjs} +5 -5
  2. package/dist/action-key-XZ9HkWAO.mjs +26 -0
  3. package/dist/{application-analysis-D7nNmNJb.mjs → application-analysis-fEqoSeMp.mjs} +11 -11
  4. package/dist/{application-routing-CZH66gXn.mjs → application-routing-DAhNP4u3.mjs} +1 -1
  5. package/dist/{ast-CPGPjb0V.mjs → ast-CsZ_q_gc.mjs} +6 -1
  6. package/dist/ast-bindings-C3yaPs1y.mjs +296 -0
  7. package/dist/{auth-link-Dj7lAC_K.mjs → auth-link-C87vGXM-.mjs} +5 -5
  8. package/dist/{auth-router-CNsMOFCa.mjs → auth-router-6I81r-ix.mjs} +3 -3
  9. package/dist/{better-auth-shared-Bv18bB-l.d.mts → better-auth-shared-DVk2DkTW.d.mts} +1 -1
  10. package/dist/{build-cmd-ByhegwRC.mjs → build-cmd-ex1g-j_e.mjs} +4 -4
  11. package/dist/{cache-CEFb5ban.mjs → cache-oHzrnY3z.mjs} +4 -4
  12. package/dist/{cancel-deploy-CaARY26n.mjs → cancel-deploy-viAMD0Q_.mjs} +3 -3
  13. package/dist/cf-build-output-BJHuSsVN.mjs +1 -0
  14. package/dist/{cf-build-output-ChEKWan2.mjs → cf-build-output-BhVxldCw.mjs} +4 -3
  15. package/dist/{cf-command-values-b8OqDoo9.mjs → cf-command-values-ByHk0xg4.mjs} +2 -1
  16. package/dist/cf-worker-settings-BECvvTVd.mjs +37 -0
  17. package/dist/cli/cli.mjs +32 -32
  18. package/dist/cli/cloudflare-operation-process.mjs +23 -13
  19. package/dist/cli/env-schema-probe.d.mts +1 -1
  20. package/dist/cli/env-schema-probe.mjs +3 -3
  21. package/dist/{client-BdzxubTS.mjs → client-BEkdj1kx.mjs} +1 -1
  22. package/dist/client-BiRDZTSd.mjs +1 -0
  23. package/dist/{cloudflare-auth-DSvBc1Gu.mjs → cloudflare-auth-Byo_0_N9.mjs} +1 -1
  24. package/dist/{cloudflare-cmd-D_2-Q-_i.mjs → cloudflare-cmd-DMzCv12s.mjs} +5 -5
  25. package/dist/{cloudflare-config-rdFOys4X.mjs → cloudflare-config-DchHxPTo.mjs} +1 -1
  26. package/dist/{cloudflare-connect-BN-k2kD-.mjs → cloudflare-connect-CCRTVg-I.mjs} +3 -3
  27. package/dist/{cloudflare-operations-D5PLrOqD.mjs → cloudflare-operations-Dh9dEHJj.mjs} +6 -6
  28. package/dist/{cloudflare-operations-BFLCpUCV.mjs → cloudflare-operations-DsSaw2BT.mjs} +1 -1
  29. package/dist/{cloudflare-process-CZJ4viYl.mjs → cloudflare-process-8jEYIeim.mjs} +3 -2
  30. package/dist/{config-DC5llZaI.mjs → config-BIaXIkkv.mjs} +8 -3
  31. package/dist/{config-DYJV8aEH.mjs → config-BU6hMu1W.mjs} +1 -1
  32. package/dist/{config-D26zcdKy.mjs → config-DHgSEWT7.mjs} +39 -6
  33. package/dist/{config-7qoq2p9v.d.mts → config-DQfHOKh9.d.mts} +10 -1
  34. package/dist/config-entry.d.mts +1 -1
  35. package/dist/{connect-C4_m2moF.mjs → connect-k7R2rPVA.mjs} +6 -6
  36. package/dist/{create-project-CvuYDD-l.mjs → create-project-DTuy-l0z.mjs} +1 -1
  37. package/dist/{create-project-D8jQTwVQ.mjs → create-project-DV71ol5d.mjs} +4 -4
  38. package/dist/{db-BsiOAa0A.mjs → db-DVOkLH5X.mjs} +30 -24
  39. package/dist/{delete-CAma7nFi.mjs → delete-BbP5eopu.mjs} +4 -4
  40. package/dist/{deploy-D1gIPiAq.mjs → deploy-7H32EnUs.mjs} +114 -71
  41. package/dist/deploy-CE0Ev0Ob.mjs +2 -0
  42. package/dist/{deploy-managed-static-B9KVxY3X.mjs → deploy-managed-static-DlvcvnQT.mjs} +15 -15
  43. package/dist/{deploy-transport-B3mtEi_q.mjs → deploy-transport-BzGEj0Ge.mjs} +2 -2
  44. package/dist/deploy.mjs +7 -7
  45. package/dist/{dev-inbox-Rd6j_8vM.mjs → dev-inbox-D0jxye_D.mjs} +1 -1
  46. package/dist/{dispatch-BAbbn3jg.mjs → dispatch-DoUnxTNo.mjs} +15 -11
  47. package/dist/{dist-CfgIkieS.mjs → dist-B1PLt4_8.mjs} +1 -1
  48. package/dist/{dist-BVdsO7Py.mjs → dist-Cor9XGoz.mjs} +94 -200
  49. package/dist/{dist-Bn8Kodjp.mjs → dist-D15hFhP0.mjs} +1 -1
  50. package/dist/{domain-BAdwm-QS.mjs → domain-CA2wBgra.mjs} +5 -5
  51. package/dist/drizzle-9TubSZvI.mjs +1 -0
  52. package/dist/{email-BcjSyAL0.mjs → email-B9ayYQEG.mjs} +1 -1
  53. package/dist/{email-MwjA7kaL.mjs → email-DXpCc77w.mjs} +10 -10
  54. package/dist/{email-cloudflare-etpKiITL.mjs → email-cloudflare-D03g2TkS.mjs} +7 -7
  55. package/dist/{entry-B_0IhV64.mjs → entry-BEM8ZuGP.mjs} +40 -12
  56. package/dist/{env-B163-G1s.mjs → env-DgOQ9_8S.mjs} +6 -6
  57. package/dist/{env-public-CCdykygU.d.mts → env-public-6lqiSD2b.d.mts} +1 -0
  58. package/dist/{env-types-GRchm5dw.mjs → env-types-BicfKBhV.mjs} +1 -1
  59. package/dist/{env-validation-CuGfWRJd.mjs → env-validation-BmsdCZEk.mjs} +1 -1
  60. package/dist/{env-validation-D_KyMdab.mjs → env-validation-Dwq3PJzK.mjs} +3 -3
  61. package/dist/{gen-CYN3wiov.mjs → gen-BfmcIi2g.mjs} +5 -5
  62. package/dist/gen-NrOlWZaG.mjs +1 -0
  63. package/dist/{github-cmd-C8QsnJQs.mjs → github-cmd-CY9LUqLh.mjs} +4 -4
  64. package/dist/{handler-D5K_yP6T.d.mts → handler-BbkSPzGF.d.mts} +90 -8
  65. package/dist/{headers-Bi4bOAwp.mjs → headers-D522zd0A.mjs} +2 -2
  66. package/dist/help-BeAFFE5C.mjs +1 -0
  67. package/dist/{help-B2sFwn9b.mjs → help-CxSlPpzJ.mjs} +40 -10
  68. package/dist/{inbound-BuTfm11U.mjs → inbound-VrOLqwZY.mjs} +1 -1
  69. package/dist/index.d.mts +1 -1
  70. package/dist/index.mjs +91 -57
  71. package/dist/{info-Bxunp14X.mjs → info-7VDlhtyy.mjs} +4 -4
  72. package/dist/{init-DGFQMnbk.mjs → init-DxYyOs4-.mjs} +103 -43
  73. package/dist/{link-CwrfpjIM.mjs → link-Ddmod1dZ.mjs} +5 -5
  74. package/dist/{list-hKoW5z-b.mjs → list-MogaugiO.mjs} +5 -5
  75. package/dist/{live-JheIDZKc.d.mts → live-Bt8Y_0bg.d.mts} +1 -1
  76. package/dist/{local-d1-CpaPbd_L.mjs → local-d1-BHBnKWRb.mjs} +1 -1
  77. package/dist/{log-vqY3pqwI.mjs → log-BMwmN5Ae.mjs} +2 -2
  78. package/dist/{login-f2eu2TQh.mjs → login-Cttnagmm.mjs} +4 -4
  79. package/dist/login-DgDwlKc_.mjs +1 -0
  80. package/dist/{logs-CEWqD-_B.mjs → logs-CAszUWZI.mjs} +4 -4
  81. package/dist/{migrate-DYfdWBXt.mjs → migrate-DyT2jJ8y.mjs} +5 -5
  82. package/dist/migrate-n49ZeS1X.mjs +1 -0
  83. package/dist/{mime-srOklVVv.mjs → mime-BAyHPskU.mjs} +1 -1
  84. package/dist/nitro.mjs +3 -3
  85. package/dist/{node-uN8_zxJr.mjs → node-WB7c2N4L.mjs} +2 -2
  86. package/dist/operator-cmd-d2MvJOrl.mjs +1 -0
  87. package/dist/{operator-cmd-DCr_QGMH.mjs → operator-cmd-skshjMGl.mjs} +4 -4
  88. package/dist/output-BW9uK099.mjs +1 -0
  89. package/dist/{output-CKguMgr7.mjs → output-BpgYODYx.mjs} +3 -3
  90. package/dist/pages/client.d.mts +5 -1
  91. package/dist/pages/client.mjs +47 -30
  92. package/dist/pages/index.d.mts +1 -1
  93. package/dist/pages/index.mjs +3 -3
  94. package/dist/pages/islands-plugin.mjs +2 -1
  95. package/dist/pages/protocol.d.mts +2 -2
  96. package/dist/pages/protocol.mjs +1 -1
  97. package/dist/{parse-filename-CUbj-1MP.mjs → parse-filename-DioPHiR9.mjs} +1 -35
  98. package/dist/{picocolors-BTps1_gs.mjs → picocolors-BsDfhxIw.mjs} +1 -1
  99. package/dist/{platform-args-B7ke06up.mjs → platform-args-DVbVClZl.mjs} +12 -4
  100. package/dist/platform-args-kQrgxScY.mjs +1 -0
  101. package/dist/{platform-auth-config-qGvEuns3.mjs → platform-auth-config-C-pm5Qzx.mjs} +6 -6
  102. package/dist/{platform-auth-protection-CyLcD6ot.mjs → platform-auth-protection-SHhvim1L.mjs} +4 -4
  103. package/dist/{platform-auth-recovery-B2LKI8V2.mjs → platform-auth-recovery-DXVWs-wA.mjs} +4 -4
  104. package/dist/{platform-cmd-CX7phm7V.mjs → platform-cmd-D5I1beUX.mjs} +7 -7
  105. package/dist/{platform-cmd-B2ec5eFg.mjs → platform-cmd-PiNRkopU.mjs} +1 -1
  106. package/dist/{platform-domain-DDNK2y-4.mjs → platform-domain-jpmBfZeb.mjs} +4 -4
  107. package/dist/{platform-lifecycle-CWc5gr6c.mjs → platform-lifecycle-DH3Yr1qQ.mjs} +1 -1
  108. package/dist/{platform-lifecycle-3CR98Tg2.mjs → platform-lifecycle-DyKmuNY6.mjs} +28 -17
  109. package/dist/{platform-management-o3LCCeE4.mjs → platform-management--vDwSn35.mjs} +11 -5
  110. package/dist/{platform-management-DAE6g2QU.mjs → platform-management-7m-PLaPJ.mjs} +1 -1
  111. package/dist/{platform-plans-config-CBMZxCep.mjs → platform-plans-config-CeydDSj0.mjs} +2 -2
  112. package/dist/{platform-recovery-Dmsg7lWA.mjs → platform-recovery-BiNpZZab.mjs} +2 -2
  113. package/dist/{platform-setup-hFbnWAVQ.mjs → platform-setup-Ca53gtt0.mjs} +3 -2
  114. package/dist/{plugin-inference-Bekzjuqw.mjs → plugin-inference-DUjCd55H.mjs} +145 -218
  115. package/dist/{prepare-HKo7Rh5V.mjs → prepare-BcAE5Sdj.mjs} +3 -3
  116. package/dist/prepare-C4I0f--h.mjs +1 -0
  117. package/dist/{prepare-DepAGBcV.mjs → prepare-DA-17DhO.mjs} +5 -5
  118. package/dist/{prerender-render-Bfsumdkv.mjs → prerender-render-Cijv7UFo.mjs} +11 -6
  119. package/dist/prerender-render.mjs +1 -1
  120. package/dist/{project-cmd-8ylYGx-O.mjs → project-cmd-DA4K5faU.mjs} +17 -17
  121. package/dist/{project-team-Bvpl78we.mjs → project-team-CQBNveX3.mjs} +4 -4
  122. package/dist/{project-token-QWHoJH2t.mjs → project-token-CCalFyQf.mjs} +4 -4
  123. package/dist/{project-zero-trust-8tJ-RFvu.mjs → project-zero-trust-DPnkiEuT.mjs} +4 -4
  124. package/dist/{protocol-Ssc_LhHj.d.mts → protocol-BBDpJz3G.d.mts} +3 -1
  125. package/dist/{protocol-bAUUkx70.mjs → protocol-DimNxVRr.mjs} +41 -16
  126. package/dist/{provision-BgXFDv0d.mjs → provision-BFLCrnUp.mjs} +1 -1
  127. package/dist/{provision-DZKYCEJg.mjs → provision-DtROpNNI.mjs} +3 -3
  128. package/dist/{requests-Vk5Zyhcy.mjs → requests-BpH0kImL.mjs} +3 -3
  129. package/dist/resolve-project-DD1vu8s9.mjs +1 -0
  130. package/dist/{resolve-project-WpwkCB_c.mjs → resolve-project-Xoi6eTWY.mjs} +1 -1
  131. package/dist/{rollback-CH4yMQys.mjs → rollback-CXS1tAa-.mjs} +4 -4
  132. package/dist/{rolldown-runtime-DXIUcv95.mjs → rolldown-runtime-3h0WiCiA.mjs} +1 -1
  133. package/dist/{routing-assets-VkrKIbxE.mjs → routing-assets-DdSFxoLp.mjs} +10 -4
  134. package/dist/runtime/better-auth-mysql.d.mts +1 -1
  135. package/dist/runtime/better-auth-pg.d.mts +1 -1
  136. package/dist/runtime/better-auth.d.mts +1 -1
  137. package/dist/runtime/email/testing.mjs +4 -4
  138. package/dist/runtime/email.mjs +3 -3
  139. package/dist/runtime/env-public.d.mts +1 -1
  140. package/dist/runtime/handler.d.mts +1 -1
  141. package/dist/runtime/live-client.d.mts +1 -1
  142. package/dist/runtime/live.d.mts +1 -1
  143. package/dist/runtime/routing.d.mts +17 -76
  144. package/dist/runtime/routing.mjs +277 -216
  145. package/dist/runtime/validator.d.mts +1 -1
  146. package/dist/runtime/ws-server.d.mts +2 -2
  147. package/dist/runtime/ws.d.mts +1 -1
  148. package/dist/{scan-D2-FcLHs.mjs → scan-8IzYXiU_.mjs} +12 -11
  149. package/dist/{secret-wr6Sn4Xa.mjs → secret-BbXHfLAt.mjs} +6 -6
  150. package/dist/{skills-C_yRTg0g.mjs → skills-CrUO3PJ0.mjs} +1 -1
  151. package/dist/{subcommand-prompt-CNZc4XUd.mjs → subcommand-prompt-D9OhhbGG.mjs} +2 -2
  152. package/dist/{version-metadata-B1Bm2wSq.mjs → version-metadata-tS39iW09.mjs} +1 -1
  153. package/dist/wrangler-BLb3_luP.mjs +1 -0
  154. package/dist/{wrangler-C9XSzrju.mjs → wrangler-F96NnLyb.mjs} +13 -5
  155. package/dist/{wrapper-DGsYwNi6.mjs → wrapper-D3sZyh2C.mjs} +3 -3
  156. package/dist/{ws-nnFnAyQb.d.mts → ws-BH-im_tX.d.mts} +1 -1
  157. package/docs/guide/ai.md +1 -1
  158. package/docs/guide/database/postgresql.md +1 -1
  159. package/docs/guide/database.md +26 -0
  160. package/docs/guide/email/domains.md +1 -1
  161. package/docs/guide/pages-routing/actions-and-forms.md +1 -1
  162. package/docs/guide/pages-routing/overview.md +1 -1
  163. package/docs/guide/platform/installation/credentials.md +1 -1
  164. package/docs/guide/platform/installation/domains.md +16 -0
  165. package/docs/guide/quickstart.md +26 -1
  166. package/docs/guide/sandboxes.md +2 -2
  167. package/docs/guide/self-hosted-platform.md +1 -1
  168. package/docs/guide/server-routing.md +1 -1
  169. package/docs/integrations/cloudflare.md +1 -0
  170. package/docs/reference/api/env.md +1 -1
  171. package/docs/reference/api/rewrites.md +1 -1
  172. package/docs/reference/api/types.md +1 -0
  173. package/docs/reference/cli/platform-installation.md +3 -2
  174. package/docs/reference/cli/setup.md +17 -0
  175. package/docs/reference/cli.md +1 -1
  176. package/docs/reference/config.md +13 -0
  177. package/docs/reference/resource-inference.md +4 -0
  178. package/package.json +22 -22
  179. package/sandbox.Dockerfile +2 -2
  180. package/schema.json +23 -3
  181. package/dist/cf-build-output-Dcmxa-Zm.mjs +0 -1
  182. package/dist/cf-user-agent-BkEHPDLA.mjs +0 -16
  183. package/dist/client-DAnfyMe9.mjs +0 -1
  184. package/dist/deploy-Dc0XsCQj.mjs +0 -2
  185. package/dist/gen-Cf-RBVg4.mjs +0 -1
  186. package/dist/help-w-xlx_kq.mjs +0 -1
  187. package/dist/login-08mBwZfI.mjs +0 -1
  188. package/dist/migrate-Di-4EuoE.mjs +0 -1
  189. package/dist/operator-cmd-Bv20yLu2.mjs +0 -1
  190. package/dist/platform-args-B_LrqEZB.mjs +0 -1
  191. package/dist/prepare-EVEbQ9n2.mjs +0 -1
  192. package/dist/resolve-project-PnhzMtY6.mjs +0 -1
  193. package/dist/wrangler-DAdxHEzh.mjs +0 -1
@@ -1,20 +1,20 @@
1
1
  import { a as join, c as resolve, n as dirname, r as extname, s as relative, t as basename } from "./dist-ipQi0Q8y.mjs";
2
- import { r as detectFramework } from "./plugin-inference-Bekzjuqw.mjs";
2
+ import { r as detectFramework } from "./plugin-inference-DUjCd55H.mjs";
3
3
  import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
4
- import { d as readConfig, f as resolveBindingNames, s as getDatabaseDialect } from "./config-D26zcdKy.mjs";
4
+ import { c as getDatabaseCasing, l as getDatabaseDialect, m as resolveBindingNames, p as readConfig } from "./config-DHgSEWT7.mjs";
5
5
  import { i as writeJournal, n as readJournal, r as stripSqlExt, t as collectMigrations } from "./collect-Dew86qce.mjs";
6
6
  import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-rqDnVsJN.mjs";
7
- import { t as resolveLocalD1Target } from "./local-d1-CpaPbd_L.mjs";
7
+ import { t as resolveLocalD1Target } from "./local-d1-BHBnKWRb.mjs";
8
8
  import { t as cfAccessHeaders } from "./cf-access-BM9G0lhO.mjs";
9
9
  import { n as ensurePlatformProxyAccess, r as isCloudflareAccessChallenge, t as ensurePlatformAccessToken } from "./cf-access-CWP4avfP.mjs";
10
10
  import { c as getToken, o as getProxyUrl } from "./auth-B6iOCjKI.mjs";
11
- import { A as confirm, H as outro, L as log, X as text, tt as isCancel } from "./dist-BVdsO7Py.mjs";
12
- import { f as import_picocolors, i as dim, l as formatUrl, m as printSuccess, o as formatCount, u as getErrorMessage } from "./output-CKguMgr7.mjs";
13
11
  import { o as loadLocalEnv } from "./env-BJjULvL0.mjs";
14
12
  import { i as validateMigrations, t as assertJournalCoherence } from "./validate-CnZPMq4q.mjs";
15
- import { n as PlatformApiError, r as PlatformClient } from "./client-BdzxubTS.mjs";
13
+ import { A as confirm, H as outro, L as log, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
14
+ import { n as PlatformApiError, r as PlatformClient } from "./client-BEkdj1kx.mjs";
15
+ import { f as import_picocolors, i as dim, l as formatUrl, m as printSuccess, o as formatCount, u as getErrorMessage } from "./output-BpgYODYx.mjs";
16
16
  import { n as drizzleKitBin } from "./yarn-pnp-DLbEFMT0.mjs";
17
- import { n as formatTimestamp } from "./gen-CYN3wiov.mjs";
17
+ import { n as formatTimestamp } from "./gen-BfmcIi2g.mjs";
18
18
  import { createRequire } from "node:module";
19
19
  import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
20
20
  import { pathToFileURL } from "node:url";
@@ -156,7 +156,7 @@ function runDrizzleKit(root, args) {
156
156
  * already printed its own error.
157
157
  */
158
158
  async function runDrizzleKitWithDatabaseUrl(root, url, dialect, command) {
159
- const { withPrivateDrizzleConfig } = await import("./config-DYJV8aEH.mjs");
159
+ const { withPrivateDrizzleConfig } = await import("./config-BU6hMu1W.mjs");
160
160
  if (!withPrivateDrizzleConfig(root, url, dialect, (configPath) => {
161
161
  try {
162
162
  runDrizzleKit(root, [
@@ -312,7 +312,7 @@ async function runPush(root, dialect) {
312
312
  printSuccess("Database schema pushed.");
313
313
  return;
314
314
  }
315
- const { writeDrizzleConfig } = await import("./config-DYJV8aEH.mjs");
315
+ const { writeDrizzleConfig } = await import("./config-BU6hMu1W.mjs");
316
316
  const { databasePath: dbPath } = getLocalD1Target(root);
317
317
  mkdirSync(dirname(dbPath), { recursive: true });
318
318
  const configPath = writeDrizzleConfig(root, dbPath);
@@ -328,8 +328,8 @@ async function runPush(root, dialect) {
328
328
  printSuccess("Database schema pushed.");
329
329
  }
330
330
  async function runGenerate(root, dialect) {
331
- const { prepareProject } = await import("./prepare-EVEbQ9n2.mjs");
332
- const { PLACEHOLDER_DB_URL, writeDrizzleConfig } = await import("./config-DYJV8aEH.mjs");
331
+ const { prepareProject } = await import("./prepare-C4I0f--h.mjs");
332
+ const { PLACEHOLDER_DB_URL, writeDrizzleConfig } = await import("./config-BU6hMu1W.mjs");
333
333
  await prepareProject(root);
334
334
  const authSchemaPath = join(root, ".void", "better-auth-schema.ts");
335
335
  const additionalSchemas = existsSync(authSchemaPath) ? [authSchemaPath] : void 0;
@@ -399,7 +399,7 @@ async function runStatus(root, dialect) {
399
399
  applied_at: ""
400
400
  }));
401
401
  } else {
402
- const { readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-BFLCpUCV.mjs");
402
+ const { readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-DsSaw2BT.mjs");
403
403
  remoteApplied = (await readCloudflareD1Migrations(resolveCloudflareD1Context(root, configuredD1Binding(root)))).map((name) => ({
404
404
  name,
405
405
  applied_at: ""
@@ -711,7 +711,7 @@ async function runExecute(root, command, file, dialect, remote) {
711
711
  process.exit(0);
712
712
  }
713
713
  if (dialect === "sqlite") {
714
- const { executeCloudflareD1Sql, resolveCloudflareD1Context } = await import("./cloudflare-operations-BFLCpUCV.mjs");
714
+ const { executeCloudflareD1Sql, resolveCloudflareD1Context } = await import("./cloudflare-operations-DsSaw2BT.mjs");
715
715
  const rows = await executeCloudflareD1Sql(resolveCloudflareD1Context(root, configuredD1Binding(root)), sql);
716
716
  if (rows.length > 0) printTable(rows);
717
717
  } else {
@@ -905,7 +905,7 @@ async function runMigrate(root, dialect, remote) {
905
905
  log.info(`No migration files found in ${paths.sourceRelative("db/migrations")}/`);
906
906
  return;
907
907
  }
908
- const { applyCloudflareD1Migrations, readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-BFLCpUCV.mjs");
908
+ const { applyCloudflareD1Migrations, readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-DsSaw2BT.mjs");
909
909
  const binding = configuredD1Binding(root);
910
910
  const context = resolveCloudflareD1Context(root, binding);
911
911
  const remoteBefore = new Set(await readCloudflareD1Migrations(context));
@@ -925,7 +925,7 @@ async function runMigrate(root, dialect, remote) {
925
925
  log.error(`db: D1 binding ${binding} has no "migrations_dir", so Cloudflare would apply ./migrations instead of ${dir}/. Add "migrations_dir": "./${dir}" to that D1 binding in your Cloudflare config, then run the command again.`);
926
926
  process.exit(1);
927
927
  }
928
- const { checkWranglerMigrationApplySet, parseRootWranglerConfig } = await import("./deploy-Dc0XsCQj.mjs");
928
+ const { checkWranglerMigrationApplySet, parseRootWranglerConfig } = await import("./deploy-CE0Ev0Ob.mjs");
929
929
  const applySet = await checkWranglerMigrationApplySet(context.operation.configPath, parseRootWranglerConfig(context.operation.configPath), binding, context.migrationsDir, rawMigrations, paths.sourceRelative("db/migrations"));
930
930
  if (!applySet.ok) {
931
931
  log.error(applySet.reason);
@@ -1052,7 +1052,7 @@ async function runRestore(root, dialect, { target, platform: explicitPlatform, y
1052
1052
  log.error("db: `void db restore` restores the D1 database of a direct Cloudflare deploy. After a one-off `void deploy --platform cloudflare`, run it with `--platform cloudflare`.");
1053
1053
  process.exit(1);
1054
1054
  }
1055
- const { readCloudflareD1Migrations, resolveCloudflareD1Context, restoreCloudflareD1Database } = await import("./cloudflare-operations-BFLCpUCV.mjs");
1055
+ const { readCloudflareD1Migrations, resolveCloudflareD1Context, restoreCloudflareD1Database } = await import("./cloudflare-operations-DsSaw2BT.mjs");
1056
1056
  const binding = configuredD1Binding(root);
1057
1057
  const context = resolveCloudflareD1Context(root, binding);
1058
1058
  const database = `D1 database ${context.migrateToken} (${binding})`;
@@ -1126,7 +1126,7 @@ async function runStudio(root, dialect, remote) {
1126
1126
  await runDrizzleKitWithDatabaseUrl(root, url, dialect, "studio");
1127
1127
  return;
1128
1128
  }
1129
- const { writeDrizzleConfig } = await import("./config-DYJV8aEH.mjs");
1129
+ const { writeDrizzleConfig } = await import("./config-BU6hMu1W.mjs");
1130
1130
  const { databasePath: dbPath } = getLocalD1Target(root);
1131
1131
  if (!existsSync(dbPath)) {
1132
1132
  log.error("No local database found. Start the dev server first.");
@@ -1146,8 +1146,8 @@ async function runStudio(root, dialect, remote) {
1146
1146
  }
1147
1147
  /** A direct Cloudflare deploy records its D1 or Hyperdrive id in the checked-in Cloudflare config. */
1148
1148
  async function hasDeployedCloudflareDatabase(root) {
1149
- const { readRootWranglerConfig } = await import("./wrangler-DAdxHEzh.mjs");
1150
- const { isRealD1Id, isRealHyperdriveId } = await import("./provision-BgXFDv0d.mjs");
1149
+ const { readRootWranglerConfig } = await import("./wrangler-BLb3_luP.mjs");
1150
+ const { isRealD1Id, isRealHyperdriveId } = await import("./provision-BFLCrnUp.mjs");
1151
1151
  const config = readRootWranglerConfig(root)?.config;
1152
1152
  const entries = (key) => {
1153
1153
  const value = config?.[key];
@@ -1643,10 +1643,11 @@ function toSeedTarget(root, seedPath, displayPath) {
1643
1643
  }
1644
1644
  async function runSeedModule(root, seed, dialect) {
1645
1645
  const schema = await loadSeedSchema(root);
1646
+ const casing = getDatabaseCasing(readConfig(root));
1646
1647
  if (dialect === "postgresql") {
1647
1648
  const { drizzle } = await import("drizzle-orm/node-postgres");
1648
1649
  await withPgClient(root, async (client) => {
1649
- const options = getDrizzleSchemaOptions(schema);
1650
+ const options = getDrizzleSchemaOptions(schema, casing);
1650
1651
  const drizzleClient = client;
1651
1652
  await seed({
1652
1653
  dialect,
@@ -1661,7 +1662,7 @@ async function runSeedModule(root, seed, dialect) {
1661
1662
  const { createConnection } = await import("mysql2/promise");
1662
1663
  const connection = await createConnection(getLocalDatabaseUrl(root, "mysql"));
1663
1664
  try {
1664
- const options = getDrizzleSchemaOptions(schema);
1665
+ const options = getDrizzleSchemaOptions(schema, casing);
1665
1666
  await seed({
1666
1667
  dialect,
1667
1668
  db: options ? drizzle(connection, {
@@ -1680,7 +1681,7 @@ async function runSeedModule(root, seed, dialect) {
1680
1681
  const { databasePath: dbPath } = getLocalD1Target(root);
1681
1682
  const sqlite = await openSqliteDatabase(dbPath);
1682
1683
  try {
1683
- const options = getDrizzleSchemaOptions(schema);
1684
+ const options = getDrizzleSchemaOptions(schema, casing);
1684
1685
  await seed({
1685
1686
  dialect,
1686
1687
  db: options ? drizzle(sqlite, options) : drizzle(sqlite),
@@ -1727,8 +1728,13 @@ async function importLocalModule(modulePath) {
1727
1728
  interopDefault: false
1728
1729
  }).import(modulePath);
1729
1730
  }
1730
- function getDrizzleSchemaOptions(schema) {
1731
- return Object.keys(schema).length > 0 ? { schema } : void 0;
1731
+ /** The schema and casing that `void/db` gives drizzle, or undefined when neither is set. */
1732
+ function getDrizzleSchemaOptions(schema, casing) {
1733
+ const options = {
1734
+ ...Object.keys(schema).length > 0 ? { schema } : {},
1735
+ ...casing ? { casing } : {}
1736
+ };
1737
+ return Object.keys(options).length > 0 ? options : void 0;
1732
1738
  }
1733
1739
  //#endregion
1734
1740
  export { runDbCommand };
@@ -1,9 +1,9 @@
1
1
  import { o as removeProjectConfig, r as readProjectConfig } from "./project-rqDnVsJN.mjs";
2
2
  import { c as getToken } from "./auth-B6iOCjKI.mjs";
3
- import { L as log, O as cancel, X as text, tt as isCancel } from "./dist-BVdsO7Py.mjs";
4
- import { m as printSuccess, p as note, r as createSpinner } from "./output-CKguMgr7.mjs";
5
- import { r as PlatformClient } from "./client-BdzxubTS.mjs";
6
- import { a as resolveProjectBySlug } from "./resolve-project-WpwkCB_c.mjs";
3
+ import { L as log, O as cancel, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
4
+ import { r as PlatformClient } from "./client-BEkdj1kx.mjs";
5
+ import { m as printSuccess, p as note, r as createSpinner } from "./output-BpgYODYx.mjs";
6
+ import { a as resolveProjectBySlug } from "./resolve-project-Xoi6eTWY.mjs";
7
7
  //#region src/cli/delete.ts
8
8
  async function runDeleteCommand(root, slug, options) {
9
9
  console.log();
@@ -1,49 +1,49 @@
1
- import { n as __toESM, t as __commonJSMin } from "./rolldown-runtime-DXIUcv95.mjs";
1
+ import { n as __toESM, t as __commonJSMin } from "./rolldown-runtime-3h0WiCiA.mjs";
2
2
  import { a as join, c as resolve, n as dirname, o as normalize, r as extname, s as relative, t as basename } from "./dist-ipQi0Q8y.mjs";
3
- import { t as require_picocolors } from "./picocolors-BTps1_gs.mjs";
4
- import { r as detectFramework } from "./plugin-inference-Bekzjuqw.mjs";
3
+ import { t as require_picocolors } from "./picocolors-BsDfhxIw.mjs";
4
+ import { r as detectFramework } from "./plugin-inference-DUjCd55H.mjs";
5
5
  import { n as readProjectPaths, t as assertNoRootSourceConventionConflicts } from "./project-paths-DGu_QZ_Q.mjs";
6
- import { c as isNodeTarget, d as readConfig, f as resolveBindingNames } from "./config-D26zcdKy.mjs";
7
- import { a as hasSandboxSqliteMigration, c as sandboxContainerConfig, i as assertSandboxNamespaceConfig, o as requiresSandboxPlatformImage, r as SANDBOX_MIGRATION_TAG, s as resolveSandboxConfig, t as analyzeApplicationSync } from "./application-analysis-D7nNmNJb.mjs";
6
+ import { m as resolveBindingNames, p as readConfig, u as isNodeTarget } from "./config-DHgSEWT7.mjs";
7
+ import { a as hasSandboxSqliteMigration, c as sandboxContainerConfig, i as assertSandboxNamespaceConfig, o as requiresSandboxPlatformImage, r as SANDBOX_MIGRATION_TAG, s as resolveSandboxConfig, t as analyzeApplicationSync } from "./application-analysis-fEqoSeMp.mjs";
8
8
  import { t as collectMigrations } from "./collect-Dew86qce.mjs";
9
- import { o as validateSsrEntry } from "./entry-B_0IhV64.mjs";
10
- import { r as hasEmailHandlers } from "./email-BcjSyAL0.mjs";
11
- import { i as voidWarn } from "./log-vqY3pqwI.mjs";
9
+ import { o as validateSsrEntry } from "./entry-BEM8ZuGP.mjs";
10
+ import { r as hasEmailHandlers } from "./email-B9ayYQEG.mjs";
11
+ import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
12
12
  import { a as resolveDistDir, c as hasDocumentRoutes, l as resolveAssetConfig, n as collectRevalidate, o as resolveWorkerDirName, r as hasRevalidate, s as hasApiRoutes } from "./isr-config-fZaJJ8t7.mjs";
13
13
  import { t as writeFileAtomic } from "./atomic-write-Dq6R0BPN.mjs";
14
14
  import { s as listPlatformConnections } from "./platform-registry-B9mWX9LO.mjs";
15
15
  import { c as writeDeploymentPlatform, n as readDeploymentPlatform, r as readProjectConfig } from "./project-rqDnVsJN.mjs";
16
16
  import { n as readGeneratedWranglerConfigFile } from "./generated-wrangler-config-DeWj5F9Y.mjs";
17
- import { i as persistCloudflareConfig, r as materializeCloudflareConfig, s as stashCloudflareDeployPointer } from "./cloudflare-config-rdFOys4X.mjs";
18
- import { C as readWranglerManagedQueueCleanupCandidates, E as resolveLiveBindingConfig, M as writeWranglerPublishedTrafficSnapshot, O as syncWranglerDurableObjects, a as LIVE_MIGRATION_TAG, c as bindingEntriesForField, h as nextDurableObjectMigrationTag, j as writeProvisionedWranglerConfig, k as syncWranglerWebSockets, m as hasDurableObjectSqliteMigration, o as acknowledgeWranglerManagedQueueRemovals, r as FRIENDLY_BINDING_NAMES, v as readExistingLiveBindingConfig, w as readWranglerPublishedTrafficSnapshot } from "./wrangler-C9XSzrju.mjs";
17
+ import { i as persistCloudflareConfig, r as materializeCloudflareConfig, s as stashCloudflareDeployPointer } from "./cloudflare-config-DchHxPTo.mjs";
18
+ import { A as syncWranglerWebSockets, C as readWranglerManagedQueueCleanupCandidates, D as sameMigrationsDir, E as resolveLiveBindingConfig, M as writeProvisionedWranglerConfig, N as writeWranglerPublishedTrafficSnapshot, a as LIVE_MIGRATION_TAG, c as bindingEntriesForField, h as nextDurableObjectMigrationTag, k as syncWranglerDurableObjects, m as hasDurableObjectSqliteMigration, o as acknowledgeWranglerManagedQueueRemovals, r as FRIENDLY_BINDING_NAMES, v as readExistingLiveBindingConfig, w as readWranglerPublishedTrafficSnapshot } from "./wrangler-F96NnLyb.mjs";
19
19
  import { r as trustedCloudflareWorkerAccessHeaders, t as cfAccessHeaders } from "./cf-access-BM9G0lhO.mjs";
20
20
  import { t as ensurePlatformAccessToken } from "./cf-access-CWP4avfP.mjs";
21
21
  import { a as getApiUrl, c as getToken, l as getTokenSource } from "./auth-B6iOCjKI.mjs";
22
- import { A as confirm, K as select, L as log, tt as isCancel } from "./dist-BVdsO7Py.mjs";
23
- import { o as formatCount, p as note, r as createSpinner, u as getErrorMessage } from "./output-CKguMgr7.mjs";
24
22
  import { c as resolveRemoteMode, t as CLOUDFLARE_DEPLOY_BUILD_ENV } from "./env-BJjULvL0.mjs";
25
- import { a as buildEnv, n as readVersionMetadataBinding, r as selectNativeVersionMetadataBinding, t as CLOUDFLARE_PRESERVE_BINDINGS_BUILD_ENV } from "./version-metadata-B1Bm2wSq.mjs";
26
- import { a as emailConfigInputs, c as renderAddressMap, d as collectPrerenderPathsNode, f as prerenderPages, i as createNodeEmailDns, l as renderEmailChecklist, n as SEND_EMAIL_BINDING, o as preflightEmail, p as prerenderPagesNode, r as applyEmailSetup, t as EMAIL_FROM_VAR, u as collectPrerenderPaths } from "./email-cloudflare-etpKiITL.mjs";
27
- import { n as completeApplicationAnalysis, t as analyzeApplication } from "./application-routing-CZH66gXn.mjs";
28
- import { a as record, i as migrateBuiltWranglerConfig, n as prepareCfFrameworkBuildOutput, r as prepareCfStaticBuildOutput, t as prepareCfBuildOutput } from "./cf-build-output-ChEKWan2.mjs";
23
+ import { a as buildEnv, n as readVersionMetadataBinding, r as selectNativeVersionMetadataBinding, t as CLOUDFLARE_PRESERVE_BINDINGS_BUILD_ENV } from "./version-metadata-tS39iW09.mjs";
24
+ import { a as emailConfigInputs, c as renderAddressMap, d as collectPrerenderPathsNode, f as prerenderPages, i as createNodeEmailDns, l as renderEmailChecklist, n as SEND_EMAIL_BINDING, o as preflightEmail, p as prerenderPagesNode, r as applyEmailSetup, t as EMAIL_FROM_VAR, u as collectPrerenderPaths } from "./email-cloudflare-D03g2TkS.mjs";
25
+ import { n as completeApplicationAnalysis, t as analyzeApplication } from "./application-routing-DAhNP4u3.mjs";
26
+ import { a as record, i as migrateBuiltWranglerConfig, n as prepareCfFrameworkBuildOutput, r as prepareCfStaticBuildOutput, t as prepareCfBuildOutput } from "./cf-build-output-BhVxldCw.mjs";
29
27
  import { i as validateMigrations, t as assertJournalCoherence } from "./validate-CnZPMq4q.mjs";
28
+ import { A as confirm, K as select, L as log, tt as isCancel } from "./dist-Cor9XGoz.mjs";
30
29
  import { r as getPackageDir } from "./agents-CuNtT0D_.mjs";
31
- import { a as isExpiredTokenError, r as PlatformClient } from "./client-BdzxubTS.mjs";
32
- import { t as getRequestedProjectSlug } from "./resolve-project-WpwkCB_c.mjs";
33
- import { a as FRAMEWORK_PRESETS, c as hasBackendFiles, i as isCleanCloudflareExit, l as resolveCloudflareOperationArgv, o as detectPreset, s as formatProjectCommand, t as createCloudflareProcessRunner, u as resolveProjectCommand } from "./cloudflare-process-CZJ4viYl.mjs";
34
- import { f as listSelfHostSecretNames, h as selfHostSchemaFailureMessage, i as SelfHostSecretListError, l as dischargeSelfHostEnvContext, n as SelfHostFirstDeployError, p as readEmittedWorkerVars, r as SelfHostSchemaError, s as deriveSelfHostEnvContextFromVars, t as SelfHostEnvValidationError } from "./env-validation-D_KyMdab.mjs";
35
- import { a as needsWrapper, r as cleanupWrapper, t as bundleEntry } from "./wrapper-DGsYwNi6.mjs";
36
- import { A as resolveDeployLiveBindingConfig, C as generateDeployWrapperIfNeeded, D as hasPrerenderSources, E as hasNonPageBackend, F as resolveStaticDeployPreset, I as toManifestSchedulesAndQueues, L as validateDeployMigrations, M as resolveDeployWranglerCompat, N as resolveFullDeployBuildCommand, O as log$1, P as resolveStaticBuildCommand, S as ensureManagedHyperdrive, T as getGitCommit, _ as hasDeploySchemaDrift, a as collectAndHashAssets, b as assertWorkerMainUploaded, c as formatDeploySummary, d as mergeAndLintRoutingRules, f as streamDirectR2Deploy, g as getDeploySchemaDriftMessage, h as assertDeploySchemaDriftFree, i as buildStaticManifest, j as resolveDeployWorkerMain, k as promptDeployProjectConfig, l as printDeployContext, m as warnUnpublishedRouting, n as runStaticDeploy, o as collectWorkerFiles, p as warnIgnoredNotFoundForFramework, r as buildFrameworkManifest, s as detectNonSpaFallbackWarning, t as assembleVoidManifest, u as printDeploySuccess, v as assertEnvSchemaValid, w as getExitCode, x as createProjectFromSlug, y as assertProjectDeployAccess } from "./deploy-managed-static-B9KVxY3X.mjs";
37
- import { a as checkCloudflareProvisionDrift, d as isQueueConfirmedAbsent, f as isRealD1Id, g as provisionCloudflareResources, i as assertValidResourceName, m as isRealKvId, s as deleteEnvVarCaseAware } from "./provision-DZKYCEJg.mjs";
38
- import { c as scrubWranglerAuthCredentials, n as buildSchemaProbeEnv, o as resolveDeployTransport, r as deployChildEnv, s as scrubManagedDeployBuildMarkers, t as MANAGED_DEPLOY_BUILD_ENV } from "./deploy-transport-B3mtEi_q.mjs";
39
- import { n as readCfUploadOutput, r as safePositional } from "./cf-command-values-b8OqDoo9.mjs";
40
- import { n as getVoidUserAgent, t as getCfCliVersion } from "./cf-user-agent-BkEHPDLA.mjs";
30
+ import { a as isExpiredTokenError, r as PlatformClient } from "./client-BEkdj1kx.mjs";
31
+ import { o as formatCount, p as note, r as createSpinner, u as getErrorMessage } from "./output-BpgYODYx.mjs";
32
+ import { t as getRequestedProjectSlug } from "./resolve-project-Xoi6eTWY.mjs";
33
+ import { i as safePositional, r as readCfUploadOutput, t as CF_VERSION_SOURCE_MAX_OUTPUT_BYTES } from "./cf-command-values-ByHk0xg4.mjs";
34
+ import { a as FRAMEWORK_PRESETS, c as hasBackendFiles, i as isCleanCloudflareExit, l as resolveCloudflareOperationArgv, o as detectPreset, s as formatProjectCommand, t as createCloudflareProcessRunner, u as resolveProjectCommand } from "./cloudflare-process-8jEYIeim.mjs";
35
+ import { f as listSelfHostSecretNames, h as selfHostSchemaFailureMessage, i as SelfHostSecretListError, l as dischargeSelfHostEnvContext, n as SelfHostFirstDeployError, p as readEmittedWorkerVars, r as SelfHostSchemaError, s as deriveSelfHostEnvContextFromVars, t as SelfHostEnvValidationError } from "./env-validation-Dwq3PJzK.mjs";
36
+ import { a as needsWrapper, r as cleanupWrapper, t as bundleEntry } from "./wrapper-D3sZyh2C.mjs";
37
+ import { A as resolveDeployLiveBindingConfig, C as generateDeployWrapperIfNeeded, D as hasPrerenderSources, E as hasNonPageBackend, F as resolveStaticDeployPreset, I as toManifestSchedulesAndQueues, L as validateDeployMigrations, M as resolveDeployWranglerCompat, N as resolveFullDeployBuildCommand, O as log$1, P as resolveStaticBuildCommand, S as ensureManagedHyperdrive, T as getGitCommit, _ as hasDeploySchemaDrift, a as collectAndHashAssets, b as assertWorkerMainUploaded, c as formatDeploySummary, d as mergeAndLintRoutingRules, f as streamDirectR2Deploy, g as getDeploySchemaDriftMessage, h as assertDeploySchemaDriftFree, i as buildStaticManifest, j as resolveDeployWorkerMain, k as promptDeployProjectConfig, l as printDeployContext, m as warnUnpublishedRouting, n as runStaticDeploy, o as collectWorkerFiles, p as warnIgnoredNotFoundForFramework, r as buildFrameworkManifest, s as detectNonSpaFallbackWarning, t as assembleVoidManifest, u as printDeploySuccess, v as assertEnvSchemaValid, w as getExitCode, x as createProjectFromSlug, y as assertProjectDeployAccess } from "./deploy-managed-static-DlvcvnQT.mjs";
38
+ import { a as checkCloudflareProvisionDrift, d as isQueueConfirmedAbsent, f as isRealD1Id, g as provisionCloudflareResources, i as assertValidResourceName, m as isRealKvId, s as deleteEnvVarCaseAware } from "./provision-DtROpNNI.mjs";
39
+ import { c as scrubWranglerAuthCredentials, n as buildSchemaProbeEnv, o as resolveDeployTransport, r as deployChildEnv, s as scrubManagedDeployBuildMarkers, t as MANAGED_DEPLOY_BUILD_ENV } from "./deploy-transport-BzGEj0Ge.mjs";
40
+ import { n as getCfCliVersion, r as getVoidUserAgent, t as publishCloudflareObservability } from "./cf-worker-settings-BECvvTVd.mjs";
41
41
  import { t as sanitizeTerminalLogText } from "./terminal-log-text-D9ACPOuG.mjs";
42
- import { t as promptForLoginToken } from "./login-f2eu2TQh.mjs";
43
- import { a as parseCloudflareAuthSession, i as ensureCloudflareAuthentication, n as cloudflareCredentialOverrides, t as CloudflareAuthenticationError } from "./cloudflare-auth-DSvBc1Gu.mjs";
44
- import { a as createCloudflareEmptyDomainPublisher, i as createCloudflareEmptyCronPublisher } from "./cloudflare-operations-D5PLrOqD.mjs";
42
+ import { t as promptForLoginToken } from "./login-Cttnagmm.mjs";
43
+ import { a as parseCloudflareAuthSession, i as ensureCloudflareAuthentication, n as cloudflareCredentialOverrides, t as CloudflareAuthenticationError } from "./cloudflare-auth-Byo_0_N9.mjs";
44
+ import { a as createCloudflareEmptyDomainPublisher, i as createCloudflareEmptyCronPublisher } from "./cloudflare-operations-Dh9dEHJj.mjs";
45
45
  import { n as openMigrationValidationDatabase, t as SqliteMigrationError } from "./sqlite-validation-BzKMWnO4.mjs";
46
- import { a as discoverFrameworkWranglerFiles, i as writeVoidProjectConfig, t as migrateLegacyVoidConfig } from "./migrate-DYfdWBXt.mjs";
46
+ import { a as discoverFrameworkWranglerFiles, i as writeVoidProjectConfig, t as migrateLegacyVoidConfig } from "./migrate-DyT2jJ8y.mjs";
47
47
  import { a as runMySqlMigrations } from "./runner-mysql-BWmbk5IE.mjs";
48
48
  import { i as runPgMigrations } from "./runner-pg-Cr3qrqi4.mjs";
49
49
  import { t as collectGitDeployMetadata } from "./git-metadata-D-gurjzG.mjs";
@@ -57,6 +57,7 @@ import { isDeepStrictEqual } from "node:util";
57
57
  import { applyEdits, modify, parse } from "jsonc-parser";
58
58
  import { execFile, execSync, spawn } from "node:child_process";
59
59
  import { getWorkerAssetsDir, getWorkerBundleDir, getWorkerConfigPath, readBuildOutput } from "@cloudflare/build-output-utils";
60
+ import { convertToWranglerConfig } from "@cloudflare/config";
60
61
  import ignore from "ignore";
61
62
  import { CloudflareWorkerInspectionError, activateCloudflareVersion, assertCloudflareBindingsPreserved, assertCloudflareDurableObjectLifecycleSupported, assertExistingCloudflareConfig, cloudflareCommandDiagnostic, encodeCloudflareVersionMessage, extractWorkersDevSubdomain, normalizeWorkersDevSubdomain, parseRootWranglerConfig, parseRootWranglerConfig as parseRootWranglerConfig$1, readBindingFieldPresence, readCloudflareTriggerConfig, readConfigEntryString, readExistingCloudflareWorker, readStoredResourceName, readWranglerTopLevelString, renderCloudflareStaticEntry, resolveD1MigrateTarget, stageCloudflareStaticAssets, writeCloudflareFrameworkDeployConfig, writeCloudflareStaticDeployConfig } from "@void/deploy-cloudflare";
62
63
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
@@ -1900,6 +1901,14 @@ function bindingsFromOutput(env, workerName, activeSecrets, explicitSecrets) {
1900
1901
  ...value.deliveryDelay === void 0 ? {} : { delivery_delay: value.deliveryDelay }
1901
1902
  });
1902
1903
  break;
1904
+ case "rate-limit":
1905
+ bindings.push({
1906
+ name,
1907
+ type: "ratelimit",
1908
+ namespace_id: requiredString(value.namespace, name),
1909
+ simple: value.simple
1910
+ });
1911
+ break;
1903
1912
  case "ai":
1904
1913
  case "browser":
1905
1914
  case "images":
@@ -1985,11 +1994,25 @@ function bindingsFromOutput(env, workerName, activeSecrets, explicitSecrets) {
1985
1994
  }
1986
1995
  return bindings;
1987
1996
  }
1997
+ const durableObjectStates = /* @__PURE__ */ new Set([
1998
+ "created",
1999
+ "deleted",
2000
+ "renamed",
2001
+ "transferred",
2002
+ "expecting-transfer"
2003
+ ]);
2004
+ /**
2005
+ * The `exports` that cf uploads for the same Build Output. cf converts them with
2006
+ * `@cloudflare/config`'s `convertToWranglerConfig` (cf `build-*.mjs`), and its
2007
+ * `resolveExportsUploadPayload` (cf `containers-*.mjs`) sends Worker entrypoints,
2008
+ * then Durable Objects, then Workflows reduced to their identity. Cloudflare
2009
+ * stages a version at 0% only when its exports are identical to the live
2010
+ * version's, and that version may have been uploaded by cf.
2011
+ */
1988
2012
  function exportsFromOutput(exports, bindings) {
1989
2013
  if (exports === void 0) return;
1990
2014
  const entries = record(exports);
1991
2015
  if (!entries) throw new Error("Cloudflare Durable Object exports were not readable.");
1992
- const result = {};
1993
2016
  const workflows = /* @__PURE__ */ new Map();
1994
2017
  for (const [name, raw] of Object.entries(entries)) {
1995
2018
  const value = record(raw);
@@ -1997,48 +2020,42 @@ function exportsFromOutput(exports, bindings) {
1997
2020
  const workflowName = requiredString(value.name, `Workflow export ${name} name`);
1998
2021
  if (workflows.has(workflowName)) throw new Error(`Cloudflare Workflow ${workflowName} has multiple local exports.`);
1999
2022
  workflows.set(workflowName, name);
2000
- result[name] = {
2001
- type: "workflow",
2002
- name: workflowName
2003
- };
2004
- continue;
2005
- }
2006
- if (value?.type === "worker") {
2007
- result[name] = {
2008
- type: "worker",
2009
- ...value.cache === void 0 ? {} : { cache: value.cache }
2010
- };
2011
2023
  continue;
2012
2024
  }
2025
+ if (value?.type === "worker") continue;
2013
2026
  if (!value || value.type !== "durable-object") throw new Error(`Cloudflare export ${name} cannot be uploaded with pinned secrets.`);
2014
- if (value.state === "deleted") result[name] = {
2015
- type: "durable-object",
2016
- state: "deleted"
2017
- };
2018
- else if (value.state === "renamed" || value.state === "transferred") {
2019
- const renamed = value.state === "renamed";
2020
- result[name] = {
2021
- type: "durable-object",
2022
- state: value.state,
2023
- [renamed ? "renamed_to" : "transferred_to"]: requiredString(value[renamed ? "renamedTo" : "transferredTo"], name)
2024
- };
2025
- } else if (value.storage === "sqlite" || value.storage === "legacy-kv") {
2026
- if (value.state !== void 0 && !["created", "expecting-transfer"].includes(String(value.state))) throw new Error(`Cloudflare Durable Object export ${name} has an unsupported state.`);
2027
- result[name] = {
2028
- type: "durable-object",
2029
- storage: value.storage,
2030
- state: value.state ?? "created",
2031
- ...value.container === void 0 ? {} : { container: requiredString(value.container, name) },
2032
- ...value.state === "expecting-transfer" ? { transfer_from: requiredString(value.transferFrom, name) } : {}
2033
- };
2034
- } else throw new Error(`Cloudflare Durable Object export ${name} has no storage type.`);
2027
+ const state = value.state ?? "created";
2028
+ if (!durableObjectStates.has(String(state))) throw new Error(`Cloudflare Durable Object export ${name} has an unsupported state.`);
2029
+ if (state === "renamed" || state === "transferred") requiredString(value[state === "renamed" ? "renamedTo" : "transferredTo"], name);
2030
+ else if (state !== "deleted") {
2031
+ if (value.storage !== "sqlite" && value.storage !== "legacy-kv") throw new Error(`Cloudflare Durable Object export ${name} has no storage type.`);
2032
+ if (value.container !== void 0) requiredString(value.container, name);
2033
+ if (state === "expecting-transfer") requiredString(value.transferFrom, name);
2034
+ }
2035
2035
  }
2036
2036
  for (const binding of bindings) {
2037
2037
  if (binding.type !== "workflow") continue;
2038
2038
  const localExport = workflows.get(String(binding.workflow_name));
2039
2039
  if (localExport !== void 0 && (binding.script_name !== void 0 || binding.class_name !== localExport)) throw new Error(`Cloudflare Workflow binding ${binding.name} conflicts with its local export.`);
2040
2040
  }
2041
- return result;
2041
+ const converted = record(convertToWranglerConfig({
2042
+ worker: { exports: entries },
2043
+ containers: []
2044
+ }).exports) ?? {};
2045
+ const result = {};
2046
+ for (const type of [
2047
+ "worker",
2048
+ "durable-object",
2049
+ "workflow"
2050
+ ]) for (const [name, value] of Object.entries(converted)) {
2051
+ const entry = record(value);
2052
+ if (entry?.type !== type) continue;
2053
+ result[name] = type === "workflow" ? {
2054
+ type,
2055
+ name: entry.name
2056
+ } : entry;
2057
+ }
2058
+ return Object.keys(result).length > 0 ? result : void 0;
2042
2059
  }
2043
2060
  async function preflightWorkflowExports(options) {
2044
2061
  for (const raw of Object.values(options.exports ?? {})) {
@@ -2906,7 +2923,7 @@ function createCfVersionRunner(options) {
2906
2923
  cwd: output.directory,
2907
2924
  capture: true,
2908
2925
  timeoutMs: 3e4,
2909
- maxOutputBytes: 1048576
2926
+ maxOutputBytes: CF_VERSION_SOURCE_MAX_OUTPUT_BYTES
2910
2927
  }) : await run(args, true);
2911
2928
  const result = {
2912
2929
  ...called,
@@ -3015,12 +3032,30 @@ function createCfVersionRunner(options) {
3015
3032
  await readBuildOutput(directory);
3016
3033
  const verified = await verifyResources(directory);
3017
3034
  if (!isCleanCloudflareExit(verified)) return verified;
3018
- return await run([
3035
+ const deployed = await run([
3019
3036
  "workers",
3020
3037
  "triggers",
3021
3038
  "deploy",
3022
3039
  "--prebuilt"
3023
3040
  ], command.capture, directory);
3041
+ if (isCleanCloudflareExit(deployed) && raw.observability !== void 0) {
3042
+ const credentials = options.pinnedUpload;
3043
+ if (!credentials || !credentials.verifyUploader()) return failed("The Cloudflare settings publisher is unavailable.");
3044
+ try {
3045
+ const token = await credentials.getToken();
3046
+ if (!token || !credentials.verifyUploader()) return failed("Cloudflare session is unavailable for publishing Worker settings.");
3047
+ await publishCloudflareObservability({
3048
+ apiBaseUrl: credentials.apiBaseUrl,
3049
+ accountId: credentials.accountId,
3050
+ workerName,
3051
+ observability: raw.observability,
3052
+ headers: { Authorization: `Bearer ${token}` }
3053
+ });
3054
+ } catch (cause) {
3055
+ return failed(cause instanceof Error ? cause.message : "Cloudflare settings update failed.");
3056
+ }
3057
+ }
3058
+ return deployed;
3024
3059
  } finally {
3025
3060
  rmSync(directory, {
3026
3061
  recursive: true,
@@ -3383,7 +3418,7 @@ function formatCloudflareActivationError(result) {
3383
3418
  "Set CLOUDFLARE_WORKERS_SUBDOMAIN to your account subdomain (for example \"my-team\")",
3384
3419
  "and retry. Void caches it after a successful workers.dev deployment; production traffic is unchanged."
3385
3420
  ].join("\n");
3386
- case "readiness-staging-failed": return `deploy: Cloudflare could not stage the uploaded Worker Version at zero-percent traffic${status}; production traffic is unchanged.${cloudflareCode}${diagnostic}${result.cloudflareErrorCode === 10210 && /Durable Object migration/i.test(result.diagnostic ?? "") ? "\n\nReview the Durable Object migration, then run `void deploy --platform cloudflare --atomic`. For future deploys, set deploy.cloudflare.mode to \"atomic\" in void.config.ts." : ""}`;
3421
+ case "readiness-staging-failed": return `deploy: Cloudflare could not stage the uploaded Worker Version at zero-percent traffic${status}; production traffic is unchanged.${cloudflareCode}${diagnostic}${result.cloudflareErrorCode === 10210 && (result.diagnostic ?? "").toLowerCase().includes("durable object migration") ? "\n\nReview the Durable Object migration, then run `void deploy --platform cloudflare --atomic`. For future deploys, set deploy.cloudflare.mode to \"atomic\" in void.config.ts." : result.cloudflareErrorCode === 100405 ? "\n\nThe new version declares different exports from the live version (for example a Durable Object or Workflow class), so Cloudflare cannot split traffic between them. Run `void deploy --platform cloudflare --atomic` once to publish it at 100% directly; it receives traffic before readiness is checked." : ""}`;
3387
3422
  case "atomic-failed": return `deploy: Cloudflare could not publish the Worker atomically${status}; inspect production status before retrying.${cloudflareCode}${diagnostic}`;
3388
3423
  case "atomic-output-invalid": return "deploy: Cloudflare published atomically but did not report a version id or URL. Inspect `void project status` immediately.";
3389
3424
  case "atomic-readiness-failed":
@@ -4645,8 +4680,16 @@ async function prepareCloudflareDeploySource(root, options, voidConfig) {
4645
4680
  ].join("\n"));
4646
4681
  return null;
4647
4682
  }
4683
+ const storedDir = desired.d1 && readStoredResourceName(parseRootWranglerConfig(configPath), "d1_databases", desired.d1.binding, "migrations_dir");
4684
+ if (!(options.reuseExistingWorker || readCloudflareLink(root)) && desired.d1?.migrationsDir !== void 0 && storedDir !== void 0 && !sameMigrationsDir(configPath, storedDir, desired.d1.migrationsDir)) {
4685
+ const expected = JSON.stringify(desired.d1.migrationsDir);
4686
+ let fix = `Set migrations_dir to ${expected} in d1_databases of ${basename(configPath)}, or remove it and Void will fill it in.`;
4687
+ if (basename(configPath) === ".void-wrangler.jsonc") fix = `Set migrations_dir to ${expected} in cloudflare.d1_databases of void.config.ts${readStoredResourceName(voidConfig.cloudflare ?? {}, "d1_databases", desired.d1.binding, "migrations_dir") === void 0 ? "." : ", or remove it and Void will fill it in."}`;
4688
+ log$1.error(`deploy: D1 binding ${JSON.stringify(desired.d1.binding)} sets migrations_dir ${JSON.stringify(storedDir)}, but Void generates and applies migrations from ${expected}. ${fix}`);
4689
+ return null;
4690
+ }
4648
4691
  if (desired.d1) {
4649
- const migrationsPattern = resolveWranglerMigrationPattern(parseRootWranglerConfig(configPath), desired.d1.binding, desired.d1.migrationsDir ?? relative(dirname(configPath), migrationsDir));
4692
+ const migrationsPattern = resolveWranglerMigrationPattern(parseRootWranglerConfig(configPath), desired.d1.binding, storedDir ?? desired.d1.migrationsDir ?? relative(dirname(configPath), migrationsDir));
4650
4693
  if (!migrationsPattern.ok) {
4651
4694
  log$1.error(migrationsPattern.reason);
4652
4695
  return null;
@@ -4805,7 +4848,7 @@ async function preflightCloudflareWorker(input) {
4805
4848
  }
4806
4849
  cliLog.info("cloudflare_sandbox_available");
4807
4850
  }
4808
- const d1MigrationsDirDiffers = () => desired.d1 != null && readStoredResourceName(parseRootWranglerConfig(configPath), "d1_databases", desired.d1.binding, "migrations_dir") !== desired.d1.migrationsDir;
4851
+ const d1MigrationsDirMissing = () => desired.d1?.migrationsDir !== void 0 && readStoredResourceName(parseRootWranglerConfig(configPath), "d1_databases", desired.d1.binding, "migrations_dir") === void 0;
4809
4852
  const provisionAndVerify = async () => {
4810
4853
  if (existingWorker) {
4811
4854
  const { missing } = checkCloudflareProvisionDrift(configPath, desired);
@@ -4847,13 +4890,13 @@ async function preflightCloudflareWorker(input) {
4847
4890
  log$1.error(formatCloudflareDriftMessage(missing, reasons, "deploy: provisioning did not satisfy every required resource:", "Retry `void deploy --platform cloudflare`, or provision the listed resources manually."));
4848
4891
  return exit(1);
4849
4892
  }
4850
- if (desired.d1 && d1MigrationsDirDiffers()) {
4893
+ if (desired.d1 && d1MigrationsDirMissing()) {
4851
4894
  log$1.error(`deploy: provisioning did not set migrations_dir for D1 binding ${desired.d1.binding}. Retry \`void deploy --platform cloudflare\`.`);
4852
4895
  return exit(1);
4853
4896
  }
4854
4897
  };
4855
4898
  const { missing: initiallyMissing } = checkCloudflareProvisionDrift(configPath, desired);
4856
- const d1NeedsConfigReconciliation = !existingWorker && d1MigrationsDirDiffers();
4899
+ const d1NeedsConfigReconciliation = !existingWorker && d1MigrationsDirMissing();
4857
4900
  if (options.provision || initiallyMissing.length > 0 || d1NeedsConfigReconciliation) await provisionAndVerify();
4858
4901
  else {
4859
4902
  const invalidQueues = desired.queues.filter((name) => {
@@ -0,0 +1,2 @@
1
+ import "./deploy-transport-BzGEj0Ge.mjs";
2
+ export { i as checkWranglerMigrationApplySet, t as parseRootWranglerConfig, r as runDeploy } from "./deploy-7H32EnUs.mjs";
@@ -1,29 +1,29 @@
1
1
  import { a as join, c as resolve, n as dirname, r as extname, s as relative } from "./dist-ipQi0Q8y.mjs";
2
- import { h as needsApplicationDatabase } from "./plugin-inference-Bekzjuqw.mjs";
2
+ import { m as needsApplicationDatabase } from "./plugin-inference-DUjCd55H.mjs";
3
3
  import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
4
- import { c as isNodeTarget } from "./config-D26zcdKy.mjs";
4
+ import { u as isNodeTarget } from "./config-DHgSEWT7.mjs";
5
5
  import { t as collectMigrations } from "./collect-Dew86qce.mjs";
6
6
  import { i as collectFiles, t as collectPages } from "./isr-config-fZaJJ8t7.mjs";
7
- import { n as mergeRoutingRules, t as lintRoutingPhases } from "./headers-Bi4bOAwp.mjs";
7
+ import { n as mergeRoutingRules, t as lintRoutingPhases } from "./headers-D522zd0A.mjs";
8
8
  import { s as shouldLinkDeployProject, t as attachSelectedPlatform, u as writeProjectConfig } from "./project-rqDnVsJN.mjs";
9
- import { D as syncWranglerBindings, E as resolveLiveBindingConfig, a as LIVE_MIGRATION_TAG, g as normalizeWranglerCompatibilityFlags, u as ensureWranglerCompat, v as readExistingLiveBindingConfig } from "./wrangler-C9XSzrju.mjs";
9
+ import { E as resolveLiveBindingConfig, O as syncWranglerBindings, a as LIVE_MIGRATION_TAG, g as normalizeWranglerCompatibilityFlags, u as ensureWranglerCompat, v as readExistingLiveBindingConfig } from "./wrangler-F96NnLyb.mjs";
10
10
  import { n as buildMigrationPlanBundle } from "./plan-BhLO2p4w.mjs";
11
11
  import { l as getTokenSource } from "./auth-B6iOCjKI.mjs";
12
- import { L as log$1, N as intro, X as text, tt as isCancel } from "./dist-BVdsO7Py.mjs";
13
- import { f as import_picocolors, h as sanitizeTerminalText, m as printSuccess, o as formatCount, p as note, r as createSpinner, u as getErrorMessage } from "./output-CKguMgr7.mjs";
14
12
  import { t as discoverSchema } from "./discover-LaV0tbIu.mjs";
15
- import { t as findEnvFile } from "./env-types-GRchm5dw.mjs";
16
- import { a as buildEnv } from "./version-metadata-B1Bm2wSq.mjs";
17
- import { r as writeDrizzleConfig, t as PLACEHOLDER_DB_URL } from "./config-DC5llZaI.mjs";
13
+ import { t as findEnvFile } from "./env-types-BicfKBhV.mjs";
14
+ import { a as buildEnv } from "./version-metadata-tS39iW09.mjs";
15
+ import { r as writeDrizzleConfig, t as PLACEHOLDER_DB_URL } from "./config-BIaXIkkv.mjs";
18
16
  import { i as validateMigrations, r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-CnZPMq4q.mjs";
17
+ import { L as log$1, N as intro, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
19
18
  import { t as formatCloudflareUserMessage } from "./cloudflare-user-output-Q-k0QoNQ.mjs";
20
- import { c as platformErrorMessage, i as isCliOutdatedError, n as PlatformApiError, o as isHeadersTimeoutError, s as parsePlatformErrorBody } from "./client-BdzxubTS.mjs";
21
- import { a as promptProjectSelection, i as reportProjectCreationWarnings, o as promptProjectSetupAction, r as promptAndCreateProject } from "./create-project-D8jQTwVQ.mjs";
22
- import { o as detectPreset, s as formatProjectCommand, u as resolveProjectCommand } from "./cloudflare-process-CZJ4viYl.mjs";
23
- import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-D_KyMdab.mjs";
24
- import { a as needsWrapper, i as generateWrapper } from "./wrapper-DGsYwNi6.mjs";
19
+ import { c as platformErrorMessage, i as isCliOutdatedError, n as PlatformApiError, o as isHeadersTimeoutError, s as parsePlatformErrorBody } from "./client-BEkdj1kx.mjs";
20
+ import { f as import_picocolors, h as sanitizeTerminalText, m as printSuccess, o as formatCount, p as note, r as createSpinner, u as getErrorMessage } from "./output-BpgYODYx.mjs";
21
+ import { a as promptProjectSelection, i as reportProjectCreationWarnings, o as promptProjectSetupAction, r as promptAndCreateProject } from "./create-project-DV71ol5d.mjs";
22
+ import { o as detectPreset, s as formatProjectCommand, u as resolveProjectCommand } from "./cloudflare-process-8jEYIeim.mjs";
23
+ import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-Dwq3PJzK.mjs";
24
+ import { a as needsWrapper, i as generateWrapper } from "./wrapper-D3sZyh2C.mjs";
25
25
  import { n as drizzleKitBin } from "./yarn-pnp-DLbEFMT0.mjs";
26
- import { t as MANAGED_DEPLOY_BUILD_ENV } from "./deploy-transport-B3mtEi_q.mjs";
26
+ import { t as MANAGED_DEPLOY_BUILD_ENV } from "./deploy-transport-BzGEj0Ge.mjs";
27
27
  import { cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync } from "node:fs";
28
28
  import { createDeployArtifact, createDeployUploadPayload } from "@void/deploy-core";
29
29
  import { createHash } from "node:crypto";
@@ -1,8 +1,8 @@
1
1
  import { a as join } from "./dist-ipQi0Q8y.mjs";
2
2
  import { n as scanWranglerDotenvKeys } from "./dotenv-CNazY3-w.mjs";
3
3
  import { t as CLOUDFLARE_DEPLOY_BUILD_ENV } from "./env-BJjULvL0.mjs";
4
- import { i as WRANGLER_AUTH_CREDENTIAL_ENV_VARS, t as CLOUDFLARE_PRESERVE_BINDINGS_BUILD_ENV } from "./version-metadata-B1Bm2wSq.mjs";
5
- import { _ as provisionEnv, r as assertNoTransportRedirectInProjectDotenv, s as deleteEnvVarCaseAware, v as resolvePinnedApiBaseUrl } from "./provision-DZKYCEJg.mjs";
4
+ import { i as WRANGLER_AUTH_CREDENTIAL_ENV_VARS, t as CLOUDFLARE_PRESERVE_BINDINGS_BUILD_ENV } from "./version-metadata-tS39iW09.mjs";
5
+ import { _ as provisionEnv, r as assertNoTransportRedirectInProjectDotenv, s as deleteEnvVarCaseAware, v as resolvePinnedApiBaseUrl } from "./provision-DtROpNNI.mjs";
6
6
  import { readWranglerTopLevelString } from "@void/deploy-cloudflare";
7
7
  //#region src/cli/deploy-transport.ts
8
8
  /**
package/dist/deploy.mjs CHANGED
@@ -1,12 +1,12 @@
1
1
  import { a as join, c as resolve } from "./dist-ipQi0Q8y.mjs";
2
- import { c as isNodeTarget, d as readConfig } from "./config-D26zcdKy.mjs";
3
- import { o as validateSsrEntry } from "./entry-B_0IhV64.mjs";
4
- import { r as hasEmailHandlers } from "./email-BcjSyAL0.mjs";
2
+ import { p as readConfig, u as isNodeTarget } from "./config-DHgSEWT7.mjs";
3
+ import { o as validateSsrEntry } from "./entry-BEM8ZuGP.mjs";
4
+ import { r as hasEmailHandlers } from "./email-B9ayYQEG.mjs";
5
5
  import { a as resolveDistDir, c as hasDocumentRoutes, l as resolveAssetConfig, n as collectRevalidate, o as resolveWorkerDirName, s as hasApiRoutes } from "./isr-config-fZaJJ8t7.mjs";
6
- import { t as analyzeApplication } from "./application-routing-CZH66gXn.mjs";
7
- import { t as prepareCfBuildOutput$1 } from "./cf-build-output-ChEKWan2.mjs";
8
- import { o as detectPreset } from "./cloudflare-process-CZJ4viYl.mjs";
9
- import { F as resolveStaticDeployPreset, I as toManifestSchedulesAndQueues, L as validateDeployMigrations, M as resolveDeployWranglerCompat, a as collectAndHashAssets, b as assertWorkerMainUploaded, d as mergeAndLintRoutingRules, h as assertDeploySchemaDriftFree, i as buildStaticManifest, j as resolveDeployWorkerMain, o as collectWorkerFiles, t as assembleVoidManifest } from "./deploy-managed-static-B9KVxY3X.mjs";
6
+ import { t as analyzeApplication } from "./application-routing-DAhNP4u3.mjs";
7
+ import { t as prepareCfBuildOutput$1 } from "./cf-build-output-BhVxldCw.mjs";
8
+ import { o as detectPreset } from "./cloudflare-process-8jEYIeim.mjs";
9
+ import { F as resolveStaticDeployPreset, I as toManifestSchedulesAndQueues, L as validateDeployMigrations, M as resolveDeployWranglerCompat, a as collectAndHashAssets, b as assertWorkerMainUploaded, d as mergeAndLintRoutingRules, h as assertDeploySchemaDriftFree, i as buildStaticManifest, j as resolveDeployWorkerMain, o as collectWorkerFiles, t as assembleVoidManifest } from "./deploy-managed-static-DlvcvnQT.mjs";
10
10
  import { existsSync } from "node:fs";
11
11
  import { createDeployArtifact } from "@void/deploy-core";
12
12
  //#region src/deploy.ts
@@ -1,5 +1,5 @@
1
1
  import { n as bytesToBase64, t as base64ToBytes } from "./base64-DVrOndmI.mjs";
2
- import { a as newId, t as MAX_MESSAGE_BYTES } from "./mime-srOklVVv.mjs";
2
+ import { a as newId, t as MAX_MESSAGE_BYTES } from "./mime-BAyHPskU.mjs";
3
3
  //#region src/runtime/email/dev-inbox.ts
4
4
  /**
5
5
  * In-memory email capture for `void dev` and tests. The inbox buffer lives in