void 0.25.0 → 0.26.1

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 (373) hide show
  1. package/AGENTS_TEMPLATE.md +1 -3
  2. package/README.md +19 -9
  3. package/dist/{account-cmd-DcR1ywt8.mjs → account-cmd-CfUXh_nU.mjs} +8 -7
  4. package/dist/{application-analysis-BVsVqc11.mjs → application-analysis-DKy02UY0.mjs} +21 -32
  5. package/dist/{application-routing-B7QEjqSR.mjs → application-routing-DQyUh_5S.mjs} +1 -1
  6. package/dist/{auth-7wuZ5ob8.mjs → auth-B5_tZLxT.mjs} +9 -9
  7. package/dist/{auth-CdgZ9uag.mjs → auth-BgX2qYSY.mjs} +1 -1
  8. package/dist/{auth-link-Z6E5DYvM.mjs → auth-link-D5RmKnzh.mjs} +5 -5
  9. package/dist/{auth-migrations-9vif1uj8.mjs → auth-migrations-BwHgeEsD.mjs} +8 -18
  10. package/dist/{auth-router-BdM4avI8.mjs → auth-router-Bap-pvbn.mjs} +6 -19
  11. package/dist/{better-auth-shared-BVkjZ3vM.d.mts → better-auth-shared-CPvWD3nG.d.mts} +0 -4
  12. package/dist/{better-auth-shared-hy6RPh9W.mjs → better-auth-shared-DPpj8zxc.mjs} +94 -16
  13. package/dist/{build-cmd-CEE7D-hM.mjs → build-cmd-B58c8iS8.mjs} +8 -7
  14. package/dist/{cache-TcZnBLtH.mjs → cache-Bo52trKF.mjs} +8 -8
  15. package/dist/{cancel-deploy-CYoZmcmR.mjs → cancel-deploy-BZNz3Q26.mjs} +6 -5
  16. package/dist/{cf-access-AHKBzmuu.mjs → cf-access-ngGqZpHZ.mjs} +11 -12
  17. package/dist/{cf-build-output-U8o1Gl6X.mjs → cf-build-output-DjvB_872.mjs} +62 -85
  18. package/dist/cf-build-output-H9a97vME.mjs +2 -0
  19. package/dist/cli/cli.mjs +48 -83
  20. package/dist/cli/cloudflare-operation-process.mjs +71 -77
  21. package/dist/cli/env-schema-probe.d.mts +1 -1
  22. package/dist/cli/env-schema-probe.mjs +5 -6
  23. package/dist/client-By4JjMw_.mjs +2 -0
  24. package/dist/{client-RsPo8wsP.mjs → client-C2Prx_Bi.mjs} +30 -8
  25. package/dist/{cloudflare-auth-Qdc7tw8F.mjs → cloudflare-auth-CuxfF6OA.mjs} +9 -17
  26. package/dist/{cloudflare-cmd-bhwCxAN6.mjs → cloudflare-cmd-lHqNlJGW.mjs} +6 -5
  27. package/dist/{cloudflare-config-Bktvwtpf.mjs → cloudflare-config-BmhBv3HV.mjs} +1 -1
  28. package/dist/{cloudflare-connect-CuhRgk3k.mjs → cloudflare-connect-2G3rL2rP.mjs} +4 -4
  29. package/dist/{cloudflare-operations-BhbK6yTq.mjs → cloudflare-operations-BlYLlowZ.mjs} +1 -1
  30. package/dist/{cloudflare-operations-CjaV4lZi.mjs → cloudflare-operations-CwI1bChl.mjs} +41 -70
  31. package/dist/{cloudflare-process-B-wekeR6.mjs → cloudflare-process-2-TfIEzB.mjs} +20 -22
  32. package/dist/{config-CyQ-wVd7.mjs → config-5r-YpMC-.mjs} +1 -1
  33. package/dist/{config-C_XRIPx2.mjs → config-B_ggY-IO.mjs} +3 -3
  34. package/dist/config-BtSFvXZx.mjs +2 -0
  35. package/dist/config-CLYAosnQ.mjs +78 -0
  36. package/dist/{config-BMHb8RCj.d.mts → config-CSa15FvD.d.mts} +1 -1
  37. package/dist/{config-Br_JZD6u.mjs → config-DiowPT80.mjs} +24 -30
  38. package/dist/config-entry.d.mts +1 -1
  39. package/dist/{config-write-B1f88wJA.mjs → config-write-AHGesphx.mjs} +8 -7
  40. package/dist/{connect-DCvUmPXY.mjs → connect-X0MUA1gk.mjs} +12 -11
  41. package/dist/{create-project-eAPgYq35.mjs → create-project-DxiyW6iX.mjs} +7 -7
  42. package/dist/{create-project-C734I-Mu.mjs → create-project-iwkbqiBU.mjs} +1 -1
  43. package/dist/{db-C07GEdKF.mjs → db-XnVMHzoV.mjs} +101 -133
  44. package/dist/{delete-pKMVsrpJ.mjs → delete-esYlMiSJ.mjs} +8 -8
  45. package/dist/{deploy-DfsAe-T0.mjs → deploy-BsEvnlJl.mjs} +2377 -2512
  46. package/dist/deploy-C1d-YTfp.mjs +2 -0
  47. package/dist/{dev-inbox-D64ZKUod.mjs → dev-inbox-CK-UuPob.mjs} +7 -16
  48. package/dist/{discover-BcPPiF1o.mjs → discover-CkCYv9T_.mjs} +1 -2
  49. package/dist/discover-EDUf6JJw.mjs +2 -0
  50. package/dist/{prompts-ZAuJlyCj.mjs → dist-Bx1z6Eva.mjs} +1 -1
  51. package/dist/{dist-AoCzRTJE.mjs → dist-Cegxq8gs.mjs} +8 -8
  52. package/dist/{prompts-6OSVA7DJ.mjs → dist-D3m88sjf.mjs} +10 -53
  53. package/dist/{domain-D3uA9ize.mjs → domain-CbbBWhWE.mjs} +29 -30
  54. package/dist/{dotenv-VQxupEUv.mjs → dotenv-BfU6eqFt.mjs} +20 -32
  55. package/dist/{drizzle-Beb2Am5S.mjs → drizzle-CF84FOVM.mjs} +16 -13
  56. package/dist/{email-z3o2cwjH.mjs → email-CpuT42g7.mjs} +24 -19
  57. package/dist/{email--tEtMoj_.mjs → email-d_Aux1vM.mjs} +1 -1
  58. package/dist/{entry-CF5wvH4w.mjs → entry-CMAkqBmU.mjs} +6 -6
  59. package/dist/{env-_v349JBd.mjs → env-BxocywBB.mjs} +25 -6
  60. package/dist/{env-D5liuQYR.mjs → env-DMA3cXZt.mjs} +1 -1
  61. package/dist/{env-public-BX_r8HR6.d.mts → env-public-DR7ZM6d-.d.mts} +1 -1
  62. package/dist/{env-raw-Cx8ElDdj.mjs → env-raw-jZpP5n47.mjs} +1 -2
  63. package/dist/{env-types-D5kds_OZ.mjs → env-types-CwXgeMgL.mjs} +1 -1
  64. package/dist/{env-validation-cZBvGWaP.mjs → env-validation-CrVNjsPm.mjs} +1 -1
  65. package/dist/{env-validation-vBSQ8gw5.mjs → env-validation-Dxdx_5wo.mjs} +17 -21
  66. package/dist/{env-3Q8-_2IH.mjs → env-w9jOyGZn.mjs} +10 -9
  67. package/dist/{fetch-_SeGZao9.d.mts → fetch-BPCYVi3H.d.mts} +20 -1
  68. package/dist/{fetch-BIZJh7vR.mjs → fetch-sAcwjzLO.mjs} +1 -1
  69. package/dist/{fetch-stream-IvCYKyQL.mjs → fetch-stream-PGgz4uGz.mjs} +26 -24
  70. package/dist/{fetch-stream-Bjf0hoZb.d.mts → fetch-stream-obvZ7fvO.d.mts} +1 -16
  71. package/dist/{gen-NjwoG9FK.mjs → gen-DtkQhvQg.mjs} +40 -57
  72. package/dist/gen-dA9hW7AV.mjs +2 -0
  73. package/dist/{github-cmd-DquUq-b1.mjs → github-cmd-D_FsOFxq.mjs} +65 -164
  74. package/dist/{handler-DghKr6dU.mjs → handler-BHAn2fZJ.mjs} +1 -0
  75. package/dist/{handler-CZ4nAylQ.d.mts → handler-CNAwjRcW.d.mts} +5 -12
  76. package/dist/{head-Do8P4puT.d.mts → head-C8K_iGe6.d.mts} +1 -1
  77. package/dist/{head-D_QRR5Yd.mjs → head-D2VF4ApL.mjs} +29 -51
  78. package/dist/{headers-2rKda9Y6.mjs → headers-DlfR78Nu.mjs} +3 -3
  79. package/dist/{help-DRZXC4fj.mjs → help-CVFBTmBx.mjs} +23 -38
  80. package/dist/help-DzKUrQvk.mjs +2 -0
  81. package/dist/{inbound-fRkqcXaC.mjs → inbound-PfQDLXc5.mjs} +23 -24
  82. package/dist/index.d.mts +19 -2
  83. package/dist/index.mjs +632 -532
  84. package/dist/{info-BmA3_IFZ.mjs → info-PYWwkWyt.mjs} +4 -4
  85. package/dist/{init-DT7yuuyl.mjs → init-Bw-fRKGp.mjs} +161 -197
  86. package/dist/{limits-Bq5LG8Id.d.mts → limits-CFsDKQvU.d.mts} +1 -10
  87. package/dist/{limits-Cjuk2VPm.mjs → limits-D0vD1M9A.mjs} +1 -22
  88. package/dist/{link-CXOlqh2F.mjs → link-DlPG8iX3.mjs} +10 -10
  89. package/dist/{list-eEWVJEPn.mjs → list-2GN7_ueV.mjs} +11 -9
  90. package/dist/{live-CB1y5IuC.mjs → live-CgQuTpqD.mjs} +15 -16
  91. package/dist/{live-Chw1eIMv.d.mts → live-Du8jXwOW.d.mts} +4 -2
  92. package/dist/{local-d1-Df4XpwhW.mjs → local-d1-ga5O_idV.mjs} +2 -2
  93. package/dist/{login-pWQHYVu2.mjs → login-D-Q4xw3Q.mjs} +7 -7
  94. package/dist/login-Dc-wuTDq.mjs +2 -0
  95. package/dist/{logs-DnxVX7TR.mjs → logs-rd8J-OFh.mjs} +28 -11
  96. package/dist/migrate-BHp07yJE.mjs +2 -0
  97. package/dist/{migrate-CV1on-yJ.mjs → migrate-NLsjBbuM.mjs} +34 -20
  98. package/dist/{mime-D5Nmdzf7.mjs → mime-DxCznlJq.mjs} +45 -95
  99. package/dist/{node-BkyRWRx8.mjs → node-DJicPvPj.mjs} +5 -5
  100. package/dist/{operator-args-CAVcmwUt.mjs → operator-args-BNsW5gfp.mjs} +10 -1
  101. package/dist/{operator-auth-CkmTE3rt.mjs → operator-auth-AzVLbrr3.mjs} +4 -8
  102. package/dist/{operator-client-LmwjxT6q.mjs → operator-client-BQtzyG-g.mjs} +3 -3
  103. package/dist/{operator-cmd-d-IEKgNk.mjs → operator-cmd-B6f6Cg9Z.mjs} +45 -14
  104. package/dist/operator-cmd-Cwn50lOV.mjs +2 -0
  105. package/dist/{output-BBsUwdyT.mjs → output-C50ag2r3.mjs} +44 -2
  106. package/dist/pages/client.d.mts +19 -51
  107. package/dist/pages/client.mjs +204 -225
  108. package/dist/pages/head-client.d.mts +1 -1
  109. package/dist/pages/head.d.mts +1 -1
  110. package/dist/pages/head.mjs +1 -1
  111. package/dist/pages/index.d.mts +2 -2
  112. package/dist/pages/index.mjs +6 -12
  113. package/dist/pages/islands-plugin.d.mts +1 -1
  114. package/dist/pages/islands-plugin.mjs +21 -25
  115. package/dist/pages/protocol.d.mts +2 -2
  116. package/dist/pages/protocol.mjs +2 -2
  117. package/dist/{plan-NPpwZ_kc.mjs → plan-BhLO2p4w.mjs} +4 -3
  118. package/dist/plan-CH2G51je.mjs +2 -0
  119. package/dist/{platform-args-Bzf8JPc2.mjs → platform-args-BoZkWQnJ.mjs} +4 -2
  120. package/dist/platform-args-DYgITk0D.mjs +2 -0
  121. package/dist/{platform-auth-config-0V0lA3pF.mjs → platform-auth-config-n603OANg.mjs} +45 -40
  122. package/dist/{platform-auth-protection-DFeJ-JkK.mjs → platform-auth-protection-zxDr0hWW.mjs} +9 -8
  123. package/dist/{platform-auth-recovery-ICy4muq6.mjs → platform-auth-recovery-tw9lgtgE.mjs} +8 -7
  124. package/dist/{platform-cmd-D7vSWMvV.mjs → platform-cmd-B8-bCb7t.mjs} +48 -23
  125. package/dist/{platform-cmd-BPySFOew.mjs → platform-cmd-C00YM14r.mjs} +1 -1
  126. package/dist/{platform-discovery-DDDUvnqp.mjs → platform-discovery-BC0HCKYt.mjs} +18 -4
  127. package/dist/{platform-domain-CUdY064e.mjs → platform-domain-p0kobLV8.mjs} +6 -5
  128. package/dist/{platform-lifecycle-Dm09JNkn.mjs → platform-lifecycle-D_QEY32D.mjs} +906 -389
  129. package/dist/{platform-lifecycle-BaUdTRPU.mjs → platform-lifecycle-vFqtNPPa.mjs} +1 -1
  130. package/dist/{platform-management-BSEc_ZeG.mjs → platform-management-BdYblvvE.mjs} +175 -32
  131. package/dist/{platform-management-Bp6aoH2C.mjs → platform-management-oi-SvI3f.mjs} +1 -1
  132. package/dist/{platform-plans-config-B0pOVQyW.mjs → platform-plans-config-CjiFv5J4.mjs} +5 -4
  133. package/dist/{platform-recovery-WOZ95Uze.mjs → platform-recovery-PvNS9Nl2.mjs} +3 -3
  134. package/dist/{platform-registry-KfNEF84O.mjs → platform-registry-P387v42A.mjs} +17 -10
  135. package/dist/platform-setup-DVe42Ws7.mjs +299 -0
  136. package/dist/{plugin-inference-CXWnn79A.mjs → plugin-inference-BlQbOL0P.mjs} +43 -42
  137. package/dist/prepare-DRUV-g3X.mjs +2 -0
  138. package/dist/{prepare-DnaKBi--.mjs → prepare-Do96654b.mjs} +8 -8
  139. package/dist/{prepare-39EvOhI6.mjs → prepare-Dq9hTIbo.mjs} +4 -3
  140. package/dist/{prerender-render-D9qbLs2f.mjs → prerender-render-Ct20jftc.mjs} +17 -3
  141. package/dist/prerender-render.mjs +1 -1
  142. package/dist/{project-IOjBU8R6.mjs → project-BiaPQ7ur.mjs} +1 -1
  143. package/dist/{project-BkbfDs0V.mjs → project-DQstYTxO.mjs} +1 -1
  144. package/dist/{project-cmd-Bs5A392E.mjs → project-cmd-ti8_yTcA.mjs} +19 -19
  145. package/dist/{project-team-ohAWWaew.mjs → project-team-CDPE1Tsg.mjs} +15 -18
  146. package/dist/{project-token-CP01Jna6.mjs → project-token-CkZ1cN0Z.mjs} +14 -17
  147. package/dist/{project-tsconfig-B8GeM0RM.mjs → project-tsconfig-CVJhNMxs.mjs} +2 -1
  148. package/dist/{project-zero-trust-BzkVgx35.mjs → project-zero-trust-DdjLR61k.mjs} +12 -9
  149. package/dist/{protocol-CjF_iI9X.d.mts → protocol-BPZaNqBo.d.mts} +4 -2
  150. package/dist/{protocol-U7bfjHmA.mjs → protocol-CfaUwNs8.mjs} +46 -49
  151. package/dist/{providers-CJlNS3kT.mjs → providers-BXuhmuub.mjs} +1 -12
  152. package/dist/{provision-Btj1jppf.mjs → provision-BfaLiWbj.mjs} +51 -42
  153. package/dist/{provision-BEv0k-qz.mjs → provision-Wu9ZBk9L.mjs} +2 -3
  154. package/dist/{requests-B3PBuGlX.mjs → requests-DFAqyYy8.mjs} +5 -5
  155. package/dist/resolve-project-BIeYs9Cw.mjs +2 -0
  156. package/dist/{resolve-project-BG5ORGID.mjs → resolve-project-CP8rZs_p.mjs} +6 -1
  157. package/dist/{rollback-DDub9GsO.mjs → rollback-BKYXBduI.mjs} +30 -37
  158. package/dist/{route-types-Clm4WD0B.mjs → route-types-CbtsIeFn.mjs} +1 -1
  159. package/dist/route-url-BgPja1GS.d.mts +5 -0
  160. package/dist/route-url-BjGv_KKY.mjs +28 -0
  161. package/dist/runner-9wjsSZx-.mjs +2 -0
  162. package/dist/{runner-Ol0TNjk6.mjs → runner-DMBKSrRk.mjs} +2 -2
  163. package/dist/{runner-mysql-DmWchSWJ.mjs → runner-mysql-CEzKtmFb.mjs} +8 -8
  164. package/dist/{runner-mysql-CEG5JozK.mjs → runner-mysql-CkFqZ6CE.mjs} +1 -1
  165. package/dist/{runner-pg-Bh4AgZdj.mjs → runner-pg-BGYRFdRp.mjs} +1 -1
  166. package/dist/runtime/ai.d.mts +11 -12
  167. package/dist/runtime/ai.mjs +47 -113
  168. package/dist/runtime/better-auth-mysql.d.mts +1 -1
  169. package/dist/runtime/better-auth-mysql.mjs +4 -9
  170. package/dist/runtime/better-auth-pg.d.mts +1 -1
  171. package/dist/runtime/better-auth-pg.mjs +5 -10
  172. package/dist/runtime/better-auth.d.mts +1 -1
  173. package/dist/runtime/better-auth.mjs +3 -3
  174. package/dist/runtime/client-react.d.mts +2 -3
  175. package/dist/runtime/client-react.mjs +2 -2
  176. package/dist/runtime/client-solid.d.mts +2 -3
  177. package/dist/runtime/client-solid.mjs +2 -2
  178. package/dist/runtime/client-svelte.d.mts +2 -3
  179. package/dist/runtime/client-svelte.mjs +2 -2
  180. package/dist/runtime/client-vue.d.mts +2 -3
  181. package/dist/runtime/client-vue.mjs +2 -2
  182. package/dist/runtime/client.d.mts +2 -3
  183. package/dist/runtime/client.mjs +2 -2
  184. package/dist/runtime/db.mjs +1 -1
  185. package/dist/runtime/durable.mjs +3 -10
  186. package/dist/runtime/email/testing.mjs +5 -5
  187. package/dist/runtime/email.d.mts +2 -1
  188. package/dist/runtime/email.mjs +11 -27
  189. package/dist/runtime/env-public.d.mts +1 -1
  190. package/dist/runtime/env-public.mjs +15 -20
  191. package/dist/runtime/env.mjs +1 -1
  192. package/dist/runtime/fetch-stream.d.mts +2 -2
  193. package/dist/runtime/fetch-stream.mjs +1 -1
  194. package/dist/runtime/fetch.d.mts +2 -3
  195. package/dist/runtime/fetch.mjs +1 -1
  196. package/dist/runtime/handler.d.mts +1 -1
  197. package/dist/runtime/handler.mjs +2 -2
  198. package/dist/runtime/isr.mjs +1 -1
  199. package/dist/runtime/kv.mjs +10 -11
  200. package/dist/runtime/limits.d.mts +2 -2
  201. package/dist/runtime/limits.mjs +2 -2
  202. package/dist/runtime/live-client.d.mts +1 -1
  203. package/dist/runtime/live-client.mjs +12 -22
  204. package/dist/runtime/live-server.mjs +27 -35
  205. package/dist/runtime/live.d.mts +2 -2
  206. package/dist/runtime/live.mjs +2 -2
  207. package/dist/runtime/migration-handler.mjs +35 -86
  208. package/dist/runtime/queues.mjs +1 -1
  209. package/dist/runtime/remote/binding-handler.d.mts +2 -2
  210. package/dist/runtime/remote/binding-handler.mjs +8 -9
  211. package/dist/runtime/remote/index.mjs +27 -77
  212. package/dist/runtime/route-url.d.mts +2 -4
  213. package/dist/runtime/route-url.mjs +1 -1
  214. package/dist/runtime/routing.d.mts +1 -1
  215. package/dist/runtime/routing.mjs +15 -26
  216. package/dist/runtime/sandbox.d.mts +1 -1
  217. package/dist/runtime/sandbox.mjs +14 -24
  218. package/dist/runtime/sse.mjs +1 -1
  219. package/dist/runtime/storage.mjs +1 -1
  220. package/dist/runtime/validator.d.mts +1 -1
  221. package/dist/runtime/ws-server.d.mts +2 -2
  222. package/dist/runtime/ws-server.mjs +30 -61
  223. package/dist/runtime/ws.d.mts +1 -1
  224. package/dist/runtime/ws.mjs +1 -1
  225. package/dist/{sandbox-XZAqzFlG.d.mts → sandbox-C5LFoJMf.d.mts} +7 -7
  226. package/dist/{scan-C7okrLyM.mjs → scan-C3uDzz6J.mjs} +21 -18
  227. package/dist/{secret-3c72lY1U.mjs → secret-BAt2KMmO.mjs} +15 -15
  228. package/dist/{skills-BPQUGClu.mjs → skills-BgVMvQdy.mjs} +2 -2
  229. package/dist/{sse-CQNaDFFV.mjs → sse-CMvCgjNk.mjs} +1 -1
  230. package/dist/{subcommand-prompt-Dhom39bd.mjs → subcommand-prompt-BSlnD1fI.mjs} +2 -2
  231. package/dist/sveltekit.d.mts +0 -2
  232. package/dist/terminal-log-text-D9ACPOuG.mjs +32 -0
  233. package/dist/validate-BJr9LfXy.mjs +2 -0
  234. package/dist/{validate-ctOrgiS3.mjs → validate-C9qJArv7.mjs} +9 -28
  235. package/dist/{defer-YsYDUoii.mjs → validation-error-Dg9Recn1.mjs} +11 -11
  236. package/dist/{wrangler-DhUerFkW.mjs → wrangler-D9KTuqnv.mjs} +89 -194
  237. package/dist/{ws-CL1w7GXU.d.mts → ws-CChrrAU-.d.mts} +1 -1
  238. package/dist/{yarn-pnp-BV4AzNul.mjs → yarn-pnp-CUX_iTPA.mjs} +19 -27
  239. package/{skills/void/docs → docs}/guide/ai.md +69 -64
  240. package/{skills/void/docs → docs}/guide/app-types.md +1 -1
  241. package/{skills/void/docs → docs}/guide/auth.md +37 -1
  242. package/{skills/void/docs → docs}/guide/database/postgresql.md +2 -2
  243. package/{skills/void/docs → docs}/guide/database.md +23 -8
  244. package/{skills/void/docs → docs}/guide/edge/revalidation.md +1 -1
  245. package/{skills/void/docs → docs}/guide/edge/rewrites.md +2 -4
  246. package/{skills/void/docs → docs}/guide/email/receiving.md +2 -2
  247. package/{skills/void/docs → docs}/guide/email/sending.md +0 -2
  248. package/{skills/void/docs → docs}/guide/env-vars.md +4 -0
  249. package/{skills/void/docs → docs}/guide/jobs.md +2 -2
  250. package/{skills/void/docs → docs}/guide/live.md +12 -5
  251. package/{skills/void/docs → docs}/guide/pages-routing/actions-and-forms.md +21 -9
  252. package/{skills/void/docs → docs}/guide/pages-routing/loaders.md +7 -3
  253. package/{skills/void/docs → docs}/guide/pages-routing/markdown.md +15 -23
  254. package/{skills/void/docs → docs}/guide/pages-routing/overview.md +6 -4
  255. package/{skills/void/docs → docs}/guide/platform/administration/access.md +2 -10
  256. package/{skills/void/docs → docs}/guide/platform/administration/operations.md +3 -12
  257. package/{skills/void/docs → docs}/guide/platform/administration/projects.md +1 -1
  258. package/{skills/void/docs → docs}/guide/platform/development/local.md +4 -2
  259. package/{skills/void/docs → docs}/guide/platform/development/runtime.md +1 -1
  260. package/{skills/void/docs → docs}/guide/platform/development/schema-ci.md +1 -1
  261. package/{skills/void/docs → docs}/guide/platform/installation/credentials.md +2 -2
  262. package/{skills/void/docs → docs}/guide/platform/installation/domains.md +3 -1
  263. package/{skills/void/docs → docs}/guide/platform/installation/first-deployment.md +8 -2
  264. package/{skills/void/docs → docs}/guide/platform/installation/maintenance.md +7 -1
  265. package/{skills/void/docs → docs}/guide/platform/installation/setup.md +1 -1
  266. package/docs/guide/platform/installation/uninstall.md +102 -0
  267. package/{skills/void/docs → docs}/guide/project-collaboration.md +6 -2
  268. package/{skills/void/docs → docs}/guide/queues.md +0 -2
  269. package/{skills/void/docs → docs}/guide/remote-dev.md +5 -5
  270. package/{skills/void/docs → docs}/guide/sandboxes.md +41 -22
  271. package/{skills/void/docs → docs}/guide/sse.md +0 -2
  272. package/{skills/void/docs → docs}/guide/storage.md +7 -2
  273. package/{skills/void/docs → docs}/guide/websockets.md +4 -0
  274. package/docs/integrations/agents.md +37 -0
  275. package/{skills/void/docs → docs}/integrations/frameworks/astro.md +3 -3
  276. package/{skills/void/docs → docs}/integrations/frameworks/nuxt.md +6 -2
  277. package/{skills/void/docs → docs}/integrations/hono.md +15 -7
  278. package/{skills/void/docs → docs}/integrations/nodejs-bun-deno.md +1 -0
  279. package/{skills/void/docs → docs}/reference/api/auth.md +1 -1
  280. package/{skills/void/docs → docs}/reference/api/handlers.md +4 -2
  281. package/{skills/void/docs → docs}/reference/api/pages.md +4 -0
  282. package/{skills/void/docs → docs}/reference/api/resources.md +11 -14
  283. package/{skills/void/docs → docs}/reference/api.md +35 -34
  284. package/{skills/void/docs → docs}/reference/cli/auth.md +3 -6
  285. package/{skills/void/docs → docs}/reference/cli/database.md +3 -4
  286. package/{skills/void/docs → docs}/reference/cli/generate.md +1 -1
  287. package/{skills/void/docs → docs}/reference/cli/github.md +3 -12
  288. package/{skills/void/docs → docs}/reference/cli/platform-config.md +3 -3
  289. package/{skills/void/docs → docs}/reference/cli/platform-email.md +2 -3
  290. package/{skills/void/docs → docs}/reference/cli/platform-installation.md +15 -13
  291. package/{skills/void/docs → docs}/reference/cli/platform-operations.md +3 -0
  292. package/{skills/void/docs → docs}/reference/cli/platform-users.md +2 -2
  293. package/{skills/void/docs → docs}/reference/cli/platform.md +4 -2
  294. package/{skills/void/docs → docs}/reference/cli/project.md +5 -4
  295. package/{skills/void/docs → docs}/reference/cli/secrets.md +3 -3
  296. package/{skills/void/docs → docs}/reference/cli/setup.md +9 -11
  297. package/{skills/void/docs → docs}/reference/cli.md +2 -2
  298. package/{skills/void/docs → docs}/reference/config.md +13 -13
  299. package/{skills/void/docs → docs}/reference/resource-inference.md +2 -16
  300. package/package.json +34 -30
  301. package/schema.json +1 -1
  302. package/skills/migrate-vite-cloudflare-to-void/SKILL.md +4 -1
  303. package/skills/void/SKILL.md +11 -5
  304. package/dist/cf-build-output-ChY6-XWP.mjs +0 -2
  305. package/dist/client-B4Me-9HE.mjs +0 -2
  306. package/dist/config-0acf1oys.mjs +0 -2
  307. package/dist/config-D8MOgiQV.mjs +0 -32
  308. package/dist/deploy-BDu1vhSH.mjs +0 -2
  309. package/dist/discover-AMCBXivQ.mjs +0 -2
  310. package/dist/fetch-error-Sp1R4mZv.d.mts +0 -20
  311. package/dist/gen-ById9r2j.mjs +0 -2
  312. package/dist/help-DPGBwomV.mjs +0 -2
  313. package/dist/login-C98-sw79.mjs +0 -2
  314. package/dist/migrate-CEu2X5DB.mjs +0 -2
  315. package/dist/plan-D1Q5rf-r.mjs +0 -2
  316. package/dist/platform-args-Cq6EjQro.mjs +0 -2
  317. package/dist/prepare-CnjcTV2s.mjs +0 -2
  318. package/dist/resolve-project-DtbidV4y.mjs +0 -2
  319. package/dist/route-url-CG7U-cRN.mjs +0 -15
  320. package/dist/runner-CXA9Fh8h.mjs +0 -2
  321. package/dist/validate-Dq_L3s0S.mjs +0 -2
  322. package/skills/void/docs/guide/platform/installation/uninstall.md +0 -69
  323. package/skills/void/docs/integrations/agents.md +0 -26
  324. package/dist/{runner-pg-D4OPlil-.mjs → runner-pg-DV8p_zjA.mjs} +4 -4
  325. package/{skills/void/docs → docs}/guide/database/d1.md +2 -2
  326. package/{skills/void/docs → docs}/guide/database/mysql.md +0 -0
  327. package/{skills/void/docs → docs}/guide/deployment.md +0 -0
  328. package/{skills/void/docs → docs}/guide/durable-state.md +0 -0
  329. package/{skills/void/docs → docs}/guide/edge/headers.md +0 -0
  330. package/{skills/void/docs → docs}/guide/edge/prerendering.md +0 -0
  331. package/{skills/void/docs → docs}/guide/edge/redirects.md +0 -0
  332. package/{skills/void/docs → docs}/guide/edge/static-assets.md +0 -0
  333. package/{skills/void/docs → docs}/guide/email/domains.md +0 -0
  334. package/{skills/void/docs → docs}/guide/email.md +0 -0
  335. package/{skills/void/docs → docs}/guide/index.md +0 -0
  336. package/{skills/void/docs → docs}/guide/kv.md +0 -0
  337. package/{skills/void/docs → docs}/guide/pages-routing/head.md +0 -0
  338. package/{skills/void/docs → docs}/guide/pages-routing/islands.md +2 -2
  339. package/{skills/void/docs → docs}/guide/pages-routing/layouts.md +0 -0
  340. package/{skills/void/docs → docs}/guide/pages-routing/view-transitions.md +0 -0
  341. package/{skills/void/docs → docs}/guide/platform/administration/email.md +0 -0
  342. package/{skills/void/docs → docs}/guide/platform/administration/plans.md +0 -0
  343. package/{skills/void/docs → docs}/guide/platform/administration/zero-trust.md +0 -0
  344. package/{skills/void/docs → docs}/guide/platform/installation/ci.md +0 -0
  345. package/{skills/void/docs → docs}/guide/platform/installation/prerequisites.md +0 -0
  346. package/{skills/void/docs → docs}/guide/platform-administration.md +0 -0
  347. package/{skills/void/docs → docs}/guide/platform-development.md +0 -0
  348. package/{skills/void/docs → docs}/guide/quickstart.md +0 -0
  349. package/{skills/void/docs → docs}/guide/self-hosted-platform.md +0 -0
  350. package/{skills/void/docs → docs}/guide/server-routing.md +3 -3
  351. package/{skills/void/docs → docs}/guide/ssg.md +0 -0
  352. package/{skills/void/docs → docs}/guide/ssr.md +0 -0
  353. package/{skills/void/docs → docs}/guide/type-safety.md +0 -0
  354. package/{skills/void/docs → docs}/guide/typed-fetch.md +0 -0
  355. package/{skills/void/docs → docs}/index.md +0 -0
  356. package/{skills/void/docs → docs}/integrations/cloudflare.md +0 -0
  357. package/{skills/void/docs → docs}/integrations/frameworks/analog.md +3 -3
  358. package/{skills/void/docs → docs}/integrations/frameworks/overview.md +0 -0
  359. package/{skills/void/docs → docs}/integrations/frameworks/react-router.md +3 -3
  360. package/{skills/void/docs → docs}/integrations/frameworks/sveltekit.md +1 -1
  361. package/{skills/void/docs → docs}/integrations/frameworks/tanstack-start.md +2 -2
  362. package/{skills/void/docs → docs}/reference/api/client.md +0 -0
  363. package/{skills/void/docs → docs}/reference/api/database.md +2 -2
  364. /package/{skills/void/docs → docs}/reference/api/durable.md +0 -0
  365. /package/{skills/void/docs → docs}/reference/api/env.md +0 -0
  366. /package/{skills/void/docs → docs}/reference/api/plugin.md +0 -0
  367. /package/{skills/void/docs → docs}/reference/api/rewrites.md +0 -0
  368. /package/{skills/void/docs → docs}/reference/api/types.md +0 -0
  369. /package/{skills/void/docs → docs}/reference/cli/deploy.md +0 -0
  370. /package/{skills/void/docs → docs}/reference/cli/domains.md +0 -0
  371. /package/{skills/void/docs → docs}/reference/cli/email.md +0 -0
  372. /package/{skills/void/docs → docs}/reference/cli/platform-zero-trust.md +0 -0
  373. /package/{skills/void/docs → docs}/reference/structure.md +0 -0
@@ -1,5 +1,5 @@
1
- import { r as applySqliteAuthMigrations } from "../auth-migrations-9vif1uj8.mjs";
2
- import { t as createVoidAuthRuntime } from "../better-auth-shared-hy6RPh9W.mjs";
1
+ import { r as applySqliteAuthMigrations } from "../auth-migrations-BwHgeEsD.mjs";
2
+ import { n as createVoidAuthRuntime, t as assertRuntimeDialect } from "../better-auth-shared-DPpj8zxc.mjs";
3
3
  //#region src/runtime/better-auth.ts
4
4
  async function resolveDatabase(env) {
5
5
  if (!env.DB) throw new Error("auth: Better Auth requires the \"DB\" D1 binding for sqlite apps.");
@@ -10,7 +10,7 @@ async function resolveDatabase(env) {
10
10
  }
11
11
  async function runSqliteAuthMigrations(_request, env, runtime, migrationSchema) {
12
12
  if (!migrationSchema) throw new Error("auth: Migration schema is unavailable.");
13
- if (runtime.dialect !== "sqlite") throw new Error(`auth: Runtime mismatch. Expected sqlite, received '${runtime.dialect}'.`);
13
+ assertRuntimeDialect(runtime, "sqlite");
14
14
  if (migrationSchema.dialect !== "sqlite") throw new Error(`auth: Runtime mismatch. Expected sqlite, received '${migrationSchema.dialect}'.`);
15
15
  if (!env.DB) throw new Error("auth: Better Auth requires the \"DB\" D1 binding for sqlite apps.");
16
16
  await applySqliteAuthMigrations({
@@ -1,6 +1,5 @@
1
1
  import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { n as createAuthClient, t as auth } from "../auth-client-react-7GFffu8R.mjs";
3
- import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
- import { t as fetch } from "../fetch-_SeGZao9.mjs";
5
- import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
3
+ import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
4
+ import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
6
5
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,5 +1,5 @@
1
1
  import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
2
- import { t as fetch } from "../fetch-BIZJh7vR.mjs";
3
- import { t as fetchStream } from "../fetch-stream-IvCYKyQL.mjs";
2
+ import { t as fetch } from "../fetch-sAcwjzLO.mjs";
3
+ import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
4
4
  import { n as createAuthClient, t as auth } from "../auth-client-react-CMLwT2xI.mjs";
5
5
  export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,6 +1,5 @@
1
1
  import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { n as createAuthClient, t as auth } from "../auth-client-solid-DyTFL4cq.mjs";
3
- import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
- import { t as fetch } from "../fetch-_SeGZao9.mjs";
5
- import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
3
+ import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
4
+ import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
6
5
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,5 +1,5 @@
1
1
  import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
2
- import { t as fetch } from "../fetch-BIZJh7vR.mjs";
3
- import { t as fetchStream } from "../fetch-stream-IvCYKyQL.mjs";
2
+ import { t as fetch } from "../fetch-sAcwjzLO.mjs";
3
+ import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
4
4
  import { n as createAuthClient, t as auth } from "../auth-client-solid-UoreJWZG.mjs";
5
5
  export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,6 +1,5 @@
1
1
  import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { n as createAuthClient, t as auth } from "../auth-client-svelte-zetW0KIH.mjs";
3
- import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
- import { t as fetch } from "../fetch-_SeGZao9.mjs";
5
- import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
3
+ import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
4
+ import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
6
5
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,5 +1,5 @@
1
1
  import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
2
- import { t as fetch } from "../fetch-BIZJh7vR.mjs";
3
- import { t as fetchStream } from "../fetch-stream-IvCYKyQL.mjs";
2
+ import { t as fetch } from "../fetch-sAcwjzLO.mjs";
3
+ import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
4
4
  import { n as createAuthClient, t as auth } from "../auth-client-svelte-Cv_WvrRk.mjs";
5
5
  export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,6 +1,5 @@
1
1
  import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { n as createAuthClient, t as auth } from "../auth-client-vue-bChShbQP.mjs";
3
- import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
- import { t as fetch } from "../fetch-_SeGZao9.mjs";
5
- import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
3
+ import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
4
+ import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
6
5
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,5 +1,5 @@
1
1
  import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
2
- import { t as fetch } from "../fetch-BIZJh7vR.mjs";
3
- import { t as fetchStream } from "../fetch-stream-IvCYKyQL.mjs";
2
+ import { t as fetch } from "../fetch-sAcwjzLO.mjs";
3
+ import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
4
4
  import { n as createAuthClient, t as auth } from "../auth-client-vue-CFk7Xbv3.mjs";
5
5
  export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,6 +1,5 @@
1
1
  import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { n as createAuthClient, t as auth } from "../auth-client-Bawdj38n.mjs";
3
- import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
- import { t as fetch } from "../fetch-_SeGZao9.mjs";
5
- import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
3
+ import { a as fetch, o as FetchError } from "../fetch-BPCYVi3H.mjs";
4
+ import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
6
5
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,5 +1,5 @@
1
1
  import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
2
- import { t as fetch } from "../fetch-BIZJh7vR.mjs";
3
- import { t as fetchStream } from "../fetch-stream-IvCYKyQL.mjs";
2
+ import { t as fetch } from "../fetch-sAcwjzLO.mjs";
3
+ import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
4
4
  import { n as createAuthClient, t as auth } from "../auth-client-BWBT8HLp.mjs";
5
5
  export { FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,4 +1,4 @@
1
- import { a as requireRuntimeBinding, r as getRuntimeRequestResource } from "../env-D5liuQYR.mjs";
1
+ import { a as requireRuntimeBinding, r as getRuntimeRequestResource } from "../env-DMA3cXZt.mjs";
2
2
  import { drizzle } from "drizzle-orm/d1";
3
3
  import { and, asc, avg, between, count, desc, eq, exists, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, max, min, ne, not, notBetween, notExists, notInArray, notLike, or, sql, sum } from "drizzle-orm";
4
4
  //#region src/runtime/db.ts
@@ -1,11 +1,8 @@
1
1
  import { t as isResourceName } from "../resource-name-C7LVpcRm.mjs";
2
- import { a as requireRuntimeBinding, o as withRuntimeEnv } from "../env-D5liuQYR.mjs";
2
+ import { a as requireRuntimeBinding, o as withRuntimeEnv } from "../env-DMA3cXZt.mjs";
3
3
  import { DurableObject } from "cloudflare:workers";
4
4
  //#region src/runtime/durable.ts
5
5
  const DEFAULT_STORAGE_KEY = "__void_durable_state";
6
- function cloneInitialState(state) {
7
- return structuredClone(state);
8
- }
9
6
  function assertMigrations(version, migrations) {
10
7
  const byVersion = /* @__PURE__ */ new Map();
11
8
  for (const migration of migrations) {
@@ -43,7 +40,7 @@ function defineDurableState(definition) {
43
40
  async #load() {
44
41
  const stored = await this.#objectState.storage.get(storageKey);
45
42
  if (!stored) {
46
- const initial = typeof definition.initialState === "function" ? await definition.initialState(this.#runtimeEnv) : cloneInitialState(definition.initialState);
43
+ const initial = typeof definition.initialState === "function" ? await definition.initialState(this.#runtimeEnv) : structuredClone(definition.initialState);
47
44
  this.#value = initial;
48
45
  await this.#persist();
49
46
  return;
@@ -51,11 +48,7 @@ function defineDurableState(definition) {
51
48
  if (stored.__voidDurableState !== true || !Number.isInteger(stored.version)) throw new Error(`durable: invalid state record at storage key '${storageKey}'.`);
52
49
  if (stored.version > version) throw new Error(`durable: stored state version ${stored.version} is newer than supported version ${version}.`);
53
50
  let value = stored.value;
54
- for (let nextVersion = stored.version + 1; nextVersion <= version; nextVersion++) {
55
- const migration = migrations.get(nextVersion);
56
- if (!migration) throw new Error(`durable: missing state migration for version ${nextVersion}.`);
57
- value = await migration.migrate(value);
58
- }
51
+ for (let nextVersion = stored.version + 1; nextVersion <= version; nextVersion++) value = await migrations.get(nextVersion).migrate(value);
59
52
  this.#value = value;
60
53
  if (stored.version !== version) await this.#persist();
61
54
  }
@@ -1,7 +1,7 @@
1
- import { i as normalizeEmail, r as buildMime } from "../../mime-D5Nmdzf7.mjs";
2
- import { n as compileEmailPattern, t as compareEmailRoutes } from "../../email--tEtMoj_.mjs";
3
- import { y as registerEmailSink } from "../../dev-inbox-D64ZKUod.mjs";
4
- import { i as createMessageProxy, n as MAX_INBOUND_HEADERS, t as MAX_INBOUND_BYTES } from "../../inbound-fRkqcXaC.mjs";
1
+ import { i as normalizeEmail, r as buildMime } from "../../mime-DxCznlJq.mjs";
2
+ import { n as compileEmailPattern, t as compareEmailRoutes } from "../../email-d_Aux1vM.mjs";
3
+ import { b as registerEmailSink } from "../../dev-inbox-CK-UuPob.mjs";
4
+ import { a as createMessageProxy, n as MAX_INBOUND_HEADERS, t as MAX_INBOUND_BYTES } from "../../inbound-PfQDLXc5.mjs";
5
5
  //#region src/runtime/email/testing.ts
6
6
  /**
7
7
  * Test harnesses for void/email.
@@ -163,7 +163,7 @@ function createInboundTestHarness(opts) {
163
163
  else {
164
164
  const at = input.to.indexOf("@");
165
165
  const label = at === -1 ? "void email" : input.to.slice(at + 1).toLowerCase() || "void email";
166
- if (raw.byteLength > 10485760) return refuse(`${label}: message too large (max ${MAX_INBOUND_BYTES} bytes)`);
166
+ if (raw.byteLength > MAX_INBOUND_BYTES) return refuse(`${label}: message too large (max ${MAX_INBOUND_BYTES} bytes)`);
167
167
  try {
168
168
  headers = parseHeaderBlock(raw, MAX_INBOUND_HEADERS);
169
169
  } catch (e) {
@@ -9,7 +9,8 @@ export declare class MimeError extends Error {
9
9
  //#endregion
10
10
  //#region src/runtime/email.d.ts
11
11
  /**
12
- * Send an email via the Void platform proxy.
12
+ * Send an email via the worker's own `SEND_EMAIL` binding or the Void
13
+ * platform proxy.
13
14
  *
14
15
  * During `void dev` the message is captured by the local inbox
15
16
  * (`/__void/inbox`) and never reaches the proxy; an in-process sink
@@ -1,7 +1,7 @@
1
- import { i as normalizeEmail, n as MimeError, r as buildMime } from "../mime-D5Nmdzf7.mjs";
2
- import { a as DEV_INBOX_ENV_VAR, b as serializeCapturedMessage, c as DEV_INBOX_TOKEN_ENV_VAR, d as captureMessage, h as hasActiveSink, i as DEV_INBOX_CAPTURE_URL, p as dispatchToSinks } from "../dev-inbox-D64ZKUod.mjs";
3
- import { a as getRawRuntimeEnv } from "../env-raw-Cx8ElDdj.mjs";
4
- import { a as defineEmail, c as parseEmail, i as createMessageProxy, l as replyEmail, o as enactEmailActions, r as ParseEmailError, s as isForwardableEmailMessage } from "../inbound-fRkqcXaC.mjs";
1
+ import { i as normalizeEmail, n as MimeError, r as buildMime } from "../mime-DxCznlJq.mjs";
2
+ import { a as DEV_INBOX_ENV_VAR, c as DEV_INBOX_TOKEN_ENV_VAR, d as bytesToBase64, f as captureMessage, g as hasActiveSink, i as DEV_INBOX_CAPTURE_URL, m as dispatchToSinks, x as serializeCapturedMessage } from "../dev-inbox-CK-UuPob.mjs";
3
+ import { a as getRawRuntimeEnv } from "../env-raw-jZpP5n47.mjs";
4
+ import { a as createMessageProxy, c as isForwardableEmailMessage, i as bytesToReadableStream, l as parseEmail, o as defineEmail, r as ParseEmailError, s as enactEmailActions, u as replyEmail } from "../inbound-PfQDLXc5.mjs";
5
5
  import { isRecord } from "@void/deploy-core";
6
6
  //#region src/runtime/email.ts
7
7
  const VALID_SLUG = /^[a-z0-9](?:[a-z0-9-]{0,54}[a-z0-9])?$/;
@@ -78,7 +78,6 @@ function resolveSendEmailBinding(env) {
78
78
  * `OUTCOME_UNKNOWN` with the original error as `cause`: once `send()` has
79
79
  * started, an undocumented rejection does not prove the provider declined
80
80
  * the message before accepting it.
81
- *
82
81
  */
83
82
  function classifyBindingError(e) {
84
83
  const message = e instanceof Error ? e.message : String(e);
@@ -93,12 +92,6 @@ function classifyBindingError(e) {
93
92
  return makeError("OUTCOME_UNKNOWN", message, e);
94
93
  }
95
94
  const UNVERIFIED_DESTINATION_RE = /^[^\n]{0,200}destination address[^\n]{0,200}not (?:yet )?verified/i;
96
- function bytesToReadableStream(bytes) {
97
- return new ReadableStream({ start(controller) {
98
- controller.enqueue(bytes);
99
- controller.close();
100
- } });
101
- }
102
95
  /**
103
96
  * Deliver through the worker's own `SEND_EMAIL` binding. One `EmailMessage`
104
97
  * per recipient, within one bounded batch, and the same `deliveries` shape
@@ -213,15 +206,6 @@ function err(code, message, cause) {
213
206
  error: makeError(code, message, cause)
214
207
  };
215
208
  }
216
- function bytesToBase64(bytes) {
217
- const CHUNK = 8192;
218
- let binary = "";
219
- for (let i = 0; i < bytes.byteLength; i += CHUNK) {
220
- const slice = bytes.subarray(i, Math.min(i + CHUNK, bytes.byteLength));
221
- binary += String.fromCharCode(...slice);
222
- }
223
- return btoa(binary);
224
- }
225
209
  function coerceErrorCode(code) {
226
210
  return [
227
211
  "BINDING_MISSING",
@@ -342,12 +326,13 @@ function readFailureDeliveries(raw, recipients, fallbackId) {
342
326
  ...entry.state === "provider_accepted" ? { state: "provider_accepted" } : {}
343
327
  } : void 0;
344
328
  if (entry.ok === false) {
329
+ const state = readDeliveryState(entry.state);
345
330
  const error = entry.error;
346
331
  return typeof error === "object" && error !== null && typeof error.message === "string" ? {
347
332
  recipient,
348
333
  ok: false,
349
334
  error: makeError(coerceErrorCode(error.code), error.message),
350
- ...readDeliveryState(entry.state) ? { state: readDeliveryState(entry.state) } : {}
335
+ ...state ? { state } : {}
351
336
  } : void 0;
352
337
  }
353
338
  });
@@ -569,11 +554,9 @@ async function postToDevInbox(inbox, captured) {
569
554
  * `ids` is built from the same deduplicated, lowercased list the two
570
555
  * production transports send to, so code written against a captured result
571
556
  * sees exactly what a deploy returns: one entry per unique address, keyed the
572
- * way `sendViaBinding` and the proxy report it. Mapping every `to`/`cc`/`bcc`
573
- * occurrence instead handed a test or `void dev` handler one success per
574
- * occurrence in its original case — deliveries that never happen once
575
- * deployed. The captured message itself keeps the original fields; the
576
- * inbox displays what was asked for, the result reports what would be sent.
557
+ * way `sendViaBinding` and the proxy report it. The captured message itself
558
+ * keeps the original fields; the inbox displays what was asked for, the
559
+ * result reports what would be sent.
577
560
  */
578
561
  function capturedResult(normalized, captureId) {
579
562
  const recipients = uniqueRecipients(normalized);
@@ -587,7 +570,8 @@ function capturedResult(normalized, captureId) {
587
570
  };
588
571
  }
589
572
  /**
590
- * Send an email via the Void platform proxy.
573
+ * Send an email via the worker's own `SEND_EMAIL` binding or the Void
574
+ * platform proxy.
591
575
  *
592
576
  * During `void dev` the message is captured by the local inbox
593
577
  * (`/__void/inbox`) and never reaches the proxy; an in-process sink
@@ -1,4 +1,4 @@
1
1
  /// <reference types="@cloudflare/workers-types" />
2
2
  import { a as number, c as url, i as json, n as boolean, o as oneOf, r as email, s as string, t as EnvSchema } from "../env-helpers-CyKtOBpj.mjs";
3
- import { a as _getSchemaDefaults, c as defineEnv, i as _getRegisteredSchema, l as env, n as EnvValidationReport, o as _hasRegisteredSchema, r as ValidatedEnv, s as _validateEnvOnce, t as EnvValidationError, u as validateAllEnv } from "../env-public-BX_r8HR6.mjs";
3
+ import { a as _getSchemaDefaults, c as defineEnv, i as _getRegisteredSchema, l as env, n as EnvValidationReport, o as _hasRegisteredSchema, r as ValidatedEnv, s as _validateEnvOnce, t as EnvValidationError, u as validateAllEnv } from "../env-public-DR7ZM6d-.mjs";
4
4
  export { type EnvSchema, EnvValidationError, EnvValidationReport, ValidatedEnv, _getRegisteredSchema, _getSchemaDefaults, _hasRegisteredSchema, _validateEnvOnce, boolean, defineEnv, email, env, json, number, oneOf, string, url, validateAllEnv };
@@ -1,5 +1,5 @@
1
- import { a as getRawRuntimeEnv } from "../env-raw-Cx8ElDdj.mjs";
2
- import { i as isInternalBinding, n as getRuntimeEnv } from "../env-D5liuQYR.mjs";
1
+ import { a as getRawRuntimeEnv } from "../env-raw-jZpP5n47.mjs";
2
+ import { i as isInternalBinding, n as getRuntimeEnv } from "../env-DMA3cXZt.mjs";
3
3
  import { a as oneOf, i as number, n as email, o as string, r as json, s as url, t as boolean } from "../env-helpers--wFmQ_5Q.mjs";
4
4
  //#region src/shared/env-mask.ts
5
5
  /**
@@ -93,6 +93,16 @@ const registry = registryGlobal[ENV_REGISTRY_SYMBOL] ??= {
93
93
  bootValidation: null
94
94
  };
95
95
  const validatedCache = /* @__PURE__ */ new WeakMap();
96
+ const cacheList = [];
97
+ function getValidatedCache(rawEnv) {
98
+ let cache = validatedCache.get(rawEnv);
99
+ if (!cache) {
100
+ cache = /* @__PURE__ */ new Map();
101
+ validatedCache.set(rawEnv, cache);
102
+ cacheList.push(cache);
103
+ }
104
+ return cache;
105
+ }
96
106
  /** Vite embeds the same public build inputs into server and browser bundles. */
97
107
  function getClientEnvValues() {
98
108
  const values = import.meta.env;
@@ -112,7 +122,7 @@ function getClientEnvValues() {
112
122
  function defineEnv(schema) {
113
123
  registry.schema = schema;
114
124
  registry.hasDefineEnvBeenCalled = true;
115
- for (const map of validatedCacheValues()) map.clear();
125
+ for (const map of cacheList) map.clear();
116
126
  registry.bootValidation = null;
117
127
  return env;
118
128
  }
@@ -150,12 +160,7 @@ async function _validateEnvOnce(envValues) {
150
160
  if (report.valid) {
151
161
  try {
152
162
  const cacheKey = getRawRuntimeEnv();
153
- let cache = validatedCache.get(cacheKey);
154
- if (!cache) {
155
- cache = /* @__PURE__ */ new Map();
156
- validatedCache.set(cacheKey, cache);
157
- cacheList.push(cache);
158
- }
163
+ const cache = getValidatedCache(cacheKey);
159
164
  for (const [key, value] of report.values) {
160
165
  if (isInternalBinding(key, cacheKey)) continue;
161
166
  if (!cache.has(key)) cache.set(key, value);
@@ -174,10 +179,6 @@ async function _validateEnvOnce(envValues) {
174
179
  };
175
180
  throw error;
176
181
  }
177
- function validatedCacheValues() {
178
- return cacheList;
179
- }
180
- const cacheList = [];
181
182
  /** Internal: framework-only access to the registered schema (for plugin/CLI). */
182
183
  function _getRegisteredSchema() {
183
184
  return registry.schema;
@@ -240,13 +241,7 @@ function readKey(key) {
240
241
  if (!registry.schema) return rawValue;
241
242
  const validator = registry.schema[key];
242
243
  if (!validator) return rawValue;
243
- const cacheKey = rawEnv;
244
- let cache = validatedCache.get(cacheKey);
245
- if (!cache) {
246
- cache = /* @__PURE__ */ new Map();
247
- validatedCache.set(cacheKey, cache);
248
- cacheList.push(cache);
249
- }
244
+ const cache = getValidatedCache(rawEnv);
250
245
  if (cache.has(key)) return cache.get(key);
251
246
  const result = validator["~standard"].validate(rawValue);
252
247
  if (result instanceof Promise) throw new Error(`env: Async validator for '${key}' cannot be resolved synchronously. Proxy property access is synchronous, so async Standard Schema validators must be pre-resolved by calling \`_validateEnvOnce(env)\` at worker boot (Void splices this into the generated entry) or by awaiting \`validateAllEnv(env)\` before the first \`env.${key}\` read. Once pre-validated, the resolved value is cached and served synchronously here.`);
@@ -1,2 +1,2 @@
1
- import { a as requireRuntimeBinding, i as isInternalBinding, n as getRuntimeEnv, o as withRuntimeEnv, r as getRuntimeRequestResource, t as getRuntimeBinding } from "../env-D5liuQYR.mjs";
1
+ import { a as requireRuntimeBinding, i as isInternalBinding, n as getRuntimeEnv, o as withRuntimeEnv, r as getRuntimeRequestResource, t as getRuntimeBinding } from "../env-DMA3cXZt.mjs";
2
2
  export { getRuntimeBinding, getRuntimeEnv, getRuntimeRequestResource, isInternalBinding, requireRuntimeBinding, withRuntimeEnv };
@@ -1,3 +1,3 @@
1
- import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
2
- import { t as fetchStream } from "../fetch-stream-Bjf0hoZb.mjs";
1
+ import { o as FetchError } from "../fetch-BPCYVi3H.mjs";
2
+ import { t as fetchStream } from "../fetch-stream-obvZ7fvO.mjs";
3
3
  export { FetchError as StreamError, fetchStream };
@@ -1,3 +1,3 @@
1
1
  import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
2
- import { t as fetchStream } from "../fetch-stream-IvCYKyQL.mjs";
2
+ import { t as fetchStream } from "../fetch-stream-PGgz4uGz.mjs";
3
3
  export { FetchError as StreamError, fetchStream };
@@ -1,3 +1,2 @@
1
- import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
2
- import { t as fetch } from "../fetch-_SeGZao9.mjs";
3
- export { FetchError, fetch };
1
+ import { a as fetch, i as QueryOption, n as MethodsOf, o as FetchError, r as ParamsOption, t as BodyOption } from "../fetch-BPCYVi3H.mjs";
2
+ export { BodyOption, FetchError, MethodsOf, ParamsOption, QueryOption, fetch };
@@ -1,3 +1,3 @@
1
1
  import { t as FetchError } from "../fetch-error-Dj3crt0e.mjs";
2
- import { t as fetch } from "../fetch-BIZJh7vR.mjs";
2
+ import { t as fetch } from "../fetch-sAcwjzLO.mjs";
3
3
  export { FetchError, fetch };
@@ -1,3 +1,3 @@
1
1
  /// <reference types="@cloudflare/workers-types" />
2
- import { C as defer, E as ValidatorSlots, S as InferProps, T as HandlerInput, _ as defineQueue, a as CloudEnv, b as Deferred, c as QueueRetryOptions, d as TypedQueueHandler, f as VoidAssetRewriteError, g as defineMiddleware, h as defineHead, i as CloudContextVariables, l as RenderAssetTags, m as defineHandler, n as CloudBindings, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, w as ValidationError, y as defineScheduled } from "../handler-CZ4nAylQ.mjs";
2
+ import { C as defer, E as ValidatorSlots, S as InferProps, T as HandlerInput, _ as defineQueue, a as CloudEnv, b as Deferred, c as QueueRetryOptions, d as TypedQueueHandler, f as VoidAssetRewriteError, g as defineMiddleware, h as defineHead, i as CloudContextVariables, l as RenderAssetTags, m as defineHandler, n as CloudBindings, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, w as ValidationError, y as defineScheduled } from "../handler-CNAwjRcW.mjs";
3
3
  export { BasicAuthOptions, CloudBindings, CloudContext, CloudContextVariables, CloudEnv, type Deferred, type HandlerInput, type InferProps, QueueBatch, QueueMessage, QueueRetryOptions, RenderAssetTags, TypedHandler, TypedQueueHandler, ValidationError, type ValidatorSlots, VoidAssetRewriteError, basicAuth, defer, defineHandler, defineHead, defineMiddleware, defineQueue, defineRender, defineScheduled };
@@ -1,3 +1,3 @@
1
- import { i as ValidationError, n as defer } from "../defer-YsYDUoii.mjs";
2
- import { a as defineMiddleware, c as defineScheduled, i as defineHead, n as basicAuth, o as defineQueue, r as defineHandler, s as defineRender, t as VoidAssetRewriteError } from "../handler-DghKr6dU.mjs";
1
+ import { r as defer, t as ValidationError } from "../validation-error-Dg9Recn1.mjs";
2
+ import { a as defineMiddleware, c as defineScheduled, i as defineHead, n as basicAuth, o as defineQueue, r as defineHandler, s as defineRender, t as VoidAssetRewriteError } from "../handler-BHAn2fZJ.mjs";
3
3
  export { ValidationError, VoidAssetRewriteError, basicAuth, defer, defineHandler, defineHead, defineMiddleware, defineQueue, defineRender, defineScheduled };
@@ -1,4 +1,4 @@
1
- import { a as getRawRuntimeEnv } from "../env-raw-Cx8ElDdj.mjs";
1
+ import { a as getRawRuntimeEnv } from "../env-raw-jZpP5n47.mjs";
2
2
  import { isrEdgeCacheUrlForToken, splitIsrCacheKey } from "@void/isr";
3
3
  import { denormalizeIsrPath, isrKey, isrPrefix, isrVariantPrefix, listIsrHosts } from "@void/isr/runtime";
4
4
  //#region src/runtime/isr.ts
@@ -1,4 +1,4 @@
1
- import { a as requireRuntimeBinding } from "../env-D5liuQYR.mjs";
1
+ import { a as requireRuntimeBinding } from "../env-DMA3cXZt.mjs";
2
2
  //#region src/runtime/kv.ts
3
3
  function parseValue(raw) {
4
4
  if (raw === null) return null;
@@ -11,6 +11,13 @@ function parseValue(raw) {
11
11
  function serializeValue(value) {
12
12
  return JSON.stringify(value);
13
13
  }
14
+ function toPutOptions(options) {
15
+ const opts = {};
16
+ if (options?.ttl) opts.expirationTtl = options.ttl;
17
+ if (options?.expiration) opts.expiration = options.expiration;
18
+ if (options?.metadata) opts.metadata = options.metadata;
19
+ return opts;
20
+ }
14
21
  function getListCursor(result) {
15
22
  return typeof result.cursor === "string" ? result.cursor : void 0;
16
23
  }
@@ -21,11 +28,7 @@ function createKVMap(getNS, prefix) {
21
28
  return parseValue(await getNS().get(prefixed(key)));
22
29
  },
23
30
  async put(key, value, options) {
24
- const opts = {};
25
- if (options?.ttl) opts.expirationTtl = options.ttl;
26
- if (options?.expiration) opts.expiration = options.expiration;
27
- if (options?.metadata) opts.metadata = options.metadata;
28
- await getNS().put(prefixed(key), serializeValue(value), opts);
31
+ await getNS().put(prefixed(key), serializeValue(value), toPutOptions(options));
29
32
  },
30
33
  async delete(key) {
31
34
  await getNS().delete(prefixed(key));
@@ -62,11 +65,7 @@ function createKVClient(getNS) {
62
65
  return parseValue(await getNS().get(key));
63
66
  },
64
67
  async put(key, value, options) {
65
- const opts = {};
66
- if (options?.ttl) opts.expirationTtl = options.ttl;
67
- if (options?.expiration) opts.expiration = options.expiration;
68
- if (options?.metadata) opts.metadata = options.metadata;
69
- await getNS().put(key, serializeValue(value), opts);
68
+ await getNS().put(key, serializeValue(value), toPutOptions(options));
70
69
  },
71
70
  async delete(key) {
72
71
  await getNS().delete(key);
@@ -1,2 +1,2 @@
1
- import { a as asUsageLimit, c as readUsageLimit, i as UsageLimitData, n as LimitOperation, o as limitFromResponse, r as UsageLimit, s as limitOperation, t as LimitHandlers } from "../limits-Bq5LG8Id.mjs";
2
- export { LimitHandlers, LimitOperation, UsageLimit, type UsageLimitData, asUsageLimit, limitFromResponse, limitOperation, readUsageLimit };
1
+ import { a as readUsageLimit, i as limitFromResponse, n as UsageLimitData, r as asUsageLimit, t as UsageLimit } from "../limits-CFsDKQvU.mjs";
2
+ export { UsageLimit, type UsageLimitData, asUsageLimit, limitFromResponse, readUsageLimit };
@@ -1,2 +1,2 @@
1
- import { a as readUsageLimit, i as limitOperation, n as asUsageLimit, r as limitFromResponse, t as UsageLimit } from "../limits-Cjuk2VPm.mjs";
2
- export { UsageLimit, asUsageLimit, limitFromResponse, limitOperation, readUsageLimit };
1
+ import { i as readUsageLimit, n as asUsageLimit, r as limitFromResponse, t as UsageLimit } from "../limits-D0vD1M9A.mjs";
2
+ export { UsageLimit, asUsageLimit, limitFromResponse, readUsageLimit };
@@ -1,4 +1,4 @@
1
- import { t as LiveClientEvent } from "../live-Chw1eIMv.mjs";
1
+ import { t as LiveClientEvent } from "../live-Du8jXwOW.mjs";
2
2
  //#region src/runtime/live-client.d.ts
3
3
  export type LiveSubscribeOptions<Data = unknown> = {
4
4
  id: string;
@@ -92,11 +92,8 @@ function connectLiveStream(url, options = {}) {
92
92
  resubscribeOnNextOpen = true;
93
93
  reconnectTimer = setTimeout(() => {
94
94
  reconnectTimer = null;
95
- if (closed || !options.keepOpen && subscriptions.size === 0) {
96
- resubscribeOnNextOpen = false;
97
- return;
98
- }
99
95
  resubscribeOnNextOpen = false;
96
+ if (closed || !options.keepOpen && subscriptions.size === 0) return;
100
97
  openSource(true).catch((error) => {
101
98
  if (!closed) reportError(error);
102
99
  });
@@ -152,12 +149,7 @@ function connectLiveStream(url, options = {}) {
152
149
  if (resubscribeWithNextFlush) {
153
150
  resubscribeWithNextFlush = false;
154
151
  const pendingIds = new Set(operations.map((operation) => operation.id));
155
- operations = [...[...subscriptions.values()].filter((subscription) => !pendingIds.has(subscription.id)).map((subscription) => ({
156
- kind: "subscribe",
157
- id: subscription.id,
158
- topic: subscription.topic,
159
- ...subscription.lastEventId !== void 0 && { lastEventId: subscription.lastEventId }
160
- })), ...operations];
152
+ operations = [...[...subscriptions.values()].filter((subscription) => !pendingIds.has(subscription.id)).map(subscribeOperation), ...operations];
161
153
  }
162
154
  const headers = new Headers(typeof options.headers === "function" ? await options.headers() : options.headers);
163
155
  headers.set("content-type", "application/json");
@@ -187,12 +179,7 @@ function connectLiveStream(url, options = {}) {
187
179
  async function resubscribeAll() {
188
180
  const activeSubscriptions = [...subscriptions.values()];
189
181
  if (activeSubscriptions.length === 0) return;
190
- await Promise.all(activeSubscriptions.map((subscription) => enqueue({
191
- kind: "subscribe",
192
- id: subscription.id,
193
- topic: subscription.topic,
194
- ...subscription.lastEventId !== void 0 && { lastEventId: subscription.lastEventId }
195
- })));
182
+ await Promise.all(activeSubscriptions.map((subscription) => enqueue(subscribeOperation(subscription))));
196
183
  }
197
184
  function closeIfIdle() {
198
185
  if (!options.keepOpen && subscriptions.size === 0) {
@@ -223,12 +210,7 @@ function connectLiveStream(url, options = {}) {
223
210
  };
224
211
  subscriptions.set(subscription.id, subscription);
225
212
  try {
226
- await enqueue({
227
- kind: "subscribe",
228
- id: subscription.id,
229
- topic: subscription.topic,
230
- ...subscription.lastEventId !== void 0 && { lastEventId: subscription.lastEventId }
231
- });
213
+ await enqueue(subscribeOperation(subscription));
232
214
  } catch (error) {
233
215
  if (subscriptionVersions.get(subscription.id) === version) {
234
216
  if (previousSubscription) {
@@ -281,5 +263,13 @@ function connectLiveStream(url, options = {}) {
281
263
  }
282
264
  };
283
265
  }
266
+ function subscribeOperation(subscription) {
267
+ return {
268
+ kind: "subscribe",
269
+ id: subscription.id,
270
+ topic: subscription.topic,
271
+ ...subscription.lastEventId !== void 0 && { lastEventId: subscription.lastEventId }
272
+ };
273
+ }
284
274
  //#endregion
285
275
  export { connectLiveStream };