void 1.3.0 → 1.5.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 (451) hide show
  1. package/README.md +1 -1
  2. package/dist/{account-cmd-B4i71m7k.mjs → account-cmd-ChVKPZ-w.mjs} +7 -8
  3. package/dist/{action-key-XZ9HkWAO.mjs → action-key-XtKKbbsi.mjs} +1 -2
  4. package/dist/{agents-CuNtT0D_.mjs → agents-DRo8gzni.mjs} +2 -3
  5. package/dist/{application-analysis-DYdVoMAY.mjs → application-analysis-2vGZrKzg.mjs} +27 -29
  6. package/dist/{application-routing-C8EqRDfv.mjs → application-routing-DnUQoOJD.mjs} +2 -3
  7. package/dist/{ast-CsZ_q_gc.mjs → ast-Cv0JwXqb.mjs} +1 -2
  8. package/dist/{ast-bindings-C3yaPs1y.mjs → ast-bindings-BkivMJIo.mjs} +6 -11
  9. package/dist/{atomic-write-Dq6R0BPN.mjs → atomic-write-DA6eD1Kp.mjs} +1 -2
  10. package/dist/auth-CH4PLAX1.d.mts +68 -0
  11. package/dist/{auth-Cbqi1iVX.mjs → auth-CL-p_rqV.mjs} +1 -1
  12. package/dist/{auth-B6iOCjKI.mjs → auth-Dy8svcqQ.mjs} +6 -7
  13. package/dist/{auth-3sGB0zJ1.mjs → auth-YVjBX5NY.mjs} +1 -2
  14. package/dist/{auth-client-Bawdj38n.d.mts → auth-client-6-Ft9i9T.d.mts} +0 -2
  15. package/dist/{auth-client-BWBT8HLp.mjs → auth-client-DwCdwKbw.mjs} +1 -2
  16. package/dist/{auth-client-react-CMLwT2xI.mjs → auth-client-react-CJdeErvM.mjs} +1 -2
  17. package/dist/{auth-client-react-7GFffu8R.d.mts → auth-client-react-DvQLe5Zb.d.mts} +0 -2
  18. package/dist/{auth-client-solid-UoreJWZG.mjs → auth-client-solid-BRvgvp6h.mjs} +1 -2
  19. package/dist/{auth-client-solid-DyTFL4cq.d.mts → auth-client-solid-P9pEtKGp.d.mts} +0 -2
  20. package/dist/{auth-client-svelte-zetW0KIH.d.mts → auth-client-svelte-B5j8irT6.d.mts} +0 -2
  21. package/dist/{auth-client-svelte-Cv_WvrRk.mjs → auth-client-svelte-BSqUCEed.mjs} +1 -2
  22. package/dist/{auth-client-vue-bChShbQP.d.mts → auth-client-vue-BEiAfavk.d.mts} +0 -2
  23. package/dist/{auth-client-vue-CFk7Xbv3.mjs → auth-client-vue-CPkbRtOO.mjs} +1 -2
  24. package/dist/{auth-link-BKwHPbdv.mjs → auth-link-D4uMdOsw.mjs} +7 -8
  25. package/dist/{auth-migrations-BO27GDNr.mjs → auth-migrations-DDeifS3v.mjs} +1 -2
  26. package/dist/{auth-router-DqLx8E0F.mjs → auth-router-62dna450.mjs} +14 -10
  27. package/dist/{base64-DVrOndmI.mjs → base64-ikl9yBy3.mjs} +1 -2
  28. package/dist/{better-auth-shared-DVk2DkTW.d.mts → better-auth-shared-BJyG2mH0.d.mts} +2 -6
  29. package/dist/{better-auth-shared-7FM3Uk2N.mjs → better-auth-shared-CiclgPde.mjs} +4 -5
  30. package/dist/{build-cmd-Dy4psnt1.mjs → build-cmd-D93K_4Sa.mjs} +7 -8
  31. package/dist/{cache-DV37S6dl.mjs → cache-CiIzEED4.mjs} +7 -8
  32. package/dist/{cancel-deploy-DMPyu1Vt.mjs → cancel-deploy-BNoGfn2e.mjs} +6 -7
  33. package/dist/{cf-access-CWP4avfP.mjs → cf-access-BmBT2h8_.mjs} +3 -4
  34. package/dist/{cf-access-BM9G0lhO.mjs → cf-access-pejlJmuy.mjs} +1 -2
  35. package/dist/{cf-build-output-Bapzc_8Z.mjs → cf-build-output-B1C8U83u.mjs} +60 -317
  36. package/dist/cf-build-output-CmDOcA7K.mjs +1 -0
  37. package/dist/{cf-command-values-ByHk0xg4.mjs → cf-command-values-Ccl-zRhl.mjs} +10 -7
  38. package/dist/cf-config-migrate-Dy8MrKgF.mjs +326 -0
  39. package/dist/{cf-worker-settings-BECvvTVd.mjs → cf-worker-settings-CARs4Wy9.mjs} +14 -10
  40. package/dist/cli/cli.mjs +66 -76
  41. package/dist/cli/cloudflare-operation-process.mjs +21 -19
  42. package/dist/cli/env-schema-probe.d.mts +1 -5
  43. package/dist/cli/env-schema-probe.mjs +4 -5
  44. package/dist/client-DVtAKeUm.mjs +1 -0
  45. package/dist/{client-BEMtySaV.mjs → client-Qayy9xEh.mjs} +10 -12
  46. package/dist/{cloudflare-auth-Byo_0_N9.mjs → cloudflare-auth-CEu-1Ps_.mjs} +3 -4
  47. package/dist/{cloudflare-cmd-BaqIigwI.mjs → cloudflare-cmd-DiFGaLow.mjs} +7 -8
  48. package/dist/{cloudflare-config-DchHxPTo.mjs → cloudflare-config-Chet188_.mjs} +25 -9
  49. package/dist/{cloudflare-connect-pNLQmr_e.mjs → cloudflare-connect-BdgAQBc7.mjs} +5 -6
  50. package/dist/{cloudflare-operations-vP3b5CQf.mjs → cloudflare-operations-CWA24vCh.mjs} +8 -9
  51. package/dist/{cloudflare-operations-PCM4wucv.mjs → cloudflare-operations-D8MoezuN.mjs} +1 -1
  52. package/dist/{cloudflare-process-8jEYIeim.mjs → cloudflare-process-DjJ638A-.mjs} +7 -9
  53. package/dist/{cloudflare-user-output-Q-k0QoNQ.mjs → cloudflare-user-output-zEwuGrEJ.mjs} +1 -2
  54. package/dist/collect-8i0wU63d.mjs +1 -0
  55. package/dist/{collect-Dew86qce.mjs → collect-C6Blu9yw.mjs} +2 -3
  56. package/dist/{config-BU6hMu1W.mjs → config-BszFVhpk.mjs} +1 -1
  57. package/dist/{config-BIaXIkkv.mjs → config-Bt4rw93x.mjs} +5 -6
  58. package/dist/{config-Du88-7Y8.d.mts → config-CzsNzGVH.d.mts} +4 -6
  59. package/dist/{config-DHgSEWT7.mjs → config-DkA9jYF2.mjs} +9 -8
  60. package/dist/config-WlvEcL82.mjs +86 -0
  61. package/dist/config-entry.d.mts +1 -3
  62. package/dist/config-entry.mjs +1 -2
  63. package/dist/{connect-DwVsBvVh.mjs → connect-b9mJbb6X.mjs} +10 -11
  64. package/dist/{create-project-CjzbBlTv.mjs → create-project-eomwm0wa.mjs} +9 -11
  65. package/dist/{create-project-CgrnvzyA.mjs → create-project-rnjum4_V.mjs} +1 -1
  66. package/dist/{database-provider-Cx525bwX.mjs → database-provider-DkZo4VwN.mjs} +1 -2
  67. package/dist/database-provider.d.mts +1 -3
  68. package/dist/database-provider.mjs +1 -1
  69. package/dist/{db-rvo64snS.mjs → db-UPWmiSk1.mjs} +52 -54
  70. package/dist/{db-types-NGxPwnlt.mjs → db-types-C_8amnB0.mjs} +3 -4
  71. package/dist/{delete-DWX6dP4M.mjs → delete-BeeYi1WO.mjs} +7 -8
  72. package/dist/deploy-CfU7CR-b.mjs +2 -0
  73. package/dist/{deploy-hRPvw8ci.mjs → deploy-CwmCcTlq.mjs} +321 -185
  74. package/dist/{deploy-managed-static-CDYA2p3L.mjs → deploy-managed-static-gPDxyp3v.mjs} +46 -46
  75. package/dist/{deploy-transport-JCxw7QDi.mjs → deploy-transport-L6zzPE9T.mjs} +17 -17
  76. package/dist/deploy.d.mts +3 -3
  77. package/dist/deploy.mjs +13 -12
  78. package/dist/{dev-inbox-D0jxye_D.mjs → dev-inbox-CwH5VuZj.mjs} +3 -4
  79. package/dist/discover-D4mQthao.mjs +1 -0
  80. package/dist/{discover-LaV0tbIu.mjs → discover-Dhkzxgdt.mjs} +3 -4
  81. package/dist/{dispatch-OVLeWW8K.mjs → dispatch-CiJ1Xrba.mjs} +13 -16
  82. package/dist/{dist-Cegxq8gs.mjs → dist-B6eN80gc.mjs} +199 -118
  83. package/dist/{dist-D15hFhP0.mjs → dist-BWNkVq50.mjs} +8 -15
  84. package/dist/{dist-Cor9XGoz.mjs → dist-D23AAMxT.mjs} +9 -16
  85. package/dist/{dist-ipQi0Q8y.mjs → dist-DMYe8CZJ.mjs} +1 -2
  86. package/dist/{dist-B1PLt4_8.mjs → dist-eV_Ep60B.mjs} +1 -1
  87. package/dist/{domain-CH5iBD9Y.mjs → domain-3xdH9p2L.mjs} +8 -9
  88. package/dist/{dotenv-CNazY3-w.mjs → dotenv-CEI8hapP.mjs} +1 -2
  89. package/dist/{drizzle-9TubSZvI.mjs → drizzle-C8MPqt5m.mjs} +1 -1
  90. package/dist/{drizzle-BQfyvQKX.mjs → drizzle-lFdzSEa9.mjs} +2 -3
  91. package/dist/{email-B9ayYQEG.mjs → email-BHY72ixO.mjs} +3 -4
  92. package/dist/{email-CbTO1l78.mjs → email-Du3YRnM5.mjs} +14 -15
  93. package/dist/{email-cloudflare-B8-pq_-W.mjs → email-cloudflare-CtD8qE13.mjs} +34 -24
  94. package/dist/{email-protocol-D9nTvhCp.mjs → email-protocol-DTs_TjCS.mjs} +1 -2
  95. package/dist/{entry-BEM8ZuGP.mjs → entry-CBZsCy3O.mjs} +5 -6
  96. package/dist/{env-BBdw236G.mjs → env-Cnvp0pGy.mjs} +10 -11
  97. package/dist/{env-BaMz0j7H.mjs → env-CuzZZyjB.mjs} +3 -4
  98. package/dist/{env-0jrMQJI_.mjs → env-DtKg5G26.mjs} +2 -3
  99. package/dist/{env-helpers--wFmQ_5Q.mjs → env-helpers-Dj_SIwPu.mjs} +1 -2
  100. package/dist/{env-helpers-CyKtOBpj.d.mts → env-helpers-U56xuFgL.d.mts} +1 -3
  101. package/dist/{env-public-6lqiSD2b.d.mts → env-public-CeNeO_AT.d.mts} +2 -4
  102. package/dist/{env-raw-D74P4ebM.mjs → env-raw-e8qgqAzQ.mjs} +1 -2
  103. package/dist/{env-types-BicfKBhV.mjs → env-types-DqzVBKnS.mjs} +4 -5
  104. package/dist/{env-validation-BfBVvBNe.mjs → env-validation-C8Cmvas0.mjs} +1 -1
  105. package/dist/{env-validation-XcukUlFM.mjs → env-validation-GV1oD4EV.mjs} +10 -10
  106. package/dist/error-pages-COVBnzK7.mjs +31 -0
  107. package/dist/{fetch-CUX0tB78.d.mts → fetch-B-gLGYVl.d.mts} +0 -4
  108. package/dist/{fetch-CtESUYWd.mjs → fetch-C8yhLoF3.mjs} +3 -4
  109. package/dist/{fetch-error-Bw0n-IY-.mjs → fetch-error-DmlRM6e4.mjs} +2 -4
  110. package/dist/{fetch-stream-BspOeTAI.mjs → fetch-stream-DafNtVJC.mjs} +4 -5
  111. package/dist/{fetch-stream-DfkAzZf-.d.mts → fetch-stream-DuwxWmBM.d.mts} +1 -3
  112. package/dist/{gen-CCx3t2Ju.mjs → gen-BvVmpZ5f.mjs} +12 -13
  113. package/dist/gen-i61rdQgg.mjs +1 -0
  114. package/dist/{generate-DkEb9rL-.mjs → generate-BOp1g1H_.mjs} +1 -1
  115. package/dist/{generate-B1m4Cm4n.mjs → generate-CWb8aOsm.mjs} +4 -5
  116. package/dist/{generated-wrangler-config-DeWj5F9Y.mjs → generated-wrangler-config-CoDaaFsA.mjs} +1 -2
  117. package/dist/{git-metadata-D-gurjzG.mjs → git-metadata-Cukp5kV5.mjs} +1 -2
  118. package/dist/{github-cmd-BzkRLkbg.mjs → github-cmd-X2GKiLi-.mjs} +8 -9
  119. package/dist/{handler-CQv5YDS0.d.mts → handler-Drm_lyrV.d.mts} +15 -26
  120. package/dist/{handler-BZ1t7-Rv.mjs → handler-xmzz0U38.mjs} +4 -5
  121. package/dist/{head-D2VF4ApL.mjs → head-5XPcnG-j.mjs} +1 -2
  122. package/dist/{head-C8K_iGe6.d.mts → head-MeF_5M_3.d.mts} +0 -2
  123. package/dist/{headers-D522zd0A.mjs → headers-DEUBAM6W.mjs} +4 -5
  124. package/dist/help-BcZDUcTw.mjs +1 -0
  125. package/dist/{help-CKbrhZha.mjs → help-EWDNxST-.mjs} +19 -11
  126. package/dist/{inbound-VrOLqwZY.mjs → inbound-DQfekMtz.mjs} +5 -6
  127. package/dist/{inbound-Da7XsjH3.d.mts → inbound-DSKSHDUj.d.mts} +0 -4
  128. package/dist/index.d.mts +23 -13
  129. package/dist/index.mjs +504 -225
  130. package/dist/{info-oBm8yK8J.mjs → info-jW8_d3VI.mjs} +6 -7
  131. package/dist/{init-CBp_uMve.mjs → init-jDQ5G9QC.mjs} +62 -64
  132. package/dist/{isr-config-fZaJJ8t7.mjs → isr-config-DhBkzCdY.mjs} +5 -9
  133. package/dist/{limits-D0vD1M9A.mjs → limits-CrHLm5Tk.mjs} +1 -2
  134. package/dist/{limits-CFsDKQvU.d.mts → limits-_xIf5z_P.d.mts} +0 -2
  135. package/dist/{link-Dt_QXmM4.mjs → link-DOyxX5Xs.mjs} +8 -9
  136. package/dist/{list-DF6asTdt.mjs → list-C9pTYDtl.mjs} +8 -9
  137. package/dist/{live-CXJ9yC98.d.mts → live-CDBHyYiR.d.mts} +2 -4
  138. package/dist/{live-BcHoTDFe.mjs → live-DF4HUl2m.mjs} +5 -7
  139. package/dist/{load-user-env-DD5qveNU.mjs → load-user-env-CSwdofj0.mjs} +1 -2
  140. package/dist/{local-d1-CUhH3qtj.mjs → local-d1-CKfek6Z4.mjs} +4 -5
  141. package/dist/{log-BMwmN5Ae.mjs → log-D9hwSySP.mjs} +3 -4
  142. package/dist/login-C0MiQrYs.mjs +1 -0
  143. package/dist/{login-BjSyhXlT.mjs → login-koQbjzPd.mjs} +6 -7
  144. package/dist/{logs-DmvBl6xA.mjs → logs-cTU5TsRW.mjs} +8 -9
  145. package/dist/migrate-BG09-KOv.mjs +1 -0
  146. package/dist/{migrate-BXRHpYwR.mjs → migrate-C62pGTfr.mjs} +22 -79
  147. package/dist/{migration-handler-CwlEQUoo.d.mts → migration-handler-D8mDx3Ew.d.mts} +0 -4
  148. package/dist/{migration-handler-Cg0Y4EPu.mjs → migration-handler-DCehTlWs.mjs} +1 -2
  149. package/dist/{mime-BAyHPskU.mjs → mime-DKkO7ZtA.mjs} +2 -3
  150. package/dist/{mysql-migration-sql-BIS5vbNk.mjs → mysql-migration-sql-CI9VTwjt.mjs} +3 -5
  151. package/dist/{neon-DTZr7Bu7.mjs → neon-CJzQSycr.mjs} +2 -3
  152. package/dist/nitro.d.mts +0 -2
  153. package/dist/nitro.mjs +6 -7
  154. package/dist/{node-DtD7ZiPf.mjs → node-BfAt2rz8.mjs} +9 -10
  155. package/dist/{operator-args-BsJIYXaT.mjs → operator-args-D79WQP70.mjs} +2 -3
  156. package/dist/{operator-auth-Cr2zCc-J.mjs → operator-auth-CfDcmzpo.mjs} +2 -3
  157. package/dist/{operator-client-C-ROjk1I.mjs → operator-client-BIY4-N_6.mjs} +3 -4
  158. package/dist/operator-cmd-BhHXIL2G.mjs +1 -0
  159. package/dist/{operator-cmd-DjZKGGgN.mjs → operator-cmd-CnAvSqJ5.mjs} +8 -9
  160. package/dist/{output-BpgYODYx.mjs → output-BCdLioKP.mjs} +4 -5
  161. package/dist/output-E6gecbbV.mjs +1 -0
  162. package/dist/{package-json-BjYqR-So.mjs → package-json-DvS6IFRv.mjs} +2 -3
  163. package/dist/pages/client.d.mts +22 -23
  164. package/dist/pages/client.mjs +51 -31
  165. package/dist/pages/head.d.mts +1 -1
  166. package/dist/pages/head.mjs +1 -1
  167. package/dist/pages/index.d.mts +18 -14
  168. package/dist/pages/index.mjs +99 -10
  169. package/dist/pages/islands-plugin.d.mts +29 -11
  170. package/dist/pages/islands-plugin.mjs +3 -4
  171. package/dist/pages/prefetch.d.mts +1 -1
  172. package/dist/pages/prefetch.mjs +1 -1
  173. package/dist/pages/protocol.d.mts +2 -2
  174. package/dist/pages/protocol.mjs +2 -2
  175. package/dist/pages/serialize.d.mts +1 -1
  176. package/dist/pages/serialize.mjs +1 -1
  177. package/dist/{pg-J2HbZIkX.mjs → pg-DoyPxa_X.mjs} +1 -2
  178. package/dist/{picocolors-BsDfhxIw.mjs → picocolors-D1NxSLw-.mjs} +2 -3
  179. package/dist/{plan-BhLO2p4w.mjs → plan-BOD70XGS.mjs} +1 -2
  180. package/dist/plan-CQ-N4gws.mjs +1 -0
  181. package/dist/{platform-args-BMD2gjc_.mjs → platform-args-Bv9hoLEL.mjs} +4 -7
  182. package/dist/platform-args-C1kqYUen.mjs +1 -0
  183. package/dist/{platform-auth-config-BgnuMbml.mjs → platform-auth-config-CLj0EvnB.mjs} +10 -11
  184. package/dist/{platform-auth-protection-NjRejttU.mjs → platform-auth-protection-DQDSxVhr.mjs} +10 -11
  185. package/dist/{platform-auth-recovery-Ug12d9W5.mjs → platform-auth-recovery-DD3oLerq.mjs} +9 -11
  186. package/dist/{platform-cmd-HByuZAO7.mjs → platform-cmd-PLNLg-2N.mjs} +12 -13
  187. package/dist/{platform-cmd-BYKLMPCn.mjs → platform-cmd-WnOmdLzR.mjs} +1 -1
  188. package/dist/{platform-discovery-CHhNs8Nn.mjs → platform-discovery-B0eZjZ3B.mjs} +2 -3
  189. package/dist/{platform-domain-DLSQ8GF8.mjs → platform-domain-Bnq0vg0q.mjs} +7 -8
  190. package/dist/{platform-lifecycle-3dwFJmnq.mjs → platform-lifecycle-BCsFg1Tl.mjs} +53 -88
  191. package/dist/{platform-lifecycle-BRqcxerG.mjs → platform-lifecycle-BQiN9HN5.mjs} +1 -1
  192. package/dist/{platform-management-ZK6XcbCo.mjs → platform-management-CMJR8Zi-.mjs} +1 -1
  193. package/dist/{platform-management-ZZ6bQM5j.mjs → platform-management-nzCDwtiN.mjs} +7 -9
  194. package/dist/{platform-plans-config-CeydDSj0.mjs → platform-plans-config-Dx1agneU.mjs} +5 -6
  195. package/dist/{platform-recovery-8vNE5dNN.mjs → platform-recovery-DBNoME3I.mjs} +5 -6
  196. package/dist/{platform-registry-B9mWX9LO.mjs → platform-registry-DZ_2Xuqd.mjs} +4 -6
  197. package/dist/{platform-setup-Ca53gtt0.mjs → platform-setup-VEcHu0Vq.mjs} +4 -5
  198. package/dist/{plugin-inference-CeiB6BG5.mjs → plugin-inference-DmwjC3y2.mjs} +16 -24
  199. package/dist/{prefetch-Ce6la4EI.d.mts → prefetch-CG0K6JPd.d.mts} +0 -2
  200. package/dist/{prefetch-Bsc_Pb6c.mjs → prefetch-L93_1Jk7.mjs} +1 -2
  201. package/dist/prepare-BJMmfq3W.mjs +1 -0
  202. package/dist/{prepare-5BR7Splm.mjs → prepare-BPsfLWaW.mjs} +4 -5
  203. package/dist/{prepare-Dseww74N.mjs → prepare-pfl2LIMy.mjs} +17 -14
  204. package/dist/{prerender-render-CaShbHJ3.mjs → prerender-render-RlAj6hh8.mjs} +2 -3
  205. package/dist/prerender-render.d.mts +1 -3
  206. package/dist/prerender-render.mjs +1 -1
  207. package/dist/{project-rqDnVsJN.mjs → project-CLwxcEdq.mjs} +3 -4
  208. package/dist/{project-zdB3fs9G.mjs → project-DVsTAWFh.mjs} +1 -1
  209. package/dist/{project-cmd-CjLNNxwe.mjs → project-cmd-5Izu4Pg3.mjs} +21 -23
  210. package/dist/{project-paths-DGu_QZ_Q.mjs → project-paths-CdGv9Tmi.mjs} +3 -5
  211. package/dist/project-slug-BUy0lmyR.mjs +1 -0
  212. package/dist/{project-slug-23TpquG4.mjs → project-slug-CO6ci9XG.mjs} +0 -1
  213. package/dist/{project-team-DE5drjcl.mjs → project-team-DSUyjZFh.mjs} +7 -8
  214. package/dist/{project-token-XEYEXfiJ.mjs → project-token-wj09YQSB.mjs} +7 -8
  215. package/dist/{project-tsconfig-Itv1f4WC.mjs → project-tsconfig-Cf2NFjlM.mjs} +28 -8
  216. package/dist/{project-zero-trust-6VPU8zmV.mjs → project-zero-trust-BMHf2YF0.mjs} +7 -8
  217. package/dist/{protocol-DimNxVRr.mjs → protocol-0-lp9ZYx.mjs} +6 -7
  218. package/dist/{protocol-BekmFxCI.d.mts → protocol-xdrl-In0.d.mts} +3 -5
  219. package/dist/{providers-BNKRacMr.d.mts → providers-D5P8j_8D.d.mts} +0 -2
  220. package/dist/{providers-BUHwJlmM.mjs → providers-ZARwX2cL.mjs} +1 -2
  221. package/dist/{provision-B7UFrBH7.mjs → provision-CRiNnlfE.mjs} +29 -14
  222. package/dist/{provision-Chq0NRAV.mjs → provision-CxHIGBIZ.mjs} +1 -1
  223. package/dist/{queues-BWKt1Xo4.d.mts → queues-DdM42xXW.d.mts} +0 -2
  224. package/dist/{r2-conditions-B8xUgJRc.mjs → r2-conditions-BqkQNt2n.mjs} +1 -2
  225. package/dist/{requests-CG-Pj8ze.mjs → requests-DicgB5jU.mjs} +6 -7
  226. package/dist/resolve-project-CgfjtOwz.mjs +1 -0
  227. package/dist/{resolve-project-Xoi6eTWY.mjs → resolve-project-D0YNnJfm.mjs} +4 -5
  228. package/dist/{resource-name-C7LVpcRm.mjs → resource-name-DlJ9QXzg.mjs} +1 -2
  229. package/dist/{response-Tn7rU0MV.mjs → response-HmNjB30w.mjs} +1 -2
  230. package/dist/{rollback-CIrm2txZ.mjs → rollback-DrDZOKNE.mjs} +7 -8
  231. package/dist/{rolldown-runtime-3h0WiCiA.mjs → rolldown-runtime-uD8oG6U2.mjs} +1 -2
  232. package/dist/{route-types--PAOzHlH.mjs → route-types-irZc1txT.mjs} +100 -7
  233. package/dist/route-url-BGOiyKNz.d.mts +24 -0
  234. package/dist/route-url-CRDF-I0I.mjs +57 -0
  235. package/dist/routes-stub.d.mts +4 -3
  236. package/dist/routes-stub.mjs +1 -1
  237. package/dist/{routing-assets-DdSFxoLp.mjs → routing-assets-DJIVOrCh.mjs} +1 -2
  238. package/dist/{runner-3uGC-oLF.mjs → runner-5MCSimKx.mjs} +5 -6
  239. package/dist/{runner-WCdfeI0q.mjs → runner-QMeOpScZ.mjs} +1 -1
  240. package/dist/{runner-mysql-BcHnLUuM.mjs → runner-mysql-0zVmB1JW.mjs} +1 -1
  241. package/dist/{runner-mysql-BWmbk5IE.mjs → runner-mysql-Bdmsp_x4.mjs} +3 -4
  242. package/dist/{runner-pg-Cgp-cr_p.mjs → runner-pg-2pjltt0t.mjs} +1 -1
  243. package/dist/{runner-pg-Cr3qrqi4.mjs → runner-pg-mYc75KfH.mjs} +2 -3
  244. package/dist/runtime/ai.d.mts +0 -4
  245. package/dist/runtime/ai.mjs +6 -8
  246. package/dist/runtime/auth-client-react.d.mts +1 -1
  247. package/dist/runtime/auth-client-react.mjs +1 -1
  248. package/dist/runtime/auth-client-solid.d.mts +1 -1
  249. package/dist/runtime/auth-client-solid.mjs +1 -1
  250. package/dist/runtime/auth-client-svelte.d.mts +1 -1
  251. package/dist/runtime/auth-client-svelte.mjs +1 -1
  252. package/dist/runtime/auth-client-vue.d.mts +1 -1
  253. package/dist/runtime/auth-client-vue.mjs +1 -1
  254. package/dist/runtime/auth-client.d.mts +1 -1
  255. package/dist/runtime/auth-client.mjs +1 -1
  256. package/dist/runtime/auth.d.mts +2 -2
  257. package/dist/runtime/auth.mjs +1 -1
  258. package/dist/runtime/better-auth-mysql.d.mts +2 -4
  259. package/dist/runtime/better-auth-mysql.mjs +3 -4
  260. package/dist/runtime/better-auth-pg.d.mts +2 -4
  261. package/dist/runtime/better-auth-pg.mjs +4 -5
  262. package/dist/runtime/better-auth.d.mts +2 -4
  263. package/dist/runtime/better-auth.mjs +3 -4
  264. package/dist/runtime/client-react.d.mts +4 -4
  265. package/dist/runtime/client-react.mjs +4 -4
  266. package/dist/runtime/client-solid.d.mts +4 -4
  267. package/dist/runtime/client-solid.mjs +4 -4
  268. package/dist/runtime/client-svelte.d.mts +4 -4
  269. package/dist/runtime/client-svelte.mjs +4 -4
  270. package/dist/runtime/client-vue.d.mts +4 -4
  271. package/dist/runtime/client-vue.mjs +4 -4
  272. package/dist/runtime/client.d.mts +4 -4
  273. package/dist/runtime/client.mjs +4 -4
  274. package/dist/runtime/db.d.mts +0 -2
  275. package/dist/runtime/db.mjs +2 -3
  276. package/dist/runtime/durable.d.mts +0 -2
  277. package/dist/runtime/durable.mjs +3 -4
  278. package/dist/runtime/email/testing.d.mts +1 -5
  279. package/dist/runtime/email/testing.mjs +5 -6
  280. package/dist/runtime/email-protocol.d.mts +0 -2
  281. package/dist/runtime/email-protocol.mjs +1 -1
  282. package/dist/runtime/email.d.mts +1 -5
  283. package/dist/runtime/email.mjs +6 -7
  284. package/dist/runtime/env-public-client.d.mts +1 -3
  285. package/dist/runtime/env-public-client.mjs +2 -3
  286. package/dist/runtime/env-public.d.mts +2 -2
  287. package/dist/runtime/env-public.mjs +5 -7
  288. package/dist/runtime/env.d.mts +0 -4
  289. package/dist/runtime/env.mjs +1 -1
  290. package/dist/runtime/fetch-server.d.mts +1 -3
  291. package/dist/runtime/fetch-server.mjs +3 -4
  292. package/dist/runtime/fetch-stream.d.mts +2 -2
  293. package/dist/runtime/fetch-stream.mjs +2 -2
  294. package/dist/runtime/fetch.d.mts +1 -1
  295. package/dist/runtime/fetch.mjs +2 -2
  296. package/dist/runtime/handler.d.mts +1 -1
  297. package/dist/runtime/handler.mjs +2 -2
  298. package/dist/runtime/isr.d.mts +1 -3
  299. package/dist/runtime/isr.mjs +2 -3
  300. package/dist/runtime/kv.d.mts +1 -3
  301. package/dist/runtime/kv.mjs +2 -3
  302. package/dist/runtime/limits.d.mts +1 -1
  303. package/dist/runtime/limits.mjs +1 -1
  304. package/dist/runtime/live-client.d.mts +1 -3
  305. package/dist/runtime/live-client.mjs +1 -2
  306. package/dist/runtime/live-server.d.mts +0 -2
  307. package/dist/runtime/live-server.mjs +3 -4
  308. package/dist/runtime/live.d.mts +1 -1
  309. package/dist/runtime/live.mjs +1 -1
  310. package/dist/runtime/log.d.mts +3 -3
  311. package/dist/runtime/log.mjs +26 -18
  312. package/dist/runtime/migration-handler-mysql.d.mts +2 -4
  313. package/dist/runtime/migration-handler-mysql.mjs +2 -3
  314. package/dist/runtime/migration-handler-pg.d.mts +2 -4
  315. package/dist/runtime/migration-handler-pg.mjs +2 -3
  316. package/dist/runtime/migration-handler.d.mts +1 -1
  317. package/dist/runtime/migration-handler.mjs +1 -1
  318. package/dist/runtime/queues.d.mts +1 -1
  319. package/dist/runtime/queues.mjs +2 -3
  320. package/dist/runtime/remote/binding-handler.d.mts +1 -3
  321. package/dist/runtime/remote/binding-handler.mjs +3 -4
  322. package/dist/runtime/remote/index.d.mts +1 -3
  323. package/dist/runtime/remote/index.mjs +8 -13
  324. package/dist/runtime/response.d.mts +1 -3
  325. package/dist/runtime/response.mjs +1 -1
  326. package/dist/runtime/route-url.d.mts +2 -2
  327. package/dist/runtime/route-url.mjs +1 -1
  328. package/dist/runtime/routing.d.mts +10 -12
  329. package/dist/runtime/routing.mjs +27 -88
  330. package/dist/runtime/sandbox-container.d.mts +1 -1
  331. package/dist/runtime/sandbox-container.mjs +1 -1
  332. package/dist/runtime/sandbox.d.mts +2 -2
  333. package/dist/runtime/sandbox.mjs +5 -6
  334. package/dist/runtime/seed.d.mts +0 -2
  335. package/dist/runtime/seed.mjs +1 -2
  336. package/dist/runtime/sse-client.d.mts +1 -3
  337. package/dist/runtime/sse-client.mjs +1 -2
  338. package/dist/runtime/sse.d.mts +1 -3
  339. package/dist/runtime/sse.mjs +1 -1
  340. package/dist/runtime/storage.d.mts +1 -3
  341. package/dist/runtime/storage.mjs +2 -3
  342. package/dist/runtime/validator.d.mts +1 -1
  343. package/dist/runtime/validator.mjs +1 -1
  344. package/dist/runtime/ws-server.d.mts +3 -5
  345. package/dist/runtime/ws-server.mjs +3 -4
  346. package/dist/runtime/ws.d.mts +1 -1
  347. package/dist/runtime/ws.mjs +7 -6
  348. package/dist/{sandbox-q3waMc2T.d.mts → sandbox-DE1WsxuB.d.mts} +2 -4
  349. package/dist/{sandbox-container-a9LRUtii.mjs → sandbox-container-BuxhwCgt.mjs} +1 -2
  350. package/dist/{sandbox-container-ChQRum-j.d.mts → sandbox-container-CZFZdMso.d.mts} +0 -2
  351. package/dist/{scan-N9WzdcAl.mjs → scan-DSQtH3oS.mjs} +31 -25
  352. package/dist/{secret-BL6g7mF5.mjs → secret-C_QtTzJG.mjs} +23 -24
  353. package/dist/{serialize-YHvlcG3Q.mjs → serialize-DUuYuaY3.mjs} +2 -4
  354. package/dist/{serialize-DtR8Vwa_.d.mts → serialize-I4EmS-Wf.d.mts} +0 -2
  355. package/dist/{skills-CrUO3PJ0.mjs → skills-D393E4lB.mjs} +4 -5
  356. package/dist/{sqlite-validation-BzKMWnO4.mjs → sqlite-validation-CLJXXN93.mjs} +1 -2
  357. package/dist/{sse-CMvCgjNk.mjs → sse-CxR30yMF.mjs} +1 -2
  358. package/dist/{standard-schema-Fo_vCAZh.d.mts → standard-schema-CuDawHOC.d.mts} +0 -2
  359. package/dist/{static-asset-marker-Btf-6oCD.mjs → static-asset-marker-NR1XS2z5.mjs} +1 -2
  360. package/dist/{subcommand-prompt-D9OhhbGG.mjs → subcommand-prompt-CxJXporl.mjs} +3 -4
  361. package/dist/sveltekit.d.mts +0 -2
  362. package/dist/sveltekit.mjs +2 -3
  363. package/dist/{terminal-log-text-D9ACPOuG.mjs → terminal-log-text-DNsWJREL.mjs} +1 -2
  364. package/dist/{types-w72dljaA.d.mts → types-agfx0alu.d.mts} +0 -4
  365. package/dist/validate-DY1U9rET.mjs +1 -0
  366. package/dist/{validate-CnZPMq4q.mjs → validate-Ddzl-IwT.mjs} +4 -5
  367. package/dist/{validation-error-Dg9Recn1.mjs → validation-error-rDVbUJet.mjs} +2 -4
  368. package/dist/{validator-BTOu0fB0.mjs → validator-CTfmzZYb.mjs} +2 -5
  369. package/dist/{version-metadata-DmaZNTYW.mjs → version-metadata-Blf5H9BQ.mjs} +5 -6
  370. package/dist/{worker-conditions-AWFRcFxR.mjs → worker-conditions-CBZ0RYsZ.mjs} +1 -2
  371. package/dist/wrangler-CPRX2d9A.mjs +1 -0
  372. package/dist/{wrangler-CDiEBCdS.mjs → wrangler-p-kLCJqF.mjs} +81 -15
  373. package/dist/{wrapper-CEiDeCqD.mjs → wrapper-iejSJDwL.mjs} +18 -15
  374. package/dist/{ws-D1zWiB_P.d.mts → ws-DzBD-NUj.d.mts} +4 -5
  375. package/dist/{yarn-pnp-DLbEFMT0.mjs → yarn-pnp-DgWbE7z5.mjs} +2 -3
  376. package/docs/guide/auth.md +1 -1
  377. package/docs/guide/database.md +4 -4
  378. package/docs/guide/deployment.md +1 -1
  379. package/docs/guide/edge/headers.md +2 -6
  380. package/docs/guide/edge/redirects.md +22 -0
  381. package/docs/guide/edge/static-assets.md +0 -10
  382. package/docs/guide/email/domains.md +3 -1
  383. package/docs/guide/email/receiving.md +3 -3
  384. package/docs/guide/email/sending.md +1 -1
  385. package/docs/guide/pages-routing/actions-and-forms.md +26 -5
  386. package/docs/guide/pages-routing/islands.md +2 -2
  387. package/docs/guide/pages-routing/loaders.md +3 -3
  388. package/docs/guide/pages-routing/markdown.md +6 -6
  389. package/docs/guide/pages-routing/overview.md +34 -27
  390. package/docs/guide/platform/administration/email.md +6 -8
  391. package/docs/guide/platform/installation/credentials.md +6 -6
  392. package/docs/guide/platform/installation/maintenance.md +10 -24
  393. package/docs/guide/platform/installation/prerequisites.md +1 -1
  394. package/docs/guide/platform/installation/setup.md +1 -1
  395. package/docs/guide/platform/installation/uninstall.md +1 -1
  396. package/docs/guide/queues.md +4 -8
  397. package/docs/guide/self-hosted-platform.md +3 -3
  398. package/docs/guide/server-routing.md +8 -6
  399. package/docs/guide/ssg.md +8 -0
  400. package/docs/guide/type-safety.md +42 -0
  401. package/docs/guide/typed-fetch.md +1 -1
  402. package/docs/guide/websockets.md +1 -1
  403. package/docs/integrations/cloudflare.md +17 -8
  404. package/docs/integrations/frameworks/analog.md +1 -1
  405. package/docs/integrations/frameworks/nuxt.md +1 -1
  406. package/docs/integrations/frameworks/sveltekit.md +1 -1
  407. package/docs/integrations/frameworks/tanstack-start.md +1 -1
  408. package/docs/integrations/hono.md +5 -5
  409. package/docs/reference/api/auth.md +6 -2
  410. package/docs/reference/api/deploy.md +15 -11
  411. package/docs/reference/api/pages.md +10 -0
  412. package/docs/reference/api/plugin.md +4 -4
  413. package/docs/reference/api/resources.md +4 -1
  414. package/docs/reference/api/rewrites.md +20 -2
  415. package/docs/reference/api/types.md +41 -0
  416. package/docs/reference/api.md +2 -2
  417. package/docs/reference/cli/database.md +15 -9
  418. package/docs/reference/cli/deploy.md +10 -9
  419. package/docs/reference/cli/email.md +4 -2
  420. package/docs/reference/cli/platform-installation.md +2 -2
  421. package/docs/reference/cli/project.md +2 -2
  422. package/docs/reference/cli/secrets.md +3 -1
  423. package/docs/reference/cli/setup.md +3 -3
  424. package/docs/reference/cli.md +1 -1
  425. package/docs/reference/config.md +12 -2
  426. package/package.json +35 -31
  427. package/sandbox.Dockerfile +1 -1
  428. package/schema.json +4 -0
  429. package/skills/void/SKILL.md +1 -1
  430. package/dist/auth-DkcFflXV.d.mts +0 -42
  431. package/dist/cf-build-output-DlBkWdNU.mjs +0 -1
  432. package/dist/client-DyxPQnF_.mjs +0 -1
  433. package/dist/collect-BWhkgtAn.mjs +0 -1
  434. package/dist/config-BTu1o3Dc.mjs +0 -49
  435. package/dist/deploy-CtHE2A3R.mjs +0 -2
  436. package/dist/discover-D4TPKo57.mjs +0 -1
  437. package/dist/gen-TgXy93Rr.mjs +0 -1
  438. package/dist/help-qOZr3wng.mjs +0 -1
  439. package/dist/login-Cdo8Aco1.mjs +0 -1
  440. package/dist/migrate-COPncCGx.mjs +0 -1
  441. package/dist/operator-cmd-DDiX7Y3f.mjs +0 -1
  442. package/dist/output-BW9uK099.mjs +0 -1
  443. package/dist/plan-CKX_jWnD.mjs +0 -1
  444. package/dist/platform-args-BC8_hsDj.mjs +0 -1
  445. package/dist/prepare-B3VrSF1Z.mjs +0 -1
  446. package/dist/project-slug-6cyz8E7k.mjs +0 -1
  447. package/dist/resolve-project-DD1vu8s9.mjs +0 -1
  448. package/dist/route-url-BgPja1GS.d.mts +0 -5
  449. package/dist/route-url-BjGv_KKY.mjs +0 -28
  450. package/dist/validate-D7Wn8PUX.mjs +0 -1
  451. package/dist/wrangler-DOPr4jyI.mjs +0 -1
@@ -1,12 +1,13 @@
1
- import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-rqDnVsJN.mjs";
2
- import { c as getToken } from "./auth-B6iOCjKI.mjs";
3
- import { A as confirm, H as outro, L as log, O as cancel, U as password, tt as isCancel } from "./dist-Cor9XGoz.mjs";
4
- import { r as PlatformClient } from "./client-BEMtySaV.mjs";
5
- import { m as printSuccess, o as formatCount, p as note } from "./output-BpgYODYx.mjs";
6
- import { a as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-Xoi6eTWY.mjs";
7
- import { _ as validateSecretValues } from "./env-validation-XcukUlFM.mjs";
1
+ import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-CLwxcEdq.mjs";
2
+ import { c as getToken } from "./auth-Dy8svcqQ.mjs";
3
+ import { A as confirm, H as outro, L as log, O as cancel, U as password, tt as isCancel } from "./dist-D23AAMxT.mjs";
4
+ import { r as PlatformClient } from "./client-Qayy9xEh.mjs";
5
+ import { m as printSuccess, o as formatCount, p as note } from "./output-BCdLioKP.mjs";
6
+ import { a as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-D0YNnJfm.mjs";
7
+ import { _ as validateSecretValues } from "./env-validation-GV1oD4EV.mjs";
8
8
  import { readFileSync } from "node:fs";
9
- //#region src/cli/secret.ts
9
+ import { parseEnv } from "node:util";
10
+ // src/cli/secret.ts
10
11
  async function runSecretCommand(root, args) {
11
12
  console.log();
12
13
  const backend = await resolveSecretBackend(root, args);
@@ -40,10 +41,13 @@ async function runSecretCommand(root, args) {
40
41
  await validateSecretValues(root, secrets);
41
42
  log.info(`Found ${formatCount(secrets.length, "secret")}:`);
42
43
  for (const s of secrets) log.message(` ${s.name}`);
43
- const proceed = await confirm({ message: `This will overwrite ${formatCount(secrets.length, "secret")} in the ${backend.target}. Continue?` });
44
- if (isCancel(proceed) || !proceed) {
45
- cancel("Secret sync cancelled.");
46
- process.exit(0);
44
+ if (!args.yes) {
45
+ if (process.env.CI || !process.stdin.isTTY || !process.stdout.isTTY) throw new Error("secret: Pass --yes to sync secrets in CI or a non-interactive shell.");
46
+ const proceed = await confirm({ message: `This will overwrite ${formatCount(secrets.length, "secret")} in the ${backend.target}. Continue?` });
47
+ if (isCancel(proceed) || !proceed) {
48
+ cancel("Secret sync cancelled.");
49
+ process.exit(1);
50
+ }
47
51
  }
48
52
  await backend.sync(secrets);
49
53
  printSuccess(`Synced ${formatCount(secrets.length, "secret")}.`);
@@ -93,7 +97,7 @@ async function resolveSecretBackend(root, args) {
93
97
  }
94
98
  async function resolveCloudflareSecretBackend(root, args) {
95
99
  if (args.projectName) throw new Error("secret: --project selects a Void platform project and is not used for direct Cloudflare apps.");
96
- const { deleteCloudflareSecret, listCloudflareSecrets, putCloudflareSecret, resolveCloudflareOperationContext, syncCloudflareSecrets } = await import("./cloudflare-operations-PCM4wucv.mjs");
100
+ const { deleteCloudflareSecret, listCloudflareSecrets, putCloudflareSecret, resolveCloudflareOperationContext, syncCloudflareSecrets } = await import("./cloudflare-operations-D8MoezuN.mjs");
97
101
  const context = resolveCloudflareOperationContext(root);
98
102
  return {
99
103
  target: "Cloudflare Worker",
@@ -104,17 +108,13 @@ async function resolveCloudflareSecretBackend(root, args) {
104
108
  };
105
109
  }
106
110
  const SECRET_KEY_RE = /^[A-Z][A-Z0-9_]*$/;
111
+ const UTF8_BOM = "";
107
112
  function parseDotenvFile(filePath) {
108
- const content = readFileSync(filePath, "utf-8");
109
113
  const secrets = [];
110
- for (const line of content.split("\n")) {
111
- const trimmed = line.trim();
112
- if (!trimmed || trimmed.startsWith("#")) continue;
113
- const eqIndex = trimmed.indexOf("=");
114
- if (eqIndex === -1) throw new Error(`secret: Invalid dotenv line '${trimmed}'. Add KEY=value.`);
115
- const key = trimmed.slice(0, eqIndex).trim();
116
- let value = trimmed.slice(eqIndex + 1).trim();
117
- if (value.startsWith("\"") && value.endsWith("\"") || value.startsWith("'") && value.endsWith("'")) value = value.slice(1, -1);
114
+ const raw = readFileSync(filePath, "utf-8");
115
+ const text = raw.startsWith(UTF8_BOM) ? raw.slice(1) : raw;
116
+ for (const [key, value] of Object.entries(parseEnv(text))) {
117
+ if (value === void 0) continue;
118
118
  if (!SECRET_KEY_RE.test(key)) throw new Error(`secret: Invalid secret name '${key}'. Use uppercase letters, digits, and underscores.`);
119
119
  secrets.push({
120
120
  name: key,
@@ -137,11 +137,10 @@ async function readSecretValue() {
137
137
  });
138
138
  if (isCancel(result) || typeof result === "symbol") {
139
139
  cancel("Secret command cancelled.");
140
- process.exit(0);
140
+ process.exit(1);
141
141
  }
142
142
  const value = result ?? "";
143
143
  if (value.length === 0) throw new Error("Secret value is required.");
144
144
  return value;
145
145
  }
146
- //#endregion
147
146
  export { runSecretCommand };
@@ -1,12 +1,11 @@
1
- //#region src/pages/script-json.ts
1
+ // src/pages/script-json.ts
2
2
  const UNSAFE_SCRIPT_CHARS = /[<>&\u2028\u2029]/g;
3
3
  function escapeScriptJson(json) {
4
4
  return json.replace(UNSAFE_SCRIPT_CHARS, (c) => {
5
5
  return `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`;
6
6
  });
7
7
  }
8
- //#endregion
9
- //#region src/pages/serialize.ts
8
+ // src/pages/serialize.ts
10
9
  /**
11
10
  * Escape JSON for embedding inside an inline `<script type="application/json">`
12
11
  * tag. Replaces `<`, `>`, `&`, U+2028, U+2029 with their `\uXXXX` JSON escape
@@ -27,5 +26,4 @@ function islandFrontmatterScript(frontmatter) {
27
26
  if (!frontmatter || Object.keys(frontmatter).length === 0) return "";
28
27
  return `<script type="application/json" id="${ISLAND_FRONTMATTER_ID}">${serializePageData(frontmatter)}<\/script>`;
29
28
  }
30
- //#endregion
31
29
  export { escapeScriptJson as i, islandFrontmatterScript as n, serializePageData as r, ISLAND_FRONTMATTER_ID as t };
@@ -1,4 +1,3 @@
1
- //#region src/pages/serialize.d.ts
2
1
  /**
3
2
  * Escape JSON for embedding inside an inline `<script type="application/json">`
4
3
  * tag. Replaces `<`, `>`, `&`, U+2028, U+2029 with their `\uXXXX` JSON escape
@@ -14,5 +13,4 @@ declare const ISLAND_FRONTMATTER_ID = "__void_frontmatter";
14
13
  * Empty when the page has no frontmatter.
15
14
  */
16
15
  declare function islandFrontmatterScript(frontmatter: Record<string, unknown> | undefined): string;
17
- //#endregion
18
16
  export { islandFrontmatterScript as n, serializePageData as r, ISLAND_FRONTMATTER_ID as t };
@@ -1,8 +1,8 @@
1
- import { a as join, s as relative } from "./dist-ipQi0Q8y.mjs";
2
- import { L as log } from "./dist-Cor9XGoz.mjs";
3
- import { r as getPackageDir } from "./agents-CuNtT0D_.mjs";
1
+ import { a as join, s as relative } from "./dist-DMYe8CZJ.mjs";
2
+ import { L as log } from "./dist-D23AAMxT.mjs";
3
+ import { r as getPackageDir } from "./agents-DRo8gzni.mjs";
4
4
  import { existsSync, mkdirSync, readFileSync, readdirSync, readlinkSync, symlinkSync } from "node:fs";
5
- //#region src/cli/skills.ts
5
+ // src/cli/skills.ts
6
6
  function parseSkills(skillsDir) {
7
7
  if (!existsSync(skillsDir)) return [];
8
8
  const entries = readdirSync(skillsDir, { withFileTypes: true });
@@ -60,5 +60,4 @@ function linkSkillsForSpecificAgents(root, agents) {
60
60
  }
61
61
  return totalLinked;
62
62
  }
63
- //#endregion
64
63
  export { linkSkillsForSpecificAgents };
@@ -1,4 +1,4 @@
1
- //#region src/migrations/sqlite-validation.ts
1
+ // src/migrations/sqlite-validation.ts
2
2
  var SqliteMigrationError = class extends Error {
3
3
  constructor(name, cause) {
4
4
  super(`Migration ${name} could not be applied to a fresh SQLite database: ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
@@ -21,5 +21,4 @@ async function openMigrationValidationDatabase(migrations) {
21
21
  throw error;
22
22
  }
23
23
  }
24
- //#endregion
25
24
  export { openMigrationValidationDatabase as n, SqliteMigrationError as t };
@@ -1,4 +1,4 @@
1
- //#region src/runtime/sse.ts
1
+ // src/runtime/sse.ts
2
2
  const DEFAULT_KEEP_ALIVE_INTERVAL_MS = 15e3;
3
3
  const DEFAULT_KEEP_ALIVE_COMMENT = "keep-alive";
4
4
  var SseStreamClosedError = class extends Error {
@@ -171,5 +171,4 @@ function throwDataSerializationError(data) {
171
171
  function splitLines(value) {
172
172
  return value.split(/\r\n|\r|\n/);
173
173
  }
174
- //#endregion
175
174
  export { getLastEventId as a, formatSseText as i, eventStream as n, formatSse as r, SseStreamClosedError as t };
@@ -1,4 +1,3 @@
1
- //#region src/standard-schema.d.ts
2
1
  /**
3
2
  * Standard Schema V1 types, inlined from the spec.
4
3
  * https://github.com/standard-schema/standard-schema
@@ -38,5 +37,4 @@ declare namespace StandardSchemaV1 {
38
37
  type InferInput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["input"];
39
38
  type InferOutput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["output"];
40
39
  }
41
- //#endregion
42
40
  export { StandardSchemaV1 as t };
@@ -1,4 +1,4 @@
1
- //#region src/runtime/static-asset-marker.ts
1
+ // src/runtime/static-asset-marker.ts
2
2
  const STATIC_ASSET_KEY = "__voidStaticAsset";
3
3
  /**
4
4
  * Records that the fallback answered with a file from the ASSETS binding: the
@@ -28,5 +28,4 @@ function isUnchangedStaticAsset(c) {
28
28
  304
29
29
  ].includes(c.res.status) && c.res.body === mark.body && (c.res.headers.get("cache-control") ?? "") === mark.policy && !c.res.headers.has("set-cookie");
30
30
  }
31
- //#endregion
32
31
  export { markStaticAsset as n, isUnchangedStaticAsset as t };
@@ -1,6 +1,6 @@
1
- import { $ as wrapTextWithPrefix, G as promptTitle, M as getGuide, V as optionText, b as S_RADIO_ACTIVE, d as S_CHECKBOX_SELECTED, i as S_BAR_END, it as wrapAnsi, j as formatInstructionFooter, n as SELECT_INSTRUCTIONS, r as S_BAR, t as MULTISELECT_INSTRUCTIONS, u as S_CHECKBOX_INACTIVE, w as S_STEP_SUBMIT } from "./dist-Cor9XGoz.mjs";
2
- import { f as import_picocolors } from "./output-BpgYODYx.mjs";
3
- //#region src/cli/subcommand-prompt.ts
1
+ import { $ as wrapTextWithPrefix, G as promptTitle, M as getGuide, V as optionText, b as S_RADIO_ACTIVE, d as S_CHECKBOX_SELECTED, i as S_BAR_END, it as wrapAnsi, j as formatInstructionFooter, n as SELECT_INSTRUCTIONS, r as S_BAR, t as MULTISELECT_INSTRUCTIONS, u as S_CHECKBOX_INACTIVE, w as S_STEP_SUBMIT } from "./dist-D23AAMxT.mjs";
2
+ import { f as import_picocolors } from "./output-BCdLioKP.mjs";
3
+ // src/cli/subcommand-prompt.ts
4
4
  const isUpKey = (key) => key === "\x1B[A" || key === "\x1BOA";
5
5
  const isDownKey = (key) => key === "\x1B[B" || key === "\x1BOB";
6
6
  const isEnterKey = (key) => key === "\r" || key === "\n";
@@ -367,5 +367,4 @@ function promptSubcommand(command, subcommands) {
367
367
  render();
368
368
  });
369
369
  }
370
- //#endregion
371
370
  export { promptSubcommand };
@@ -1,4 +1,3 @@
1
- //#region src/sveltekit.d.ts
2
1
  type Tsconfig = Record<string, unknown>;
3
2
  type TsconfigHook = (config: Tsconfig) => Tsconfig | void;
4
3
  export type VoidSvelteKitTsconfigOptions = {
@@ -15,5 +14,4 @@ export declare function mergeVoidSvelteKitTsconfig(config: Tsconfig, options?: V
15
14
  * Compose a user SvelteKit tsconfig hook with Void's generated type aliases.
16
15
  */
17
16
  export declare function withVoidTSConfig(hook?: TsconfigHook, options?: VoidSvelteKitTsconfigOptions): TsconfigHook;
18
- //#endregion
19
17
  export {};
@@ -1,6 +1,6 @@
1
- import { a as join, c as resolve, i as isAbsolute } from "./dist-ipQi0Q8y.mjs";
1
+ import { a as join, c as resolve, i as isAbsolute } from "./dist-DMYe8CZJ.mjs";
2
2
  import { existsSync, readFileSync } from "node:fs";
3
- //#region src/sveltekit.ts
3
+ // src/sveltekit.ts
4
4
  /**
5
5
  * Merge Void's generated tsconfig fragment into SvelteKit's generated
6
6
  * tsconfig. Use from `typescript.config` in `sveltekit()` or from
@@ -53,5 +53,4 @@ function resolveTsconfigEntry(baseDir, entry) {
53
53
  function uniqueStrings(values) {
54
54
  return Array.from(new Set(values));
55
55
  }
56
- //#endregion
57
56
  export { mergeVoidSvelteKitTsconfig, withVoidTSConfig };
@@ -1,4 +1,4 @@
1
- //#region src/cli/terminal-log-text.ts
1
+ // src/cli/terminal-log-text.ts
2
2
  const TERMINAL_CONTROL = /\u001b\[[0-?]*[ -/]*[@-~]|\u001b\][^\u0000-\u001f\u007f-\u009f]*(?:\u0007|\u001b\\)|[\u0000-\u0008\u000b-\u001f\u007f-\u009f]/g;
3
3
  const SGR = /^\u001b\[[0-9;:]*m$/;
4
4
  /**
@@ -28,5 +28,4 @@ function sanitizeTerminalLogText(value) {
28
28
  });
29
29
  return keptStyle ? `${text}\u001b[0m` : text;
30
30
  }
31
- //#endregion
32
31
  export { sanitizeTerminalLogText as t };
@@ -1,7 +1,4 @@
1
- //#region src/router/parse-filename.d.ts
2
1
  type RouteEnvironment = "dev" | "prod";
3
- //#endregion
4
- //#region src/pages/types.d.ts
5
2
  type ExplicitBoolean = true | false | undefined;
6
3
  type SsrMode = "auto" | "server" | "client";
7
4
  type PrerenderMode = "auto" | "force" | "disabled";
@@ -80,5 +77,4 @@ type DevCssAsset = {
80
77
  /** CSS bytes returned by Vite's client environment transform with ?inline. */
81
78
  css: string;
82
79
  };
83
- //#endregion
84
80
  export { PageRenderMode as a, PageDefinition as i, LayoutDefinition as n, PageScanResult as o, NamedLayoutDefinition as r, RouteEnvironment as s, DevCssAsset as t };
@@ -0,0 +1 @@
1
+ export { i as validateMigrations } from "./validate-Ddzl-IwT.mjs";
@@ -1,9 +1,9 @@
1
- import { a as join } from "./dist-ipQi0Q8y.mjs";
2
- import { n as readJournal, r as stripSqlExt } from "./collect-Dew86qce.mjs";
3
- import { i as getExecutableSql, t as DESTRUCTIVE_PRAGMA } from "./plan-BhLO2p4w.mjs";
1
+ import { a as join } from "./dist-DMYe8CZJ.mjs";
2
+ import { n as readJournal, r as stripSqlExt } from "./collect-C6Blu9yw.mjs";
3
+ import { i as getExecutableSql, t as DESTRUCTIVE_PRAGMA } from "./plan-BOD70XGS.mjs";
4
4
  import { existsSync, readdirSync } from "node:fs";
5
5
  import { hasStandalonePragma } from "@void/deploy-core";
6
- //#region src/migrations/validate.ts
6
+ // src/migrations/validate.ts
7
7
  /**
8
8
  * Destructive SQL patterns that are rejected unless the migration
9
9
  * contains the `-- void:allow-destructive` pragma comment.
@@ -159,5 +159,4 @@ function assertJournalCoherence(migrationsDir, collected, sourceRelative = (path
159
159
  }
160
160
  throw new Error(lines.join("\n"));
161
161
  }
162
- //#endregion
163
162
  export { validateMigrations as i, isDestructive as n, listDrizzleArtifacts as r, assertJournalCoherence as t };
@@ -1,4 +1,4 @@
1
- //#region src/pages/defer.ts
1
+ // src/pages/defer.ts
2
2
  const DEFERRED = Symbol("deferred");
3
3
  function defer(groupOrResolver, maybeResolver) {
4
4
  const [group, resolver] = typeof groupOrResolver === "string" ? [groupOrResolver, maybeResolver] : [null, groupOrResolver];
@@ -35,8 +35,7 @@ function separateDeferred(props) {
35
35
  deferredMap
36
36
  };
37
37
  }
38
- //#endregion
39
- //#region src/pages/validation-error.ts
38
+ // src/pages/validation-error.ts
40
39
  var ValidationError = class extends Error {
41
40
  errors;
42
41
  constructor(errors) {
@@ -45,5 +44,4 @@ var ValidationError = class extends Error {
45
44
  this.errors = errors;
46
45
  }
47
46
  };
48
- //#endregion
49
47
  export { separateDeferred as i, DEFERRED as n, defer as r, ValidationError as t };
@@ -1,4 +1,4 @@
1
- //#region src/runtime/validator.ts
1
+ // src/runtime/validator.ts
2
2
  function flattenIssues(issues) {
3
3
  return Array.from(issues, (issue) => ({
4
4
  message: issue.message,
@@ -29,9 +29,7 @@ async function runValidation(validators, c) {
29
29
  });
30
30
  }
31
31
  if (validators.query) {
32
- const url = new URL(c.req.url);
33
- const raw = {};
34
- for (const [key, value] of url.searchParams) raw[key] = value;
32
+ const raw = Object.fromEntries(Object.entries(c.req.queries()).map(([key, values]) => [key, values.length === 1 ? values[0] : values]));
35
33
  const result = await validateSlot(validators.query, raw);
36
34
  if (result.ok) input.query = result.value;
37
35
  else allIssues.push({
@@ -68,5 +66,4 @@ async function runValidation(validators, c) {
68
66
  input
69
67
  };
70
68
  }
71
- //#endregion
72
69
  export { runValidation as t };
@@ -1,6 +1,6 @@
1
- import { a as join } from "./dist-ipQi0Q8y.mjs";
2
- import { l as bindingNamesForField, p as findBindingNameOwner } from "./wrangler-CDiEBCdS.mjs";
3
- //#region src/shared/untrusted-env.ts
1
+ import { a as join } from "./dist-DMYe8CZJ.mjs";
2
+ import { l as bindingNamesForField, p as findBindingNameOwner } from "./wrangler-p-kLCJqF.mjs";
3
+ // src/shared/untrusted-env.ts
4
4
  /** Authentication inputs that Wrangler may consume from the environment. */
5
5
  const WRANGLER_AUTH_CREDENTIAL_ENV_VARS = [
6
6
  "CLOUDFLARE_API_TOKEN",
@@ -23,6 +23,7 @@ const UNTRUSTED_PROJECT_CODE_ENV_VARS = [
23
23
  "CF_ACCESS_CLIENT_SECRET",
24
24
  "VOID_ACCESS_CREDENTIALS",
25
25
  "VOID_ACCESS_ORIGIN",
26
+ "CF_ACCESS_READINESS_ORIGIN",
26
27
  "VOID_TOKEN",
27
28
  "DATABASE_URL",
28
29
  "ACTIONS_ID_TOKEN_REQUEST_URL",
@@ -47,8 +48,7 @@ function buildEnv(extra, options) {
47
48
  env[pathKey] = existing ? `${binDir}${delimiter}${existing}` : binDir;
48
49
  return env;
49
50
  }
50
- //#endregion
51
- //#region src/shared/version-metadata.ts
51
+ // src/shared/version-metadata.ts
52
52
  /** Build-only marker: an existing-site handoff must not add Worker bindings. */
53
53
  const CLOUDFLARE_PRESERVE_BINDINGS_BUILD_ENV = "VOID_CLOUDFLARE_PRESERVE_BINDINGS";
54
54
  const DEFAULT_VERSION_METADATA_BINDING = "__VOID_VERSION_METADATA";
@@ -69,5 +69,4 @@ function selectNativeVersionMetadataBinding(config, options) {
69
69
  if (owner) throw new Error(`Cloudflare version metadata binding ${DEFAULT_VERSION_METADATA_BINDING} conflicts with ${owner}.`);
70
70
  return DEFAULT_VERSION_METADATA_BINDING;
71
71
  }
72
- //#endregion
73
72
  export { buildEnv as a, WRANGLER_AUTH_CREDENTIAL_ENV_VARS as i, readVersionMetadataBinding as n, selectNativeVersionMetadataBinding as r, CLOUDFLARE_PRESERVE_BINDINGS_BUILD_ENV as t };
@@ -1,4 +1,4 @@
1
- //#region src/cli/worker-conditions.ts
1
+ // src/cli/worker-conditions.ts
2
2
  const WORKER_CONDITIONS = [
3
3
  "workerd",
4
4
  "worker",
@@ -7,5 +7,4 @@ const WORKER_CONDITIONS = [
7
7
  "import",
8
8
  "default"
9
9
  ];
10
- //#endregion
11
10
  export { WORKER_CONDITIONS as t };
@@ -0,0 +1 @@
1
+ export { b as readRootWranglerConfig } from "./wrangler-p-kLCJqF.mjs";
@@ -1,13 +1,68 @@
1
- import { a as join, c as resolve, n as dirname, o as normalize, t as basename } from "./dist-ipQi0Q8y.mjs";
2
- import "./project-paths-DGu_QZ_Q.mjs";
3
- import { p as readConfig } from "./config-DHgSEWT7.mjs";
4
- import { i as persistCloudflareConfig, r as materializeCloudflareConfig } from "./cloudflare-config-DchHxPTo.mjs";
1
+ import { a as join, c as resolve, n as dirname, o as normalize, t as basename } from "./dist-DMYe8CZJ.mjs";
2
+ import { o as TYPED_CONFIG_FILE, s as loadTypedVoidConfigFile } from "./project-paths-CdGv9Tmi.mjs";
3
+ import { h as validateConfig, p as readConfig } from "./config-DkA9jYF2.mjs";
4
+ import { a as persistCloudflareConfig, i as materializeCloudflareConfig, r as ignoreMaterializedCloudflareConfig } from "./cloudflare-config-Chet188_.mjs";
5
5
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
6
+ import { parseSync } from "vite";
6
7
  import { appendSqliteClassMigration, isRecord } from "@void/deploy-core";
7
8
  import { createHash } from "node:crypto";
8
9
  import { isDeepStrictEqual } from "node:util";
9
10
  import { SyntaxKind, applyEdits, createScanner, findNodeAtLocation, modify, parse, parseTree } from "jsonc-parser";
10
- //#region src/cli/wrangler.ts
11
+ // src/config-write.ts
12
+ const GENERATED_MARKERS = [
13
+ "// Generated by void migrate.",
14
+ "// Generated from void.json by void migrate.",
15
+ "// Generated by void init."
16
+ ];
17
+ function renderVoidConfig(config, marker = GENERATED_MARKERS[0]) {
18
+ return `${marker}\nimport { defineConfig } from 'void/config';\n\nexport default defineConfig(${JSON.stringify(config, null, 2)});\n`;
19
+ }
20
+ function isStaticValue(node) {
21
+ if (!node) return false;
22
+ if (node.type === "Literal") return node.value === null || [
23
+ "string",
24
+ "number",
25
+ "boolean"
26
+ ].includes(typeof node.value);
27
+ if (node.type === "UnaryExpression") return node.operator === "-" && node.argument?.type === "Literal" && typeof node.argument.value === "number";
28
+ if (node.type === "ArrayExpression") return node.elements?.every(isStaticValue) ?? false;
29
+ if (node.type !== "ObjectExpression") return false;
30
+ return node.properties?.every((property) => property.type === "Property" && property.kind === "init" && !property.computed && !property.method && (property.key?.type === "Identifier" || property.key?.type === "Literal") && isStaticValue(property.value)) ?? false;
31
+ }
32
+ function isGeneratedStaticConfig(source) {
33
+ if (!GENERATED_MARKERS.some((marker) => source.startsWith(marker))) return false;
34
+ let program;
35
+ try {
36
+ const parsed = parseSync(TYPED_CONFIG_FILE, source, {
37
+ lang: "js",
38
+ sourceType: "module",
39
+ preserveParens: false,
40
+ showSemanticErrors: true
41
+ });
42
+ if (parsed.errors.length > 0 || parsed.comments.length !== 1 || !GENERATED_MARKERS.includes(`// ${parsed.comments[0]?.value.trim()}`)) return false;
43
+ program = parsed.program;
44
+ } catch {
45
+ return false;
46
+ }
47
+ const [importDeclaration, exportDeclaration] = program.body ?? [];
48
+ const call = exportDeclaration?.declaration;
49
+ return program.body?.length === 2 && importDeclaration?.type === "ImportDeclaration" && importDeclaration.source?.value === "void/config" && importDeclaration.specifiers?.length === 1 && importDeclaration.specifiers[0]?.imported?.name === "defineConfig" && importDeclaration.specifiers[0]?.local?.name === "defineConfig" && exportDeclaration?.type === "ExportDefaultDeclaration" && call?.type === "CallExpression" && call.callee?.name === "defineConfig" && call.arguments?.length === 1 && isStaticValue(call.arguments[0]);
50
+ }
51
+ function canRewriteVoidProjectConfig(root) {
52
+ const path = join(root, TYPED_CONFIG_FILE);
53
+ return !existsSync(path) || isGeneratedStaticConfig(readFileSync(path, "utf8"));
54
+ }
55
+ /** Update CLI-owned static config without silently rewriting authored TypeScript. */
56
+ function writeVoidProjectConfig(root, config) {
57
+ validateConfig(config, TYPED_CONFIG_FILE);
58
+ const path = join(root, TYPED_CONFIG_FILE);
59
+ if (existsSync(path)) {
60
+ if (!isGeneratedStaticConfig(readFileSync(path, "utf8"))) throw new Error(`config: ${TYPED_CONFIG_FILE} contains authored TypeScript or comments. Update it directly and rerun the command.`);
61
+ validateConfig(loadTypedVoidConfigFile(path), TYPED_CONFIG_FILE);
62
+ }
63
+ writeFileSync(path, renderVoidConfig(config, "// Generated by void init."));
64
+ }
65
+ // src/cli/wrangler.ts
11
66
  const COMPAT_DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
12
67
  /** UTF-8 byte-order mark. Node's utf-8 read preserves a leading one. */
13
68
  const UTF8_BOM = "";
@@ -170,10 +225,15 @@ function resolveGeneratedName(base, used, kind) {
170
225
  function readWranglerCompat(root, config, buildOutputDir) {
171
226
  return resolveWranglerCompat(readWranglerCompatFields(root, config, buildOutputDir));
172
227
  }
173
- /** Like `readWranglerCompat()`, but pins the default date when no source sets one. */
174
- function ensureWranglerCompat(root, config, buildOutputDir) {
228
+ /**
229
+ * Like `readWranglerCompat()`, but pins the default date when no source sets one.
230
+ * With `rootWrangler`, a project with no config gets the date in a root wrangler.jsonc
231
+ * instead of a new void.config.ts, so a framework adapter that reads the root file by
232
+ * default still finds it.
233
+ */
234
+ function ensureWranglerCompat(root, config, buildOutputDir, options) {
175
235
  const fields = readWranglerCompatFields(root, config, buildOutputDir);
176
- const defaultDate = fields.voidDate ?? fields.wranglerDate ?? fields.buildDate ? void 0 : ensureVoidCompatibilityDate(root, fields.voidConfig);
236
+ const defaultDate = fields.voidDate ?? fields.wranglerDate ?? fields.buildDate ? void 0 : ensureVoidCompatibilityDate(root, options?.rootWrangler === true);
177
237
  return resolveWranglerCompat(fields, defaultDate ? { defaultDate } : void 0);
178
238
  }
179
239
  function readWranglerCompatFields(root, config, buildOutputDir) {
@@ -205,7 +265,6 @@ function readWranglerCompatFields(root, config, buildOutputDir) {
205
265
  if (Array.isArray(buildParsed.compatibility_flags) && buildParsed.compatibility_flags.every((f) => typeof f === "string")) buildFlags = buildParsed.compatibility_flags;
206
266
  } catch {}
207
267
  return {
208
- voidConfig,
209
268
  voidDate: voidConfig?.worker?.compatibility_date,
210
269
  voidFlags: voidConfig?.worker?.compatibility_flags,
211
270
  wranglerDate,
@@ -226,14 +285,23 @@ function validateCompatDate(value, source) {
226
285
  function readVoidConfigIfExists(root) {
227
286
  return existsSync(join(root, VOID_CONFIG_FILE)) || existsSync(join(root, "void.config.ts")) ? readConfig(root) : void 0;
228
287
  }
229
- function ensureVoidCompatibilityDate(root, config) {
288
+ function ensureVoidCompatibilityDate(root, rootWrangler) {
230
289
  if (existsSync(join(root, "void.config.ts"))) {
231
290
  writeProvisionedWranglerConfig(root, { compatibilityDate: LATEST_KNOWN_COMPAT_DATE });
232
291
  return LATEST_KNOWN_COMPAT_DATE;
233
292
  }
234
293
  const filePath = join(root, VOID_CONFIG_FILE);
235
- let nextConfig = {};
236
- if (existsSync(filePath)) try {
294
+ if (!existsSync(filePath)) {
295
+ if (existsSync(join(root, "wrangler.toml"))) writeFileSync(filePath, `${JSON.stringify({ worker: { compatibility_date: LATEST_KNOWN_COMPAT_DATE } }, null, 2)}\n`);
296
+ else if (rootWrangler || projectWranglerPaths(root).some((path) => existsSync(path))) writeProvisionedWranglerConfig(root, { compatibilityDate: LATEST_KNOWN_COMPAT_DATE });
297
+ else {
298
+ writeVoidProjectConfig(root, { worker: { compatibility_date: LATEST_KNOWN_COMPAT_DATE } });
299
+ ignoreMaterializedCloudflareConfig(root);
300
+ }
301
+ return LATEST_KNOWN_COMPAT_DATE;
302
+ }
303
+ let nextConfig;
304
+ try {
237
305
  const parsed = JSON.parse(readFileSync(filePath, "utf-8"));
238
306
  if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) throw new Error(`config: ${VOID_CONFIG_FILE} must be a JSON object.`);
239
307
  nextConfig = parsed;
@@ -241,7 +309,6 @@ function ensureVoidCompatibilityDate(root, config) {
241
309
  if (error instanceof SyntaxError) throw new Error(`config: Invalid JSON in ${VOID_CONFIG_FILE}.`);
242
310
  throw error;
243
311
  }
244
- else if (config) nextConfig = { ...config };
245
312
  nextConfig.worker = {
246
313
  ...nextConfig.worker ?? {},
247
314
  compatibility_date: LATEST_KNOWN_COMPAT_DATE
@@ -1399,5 +1466,4 @@ function normalizeMigrationsPath(p) {
1399
1466
  const normalized = normalize(p.replace(/\\/g, "/"));
1400
1467
  return normalized.endsWith("/") ? normalized.slice(0, -1) : normalized;
1401
1468
  }
1402
- //#endregion
1403
- export { syncWranglerWebSockets as A, readWranglerManagedQueueCleanupCandidates as C, sameMigrationsDir as D, resolveLiveBindingConfig as E, writeProvisionedWranglerConfig as M, writeWranglerPublishedTrafficSnapshot as N, syncWranglerBindings as O, readWranglerCustomDomains as S, readWranglerWebSocketTombstones as T, persistMaterializedWranglerConfig as _, LIVE_MIGRATION_TAG as a, readRootWranglerConfig as b, bindingEntriesForField as c, ensureWranglerCompatibilityDate as d, ensureWranglerNodejsAlsFlag as f, normalizeWranglerCompatibilityFlags as g, nextDurableObjectMigrationTag as h, LATEST_KNOWN_COMPAT_DATE as i, updateWranglerCustomDomain as j, syncWranglerDurableObjects as k, bindingNamesForField as l, hasDurableObjectSqliteMigration as m, DEFAULT_LIVE_CLASS as n, acknowledgeWranglerManagedQueueRemovals as o, findBindingNameOwner as p, FRIENDLY_BINDING_NAMES as r, assertNoDuplicateMembers as s, DEFAULT_LIVE_BINDING as t, ensureWranglerCompat as u, readExistingLiveBindingConfig as v, readWranglerPublishedTrafficSnapshot as w, readWranglerCompat as x, readProvisionedBindingEntry as y };
1469
+ export { syncWranglerWebSockets as A, readWranglerManagedQueueCleanupCandidates as C, sameMigrationsDir as D, resolveLiveBindingConfig as E, canRewriteVoidProjectConfig as F, renderVoidConfig as I, writeVoidProjectConfig as L, writeProvisionedWranglerConfig as M, writeWranglerPublishedTrafficSnapshot as N, syncWranglerBindings as O, GENERATED_MARKERS as P, readWranglerCustomDomains as S, readWranglerWebSocketTombstones as T, persistMaterializedWranglerConfig as _, LIVE_MIGRATION_TAG as a, readRootWranglerConfig as b, bindingEntriesForField as c, ensureWranglerCompatibilityDate as d, ensureWranglerNodejsAlsFlag as f, normalizeWranglerCompatibilityFlags as g, nextDurableObjectMigrationTag as h, LATEST_KNOWN_COMPAT_DATE as i, updateWranglerCustomDomain as j, syncWranglerDurableObjects as k, bindingNamesForField as l, hasDurableObjectSqliteMigration as m, DEFAULT_LIVE_CLASS as n, acknowledgeWranglerManagedQueueRemovals as o, findBindingNameOwner as p, FRIENDLY_BINDING_NAMES as r, assertNoDuplicateMembers as s, DEFAULT_LIVE_BINDING as t, ensureWranglerCompat as u, readExistingLiveBindingConfig as v, readWranglerPublishedTrafficSnapshot as w, readWranglerCompat as x, readProvisionedBindingEntry as y };
@@ -1,16 +1,16 @@
1
- import { a as join, l as toSlash, n as dirname, r as extname } from "./dist-ipQi0Q8y.mjs";
2
- import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
3
- import { l as getDatabaseDialect, p as readConfig } from "./config-DHgSEWT7.mjs";
4
- import { n as isIdentifier, r as isLiteral } from "./ast-CsZ_q_gc.mjs";
5
- import { t as MagicString } from "./dist-Cegxq8gs.mjs";
6
- import { c as voidDbBundlerPlugin, r as cloudflareQueueName, t as generateQueueResolverSource } from "./dispatch-OVLeWW8K.mjs";
7
- import { t as WORKER_CONDITIONS } from "./worker-conditions-AWFRcFxR.mjs";
1
+ import { a as join, l as toSlash, n as dirname, r as extname } from "./dist-DMYe8CZJ.mjs";
2
+ import { n as readProjectPaths } from "./project-paths-CdGv9Tmi.mjs";
3
+ import { l as getDatabaseDialect, p as readConfig } from "./config-DkA9jYF2.mjs";
4
+ import { n as isIdentifier, r as isLiteral } from "./ast-Cv0JwXqb.mjs";
5
+ import { t as MagicString } from "./dist-B6eN80gc.mjs";
6
+ import { c as voidDbBundlerPlugin, r as cloudflareQueueName, t as generateQueueResolverSource } from "./dispatch-CiJ1Xrba.mjs";
7
+ import { t as WORKER_CONDITIONS } from "./worker-conditions-CBZ0RYsZ.mjs";
8
8
  import { createRequire } from "node:module";
9
9
  import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
10
- import { fileURLToPath } from "node:url";
11
10
  import { build, parseSync } from "vite";
11
+ import { fileURLToPath } from "node:url";
12
12
  import { createHash } from "node:crypto";
13
- //#region src/cli/worker-require-transform.ts
13
+ // src/cli/worker-require-transform.ts
14
14
  function nodes(root) {
15
15
  const found = [];
16
16
  const pending = [root];
@@ -77,8 +77,7 @@ function transformWorkerRequireBundle(code, filename, requireShim, database) {
77
77
  if (transformed.includes("createRequire") || transformed.includes("__require(\"pgpass\")")) throw new Error(`deploy: ${database} bundle ${filename} still contains an unsupported require.`);
78
78
  return pgpassCalls > 0 ? `const __voidPgpassNoop = Object.assign(function pgpass(_connectionInfo, callback) { callback(undefined); }, { warnTo() {} });\n${transformed}` : transformed;
79
79
  }
80
- //#endregion
81
- //#region src/cli/wrapper.ts
80
+ // src/cli/wrapper.ts
82
81
  const BUNDLED_ENTRY_RE = /^index\.(?:m?js|cjs)$/;
83
82
  const envModuleFile = fileURLToPath(import.meta.resolve("#self/_env"));
84
83
  const WRAPPER_MARKER = "// Generated by Void: deployment wrapper.";
@@ -151,8 +150,8 @@ async function generateWrapper(workerDir, workerMain, root, features) {
151
150
  let migrations;
152
151
  let migrationPlanBundle;
153
152
  if (features.hasMigrations) {
154
- const { collectMigrations } = await import("./collect-BWhkgtAn.mjs");
155
- const { buildMigrationPlanBundle } = await import("./plan-CKX_jWnD.mjs");
153
+ const { collectMigrations } = await import("./collect-8i0wU63d.mjs");
154
+ const { buildMigrationPlanBundle } = await import("./plan-CQ-N4gws.mjs");
156
155
  const migrationsDir = readProjectPaths(root).migrationsDir;
157
156
  migrations = collectMigrations(migrationsDir);
158
157
  migrationPlanBundle = features.migrationDialect === "sqlite" ? buildMigrationPlanBundle(migrations) : void 0;
@@ -651,11 +650,15 @@ export async function handleQueueRelay(payload, env, ctx) {
651
650
  retryAll(options) { for (const message of messages) message.retry(options); },
652
651
  };
653
652
  let ok = true;
654
- try { await handleQueue(batch, env, ctx); } catch { ok = false; }
653
+ try {
654
+ await handleQueue(batch, env, ctx);
655
+ } catch (error) {
656
+ console.error(\`[void] Queue handler failed for queue "\${payload.queue}":\`, error);
657
+ ok = false;
658
+ }
655
659
  return { ok, ...(decisions.size ? { decisions: Object.fromEntries(decisions) } : {}) };
656
660
  }`);
657
661
  }
658
662
  return lines.join("\n");
659
663
  }
660
- //#endregion
661
664
  export { needsWrapper as a, generateWrapper as i, bundleWorkerSqlDriver as n, cleanupWrapper as r, bundleEntry as t };
@@ -1,8 +1,7 @@
1
- import { t as StandardSchemaV1 } from "./standard-schema-Fo_vCAZh.mjs";
2
- import { r as AuthUser } from "./auth-DkcFflXV.mjs";
3
- import { a as CloudEnv } from "./handler-CQv5YDS0.mjs";
1
+ import { t as StandardSchemaV1 } from "./standard-schema-CuDawHOC.mjs";
2
+ import { r as AuthUser } from "./auth-CH4PLAX1.mjs";
3
+ import { a as CloudEnv } from "./handler-Drm_lyrV.mjs";
4
4
  import { WebSocketRouteMap } from "void/routes";
5
- //#region src/runtime/ws.d.ts
6
5
  type MaybePromise<T> = T | Promise<T>;
7
6
  type ParamsRecord = Record<string, string>;
8
7
  type WebSocketInstanceKey = (context: {
@@ -125,6 +124,7 @@ declare class VoidSocket<P extends keyof WebSocketRouteMap & string> {
125
124
  private readonly buffer;
126
125
  private reconnectAttempts;
127
126
  private closedByUser;
127
+ private reconnectTimer;
128
128
  constructor(url: string, options: ConnectCommonOptions);
129
129
  private emit;
130
130
  private connect;
@@ -134,5 +134,4 @@ declare class VoidSocket<P extends keyof WebSocketRouteMap & string> {
134
134
  }
135
135
  declare function connect<P extends keyof WebSocketRouteMap & string>(path: HasParams<P> extends false ? P : never): VoidSocket<P>;
136
136
  declare function connect<P extends keyof WebSocketRouteMap & string>(path: P, options: ConnectOptions<P>): VoidSocket<P>;
137
- //#endregion
138
137
  export { RoomDefinition as a, VoidSocket as c, WebSocketConnection as d, WebSocketInstanceKey as f, defineWebSocket as h, RoomController as i, VoidSocketCloseEvent as l, defineRoom as m, ConnectCommonOptions as n, SocketContext as o, connect as p, RoomContext as r, SocketDefinition as s, AnyWebSocketDefinition as t, WebSocketBaseContext as u };
@@ -1,7 +1,7 @@
1
- import { a as join, n as dirname } from "./dist-ipQi0Q8y.mjs";
1
+ import { a as join, n as dirname } from "./dist-DMYe8CZJ.mjs";
2
2
  import { existsSync, readdirSync } from "node:fs";
3
3
  import { fileURLToPath, pathToFileURL } from "node:url";
4
- //#region src/cli/yarn-pnp.ts
4
+ // src/cli/yarn-pnp.ts
5
5
  const drizzleKitBin = join(fileURLToPath(import.meta.resolve("drizzle-kit")), "..", "bin.cjs");
6
6
  /** Read the PnP runtime files in `dir` only, or `undefined` when neither exists. */
7
7
  function readPnpRuntimeAt(dir) {
@@ -88,5 +88,4 @@ function buildDrizzleKitSpawnEnv(root) {
88
88
  env.NODE_OPTIONS = process.env.NODE_OPTIONS ? `${injected} ${process.env.NODE_OPTIONS}` : injected;
89
89
  return env;
90
90
  }
91
- //#endregion
92
91
  export { hasLocalLockfile as i, drizzleKitBin as n, findInstalledYarnPnpRuntime as r, buildDrizzleKitSpawnEnv as t };