void 0.10.5 → 0.10.7

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 (216) hide show
  1. package/dist/agents-Bmr5tFFb.mjs +1454 -0
  2. package/dist/{auth-cmd-UoCwfDQv.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-CVyuBHjP.mjs → build-cmd-Br8qL0rA.mjs} +15 -17
  6. package/dist/{cache-ACORQCIq.mjs → cache-wH-mP8UE.mjs} +10 -12
  7. package/dist/{cancel-deploy-Gi8zmoZC.mjs → cancel-deploy-BEBOEgtu.mjs} +16 -18
  8. package/dist/cli/cli.mjs +47 -49
  9. package/dist/{client-BlbnA92X.mjs → client-Cj96iiBH.mjs} +74 -8
  10. package/dist/{config-8dLIngKW.mjs → config-1twldYCW.mjs} +10 -10
  11. package/dist/{config-CbJS4Krx.mjs → config-BdUctCZD.mjs} +4 -4
  12. package/dist/{create-project-LjvkYziS.mjs → create-project-DD9n8Ho-.mjs} +28 -23
  13. package/dist/{db-C00yjN01.mjs → db-DjKE2-A-.mjs} +147 -149
  14. package/dist/{delete-CplfvTgU.mjs → delete-D2kr3Kmk.mjs} +13 -15
  15. package/dist/{deploy-CISNL5uK.mjs → deploy-C4PbkFyE.mjs} +97 -100
  16. package/dist/{discover-ZWuBvt22.mjs → discover-BuVVSAum.mjs} +3 -3
  17. package/dist/{dist-5cGIJHQQ.mjs → dist-BuiRJkTd.mjs} +59 -27
  18. package/dist/{domain-B4HpcgNG.mjs → domain-_luIsM_B.mjs} +14 -16
  19. package/dist/{env-DNMJpeVF.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-BS8cZead.mjs → env-types-D51bnR-c.mjs} +3 -3
  22. package/dist/{env-validation-BxbtBbjh.mjs → env-validation-CeC2FL66.mjs} +4 -4
  23. package/dist/{fetch-error-C6qffTl2.mjs → fetch-error-Dj3crt0e.mjs} +3 -3
  24. package/dist/{gen-C0pV2gRQ.mjs → gen-Cf79J4aw.mjs} +42 -44
  25. package/dist/{github-cmd-CwtLD1yI.mjs → github-cmd-DnqxyOsb.mjs} +88 -90
  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-D58GxCtt.mjs → init-KirOzVDs.mjs} +132 -134
  31. package/dist/link-CUmiosyb.mjs +45 -0
  32. package/dist/{list-CbNNjXTm.mjs → list-3GEw7b6m.mjs} +10 -12
  33. package/dist/{login-CvxxF_9z.mjs → login-DJReaT_Q.mjs} +14 -15
  34. package/dist/{logs-BDZ9AuhM.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-C8BjRt_z.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-D04iL1mW.mjs → plugin-inference-CJxi_fWI.mjs} +3 -3
  50. package/dist/{prepare-DUo9q8cM.mjs → prepare-C_cVurhP.mjs} +15 -18
  51. package/dist/{preset-D0My64KQ.mjs → preset-CVvwCeIy.mjs} +4 -4
  52. package/dist/{project-cmd-Dd1gNRdd.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-DMBV55K2.mjs → project-tsconfig-D9uSVVpA.mjs} +2 -2
  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-DzmCCrFg.mjs → rollback-Yh7bCKob.mjs} +21 -23
  58. package/dist/{route-types-BpSJEW20.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---8wfN58.mjs → scan-i7Yz54fv.mjs} +26 -8
  106. package/dist/{secret-CMLYWkE-.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 +1 -1
  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/tinyglobby/README.md +1 -1
  121. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +1 -0
  122. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +18 -6
  123. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +1 -1
  124. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/check.md +35 -0
  125. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/create.md +70 -0
  126. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +3 -1
  127. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +11 -7
  128. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +3 -1
  129. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +1 -1
  130. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +141 -26
  131. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +1 -1
  132. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +1 -1
  133. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
  134. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +16 -28
  135. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +16 -0
  136. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +15 -17
  137. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
  138. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +255 -2
  139. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/docker.md +175 -0
  140. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +70 -5
  141. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
  142. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
  143. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +9 -3
  144. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +63 -11
  145. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
  146. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +27 -3
  147. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
  148. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +8 -0
  149. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +36 -4
  150. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
  151. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
  152. package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +403 -390
  153. package/skills/void/docs/node_modules/void/node_modules/pg/README.md +2 -1
  154. package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +1 -1
  155. package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +1 -0
  156. package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +18 -6
  157. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +1 -1
  158. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/check.md +35 -0
  159. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/create.md +70 -0
  160. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +3 -1
  161. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +11 -7
  162. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +3 -1
  163. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +1 -1
  164. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +141 -26
  165. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +1 -1
  166. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +1 -1
  167. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
  168. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +16 -28
  169. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +16 -0
  170. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +15 -17
  171. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
  172. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +255 -2
  173. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/docker.md +175 -0
  174. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +70 -5
  175. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
  176. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
  177. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +9 -3
  178. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +63 -11
  179. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
  180. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +27 -3
  181. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
  182. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +8 -0
  183. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +36 -4
  184. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
  185. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
  186. package/skills/void/docs/reference/cli.md +5 -1
  187. package/dist/agents-MhSzNMiC.mjs +0 -151
  188. package/dist/collect-9rO3JFNM.mjs +0 -55
  189. package/dist/config-hhMYPVRT.mjs +0 -21
  190. package/dist/dist-abzUneor.mjs +0 -1287
  191. package/dist/drizzle-DqstQTGq.mjs +0 -232
  192. package/dist/link-ZFmboqY3.mjs +0 -47
  193. package/dist/output-DeiS4oEX.mjs +0 -139
  194. package/dist/plan-aD3wRDqF.mjs +0 -271
  195. package/dist/project-CH9pdo16.mjs +0 -72
  196. package/dist/project-slug-rX3kTOfY.mjs +0 -10
  197. package/dist/validate-CNWm-PsL.mjs +0 -186
  198. /package/dist/{auth-migrations-BP-hMzYl.mjs → auth-migrations-BTZ-ATvQ.mjs} +0 -0
  199. /package/dist/{auth-Dz2CCn4T.d.mts → auth-qgMlYp7Z.d.mts} +0 -0
  200. /package/dist/{canonical-json-CEyQaVDa.mjs → canonical-json-DuDiiUsQ.mjs} +0 -0
  201. /package/dist/{cf-access-DKDsgwOU.mjs → cf-access-Bqw81xAf.mjs} +0 -0
  202. /package/dist/{defer-C-bdSM_b.mjs → defer-YsYDUoii.mjs} +0 -0
  203. /package/dist/{dotenv-lS94ymhM.mjs → dotenv-D_UbC_vc.mjs} +0 -0
  204. /package/dist/{env-raw-Dtj1UAoK.mjs → env-raw-CoS20LHP.mjs} +0 -0
  205. /package/dist/{fetch-error-B6RaJ-eZ.d.mts → fetch-error-Sp1R4mZv.d.mts} +0 -0
  206. /package/dist/{git-metadata-Ce0AtSZL.mjs → git-metadata-CBKaL0v5.mjs} +0 -0
  207. /package/dist/{head-eOUCWUNy.d.mts → head-nmvOgFjd.d.mts} +0 -0
  208. /package/dist/{log-BdD_Fpms.mjs → log-ChfPKsVd.mjs} +0 -0
  209. /package/dist/{pathe.M-eThtNZ-BrPhGF_K.mjs → pathe.M-eThtNZ-CQzLbt4c.mjs} +0 -0
  210. /package/dist/{pg-CempqvEJ.mjs → pg-J2HbZIkX.mjs} +0 -0
  211. /package/dist/{providers-BJIoduK9.d.mts → providers-BNKRacMr.d.mts} +0 -0
  212. /package/dist/{providers-BwPbdHdi.mjs → providers-CJlNS3kT.mjs} +0 -0
  213. /package/dist/{proxy-M3pxItg2.mjs → proxy-D-3_D-Gl.mjs} +0 -0
  214. /package/dist/{chunk-DJd-R1mw.mjs → rolldown-runtime-DJK8HYOj.mjs} +0 -0
  215. /package/dist/{standard-schema-Cy0lfeWv.d.mts → standard-schema-DJ0HW7QP.d.mts} +0 -0
  216. /package/dist/{types-BodZGegX.d.mts → types-lLjNE9Qp.d.mts} +0 -0
@@ -1,15 +1,13 @@
1
- import { n as cliTitle, r as createSpinner } from "./output-DeiS4oEX.mjs";
2
- import { f as getToken, n as PlatformClient } from "./client-BlbnA92X.mjs";
3
- import { _ as me, c as R, g as ge, l as Re, u as Se, x as q, y as ye } from "./dist-abzUneor.mjs";
4
- import { i as removeProjectConfig, r as readProjectConfig } from "./project-CH9pdo16.mjs";
5
- import { r as resolveProjectBySlug } from "./resolve-project-D4O1_fZz.mjs";
1
+ import { A as text, D as outro, E as note, T as log, a as cliTitle, j as isCancel, o as createSpinner, w as intro, x as cancel } from "./agents-Bmr5tFFb.mjs";
2
+ import { b as readProjectConfig, f as getToken, n as PlatformClient, x as removeProjectConfig } from "./client-Cj96iiBH.mjs";
3
+ import { r as resolveProjectBySlug } from "./resolve-project-D2HI3TrG.mjs";
6
4
  //#region src/cli/delete.ts
7
5
  async function runDeleteCommand(root, slug, options) {
8
6
  console.log();
9
- ge(cliTitle("delete"));
7
+ intro(cliTitle("delete"));
10
8
  const token = getToken(root);
11
9
  if (!token) {
12
- R.error("Not logged in. Run `void auth login` first.");
10
+ log.error("Not logged in. Run `void auth login` first.");
13
11
  process.exit(1);
14
12
  }
15
13
  const client = new PlatformClient(token, { root });
@@ -18,7 +16,7 @@ async function runDeleteCommand(root, slug, options) {
18
16
  if (slug) {
19
17
  const config = resolveProjectBySlug(await client.listProjects(), slug);
20
18
  if (!config) {
21
- R.error(`project: No project found with slug '${slug}'.`);
19
+ log.error(`project: No project found with slug '${slug}'.`);
22
20
  process.exit(1);
23
21
  }
24
22
  projectId = config.projectId;
@@ -26,26 +24,26 @@ async function runDeleteCommand(root, slug, options) {
26
24
  } else {
27
25
  const config = readProjectConfig(root);
28
26
  if (!config) {
29
- R.error("No linked project found. Pass a project name: void project delete <name>");
27
+ log.error("No linked project found. Pass a project name: void project delete <name>");
30
28
  process.exit(1);
31
29
  }
32
30
  projectId = config.projectId;
33
31
  projectSlug = config.slug;
34
32
  }
35
33
  if (!options?.force) {
36
- Se([
34
+ note([
37
35
  "Worker deployments",
38
36
  "D1 databases, KV namespaces, R2 buckets",
39
37
  "Static assets",
40
38
  "Deployment history"
41
39
  ].join("\n"), `Deleting ${projectSlug} will permanently remove`);
42
- if (q(await Re({
40
+ if (isCancel(await text({
43
41
  message: `Type "${projectSlug}" to confirm deletion:`,
44
42
  validate(value) {
45
43
  if (value !== projectSlug) return `Please type "${projectSlug}" exactly to confirm.`;
46
44
  }
47
45
  }))) {
48
- me("Delete cancelled.");
46
+ cancel("Delete cancelled.");
49
47
  process.exit(0);
50
48
  }
51
49
  }
@@ -53,12 +51,12 @@ async function runDeleteCommand(root, slug, options) {
53
51
  s.start("Deleting project...");
54
52
  const result = await client.deleteProject(projectId);
55
53
  s.stop("Project deleted.");
56
- if (result.warnings && result.warnings.length > 0) for (const warning of result.warnings) R.warn(warning);
54
+ if (result.warnings && result.warnings.length > 0) for (const warning of result.warnings) log.warn(warning);
57
55
  if (readProjectConfig(root)?.projectId === projectId) {
58
56
  removeProjectConfig(root);
59
- R.step("Removed local .void/project.json");
57
+ log.step("Removed local .void/project.json");
60
58
  }
61
- ye(`Deleted ${projectSlug}`);
59
+ outro(`Deleted ${projectSlug}`);
62
60
  }
63
61
  //#endregion
64
62
  export { runDeleteCommand };
@@ -1,32 +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-BlbnA92X.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---8wfN58.mjs";
12
- import { i as inferProjectBindings, l as validateSsrEntry, n as FRAMEWORK_SCAN_DIRS, r as detectFramework } from "./plugin-inference-D04iL1mW.mjs";
13
- import { i as voidWarn, r as voidLog } from "./log-BdD_Fpms.mjs";
14
- import { n as mergeAndExpand, r as parseDotenvFile } from "./dotenv-lS94ymhM.mjs";
15
- import { t as discoverSchema } from "./discover-ZWuBvt22.mjs";
16
- import { t as findEnvFile } from "./env-types-BS8cZead.mjs";
17
- import { i as validateProdEnv, n as formatEnvReport, r as getDeployEnvDefaults, t as fetchRemoteSecretNames } from "./env-validation-BxbtBbjh.mjs";
18
- import { n as writeDrizzleConfig } from "./config-CbJS4Krx.mjs";
19
- import { t as collectMigrations } from "./collect-9rO3JFNM.mjs";
20
- import { n as buildMigrationPlanBundle } from "./plan-aD3wRDqF.mjs";
21
- import { r as validateMigrations, t as assertJournalCoherence } from "./validate-CNWm-PsL.mjs";
22
- import { t as scanPages } from "./scan-VCAM1oh3.mjs";
23
- import { n as STAGING_PROXY_URL, t as DEFAULT_PROXY_URL } from "./proxy-M3pxItg2.mjs";
24
- import { i as promptProjectSetupAction, n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-LjvkYziS.mjs";
25
- import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-D4O1_fZz.mjs";
26
- import { t as collectGitDeployMetadata } from "./git-metadata-Ce0AtSZL.mjs";
27
- import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestinationSplats } from "./headers-BNWymgnH.mjs";
28
- import { t as promptForLoginToken } from "./login-CvxxF_9z.mjs";
29
- import { i as resolveProjectCommand, n as detectPreset, r as formatProjectCommand, t as FRAMEWORK_PRESETS } from "./preset-D0My64KQ.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";
30
25
  import { createRequire } from "node:module";
31
26
  import { copyFileSync, cpSync, createWriteStream, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
32
27
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -157,8 +152,8 @@ function resolveLiveBindingConfig(root, options) {
157
152
  bindingName: generated.name,
158
153
  className: generated.class_name
159
154
  };
160
- const usedBindings = new Set([...durableObjectBindings.map((binding) => binding.name), ...(options?.reservedBindings ?? []).filter((name) => typeof name === "string")]);
161
- 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")]);
162
157
  return {
163
158
  bindingName: resolveGeneratedName(DEFAULT_LIVE_BINDING, usedBindings, "binding"),
164
159
  className: resolveGeneratedName(DEFAULT_LIVE_CLASS, usedClasses, "class")
@@ -542,7 +537,7 @@ function resolveRemoteMode(configRemote) {
542
537
  if (override === "0") return false;
543
538
  return configRemote === true;
544
539
  }
545
- const INTERNAL_ENV_KEY_SET = new Set([
540
+ const INTERNAL_ENV_KEY_SET = /* @__PURE__ */ new Set([
546
541
  "__VOID_TOKEN",
547
542
  "__VOID_PROJECT_ID",
548
543
  "__VOID_REMOTE",
@@ -685,7 +680,7 @@ function collectPrerenderWorkerModules(workerDir, workerMain) {
685
680
  function buildPrerenderBindings(input) {
686
681
  const { sanitized: wranglerVars, stripped: wranglerStripped } = stripInternalEnvKeys(input.wranglerVars);
687
682
  const { sanitized: env, stripped: envStripped } = stripInternalEnvKeys(input.env);
688
- const allStripped = [...new Set([...wranglerStripped, ...envStripped])];
683
+ const allStripped = [.../* @__PURE__ */ new Set([...wranglerStripped, ...envStripped])];
689
684
  if (allStripped.length > 0) voidWarn(`Ignoring internal env keys in prerender inputs: ${allStripped.join(", ")}. These are reserved for Void runtime use.`);
690
685
  const voidBindings = {};
691
686
  if (input.voidToken && input.voidProjectId) {
@@ -736,7 +731,8 @@ async function createCloudflarePrerenderRunner(options) {
736
731
  bindings
737
732
  };
738
733
  if (clientDir) mfOptions.serviceBindings = { [wranglerConfig.assets?.binding ?? "ASSETS"](request) {
739
- const filePath = join(clientDir, new URL(request.url).pathname);
734
+ const url = new URL(request.url);
735
+ const filePath = join(clientDir, url.pathname);
740
736
  try {
741
737
  const content = readFileSync(filePath);
742
738
  return new Response(content);
@@ -1608,7 +1604,8 @@ const ASSET_MIME_TYPES = {
1608
1604
  * `application/octet-stream` for unknown extensions.
1609
1605
  */
1610
1606
  function getAssetContentType(path) {
1611
- 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";
1612
1609
  }
1613
1610
  /**
1614
1611
  * Compute MD5 of raw content as a 32-char lowercase hex string.
@@ -2034,8 +2031,8 @@ async function generateWrapper(workerDir, workerMain, root, features) {
2034
2031
  let migrations;
2035
2032
  let migrationPlanBundle;
2036
2033
  if (features.hasMigrations) {
2037
- const { collectMigrations } = await import("./collect-9rO3JFNM.mjs").then((n) => n.n);
2038
- 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);
2039
2036
  const migrationsDir = readProjectPaths(root).migrationsDir;
2040
2037
  migrations = collectMigrations(migrationsDir);
2041
2038
  migrationPlanBundle = features.migrationDialect === "sqlite" ? buildMigrationPlanBundle(migrations) : void 0;
@@ -2113,7 +2110,7 @@ function patchPgWorkerBundle(outDir) {
2113
2110
  const path = join(outDir, file);
2114
2111
  let code = readFileSync(path, "utf-8");
2115
2112
  if (!code.includes("__require(\"pgpass\")") && !code.includes("createRequire(import.meta.url)")) continue;
2116
- 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());
2117
2114
  code = `const __voidPgpassNoop = Object.assign(function pgpass(_connectionInfo, callback) { callback(undefined); }, { warnTo() {} });\n` + code;
2118
2115
  writeFileSync(path, code);
2119
2116
  }
@@ -2464,7 +2461,7 @@ function assertWorkerMainUploaded(workerFiles, workerMain) {
2464
2461
  */
2465
2462
  async function runDeploy(root, options) {
2466
2463
  console.log();
2467
- ge(cliTitle("deploy"));
2464
+ intro(cliTitle("deploy"));
2468
2465
  const cliLog = openDeployLog({ mirrorToStderr: options?.debug === true || process.env.VOID_DEPLOY_DEBUG === "1" });
2469
2466
  cliLog.info("deploy_start", {
2470
2467
  cwd: root,
@@ -2528,7 +2525,7 @@ async function runDeployInner(root, options, cliLog) {
2528
2525
  }
2529
2526
  token ??= getToken(root);
2530
2527
  if (!token) {
2531
- R.error("No auth token found. Run `void auth login` first.");
2528
+ log.error("No auth token found. Run `void auth login` first.");
2532
2529
  process.exit(1);
2533
2530
  }
2534
2531
  const client = new PlatformClient(token, {
@@ -2541,16 +2538,16 @@ async function runDeployInner(root, options, cliLog) {
2541
2538
  config = resolveProjectBySlug(await client.listProjects(), requestedProjectSlug);
2542
2539
  if (!config) if (!process.stdin.isTTY) config = await createProjectFromSlug(root, client, requestedProjectSlug, cliLog);
2543
2540
  else {
2544
- const shouldCreate = await ue({ message: `Project "${requestedProjectSlug}" does not exist. Create it?` });
2545
- if (q(shouldCreate) || !shouldCreate) {
2546
- 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.");
2547
2544
  process.exit(0);
2548
2545
  }
2549
2546
  config = await createProjectFromSlug(root, client, requestedProjectSlug, cliLog);
2550
2547
  }
2551
2548
  } else config = readProjectConfig(root);
2552
2549
  if (!config && !process.stdin.isTTY) {
2553
- 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`.");
2554
2551
  process.exit(1);
2555
2552
  }
2556
2553
  if (!config) config = await promptDeployProjectConfig(root, client, cliLog);
@@ -2578,7 +2575,7 @@ async function runDeployInner(root, options, cliLog) {
2578
2575
  const fwPreset = FRAMEWORK_PRESETS[detected.name];
2579
2576
  if (detected.class === "b" || detected.class === "c") {
2580
2577
  if (!fwPreset) {
2581
- R.error(`No deploy preset found for framework "${detected.name}".`);
2578
+ log.error(`No deploy preset found for framework "${detected.name}".`);
2582
2579
  process.exit(1);
2583
2580
  }
2584
2581
  await runFrameworkDeploy(root, config, client, detected, fwPreset, voidConfig, options?.skipBuild, gitMetadata, cliLog);
@@ -2599,9 +2596,9 @@ async function runDeployInner(root, options, cliLog) {
2599
2596
  if (isExpiredTokenError(error)) {
2600
2597
  if (getTokenSource() === "ci") throw new Error("`VOID_TOKEN` is invalid or expired. Generate a new token and try again.");
2601
2598
  if (!process.stdin.isTTY || reauthenticated) throw new Error("Auth token expired. Run `void auth login` and try again.");
2602
- R.warn("Auth token expired. Re-authenticating...");
2599
+ log.warn("Auth token expired. Re-authenticating...");
2603
2600
  await promptForLoginToken(root);
2604
- R.success("Re-authenticated. Retrying deploy...");
2601
+ log.success("Re-authenticated. Retrying deploy...");
2605
2602
  reauthenticated = true;
2606
2603
  continue;
2607
2604
  }
@@ -2621,7 +2618,7 @@ async function promptDeployProjectConfig(root, client, cliLog) {
2621
2618
  slug: result.project.slug
2622
2619
  };
2623
2620
  writeProjectConfig(root, config);
2624
- R.step(`Linked to ${import_picocolors.default.blue(config.slug)}`);
2621
+ log.step(`Linked to ${import_picocolors.default.blue(config.slug)}`);
2625
2622
  cliLog?.info("project_linked", {
2626
2623
  projectId: config.projectId,
2627
2624
  slug: config.slug
@@ -2692,7 +2689,7 @@ function applyDeployEvent(event, s) {
2692
2689
  s.message(`Configuring queue consumers: ${event.queues.join(", ")}`);
2693
2690
  return { kind: "continue" };
2694
2691
  case "queue_consumer_conflict":
2695
- 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.`);
2696
2693
  return { kind: "continue" };
2697
2694
  case "prerender":
2698
2695
  s.message(`Prerendering ${event.pages} pages...`);
@@ -2726,8 +2723,8 @@ async function streamDeployEvents(projectId, events, s, cliLog) {
2726
2723
  const onSigint = () => {
2727
2724
  interrupted = true;
2728
2725
  s.stop("Deploy interrupted");
2729
- if (deploymentId) R.info(`Deployment: ${deploymentId}`);
2730
- 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.");
2731
2728
  cliLog?.warn("stream_interrupted", { deploymentId });
2732
2729
  cliLog?.close().catch(() => {});
2733
2730
  process.exit(130);
@@ -2876,13 +2873,13 @@ function formatKnownAssetSummary(result, skipped) {
2876
2873
  }
2877
2874
  async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetadata, hashedAssetsPrefix, headerRules, redirectRules, fallbackRules, routing, cliLog) {
2878
2875
  const typeLabel = preset.appType === "spa" ? "Static SPA" : "Static Site";
2879
- R.info(`${typeLabel} deploy`);
2876
+ log.info(`${typeLabel} deploy`);
2880
2877
  cliLog?.info("deploy_mode", {
2881
2878
  mode: "static",
2882
2879
  appType: preset.appType
2883
2880
  });
2884
2881
  if (preset.buildCommand && !skipBuild) {
2885
- R.step("Building...");
2882
+ log.step("Building...");
2886
2883
  cliLog?.info("build_start", { command: preset.buildCommand });
2887
2884
  const buildStartedAt = Date.now();
2888
2885
  execSync(preset.buildCommand, {
@@ -2893,7 +2890,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
2893
2890
  cliLog?.info("build_end", { durationMs: Date.now() - buildStartedAt });
2894
2891
  } else if (skipBuild) cliLog?.info("build_skipped", { reason: "skipBuild" });
2895
2892
  if (!existsSync(preset.outputDir)) {
2896
- 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.`);
2897
2894
  process.exit(1);
2898
2895
  }
2899
2896
  if (routing) {
@@ -2922,7 +2919,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
2922
2919
  needed: needed.length,
2923
2920
  skipped
2924
2921
  });
2925
- if (skipped > 0) R.info(`Skipping ${skipped} unchanged asset(s)`);
2922
+ if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
2926
2923
  s.start("Packaging...");
2927
2924
  cliLog?.info("package_start", { mode: "static" });
2928
2925
  const packageStartedAt = Date.now();
@@ -2939,9 +2936,9 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
2939
2936
  durationMs: Date.now() - packageStartedAt
2940
2937
  });
2941
2938
  const result = await streamDirectR2Deploy(client, config.projectId, manifest, assetManifest, assetFiles, needed, gitMetadata, neededSet !== null, void 0, s, cliLog);
2942
- Se([`${typeLabel} — ${formatKnownAssetSummary(result, skipped)}`].join("\n"), result.url);
2939
+ note([`${typeLabel} — ${formatKnownAssetSummary(result, skipped)}`].join("\n"), result.url);
2943
2940
  warnUnpublishedRouting(result);
2944
- ye("Done!");
2941
+ outro("Done!");
2945
2942
  }
2946
2943
  /**
2947
2944
  * Surface a persistent warning when a deploy committed live but its routing
@@ -2952,7 +2949,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
2952
2949
  */
2953
2950
  function warnUnpublishedRouting(result) {
2954
2951
  if (result.published !== false) return;
2955
- 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.");
2956
2953
  }
2957
2954
  /**
2958
2955
  * Emit a single aggregated lint warning when a `_redirects` file contains
@@ -2963,13 +2960,13 @@ function warnUnpublishedRouting(result) {
2963
2960
  */
2964
2961
  function warnRedundantForceOn3xx(count) {
2965
2962
  if (count === 0) return;
2966
- 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).`);
2967
2964
  }
2968
2965
  /**
2969
2966
  * Class B/C framework deploy: build with framework CLI, package with preset output paths.
2970
2967
  */
2971
2968
  async function runFrameworkDeploy(root, config, client, detected, fwPreset, voidConfig, skipBuild, gitMetadata, cliLog) {
2972
- R.info(`${detected.name} framework deploy`);
2969
+ log.info(`${detected.name} framework deploy`);
2973
2970
  cliLog?.info("deploy_mode", {
2974
2971
  mode: "framework",
2975
2972
  framework: detected.name
@@ -2977,7 +2974,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
2977
2974
  const dialect = getDatabaseDialect(voidConfig);
2978
2975
  const buildCmd = voidConfig.inference?.build ?? formatProjectCommand(root, fwPreset.buildCommand);
2979
2976
  if (!skipBuild) {
2980
- R.step(`Building (${buildCmd})...`);
2977
+ log.step(`Building (${buildCmd})...`);
2981
2978
  cliLog?.info("build_start", { command: buildCmd });
2982
2979
  const buildStartedAt = Date.now();
2983
2980
  execSync(voidConfig.inference?.build ?? resolveProjectCommand(root, fwPreset.buildCommand), {
@@ -3000,7 +2997,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3000
2997
  lintDestinationSplats(redirectRules, "redirects/rewrites (pre-asset)");
3001
2998
  lintDestinationSplats(fallbackRules, "fallbacks (post-asset)");
3002
2999
  if (!existsSync(workerDir)) {
3003
- 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.`);
3004
3001
  process.exit(1);
3005
3002
  }
3006
3003
  const inferenceOptions = voidConfig.inference?.bindings ? { bindings: voidConfig.inference.bindings } : void 0;
@@ -3011,11 +3008,11 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3011
3008
  paths
3012
3009
  }, scanDirs);
3013
3010
  if (bindings.needsAuth || findVoidAuthConfig(root, paths) !== null || voidConfig.auth !== void 0) {
3014
- 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.");
3015
3012
  process.exit(1);
3016
3013
  }
3017
3014
  if (bindings.needsLive) {
3018
- 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.");
3019
3016
  process.exit(1);
3020
3017
  }
3021
3018
  const migrationsDir = paths.migrationsDir;
@@ -3025,14 +3022,14 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3025
3022
  try {
3026
3023
  assertJournalCoherence(migrationsDir, rawMigrations);
3027
3024
  } catch (err) {
3028
- R.error(getErrorMessage(err));
3025
+ log.error(getErrorMessage(err));
3029
3026
  process.exit(1);
3030
3027
  }
3031
3028
  if (rawMigrations.length > 0) try {
3032
3029
  validatedMigrations = validateMigrations(rawMigrations);
3033
- R.info(`Found ${validatedMigrations.length} migration(s)`);
3030
+ log.info(`Found ${validatedMigrations.length} migration(s)`);
3034
3031
  } catch (err) {
3035
- R.error(getErrorMessage(err));
3032
+ log.error(getErrorMessage(err));
3036
3033
  process.exit(1);
3037
3034
  }
3038
3035
  if (dialect === "postgresql" && (bindings.needsD1 || rawMigrations.length > 0)) {
@@ -3042,7 +3039,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3042
3039
  } catch {}
3043
3040
  if (resources) {
3044
3041
  if (!resources.some((resource) => resource.type === "hyperdrive")) {
3045
- 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);
3046
3043
  const connectionString = await promptText({
3047
3044
  message: "Your project uses PostgreSQL. Enter your connection string:",
3048
3045
  placeholder: "postgresql://user:pass@host:5432/dbname",
@@ -3051,11 +3048,11 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3051
3048
  }
3052
3049
  });
3053
3050
  if (isCancelPrompt(connectionString)) {
3054
- R.info("Deploy cancelled.");
3051
+ log.info("Deploy cancelled.");
3055
3052
  process.exit(0);
3056
3053
  }
3057
3054
  await client.provisionDatabase(config.projectId, connectionString);
3058
- R.success("Hyperdrive provisioned.");
3055
+ log.success("Hyperdrive provisioned.");
3059
3056
  }
3060
3057
  }
3061
3058
  }
@@ -3072,16 +3069,16 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3072
3069
  let actualWorkerDir = workerDir;
3073
3070
  let actualWorkerMain = fwPreset.workerMain;
3074
3071
  if (fwPreset.bundle) {
3075
- R.step("Bundling worker...");
3072
+ log.step("Bundling worker...");
3076
3073
  const bundleResult = await bundleEntry(root, originalEntry);
3077
3074
  actualWorkerDir = bundleResult.outputDir;
3078
3075
  actualWorkerMain = bundleResult.entryFilename;
3079
- R.info("Worker bundled");
3076
+ log.info("Worker bundled");
3080
3077
  }
3081
3078
  if (needsWrapper(wrapperFeatures)) {
3082
- R.step("Generating wrapper...");
3079
+ log.step("Generating wrapper...");
3083
3080
  await generateDeployWrapperIfNeeded(root, actualWorkerDir, actualWorkerMain, wrapperFeatures);
3084
- R.info("Wrapper generated");
3081
+ log.info("Wrapper generated");
3085
3082
  }
3086
3083
  const wranglerCompat = resolveDeployWranglerCompat(root, voidConfig, workerDir, { dialect });
3087
3084
  const revalidate = voidConfig.routing?.revalidate;
@@ -3111,7 +3108,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3111
3108
  needed: needed.length,
3112
3109
  skipped
3113
3110
  });
3114
- if (skipped > 0) R.info(`Skipping ${skipped} unchanged asset(s)`);
3111
+ if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
3115
3112
  s.start("Packaging...");
3116
3113
  cliLog?.info("package_start", {
3117
3114
  mode: "framework",
@@ -3158,10 +3155,10 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
3158
3155
  if (revalidate) if (typeof revalidate === "number") summary.push(`ISR revalidate: ${revalidate}s`);
3159
3156
  else summary.push(`ISR revalidate: ${Object.keys(revalidate).length} path rule(s)`);
3160
3157
  summary.push(`Framework: ${detected.name}`);
3161
- Se(summary.join("\n"), result.url);
3158
+ note(summary.join("\n"), result.url);
3162
3159
  cleanupWrapper(root);
3163
3160
  warnUnpublishedRouting(result);
3164
- ye("Done!");
3161
+ outro("Done!");
3165
3162
  }
3166
3163
  async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetadata, detected, cliLog) {
3167
3164
  cliLog?.info("deploy_mode", {
@@ -3170,7 +3167,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3170
3167
  });
3171
3168
  if (!skipBuild) {
3172
3169
  const buildCmd = formatProjectCommand(root, "vite build");
3173
- R.step(`Building (${buildCmd})...`);
3170
+ log.step(`Building (${buildCmd})...`);
3174
3171
  cliLog?.info("build_start", { command: buildCmd });
3175
3172
  const buildStartedAt = Date.now();
3176
3173
  try {
@@ -3211,20 +3208,20 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3211
3208
  needsD1: true
3212
3209
  } : bindings;
3213
3210
  if (isFrameworkMode && authEnabled) {
3214
- 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.");
3215
3212
  process.exit(1);
3216
3213
  }
3217
3214
  if (isFrameworkMode && bindings.needsSandbox) {
3218
- 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.");
3219
3216
  process.exit(1);
3220
3217
  }
3221
3218
  if (isFrameworkMode && bindings.needsLive) {
3222
- 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.");
3223
3220
  process.exit(1);
3224
3221
  }
3225
3222
  const sandboxConfig = bindings.needsSandbox ? resolveSandboxConfig(deployConfig, root) : void 0;
3226
3223
  if (bindings.needsSandbox && requiresSandboxPlatformImage(deployConfig)) {
3227
- 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.");
3228
3225
  process.exit(1);
3229
3226
  }
3230
3227
  const clientDir = join(distDir, "client");
@@ -3244,14 +3241,14 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3244
3241
  try {
3245
3242
  assertJournalCoherence(migrationsDir, rawMigrations);
3246
3243
  } catch (err) {
3247
- R.error(getErrorMessage(err));
3244
+ log.error(getErrorMessage(err));
3248
3245
  process.exit(1);
3249
3246
  }
3250
3247
  if (rawMigrations.length > 0) try {
3251
3248
  validatedMigrations = validateMigrations(rawMigrations);
3252
- R.info(`Found ${validatedMigrations.length} migration(s)`);
3249
+ log.info(`Found ${validatedMigrations.length} migration(s)`);
3253
3250
  } catch (err) {
3254
- R.error(getErrorMessage(err));
3251
+ log.error(getErrorMessage(err));
3255
3252
  process.exit(1);
3256
3253
  }
3257
3254
  if (dialect === "postgresql" && (effectiveBindings.needsD1 || rawMigrations.length > 0)) {
@@ -3261,7 +3258,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3261
3258
  } catch {}
3262
3259
  if (resources) {
3263
3260
  if (!resources.some((resource) => resource.type === "hyperdrive")) {
3264
- 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);
3265
3262
  const connectionString = await promptText({
3266
3263
  message: "Your project uses PostgreSQL. Enter your connection string:",
3267
3264
  placeholder: "postgresql://user:pass@host:5432/dbname",
@@ -3270,11 +3267,11 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3270
3267
  }
3271
3268
  });
3272
3269
  if (isCancelPrompt(connectionString)) {
3273
- R.info("Deploy cancelled.");
3270
+ log.info("Deploy cancelled.");
3274
3271
  process.exit(0);
3275
3272
  }
3276
3273
  await client.provisionDatabase(config.projectId, connectionString);
3277
- R.success("Hyperdrive provisioned.");
3274
+ log.success("Hyperdrive provisioned.");
3278
3275
  }
3279
3276
  }
3280
3277
  }
@@ -3326,7 +3323,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3326
3323
  }
3327
3324
  if (deployConfig.output === "static" && pageScan && !isSsr) {
3328
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) {
3329
- R.info("All pages prerendered — deploying as static site");
3326
+ log.info("All pages prerendered — deploying as static site");
3330
3327
  cliLog?.info("full_to_static_redirect", { reason: "all_pages_prerendered" });
3331
3328
  return runStaticDeploy(root, config, client, {
3332
3329
  buildCommand: null,
@@ -3378,7 +3375,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3378
3375
  needed: needed.length,
3379
3376
  skipped
3380
3377
  });
3381
- if (skipped > 0) R.info(`Skipping ${skipped} unchanged asset(s)`);
3378
+ if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
3382
3379
  s.start("Packaging...");
3383
3380
  cliLog?.info("package_start", {
3384
3381
  mode: "full",
@@ -3436,9 +3433,9 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3436
3433
  migrationDialect: dialect
3437
3434
  };
3438
3435
  if (needsWrapper(wrapperFeatures)) {
3439
- R.step("Generating wrapper...");
3436
+ log.step("Generating wrapper...");
3440
3437
  await generateDeployWrapperIfNeeded(root, workerDir, fwPreset?.workerMain ?? "index.js", wrapperFeatures);
3441
- R.info("Wrapper generated");
3438
+ log.info("Wrapper generated");
3442
3439
  }
3443
3440
  }
3444
3441
  const workerFiles = collectWorkerFiles(workerDir);
@@ -3457,12 +3454,12 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
3457
3454
  if (revalidate) if (typeof revalidate === "number") summary.push(`ISR revalidate: ${revalidate}s`);
3458
3455
  else summary.push(`ISR revalidate: ${Object.keys(revalidate).length} path rule(s)`);
3459
3456
  if (isFrameworkMode) summary.push("Framework mode");
3460
- Se(summary.join("\n"), result.url);
3457
+ note(summary.join("\n"), result.url);
3461
3458
  warnUnpublishedRouting(result);
3462
- ye("Done!");
3459
+ outro("Done!");
3463
3460
  }
3464
3461
  async function createProjectFromSlug(root, client, slug, cliLog) {
3465
- R.step(`Creating project ${import_picocolors.default.blue(slug)}...`);
3462
+ log.step(`Creating project ${import_picocolors.default.blue(slug)}...`);
3466
3463
  cliLog?.info("project_create_start", { slug });
3467
3464
  const project = await client.createProject(slug);
3468
3465
  const config = {
@@ -3470,7 +3467,7 @@ async function createProjectFromSlug(root, client, slug, cliLog) {
3470
3467
  slug: project.slug
3471
3468
  };
3472
3469
  writeProjectConfig(root, config);
3473
- R.success(`Project created: ${import_picocolors.default.blue(config.slug)}`);
3470
+ log.success(`Project created: ${import_picocolors.default.blue(config.slug)}`);
3474
3471
  cliLog?.info("project_create_success", {
3475
3472
  projectId: config.projectId,
3476
3473
  slug: config.slug
@@ -3505,10 +3502,10 @@ function assertDeploySchemaDriftFree(root, dialect) {
3505
3502
  try {
3506
3503
  if (!hasDeploySchemaDrift(root, dialect)) return;
3507
3504
  } catch (error) {
3508
- R.error(getErrorMessage(error));
3505
+ log.error(getErrorMessage(error));
3509
3506
  process.exit(1);
3510
3507
  }
3511
- R.error(getDeploySchemaDriftMessage());
3508
+ log.error(getDeploySchemaDriftMessage());
3512
3509
  process.exit(1);
3513
3510
  }
3514
3511
  function hasDeploySchemaDrift(root, dialect) {
@@ -3652,8 +3649,8 @@ async function assertEnvSchemaValid(root, client, projectId) {
3652
3649
  });
3653
3650
  if (!hasSchema || report.valid) return;
3654
3651
  const formatted = formatEnvReport(report);
3655
- R.error(`Env validation failed:\n${formatted}`);
3656
- 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>\`.`);
3657
3654
  throw new DeployEventError("deploy: Aborting because env.ts schema is not satisfied.");
3658
3655
  }
3659
3656
  /**
@@ -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({