void 0.22.0 → 0.23.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 (276) hide show
  1. package/README.md +5 -1
  2. package/dist/{account-cmd-CjyxcGkM.mjs → account-cmd-C84Ee8cO.mjs} +4 -4
  3. package/dist/{scan-ClYmX3sa.mjs → application-analysis-BVsVqc11.mjs} +135 -18
  4. package/dist/application-routing-B7QEjqSR.mjs +27 -0
  5. package/dist/{auth-CZuiVsFh.mjs → auth-CCjt0hcq.mjs} +1 -1
  6. package/dist/{auth-DLNN0D3Z.mjs → auth-CSkdO2Bb.mjs} +4 -47
  7. package/dist/{auth-link-BLO4ptzo.mjs → auth-link-CioEg6uY.mjs} +4 -4
  8. package/dist/{auth-router-ZUg9MF_U.mjs → auth-router-BsR981d4.mjs} +4 -4
  9. package/dist/{better-auth-shared-rsBGBvWJ.mjs → better-auth-shared-hy6RPh9W.mjs} +13 -2
  10. package/dist/{build-cmd-BxR5FROK.mjs → build-cmd-LzvNJORH.mjs} +17 -5
  11. package/dist/{cache-D0sWhgKI.mjs → cache-C4MvnrMH.mjs} +2 -2
  12. package/dist/{cancel-deploy-D4NUqFbi.mjs → cancel-deploy-abUxpP2n.mjs} +2 -2
  13. package/dist/{cf-build-output-BJ6yGEIS.mjs → cf-build-output-BPqOT964.mjs} +2 -1
  14. package/dist/cf-build-output-_0HNWysu.mjs +2 -0
  15. package/dist/cli/cli.mjs +80 -455
  16. package/dist/cli/{cf-compat.mjs → cloudflare-operation-process.mjs} +442 -421
  17. package/dist/cli/env-schema-probe.d.mts +2 -1
  18. package/dist/cli/env-schema-probe.mjs +3 -3
  19. package/dist/client-Cu7jWiF1.mjs +2 -0
  20. package/dist/{client-BTZ3XkrB.mjs → client-RV8NVeB8.mjs} +140 -21
  21. package/dist/{cloudflare-auth-DQkqoMYa.mjs → cloudflare-auth-Qdc7tw8F.mjs} +41 -38
  22. package/dist/{cloudflare-cmd-BKlfGHAy.mjs → cloudflare-cmd-BcrVyTmJ.mjs} +5 -5
  23. package/dist/cloudflare-config-Bktvwtpf.mjs +182 -0
  24. package/dist/{cloudflare-connect-Ctmrw579.mjs → cloudflare-connect-B8uPZ4nx.mjs} +3 -3
  25. package/dist/{cloudflare-operations-BT6OWFBk.mjs → cloudflare-operations-AiWashgg.mjs} +1 -1
  26. package/dist/{cloudflare-operations-B9tzgjmf.mjs → cloudflare-operations-fxHb-byx.mjs} +116 -172
  27. package/dist/{preset-UHj9ARyP.mjs → cloudflare-process-B-wekeR6.mjs} +93 -6
  28. package/dist/{config-VavjpDnp.d.mts → config-BMHb8RCj.d.mts} +1 -0
  29. package/dist/config-C_XRIPx2.mjs +89 -0
  30. package/dist/config-entry.d.mts +1 -1
  31. package/dist/{connect-Dg-WkW-C.mjs → connect-Bd4kJd9U.mjs} +5 -5
  32. package/dist/{create-project-DdoqwFLF.mjs → create-project-Boczwj5r.mjs} +1 -1
  33. package/dist/{create-project-l9J7pbtm.mjs → create-project-bMf6ffLZ.mjs} +2 -2
  34. package/dist/{db-gp2sCXyN.mjs → db-8uG64XLl.mjs} +21 -21
  35. package/dist/{delete-TTedbH6B.mjs → delete-NvbiyeJf.mjs} +2 -2
  36. package/dist/{deploy-CH-o2CaZ.mjs → deploy-DzAIwqNU.mjs} +908 -582
  37. package/dist/{deploy-B19L2Bra.mjs → deploy-bjXdFCtn.mjs} +1 -1
  38. package/dist/{domain-JRF59P_r.mjs → domain-y5Tvydvo.mjs} +3 -3
  39. package/dist/{email-Bo6G9LOZ.mjs → email-B3umsW75.mjs} +13 -28
  40. package/dist/{env-BYOrWQnv.mjs → env-BS6qYHDb.mjs} +4 -4
  41. package/dist/{env-public-BxU_0yTL.d.mts → env-public-BX_r8HR6.d.mts} +1 -1
  42. package/dist/{env-validation-BB4GkLxn.mjs → env-validation-BPn7vk-V.mjs} +18 -71
  43. package/dist/{env-validation-BXge7uyK.mjs → env-validation-DbTg7-ar.mjs} +1 -1
  44. package/dist/{fetch-CXDChK7B.mjs → fetch-BIZJh7vR.mjs} +2 -2
  45. package/dist/{fetch-stream-AOByI7Ki.mjs → fetch-stream-IvCYKyQL.mjs} +24 -4
  46. package/dist/{gen-sCtlCOdA.mjs → gen-B580--vC.mjs} +2 -2
  47. package/dist/gen-BVaUUumi.mjs +2 -0
  48. package/dist/{github-cmd-0-7PexDq.mjs → github-cmd-v45BdfKX.mjs} +2 -2
  49. package/dist/{handler-HEcZsaij.d.mts → handler-CZ4nAylQ.d.mts} +1 -1
  50. package/dist/help-DofyZuY7.mjs +2 -0
  51. package/dist/{help-GKtwl07I.mjs → help-daGKjXGk.mjs} +229 -747
  52. package/dist/index.d.mts +1 -1
  53. package/dist/index.mjs +288 -1502
  54. package/dist/info-B97bTX9N.mjs +113 -0
  55. package/dist/{init-FZx3Elvz.mjs → init-Bvy7zrBo.mjs} +46 -15
  56. package/dist/limits-Bq5LG8Id.d.mts +27 -0
  57. package/dist/limits-Cjuk2VPm.mjs +68 -0
  58. package/dist/{link-BrQfb_CU.mjs → link-CDqqCjFl.mjs} +3 -3
  59. package/dist/{list-D44jmIAM.mjs → list-CZj0dzKY.mjs} +3 -3
  60. package/dist/{live-CKJlvlNp.d.mts → live-Chw1eIMv.d.mts} +1 -1
  61. package/dist/{local-d1-Bg9OzEEO.mjs → local-d1-2CMnpuW_.mjs} +2 -2
  62. package/dist/login-DYt_An22.mjs +2 -0
  63. package/dist/{login-CAsAsQ-_.mjs → login-UZKFM_u7.mjs} +3 -3
  64. package/dist/{logs-BjKvFnVM.mjs → logs-CUZ6t9t3.mjs} +3 -3
  65. package/dist/migrate-8_2u55MD.mjs +2 -0
  66. package/dist/{migrate-BPITvDJN.mjs → migrate-DHul7PRV.mjs} +2 -1
  67. package/dist/{node-Dt7z256D.mjs → node-BkyRWRx8.mjs} +1 -1
  68. package/dist/operator-args-CLgKGlwU.mjs +690 -0
  69. package/dist/{operator-cmd-BK5CCiT9.mjs → operator-cmd-DBA6dl0m.mjs} +68 -22
  70. package/dist/pages/client.d.mts +34 -2
  71. package/dist/pages/client.mjs +59 -3
  72. package/dist/pages/index.d.mts +1 -1
  73. package/dist/pages/index.mjs +1 -1
  74. package/dist/pages/islands-plugin.mjs +1 -1
  75. package/dist/pages/protocol.d.mts +2 -2
  76. package/dist/pages/protocol.mjs +2 -308
  77. package/dist/{parse-filename-DioPHiR9.mjs → parse-filename-CUbj-1MP.mjs} +35 -1
  78. package/dist/plan-D1Q5rf-r.mjs +2 -0
  79. package/dist/plan-NPpwZ_kc.mjs +58 -0
  80. package/dist/platform-args-BJdRtlLq.mjs +506 -0
  81. package/dist/platform-args-D3RXyR6h.mjs +2 -0
  82. package/dist/{platform-auth-config-BlN8xTdD.mjs → platform-auth-config-B56E9YP1.mjs} +3 -3
  83. package/dist/{platform-auth-protection-7d5aV2Jg.mjs → platform-auth-protection-BDWO_aER.mjs} +2 -2
  84. package/dist/{platform-auth-recovery-Dxij8ZbR.mjs → platform-auth-recovery-1gg4CSRe.mjs} +3 -3
  85. package/dist/{platform-cmd-E0FuL212.mjs → platform-cmd-Bt-1w6pY.mjs} +1 -1
  86. package/dist/{platform-cmd-B3hwKrFK.mjs → platform-cmd-DMcQStSc.mjs} +24 -3
  87. package/dist/{platform-domain-D6Xcy9ZX.mjs → platform-domain-BNkcz0OB.mjs} +2 -2
  88. package/dist/{platform-lifecycle-k0E0xoxx.mjs → platform-lifecycle-9OyBALhH.mjs} +327 -215
  89. package/dist/{platform-lifecycle-DMh_qrry.mjs → platform-lifecycle-BE6C_jxh.mjs} +1 -1
  90. package/dist/{platform-management-Brz_BDiT.mjs → platform-management-CjwLVQwN.mjs} +6 -3
  91. package/dist/{platform-management-DOtss0BN.mjs → platform-management-CnyTdcWX.mjs} +1 -1
  92. package/dist/platform-plans-config-BNGKGr4P.mjs +359 -0
  93. package/dist/{platform-recovery-BvtcXON5.mjs → platform-recovery-D6KSpuFm.mjs} +2 -2
  94. package/dist/{plugin-inference-BMfKRSqE.mjs → plugin-inference-CXWnn79A.mjs} +174 -64
  95. package/dist/{prepare-C-6YZyyg.mjs → prepare-B5Mkic5u.mjs} +1 -1
  96. package/dist/{prepare-CRhJbVrG.mjs → prepare-DOsL0CC9.mjs} +4 -20
  97. package/dist/prepare-cgvDMtSb.mjs +2 -0
  98. package/dist/{project-cmd-BZLCqOqw.mjs → project-cmd-CNzrqvBv.mjs} +16 -16
  99. package/dist/{project-team-BvgM0WoX.mjs → project-team-DQOWPfQT.mjs} +2 -2
  100. package/dist/{project-token-l5DqK6Az.mjs → project-token-CTDYU0Cc.mjs} +2 -2
  101. package/dist/{project-zero-trust-v6Mvpp8y.mjs → project-zero-trust-BNAkW-_0.mjs} +2 -2
  102. package/dist/{protocol-BBa6cstI.d.mts → protocol-CjF_iI9X.d.mts} +2 -2
  103. package/dist/protocol-U7bfjHmA.mjs +331 -0
  104. package/dist/{provision-Fr9pRqce.mjs → provision-C4ORE7G7.mjs} +1 -1
  105. package/dist/{provision-C4IGqkBf.mjs → provision-CJFgTZY8.mjs} +89 -198
  106. package/dist/{requests-DN-BbNiM.mjs → requests-MhxYnau8.mjs} +2 -2
  107. package/dist/resource-name-C7LVpcRm.mjs +11 -0
  108. package/dist/{rollback-D7rzSaZM.mjs → rollback-CJ6iSDoU.mjs} +3 -3
  109. package/dist/route-url-CG7U-cRN.mjs +15 -0
  110. package/dist/{runner-B8wXwWlo.mjs → runner-CXA9Fh8h.mjs} +1 -1
  111. package/dist/{runner-p-dMs2UN.mjs → runner-Ol0TNjk6.mjs} +2 -2
  112. package/dist/runtime/ai.d.mts +12 -8
  113. package/dist/runtime/ai.mjs +84 -17
  114. package/dist/runtime/better-auth-mysql.mjs +1 -1
  115. package/dist/runtime/better-auth-pg.mjs +1 -1
  116. package/dist/runtime/better-auth.mjs +1 -1
  117. package/dist/runtime/client-react.mjs +2 -2
  118. package/dist/runtime/client-solid.mjs +2 -2
  119. package/dist/runtime/client-svelte.mjs +2 -2
  120. package/dist/runtime/client-vue.mjs +2 -2
  121. package/dist/runtime/client.mjs +2 -2
  122. package/dist/runtime/durable.d.mts +3 -1
  123. package/dist/runtime/durable.mjs +4 -1
  124. package/dist/runtime/email/testing.mjs +1 -1
  125. package/dist/runtime/env-public.d.mts +1 -1
  126. package/dist/runtime/fetch-stream.mjs +1 -1
  127. package/dist/runtime/fetch.mjs +1 -1
  128. package/dist/runtime/handler.d.mts +1 -1
  129. package/dist/runtime/kv.mjs +0 -1
  130. package/dist/runtime/limits.d.mts +2 -0
  131. package/dist/runtime/limits.mjs +2 -0
  132. package/dist/runtime/live-client.d.mts +1 -1
  133. package/dist/runtime/live-server.mjs +25 -16
  134. package/dist/runtime/live.d.mts +1 -1
  135. package/dist/runtime/migration-handler.mjs +62 -42
  136. package/dist/runtime/route-url.d.mts +4 -0
  137. package/dist/runtime/route-url.mjs +2 -0
  138. package/dist/runtime/routing.d.mts +180 -0
  139. package/dist/runtime/routing.mjs +1082 -0
  140. package/dist/runtime/sandbox-container.d.mts +1 -1
  141. package/dist/runtime/sandbox-container.mjs +1 -1
  142. package/dist/runtime/sandbox.d.mts +3 -3
  143. package/dist/runtime/sandbox.mjs +75 -45
  144. package/dist/runtime/sse.mjs +1 -1
  145. package/dist/runtime/validator.d.mts +1 -1
  146. package/dist/runtime/ws-server.d.mts +4 -2
  147. package/dist/runtime/ws-server.mjs +27 -2
  148. package/dist/runtime/ws.d.mts +2 -2
  149. package/dist/runtime/ws.mjs +8 -6
  150. package/dist/{sandbox-qpNBT8a3.d.mts → sandbox-XZAqzFlG.d.mts} +11 -8
  151. package/dist/{sandbox-container-DdNEBfCc.d.mts → sandbox-container-Bo0eiFKz.d.mts} +2 -1
  152. package/dist/{sandbox-container-4fdqLnyb.mjs → sandbox-container-C6ItmVuN.mjs} +4 -2
  153. package/dist/{scan-4tfN-PSn.mjs → scan-C7okrLyM.mjs} +4 -35
  154. package/dist/{secret-BOtOl_cb.mjs → secret-Dli5fP0B.mjs} +4 -4
  155. package/dist/{sse-BaC1jXko.mjs → sse-CQNaDFFV.mjs} +6 -3
  156. package/dist/validate-Dq_L3s0S.mjs +2 -0
  157. package/dist/{validate-CIUwFpjB.mjs → validate-ctOrgiS3.mjs} +2 -1
  158. package/dist/{wrangler-DQF1vKyf.mjs → wrangler-7K-bW_DL.mjs} +8 -239
  159. package/dist/{ws-BoY7vQML.d.mts → ws-CL1w7GXU.d.mts} +13 -2
  160. package/package.json +15 -8
  161. package/skills/migrate-vite-cloudflare-to-void/SKILL.md +34 -157
  162. package/skills/void/SKILL.md +50 -135
  163. package/skills/void/docs/guide/ai.md +94 -84
  164. package/skills/void/docs/guide/app-types.md +3 -32
  165. package/skills/void/docs/guide/auth.md +12 -116
  166. package/skills/void/docs/guide/database/d1.md +9 -54
  167. package/skills/void/docs/guide/database/mysql.md +1 -1
  168. package/skills/void/docs/guide/database/postgresql.md +5 -26
  169. package/skills/void/docs/guide/database.md +23 -75
  170. package/skills/void/docs/guide/deployment.md +27 -113
  171. package/skills/void/docs/guide/durable-state.md +43 -18
  172. package/skills/void/docs/guide/edge/headers.md +3 -47
  173. package/skills/void/docs/guide/edge/prerendering.md +5 -20
  174. package/skills/void/docs/guide/edge/redirects.md +11 -64
  175. package/skills/void/docs/guide/edge/revalidation.md +5 -18
  176. package/skills/void/docs/guide/edge/rewrites.md +56 -284
  177. package/skills/void/docs/guide/edge/static-assets.md +22 -72
  178. package/skills/void/docs/guide/email/domains.md +112 -0
  179. package/skills/void/docs/guide/email/receiving.md +139 -0
  180. package/skills/void/docs/guide/email/sending.md +231 -0
  181. package/skills/void/docs/guide/email.md +13 -619
  182. package/skills/void/docs/guide/env-migration.md +11 -11
  183. package/skills/void/docs/guide/env-vars.md +9 -29
  184. package/skills/void/docs/guide/index.md +0 -15
  185. package/skills/void/docs/guide/jobs.md +3 -18
  186. package/skills/void/docs/guide/kv.md +5 -11
  187. package/skills/void/docs/guide/live.md +5 -56
  188. package/skills/void/docs/guide/pages-routing/actions-and-forms.md +78 -125
  189. package/skills/void/docs/guide/pages-routing/head.md +10 -10
  190. package/skills/void/docs/guide/pages-routing/islands.md +6 -36
  191. package/skills/void/docs/guide/pages-routing/layouts.md +6 -128
  192. package/skills/void/docs/guide/pages-routing/loaders.md +3 -19
  193. package/skills/void/docs/guide/pages-routing/markdown.md +13 -171
  194. package/skills/void/docs/guide/pages-routing/overview.md +7 -17
  195. package/skills/void/docs/guide/pages-routing/view-transitions.md +1 -1
  196. package/skills/void/docs/guide/platform/administration/access.md +1 -4
  197. package/skills/void/docs/guide/platform/administration/email.md +35 -8
  198. package/skills/void/docs/guide/platform/administration/operations.md +26 -4
  199. package/skills/void/docs/guide/platform/administration/plans.md +126 -0
  200. package/skills/void/docs/guide/platform/administration/projects.md +5 -2
  201. package/skills/void/docs/guide/platform/administration/zero-trust.md +23 -152
  202. package/skills/void/docs/guide/platform/development/runtime.md +3 -13
  203. package/skills/void/docs/guide/platform/development/schema-ci.md +0 -58
  204. package/skills/void/docs/guide/platform/installation/credentials.md +6 -4
  205. package/skills/void/docs/guide/platform/installation/domains.md +30 -2
  206. package/skills/void/docs/guide/platform/installation/first-deployment.md +2 -0
  207. package/skills/void/docs/guide/platform/installation/maintenance.md +3 -1
  208. package/skills/void/docs/guide/platform/installation/prerequisites.md +20 -15
  209. package/skills/void/docs/guide/platform/installation/setup.md +9 -5
  210. package/skills/void/docs/guide/platform-administration.md +1 -0
  211. package/skills/void/docs/guide/queues.md +7 -9
  212. package/skills/void/docs/guide/quickstart.md +38 -37
  213. package/skills/void/docs/guide/remote-dev.md +4 -9
  214. package/skills/void/docs/guide/sandboxes.md +29 -21
  215. package/skills/void/docs/guide/server-routing.md +9 -72
  216. package/skills/void/docs/guide/sse.md +4 -18
  217. package/skills/void/docs/guide/ssg.md +3 -15
  218. package/skills/void/docs/guide/ssr.md +14 -62
  219. package/skills/void/docs/guide/storage.md +9 -4
  220. package/skills/void/docs/guide/type-safety.md +3 -14
  221. package/skills/void/docs/guide/typed-fetch.md +3 -7
  222. package/skills/void/docs/guide/websockets.md +68 -40
  223. package/skills/void/docs/integrations/agents.md +3 -3
  224. package/skills/void/docs/integrations/cloudflare.md +85 -316
  225. package/skills/void/docs/integrations/frameworks/analog.md +5 -64
  226. package/skills/void/docs/integrations/frameworks/astro.md +4 -73
  227. package/skills/void/docs/integrations/frameworks/nuxt.md +5 -62
  228. package/skills/void/docs/integrations/frameworks/overview.md +11 -54
  229. package/skills/void/docs/integrations/frameworks/react-router.md +5 -60
  230. package/skills/void/docs/integrations/frameworks/sveltekit.md +6 -65
  231. package/skills/void/docs/integrations/frameworks/tanstack-start.md +4 -62
  232. package/skills/void/docs/integrations/nodejs-bun-deno.md +5 -69
  233. package/skills/void/docs/reference/api/auth.md +156 -0
  234. package/skills/void/docs/reference/api/client.md +87 -0
  235. package/skills/void/docs/reference/api/database.md +95 -0
  236. package/skills/void/docs/reference/api/durable.md +46 -0
  237. package/skills/void/docs/reference/api/env.md +50 -0
  238. package/skills/void/docs/reference/api/handlers.md +254 -0
  239. package/skills/void/docs/reference/api/pages.md +241 -0
  240. package/skills/void/docs/reference/api/plugin.md +39 -0
  241. package/skills/void/docs/reference/api/resources.md +109 -0
  242. package/skills/void/docs/reference/api/rewrites.md +76 -0
  243. package/skills/void/docs/reference/api/types.md +92 -0
  244. package/skills/void/docs/reference/api.md +56 -1218
  245. package/skills/void/docs/reference/cli/auth.md +88 -0
  246. package/skills/void/docs/reference/cli/database.md +128 -0
  247. package/skills/void/docs/reference/cli/deploy.md +85 -0
  248. package/skills/void/docs/reference/cli/domains.md +41 -0
  249. package/skills/void/docs/reference/cli/email.md +129 -0
  250. package/skills/void/docs/reference/cli/generate.md +116 -0
  251. package/skills/void/docs/reference/cli/github.md +189 -0
  252. package/skills/void/docs/reference/cli/platform-config.md +92 -0
  253. package/skills/void/docs/reference/cli/platform-email.md +81 -0
  254. package/skills/void/docs/reference/cli/platform-installation.md +127 -0
  255. package/skills/void/docs/reference/cli/platform-operations.md +90 -0
  256. package/skills/void/docs/reference/cli/platform-users.md +89 -0
  257. package/skills/void/docs/reference/cli/platform-zero-trust.md +45 -0
  258. package/skills/void/docs/reference/cli/platform.md +70 -0
  259. package/skills/void/docs/reference/cli/project.md +214 -0
  260. package/skills/void/docs/reference/cli/secrets.md +76 -0
  261. package/skills/void/docs/reference/cli/setup.md +70 -0
  262. package/skills/void/docs/reference/cli.md +32 -1682
  263. package/skills/void/docs/reference/config.md +12 -18
  264. package/skills/void/docs/reference/resource-inference.md +3 -58
  265. package/skills/void/docs/reference/structure.md +14 -41
  266. package/dist/canonical-json-DuDiiUsQ.mjs +0 -13
  267. package/dist/client-Czz8o5jP.mjs +0 -2
  268. package/dist/gen-CNJ62MM7.mjs +0 -2
  269. package/dist/help-CmZzxUba.mjs +0 -2
  270. package/dist/login-CGcRKEoi.mjs +0 -2
  271. package/dist/migrate-CYfbKkXh.mjs +0 -2
  272. package/dist/plan-BEZ8VJW0.mjs +0 -256
  273. package/dist/plan-DpuOr14e.mjs +0 -2
  274. package/dist/prepare-Bm3iq-u4.mjs +0 -2
  275. package/dist/validate-EKmJWxmy.mjs +0 -2
  276. /package/dist/cli/{cf-compat.d.mts → cloudflare-operation-process.d.mts} +0 -0
@@ -1,2 +1,2 @@
1
- import { A as parseRootWranglerConfig, J as runDeploy, f as checkWranglerMigrationApplySet } from "./deploy-CH-o2CaZ.mjs";
1
+ import { A as parseRootWranglerConfig, J as runDeploy, f as checkWranglerMigrationApplySet } from "./deploy-DzAIwqNU.mjs";
2
2
  export { checkWranglerMigrationApplySet, parseRootWranglerConfig, runDeploy };
@@ -1,7 +1,7 @@
1
- import { c as getToken } from "./auth-DLNN0D3Z.mjs";
1
+ import { c as getToken } from "./auth-CSkdO2Bb.mjs";
2
2
  import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
3
3
  import { N as note, j as log } from "./dist-CTBk70IR.mjs";
4
- import { n as PlatformClient } from "./client-BTZ3XkrB.mjs";
4
+ import { n as PlatformClient } from "./client-RV8NVeB8.mjs";
5
5
  import { c as import_picocolors } from "./output-Dm_A4Tbv.mjs";
6
6
  //#region src/cli/domain.ts
7
7
  async function runDomainCommand(root, args) {
@@ -40,7 +40,7 @@ async function runDomainCommand(root, args) {
40
40
  }
41
41
  async function runCloudflareDomainCommand(root, args) {
42
42
  if (args.projectSlug) throw new Error("domain: --project selects a Void platform project and is not used for direct Cloudflare apps.");
43
- const { changeCloudflareDomain, listCloudflareDomains } = await import("./cloudflare-operations-BT6OWFBk.mjs");
43
+ const { changeCloudflareDomain, listCloudflareDomains } = await import("./cloudflare-operations-AiWashgg.mjs");
44
44
  if (args.subcommand === "add") {
45
45
  const result = await changeCloudflareDomain(root, args.hostname, "add");
46
46
  log.success(result.modified ? `Domain ${args.hostname} added and activated on Cloudflare.` : `Domain ${args.hostname} is already configured.`);
@@ -1,13 +1,13 @@
1
1
  import { a as join } from "./dist-BVqXeR_h.mjs";
2
- import { L as resolveDeployTransport, O as isWranglerNonInteractiveOrCI, X as runWranglerAuthToken, _ as deriveWorkerName, _t as findEmailConfigConflicts, bt as renderEmailChecklist, gt as createNodeEmailDns, h as createDeployWranglerRunner, ht as applyEmailSetup, k as loadProvisionModule, v as discoverRootWranglerConfig, vt as preflightEmail, yt as renderAddressMap } from "./deploy-CH-o2CaZ.mjs";
3
2
  import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
4
- import { c as getToken, d as openBrowser } from "./auth-DLNN0D3Z.mjs";
5
- import { o as readProjectConfig } from "./project-C0Fqu05O.mjs";
6
3
  import { m as readConfig } from "./config-Br_JZD6u.mjs";
7
- import { k as writeProvisionedWranglerConfig } from "./wrangler-DQF1vKyf.mjs";
8
- import { E as confirm, F as password, N as note, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
9
4
  import { a as scanEmailHandlersSync } from "./email--tEtMoj_.mjs";
10
- import { n as PlatformClient, t as PlatformApiError } from "./client-BTZ3XkrB.mjs";
5
+ import { L as resolveDeployTransport, O as isWranglerNonInteractiveOrCI, X as runWranglerAuthToken, _ as deriveWorkerName, _t as createNodeEmailDns, bt as renderAddressMap, gt as applyEmailSetup, h as createDeployWranglerRunner, k as loadProvisionModule, v as discoverRootWranglerConfig, vt as findEmailConfigConflicts, xt as renderEmailChecklist, yt as preflightEmail } from "./deploy-DzAIwqNU.mjs";
6
+ import { c as getToken, d as openBrowser } from "./auth-CSkdO2Bb.mjs";
7
+ import { o as readProjectConfig } from "./project-C0Fqu05O.mjs";
8
+ import { A as writeProvisionedWranglerConfig } from "./wrangler-7K-bW_DL.mjs";
9
+ import { E as confirm, F as password, N as note, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
10
+ import { n as PlatformClient, t as PlatformApiError } from "./client-RV8NVeB8.mjs";
11
11
  import { c as import_picocolors, i as createSpinner } from "./output-Dm_A4Tbv.mjs";
12
12
  import { existsSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
13
13
  import { tmpdir } from "node:os";
@@ -324,6 +324,7 @@ async function emailDomainAdd(client, projectId, rawDomain, subdomain, deps = {}
324
324
  };
325
325
  const domain = normalizeEmailDomainInput(rawDomain);
326
326
  if (!isValidEmailDomainInput(domain)) return fail(`email: invalid domain '${rawDomain}'.`);
327
+ if (subdomain !== void 0) return fail("email: Platform-managed custom email requires a Cloudflare zone apex because inbound email uses its catch-all. Omit --subdomain, choose an unused zone apex, or use the platform shared mail address.");
327
328
  let target;
328
329
  try {
329
330
  target = resolveEmailDomainTarget(domain, subdomain);
@@ -332,28 +333,16 @@ async function emailDomainAdd(client, projectId, rawDomain, subdomain, deps = {}
332
333
  }
333
334
  const dns = deps.dns ?? await createNodeEmailDns();
334
335
  const decideTarget = async () => {
335
- if (target.forced) {
336
- const mx = await lookupMxForRender(dns, target.emailDomain);
337
- if (mx !== null && mx.length > 0) log.warn(`MX ${target.emailDomain} already carries MX (${mx.join(", ")}) — the platform re-checks over public DNS and may refuse it.`);
338
- } else {
339
- const mx = await lookupMxForRender(dns, domain);
340
- if (mx === null) log.info(`MX could not read ${domain}'s MX from here — the platform decides over public DNS.`);
341
- else if (mx.length > 0) {
342
- target = {
343
- emailDomain: `mail.${domain}`,
344
- forced: false
345
- };
346
- log.info(`MX ${domain} carries MX for ${mx[0]} → apex is off limits\n using ${target.emailDomain} [change with --subdomain]`);
347
- const subMx = await lookupMxForRender(dns, target.emailDomain);
348
- if (subMx !== null && subMx.length > 0) log.warn(`MX ${target.emailDomain} also carries MX (${subMx.join(", ")}) — the platform may refuse it; pick another with --subdomain.`);
349
- } else log.info(`MX ${domain} has no MX records → using the apex`);
350
- }
336
+ const mx = await lookupMxForRender(dns, domain);
337
+ if (mx === null) log.info(`MX could not read ${domain}'s MX from here — the platform decides over public DNS.`);
338
+ else if (mx.some((exchange) => !/\.mx\.cloudflare\.net$/i.test(exchange))) fail(`email: ${domain} already receives mail from another provider. Platform custom inbound email requires an unused Cloudflare zone apex; choose another apex or use the platform shared mail address.`);
339
+ else log.info(`MX using the requested apex ${domain}`);
351
340
  };
352
341
  let renewal;
353
342
  const settings = await client.getEmailSettings(projectId);
354
343
  if (settings.domains.management === "admin") {
355
344
  const rows = await client.listEmailDomains(projectId);
356
- const existing = [target.emailDomain, ...target.forced ? [] : [`mail.${domain}`]].map((candidate) => rows.find((row) => row.domain === candidate && row.managed_by !== "admin")).find((row) => row !== void 0);
345
+ const existing = [target.emailDomain].map((candidate) => rows.find((row) => row.domain === candidate && row.managed_by !== "admin")).find((row) => row !== void 0);
357
346
  if (!existing) {
358
347
  await decideTarget();
359
348
  const project = settings.domains.projectSlug ?? projectId;
@@ -724,11 +713,7 @@ async function runEmailCloudflareCommandInConfig(root, args, project, configPath
724
713
  existingAddresses: rootConfig.addresses,
725
714
  existingVars: rootConfig.vars && typeof rootConfig.vars === "object" && !Array.isArray(rootConfig.vars) ? rootConfig.vars : null,
726
715
  configConflicts: findEmailConfigConflicts(rootConfig),
727
- wranglerArgs: [
728
- "-c",
729
- wranglerConfigPath,
730
- "--env="
731
- ],
716
+ configPath: wranglerConfigPath,
732
717
  apiBaseUrl,
733
718
  runWrangler,
734
719
  getSessionBearer,
@@ -1,10 +1,10 @@
1
1
  import { a as join } from "./dist-BVqXeR_h.mjs";
2
- import { c as getToken } from "./auth-DLNN0D3Z.mjs";
2
+ import { c as getToken } from "./auth-CSkdO2Bb.mjs";
3
3
  import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
4
4
  import { r as generateEnvTypes, t as findEnvFile } from "./env-types-C2_bIk_b.mjs";
5
- import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-BB4GkLxn.mjs";
5
+ import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-BPn7vk-V.mjs";
6
6
  import { N as note, O as intro, P as outro, j as log } from "./dist-CTBk70IR.mjs";
7
- import { n as PlatformClient } from "./client-BTZ3XkrB.mjs";
7
+ import { n as PlatformClient } from "./client-RV8NVeB8.mjs";
8
8
  import { r as cliTitle } from "./output-Dm_A4Tbv.mjs";
9
9
  import { mkdirSync, writeFileSync } from "node:fs";
10
10
  //#region src/cli/env.ts
@@ -26,7 +26,7 @@ async function runCheck(root, useRemoteSecrets) {
26
26
  const platform = readDeploymentPlatform(root);
27
27
  if (platform === "none") throw new Error("env: Deployment is disabled. Run `void init` to choose a platform.");
28
28
  if (platform === "cloudflare") {
29
- const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-BT6OWFBk.mjs");
29
+ const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-AiWashgg.mjs");
30
30
  remoteSecrets = await listCloudflareSecrets(resolveCloudflareOperationContext(root));
31
31
  } else {
32
32
  const token = getToken(root);
@@ -1,4 +1,4 @@
1
- import { c as VoidPlatformSandbox } from "./sandbox-qpNBT8a3.mjs";
1
+ import { l as VoidPlatformSandbox } from "./sandbox-XZAqzFlG.mjs";
2
2
  import { t as StandardSchemaV1 } from "./standard-schema-Fo_vCAZh.mjs";
3
3
  //#region src/runtime/env-public.d.ts
4
4
  type AnyValidator = StandardSchemaV1<unknown, unknown>;
@@ -2,7 +2,7 @@ import { a as join, n as dirname, u as resolve } from "./dist-BVqXeR_h.mjs";
2
2
  import { i as voidWarn } from "./log-ChfPKsVd.mjs";
3
3
  import { t as findEnvFile } from "./env-types-C2_bIk_b.mjs";
4
4
  import { a as loadLocalEnv, i as isClientEnvKey, r as findLegacyEnvFiles } from "./env-_v349JBd.mjs";
5
- import { o as resolveWranglerArgv } from "./preset-UHj9ARyP.mjs";
5
+ import { c as resolveCloudflareOperationArgv, n as decodeCloudflareOperationResult, r as encodeCloudflareOperation } from "./cloudflare-process-B-wekeR6.mjs";
6
6
  import { existsSync, readFileSync } from "node:fs";
7
7
  import { pathToFileURL } from "node:url";
8
8
  import { spawn } from "node:child_process";
@@ -733,59 +733,12 @@ function firstDeployMessage(missingKeys) {
733
733
  ...names.map((key) => ` void secret put ${key}`)
734
734
  ].join("\n");
735
735
  }
736
- /**
737
- * The exact `wrangler secret list` argv. Verified against the wrangler 4.131.0
738
- * bundle (`wrangler-dist/cli.js`, `secretListCommand`):
739
- * - `secret list` accepts `--format` with choices `json`/`pretty`; `json` is
740
- * the default AND suppresses the banner (`printBanner` is format==='pretty'),
741
- * printing `JSON.stringify(secrets, null, ' ')` — an array of secret
742
- * objects (each with a string `name`, per `fetchSecrets` →
743
- * `GET /accounts/{id}/workers/scripts/{name}/secrets`). Pinned explicitly
744
- * so a future default change can't silently switch us to `pretty`.
745
- * - the worker name resolves from the config's `name` (`getLegacyScriptName`:
746
- * `args.name ?? config.name` — we pass no `--name`, the pinned config is
747
- * the single source of truth).
748
- * - `-c <configPath>` (global `--config` alias) pins the ONE resolved config;
749
- * `--env=` (explicit EMPTY environment) forces the top-level config env so
750
- * a project dotenv exporting `CLOUDFLARE_ENV` can never reselect a named
751
- * `env.*` block — same rationale as the provisioner's wranglerConfigArgs.
752
- */
753
- function secretListArgs(configPath) {
754
- return [
755
- "secret",
756
- "list",
757
- "--format=json",
758
- "-c",
759
- configPath,
760
- "--env="
761
- ];
762
- }
763
- /**
764
- * wrangler 4.131's `secret list` worker-not-found signal. When the worker has
765
- * never been deployed, `fetchSecrets` throws the API worker-not-found error and
766
- * `secretListCommand.handler` — ONLY when `isWorkerNotFoundError(e)` is true
767
- * (`e.code === 10007` WORKER_NOT_FOUND or `10090`
768
- * WORKER_LEGACY_ENVIRONMENT_NOT_FOUND, per wrangler-dist/cli.js) — rethrows a
769
- * `UserError` with this exact fixed diagnostic block:
770
- *
771
- * Worker "<name>"[ (env: <env>)] not found.
772
- *
773
- * If this is a new Worker, run `wrangler deploy` first to create it.
774
- * Otherwise, check that the Worker name is correct and you're logged into the right account.
775
- *
776
- * The API code itself is caught and never printed, so the child's stderr
777
- * carries this MESSAGE, not `10007`/`10090`. Matching only the bare lead-in
778
- * `If this is a new Worker` misclassifies any unrelated status-1
779
- * diagnostic that merely contains that fragment. So we require the COMPLETE
780
- * structured block — the `… not found.` lead AND both fixed sentences of the
781
- * guidance — after normalizing whitespace (wrangler may wrap/indent the
782
- * multi-line UserError when it prints). The block carries no secret content, so
783
- * it survives `WRANGLER_LOG_SANITIZE=true`; the combined output is inspected
784
- * INTERNALLY only and never copied into any thrown error.
785
- */
786
- function isWorkerNotFoundOutput(output) {
787
- const normalized = output.replace(/\s+/g, " ");
788
- return /Worker ".*?"(?: \(env: [^)]*\))? not found\./.test(normalized) && (normalized.includes("[code: 10007]") || normalized.includes("[code: 10090]") || normalized.includes("If this is a new Worker, run `wrangler deploy` first to create it.") && normalized.includes("Otherwise, check that the Worker name is correct and you're logged into the right account."));
736
+ /** Select the generated top-level Worker config for structured secret discovery. */
737
+ function secretListOperation(configPath) {
738
+ return {
739
+ type: "secret.list",
740
+ configPath
741
+ };
789
742
  }
790
743
  /**
791
744
  * Build the THROWN message for a wrangler-run failure from the structural
@@ -793,7 +746,7 @@ function isWorkerNotFoundOutput(output) {
793
746
  * `result.stdout`, a spawn-error string, or a rejection message — those are
794
747
  * unconstrained (the child inherits `process.env`) and could embed an env
795
748
  * value. Where wrangler's own diagnostics would help, the message tells the
796
- * user to re-run wrangler themselves rather than echoing its output here.
749
+ * user to retry through Void rather than echoing its output here.
797
750
  */
798
751
  function secretListFailureMessage(reason, detail) {
799
752
  const base = "env: `wrangler secret list` could not confirm the remote secrets";
@@ -815,14 +768,13 @@ function secretListError(reason, detail = {}) {
815
768
  * is never interpreted as "no secrets exist" — that would let a deploy proceed
816
769
  * with required secrets actually missing on the worker.
817
770
  *
818
- * A nonzero exit whose output carries wrangler's worker-not-found signal is a
771
+ * A completed failure with a typed missing-Worker code is a
819
772
  * DISTINCT, structured {@link SelfHostFirstDeployError} carrying the still
820
- * unsatisfied required `missingKeys` + `wrangler secret put` bootstrap guidance,
773
+ * unsatisfied required `missingKeys` + `void secret put` bootstrap guidance,
821
774
  * instead of the generic "list exited nonzero" dead end.
822
775
  *
823
776
  * Raw child output (stderr/stdout, spawn-error text, rejection messages)
824
- * is used ONLY internally: for worker-not-found classification the combined
825
- * output is matched to a boolean that never leaves this function. Every THROWN
777
+ * does not participate in missing-Worker classification. Every THROWN
826
778
  * error carries only a structural {@link SecretListFailureReason} code and safe
827
779
  * scalars (exit code / signal name), so no env value the child may have echoed
828
780
  * can reach the error's message, fields, or JSON — even under `VOID_ENV_UNMASK`.
@@ -830,7 +782,7 @@ function secretListError(reason, detail = {}) {
830
782
  async function fetchSelfHostSecretNames(run, configPath, missingKeys) {
831
783
  let result;
832
784
  try {
833
- result = await Promise.resolve(run(secretListArgs(configPath)));
785
+ result = await Promise.resolve(run(secretListOperation(configPath)));
834
786
  } catch {
835
787
  throw secretListError("spawn-error");
836
788
  }
@@ -838,15 +790,10 @@ async function fetchSelfHostSecretNames(run, configPath, missingKeys) {
838
790
  if (result.signal != null) throw secretListError("signal", { signal: String(result.signal) });
839
791
  if (typeof result.status !== "number" || result.status !== 0) {
840
792
  const exitCode = typeof result.status === "number" ? result.status : void 0;
841
- if (isWorkerNotFoundOutput(`${result.stdout}\n${result.stderr}`)) throw new SelfHostFirstDeployError(firstDeployMessage(missingKeys), missingKeys, exitCode);
793
+ if (Number.isSafeInteger(result.status) && result.status > 0 && ([10007, 10090].includes(result.errorCode ?? 0) || result.failure === "not-found")) throw new SelfHostFirstDeployError(firstDeployMessage(missingKeys), missingKeys, exitCode);
842
794
  throw secretListError("nonzero-exit", { exitCode });
843
795
  }
844
- let parsed;
845
- try {
846
- parsed = JSON.parse(result.stdout);
847
- } catch {
848
- throw secretListError("malformed-output");
849
- }
796
+ const parsed = result.data;
850
797
  if (!Array.isArray(parsed)) throw secretListError("malformed-output");
851
798
  const names = [];
852
799
  for (const member of parsed) {
@@ -881,7 +828,7 @@ const SECRET_LIST_TIMEOUT_MS = 12e4;
881
828
  /**
882
829
  * Default {@link RunSecretList}: resolves wrangler's REAL CLI entry
883
830
  * (`wrangler-dist/cli.js`, not the signal-swallowing `bin` wrapper) via
884
- * {@link resolveWranglerArgv} and spawns it ASYNC with `shell: false`, so every
831
+ * {@link resolveCloudflareOperationArgv} and spawns it ASYNC with `shell: false`, so every
885
832
  * argv element is passed literally (no shell → no metacharacter injection) and
886
833
  * the event loop stays free. A hard timeout SIGKILLs a hung child; the result
887
834
  * carries `{status, signal, error}` provenance so the caller fails closed on
@@ -894,11 +841,11 @@ const SECRET_LIST_TIMEOUT_MS = 12e4;
894
841
  * fires), a bounded fallback settles the call as a HARD failure anyway.
895
842
  */
896
843
  function createDefaultSecretListRunner(root, options) {
897
- const launcher = options?.launcher ?? resolveWranglerArgv(root);
844
+ const launcher = options?.launcher ?? resolveCloudflareOperationArgv(root);
898
845
  const timeoutMs = options?.timeoutMs ?? SECRET_LIST_TIMEOUT_MS;
899
846
  const [command, ...prefix] = launcher;
900
847
  return (args) => new Promise((resolvePromise) => {
901
- const child = spawn(command, [...prefix, ...args], {
848
+ const child = spawn(command, [...prefix, ...encodeCloudflareOperation(args)], {
902
849
  cwd: root,
903
850
  shell: false,
904
851
  env: secretListEnv(options?.accountId),
@@ -927,7 +874,7 @@ function createDefaultSecretListRunner(root, options) {
927
874
  settled = true;
928
875
  clearTimeout(commandTimer);
929
876
  clearTimeout(killFallbackTimer);
930
- resolvePromise(result);
877
+ resolvePromise(decodeCloudflareOperationResult(result));
931
878
  };
932
879
  const timeoutNote = `env: wrangler secret list exceeded the ${timeoutMs}ms timeout`;
933
880
  const commandTimer = setTimeout(() => {
@@ -1,2 +1,2 @@
1
- import { a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars, r as SelfHostSchemaError } from "./env-validation-BB4GkLxn.mjs";
1
+ import { a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars, r as SelfHostSchemaError } from "./env-validation-BPn7vk-V.mjs";
2
2
  export { SelfHostSchemaError, computeInvalidEmittedKeys, deriveSelfHostSchemaFacts, readEmittedWorkerVars };
@@ -1,8 +1,8 @@
1
1
  import { n as ofetch } from "./fetch-error-Dj3crt0e.mjs";
2
+ import { t as interpolateRouteParams } from "./route-url-CG7U-cRN.mjs";
2
3
  //#region src/runtime/fetch.ts
3
4
  async function fetch(path, options) {
4
- let url = path;
5
- if (options?.params) for (const [key, value] of Object.entries(options.params)) url = url.replace(`:${key}`, encodeURIComponent(value));
5
+ const url = interpolateRouteParams(path, options?.params);
6
6
  return ofetch(url, {
7
7
  method: options?.method ?? "GET",
8
8
  body: options?.body,
@@ -1,4 +1,5 @@
1
- import { n as ofetch } from "./fetch-error-Dj3crt0e.mjs";
1
+ import { n as ofetch, t as FetchError } from "./fetch-error-Dj3crt0e.mjs";
2
+ import { t as interpolateRouteParams } from "./route-url-CG7U-cRN.mjs";
2
3
  //#region src/runtime/fetch-stream.ts
3
4
  /**
4
5
  * Consume an SSE endpoint as an async generator of text chunks.
@@ -20,8 +21,7 @@ import { n as ofetch } from "./fetch-error-Dj3crt0e.mjs";
20
21
  * @yields {string} Text chunks from SSE data frames.
21
22
  */
22
23
  async function* fetchStream(path, options) {
23
- let url = path;
24
- if (options?.params) for (const [key, value] of Object.entries(options.params)) url = url.replace(`:${key}`, encodeURIComponent(value));
24
+ const url = interpolateRouteParams(path, options?.params);
25
25
  const body = (await ofetch.raw(url, {
26
26
  method: options?.method ?? "POST",
27
27
  body: options?.body,
@@ -35,6 +35,16 @@ async function* fetchStream(path, options) {
35
35
  const reader = body.getReader();
36
36
  const decoder = new TextDecoder();
37
37
  let buffer = "";
38
+ let event = "";
39
+ const terminal = (data) => {
40
+ if (event !== "void:error" && event !== "void:limit") return;
41
+ let message = "Generation was interrupted.";
42
+ try {
43
+ const body = JSON.parse(data);
44
+ if (typeof body.message === "string") message = body.message;
45
+ } catch {}
46
+ throw new FetchError(message);
47
+ };
38
48
  try {
39
49
  while (true) {
40
50
  const { done, value } = await reader.read();
@@ -44,9 +54,18 @@ async function* fetchStream(path, options) {
44
54
  buffer = lines.pop();
45
55
  for (const line of lines) {
46
56
  const trimmed = line.trim();
47
- if (!trimmed || trimmed.startsWith(":")) continue;
57
+ if (trimmed.startsWith("event:")) {
58
+ event = trimmed.slice(6).trim();
59
+ continue;
60
+ }
61
+ if (!trimmed) {
62
+ event = "";
63
+ continue;
64
+ }
65
+ if (trimmed.startsWith(":")) continue;
48
66
  if (trimmed.startsWith("data: ")) {
49
67
  const data = trimmed.slice(6);
68
+ terminal(data);
50
69
  if (data === "[DONE]") return;
51
70
  try {
52
71
  const parsed = JSON.parse(data);
@@ -64,6 +83,7 @@ async function* fetchStream(path, options) {
64
83
  const trimmed = buffer.trim();
65
84
  if (trimmed.startsWith("data: ")) {
66
85
  const data = trimmed.slice(6);
86
+ terminal(data);
67
87
  if (data !== "[DONE]") try {
68
88
  const parsed = JSON.parse(data);
69
89
  if (typeof parsed.response === "string") yield parsed.response;
@@ -1,11 +1,11 @@
1
1
  import { a as join, l as relative, n as dirname } from "./dist-BVqXeR_h.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
3
3
  import { m as readConfig, u as getDatabaseDialect } from "./config-Br_JZD6u.mjs";
4
- import { n as ensureProjectTsconfig } from "./project-tsconfig-B8GeM0RM.mjs";
5
4
  import { n as readJournal, t as collectMigrations } from "./collect-DiTn9yr6.mjs";
5
+ import { n as ensureProjectTsconfig } from "./project-tsconfig-B8GeM0RM.mjs";
6
6
  import { I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
7
7
  import { t as writeDrizzleConfig } from "./config-D8MOgiQV.mjs";
8
- import { r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-CIUwFpjB.mjs";
8
+ import { r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-ctOrgiS3.mjs";
9
9
  import { r as cliTitle } from "./output-Dm_A4Tbv.mjs";
10
10
  import { t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-BV4AzNul.mjs";
11
11
  import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "node:fs";
@@ -0,0 +1,2 @@
1
+ import { r as runGenCommand } from "./gen-B580--vC.mjs";
2
+ export { runGenCommand };
@@ -1,7 +1,7 @@
1
- import { c as getToken, d as openBrowser, n as createCodeChallenge, r as createCodeVerifier, t as awaitBrowserCallback } from "./auth-DLNN0D3Z.mjs";
1
+ import { c as getToken, d as openBrowser, n as createCodeChallenge, r as createCodeVerifier, t as awaitBrowserCallback } from "./auth-CSkdO2Bb.mjs";
2
2
  import { o as readProjectConfig } from "./project-C0Fqu05O.mjs";
3
3
  import { B as text, E as confirm, I as select, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
4
- import { n as PlatformClient, o as parsePlatformErrorBody, s as platformErrorMessage, t as PlatformApiError } from "./client-BTZ3XkrB.mjs";
4
+ import { n as PlatformClient, o as parsePlatformErrorBody, s as platformErrorMessage, t as PlatformApiError } from "./client-RV8NVeB8.mjs";
5
5
  import { c as import_picocolors } from "./output-Dm_A4Tbv.mjs";
6
6
  import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-BG5ORGID.mjs";
7
7
  import { t as collectGitDeployMetadata } from "./git-metadata-D-gurjzG.mjs";
@@ -1,4 +1,4 @@
1
- import { c as VoidPlatformSandbox } from "./sandbox-qpNBT8a3.mjs";
1
+ import { l as VoidPlatformSandbox } from "./sandbox-XZAqzFlG.mjs";
2
2
  import { t as StandardSchemaV1 } from "./standard-schema-Fo_vCAZh.mjs";
3
3
  import { n as HeadDescriptor } from "./head-Do8P4puT.mjs";
4
4
  import { r as AuthUser, t as AuthSession } from "./auth-DkcFflXV.mjs";
@@ -0,0 +1,2 @@
1
+ import { r as printHelpPage } from "./help-daGKjXGk.mjs";
2
+ export { printHelpPage };