void 0.10.4 → 0.10.6

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 (217) hide show
  1. package/dist/agents-Bmr5tFFb.mjs +1454 -0
  2. package/dist/{auth-cmd-CblKzAdD.mjs → auth-cmd-DlgNwByu.mjs} +10 -10
  3. package/dist/{better-auth-shared-D0Mbmx5V.mjs → better-auth-shared-BQooDxbw.mjs} +1 -1
  4. package/dist/{better-auth-shared-jkksALri.d.mts → better-auth-shared-BvnM9px6.d.mts} +2 -2
  5. package/dist/{build-cmd-CJQSRupz.mjs → build-cmd-Br8qL0rA.mjs} +15 -17
  6. package/dist/{cache-CMzjhxHh.mjs → cache-wH-mP8UE.mjs} +10 -12
  7. package/dist/{cancel-deploy-S2N8NSv6.mjs → cancel-deploy-BEBOEgtu.mjs} +16 -18
  8. package/dist/cli/cli.mjs +62 -51
  9. package/dist/{client-YIzxv2ZO.mjs → client-Cj96iiBH.mjs} +118 -8
  10. package/dist/{config-8dLIngKW.mjs → config-1twldYCW.mjs} +10 -10
  11. package/dist/{config--wXmVOoe.mjs → config-BdUctCZD.mjs} +6 -6
  12. package/dist/{create-project-pLQdzEPe.mjs → create-project-DD9n8Ho-.mjs} +28 -23
  13. package/dist/{db-hAmBumot.mjs → db-DjKE2-A-.mjs} +151 -150
  14. package/dist/{delete-CfSe3EJO.mjs → delete-D2kr3Kmk.mjs} +13 -15
  15. package/dist/{deploy-DpOdwtla.mjs → deploy-C4PbkFyE.mjs} +114 -119
  16. package/dist/{discover-C8N1I4tK.mjs → discover-BuVVSAum.mjs} +4 -4
  17. package/dist/{dist-5cGIJHQQ.mjs → dist-BuiRJkTd.mjs} +59 -27
  18. package/dist/{domain-CkowysQx.mjs → domain-_luIsM_B.mjs} +14 -16
  19. package/dist/{env-CIwG2y7G.mjs → env-CO5XAS9t.mjs} +23 -25
  20. package/dist/{env-helpers-B_ks681T.d.mts → env-helpers-z4stu8uc.d.mts} +1 -1
  21. package/dist/{env-types-CaJaIRXU.mjs → env-types-D51bnR-c.mjs} +4 -4
  22. package/dist/{env-validation-LH6eoyW-.mjs → env-validation-CeC2FL66.mjs} +4 -4
  23. package/dist/{fetch-error-C6qffTl2.mjs → fetch-error-Dj3crt0e.mjs} +3 -3
  24. package/dist/{gen-q6McxXgE.mjs → gen-Cf79J4aw.mjs} +42 -44
  25. package/dist/{github-cmd-BvEKQmcD.mjs → github-cmd-DnqxyOsb.mjs} +197 -91
  26. package/dist/{handler-B7rCOy21.d.mts → handler-imD0UVDT.d.mts} +4 -5
  27. package/dist/{headers-BNWymgnH.mjs → headers-BwvFGhkx.mjs} +3 -3
  28. package/dist/index.d.mts +3 -3
  29. package/dist/index.mjs +102 -83
  30. package/dist/{init-CZP69LJu.mjs → init-KirOzVDs.mjs} +132 -134
  31. package/dist/link-CUmiosyb.mjs +45 -0
  32. package/dist/{list-B7qXBBjo.mjs → list-3GEw7b6m.mjs} +10 -12
  33. package/dist/{login-B3l_sDwT.mjs → login-DJReaT_Q.mjs} +14 -15
  34. package/dist/{logs-AXm660MB.mjs → logs-D-rQ56Lq.mjs} +9 -11
  35. package/dist/{magic-string.es-C1Fb0uxq.mjs → magic-string.es-ZQjdJFFn.mjs} +3 -3
  36. package/dist/{mcp-D2plINxM.mjs → mcp-D7yc0dXY.mjs} +2 -3
  37. package/dist/{node-B07cZs0d.mjs → node-yFFk626c.mjs} +6 -6
  38. package/dist/{package-json-Bg_GJdJB.mjs → package-json-B0NuUWGd.mjs} +1 -1
  39. package/dist/pages/client.d.mts +1 -1
  40. package/dist/pages/client.mjs +2 -1
  41. package/dist/pages/head-client.d.mts +1 -1
  42. package/dist/pages/head.d.mts +1 -1
  43. package/dist/pages/index.d.mts +2 -2
  44. package/dist/pages/index.mjs +5 -5
  45. package/dist/pages/islands-plugin.d.mts +1 -1
  46. package/dist/pages/islands-plugin.mjs +3 -3
  47. package/dist/pages/protocol.d.mts +2 -2
  48. package/dist/pages/protocol.mjs +5 -2
  49. package/dist/{plugin-inference-C3fLzFvP.mjs → plugin-inference-CJxi_fWI.mjs} +4 -4
  50. package/dist/{prepare-DRRboRqH.mjs → prepare-C_cVurhP.mjs} +15 -18
  51. package/dist/{preset-B7ZQZn0u.mjs → preset-CVvwCeIy.mjs} +4 -4
  52. package/dist/{project-cmd-InegJruy.mjs → project-cmd-DnU7u9QF.mjs} +13 -14
  53. package/dist/{project-paths-CCMrHYQm.mjs → project-paths-tpdR1mJR.mjs} +2 -2
  54. package/dist/{project-tsconfig-BTNuNoJ0.mjs → project-tsconfig-D9uSVVpA.mjs} +4 -4
  55. package/dist/{protocol-6UZCowS1.d.mts → protocol-6hTJ04T1.d.mts} +3 -3
  56. package/dist/{resolve-project-D4O1_fZz.mjs → resolve-project-D2HI3TrG.mjs} +2 -2
  57. package/dist/{rollback-CHVE-DeT.mjs → rollback-Yh7bCKob.mjs} +21 -23
  58. package/dist/{route-types-D03ryMXz.mjs → route-types-CfKfhbIg.mjs} +234 -3
  59. package/dist/{runner-BQyKUqAL.mjs → runner-h272wcPj.mjs} +4 -5
  60. package/dist/{runner-pg-EuhrFW3D.mjs → runner-pg-waxJOnBb.mjs} +1 -1
  61. package/dist/runtime/ai.mjs +2 -2
  62. package/dist/runtime/auth.d.mts +1 -1
  63. package/dist/runtime/better-auth-pg.d.mts +1 -1
  64. package/dist/runtime/better-auth-pg.mjs +3 -3
  65. package/dist/runtime/better-auth.d.mts +1 -1
  66. package/dist/runtime/better-auth.mjs +2 -2
  67. package/dist/runtime/client-react.d.mts +2 -2
  68. package/dist/runtime/client-react.mjs +1 -1
  69. package/dist/runtime/client-solid.d.mts +2 -2
  70. package/dist/runtime/client-solid.mjs +1 -1
  71. package/dist/runtime/client-svelte.d.mts +2 -2
  72. package/dist/runtime/client-svelte.mjs +1 -1
  73. package/dist/runtime/client-vue.d.mts +2 -2
  74. package/dist/runtime/client-vue.mjs +1 -1
  75. package/dist/runtime/client.d.mts +2 -2
  76. package/dist/runtime/client.mjs +1 -1
  77. package/dist/runtime/db-pg.d.mts +1 -1
  78. package/dist/runtime/env-helpers.d.mts +1 -1
  79. package/dist/runtime/env-public-client.d.mts +1 -1
  80. package/dist/runtime/env-public-client.mjs +2 -0
  81. package/dist/runtime/env-public.d.mts +3 -4
  82. package/dist/runtime/env-public.mjs +3 -1
  83. package/dist/runtime/env.mjs +1 -1
  84. package/dist/runtime/fetch-stream.d.mts +1 -1
  85. package/dist/runtime/fetch-stream.mjs +1 -1
  86. package/dist/runtime/fetch.d.mts +1 -1
  87. package/dist/runtime/fetch.mjs +1 -1
  88. package/dist/runtime/handler.d.mts +2 -2
  89. package/dist/runtime/handler.mjs +1 -1
  90. package/dist/runtime/isr.mjs +1 -1
  91. package/dist/runtime/live-server.mjs +2 -0
  92. package/dist/runtime/live.d.mts +2 -2
  93. package/dist/runtime/live.mjs +3 -1
  94. package/dist/runtime/migration-handler-pg.mjs +1 -1
  95. package/dist/runtime/migration-handler.mjs +1 -1
  96. package/dist/runtime/remote/index.mjs +11 -1
  97. package/dist/runtime/sandbox.d.mts +1 -4
  98. package/dist/runtime/sandbox.mjs +1 -1
  99. package/dist/runtime/validator.d.mts +1 -1
  100. package/dist/runtime/ws-server.d.mts +2 -2
  101. package/dist/runtime/ws-server.mjs +2 -0
  102. package/dist/runtime/ws.d.mts +3 -3
  103. package/dist/runtime/ws.mjs +2 -0
  104. package/dist/{scan-VCAM1oh3.mjs → scan-Dp_Gyzs3.mjs} +3 -3
  105. package/dist/{scan-DGEp1-1Q.mjs → scan-i7Yz54fv.mjs} +26 -8
  106. package/dist/{secret-CVKwIOm3.mjs → secret-u7FRvg8d.mjs} +22 -24
  107. package/dist/{skills-Dl3u05da.mjs → skills-DsdNDtX3.mjs} +6 -7
  108. package/dist/{subcommand-prompt-B8ng0FTS.mjs → subcommand-prompt-DtES-oP6.mjs} +34 -35
  109. package/dist/sveltekit.mjs +2 -2
  110. package/dist/validate-DT7nFMlf.mjs +504 -0
  111. package/dist/{yarn-pnp-WLW2IHUY.mjs → yarn-pnp-CW8LB6g_.mjs} +1 -1
  112. package/package.json +19 -19
  113. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/CHANGELOG.md +94 -0
  114. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/README.md +32 -11
  115. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/sandbox/README.md +45 -0
  116. package/skills/void/docs/node_modules/void/node_modules/@electric-sql/pglite/README.md +5 -5
  117. package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +1 -1
  118. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +1 -1
  119. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-exit/README.md +4 -1
  120. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-attrs/README.md +29 -12
  121. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tinyglobby/README.md +1 -1
  122. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +1 -0
  123. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +18 -6
  124. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +1 -1
  125. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/check.md +35 -0
  126. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/create.md +70 -0
  127. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +3 -1
  128. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +11 -7
  129. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +3 -1
  130. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +1 -1
  131. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +141 -26
  132. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +1 -1
  133. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +1 -1
  134. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
  135. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +16 -28
  136. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +16 -0
  137. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +15 -17
  138. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
  139. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +255 -2
  140. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/docker.md +175 -0
  141. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +70 -5
  142. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
  143. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
  144. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +9 -3
  145. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +63 -11
  146. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
  147. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +27 -3
  148. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
  149. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +8 -0
  150. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +36 -4
  151. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
  152. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
  153. package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +403 -390
  154. package/skills/void/docs/node_modules/void/node_modules/pg/README.md +2 -1
  155. package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +1 -1
  156. package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +1 -0
  157. package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +18 -6
  158. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +1 -1
  159. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/check.md +35 -0
  160. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/create.md +70 -0
  161. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +3 -1
  162. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +11 -7
  163. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +3 -1
  164. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +1 -1
  165. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +141 -26
  166. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +1 -1
  167. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +1 -1
  168. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
  169. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +16 -28
  170. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +16 -0
  171. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +15 -17
  172. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
  173. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +255 -2
  174. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/docker.md +175 -0
  175. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +70 -5
  176. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
  177. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
  178. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +9 -3
  179. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +63 -11
  180. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
  181. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +27 -3
  182. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
  183. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +8 -0
  184. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +36 -4
  185. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
  186. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
  187. package/skills/void/docs/reference/cli.md +19 -1
  188. package/dist/agents-MhSzNMiC.mjs +0 -151
  189. package/dist/collect-9rO3JFNM.mjs +0 -55
  190. package/dist/config-hhMYPVRT.mjs +0 -21
  191. package/dist/dist-abzUneor.mjs +0 -1287
  192. package/dist/drizzle-DqstQTGq.mjs +0 -232
  193. package/dist/link-BKLElphS.mjs +0 -47
  194. package/dist/output-DeiS4oEX.mjs +0 -139
  195. package/dist/plan-aD3wRDqF.mjs +0 -271
  196. package/dist/project-CH9pdo16.mjs +0 -72
  197. package/dist/project-slug-rX3kTOfY.mjs +0 -10
  198. package/dist/validate-CNWm-PsL.mjs +0 -186
  199. /package/dist/{auth-migrations-BP-hMzYl.mjs → auth-migrations-BTZ-ATvQ.mjs} +0 -0
  200. /package/dist/{auth-Dz2CCn4T.d.mts → auth-qgMlYp7Z.d.mts} +0 -0
  201. /package/dist/{canonical-json-CEyQaVDa.mjs → canonical-json-DuDiiUsQ.mjs} +0 -0
  202. /package/dist/{cf-access-DKDsgwOU.mjs → cf-access-Bqw81xAf.mjs} +0 -0
  203. /package/dist/{defer-C-bdSM_b.mjs → defer-YsYDUoii.mjs} +0 -0
  204. /package/dist/{dotenv-lS94ymhM.mjs → dotenv-D_UbC_vc.mjs} +0 -0
  205. /package/dist/{env-raw-Dtj1UAoK.mjs → env-raw-CoS20LHP.mjs} +0 -0
  206. /package/dist/{fetch-error-B6RaJ-eZ.d.mts → fetch-error-Sp1R4mZv.d.mts} +0 -0
  207. /package/dist/{git-metadata-Ce0AtSZL.mjs → git-metadata-CBKaL0v5.mjs} +0 -0
  208. /package/dist/{head-eOUCWUNy.d.mts → head-nmvOgFjd.d.mts} +0 -0
  209. /package/dist/{log-BdD_Fpms.mjs → log-ChfPKsVd.mjs} +0 -0
  210. /package/dist/{pathe.M-eThtNZ-BrPhGF_K.mjs → pathe.M-eThtNZ-CQzLbt4c.mjs} +0 -0
  211. /package/dist/{pg-CempqvEJ.mjs → pg-J2HbZIkX.mjs} +0 -0
  212. /package/dist/{providers-BJIoduK9.d.mts → providers-BNKRacMr.d.mts} +0 -0
  213. /package/dist/{providers-BwPbdHdi.mjs → providers-CJlNS3kT.mjs} +0 -0
  214. /package/dist/{proxy-M3pxItg2.mjs → proxy-D-3_D-Gl.mjs} +0 -0
  215. /package/dist/{chunk-DJd-R1mw.mjs → rolldown-runtime-DJK8HYOj.mjs} +0 -0
  216. /package/dist/{standard-schema-Cy0lfeWv.d.mts → standard-schema-DJ0HW7QP.d.mts} +0 -0
  217. /package/dist/{types-BodZGegX.d.mts → types-lLjNE9Qp.d.mts} +0 -0
@@ -1,31 +1,27 @@
1
- import { n as __exportAll } from "./chunk-DJd-R1mw.mjs";
2
- import { a as join, c as resolve, i as isAbsolute, n as dirname, r as extname, s as relative } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
3
- import { n as cliTitle, r as createSpinner, s as import_picocolors } from "./output-DeiS4oEX.mjs";
4
- import { i as resolveProjectPaths, n as readProjectPaths } from "./project-paths-CCMrHYQm.mjs";
5
- import { t as findVoidAuthConfig } from "./config-hhMYPVRT.mjs";
6
- import { t as cfAccessHeaders } from "./cf-access-DKDsgwOU.mjs";
7
- import { a as isExpiredTokenError, f as getToken, i as isCliOutdatedError, m as isStagingMode, n as PlatformClient, o as parsePlatformErrorBody, p as getTokenSource, t as PlatformApiError, u as getApiUrl, y as ensureCloudflaredToken } from "./client-YIzxv2ZO.mjs";
8
- import { c as R, g as ge, u as Se, v as ue, x as q, y as ye } from "./dist-abzUneor.mjs";
9
- import { a as writeProjectConfig, r as readProjectConfig } from "./project-CH9pdo16.mjs";
10
- import { c as getDatabaseDialect, f as readConfig, l as isNodeTarget, p as resolveBindingNames } from "./config-8dLIngKW.mjs";
11
- import { a as scanQueuesSync, i as scanWebSocketRoutesSync, o as scanJobsSync, r as scanRoutes } from "./scan-DGEp1-1Q.mjs";
12
- import { i as inferProjectBindings, l as validateSsrEntry, n as FRAMEWORK_SCAN_DIRS, r as detectFramework } from "./plugin-inference-C3fLzFvP.mjs";
13
- import { i as voidWarn, r as voidLog } from "./log-BdD_Fpms.mjs";
14
- import { t as discoverSchema } from "./discover-C8N1I4tK.mjs";
15
- import { t as findEnvFile } from "./env-types-CaJaIRXU.mjs";
16
- import { i as validateProdEnv, n as formatEnvReport, r as getDeployEnvDefaults, t as fetchRemoteSecretNames } from "./env-validation-LH6eoyW-.mjs";
17
- import { n as writeDrizzleConfig } from "./config--wXmVOoe.mjs";
18
- import { t as collectMigrations } from "./collect-9rO3JFNM.mjs";
19
- import { n as buildMigrationPlanBundle } from "./plan-aD3wRDqF.mjs";
20
- import { r as validateMigrations, t as assertJournalCoherence } from "./validate-CNWm-PsL.mjs";
21
- import { t as scanPages } from "./scan-VCAM1oh3.mjs";
22
- import { n as STAGING_PROXY_URL, t as DEFAULT_PROXY_URL } from "./proxy-M3pxItg2.mjs";
23
- import { i as promptProjectSetupAction, n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-pLQdzEPe.mjs";
24
- import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-D4O1_fZz.mjs";
25
- import { t as collectGitDeployMetadata } from "./git-metadata-Ce0AtSZL.mjs";
26
- import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestinationSplats } from "./headers-BNWymgnH.mjs";
27
- import { t as promptForLoginToken } from "./login-B3l_sDwT.mjs";
28
- import { i as resolveProjectCommand, n as detectPreset, r as formatProjectCommand, t as FRAMEWORK_PRESETS } from "./preset-B7ZQZn0u.mjs";
1
+ import { n as __exportAll } from "./rolldown-runtime-DJK8HYOj.mjs";
2
+ import { a as join, c as resolve, i as isAbsolute, n as dirname, r as extname, s as relative } from "./pathe.M-eThtNZ-CQzLbt4c.mjs";
3
+ import { D as outro, E as note, S as confirm, T as log, a as cliTitle, j as isCancel, o as createSpinner, u as import_picocolors, w as intro } from "./agents-Bmr5tFFb.mjs";
4
+ import { i as resolveProjectPaths, n as readProjectPaths } from "./project-paths-tpdR1mJR.mjs";
5
+ import { a as scanQueuesSync, i as scanWebSocketRoutesSync, o as scanJobsSync, r as scanRoutes, s as findVoidAuthConfig } from "./scan-i7Yz54fv.mjs";
6
+ import { t as cfAccessHeaders } from "./cf-access-Bqw81xAf.mjs";
7
+ import { C as ensureCloudflaredToken, S as writeProjectConfig, a as isExpiredTokenError, b as readProjectConfig, f as getToken, i as isCliOutdatedError, m as isStagingMode, n as PlatformClient, o as parsePlatformErrorBody, p as getTokenSource, t as PlatformApiError, u as getApiUrl } from "./client-Cj96iiBH.mjs";
8
+ import { c as getDatabaseDialect, f as readConfig, l as isNodeTarget, p as resolveBindingNames } from "./config-1twldYCW.mjs";
9
+ import { i as inferProjectBindings, l as validateSsrEntry, n as FRAMEWORK_SCAN_DIRS, r as detectFramework } from "./plugin-inference-CJxi_fWI.mjs";
10
+ import { i as voidWarn, r as voidLog } from "./log-ChfPKsVd.mjs";
11
+ import { n as mergeAndExpand, r as parseDotenvFile } from "./dotenv-D_UbC_vc.mjs";
12
+ import { t as discoverSchema } from "./discover-BuVVSAum.mjs";
13
+ import { t as findEnvFile } from "./env-types-D51bnR-c.mjs";
14
+ import { i as validateProdEnv, n as formatEnvReport, r as getDeployEnvDefaults, t as fetchRemoteSecretNames } from "./env-validation-CeC2FL66.mjs";
15
+ import { n as writeDrizzleConfig } from "./config-BdUctCZD.mjs";
16
+ import { a as buildMigrationPlanBundle, c as collectMigrations, r as validateMigrations, t as assertJournalCoherence } from "./validate-DT7nFMlf.mjs";
17
+ import { t as scanPages } from "./scan-Dp_Gyzs3.mjs";
18
+ import { n as STAGING_PROXY_URL, t as DEFAULT_PROXY_URL } from "./proxy-D-3_D-Gl.mjs";
19
+ import { i as promptProjectSetupAction, n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-DD9n8Ho-.mjs";
20
+ import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-D2HI3TrG.mjs";
21
+ import { t as collectGitDeployMetadata } from "./git-metadata-CBKaL0v5.mjs";
22
+ import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestinationSplats } from "./headers-BwvFGhkx.mjs";
23
+ import { t as promptForLoginToken } from "./login-DJReaT_Q.mjs";
24
+ import { i as resolveProjectCommand, n as detectPreset, r as formatProjectCommand, t as FRAMEWORK_PRESETS } from "./preset-CVvwCeIy.mjs";
29
25
  import { createRequire } from "node:module";
30
26
  import { copyFileSync, cpSync, createWriteStream, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
31
27
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -56,6 +52,7 @@ function workerOwnsHtmlRouting(inputs) {
56
52
  function resolveAssetConfig(inputs) {
57
53
  return resolveAssetRoutingPolicy(inputs).assetConfig;
58
54
  }
55
+ const VOID_INTERNAL_WORKER_FIRST = ["/__void", "/__void/*"];
59
56
  function resolveAssetRoutingPolicy(inputs) {
60
57
  const workerFirst = workerOwnsHtmlRouting(inputs);
61
58
  const apiWorkerFirst = !workerFirst && (inputs.hasApiRoutes === true || inputs.authEnabled === true);
@@ -65,8 +62,15 @@ function resolveAssetRoutingPolicy(inputs) {
65
62
  run_worker_first: ["/**"]
66
63
  } : apiWorkerFirst ? {
67
64
  not_found_handling: "single-page-application",
68
- run_worker_first: ["/api", "/api/*"]
69
- } : { not_found_handling: "single-page-application" },
65
+ run_worker_first: [
66
+ "/api",
67
+ "/api/*",
68
+ ...VOID_INTERNAL_WORKER_FIRST
69
+ ]
70
+ } : {
71
+ not_found_handling: "single-page-application",
72
+ run_worker_first: [...VOID_INTERNAL_WORKER_FIRST]
73
+ },
70
74
  apiWorkerFirst,
71
75
  workerFirst,
72
76
  workerSpaFallback: workerFirst && !inputs.isSsr && !inputs.hasPages
@@ -148,8 +152,8 @@ function resolveLiveBindingConfig(root, options) {
148
152
  bindingName: generated.name,
149
153
  className: generated.class_name
150
154
  };
151
- const usedBindings = new Set([...durableObjectBindings.map((binding) => binding.name), ...(options?.reservedBindings ?? []).filter((name) => typeof name === "string")]);
152
- const usedClasses = new Set([...durableObjectBindings.map((binding) => binding.class_name), ...(options?.reservedClasses ?? []).filter((name) => typeof name === "string")]);
155
+ const usedBindings = /* @__PURE__ */ new Set([...durableObjectBindings.map((binding) => binding.name), ...(options?.reservedBindings ?? []).filter((name) => typeof name === "string")]);
156
+ const usedClasses = /* @__PURE__ */ new Set([...durableObjectBindings.map((binding) => binding.class_name), ...(options?.reservedClasses ?? []).filter((name) => typeof name === "string")]);
153
157
  return {
154
158
  bindingName: resolveGeneratedName(DEFAULT_LIVE_BINDING, usedBindings, "binding"),
155
159
  className: resolveGeneratedName(DEFAULT_LIVE_CLASS, usedClasses, "class")
@@ -533,7 +537,7 @@ function resolveRemoteMode(configRemote) {
533
537
  if (override === "0") return false;
534
538
  return configRemote === true;
535
539
  }
536
- const INTERNAL_ENV_KEY_SET = new Set([
540
+ const INTERNAL_ENV_KEY_SET = /* @__PURE__ */ new Set([
537
541
  "__VOID_TOKEN",
538
542
  "__VOID_PROJECT_ID",
539
543
  "__VOID_REMOTE",
@@ -676,7 +680,7 @@ function collectPrerenderWorkerModules(workerDir, workerMain) {
676
680
  function buildPrerenderBindings(input) {
677
681
  const { sanitized: wranglerVars, stripped: wranglerStripped } = stripInternalEnvKeys(input.wranglerVars);
678
682
  const { sanitized: env, stripped: envStripped } = stripInternalEnvKeys(input.env);
679
- const allStripped = [...new Set([...wranglerStripped, ...envStripped])];
683
+ const allStripped = [.../* @__PURE__ */ new Set([...wranglerStripped, ...envStripped])];
680
684
  if (allStripped.length > 0) voidWarn(`Ignoring internal env keys in prerender inputs: ${allStripped.join(", ")}. These are reserved for Void runtime use.`);
681
685
  const voidBindings = {};
682
686
  if (input.voidToken && input.voidProjectId) {
@@ -727,7 +731,8 @@ async function createCloudflarePrerenderRunner(options) {
727
731
  bindings
728
732
  };
729
733
  if (clientDir) mfOptions.serviceBindings = { [wranglerConfig.assets?.binding ?? "ASSETS"](request) {
730
- const filePath = join(clientDir, new URL(request.url).pathname);
734
+ const url = new URL(request.url);
735
+ const filePath = join(clientDir, url.pathname);
731
736
  try {
732
737
  const content = readFileSync(filePath);
733
738
  return new Response(content);
@@ -1565,6 +1570,11 @@ const ASSET_MIME_TYPES = {
1565
1570
  svg: "image/svg+xml; charset=utf-8",
1566
1571
  txt: "text/plain; charset=utf-8",
1567
1572
  csv: "text/csv; charset=utf-8",
1573
+ md: "text/markdown; charset=utf-8",
1574
+ markdown: "text/markdown; charset=utf-8",
1575
+ yaml: "text/yaml; charset=utf-8",
1576
+ yml: "text/yaml; charset=utf-8",
1577
+ toml: "application/toml",
1568
1578
  png: "image/png",
1569
1579
  jpg: "image/jpeg",
1570
1580
  jpeg: "image/jpeg",
@@ -1594,7 +1604,8 @@ const ASSET_MIME_TYPES = {
1594
1604
  * `application/octet-stream` for unknown extensions.
1595
1605
  */
1596
1606
  function getAssetContentType(path) {
1597
- return ASSET_MIME_TYPES[path.split(".").pop()?.toLowerCase() ?? ""] ?? "application/octet-stream";
1607
+ const ext = path.split(".").pop()?.toLowerCase() ?? "";
1608
+ return ASSET_MIME_TYPES[ext] ?? "application/octet-stream";
1598
1609
  }
1599
1610
  /**
1600
1611
  * Compute MD5 of raw content as a 32-char lowercase hex string.
@@ -2020,8 +2031,8 @@ async function generateWrapper(workerDir, workerMain, root, features) {
2020
2031
  let migrations;
2021
2032
  let migrationPlanBundle;
2022
2033
  if (features.hasMigrations) {
2023
- const { collectMigrations } = await import("./collect-9rO3JFNM.mjs").then((n) => n.n);
2024
- const { buildMigrationPlanBundle } = await import("./plan-aD3wRDqF.mjs").then((n) => n.i);
2034
+ const { collectMigrations } = await import("./validate-DT7nFMlf.mjs").then((n) => n.l);
2035
+ const { buildMigrationPlanBundle } = await import("./validate-DT7nFMlf.mjs").then((n) => n.s);
2025
2036
  const migrationsDir = readProjectPaths(root).migrationsDir;
2026
2037
  migrations = collectMigrations(migrationsDir);
2027
2038
  migrationPlanBundle = features.migrationDialect === "sqlite" ? buildMigrationPlanBundle(migrations) : void 0;
@@ -2099,7 +2110,7 @@ function patchPgWorkerBundle(outDir) {
2099
2110
  const path = join(outDir, file);
2100
2111
  let code = readFileSync(path, "utf-8");
2101
2112
  if (!code.includes("__require(\"pgpass\")") && !code.includes("createRequire(import.meta.url)")) continue;
2102
- code = code.replaceAll("__require(\"pgpass\")", "__voidPgpassNoop").replace("import { createRequire } from \"node:module\";", "").replace("var __require = /* @__PURE__ */ createRequire(import.meta.url);", pgWorkerRequireShim());
2113
+ code = code.replaceAll("__require(\"pgpass\")", "__voidPgpassNoop").replace("import { createRequire } from \"node:module\";", "").replace("var __require = /* @__PURE__ */ createRequire(import.meta.url);", pgWorkerRequireShim()).replace("var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();", pgWorkerRequireShim());
2103
2114
  code = `const __voidPgpassNoop = Object.assign(function pgpass(_connectionInfo, callback) { callback(undefined); }, { warnTo() {} });\n` + code;
2104
2115
  writeFileSync(path, code);
2105
2116
  }
@@ -2341,6 +2352,7 @@ var deploy_exports = /* @__PURE__ */ __exportAll({
2341
2352
  ensurePreviouslyDeployedLiveBindingConfig: () => ensurePreviouslyDeployedLiveBindingConfig,
2342
2353
  generateDeployWrapperIfNeeded: () => generateDeployWrapperIfNeeded,
2343
2354
  hasDeploySchemaDrift: () => hasDeploySchemaDrift,
2355
+ loadDeployEnv: () => loadDeployEnv,
2344
2356
  promptDeployProjectConfig: () => promptDeployProjectConfig,
2345
2357
  resolveDeployLiveBindingConfig: () => resolveDeployLiveBindingConfig,
2346
2358
  resolveDeployWorkerMain: () => resolveDeployWorkerMain,
@@ -2449,7 +2461,7 @@ function assertWorkerMainUploaded(workerFiles, workerMain) {
2449
2461
  */
2450
2462
  async function runDeploy(root, options) {
2451
2463
  console.log();
2452
- ge(cliTitle("deploy"));
2464
+ intro(cliTitle("deploy"));
2453
2465
  const cliLog = openDeployLog({ mirrorToStderr: options?.debug === true || process.env.VOID_DEPLOY_DEBUG === "1" });
2454
2466
  cliLog.info("deploy_start", {
2455
2467
  cwd: root,
@@ -2513,7 +2525,7 @@ async function runDeployInner(root, options, cliLog) {
2513
2525
  }
2514
2526
  token ??= getToken(root);
2515
2527
  if (!token) {
2516
- R.error("No auth token found. Run `void auth login` first.");
2528
+ log.error("No auth token found. Run `void auth login` first.");
2517
2529
  process.exit(1);
2518
2530
  }
2519
2531
  const client = new PlatformClient(token, {
@@ -2526,16 +2538,16 @@ async function runDeployInner(root, options, cliLog) {
2526
2538
  config = resolveProjectBySlug(await client.listProjects(), requestedProjectSlug);
2527
2539
  if (!config) if (!process.stdin.isTTY) config = await createProjectFromSlug(root, client, requestedProjectSlug, cliLog);
2528
2540
  else {
2529
- const shouldCreate = await ue({ message: `Project "${requestedProjectSlug}" does not exist. Create it?` });
2530
- if (q(shouldCreate) || !shouldCreate) {
2531
- R.info("Deploy cancelled.");
2541
+ const shouldCreate = await confirm({ message: `Project "${requestedProjectSlug}" does not exist. Create it?` });
2542
+ if (isCancel(shouldCreate) || !shouldCreate) {
2543
+ log.info("Deploy cancelled.");
2532
2544
  process.exit(0);
2533
2545
  }
2534
2546
  config = await createProjectFromSlug(root, client, requestedProjectSlug, cliLog);
2535
2547
  }
2536
2548
  } else config = readProjectConfig(root);
2537
2549
  if (!config && !process.stdin.isTTY) {
2538
- R.error("No project specified. Set `VOID_PROJECT`, pass `--project <slug>`, or commit `.void/project.json`.");
2550
+ log.error("No project specified. Set `VOID_PROJECT`, pass `--project <slug>`, or commit `.void/project.json`.");
2539
2551
  process.exit(1);
2540
2552
  }
2541
2553
  if (!config) config = await promptDeployProjectConfig(root, client, cliLog);
@@ -2563,7 +2575,7 @@ async function runDeployInner(root, options, cliLog) {
2563
2575
  const fwPreset = FRAMEWORK_PRESETS[detected.name];
2564
2576
  if (detected.class === "b" || detected.class === "c") {
2565
2577
  if (!fwPreset) {
2566
- R.error(`No deploy preset found for framework "${detected.name}".`);
2578
+ log.error(`No deploy preset found for framework "${detected.name}".`);
2567
2579
  process.exit(1);
2568
2580
  }
2569
2581
  await runFrameworkDeploy(root, config, client, detected, fwPreset, voidConfig, options?.skipBuild, gitMetadata, cliLog);
@@ -2584,9 +2596,9 @@ async function runDeployInner(root, options, cliLog) {
2584
2596
  if (isExpiredTokenError(error)) {
2585
2597
  if (getTokenSource() === "ci") throw new Error("`VOID_TOKEN` is invalid or expired. Generate a new token and try again.");
2586
2598
  if (!process.stdin.isTTY || reauthenticated) throw new Error("Auth token expired. Run `void auth login` and try again.");
2587
- R.warn("Auth token expired. Re-authenticating...");
2599
+ log.warn("Auth token expired. Re-authenticating...");
2588
2600
  await promptForLoginToken(root);
2589
- R.success("Re-authenticated. Retrying deploy...");
2601
+ log.success("Re-authenticated. Retrying deploy...");
2590
2602
  reauthenticated = true;
2591
2603
  continue;
2592
2604
  }
@@ -2606,7 +2618,7 @@ async function promptDeployProjectConfig(root, client, cliLog) {
2606
2618
  slug: result.project.slug
2607
2619
  };
2608
2620
  writeProjectConfig(root, config);
2609
- R.step(`Linked to ${import_picocolors.default.blue(config.slug)}`);
2621
+ log.step(`Linked to ${import_picocolors.default.blue(config.slug)}`);
2610
2622
  cliLog?.info("project_linked", {
2611
2623
  projectId: config.projectId,
2612
2624
  slug: config.slug
@@ -2677,7 +2689,7 @@ function applyDeployEvent(event, s) {
2677
2689
  s.message(`Configuring queue consumers: ${event.queues.join(", ")}`);
2678
2690
  return { kind: "continue" };
2679
2691
  case "queue_consumer_conflict":
2680
- R.warn(`Queue consumer conflict on "${event.queue}": owned by "${event.ownerScript}". Messages for this queue will not be delivered to this deployment until the owning script is removed.`);
2692
+ log.warn(`Queue consumer conflict on "${event.queue}": owned by "${event.ownerScript}". Messages for this queue will not be delivered to this deployment until the owning script is removed.`);
2681
2693
  return { kind: "continue" };
2682
2694
  case "prerender":
2683
2695
  s.message(`Prerendering ${event.pages} pages...`);
@@ -2711,8 +2723,8 @@ async function streamDeployEvents(projectId, events, s, cliLog) {
2711
2723
  const onSigint = () => {
2712
2724
  interrupted = true;
2713
2725
  s.stop("Deploy interrupted");
2714
- if (deploymentId) R.info(`Deployment: ${deploymentId}`);
2715
- else R.info("Deployment id was not received before the interrupt.");
2726
+ if (deploymentId) log.info(`Deployment: ${deploymentId}`);
2727
+ else log.info("Deployment id was not received before the interrupt.");
2716
2728
  cliLog?.warn("stream_interrupted", { deploymentId });
2717
2729
  cliLog?.close().catch(() => {});
2718
2730
  process.exit(130);
@@ -2861,13 +2873,13 @@ function formatKnownAssetSummary(result, skipped) {
2861
2873
  }
2862
2874
  async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetadata, hashedAssetsPrefix, headerRules, redirectRules, fallbackRules, routing, cliLog) {
2863
2875
  const typeLabel = preset.appType === "spa" ? "Static SPA" : "Static Site";
2864
- R.info(`${typeLabel} deploy`);
2876
+ log.info(`${typeLabel} deploy`);
2865
2877
  cliLog?.info("deploy_mode", {
2866
2878
  mode: "static",
2867
2879
  appType: preset.appType
2868
2880
  });
2869
2881
  if (preset.buildCommand && !skipBuild) {
2870
- R.step("Building...");
2882
+ log.step("Building...");
2871
2883
  cliLog?.info("build_start", { command: preset.buildCommand });
2872
2884
  const buildStartedAt = Date.now();
2873
2885
  execSync(preset.buildCommand, {
@@ -2878,7 +2890,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
2878
2890
  cliLog?.info("build_end", { durationMs: Date.now() - buildStartedAt });
2879
2891
  } else if (skipBuild) cliLog?.info("build_skipped", { reason: "skipBuild" });
2880
2892
  if (!existsSync(preset.outputDir)) {
2881
- R.error(`deploy: Output directory '${preset.outputDir}' not found. Run the build first.`);
2893
+ log.error(`deploy: Output directory '${preset.outputDir}' not found. Run the build first.`);
2882
2894
  process.exit(1);
2883
2895
  }
2884
2896
  if (routing) {
@@ -2907,7 +2919,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
2907
2919
  needed: needed.length,
2908
2920
  skipped
2909
2921
  });
2910
- if (skipped > 0) R.info(`Skipping ${skipped} unchanged asset(s)`);
2922
+ if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
2911
2923
  s.start("Packaging...");
2912
2924
  cliLog?.info("package_start", { mode: "static" });
2913
2925
  const packageStartedAt = Date.now();
@@ -2924,9 +2936,9 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
2924
2936
  durationMs: Date.now() - packageStartedAt
2925
2937
  });
2926
2938
  const result = await streamDirectR2Deploy(client, config.projectId, manifest, assetManifest, assetFiles, needed, gitMetadata, neededSet !== null, void 0, s, cliLog);
2927
- Se([`${typeLabel} — ${formatKnownAssetSummary(result, skipped)}`].join("\n"), result.url);
2939
+ note([`${typeLabel} — ${formatKnownAssetSummary(result, skipped)}`].join("\n"), result.url);
2928
2940
  warnUnpublishedRouting(result);
2929
- ye("Done!");
2941
+ outro("Done!");
2930
2942
  }
2931
2943
  /**
2932
2944
  * Surface a persistent warning when a deploy committed live but its routing
@@ -2937,7 +2949,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
2937
2949
  */
2938
2950
  function warnUnpublishedRouting(result) {
2939
2951
  if (result.published !== false) return;
2940
- R.warn("Routing was not published for this deploy. The project may be unreachable (first deploy) or still serving the previous deploy. Re-run `void deploy` to publish routing.");
2952
+ log.warn("Routing was not published for this deploy. The project may be unreachable (first deploy) or still serving the previous deploy. Re-run `void deploy` to publish routing.");
2941
2953
  }
2942
2954
  /**
2943
2955
  * Emit a single aggregated lint warning when a `_redirects` file contains
@@ -2948,13 +2960,13 @@ function warnUnpublishedRouting(result) {
2948
2960
  */
2949
2961
  function warnRedundantForceOn3xx(count) {
2950
2962
  if (count === 0) return;
2951
- R.warn(`Found ${count} redundant "!" on 3xx entries in _redirects (these always force by nature; safe to remove).`);
2963
+ log.warn(`Found ${count} redundant "!" on 3xx entries in _redirects (these always force by nature; safe to remove).`);
2952
2964
  }
2953
2965
  /**
2954
2966
  * Class B/C framework deploy: build with framework CLI, package with preset output paths.
2955
2967
  */
2956
2968
  async function runFrameworkDeploy(root, config, client, detected, fwPreset, voidConfig, skipBuild, gitMetadata, cliLog) {
2957
- R.info(`${detected.name} framework deploy`);
2969
+ log.info(`${detected.name} framework deploy`);
2958
2970
  cliLog?.info("deploy_mode", {
2959
2971
  mode: "framework",
2960
2972
  framework: detected.name
@@ -2962,7 +2974,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
2962
2974
  const dialect = getDatabaseDialect(voidConfig);
2963
2975
  const buildCmd = voidConfig.inference?.build ?? formatProjectCommand(root, fwPreset.buildCommand);
2964
2976
  if (!skipBuild) {
2965
- R.step(`Building (${buildCmd})...`);
2977
+ log.step(`Building (${buildCmd})...`);
2966
2978
  cliLog?.info("build_start", { command: buildCmd });
2967
2979
  const buildStartedAt = Date.now();
2968
2980
  execSync(voidConfig.inference?.build ?? resolveProjectCommand(root, fwPreset.buildCommand), {
@@ -2985,7 +2997,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
2985
2997
  lintDestinationSplats(redirectRules, "redirects/rewrites (pre-asset)");
2986
2998
  lintDestinationSplats(fallbackRules, "fallbacks (post-asset)");
2987
2999
  if (!existsSync(workerDir)) {
2988
- R.error(`deploy: Worker output '${fwPreset.workerDir}' not found. Run '${buildCmd}' first.`);
3000
+ log.error(`deploy: Worker output '${fwPreset.workerDir}' not found. Run '${buildCmd}' first.`);
2989
3001
  process.exit(1);
2990
3002
  }
2991
3003
  const inferenceOptions = voidConfig.inference?.bindings ? { bindings: voidConfig.inference.bindings } : void 0;
@@ -2996,11 +3008,11 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
2996
3008
  paths
2997
3009
  }, scanDirs);
2998
3010
  if (bindings.needsAuth || findVoidAuthConfig(root, paths) !== null || voidConfig.auth !== void 0) {
2999
- R.error("deploy: Void-managed Better Auth is only supported in Void apps. Use Better Auth's official integration for this framework instead.");
3011
+ log.error("deploy: Void-managed Better Auth is only supported in Void apps. Use Better Auth's official integration for this framework instead.");
3000
3012
  process.exit(1);
3001
3013
  }
3002
3014
  if (bindings.needsLive) {
3003
- R.error("deploy: void/live is currently supported in Void apps only.");
3015
+ log.error("deploy: void/live is currently supported in Void apps only.");
3004
3016
  process.exit(1);
3005
3017
  }
3006
3018
  const migrationsDir = paths.migrationsDir;
@@ -3010,14 +3022,14 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3010
3022
  try {
3011
3023
  assertJournalCoherence(migrationsDir, rawMigrations);
3012
3024
  } catch (err) {
3013
- R.error(getErrorMessage(err));
3025
+ log.error(getErrorMessage(err));
3014
3026
  process.exit(1);
3015
3027
  }
3016
3028
  if (rawMigrations.length > 0) try {
3017
3029
  validatedMigrations = validateMigrations(rawMigrations);
3018
- R.info(`Found ${validatedMigrations.length} migration(s)`);
3030
+ log.info(`Found ${validatedMigrations.length} migration(s)`);
3019
3031
  } catch (err) {
3020
- R.error(getErrorMessage(err));
3032
+ log.error(getErrorMessage(err));
3021
3033
  process.exit(1);
3022
3034
  }
3023
3035
  if (dialect === "postgresql" && (bindings.needsD1 || rawMigrations.length > 0)) {
@@ -3027,7 +3039,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3027
3039
  } catch {}
3028
3040
  if (resources) {
3029
3041
  if (!resources.some((resource) => resource.type === "hyperdrive")) {
3030
- const { text: promptText, isCancel: isCancelPrompt } = await import("./dist-abzUneor.mjs").then((n) => n.p);
3042
+ const { text: promptText, isCancel: isCancelPrompt } = await import("./agents-Bmr5tFFb.mjs").then((n) => n.C);
3031
3043
  const connectionString = await promptText({
3032
3044
  message: "Your project uses PostgreSQL. Enter your connection string:",
3033
3045
  placeholder: "postgresql://user:pass@host:5432/dbname",
@@ -3036,11 +3048,11 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3036
3048
  }
3037
3049
  });
3038
3050
  if (isCancelPrompt(connectionString)) {
3039
- R.info("Deploy cancelled.");
3051
+ log.info("Deploy cancelled.");
3040
3052
  process.exit(0);
3041
3053
  }
3042
3054
  await client.provisionDatabase(config.projectId, connectionString);
3043
- R.success("Hyperdrive provisioned.");
3055
+ log.success("Hyperdrive provisioned.");
3044
3056
  }
3045
3057
  }
3046
3058
  }
@@ -3057,16 +3069,16 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3057
3069
  let actualWorkerDir = workerDir;
3058
3070
  let actualWorkerMain = fwPreset.workerMain;
3059
3071
  if (fwPreset.bundle) {
3060
- R.step("Bundling worker...");
3072
+ log.step("Bundling worker...");
3061
3073
  const bundleResult = await bundleEntry(root, originalEntry);
3062
3074
  actualWorkerDir = bundleResult.outputDir;
3063
3075
  actualWorkerMain = bundleResult.entryFilename;
3064
- R.info("Worker bundled");
3076
+ log.info("Worker bundled");
3065
3077
  }
3066
3078
  if (needsWrapper(wrapperFeatures)) {
3067
- R.step("Generating wrapper...");
3079
+ log.step("Generating wrapper...");
3068
3080
  await generateDeployWrapperIfNeeded(root, actualWorkerDir, actualWorkerMain, wrapperFeatures);
3069
- R.info("Wrapper generated");
3081
+ log.info("Wrapper generated");
3070
3082
  }
3071
3083
  const wranglerCompat = resolveDeployWranglerCompat(root, voidConfig, workerDir, { dialect });
3072
3084
  const revalidate = voidConfig.routing?.revalidate;
@@ -3096,7 +3108,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3096
3108
  needed: needed.length,
3097
3109
  skipped
3098
3110
  });
3099
- if (skipped > 0) R.info(`Skipping ${skipped} unchanged asset(s)`);
3111
+ if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
3100
3112
  s.start("Packaging...");
3101
3113
  cliLog?.info("package_start", {
3102
3114
  mode: "framework",
@@ -3143,10 +3155,10 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3143
3155
  if (revalidate) if (typeof revalidate === "number") summary.push(`ISR revalidate: ${revalidate}s`);
3144
3156
  else summary.push(`ISR revalidate: ${Object.keys(revalidate).length} path rule(s)`);
3145
3157
  summary.push(`Framework: ${detected.name}`);
3146
- Se(summary.join("\n"), result.url);
3158
+ note(summary.join("\n"), result.url);
3147
3159
  cleanupWrapper(root);
3148
3160
  warnUnpublishedRouting(result);
3149
- ye("Done!");
3161
+ outro("Done!");
3150
3162
  }
3151
3163
  async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetadata, detected, cliLog) {
3152
3164
  cliLog?.info("deploy_mode", {
@@ -3155,7 +3167,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3155
3167
  });
3156
3168
  if (!skipBuild) {
3157
3169
  const buildCmd = formatProjectCommand(root, "vite build");
3158
- R.step(`Building (${buildCmd})...`);
3170
+ log.step(`Building (${buildCmd})...`);
3159
3171
  cliLog?.info("build_start", { command: buildCmd });
3160
3172
  const buildStartedAt = Date.now();
3161
3173
  try {
@@ -3196,20 +3208,20 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3196
3208
  needsD1: true
3197
3209
  } : bindings;
3198
3210
  if (isFrameworkMode && authEnabled) {
3199
- R.error("Void-managed Better Auth is only supported in Void apps. Use Better Auth's official integration for this framework instead.");
3211
+ log.error("Void-managed Better Auth is only supported in Void apps. Use Better Auth's official integration for this framework instead.");
3200
3212
  process.exit(1);
3201
3213
  }
3202
3214
  if (isFrameworkMode && bindings.needsSandbox) {
3203
- R.error("deploy: Cloudflare Sandboxes are currently supported in Void apps only.");
3215
+ log.error("deploy: Cloudflare Sandboxes are currently supported in Void apps only.");
3204
3216
  process.exit(1);
3205
3217
  }
3206
3218
  if (isFrameworkMode && bindings.needsLive) {
3207
- R.error("deploy: void/live is currently supported in Void apps only.");
3219
+ log.error("deploy: void/live is currently supported in Void apps only.");
3208
3220
  process.exit(1);
3209
3221
  }
3210
3222
  const sandboxConfig = bindings.needsSandbox ? resolveSandboxConfig(deployConfig, root) : void 0;
3211
3223
  if (bindings.needsSandbox && requiresSandboxPlatformImage(deployConfig)) {
3212
- R.error("deploy: `sandbox.image` points at a local Dockerfile. Add `sandbox.platformImage` with a pushed registry image for `void deploy`, or deploy this sandbox directly with Wrangler.");
3224
+ log.error("deploy: `sandbox.image` points at a local Dockerfile. Add `sandbox.platformImage` with a pushed registry image for `void deploy`, or deploy this sandbox directly with Wrangler.");
3213
3225
  process.exit(1);
3214
3226
  }
3215
3227
  const clientDir = join(distDir, "client");
@@ -3229,14 +3241,14 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3229
3241
  try {
3230
3242
  assertJournalCoherence(migrationsDir, rawMigrations);
3231
3243
  } catch (err) {
3232
- R.error(getErrorMessage(err));
3244
+ log.error(getErrorMessage(err));
3233
3245
  process.exit(1);
3234
3246
  }
3235
3247
  if (rawMigrations.length > 0) try {
3236
3248
  validatedMigrations = validateMigrations(rawMigrations);
3237
- R.info(`Found ${validatedMigrations.length} migration(s)`);
3249
+ log.info(`Found ${validatedMigrations.length} migration(s)`);
3238
3250
  } catch (err) {
3239
- R.error(getErrorMessage(err));
3251
+ log.error(getErrorMessage(err));
3240
3252
  process.exit(1);
3241
3253
  }
3242
3254
  if (dialect === "postgresql" && (effectiveBindings.needsD1 || rawMigrations.length > 0)) {
@@ -3246,7 +3258,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3246
3258
  } catch {}
3247
3259
  if (resources) {
3248
3260
  if (!resources.some((resource) => resource.type === "hyperdrive")) {
3249
- const { text: promptText, isCancel: isCancelPrompt } = await import("./dist-abzUneor.mjs").then((n) => n.p);
3261
+ const { text: promptText, isCancel: isCancelPrompt } = await import("./agents-Bmr5tFFb.mjs").then((n) => n.C);
3250
3262
  const connectionString = await promptText({
3251
3263
  message: "Your project uses PostgreSQL. Enter your connection string:",
3252
3264
  placeholder: "postgresql://user:pass@host:5432/dbname",
@@ -3255,11 +3267,11 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3255
3267
  }
3256
3268
  });
3257
3269
  if (isCancelPrompt(connectionString)) {
3258
- R.info("Deploy cancelled.");
3270
+ log.info("Deploy cancelled.");
3259
3271
  process.exit(0);
3260
3272
  }
3261
3273
  await client.provisionDatabase(config.projectId, connectionString);
3262
- R.success("Hyperdrive provisioned.");
3274
+ log.success("Hyperdrive provisioned.");
3263
3275
  }
3264
3276
  }
3265
3277
  }
@@ -3311,7 +3323,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3311
3323
  }
3312
3324
  if (deployConfig.output === "static" && pageScan && !isSsr) {
3313
3325
  if (pageScan.pages.every((p) => p.shouldPrerender && (p.params.length === 0 && !p.catchAll || p.hasGetPrerenderPaths)) && !(hasRoutes || hasMiddleware || hasWebSockets || authEnabled || liveConfig !== void 0) && schedules.length === 0 && queues.length === 0) {
3314
- R.info("All pages prerendered — deploying as static site");
3326
+ log.info("All pages prerendered — deploying as static site");
3315
3327
  cliLog?.info("full_to_static_redirect", { reason: "all_pages_prerendered" });
3316
3328
  return runStaticDeploy(root, config, client, {
3317
3329
  buildCommand: null,
@@ -3363,7 +3375,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3363
3375
  needed: needed.length,
3364
3376
  skipped
3365
3377
  });
3366
- if (skipped > 0) R.info(`Skipping ${skipped} unchanged asset(s)`);
3378
+ if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
3367
3379
  s.start("Packaging...");
3368
3380
  cliLog?.info("package_start", {
3369
3381
  mode: "full",
@@ -3421,9 +3433,9 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3421
3433
  migrationDialect: dialect
3422
3434
  };
3423
3435
  if (needsWrapper(wrapperFeatures)) {
3424
- R.step("Generating wrapper...");
3436
+ log.step("Generating wrapper...");
3425
3437
  await generateDeployWrapperIfNeeded(root, workerDir, fwPreset?.workerMain ?? "index.js", wrapperFeatures);
3426
- R.info("Wrapper generated");
3438
+ log.info("Wrapper generated");
3427
3439
  }
3428
3440
  }
3429
3441
  const workerFiles = collectWorkerFiles(workerDir);
@@ -3442,12 +3454,12 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3442
3454
  if (revalidate) if (typeof revalidate === "number") summary.push(`ISR revalidate: ${revalidate}s`);
3443
3455
  else summary.push(`ISR revalidate: ${Object.keys(revalidate).length} path rule(s)`);
3444
3456
  if (isFrameworkMode) summary.push("Framework mode");
3445
- Se(summary.join("\n"), result.url);
3457
+ note(summary.join("\n"), result.url);
3446
3458
  warnUnpublishedRouting(result);
3447
- ye("Done!");
3459
+ outro("Done!");
3448
3460
  }
3449
3461
  async function createProjectFromSlug(root, client, slug, cliLog) {
3450
- R.step(`Creating project ${import_picocolors.default.blue(slug)}...`);
3462
+ log.step(`Creating project ${import_picocolors.default.blue(slug)}...`);
3451
3463
  cliLog?.info("project_create_start", { slug });
3452
3464
  const project = await client.createProject(slug);
3453
3465
  const config = {
@@ -3455,7 +3467,7 @@ async function createProjectFromSlug(root, client, slug, cliLog) {
3455
3467
  slug: project.slug
3456
3468
  };
3457
3469
  writeProjectConfig(root, config);
3458
- R.success(`Project created: ${import_picocolors.default.blue(config.slug)}`);
3470
+ log.success(`Project created: ${import_picocolors.default.blue(config.slug)}`);
3459
3471
  cliLog?.info("project_create_success", {
3460
3472
  projectId: config.projectId,
3461
3473
  slug: config.slug
@@ -3490,10 +3502,10 @@ function assertDeploySchemaDriftFree(root, dialect) {
3490
3502
  try {
3491
3503
  if (!hasDeploySchemaDrift(root, dialect)) return;
3492
3504
  } catch (error) {
3493
- R.error(getErrorMessage(error));
3505
+ log.error(getErrorMessage(error));
3494
3506
  process.exit(1);
3495
3507
  }
3496
- R.error(getDeploySchemaDriftMessage());
3508
+ log.error(getDeploySchemaDriftMessage());
3497
3509
  process.exit(1);
3498
3510
  }
3499
3511
  function hasDeploySchemaDrift(root, dialect) {
@@ -3637,8 +3649,8 @@ async function assertEnvSchemaValid(root, client, projectId) {
3637
3649
  });
3638
3650
  if (!hasSchema || report.valid) return;
3639
3651
  const formatted = formatEnvReport(report);
3640
- R.error(`Env validation failed:\n${formatted}`);
3641
- if (report.missing.length > 0) R.info(`Add the missing values to .env / .env.production, or upload them with \`void secret put <NAME>\`.`);
3652
+ log.error(`Env validation failed:\n${formatted}`);
3653
+ if (report.missing.length > 0) log.info(`Add the missing values to .env / .env.production, or upload them with \`void secret put <NAME>\`.`);
3642
3654
  throw new DeployEventError("deploy: Aborting because env.ts schema is not satisfied.");
3643
3655
  }
3644
3656
  /**
@@ -3646,24 +3658,7 @@ async function assertEnvSchemaValid(root, client, projectId) {
3646
3658
  * Later files win on conflict.
3647
3659
  */
3648
3660
  function loadDeployEnv(root) {
3649
- const files = [".env", ".env.production"];
3650
- const env = {};
3651
- for (const file of files) {
3652
- const filePath = join(root, file);
3653
- if (!existsSync(filePath)) continue;
3654
- const content = readFileSync(filePath, "utf-8");
3655
- for (const line of content.split("\n")) {
3656
- const trimmed = line.trim();
3657
- if (!trimmed || trimmed.startsWith("#")) continue;
3658
- const eqIndex = trimmed.indexOf("=");
3659
- if (eqIndex === -1) continue;
3660
- const key = trimmed.slice(0, eqIndex).trim();
3661
- let value = trimmed.slice(eqIndex + 1).trim();
3662
- if (value.startsWith("\"") && value.endsWith("\"") || value.startsWith("'") && value.endsWith("'")) value = value.slice(1, -1);
3663
- env[key] = value;
3664
- }
3665
- }
3666
- const { sanitized, stripped } = stripInternalEnvKeys(env);
3661
+ const { sanitized, stripped } = stripInternalEnvKeys(mergeAndExpand([".env", ".env.production"].map((file) => parseDotenvFile(join(root, file), { expand: false })), { onWarn: (msg) => voidWarn(msg) }));
3667
3662
  if (stripped.length > 0) voidWarn(`Ignoring internal env keys from .env files: ${stripped.join(", ")}. These are reserved for Void runtime use and will not be shipped in the deploy manifest.`);
3668
3663
  return sanitized;
3669
3664
  }
@@ -1,6 +1,6 @@
1
- import { n as __exportAll } from "./chunk-DJd-R1mw.mjs";
2
- import { s as relative } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
3
- import { n as readProjectPaths } from "./project-paths-CCMrHYQm.mjs";
1
+ import { n as __exportAll } from "./rolldown-runtime-DJK8HYOj.mjs";
2
+ import { s as relative } from "./pathe.M-eThtNZ-CQzLbt4c.mjs";
3
+ import { n as readProjectPaths } from "./project-paths-tpdR1mJR.mjs";
4
4
  import { existsSync, statSync } from "node:fs";
5
5
  //#region src/drizzle/discover.ts
6
6
  var discover_exports = /* @__PURE__ */ __exportAll({
@@ -36,7 +36,7 @@ function discoverSchema(root, paths = readProjectPaths(root)) {
36
36
  */
37
37
  function schemaSpecifier(location, root) {
38
38
  if (!root) return location.type === "file" ? "./db/schema.ts" : "./db/schema/*.ts";
39
- const rel = relative(root, location.path).replace(/\\/g, "/");
39
+ const rel = relative(root, location.path);
40
40
  return location.type === "file" ? `./${rel}` : `./${rel}/*.ts`;
41
41
  }
42
42
  //#endregion