void 0.20.3 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/README.md +2 -2
  2. package/dist/agents-gni4eqBu.mjs +111 -0
  3. package/dist/auth-3sGB0zJ1.mjs +22 -0
  4. package/dist/{auth-DPl6kck4.mjs → auth-B9_D6ygs.mjs} +6 -241
  5. package/dist/auth-CAw7zHqj.mjs +2 -0
  6. package/dist/auth-client-BWBT8HLp.mjs +6 -0
  7. package/dist/auth-client-Bawdj38n.d.mts +7 -0
  8. package/dist/auth-client-react-7GFffu8R.d.mts +7 -0
  9. package/dist/auth-client-react-CMLwT2xI.mjs +6 -0
  10. package/dist/auth-client-solid-DyTFL4cq.d.mts +7 -0
  11. package/dist/auth-client-solid-UoreJWZG.mjs +6 -0
  12. package/dist/auth-client-svelte-Cv_WvrRk.mjs +6 -0
  13. package/dist/auth-client-svelte-zetW0KIH.d.mts +7 -0
  14. package/dist/auth-client-vue-CFk7Xbv3.mjs +6 -0
  15. package/dist/auth-client-vue-bChShbQP.d.mts +7 -0
  16. package/dist/{auth-cmd-CzwquNiP.mjs → auth-cmd-MkBG2u1f.mjs} +5 -5
  17. package/dist/{auth-link-ElDTgF7j.mjs → auth-link-Devmv96E.mjs} +5 -5
  18. package/dist/{better-auth-shared-DSCeohOK.d.mts → better-auth-shared-BoVwA5Vm.d.mts} +1 -6
  19. package/dist/{better-auth-shared-CYw1T3k4.mjs → better-auth-shared-syGYYmnY.mjs} +1 -1
  20. package/dist/{build-cmd-BpJe6boP.mjs → build-cmd-DsBGwtfs.mjs} +6 -4
  21. package/dist/{cache-D98YTqeE.mjs → cache-BMw8eMyF.mjs} +6 -4
  22. package/dist/{cancel-deploy-CPbEQLMG.mjs → cancel-deploy-B3_s9NIN.mjs} +5 -3
  23. package/dist/cf-access-rAZxzMkL.mjs +181 -0
  24. package/dist/cf-build-output-CTdlo6Rt.mjs +520 -0
  25. package/dist/cli/cf-compat.d.mts +1 -0
  26. package/dist/cli/cf-compat.mjs +934 -0
  27. package/dist/cli/cli.mjs +60 -38
  28. package/dist/cli/env-schema-probe.mjs +3 -3
  29. package/dist/client-DAAivdid.mjs +2 -0
  30. package/dist/{client-BQBrZoCX.mjs → client-PdAJ-F0t.mjs} +6 -12
  31. package/dist/{cloudflare-auth-6M5llVPC.mjs → cloudflare-auth-BCmTc1X_.mjs} +13 -44
  32. package/dist/{cloudflare-cmd-4RPGN3KB.mjs → cloudflare-cmd-D6PrKn7o.mjs} +4 -7
  33. package/dist/{cloudflare-connect-t1UU5svD.mjs → cloudflare-connect-DloREDlc.mjs} +6 -6
  34. package/dist/cloudflare-operations-BHNJVDbN.mjs +2 -0
  35. package/dist/{cloudflare-operations-BzWnlC1_.mjs → cloudflare-operations-CPEdHYhM.mjs} +37 -39
  36. package/dist/cloudflare-user-output-Q-k0QoNQ.mjs +20 -0
  37. package/dist/collect-DAUItMDS.mjs +2 -0
  38. package/dist/collect-DXHNWHcT.mjs +48 -0
  39. package/dist/config--T87TD8T.mjs +2 -0
  40. package/dist/{config-NOG_U1aK.mjs → config-BSe70f4T.mjs} +4 -6
  41. package/dist/config-DDIFxQYx.mjs +2 -0
  42. package/dist/{config-uNGuFsI2.mjs → config-Dxr6cTXn.mjs} +22 -37
  43. package/dist/config-DywxBLQC.d.mts +185 -0
  44. package/dist/config-entry.d.mts +6 -0
  45. package/dist/config-entry.mjs +7 -0
  46. package/dist/config-uP7ZDtVZ.mjs +21 -0
  47. package/dist/config-write-y3CBI_ux.mjs +60 -0
  48. package/dist/{connect-WCQZ_u3m.mjs → connect-BvC9kolB.mjs} +8 -6
  49. package/dist/{create-project-D0oXA090.mjs → create-project-C9lQhRzj.mjs} +8 -23
  50. package/dist/create-project-CI-17RVJ.mjs +2 -0
  51. package/dist/database-provider-Cx525bwX.mjs +6 -0
  52. package/dist/database-provider.mjs +1 -5
  53. package/dist/{db-DJ-9qs3S.mjs → db-R7IQgOv5.mjs} +48 -44
  54. package/dist/{delete-BZ4-WaGm.mjs → delete-CghI_NXn.mjs} +6 -4
  55. package/dist/deploy-CYPymbtG.mjs +2 -0
  56. package/dist/{deploy-BAhhcg5q.mjs → deploy-H968Lo4T.mjs} +751 -190
  57. package/dist/discover-BBzDZe_o.mjs +2 -0
  58. package/dist/{discover-xvfrgJeo.mjs → discover-C4O6YxVS.mjs} +3 -8
  59. package/dist/{dist-BrsS7cai.mjs → dist-4WkAWhWx.mjs} +1 -15
  60. package/dist/{dist-m40_XgNh.mjs → dist-Bn8Kodjp.mjs} +1 -1
  61. package/dist/dist-C5fND3R0.mjs +2 -0
  62. package/dist/dist-D7-nEOXi.mjs +2 -0
  63. package/dist/{output-B0cfNSx5.mjs → dist-Dn6nn2IU.mjs} +3 -926
  64. package/dist/{domain-BxAyhxXN.mjs → domain-CITt8lC-.mjs} +7 -5
  65. package/dist/{route-types-Da-DpyUp.mjs → drizzle-Beb2Am5S.mjs} +1 -280
  66. package/dist/{email-Ce6SQq-i.mjs → email-C5kaZXzJ.mjs} +2 -2
  67. package/dist/{email-Bj7Cvdwp.mjs → email-_8VmyX7V.mjs} +14 -12
  68. package/dist/{entry-DU3oDoQ3.mjs → entry-DdRFGK0y.mjs} +2 -2
  69. package/dist/{env-DP_EErve.mjs → env-DV4r3nHz.mjs} +9 -7
  70. package/dist/{env-DBKmK4vc.mjs → env-DX_v-Q-v.mjs} +1 -1
  71. package/dist/env-Yz4HcvHs.mjs +78 -0
  72. package/dist/env-helpers--wFmQ_5Q.mjs +136 -0
  73. package/dist/{env-types-BNPhro-M.mjs → env-types-CWDtqHgw.mjs} +6 -2
  74. package/dist/{env-validation-CF6KvTRf.mjs → env-validation-BsFEXps5.mjs} +19 -28
  75. package/dist/env-validation-DIDGM7h4.mjs +2 -0
  76. package/dist/fetch-CXDChK7B.mjs +18 -0
  77. package/dist/fetch-_SeGZao9.d.mts +57 -0
  78. package/dist/fetch-stream-AOByI7Ki.mjs +81 -0
  79. package/dist/fetch-stream-Bjf0hoZb.d.mts +49 -0
  80. package/dist/gen-BBiIZw6g.mjs +2 -0
  81. package/dist/{gen-B_wPnVTK.mjs → gen-CFOEEc-t.mjs} +13 -11
  82. package/dist/{generate-RTK8_kK1.mjs → generate-C0VY6RVf.mjs} +2 -2
  83. package/dist/{github-cmd-C-z_xRrQ.mjs → github-cmd-jYjha2LO.mjs} +6 -4
  84. package/dist/{handler-D1hLsObx.d.mts → handler-BXJTXd02.d.mts} +6 -1
  85. package/dist/handler-DghKr6dU.mjs +150 -0
  86. package/dist/head-D_QRR5Yd.mjs +112 -0
  87. package/dist/head-client-DzmJGN4C.mjs +90 -0
  88. package/dist/{headers-BAHwgHdW.mjs → headers-B_HBMgi0.mjs} +2 -2
  89. package/dist/{help-CwOX-zmI.mjs → help-C46mnlUS.mjs} +17 -12
  90. package/dist/help-CS_nAsWu.mjs +2 -0
  91. package/dist/index.d.mts +2 -20
  92. package/dist/index.mjs +116 -60
  93. package/dist/{init-BGktCXgA.mjs → init-CSXmvxKu.mjs} +49 -50
  94. package/dist/{link-D2kbqhWb.mjs → link-DxMOALXk.mjs} +7 -5
  95. package/dist/{list-CvkK_G7k.mjs → list-0wQs0oYg.mjs} +7 -5
  96. package/dist/live-CB1y5IuC.mjs +411 -0
  97. package/dist/live-CKiJilLr.d.mts +105 -0
  98. package/dist/local-d1-DzykTWY8.mjs +104 -0
  99. package/dist/{login-WIjNc77c.mjs → login-CKk5NX4d.mjs} +6 -11
  100. package/dist/login-Ch9cgWRF.mjs +2 -0
  101. package/dist/{logs-dLUFCapG.mjs → logs-hxWBSoej.mjs} +6 -4
  102. package/dist/migrate-CLty4mZR.mjs +2 -0
  103. package/dist/migrate-DcW8F2W8.mjs +285 -0
  104. package/dist/migration-handler-DM4clYj5.d.mts +51 -0
  105. package/dist/{neon-DHwd2zvC.mjs → neon-n74ta1Pr.mjs} +1 -1
  106. package/dist/{node-Ez5KW5rn.mjs → node-Cupyf7-s.mjs} +6 -6
  107. package/dist/{operator-auth-B3e08unv.mjs → operator-auth-BkVgJqv-.mjs} +2 -2
  108. package/dist/{operator-client-LUZnlnYk.mjs → operator-client-A0iex2yi.mjs} +2 -1
  109. package/dist/{operator-cmd-CKJ7xIRs.mjs → operator-cmd-BEUYhaHB.mjs} +6 -6
  110. package/dist/output-urU86XeT.mjs +146 -0
  111. package/dist/{package-json-CPoWX79C.mjs → package-json-iCbMg5XF.mjs} +1 -1
  112. package/dist/pages/client.d.mts +5 -2
  113. package/dist/pages/client.mjs +5 -3
  114. package/dist/pages/head-client.mjs +1 -89
  115. package/dist/pages/head.mjs +1 -111
  116. package/dist/pages/index.d.mts +2 -3
  117. package/dist/pages/index.mjs +7 -7
  118. package/dist/pages/islands-plugin.mjs +2 -2
  119. package/dist/pages/prefetch.d.mts +2 -30
  120. package/dist/pages/prefetch.mjs +1 -89
  121. package/dist/pages/protocol.d.mts +2 -2
  122. package/dist/pages/protocol.mjs +3 -3
  123. package/dist/pages/serialize.d.mts +2 -9
  124. package/dist/pages/serialize.mjs +1 -13
  125. package/dist/plan-BEZ8VJW0.mjs +256 -0
  126. package/dist/plan-DpuOr14e.mjs +2 -0
  127. package/dist/{platform-auth-config-CdVWRRJr.mjs → platform-auth-config-Df6yVw-e.mjs} +6 -6
  128. package/dist/{platform-auth-protection-Drl0qhrn.mjs → platform-auth-protection-Jb0yftay.mjs} +7 -5
  129. package/dist/{platform-auth-recovery-CmKEWpDo.mjs → platform-auth-recovery-DmRyIfW0.mjs} +6 -5
  130. package/dist/platform-cmd-C9Vt7m-d.mjs +2 -0
  131. package/dist/{platform-cmd-5q_k56xS.mjs → platform-cmd-DRxCOTwy.mjs} +8 -5
  132. package/dist/{platform-domain-4GiDlcqx.mjs → platform-domain-IjiXgrXJ.mjs} +4 -3
  133. package/dist/{platform-lifecycle-R9xAxvtG.mjs → platform-lifecycle-BquAaU-5.mjs} +208 -37
  134. package/dist/platform-lifecycle-CuJIZNvA.mjs +2 -0
  135. package/dist/{platform-management-BfWsXHEW.mjs → platform-management-CCQKGsq4.mjs} +8 -5
  136. package/dist/platform-management-Cgyed0WY.mjs +2 -0
  137. package/dist/{platform-recovery-CbK-I1FB.mjs → platform-recovery-DS8ih1SW.mjs} +3 -3
  138. package/dist/platform-registry-BJbgZLS1.mjs +431 -0
  139. package/dist/{plugin-inference-BDRfZngg.mjs → plugin-inference-DsvtJLll.mjs} +4 -4
  140. package/dist/prefetch-Bsc_Pb6c.mjs +90 -0
  141. package/dist/prefetch-Ce6la4EI.d.mts +31 -0
  142. package/dist/{prepare-blNRQvQl.mjs → prepare-CaUxODOU.mjs} +3 -2
  143. package/dist/prepare-D4CkM3_v.mjs +2 -0
  144. package/dist/{prepare-CtDJjoOj.mjs → prepare-pcWcxSCh.mjs} +13 -11
  145. package/dist/prerender-render-Cf_WDE9W.mjs +111 -0
  146. package/dist/prerender-render.mjs +1 -110
  147. package/dist/{preset-lAy0B0BQ.mjs → preset-Dowh9tTt.mjs} +16 -118
  148. package/dist/project-BEBFDFLz.mjs +2 -0
  149. package/dist/project-CWNIPoXc.mjs +209 -0
  150. package/dist/{project-cmd-CTdmnzvc.mjs → project-cmd-2lN--YAX.mjs} +18 -16
  151. package/dist/{project-paths-SK8nMHPp.mjs → project-paths-CKQ-Q5JS.mjs} +47 -14
  152. package/dist/project-slug-23TpquG4.mjs +8 -0
  153. package/dist/project-slug-DofjTFd-.mjs +2 -0
  154. package/dist/{project-team-CGxsQe3_.mjs → project-team-Dapn9HZn.mjs} +6 -4
  155. package/dist/{project-token-Cirx7uwZ.mjs → project-token-C90v9SJK.mjs} +6 -4
  156. package/dist/{project-tsconfig-Ql2XsSQp.mjs → project-tsconfig-CwfqUnVp.mjs} +2 -2
  157. package/dist/{protocol-C-pqYJjE.d.mts → protocol-ZH3jP4a7.d.mts} +1 -1
  158. package/dist/providers-BNKRacMr.d.mts +7 -0
  159. package/dist/provision-CNgEBkVA.mjs +3 -0
  160. package/dist/{provision-CSJOjjQk.mjs → provision-Cck2m3jJ.mjs} +11 -25
  161. package/dist/queues-BWKt1Xo4.d.mts +7 -0
  162. package/dist/{requests-4Nq59hOr.mjs → requests-CzX46I0i.mjs} +5 -3
  163. package/dist/resolve-project-BTotl8Nn.mjs +2 -0
  164. package/dist/{resolve-project--Vxawf7z.mjs → resolve-project-Xvis70DG.mjs} +2 -8
  165. package/dist/response-Tn7rU0MV.mjs +30 -0
  166. package/dist/{rollback-Dr7u0Ljx.mjs → rollback-BEeyc73H.mjs} +6 -4
  167. package/dist/{rolldown-runtime-rQ84J-ij.mjs → rolldown-runtime-DXIUcv95.mjs} +1 -10
  168. package/dist/route-types-Id82-veQ.mjs +280 -0
  169. package/dist/{local-d1-D2I6Ox5F.mjs → runner-BGVsGgkb.mjs} +6 -114
  170. package/dist/runner-CQs_cDSG.mjs +2 -0
  171. package/dist/runner-mysql-1o47achK.mjs +2 -0
  172. package/dist/{runner-mysql-7BPUNGmL.mjs → runner-mysql-BhwMk2Bm.mjs} +2 -9
  173. package/dist/{runner-pg-BkEza-dX.mjs → runner-pg-CJ_JeGF6.mjs} +2 -9
  174. package/dist/runner-pg-D7z01mQS.mjs +2 -0
  175. package/dist/runtime/ai.mjs +1 -1
  176. package/dist/runtime/auth-client-react.d.mts +2 -6
  177. package/dist/runtime/auth-client-react.mjs +1 -5
  178. package/dist/runtime/auth-client-solid.d.mts +2 -6
  179. package/dist/runtime/auth-client-solid.mjs +1 -5
  180. package/dist/runtime/auth-client-svelte.d.mts +2 -6
  181. package/dist/runtime/auth-client-svelte.mjs +1 -5
  182. package/dist/runtime/auth-client-vue.d.mts +2 -6
  183. package/dist/runtime/auth-client-vue.mjs +1 -5
  184. package/dist/runtime/auth-client.d.mts +2 -6
  185. package/dist/runtime/auth-client.mjs +1 -5
  186. package/dist/runtime/auth.mjs +1 -21
  187. package/dist/runtime/better-auth-mysql.d.mts +1 -1
  188. package/dist/runtime/better-auth-mysql.mjs +1 -1
  189. package/dist/runtime/better-auth-pg.d.mts +1 -1
  190. package/dist/runtime/better-auth-pg.mjs +1 -1
  191. package/dist/runtime/better-auth.d.mts +1 -1
  192. package/dist/runtime/better-auth.mjs +1 -1
  193. package/dist/runtime/client-react.d.mts +3 -3
  194. package/dist/runtime/client-react.mjs +3 -3
  195. package/dist/runtime/client-solid.d.mts +3 -3
  196. package/dist/runtime/client-solid.mjs +3 -3
  197. package/dist/runtime/client-svelte.d.mts +3 -3
  198. package/dist/runtime/client-svelte.mjs +3 -3
  199. package/dist/runtime/client-vue.d.mts +3 -3
  200. package/dist/runtime/client-vue.mjs +3 -3
  201. package/dist/runtime/client.d.mts +3 -3
  202. package/dist/runtime/client.mjs +3 -3
  203. package/dist/runtime/db.mjs +1 -1
  204. package/dist/runtime/durable.mjs +1 -1
  205. package/dist/runtime/email/testing.mjs +1 -1
  206. package/dist/runtime/env-helpers.mjs +1 -135
  207. package/dist/runtime/env-public-client.mjs +1 -1
  208. package/dist/runtime/env-public.mjs +2 -2
  209. package/dist/runtime/env.mjs +1 -77
  210. package/dist/runtime/fetch-stream.d.mts +2 -49
  211. package/dist/runtime/fetch-stream.mjs +2 -80
  212. package/dist/runtime/fetch.d.mts +2 -57
  213. package/dist/runtime/fetch.mjs +2 -17
  214. package/dist/runtime/handler.d.mts +1 -1
  215. package/dist/runtime/handler.mjs +1 -149
  216. package/dist/runtime/kv.mjs +1 -1
  217. package/dist/runtime/live-client.d.mts +1 -1
  218. package/dist/runtime/live-server.mjs +2 -2
  219. package/dist/runtime/live.d.mts +2 -104
  220. package/dist/runtime/live.mjs +1 -410
  221. package/dist/runtime/migration-handler-mysql.d.mts +1 -1
  222. package/dist/runtime/migration-handler-pg.d.mts +1 -1
  223. package/dist/runtime/migration-handler.d.mts +2 -50
  224. package/dist/runtime/queues.d.mts +2 -6
  225. package/dist/runtime/queues.mjs +1 -1
  226. package/dist/runtime/response.mjs +1 -29
  227. package/dist/runtime/sandbox.mjs +1 -1
  228. package/dist/runtime/sse.mjs +1 -171
  229. package/dist/runtime/storage.mjs +1 -1
  230. package/dist/runtime/validator.d.mts +1 -1
  231. package/dist/runtime/validator.mjs +1 -71
  232. package/dist/runtime/ws-server.d.mts +2 -2
  233. package/dist/runtime/ws-server.mjs +2 -2
  234. package/dist/runtime/ws.d.mts +2 -121
  235. package/dist/{scan-CpK-57ug.mjs → scan-DJbooZm2.mjs} +3 -3
  236. package/dist/{scan-BMH4rzlv.mjs → scan-DdDvRCU1.mjs} +8 -26
  237. package/dist/{secret-AcPi-FoA.mjs → secret-wnTel5Yw.mjs} +8 -6
  238. package/dist/serialize-BPvnNQuA.mjs +14 -0
  239. package/dist/serialize-CfSwWfF2.d.mts +10 -0
  240. package/dist/{skills-C0RvGjeE.mjs → skills-B-690E7h.mjs} +3 -2
  241. package/dist/sse-BaC1jXko.mjs +172 -0
  242. package/dist/{subcommand-prompt-Bmyn5Rlc.mjs → subcommand-prompt-Gj3VzLIh.mjs} +2 -1
  243. package/dist/sveltekit.d.mts +2 -1
  244. package/dist/sveltekit.mjs +3 -2
  245. package/dist/validate-DqJ33oHj.mjs +2 -0
  246. package/dist/validate-qNhV00PD.mjs +180 -0
  247. package/dist/validator-BTOu0fB0.mjs +72 -0
  248. package/dist/{wrangler--imS8n0d.mjs → wrangler-D01qs6VB.mjs} +259 -71
  249. package/dist/ws-BwcqizuH.d.mts +122 -0
  250. package/dist/{yarn-pnp-DxSInkzL.mjs → yarn-pnp-CVEc3gE7.mjs} +1 -1
  251. package/package.json +19 -8
  252. package/skills/void/SKILL.md +6 -4
  253. package/skills/void/docs/guide/ai.md +3 -3
  254. package/skills/void/docs/guide/app-types.md +12 -11
  255. package/skills/void/docs/guide/auth.md +2 -2
  256. package/skills/void/docs/guide/database/d1.md +1 -1
  257. package/skills/void/docs/guide/database/mysql.md +1 -1
  258. package/skills/void/docs/guide/database/postgresql.md +3 -3
  259. package/skills/void/docs/guide/deployment.md +2 -2
  260. package/skills/void/docs/guide/durable-state.md +2 -2
  261. package/skills/void/docs/guide/edge/headers.md +3 -3
  262. package/skills/void/docs/guide/edge/prerendering.md +1 -1
  263. package/skills/void/docs/guide/edge/redirects.md +4 -4
  264. package/skills/void/docs/guide/edge/revalidation.md +6 -6
  265. package/skills/void/docs/guide/edge/rewrites.md +28 -27
  266. package/skills/void/docs/guide/edge/static-assets.md +1 -1
  267. package/skills/void/docs/guide/email.md +15 -15
  268. package/skills/void/docs/guide/env-migration.md +1 -1
  269. package/skills/void/docs/guide/index.md +1 -1
  270. package/skills/void/docs/guide/pages-routing/head.md +1 -1
  271. package/skills/void/docs/guide/platform/administration/access.md +13 -5
  272. package/skills/void/docs/guide/platform/administration/projects.md +3 -1
  273. package/skills/void/docs/guide/platform/installation/ci.md +3 -0
  274. package/skills/void/docs/guide/platform/installation/credentials.md +15 -5
  275. package/skills/void/docs/guide/platform/installation/prerequisites.md +2 -0
  276. package/skills/void/docs/guide/platform/installation/setup.md +1 -1
  277. package/skills/void/docs/guide/remote-dev.md +2 -2
  278. package/skills/void/docs/guide/sandboxes.md +1 -1
  279. package/skills/void/docs/guide/ssg.md +1 -1
  280. package/skills/void/docs/guide/websockets.md +1 -1
  281. package/skills/void/docs/integrations/cloudflare.md +86 -84
  282. package/skills/void/docs/integrations/frameworks/analog.md +14 -9
  283. package/skills/void/docs/integrations/frameworks/astro.md +14 -10
  284. package/skills/void/docs/integrations/frameworks/nuxt.md +14 -9
  285. package/skills/void/docs/integrations/frameworks/overview.md +35 -29
  286. package/skills/void/docs/integrations/frameworks/react-router.md +1 -1
  287. package/skills/void/docs/integrations/frameworks/sveltekit.md +33 -30
  288. package/skills/void/docs/integrations/frameworks/tanstack-start.md +1 -1
  289. package/skills/void/docs/integrations/nodejs-bun-deno.md +5 -5
  290. package/skills/void/docs/reference/api.md +21 -4
  291. package/skills/void/docs/reference/cli.md +32 -23
  292. package/skills/void/docs/reference/config.md +56 -33
  293. package/skills/void/docs/reference/structure.md +2 -2
  294. package/dist/validate-tBBN_dXH.mjs +0 -505
@@ -1,21 +1,26 @@
1
- import { a as isAbsolute, c as relative, l as resolve, n as dirname, o as join, t as basename } from "./dist-BrsS7cai.mjs";
2
- import { A as outro, C as cancel, D as log, E as intro, I as isCancel, M as select, P as text, f as detectAgents, k as note, p as getPackageDir, r as cliTitle, w as confirm } from "./output-B0cfNSx5.mjs";
3
- import { n as readProjectPaths } from "./project-paths-SK8nMHPp.mjs";
4
- import { E as writeProjectConfig, S as readProjectConfig, d as isStagingMode, l as getToken, w as writeDeploymentPlatform, x as readDeploymentPlatform, y as attachSelectedPlatform } from "./auth-DPl6kck4.mjs";
5
- import { i as LATEST_KNOWN_COMPAT_DATE, k as writeProvisionedWranglerConfig } from "./wrangler--imS8n0d.mjs";
6
- import { c as getDatabaseDialect, f as readConfig } from "./config-uNGuFsI2.mjs";
7
- import { n as ensureProjectTsconfig, t as createProjectTsconfig } from "./project-tsconfig-Ql2XsSQp.mjs";
8
- import { r as detectFramework } from "./plugin-inference-BDRfZngg.mjs";
1
+ import { a as join, i as isAbsolute, l as relative, n as dirname, t as basename, u as resolve } from "./dist-4WkAWhWx.mjs";
2
+ import { r as cliTitle } from "./output-urU86XeT.mjs";
3
+ import { n as readProjectPaths, o as TYPED_CONFIG_FILE } from "./project-paths-CKQ-Q5JS.mjs";
4
+ import { c as getToken, u as isStagingMode } from "./auth-B9_D6ygs.mjs";
5
+ import { d as writeProjectConfig, i as readDeploymentPlatform, l as writeDeploymentPlatform, o as readProjectConfig, t as attachSelectedPlatform } from "./project-CWNIPoXc.mjs";
6
+ import { m as readConfig, u as getDatabaseDialect } from "./config-Dxr6cTXn.mjs";
7
+ import { L as materializeCloudflareConfig, i as LATEST_KNOWN_COMPAT_DATE, k as writeProvisionedWranglerConfig } from "./wrangler-D01qs6VB.mjs";
8
+ import { n as ensureProjectTsconfig, t as createProjectTsconfig } from "./project-tsconfig-CwfqUnVp.mjs";
9
+ import { r as detectFramework } from "./plugin-inference-DsvtJLll.mjs";
9
10
  import { n as parseDotenvFile, t as expandDotenv } from "./dotenv-VQxupEUv.mjs";
10
11
  import { t as MagicString } from "./dist-BR1quN_w.mjs";
11
- import { n as writeDrizzleConfig } from "./config-NOG_U1aK.mjs";
12
- import { n as PlatformClient } from "./client-BQBrZoCX.mjs";
13
- import { r as formatProjectCommand } from "./preset-lAy0B0BQ.mjs";
14
- import { n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-D0oXA090.mjs";
15
- import { n as promptForLoginToken } from "./login-WIjNc77c.mjs";
16
- import { discoverPlatform, saveDiscoveredPlatform } from "./platform-cmd-5q_k56xS.mjs";
17
- import { t as connectCloudflare } from "./cloudflare-connect-t1UU5svD.mjs";
18
- import { n as findInstalledYarnPnpRuntime, r as hasLocalLockfile, t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-DxSInkzL.mjs";
12
+ import { B as text, E as confirm, I as select, N as note, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
13
+ import { t as writeDrizzleConfig } from "./config-BSe70f4T.mjs";
14
+ import { n as getPackageDir, t as detectAgents } from "./agents-gni4eqBu.mjs";
15
+ import { n as PlatformClient } from "./client-PdAJ-F0t.mjs";
16
+ import { r as formatProjectCommand } from "./preset-Dowh9tTt.mjs";
17
+ import { n as writeVoidProjectConfig, t as canRewriteVoidProjectConfig } from "./config-write-y3CBI_ux.mjs";
18
+ import { i as migrateFrameworkAdapterPaths, t as migrateLegacyVoidConfig } from "./migrate-DcW8F2W8.mjs";
19
+ import { i as promptProjectSelection, r as promptAndCreateProject } from "./create-project-C9lQhRzj.mjs";
20
+ import { t as promptForLoginToken } from "./login-CKk5NX4d.mjs";
21
+ import { i as saveDiscoveredPlatform, t as discoverPlatform } from "./platform-cmd-DRxCOTwy.mjs";
22
+ import { t as connectCloudflare } from "./cloudflare-connect-DloREDlc.mjs";
23
+ import { n as findInstalledYarnPnpRuntime, r as hasLocalLockfile, t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-CVEc3gE7.mjs";
19
24
  import { createRequire } from "node:module";
20
25
  import { existsSync, mkdirSync, readFileSync, readdirSync, rmdirSync, unlinkSync, writeFileSync } from "node:fs";
21
26
  import { fileURLToPath } from "node:url";
@@ -244,6 +249,7 @@ const SCAFFOLD_GITIGNORE_LINES = [
244
249
  "dist",
245
250
  ".void",
246
251
  ".wrangler",
252
+ ".void-wrangler.jsonc",
247
253
  ".env",
248
254
  ".env.*",
249
255
  "!.env.example",
@@ -780,7 +786,6 @@ const VITE_CONFIG_FILES = [
780
786
  "vite.config.cjs"
781
787
  ];
782
788
  const VOID_CONFIG_FILE = "void.json";
783
- const VOID_SCHEMA_PATH = "./node_modules/void/schema.json";
784
789
  function asRecord(value) {
785
790
  if (!value || typeof value !== "object" || Array.isArray(value)) return null;
786
791
  return value;
@@ -954,7 +959,7 @@ function isScaffoldableEmptyProject(root) {
954
959
  function shouldPromptForInitLocation(root) {
955
960
  if (isScaffoldableEmptyProject(root)) return false;
956
961
  if (existsSync(join(root, "package.json"))) return false;
957
- if (existsSync(join(root, VOID_CONFIG_FILE))) return false;
962
+ if (existsSync(join(root, VOID_CONFIG_FILE)) || existsSync(join(root, "void.config.ts"))) return false;
958
963
  return findViteConfig(root) === void 0;
959
964
  }
960
965
  function validateSubfolderName(root, value) {
@@ -1590,8 +1595,7 @@ function setupTsconfig(root, state, pagesFramework) {
1590
1595
  }
1591
1596
  }
1592
1597
  function readProjectWranglerCompatDate(root) {
1593
- for (const name of ["wrangler.jsonc", "wrangler.json"]) {
1594
- const configPath = join(root, name);
1598
+ for (const configPath of [materializeCloudflareConfig(root)]) {
1595
1599
  if (!existsSync(configPath)) continue;
1596
1600
  try {
1597
1601
  const raw = readFileSync(configPath, "utf-8");
@@ -1608,23 +1612,16 @@ function readProjectWranglerCompatDate(root) {
1608
1612
  */
1609
1613
  function setupWranglerConfig(root, framework) {
1610
1614
  if (framework.class === "a") return;
1611
- const hadConfig = ["wrangler.jsonc", "wrangler.json"].some((name) => existsSync(join(root, name)));
1615
+ const hadConfig = existsSync(materializeCloudflareConfig(root));
1612
1616
  const result = writeProvisionedWranglerConfig(root, {
1613
1617
  compatibilityDate: LATEST_KNOWN_COMPAT_DATE,
1614
1618
  compatibilityFlags: ["nodejs_als"]
1615
1619
  });
1616
- if (result.modified) log.success(hadConfig ? "Updated Cloudflare config with compatibility_date and nodejs_als" : "Created wrangler.jsonc with compatibility_date and nodejs_als");
1620
+ if (result.modified) log.success(hadConfig ? "Updated Cloudflare config with compatibility_date and nodejs_als" : "Created Cloudflare config with compatibility_date and nodejs_als");
1617
1621
  else log.success(`${basename(result.configPath)} looks good`);
1618
1622
  }
1619
- function withDefaultVoidSchema(config) {
1620
- if (typeof config.$schema === "string" && config.$schema.length > 0) return config;
1621
- return {
1622
- $schema: VOID_SCHEMA_PATH,
1623
- ...config
1624
- };
1625
- }
1626
1623
  function writeVoidConfig(root, config) {
1627
- writeFileSync(join(root, VOID_CONFIG_FILE), JSON.stringify(withDefaultVoidSchema(config), null, 2) + "\n");
1624
+ writeVoidProjectConfig(root, config);
1628
1625
  }
1629
1626
  function ensureVoidWorkerCompatibilityDate(root) {
1630
1627
  const config = readConfig(root);
@@ -1632,26 +1629,25 @@ function ensureVoidWorkerCompatibilityDate(root) {
1632
1629
  const worker = asRecord(config.worker) ?? {};
1633
1630
  if (typeof worker.compatibility_date === "string" && worker.compatibility_date.length > 0) return;
1634
1631
  const compatibilityDate = readProjectWranglerCompatDate(root) ?? "2026-02-24";
1632
+ if (!canRewriteVoidProjectConfig(root)) {
1633
+ writeProvisionedWranglerConfig(root, { compatibilityDate });
1634
+ log.success("Pinned worker compatibility_date in void.lock.json");
1635
+ return;
1636
+ }
1635
1637
  config.worker = {
1636
1638
  ...worker,
1637
1639
  compatibility_date: compatibilityDate
1638
1640
  };
1639
1641
  writeVoidConfig(root, config);
1640
- log.success("Pinned worker compatibility_date in void.json");
1642
+ log.success("Pinned worker compatibility_date in void.config.ts");
1641
1643
  }
1642
1644
  function clearConfiguredDatabase(root, messages) {
1643
1645
  const config = readConfig(root);
1644
- const configPath = join(root, VOID_CONFIG_FILE);
1645
1646
  if (config.database !== "pg" && config.database !== "mysql") {
1646
1647
  log.info(messages.unchanged);
1647
1648
  return;
1648
1649
  }
1649
1650
  delete config.database;
1650
- if (Object.keys(config).length === 0) {
1651
- unlinkSync(configPath);
1652
- log.success(messages.updated);
1653
- return;
1654
- }
1655
1651
  writeVoidConfig(root, config);
1656
1652
  log.success(messages.updated);
1657
1653
  }
@@ -1659,27 +1655,27 @@ function applyDatabaseDialect(root, dialect) {
1659
1655
  const config = readConfig(root);
1660
1656
  if (dialect === "postgresql") {
1661
1657
  if (config.database === "pg") {
1662
- log.info("PostgreSQL already configured in void.json");
1658
+ log.info("PostgreSQL already configured in void.config.ts");
1663
1659
  return;
1664
1660
  }
1665
1661
  config.database = "pg";
1666
1662
  writeVoidConfig(root, config);
1667
- log.success("Configured PostgreSQL in void.json");
1663
+ log.success("Configured PostgreSQL in void.config.ts");
1668
1664
  return;
1669
1665
  }
1670
1666
  if (dialect === "mysql") {
1671
1667
  if (config.database === "mysql") {
1672
- log.info("MySQL already configured in void.json");
1668
+ log.info("MySQL already configured in void.config.ts");
1673
1669
  return;
1674
1670
  }
1675
1671
  config.database = "mysql";
1676
1672
  writeVoidConfig(root, config);
1677
- log.success("Configured MySQL in void.json");
1673
+ log.success("Configured MySQL in void.config.ts");
1678
1674
  return;
1679
1675
  }
1680
1676
  clearConfiguredDatabase(root, {
1681
1677
  unchanged: "Using default D1 (SQLite) configuration",
1682
- updated: "Updated void.json to use the default D1 (SQLite) configuration"
1678
+ updated: "Updated void.config.ts to use the default D1 (SQLite) configuration"
1683
1679
  });
1684
1680
  }
1685
1681
  function detectDatabaseSetup(root) {
@@ -1692,7 +1688,7 @@ function applyDatabaseSetup(root, choice) {
1692
1688
  if (choice === "none") {
1693
1689
  clearConfiguredDatabase(root, {
1694
1690
  unchanged: "No database configured yet",
1695
- updated: "Removed database config from void.json"
1691
+ updated: "Removed database config from void.config.ts"
1696
1692
  });
1697
1693
  return;
1698
1694
  }
@@ -1710,12 +1706,12 @@ async function promptStarterMode() {
1710
1706
  {
1711
1707
  value: "postgresql",
1712
1708
  label: "PostgreSQL",
1713
- hint: "Scaffolds the same starter with PostgreSQL, a generated migration, a seed file, and writes \"database\": \"pg\" to void.json."
1709
+ hint: "Scaffolds the same starter with PostgreSQL, a generated migration, a seed file, and writes database: \"pg\" to void.config.ts."
1714
1710
  },
1715
1711
  {
1716
1712
  value: "mysql",
1717
1713
  label: "MySQL",
1718
- hint: "Scaffolds the same starter with MySQL, a generated migration, a seed file, and writes \"database\": \"mysql\" to void.json."
1714
+ hint: "Scaffolds the same starter with MySQL, a generated migration, a seed file, and writes database: \"mysql\" to void.config.ts."
1719
1715
  },
1720
1716
  {
1721
1717
  value: "static",
@@ -1822,7 +1818,7 @@ async function ensureVoidPlatformConnection(root) {
1822
1818
  let selectedApiUrl = null;
1823
1819
  let promptedForPlatform = false;
1824
1820
  try {
1825
- const { getApiUrl, getSiteDomain } = await import("./auth-DPl6kck4.mjs").then((n) => n.t);
1821
+ const { getApiUrl, getSiteDomain } = await import("./auth-CAw7zHqj.mjs");
1826
1822
  selectedApiUrl = getApiUrl(root);
1827
1823
  getSiteDomain(root);
1828
1824
  } catch (error) {
@@ -1998,7 +1994,7 @@ function setupGithubActions(root, state, platform = "void", platformApiUrl = WOR
1998
1994
  mkdirSync(workflowDir, { recursive: true });
1999
1995
  writeFileSync(workflowPath, getWorkflowYaml(root, state.packageManager, slug, platform, platformApiUrl));
2000
1996
  log.success("Created .github/workflows/void-deploy.yml");
2001
- if (platform === "cloudflare") note("Pushes to main will deploy through the same readiness-gated Cloudflare path.\nAdd a scoped CLOUDFLARE_API_TOKEN repository secret; PostgreSQL/MySQL apps also need DATABASE_URL.\nKeep account_id in wrangler.jsonc.", "GitHub Actions Cloudflare deploy");
1997
+ if (platform === "cloudflare") note("Pushes to main will deploy through the same readiness-gated Cloudflare path.\nAdd a scoped CLOUDFLARE_API_TOKEN repository secret; PostgreSQL/MySQL apps also need DATABASE_URL.\nKeep cloudflare.account_id in void.config.ts.", "GitHub Actions Cloudflare deploy");
2002
1998
  else if (slug) note(`Pushes to main will build and deploy "${slug}" via GitHub OIDC — no token to store.\nConnect the repo to your project in the Void dashboard to authorize it.`, "GitHub Actions OIDC deploy");
2003
1999
  else note("Pushes to main will build and deploy via GitHub OIDC — no token to store.\nSet a VOID_PROJECT repository variable (Settings → Secrets and variables → Actions → Variables)\nto your project slug, and connect the repo to your project in the Void dashboard.", "GitHub Actions OIDC deploy");
2004
2000
  }
@@ -2768,6 +2764,8 @@ async function runInitCommand(root, initArgs) {
2768
2764
  intro(cliTitle("init"));
2769
2765
  const targeted = Boolean(initArgs && (initArgs.tsconfig || initArgs.github || initArgs.agents));
2770
2766
  if (!targeted) root = await resolveInitRoot(root);
2767
+ const hadTypedConfig = existsSync(join(root, TYPED_CONFIG_FILE));
2768
+ if (migrateLegacyVoidConfig(root)) log.success("Migrated project configuration to void.config.ts. Commit void.config.ts and void.lock.json.");
2771
2769
  const workspaceSubpackage = isInsideWorkspaceSubpackage(root);
2772
2770
  if (workspaceSubpackage && initArgs?.git !== void 0) throw new Error("init: The --git/--no-git options are not available when adding a package to an existing monorepo.");
2773
2771
  const gitInitialized = !workspaceSubpackage && (!targeted || initArgs?.git !== void 0) ? await setupGit(root, initArgs?.git) : false;
@@ -2824,14 +2822,15 @@ async function runInitCommand(root, initArgs) {
2824
2822
  ensureProjectTsconfig(root, void 0, hasSchema, hasSchema);
2825
2823
  }
2826
2824
  ensureGitignore(root);
2827
- if (framework) setupWranglerConfig(root, framework);
2828
2825
  if (!targeted) ensureVoidWorkerCompatibilityDate(root);
2826
+ if (framework) setupWranglerConfig(root, framework);
2827
+ if (!hadTypedConfig) migrateFrameworkAdapterPaths(root);
2829
2828
  if (!targeted && !didScaffoldStarter) applyDatabaseSetup(root, await promptDatabaseSetup(root));
2830
2829
  if (!targeted || initArgs?.agents) {
2831
2830
  injectAgentBlock(root);
2832
2831
  const agents = detectAgents(root);
2833
2832
  if (agents.length > 0) {
2834
- const { linkSkillsForSpecificAgents } = await import("./skills-C0RvGjeE.mjs");
2833
+ const { linkSkillsForSpecificAgents } = await import("./skills-B-690E7h.mjs");
2835
2834
  linkSkillsForSpecificAgents(root, agents);
2836
2835
  } else log.info("No coding agent detected; read the bundled docs linked in AGENTS.md");
2837
2836
  }
@@ -2865,7 +2864,7 @@ async function runInitCommand(root, initArgs) {
2865
2864
  let shouldSetupGithub = targeted ? initArgs?.github === true : deploymentPlatform !== "none";
2866
2865
  if (shouldSetupGithub && !githubStepSkipForSubpackage && deploymentPlatform !== "cloudflare" && deploymentPlatform !== "none") {
2867
2866
  if (!voidPlatformDiscovery) {
2868
- const { getApiUrl } = await import("./auth-DPl6kck4.mjs").then((n) => n.t);
2867
+ const { getApiUrl } = await import("./auth-CAw7zHqj.mjs");
2869
2868
  voidPlatformDiscovery = await discoverPlatform(getApiUrl(root));
2870
2869
  }
2871
2870
  if (!voidPlatformDiscovery.capabilities.githubActions) {
@@ -1,8 +1,10 @@
1
- import { A as outro, C as cancel, D as log, E as intro, c as import_picocolors, r as cliTitle } from "./output-B0cfNSx5.mjs";
2
- import { E as writeProjectConfig, S as readProjectConfig, c as getSiteDomain, l as getToken, y as attachSelectedPlatform } from "./auth-DPl6kck4.mjs";
3
- import { n as PlatformClient } from "./client-BQBrZoCX.mjs";
4
- import { n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-D0oXA090.mjs";
5
- import { r as resolveProjectBySlug } from "./resolve-project--Vxawf7z.mjs";
1
+ import { c as import_picocolors, r as cliTitle } from "./output-urU86XeT.mjs";
2
+ import { c as getToken, s as getSiteDomain } from "./auth-B9_D6ygs.mjs";
3
+ import { d as writeProjectConfig, o as readProjectConfig, t as attachSelectedPlatform } from "./project-CWNIPoXc.mjs";
4
+ import { O as intro, P as outro, T as cancel, j as log } from "./dist-Dn6nn2IU.mjs";
5
+ import { n as PlatformClient } from "./client-PdAJ-F0t.mjs";
6
+ import { i as promptProjectSelection, r as promptAndCreateProject } from "./create-project-C9lQhRzj.mjs";
7
+ import { r as resolveProjectBySlug } from "./resolve-project-Xvis70DG.mjs";
6
8
  //#region src/cli/link.ts
7
9
  function projectLabel(slug, root, url) {
8
10
  if (url) return url;
@@ -1,7 +1,9 @@
1
- import { A as outro, D as log, E as intro, a as dim, c as import_picocolors, o as ensureUtc, r as cliTitle, u as tablePrefix } from "./output-B0cfNSx5.mjs";
2
- import { S as readProjectConfig, l as getToken, x as readDeploymentPlatform } from "./auth-DPl6kck4.mjs";
3
- import { n as PlatformClient } from "./client-BQBrZoCX.mjs";
4
- import { r as resolveProjectBySlug } from "./resolve-project--Vxawf7z.mjs";
1
+ import { a as dim, c as import_picocolors, o as ensureUtc, r as cliTitle, u as tablePrefix } from "./output-urU86XeT.mjs";
2
+ import { c as getToken } from "./auth-B9_D6ygs.mjs";
3
+ import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-CWNIPoXc.mjs";
4
+ import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
5
+ import { n as PlatformClient } from "./client-PdAJ-F0t.mjs";
6
+ import { r as resolveProjectBySlug } from "./resolve-project-Xvis70DG.mjs";
5
7
  //#region src/cli/list.ts
6
8
  async function runListCommand(root, slug) {
7
9
  console.log();
@@ -41,7 +43,7 @@ async function runListCommand(root, slug) {
41
43
  }
42
44
  async function showCloudflareDeployments(root, slug) {
43
45
  if (slug) throw new Error("project: A project name selects a Void platform project and is not used for direct Cloudflare apps.");
44
- const { readCloudflareWorkerStatus, resolveCloudflareOperationContext } = await import("./cloudflare-operations-BzWnlC1_.mjs").then((n) => n.t);
46
+ const { readCloudflareWorkerStatus, resolveCloudflareOperationContext } = await import("./cloudflare-operations-BHNJVDbN.mjs");
45
47
  const status = await readCloudflareWorkerStatus(resolveCloudflareOperationContext(root));
46
48
  if (status.versions.length === 0) {
47
49
  outro(`No deployments for ${status.workerName}.`);