void 1.1.12 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) 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 +1 -1
  91. package/dist/pages/client.mjs +30 -20
  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/platform/installation/credentials.md +1 -1
  163. package/docs/guide/platform/installation/domains.md +16 -0
  164. package/docs/guide/self-hosted-platform.md +1 -1
  165. package/docs/guide/server-routing.md +1 -1
  166. package/docs/integrations/cloudflare.md +1 -0
  167. package/docs/reference/api/env.md +1 -1
  168. package/docs/reference/api/rewrites.md +1 -1
  169. package/docs/reference/api/types.md +1 -0
  170. package/docs/reference/cli/platform-installation.md +3 -2
  171. package/docs/reference/cli/setup.md +17 -0
  172. package/docs/reference/config.md +13 -0
  173. package/docs/reference/resource-inference.md +4 -0
  174. package/package.json +22 -22
  175. package/sandbox.Dockerfile +1 -1
  176. package/schema.json +23 -3
  177. package/dist/cf-build-output-Dcmxa-Zm.mjs +0 -1
  178. package/dist/cf-user-agent-BkEHPDLA.mjs +0 -16
  179. package/dist/client-DAnfyMe9.mjs +0 -1
  180. package/dist/deploy-Dc0XsCQj.mjs +0 -2
  181. package/dist/gen-Cf-RBVg4.mjs +0 -1
  182. package/dist/help-w-xlx_kq.mjs +0 -1
  183. package/dist/login-08mBwZfI.mjs +0 -1
  184. package/dist/migrate-Di-4EuoE.mjs +0 -1
  185. package/dist/operator-cmd-Bv20yLu2.mjs +0 -1
  186. package/dist/platform-args-B_LrqEZB.mjs +0 -1
  187. package/dist/prepare-EVEbQ9n2.mjs +0 -1
  188. package/dist/resolve-project-PnhzMtY6.mjs +0 -1
  189. package/dist/wrangler-DAdxHEzh.mjs +0 -1
@@ -1,7 +1,7 @@
1
1
  import { a as join, i as isAbsolute, n as dirname, s as relative } from "./dist-ipQi0Q8y.mjs";
2
2
  import { i as resolveProjectPaths, n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
3
- import { d as readConfig, f as resolveBindingNames, s as getDatabaseDialect } from "./config-D26zcdKy.mjs";
4
- import { i as voidWarn } from "./log-vqY3pqwI.mjs";
3
+ import { c as getDatabaseCasing, l as getDatabaseDialect, m as resolveBindingNames, p as readConfig } from "./config-DHgSEWT7.mjs";
4
+ import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
5
5
  import { n as ensureProjectTsconfig } from "./project-tsconfig-Itv1f4WC.mjs";
6
6
  import { n as generateDbDts, t as DRIZZLE_OPERATORS } from "./db-types-NGxPwnlt.mjs";
7
7
  import { t as discoverSchema } from "./discover-LaV0tbIu.mjs";
@@ -43,7 +43,7 @@ function requestPool(resolve, own = {}) {
43
43
  */
44
44
  function createVoidDbModule(root, dialect, options, paths = readProjectPaths(root)) {
45
45
  const schema = discoverSchema(root, paths);
46
- const hasDbRuntime = schema != null || options.forceVirtualDb === true || dialect !== "sqlite";
46
+ const hasDbRuntime = schema != null || options.forceVirtualDb === true || options.casing !== void 0 || dialect !== "sqlite";
47
47
  const d1BindingName = options.d1BindingName ?? "DB";
48
48
  return {
49
49
  schema,
@@ -54,7 +54,7 @@ function createVoidDbModule(root, dialect, options, paths = readProjectPaths(roo
54
54
  if (schema && importer) {
55
55
  const normalizedImporter = normalizePath(importer);
56
56
  const normalizedSchemaPath = normalizePath(schema.path);
57
- if (schema.type === "file" && normalizedImporter === normalizedSchemaPath) return VIRTUAL_SCHEMA_DB_ID;
57
+ if (schema.type === "file" && (normalizedImporter === normalizedSchemaPath || normalizedImporter.startsWith(normalizePath(paths.schemaDir) + "/"))) return VIRTUAL_SCHEMA_DB_ID;
58
58
  if (schema.type === "directory" && normalizedImporter.startsWith(normalizedSchemaPath)) return VIRTUAL_SCHEMA_DB_ID;
59
59
  }
60
60
  return VIRTUAL_DB_ID;
@@ -75,14 +75,17 @@ export function createDb() {
75
75
  }
76
76
  `;
77
77
  const schemaImport = schema ? `import * as schema from ${JSON.stringify(schema.path)};` : "";
78
- const drizzleConfig = schema ? ", { schema }" : "";
78
+ const casingOption = options.casing ? `casing: ${JSON.stringify(options.casing)}` : "";
79
+ const drizzleOptions = [schema ? "schema" : "", casingOption].filter(Boolean);
80
+ const drizzleConfig = drizzleOptions.length > 0 ? `, { ${drizzleOptions.join(", ")} }` : "";
81
+ const drizzleOptionKeys = drizzleOptions.map((option) => `, ${option}`).join("");
79
82
  if (dialect === "mysql") {
80
- const mysqlDrizzleConfig = schema ? ", schema, mode: \"default\"" : "";
83
+ const mysqlDrizzleConfig = (schema ? ", schema, mode: \"default\"" : "") + (casingOption ? `, ${casingOption}` : "");
81
84
  return `
85
+ export { ${DRIZZLE_OPERATORS} } from ${JSON.stringify(drizzleOrmResolved)};
82
86
  import { drizzle } from ${JSON.stringify(drizzleMysql2Resolved)};
83
87
  import { getRuntimeBinding, getRuntimeRequestResource } from ${JSON.stringify(envModuleResolved)};
84
88
  ${schemaImport}
85
- export { ${DRIZZLE_OPERATORS} } from ${JSON.stringify(drizzleOrmResolved)};
86
89
 
87
90
  const _requestResourceKey = {};
88
91
 
@@ -158,10 +161,10 @@ export function createDb(connectionString) {
158
161
  `;
159
162
  }
160
163
  if (dialect === "postgresql") return `
164
+ export { ${DRIZZLE_OPERATORS} } from ${JSON.stringify(drizzleOrmResolved)};
161
165
  import { drizzle } from ${JSON.stringify(drizzleNodePgResolved)};
162
166
  import { getRuntimeBinding, getRuntimeRequestResource } from ${JSON.stringify(envModuleResolved)};
163
167
  ${schemaImport}
164
- export { ${DRIZZLE_OPERATORS} } from ${JSON.stringify(drizzleOrmResolved)};
165
168
 
166
169
  const _requestResourceKey = {};
167
170
 
@@ -196,7 +199,7 @@ export const db = new Proxy({}, {
196
199
  // drizzle reports a query's errors as "Failed query", so build the request's pool here:
197
200
  // a missing connection string then throws its own message. Outside a request, build none.
198
201
  getRuntimeRequestResource(_requestResourceKey, createPool, () => undefined);
199
- instance ??= drizzle({ client: requestPool(getPool)${schema ? ", schema" : ""} });
202
+ instance ??= drizzle({ client: requestPool(getPool)${drizzleOptionKeys} });
200
203
  const value = Reflect.get(instance, prop);
201
204
  return typeof value === "function" ? value.bind(instance) : value;
202
205
  },
@@ -207,10 +210,10 @@ export function createDb(connectionString) {
207
210
  }
208
211
  `;
209
212
  return `
213
+ export { ${DRIZZLE_OPERATORS} } from ${JSON.stringify(drizzleOrmResolved)};
210
214
  import { drizzle } from ${JSON.stringify(drizzleD1Resolved)};
211
215
  import { getRuntimeRequestResource, requireRuntimeBinding } from ${JSON.stringify(envModuleResolved)};
212
216
  ${schemaImport}
213
- export { ${DRIZZLE_OPERATORS} } from ${JSON.stringify(drizzleOrmResolved)};
214
217
 
215
218
  const _requestResourceKey = {};
216
219
 
@@ -310,7 +313,8 @@ function voidDbBundlerPlugin(root, options = {}) {
310
313
  const d1BindingName = resolveBindingNames(config.inference?.bindings)?.d1;
311
314
  const dbModule = createVoidDbModule(root, dialect, {
312
315
  d1BindingName,
313
- forceVirtualDb: d1BindingName !== void 0
316
+ forceVirtualDb: d1BindingName !== void 0,
317
+ casing: getDatabaseCasing(config)
314
318
  }, resolveProjectPaths(root, config));
315
319
  const driverPackage = dialect === "postgresql" ? "pg" : dialect === "mysql" ? "mysql2" : void 0;
316
320
  const drivers = /* @__PURE__ */ new Map();
@@ -1 +1 @@
1
- export { tt as isCancel, L as log, K as select, X as text } from "./dist-BVdsO7Py.mjs";
1
+ export { tt as isCancel, L as log, K as select, X as text } from "./dist-Cor9XGoz.mjs";
@@ -1,5 +1,5 @@
1
- import { n as __toESM, t as __commonJSMin } from "./rolldown-runtime-DXIUcv95.mjs";
2
- import { t as require_picocolors } from "./picocolors-BTps1_gs.mjs";
1
+ import { n as __toESM, t as __commonJSMin } from "./rolldown-runtime-3h0WiCiA.mjs";
2
+ import { t as require_picocolors } from "./picocolors-BsDfhxIw.mjs";
3
3
  import "node:fs";
4
4
  import { randomBytes } from "node:crypto";
5
5
  import { stripVTControlCharacters, styleText } from "node:util";
@@ -16,7 +16,7 @@ const getCodePointsLength$1 = (() => {
16
16
  return input.length - surrogatePairsNr;
17
17
  };
18
18
  })();
19
- const isFullWidth$2 = (x) => {
19
+ const isFullWidth$1 = (x) => {
20
20
  return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
21
21
  };
22
22
  const isWideNotCJKTNotEmoji$1 = (x) => {
@@ -24,21 +24,21 @@ const isWideNotCJKTNotEmoji$1 = (x) => {
24
24
  };
25
25
  //#endregion
26
26
  //#region ../../node_modules/.pnpm/fast-string-truncated-width@3.0.3/node_modules/fast-string-truncated-width/dist/index.js
27
- const ANSI_RE$2 = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y;
28
- const CONTROL_RE$2 = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
27
+ const ANSI_RE$1 = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y;
28
+ const CONTROL_RE$1 = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
29
29
  const CJKT_WIDE_RE$1 = /(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy;
30
- const TAB_RE$2 = /\t{1,1000}/y;
31
- const EMOJI_RE$2 = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy;
32
- const LATIN_RE$2 = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
33
- const MODIFIER_RE$2 = /\p{M}+/gu;
34
- const NO_TRUNCATION$5 = {
30
+ const TAB_RE$1 = /\t{1,1000}/y;
31
+ const EMOJI_RE$1 = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy;
32
+ const LATIN_RE$1 = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
33
+ const MODIFIER_RE$1 = /\p{M}+/gu;
34
+ const NO_TRUNCATION$3 = {
35
35
  limit: Infinity,
36
36
  ellipsis: ""
37
37
  };
38
- const getStringTruncatedWidth$2 = (input, truncationOptions = {}, widthOptions = {}) => {
38
+ const getStringTruncatedWidth$1 = (input, truncationOptions = {}, widthOptions = {}) => {
39
39
  const LIMIT = truncationOptions.limit ?? Infinity;
40
40
  const ELLIPSIS = truncationOptions.ellipsis ?? "";
41
- const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth$2(ELLIPSIS, NO_TRUNCATION$5, widthOptions).width : 0);
41
+ const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth$1(ELLIPSIS, NO_TRUNCATION$3, widthOptions).width : 0);
42
42
  const ANSI_WIDTH = 0;
43
43
  const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;
44
44
  const TAB_WIDTH = widthOptions.tabWidth ?? 8;
@@ -47,11 +47,11 @@ const getStringTruncatedWidth$2 = (input, truncationOptions = {}, widthOptions =
47
47
  const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;
48
48
  const WIDE_WIDTH = widthOptions.wideWidth ?? FULL_WIDTH_WIDTH;
49
49
  const PARSE_BLOCKS = [
50
- [LATIN_RE$2, REGULAR_WIDTH],
51
- [ANSI_RE$2, ANSI_WIDTH],
52
- [CONTROL_RE$2, CONTROL_WIDTH],
53
- [TAB_RE$2, TAB_WIDTH],
54
- [EMOJI_RE$2, EMOJI_WIDTH],
50
+ [LATIN_RE$1, REGULAR_WIDTH],
51
+ [ANSI_RE$1, ANSI_WIDTH],
52
+ [CONTROL_RE$1, CONTROL_WIDTH],
53
+ [TAB_RE$1, TAB_WIDTH],
54
+ [EMOJI_RE$1, EMOJI_WIDTH],
55
55
  [CJKT_WIDE_RE$1, WIDE_WIDTH]
56
56
  ];
57
57
  let indexPrev = 0;
@@ -69,9 +69,9 @@ const getStringTruncatedWidth$2 = (input, truncationOptions = {}, widthOptions =
69
69
  if (unmatchedEnd > unmatchedStart || index >= length && index > indexPrev) {
70
70
  const unmatched = input.slice(unmatchedStart, unmatchedEnd) || input.slice(indexPrev, index);
71
71
  lengthExtra = 0;
72
- for (const char of unmatched.replaceAll(MODIFIER_RE$2, "")) {
72
+ for (const char of unmatched.replaceAll(MODIFIER_RE$1, "")) {
73
73
  const codePoint = char.codePointAt(0) || 0;
74
- if (isFullWidth$2(codePoint)) widthExtra = FULL_WIDTH_WIDTH;
74
+ if (isFullWidth$1(codePoint)) widthExtra = FULL_WIDTH_WIDTH;
75
75
  else if (isWideNotCJKTNotEmoji$1(codePoint)) widthExtra = WIDE_WIDTH;
76
76
  else widthExtra = REGULAR_WIDTH;
77
77
  if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, Math.max(unmatchedStart, indexPrev) + lengthExtra);
@@ -89,7 +89,7 @@ const getStringTruncatedWidth$2 = (input, truncationOptions = {}, widthOptions =
89
89
  const [BLOCK_RE, BLOCK_WIDTH] = PARSE_BLOCKS[i];
90
90
  BLOCK_RE.lastIndex = index;
91
91
  if (BLOCK_RE.test(input)) {
92
- lengthExtra = BLOCK_RE === CJKT_WIDE_RE$1 ? getCodePointsLength$1(input.slice(index, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE$2 ? 1 : BLOCK_RE.lastIndex - index;
92
+ lengthExtra = BLOCK_RE === CJKT_WIDE_RE$1 ? getCodePointsLength$1(input.slice(index, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE$1 ? 1 : BLOCK_RE.lastIndex - index;
93
93
  widthExtra = lengthExtra * BLOCK_WIDTH;
94
94
  if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / BLOCK_WIDTH));
95
95
  if (width + widthExtra > LIMIT) {
@@ -114,18 +114,18 @@ const getStringTruncatedWidth$2 = (input, truncationOptions = {}, widthOptions =
114
114
  };
115
115
  //#endregion
116
116
  //#region ../../node_modules/.pnpm/fast-string-width@3.0.2/node_modules/fast-string-width/dist/index.js
117
- const NO_TRUNCATION$4 = {
117
+ const NO_TRUNCATION$2 = {
118
118
  limit: Infinity,
119
119
  ellipsis: "",
120
120
  ellipsisWidth: 0
121
121
  };
122
- const fastStringWidth$2 = (input, options = {}) => {
123
- return getStringTruncatedWidth$2(input, NO_TRUNCATION$4, options).width;
122
+ const fastStringWidth$1 = (input, options = {}) => {
123
+ return getStringTruncatedWidth$1(input, NO_TRUNCATION$2, options).width;
124
124
  };
125
125
  //#endregion
126
126
  //#region ../../node_modules/.pnpm/fast-wrap-ansi@0.2.2/node_modules/fast-wrap-ansi/lib/main.js
127
- const ESC$1 = "\x1B";
128
- const CSI$1 = "›";
127
+ const ESC$2 = "\x1B";
128
+ const CSI$2 = "›";
129
129
  const END_CODE$1 = 39;
130
130
  const ANSI_ESCAPE_BELL$1 = "\x07";
131
131
  const ANSI_CSI$1 = "[";
@@ -146,26 +146,26 @@ const getClosingCode$1 = (openingCode) => {
146
146
  if (openingCode === 9) return 29;
147
147
  if (openingCode === 0) return 0;
148
148
  };
149
- const wrapAnsiCode$1 = (code) => `${ESC$1}${ANSI_CSI$1}${code}${ANSI_SGR_TERMINATOR$1}`;
150
- const wrapAnsiHyperlink$1 = (url) => `${ESC$1}${ANSI_ESCAPE_LINK$1}${url}${ANSI_ESCAPE_BELL$1}`;
149
+ const wrapAnsiCode$1 = (code) => `${ESC$2}${ANSI_CSI$1}${code}${ANSI_SGR_TERMINATOR$1}`;
150
+ const wrapAnsiHyperlink$1 = (url) => `${ESC$2}${ANSI_ESCAPE_LINK$1}${url}${ANSI_ESCAPE_BELL$1}`;
151
151
  const wrapWord$1 = (rows, word, columns) => {
152
152
  const characters = word[Symbol.iterator]();
153
153
  let isInsideEscape = false;
154
154
  let isInsideLinkEscape = false;
155
155
  let lastRow = rows.at(-1);
156
- let visible = lastRow === void 0 ? 0 : fastStringWidth$2(lastRow);
156
+ let visible = lastRow === void 0 ? 0 : fastStringWidth$1(lastRow);
157
157
  let currentCharacter = characters.next();
158
158
  let nextCharacter = characters.next();
159
159
  let rawCharacterIndex = 0;
160
160
  while (!currentCharacter.done) {
161
161
  const character = currentCharacter.value;
162
- const characterLength = fastStringWidth$2(character);
162
+ const characterLength = fastStringWidth$1(character);
163
163
  if (visible + characterLength <= columns) rows[rows.length - 1] += character;
164
164
  else {
165
165
  rows.push(character);
166
166
  visible = 0;
167
167
  }
168
- if (character === ESC$1 || character === CSI$1) {
168
+ if (character === ESC$2 || character === CSI$2) {
169
169
  isInsideEscape = true;
170
170
  isInsideLinkEscape = word.startsWith(ANSI_ESCAPE_LINK$1, rawCharacterIndex + 1);
171
171
  }
@@ -194,7 +194,7 @@ const stringVisibleTrimSpacesRight$1 = (string) => {
194
194
  const words = string.split(" ");
195
195
  let last = words.length;
196
196
  while (last) {
197
- if (fastStringWidth$2(words[last - 1])) break;
197
+ if (fastStringWidth$1(words[last - 1])) break;
198
198
  last--;
199
199
  }
200
200
  if (last === words.length) return string;
@@ -215,7 +215,7 @@ const exec$1 = (string, columns, options = {}) => {
215
215
  const trimmed = row.trimStart();
216
216
  if (row.length !== trimmed.length) {
217
217
  rows[rows.length - 1] = trimmed;
218
- rowLength = fastStringWidth$2(trimmed);
218
+ rowLength = fastStringWidth$1(trimmed);
219
219
  }
220
220
  }
221
221
  if (index !== 0) {
@@ -228,19 +228,19 @@ const exec$1 = (string, columns, options = {}) => {
228
228
  rowLength++;
229
229
  }
230
230
  }
231
- const wordLength = fastStringWidth$2(word);
231
+ const wordLength = fastStringWidth$1(word);
232
232
  if (options.hard && wordLength > columns) {
233
233
  const remainingColumns = columns - rowLength;
234
234
  const breaksStartingThisLine = 1 + Math.floor((wordLength - remainingColumns - 1) / columns);
235
235
  if (Math.floor((wordLength - 1) / columns) < breaksStartingThisLine) rows.push("");
236
236
  wrapWord$1(rows, word, columns);
237
- rowLength = fastStringWidth$2(rows.at(-1) ?? "");
237
+ rowLength = fastStringWidth$1(rows.at(-1) ?? "");
238
238
  continue;
239
239
  }
240
240
  if (rowLength + wordLength > columns && rowLength && wordLength) {
241
241
  if (options.wordWrap === false && rowLength < columns) {
242
242
  wrapWord$1(rows, word, columns);
243
- rowLength = fastStringWidth$2(rows.at(-1) ?? "");
243
+ rowLength = fastStringWidth$1(rows.at(-1) ?? "");
244
244
  continue;
245
245
  }
246
246
  rows.push("");
@@ -248,7 +248,7 @@ const exec$1 = (string, columns, options = {}) => {
248
248
  }
249
249
  if (rowLength + wordLength > columns && options.wordWrap === false) {
250
250
  wrapWord$1(rows, word, columns);
251
- rowLength = fastStringWidth$2(rows.at(-1) ?? "");
251
+ rowLength = fastStringWidth$1(rows.at(-1) ?? "");
252
252
  continue;
253
253
  }
254
254
  rows[rows.length - 1] += word;
@@ -264,7 +264,7 @@ const exec$1 = (string, columns, options = {}) => {
264
264
  inSurrogate = character >= "\ud800" && character <= "\udbff";
265
265
  if (inSurrogate) continue;
266
266
  } else inSurrogate = false;
267
- if (character === ESC$1 || character === CSI$1) {
267
+ if (character === ESC$2 || character === CSI$2) {
268
268
  GROUP_REGEX$1.lastIndex = i + 1;
269
269
  const groups = GROUP_REGEX$1.exec(preString)?.groups;
270
270
  if (groups?.code !== void 0) {
@@ -802,159 +802,51 @@ var n = class extends y {
802
802
  }
803
803
  };
804
804
  //#endregion
805
- //#region ../../node_modules/.pnpm/@voidzero-dev+vite-plus-prompts@1.2.0/node_modules/@voidzero-dev/vite-plus-prompts/dist/index.mjs
805
+ //#region ../../node_modules/.pnpm/sisteransi@2.0.0/node_modules/sisteransi/dist/index.js
806
806
  var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
807
- const isAmbiguous = (x) => {
808
- return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
809
- };
810
- const isFullWidth$1 = (x) => {
811
- return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
812
- };
813
- const isWide = (x) => {
814
- return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9800 && x <= 9811 || x === 9855 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 19968 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101632 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129672 || x >= 129680 && x <= 129725 || x >= 129727 && x <= 129733 || x >= 129742 && x <= 129755 || x >= 129760 && x <= 129768 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
815
- };
816
- const ANSI_RE$1 = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y;
817
- const CONTROL_RE$1 = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
818
- const TAB_RE$1 = /\t{1,1000}/y;
819
- const EMOJI_RE$1 = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy;
820
- const LATIN_RE$1 = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
821
- const MODIFIER_RE$1 = /\p{M}+/gu;
822
- const NO_TRUNCATION$3 = {
823
- limit: Infinity,
824
- ellipsis: ""
807
+ const ESC$1 = "\x1B";
808
+ const CSI$1 = `${ESC$1}[`;
809
+ const cursor = {
810
+ to(x, y) {
811
+ if (!y) return `${CSI$1}${x + 1}G`;
812
+ return `${CSI$1}${y + 1};${x + 1}H`;
813
+ },
814
+ move(x, y) {
815
+ let ret = "";
816
+ if (x < 0) ret += `${CSI$1}${-x}D`;
817
+ else if (x > 0) ret += `${CSI$1}${x}C`;
818
+ if (y < 0) ret += `${CSI$1}${-y}A`;
819
+ else if (y > 0) ret += `${CSI$1}${y}B`;
820
+ return ret;
821
+ },
822
+ up: (count = 1) => `${CSI$1}${count}A`,
823
+ down: (count = 1) => `${CSI$1}${count}B`,
824
+ forward: (count = 1) => `${CSI$1}${count}C`,
825
+ backward: (count = 1) => `${CSI$1}${count}D`,
826
+ nextLine: (count = 1) => `${CSI$1}E`.repeat(count),
827
+ prevLine: (count = 1) => `${CSI$1}F`.repeat(count),
828
+ left: `${CSI$1}G`,
829
+ hide: `${CSI$1}?25l`,
830
+ show: `${CSI$1}?25h`,
831
+ save: `${ESC$1}7`,
832
+ restore: `${ESC$1}8`
825
833
  };
826
- const getStringTruncatedWidth$1 = (input, truncationOptions = {}, widthOptions = {}) => {
827
- const LIMIT = truncationOptions.limit ?? Infinity;
828
- const ELLIPSIS = truncationOptions.ellipsis ?? "";
829
- const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth$1(ELLIPSIS, NO_TRUNCATION$3, widthOptions).width : 0);
830
- const ANSI_WIDTH = widthOptions.ansiWidth ?? 0;
831
- const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;
832
- const TAB_WIDTH = widthOptions.tabWidth ?? 8;
833
- const AMBIGUOUS_WIDTH = widthOptions.ambiguousWidth ?? 1;
834
- const EMOJI_WIDTH = widthOptions.emojiWidth ?? 2;
835
- const FULL_WIDTH_WIDTH = widthOptions.fullWidthWidth ?? 2;
836
- const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;
837
- const WIDE_WIDTH = widthOptions.wideWidth ?? 2;
838
- let indexPrev = 0;
839
- let index = 0;
840
- let length = input.length;
841
- let lengthExtra = 0;
842
- let truncationEnabled = false;
843
- let truncationIndex = length;
844
- let truncationLimit = Math.max(0, LIMIT - ELLIPSIS_WIDTH);
845
- let unmatchedStart = 0;
846
- let unmatchedEnd = 0;
847
- let width = 0;
848
- let widthExtra = 0;
849
- outer: while (true) {
850
- if (unmatchedEnd > unmatchedStart || index >= length && index > indexPrev) {
851
- const unmatched = input.slice(unmatchedStart, unmatchedEnd) || input.slice(indexPrev, index);
852
- lengthExtra = 0;
853
- for (const char of unmatched.replaceAll(MODIFIER_RE$1, "")) {
854
- const codePoint = char.codePointAt(0) || 0;
855
- if (isFullWidth$1(codePoint)) widthExtra = FULL_WIDTH_WIDTH;
856
- else if (isWide(codePoint)) widthExtra = WIDE_WIDTH;
857
- else if (AMBIGUOUS_WIDTH !== REGULAR_WIDTH && isAmbiguous(codePoint)) widthExtra = AMBIGUOUS_WIDTH;
858
- else widthExtra = REGULAR_WIDTH;
859
- if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, Math.max(unmatchedStart, indexPrev) + lengthExtra);
860
- if (width + widthExtra > LIMIT) {
861
- truncationEnabled = true;
862
- break outer;
863
- }
864
- lengthExtra += char.length;
865
- width += widthExtra;
866
- }
867
- unmatchedStart = unmatchedEnd = 0;
868
- }
869
- if (index >= length) break;
870
- LATIN_RE$1.lastIndex = index;
871
- if (LATIN_RE$1.test(input)) {
872
- lengthExtra = LATIN_RE$1.lastIndex - index;
873
- widthExtra = lengthExtra * REGULAR_WIDTH;
874
- if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / REGULAR_WIDTH));
875
- if (width + widthExtra > LIMIT) {
876
- truncationEnabled = true;
877
- break;
878
- }
879
- width += widthExtra;
880
- unmatchedStart = indexPrev;
881
- unmatchedEnd = index;
882
- index = indexPrev = LATIN_RE$1.lastIndex;
883
- continue;
884
- }
885
- ANSI_RE$1.lastIndex = index;
886
- if (ANSI_RE$1.test(input)) {
887
- if (width + ANSI_WIDTH > truncationLimit) truncationIndex = Math.min(truncationIndex, index);
888
- if (width + ANSI_WIDTH > LIMIT) {
889
- truncationEnabled = true;
890
- break;
891
- }
892
- width += ANSI_WIDTH;
893
- unmatchedStart = indexPrev;
894
- unmatchedEnd = index;
895
- index = indexPrev = ANSI_RE$1.lastIndex;
896
- continue;
897
- }
898
- CONTROL_RE$1.lastIndex = index;
899
- if (CONTROL_RE$1.test(input)) {
900
- lengthExtra = CONTROL_RE$1.lastIndex - index;
901
- widthExtra = lengthExtra * CONTROL_WIDTH;
902
- if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / CONTROL_WIDTH));
903
- if (width + widthExtra > LIMIT) {
904
- truncationEnabled = true;
905
- break;
906
- }
907
- width += widthExtra;
908
- unmatchedStart = indexPrev;
909
- unmatchedEnd = index;
910
- index = indexPrev = CONTROL_RE$1.lastIndex;
911
- continue;
912
- }
913
- TAB_RE$1.lastIndex = index;
914
- if (TAB_RE$1.test(input)) {
915
- lengthExtra = TAB_RE$1.lastIndex - index;
916
- widthExtra = lengthExtra * TAB_WIDTH;
917
- if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / TAB_WIDTH));
918
- if (width + widthExtra > LIMIT) {
919
- truncationEnabled = true;
920
- break;
921
- }
922
- width += widthExtra;
923
- unmatchedStart = indexPrev;
924
- unmatchedEnd = index;
925
- index = indexPrev = TAB_RE$1.lastIndex;
926
- continue;
927
- }
928
- EMOJI_RE$1.lastIndex = index;
929
- if (EMOJI_RE$1.test(input)) {
930
- if (width + EMOJI_WIDTH > truncationLimit) truncationIndex = Math.min(truncationIndex, index);
931
- if (width + EMOJI_WIDTH > LIMIT) {
932
- truncationEnabled = true;
933
- break;
934
- }
935
- width += EMOJI_WIDTH;
936
- unmatchedStart = indexPrev;
937
- unmatchedEnd = index;
938
- index = indexPrev = EMOJI_RE$1.lastIndex;
939
- continue;
940
- }
941
- index += 1;
834
+ const erase = {
835
+ screen: `${CSI$1}2J`,
836
+ up: (count = 1) => `${CSI$1}1J`.repeat(count),
837
+ down: (count = 1) => `${CSI$1}J`.repeat(count),
838
+ line: `${CSI$1}2K`,
839
+ lineEnd: `${CSI$1}K`,
840
+ lineStart: `${CSI$1}1K`,
841
+ lines(count) {
842
+ let clear = "";
843
+ for (let i = 0; i < count; i++) clear += this.line + (i < count - 1 ? cursor.up() : "");
844
+ if (count) clear += cursor.left;
845
+ return clear;
942
846
  }
943
- return {
944
- width: truncationEnabled ? truncationLimit : width,
945
- index: truncationEnabled ? truncationIndex : length,
946
- truncated: truncationEnabled,
947
- ellipsed: truncationEnabled && LIMIT >= ELLIPSIS_WIDTH
948
- };
949
- };
950
- const NO_TRUNCATION$2 = {
951
- limit: Infinity,
952
- ellipsis: "",
953
- ellipsisWidth: 0
954
- };
955
- const fastStringWidth$1 = (input, options = {}) => {
956
- return getStringTruncatedWidth$1(input, NO_TRUNCATION$2, options).width;
957
847
  };
848
+ //#endregion
849
+ //#region ../../node_modules/.pnpm/@voidzero-dev+vite-plus-prompts@1.3.0/node_modules/@voidzero-dev/vite-plus-prompts/dist/index.mjs
958
850
  const getCodePointsLength = (() => {
959
851
  const SURROGATE_PAIR_RE = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
960
852
  return (input) => {
@@ -1230,13 +1122,15 @@ function wrapAnsi(string, columns, options) {
1230
1122
  return String(string).normalize().split(CRLF_OR_LF).map((line) => exec(line, columns, options)).join("\n");
1231
1123
  }
1232
1124
  function isUnicodeSupported() {
1233
- if (process$1.platform !== "win32") return process$1.env.TERM !== "linux";
1234
- return Boolean(process$1.env.CI) || Boolean(process$1.env.WT_SESSION) || Boolean(process$1.env.TERMINUS_SUBLIME) || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
1125
+ const { env } = process$1;
1126
+ const { TERM, TERM_PROGRAM } = env;
1127
+ if (process$1.platform !== "win32") return TERM !== "linux";
1128
+ return Boolean(env.WT_SESSION) || Boolean(env.TERMINUS_SUBLIME) || env.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
1235
1129
  }
1236
1130
  updateSettings({ withGuide: false });
1237
1131
  /** Wrap using visible columns rather than the length of ANSI escape sequences. */
1238
1132
  const wrapTextWithPrefix = (output, text, prefix, startPrefix = prefix) => {
1239
- return wrapAnsi(text, Math.max(1, getColumns(output ?? process.stdout) - Math.max(fastStringWidth$1(prefix), fastStringWidth$1(startPrefix))), {
1133
+ return wrapAnsi(text, Math.max(1, getColumns(output ?? process.stdout) - Math.max(fastStringWidth(prefix), fastStringWidth(startPrefix))), {
1240
1134
  hard: true,
1241
1135
  trim: false
1242
1136
  }).split("\n").map((line, index) => `${index === 0 ? startPrefix : prefix}${line}`).join("\n");
@@ -1248,8 +1142,8 @@ const promptTitle = (message, state, opts) => {
1248
1142
  return `${hasGuide ? `${import_picocolors.default.gray(S_BAR)}\n` : ""}${wrapTextWithPrefix(opts.output, message, hasGuide ? `${symbolBar(state)} ` : " ", `${symbol(state)} `)}\n`;
1249
1143
  };
1250
1144
  const optionText = (output, marker, label, format, suffix = "") => {
1251
- const continuation = " ".repeat(fastStringWidth$1(marker));
1252
- const width = Math.max(1, getColumns(output ?? process.stdout) - 2 - fastStringWidth$1(marker));
1145
+ const continuation = " ".repeat(fastStringWidth(marker));
1146
+ const width = Math.max(1, getColumns(output ?? process.stdout) - 2 - fastStringWidth(marker));
1253
1147
  const [first, ...rest] = label.split("\n");
1254
1148
  return wrapAnsi([format(first) + suffix, ...rest.map(format)].join("\n"), width, {
1255
1149
  hard: true,
@@ -1456,15 +1350,15 @@ const box = (message = "", title = "", opts) => {
1456
1350
  const symbols = (opts?.rounded !== false ? roundedSymbols : squareSymbols).map(formatBorder);
1457
1351
  const hSymbol = formatBorder(S_BAR_H);
1458
1352
  const vSymbol = formatBorder(S_BAR);
1459
- const linePrefixWidth = fastStringWidth$1(linePrefix);
1460
- const titleWidth = fastStringWidth$1(title);
1353
+ const linePrefixWidth = fastStringWidth(linePrefix);
1354
+ const titleWidth = fastStringWidth(title);
1461
1355
  const maxBoxWidth = columns - linePrefixWidth;
1462
1356
  let boxWidth = Math.max(Math.min(8, maxBoxWidth), Math.floor(columns * width) - linePrefixWidth);
1463
1357
  if (opts?.width === "auto") {
1464
1358
  const lines = message.split("\n");
1465
1359
  let longestLine = titleWidth + titlePadding * 2;
1466
1360
  for (const line of lines) {
1467
- const lineWithPadding = fastStringWidth$1(line) + contentPadding * 2;
1361
+ const lineWithPadding = fastStringWidth(line) + contentPadding * 2;
1468
1362
  if (lineWithPadding > longestLine) longestLine = lineWithPadding;
1469
1363
  }
1470
1364
  const longestLineWidth = longestLine + borderTotalWidth;
@@ -1483,12 +1377,12 @@ const box = (message = "", title = "", opts) => {
1483
1377
  truncatedTitle = "";
1484
1378
  const suffix = maxTitleLength > 0 ? "…" : "";
1485
1379
  for (const { segment } of new Intl.Segmenter().segment(stripVTControlCharacters(title))) {
1486
- if (fastStringWidth$1(truncatedTitle + segment + suffix) > maxTitleLength) break;
1380
+ if (fastStringWidth(truncatedTitle + segment + suffix) > maxTitleLength) break;
1487
1381
  truncatedTitle += segment;
1488
1382
  }
1489
1383
  truncatedTitle += suffix;
1490
1384
  }
1491
- const [titlePaddingLeft, titlePaddingRight] = getPaddingForLine(fastStringWidth$1(truncatedTitle), innerWidth, titlePadding, opts?.titleAlign);
1385
+ const [titlePaddingLeft, titlePaddingRight] = getPaddingForLine(fastStringWidth(truncatedTitle), innerWidth, titlePadding, opts?.titleAlign);
1492
1386
  const wrappedMessage = wrapAnsi(message, Math.max(1, innerWidth - contentPadding * 2), {
1493
1387
  hard: true,
1494
1388
  trim: false
@@ -1496,7 +1390,7 @@ const box = (message = "", title = "", opts) => {
1496
1390
  output.write(`${linePrefix}${symbols[0]}${hSymbol.repeat(titlePaddingLeft)}${truncatedTitle}${hSymbol.repeat(titlePaddingRight)}${symbols[1]}\n`);
1497
1391
  const wrappedLines = wrappedMessage.split("\n");
1498
1392
  for (const line of wrappedLines) {
1499
- const [leftLinePadding, rightLinePadding] = getPaddingForLine(fastStringWidth$1(line), innerWidth, contentPadding, opts?.contentAlign);
1393
+ const [leftLinePadding, rightLinePadding] = getPaddingForLine(fastStringWidth(line), innerWidth, contentPadding, opts?.contentAlign);
1500
1394
  output.write(`${linePrefix}${vSymbol}${" ".repeat(leftLinePadding)}${line}${" ".repeat(rightLinePadding)}${vSymbol}\n`);
1501
1395
  }
1502
1396
  output.write(`${linePrefix}${symbols[2]}${hSymbol.repeat(innerWidth)}${symbols[3]}\n`);
@@ -1841,9 +1735,9 @@ const spinner = ({ indicator = "dots", onCancel, output = process.stdout, cancel
1841
1735
  hard: true,
1842
1736
  trim: false
1843
1737
  }).split("\n");
1844
- if (prevLines.length > 1) output.write(import_src.cursor.up(prevLines.length - 1));
1845
- output.write(import_src.cursor.to(0));
1846
- output.write(import_src.erase.down());
1738
+ if (prevLines.length > 1) output.write(cursor.up(prevLines.length - 1));
1739
+ output.write(cursor.to(0));
1740
+ output.write(erase.down());
1847
1741
  };
1848
1742
  const hasGuide = getGuide(opts);
1849
1743
  const startLoop = () => {
@@ -1,4 +1,4 @@
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 * as nativeFs from "fs";
3
3
  import { readdir, readdirSync, realpath, realpathSync, stat, statSync } from "fs";
4
4
  import { basename, dirname, isAbsolute, normalize, posix, relative, resolve, sep } from "path";
@@ -1,9 +1,9 @@
1
1
  import { n as readDeploymentPlatform } from "./project-rqDnVsJN.mjs";
2
2
  import { c as getToken } from "./auth-B6iOCjKI.mjs";
3
- import { L as log } from "./dist-BVdsO7Py.mjs";
4
- import { f as import_picocolors, m as printSuccess, p as note } from "./output-CKguMgr7.mjs";
5
- import { r as PlatformClient } from "./client-BdzxubTS.mjs";
6
- import { i as resolveCommandProjectId } from "./resolve-project-WpwkCB_c.mjs";
3
+ import { L as log } from "./dist-Cor9XGoz.mjs";
4
+ import { r as PlatformClient } from "./client-BEkdj1kx.mjs";
5
+ import { f as import_picocolors, m as printSuccess, p as note } from "./output-BpgYODYx.mjs";
6
+ import { i as resolveCommandProjectId } from "./resolve-project-Xoi6eTWY.mjs";
7
7
  //#region src/cli/domain.ts
8
8
  async function runDomainCommand(root, args) {
9
9
  const platform = readDeploymentPlatform(root);
@@ -25,7 +25,7 @@ async function runDomainCommand(root, args) {
25
25
  }
26
26
  async function runCloudflareDomainCommand(root, args) {
27
27
  if (args.projectSlug) throw new Error("domain: --project selects a Void platform project and is not used for direct Cloudflare apps.");
28
- const { changeCloudflareDomain, listCloudflareDomains } = await import("./cloudflare-operations-BFLCpUCV.mjs");
28
+ const { changeCloudflareDomain, listCloudflareDomains } = await import("./cloudflare-operations-DsSaw2BT.mjs");
29
29
  if (args.subcommand === "add") {
30
30
  const result = await changeCloudflareDomain(root, args.hostname, "add");
31
31
  note("Cloudflare Custom Domains manages the DNS record and TLS certificate in the zone on your account.", "Cloudflare Domain");
@@ -0,0 +1 @@
1
+ export { t as generateVoidAuthDatabaseModule, n as generateVoidAuthDrizzleSchema } from "./drizzle-BQfyvQKX.mjs";
@@ -1,5 +1,5 @@
1
1
  import { a as join } from "./dist-ipQi0Q8y.mjs";
2
- import { n as globSync } from "./dist-Bn8Kodjp.mjs";
2
+ import { n as globSync } from "./dist-D15hFhP0.mjs";
3
3
  //#region src/router/email.ts
4
4
  /**
5
5
  * Scan `email/` for inbound email handlers.