void 0.27.0 → 1.0.3

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 (337) hide show
  1. package/README.md +3 -1
  2. package/dist/{account-cmd-l-FM7Ioq.mjs → account-cmd-BTcUzv9L.mjs} +6 -6
  3. package/dist/{agents-B_pX_HmQ.mjs → agents-CuNtT0D_.mjs} +5 -2
  4. package/dist/{application-analysis-DKy02UY0.mjs → application-analysis-AB_YYWgH.mjs} +118 -135
  5. package/dist/{application-routing-DQyUh_5S.mjs → application-routing-L7V-TFhZ.mjs} +1 -2
  6. package/dist/atomic-write-Dq6R0BPN.mjs +18 -0
  7. package/dist/{auth-Dn2vw-SG.mjs → auth-B6iOCjKI.mjs} +23 -56
  8. package/dist/auth-Cbqi1iVX.mjs +1 -0
  9. package/dist/{auth-link-vz9Z2kmG.mjs → auth-link-DUJuvRx5.mjs} +11 -11
  10. package/dist/{auth-migrations-BwHgeEsD.mjs → auth-migrations-Cgs0k6lS.mjs} +28 -5
  11. package/dist/{auth-router-DvsCUVw4.mjs → auth-router-CIxiMG7i.mjs} +5 -5
  12. package/dist/base64-DVrOndmI.mjs +16 -0
  13. package/dist/{better-auth-shared-CPvWD3nG.d.mts → better-auth-shared-B74NJIus.d.mts} +8 -13
  14. package/dist/{better-auth-shared-DPpj8zxc.mjs → better-auth-shared-CMXlZG7W.mjs} +56 -68
  15. package/dist/{build-cmd-D6we0VjO.mjs → build-cmd-BkIv25PA.mjs} +6 -6
  16. package/dist/{cache-CZRdzKx1.mjs → cache-Ctzfig-W.mjs} +6 -6
  17. package/dist/{cancel-deploy-CQ3NnMvf.mjs → cancel-deploy-CD9o-SsC.mjs} +5 -5
  18. package/dist/{cf-access-TWNzXltp.mjs → cf-access-BM9G0lhO.mjs} +4 -3
  19. package/dist/{cf-access-BcIBSKqG.mjs → cf-access-CWP4avfP.mjs} +3 -7
  20. package/dist/cf-build-output-BU3hqdHu.mjs +1 -0
  21. package/dist/{cf-build-output-DjvB_872.mjs → cf-build-output-Bc8i3dzE.mjs} +2 -2
  22. package/dist/cf-user-agent-ChjQp2MU.mjs +33 -0
  23. package/dist/cli/cli.mjs +199 -312
  24. package/dist/cli/cloudflare-operation-process.mjs +41 -15
  25. package/dist/cli/env-schema-probe.d.mts +7 -44
  26. package/dist/cli/env-schema-probe.mjs +14 -80
  27. package/dist/client-B60PwCC4.mjs +1 -0
  28. package/dist/{client-DlDJuY0s.mjs → client-DM9Kcf4e.mjs} +161 -415
  29. package/dist/{cloudflare-auth-CuxfF6OA.mjs → cloudflare-auth-CqFBDo52.mjs} +12 -39
  30. package/dist/{cloudflare-cmd-lHqNlJGW.mjs → cloudflare-cmd-BIAF_BIY.mjs} +7 -6
  31. package/dist/{cloudflare-config-BmhBv3HV.mjs → cloudflare-config-DV60XFFK.mjs} +16 -28
  32. package/dist/{cloudflare-connect-2G3rL2rP.mjs → cloudflare-connect-WjwnVOJA.mjs} +4 -4
  33. package/dist/{cloudflare-operations-CwI1bChl.mjs → cloudflare-operations-B42EZeJy.mjs} +26 -34
  34. package/dist/cloudflare-operations-CrSUFRzJ.mjs +1 -0
  35. package/dist/{cloudflare-process-2-TfIEzB.mjs → cloudflare-process-CeDWJRhj.mjs} +12 -7
  36. package/dist/collect-Cae8A7Zr.mjs +1 -0
  37. package/dist/{collect-DiTn9yr6.mjs → collect-xjffdCdk.mjs} +1 -1
  38. package/dist/{config-CSa15FvD.d.mts → config-7qoq2p9v.d.mts} +2 -2
  39. package/dist/{config-CLYAosnQ.mjs → config-BEm9vRvS.mjs} +11 -5
  40. package/dist/{config-DiowPT80.mjs → config-Bx_1SpnO.mjs} +87 -177
  41. package/dist/{config-DPByhVck.mjs → config-D0GY5ItR.mjs} +1 -1
  42. package/dist/config-QrJWu0IX.mjs +1 -0
  43. package/dist/config-entry.d.mts +1 -1
  44. package/dist/{connect-BfPBHHm-.mjs → connect-CKtk-EZe.mjs} +9 -9
  45. package/dist/create-project-B-ewF_Af.mjs +1 -0
  46. package/dist/{create-project-BdXEFKal.mjs → create-project-yInGo72M.mjs} +8 -8
  47. package/dist/database-provider.mjs +1 -2
  48. package/dist/{db-Xs80hcaA.mjs → db-7I_gfdVq.mjs} +177 -268
  49. package/dist/db-types-Bb4WBWIs.mjs +49 -0
  50. package/dist/{delete-d2vuou3j.mjs → delete-Cy-M1u-r.mjs} +6 -6
  51. package/dist/deploy-9lgfhrXS.mjs +2 -0
  52. package/dist/deploy-BYYlnsiy.mjs +6164 -0
  53. package/dist/deploy-managed-static-Ca4TFdmx.mjs +1595 -0
  54. package/dist/deploy-transport-DWlWBe6M.mjs +180 -0
  55. package/dist/deploy.d.mts +10 -0
  56. package/dist/deploy.mjs +82 -0
  57. package/dist/dev-inbox-Rd6j_8vM.mjs +217 -0
  58. package/dist/discover-ClzFSwns.mjs +1 -0
  59. package/dist/{discover-CkCYv9T_.mjs → discover-D2PGT63u.mjs} +2 -2
  60. package/dist/dispatch-DrTTk8Xg.mjs +431 -0
  61. package/dist/{dist-D3m88sjf.mjs → dist-BVdsO7Py.mjs} +5 -6
  62. package/dist/dist-CfgIkieS.mjs +1 -0
  63. package/dist/{dist-BVqXeR_h.mjs → dist-ipQi0Q8y.mjs} +2 -3
  64. package/dist/{domain-BsDUBAvt.mjs → domain-CZGxPv9u.mjs} +8 -23
  65. package/dist/{dotenv-BfU6eqFt.mjs → dotenv-CNazY3-w.mjs} +4 -16
  66. package/dist/edge.mjs +1 -2
  67. package/dist/{email-d_Aux1vM.mjs → email-BcjSyAL0.mjs} +4 -20
  68. package/dist/{email-_lGAHOhp.mjs → email-DzyNVuoU.mjs} +100 -192
  69. package/dist/email-cloudflare-DfG6UEMm.mjs +1096 -0
  70. package/dist/email-protocol-D9nTvhCp.mjs +82 -0
  71. package/dist/{entry-CMAkqBmU.mjs → entry-ehmBvs5w.mjs} +2 -2
  72. package/dist/{env-DMA3cXZt.mjs → env-0jrMQJI_.mjs} +6 -14
  73. package/dist/{env-BxocywBB.mjs → env-BJjULvL0.mjs} +2 -2
  74. package/dist/{env-C74QepDE.mjs → env-Nx3yf50r.mjs} +9 -9
  75. package/dist/{env-public-DR7ZM6d-.d.mts → env-public-CCdykygU.d.mts} +6 -23
  76. package/dist/{env-raw-jZpP5n47.mjs → env-raw-D74P4ebM.mjs} +15 -21
  77. package/dist/{env-types-CwXgeMgL.mjs → env-types-DS2_y4X8.mjs} +2 -2
  78. package/dist/env-validation-BT7z-qpQ.mjs +1 -0
  79. package/dist/env-validation-DYxjz_Wo.mjs +488 -0
  80. package/dist/{gen-DtkQhvQg.mjs → gen-CufHEf42.mjs} +132 -254
  81. package/dist/gen-sXyp5DFO.mjs +1 -0
  82. package/dist/generate-ClI89brV.mjs +1 -0
  83. package/dist/{generate-GDbL7sUr.mjs → generate-Dat0UTry.mjs} +38 -4
  84. package/dist/generated-wrangler-config-DeWj5F9Y.mjs +18 -0
  85. package/dist/{github-cmd-DaDdBbSS.mjs → github-cmd-FU8EjFyU.mjs} +28 -72
  86. package/dist/{handler-BHAn2fZJ.mjs → handler-BZ1t7-Rv.mjs} +2 -2
  87. package/dist/{handler-CNAwjRcW.d.mts → handler-_PqY82xe.d.mts} +1 -1
  88. package/dist/{headers-DlfR78Nu.mjs → headers-Di1FsD3e.mjs} +26 -81
  89. package/dist/{help-0bTe_lID.mjs → help-BT2hovNI.mjs} +26 -14
  90. package/dist/help-i2YGGnTH.mjs +1 -0
  91. package/dist/{inbound-PfQDLXc5.mjs → inbound-BuTfm11U.mjs} +71 -222
  92. package/dist/{inbound-CH5Mksyy.d.mts → inbound-brj2-TM5.d.mts} +19 -58
  93. package/dist/index.d.mts +2 -18
  94. package/dist/index.mjs +714 -762
  95. package/dist/{info-PYWwkWyt.mjs → info-l249eUdH.mjs} +5 -5
  96. package/dist/{init-DaBGmaXC.mjs → init-D0A6M64Q.mjs} +229 -392
  97. package/dist/isr-config-fZaJJ8t7.mjs +165 -0
  98. package/dist/{link-C6fjafep.mjs → link-WMoJFf4i.mjs} +9 -9
  99. package/dist/{list-BTFBlqKl.mjs → list-CQ2EQEHL.mjs} +7 -18
  100. package/dist/{live-CgQuTpqD.mjs → live-BcHoTDFe.mjs} +19 -17
  101. package/dist/{live-Du8jXwOW.d.mts → live-DJONVlQK.d.mts} +1 -1
  102. package/dist/load-user-env-DD5qveNU.mjs +49 -0
  103. package/dist/{local-d1-ga5O_idV.mjs → local-d1-BxvQYEFi.mjs} +6 -6
  104. package/dist/{login-GKcNUmtI.mjs → login-C2T1oVG-.mjs} +12 -12
  105. package/dist/login-XD844Xs-.mjs +1 -0
  106. package/dist/{logs-BiMSULmc.mjs → logs-DnC1d7xB.mjs} +6 -6
  107. package/dist/{migrate-NLsjBbuM.mjs → migrate-BDIprOYd.mjs} +70 -22
  108. package/dist/migrate-BRwU-blY.mjs +1 -0
  109. package/dist/migration-handler-Cg0Y4EPu.mjs +470 -0
  110. package/dist/{migration-handler-DM4clYj5.d.mts → migration-handler-CwlEQUoo.d.mts} +17 -26
  111. package/dist/{mime-DxCznlJq.mjs → mime-srOklVVv.mjs} +92 -395
  112. package/dist/mysql-migration-sql-BIS5vbNk.mjs +241 -0
  113. package/dist/nitro.d.mts +30 -0
  114. package/dist/nitro.mjs +88 -0
  115. package/dist/{node-DJicPvPj.mjs → node-cPadMgUO.mjs} +9 -25
  116. package/dist/{operator-args-DOBhIaIg.mjs → operator-args-UnE8Y2eK.mjs} +27 -26
  117. package/dist/{operator-auth-BEZ_u0Cz.mjs → operator-auth-Cr2zCc-J.mjs} +2 -2
  118. package/dist/{operator-client-DbDv4vtE.mjs → operator-client-C-ROjk1I.mjs} +4 -4
  119. package/dist/operator-cmd-D6gnZsnK.mjs +1 -0
  120. package/dist/{operator-cmd-BT4hgavL.mjs → operator-cmd-DHieWtFp.mjs} +8 -8
  121. package/dist/{output-C50ag2r3.mjs → output-Ba6ZbrzY.mjs} +37 -6
  122. package/dist/{package-json-DXfiT1jV.mjs → package-json-BjYqR-So.mjs} +1 -1
  123. package/dist/pages/client.d.mts +1 -1
  124. package/dist/pages/client.mjs +91 -5
  125. package/dist/pages/head.mjs +1 -2
  126. package/dist/pages/index.d.mts +1 -2
  127. package/dist/pages/index.mjs +6 -6
  128. package/dist/pages/islands-plugin.mjs +5 -83
  129. package/dist/pages/prefetch.mjs +1 -2
  130. package/dist/pages/protocol.d.mts +2 -2
  131. package/dist/pages/protocol.mjs +1 -1
  132. package/dist/pages/serialize.mjs +1 -2
  133. package/dist/plan-CKX_jWnD.mjs +1 -0
  134. package/dist/platform-args-B0HeTh0C.mjs +1 -0
  135. package/dist/{platform-args-DUeXY9Om.mjs → platform-args-CaCL_1Ch.mjs} +43 -60
  136. package/dist/{platform-auth-config-CkSx3usH.mjs → platform-auth-config-Z16-I8nT.mjs} +11 -12
  137. package/dist/{platform-auth-protection-BJimB_p9.mjs → platform-auth-protection-BXwZiJSF.mjs} +37 -27
  138. package/dist/{platform-auth-recovery-BU6izFAU.mjs → platform-auth-recovery-CXjfqyOv.mjs} +9 -10
  139. package/dist/{platform-cmd-BbY1dWiM.mjs → platform-cmd-DaAOiWTl.mjs} +16 -16
  140. package/dist/platform-cmd-PT4YwMLM.mjs +1 -0
  141. package/dist/{platform-discovery-DIYz8V63.mjs → platform-discovery-CHhNs8Nn.mjs} +1 -1
  142. package/dist/{platform-domain-CHVS6cV0.mjs → platform-domain-CxpvUeo0.mjs} +6 -6
  143. package/dist/{platform-lifecycle-DzCwqhFq.mjs → platform-lifecycle-DBiS0cJd.mjs} +1693 -2120
  144. package/dist/platform-lifecycle-u9pMOvxC.mjs +1 -0
  145. package/dist/{platform-management-CuuVDhyt.mjs → platform-management-DhEFdQAf.mjs} +696 -130
  146. package/dist/platform-management-DvBS83rC.mjs +1 -0
  147. package/dist/{platform-plans-config-CN-heS4q.mjs → platform-plans-config-BWn1S2Rv.mjs} +16 -12
  148. package/dist/{platform-recovery-CskSJgLh.mjs → platform-recovery-BUGOB4RC.mjs} +6 -9
  149. package/dist/{platform-registry-Cjv2Qf0r.mjs → platform-registry-B9mWX9LO.mjs} +13 -18
  150. package/dist/{platform-setup-BBxRxmFC.mjs → platform-setup-YvN9VQXV.mjs} +21 -28
  151. package/dist/{plugin-inference-BlQbOL0P.mjs → plugin-inference-DsARdQKE.mjs} +18 -33
  152. package/dist/prepare-CYT6tAzD.mjs +1 -0
  153. package/dist/{prepare-Do96654b.mjs → prepare-DEB5SeVJ.mjs} +12 -13
  154. package/dist/{prepare-Dq9hTIbo.mjs → prepare-PQCgsny0.mjs} +4 -4
  155. package/dist/{prerender-render-Ct20jftc.mjs → prerender-render-Bfsumdkv.mjs} +8 -2
  156. package/dist/prerender-render.d.mts +2 -0
  157. package/dist/prerender-render.mjs +1 -2
  158. package/dist/{project-cmd-DaoRrn-8.mjs → project-cmd-DVatD8Ev.mjs} +20 -20
  159. package/dist/{project-paths-GgcMozYz.mjs → project-paths-DMvEeSau.mjs} +9 -14
  160. package/dist/{project-BAm2aB6Q.mjs → project-rqDnVsJN.mjs} +8 -4
  161. package/dist/project-slug-6cyz8E7k.mjs +1 -0
  162. package/dist/{project-team-Q_lCA7Io.mjs → project-team-DJrWEAG1.mjs} +7 -7
  163. package/dist/{project-token-BArgK9o1.mjs → project-token-CBgLBuL6.mjs} +6 -6
  164. package/dist/{project-tsconfig-CVJhNMxs.mjs → project-tsconfig-bveqhlYA.mjs} +3 -5
  165. package/dist/project-zdB3fs9G.mjs +1 -0
  166. package/dist/{project-zero-trust-KO9Hu2Pq.mjs → project-zero-trust-92gLtZ25.mjs} +6 -6
  167. package/dist/{protocol-BPZaNqBo.d.mts → protocol-4H7V_3Os.d.mts} +1 -1
  168. package/dist/{protocol-CfaUwNs8.mjs → protocol-RNP0u7UY.mjs} +9 -3
  169. package/dist/{provision-BfaLiWbj.mjs → provision-BnSSkiED.mjs} +119 -866
  170. package/dist/{requests-C7Oeoh5u.mjs → requests-7W1Pygt2.mjs} +5 -5
  171. package/dist/resolve-project-PnhzMtY6.mjs +1 -0
  172. package/dist/resolve-project-WpwkCB_c.mjs +48 -0
  173. package/dist/{rollback-DVAtrLAl.mjs → rollback-BcASVnwP.mjs} +8 -18
  174. package/dist/{route-types-CbtsIeFn.mjs → route-types-BZi26DVS.mjs} +9 -91
  175. package/dist/routing-assets-VkrKIbxE.mjs +139 -0
  176. package/dist/{runner-DMBKSrRk.mjs → runner-CabsQ-iM.mjs} +22 -34
  177. package/dist/runner-So9mYfcm.mjs +1 -0
  178. package/dist/runner-mysql-BhRaONkO.mjs +146 -0
  179. package/dist/runner-mysql-DWwE8jKi.mjs +1 -0
  180. package/dist/{runner-pg-DV8p_zjA.mjs → runner-pg-BRemq_GX.mjs} +3 -3
  181. package/dist/runner-pg-_Xncr3H5.mjs +1 -0
  182. package/dist/runtime/ai.mjs +23 -25
  183. package/dist/runtime/auth-client-react.mjs +1 -2
  184. package/dist/runtime/auth-client-solid.mjs +1 -2
  185. package/dist/runtime/auth-client-svelte.mjs +1 -2
  186. package/dist/runtime/auth-client-vue.mjs +1 -2
  187. package/dist/runtime/auth-client.mjs +1 -2
  188. package/dist/runtime/auth.mjs +1 -2
  189. package/dist/runtime/better-auth-mysql.d.mts +2 -5
  190. package/dist/runtime/better-auth-mysql.mjs +9 -31
  191. package/dist/runtime/better-auth-pg.d.mts +2 -5
  192. package/dist/runtime/better-auth-pg.mjs +6 -32
  193. package/dist/runtime/better-auth.d.mts +2 -4
  194. package/dist/runtime/better-auth.mjs +9 -19
  195. package/dist/runtime/db.mjs +6 -2
  196. package/dist/runtime/durable.d.mts +18 -1
  197. package/dist/runtime/durable.mjs +26 -2
  198. package/dist/runtime/email/testing.d.mts +1 -1
  199. package/dist/runtime/email/testing.mjs +9 -23
  200. package/dist/runtime/email-protocol.d.mts +12 -0
  201. package/dist/runtime/email-protocol.mjs +1 -70
  202. package/dist/runtime/email.d.mts +1 -1
  203. package/dist/runtime/email.mjs +79 -221
  204. package/dist/runtime/env-public.d.mts +1 -1
  205. package/dist/runtime/env-public.mjs +12 -38
  206. package/dist/runtime/env.d.mts +1 -12
  207. package/dist/runtime/env.mjs +1 -2
  208. package/dist/runtime/handler.d.mts +1 -1
  209. package/dist/runtime/handler.mjs +1 -1
  210. package/dist/runtime/isr.mjs +1 -1
  211. package/dist/runtime/kv.mjs +1 -1
  212. package/dist/runtime/limits.mjs +1 -2
  213. package/dist/runtime/live-client.d.mts +3 -2
  214. package/dist/runtime/live-server.d.mts +2 -1
  215. package/dist/runtime/live-server.mjs +1 -16
  216. package/dist/runtime/live.d.mts +1 -1
  217. package/dist/runtime/live.mjs +1 -2
  218. package/dist/runtime/log.d.mts +2 -1
  219. package/dist/runtime/migration-handler-mysql.d.mts +2 -2
  220. package/dist/runtime/migration-handler-mysql.mjs +39 -8
  221. package/dist/runtime/migration-handler-pg.d.mts +2 -2
  222. package/dist/runtime/migration-handler-pg.mjs +1 -1
  223. package/dist/runtime/migration-handler.d.mts +2 -2
  224. package/dist/runtime/migration-handler.mjs +1 -470
  225. package/dist/runtime/queues.mjs +1 -1
  226. package/dist/runtime/remote/binding-handler.mjs +62 -62
  227. package/dist/runtime/remote/index.mjs +16 -77
  228. package/dist/runtime/response.mjs +1 -2
  229. package/dist/runtime/route-url.mjs +1 -2
  230. package/dist/runtime/routing.d.mts +3 -5
  231. package/dist/runtime/routing.mjs +82 -218
  232. package/dist/runtime/sandbox-container.d.mts +2 -2
  233. package/dist/runtime/sandbox-container.mjs +1 -2
  234. package/dist/runtime/sandbox.d.mts +2 -2
  235. package/dist/runtime/sandbox.mjs +13 -6
  236. package/dist/runtime/seed.d.mts +2 -1
  237. package/dist/runtime/sse.mjs +1 -2
  238. package/dist/runtime/storage.mjs +1 -1
  239. package/dist/runtime/validator.d.mts +1 -1
  240. package/dist/runtime/validator.mjs +1 -2
  241. package/dist/runtime/ws-server.d.mts +4 -4
  242. package/dist/runtime/ws-server.mjs +6 -28
  243. package/dist/runtime/ws.d.mts +1 -1
  244. package/dist/{sandbox-container-Bo0eiFKz.d.mts → sandbox-container-ChQRum-j.d.mts} +3 -1
  245. package/dist/{sandbox-container-C6ItmVuN.mjs → sandbox-container-a9LRUtii.mjs} +13 -2
  246. package/dist/{sandbox-C5LFoJMf.d.mts → sandbox-q3waMc2T.d.mts} +1 -1
  247. package/dist/{scan-C3uDzz6J.mjs → scan-C0BMdmEd.mjs} +84 -7
  248. package/dist/{secret-BvtB7IjY.mjs → secret-bg73f1Ge.mjs} +63 -81
  249. package/dist/{serialize-BPvnNQuA.mjs → serialize-BtQyaYoC.mjs} +10 -4
  250. package/dist/{skills-BgVMvQdy.mjs → skills-C_yRTg0g.mjs} +3 -3
  251. package/dist/{subcommand-prompt-BSlnD1fI.mjs → subcommand-prompt-Bm3ZlYgA.mjs} +39 -44
  252. package/dist/sveltekit.d.mts +2 -1
  253. package/dist/sveltekit.mjs +1 -1
  254. package/dist/validate-BQFdf0Pi.mjs +1 -0
  255. package/dist/{validate-C9qJArv7.mjs → validate-CheZGRE7.mjs} +4 -8
  256. package/dist/version-metadata-DIrqEHQo.mjs +73 -0
  257. package/dist/{wrangler-D9KTuqnv.mjs → wrangler-BYs07Rxy.mjs} +119 -378
  258. package/dist/wrapper-CwhpNWtH.mjs +663 -0
  259. package/dist/{ws-CChrrAU-.d.mts → ws-aKVYB-fA.d.mts} +1 -1
  260. package/dist/yarn-pnp-DLbEFMT0.mjs +92 -0
  261. package/docs/guide/ai.md +8 -2
  262. package/docs/guide/auth.md +2 -0
  263. package/docs/guide/database/mysql.md +14 -3
  264. package/docs/guide/database/postgresql.md +2 -0
  265. package/docs/guide/database.md +3 -5
  266. package/docs/guide/durable-state.md +32 -4
  267. package/docs/guide/platform/administration/access.md +4 -0
  268. package/docs/guide/platform/administration/connected-apps.md +55 -0
  269. package/docs/guide/platform/installation/credentials.md +21 -3
  270. package/docs/guide/platform/installation/domains.md +1 -1
  271. package/docs/guide/platform/installation/maintenance.md +38 -1
  272. package/docs/guide/platform/installation/prerequisites.md +6 -2
  273. package/docs/guide/platform/installation/setup.md +23 -1
  274. package/docs/guide/platform/installation/uninstall.md +6 -1
  275. package/docs/guide/quickstart.md +2 -0
  276. package/docs/guide/sandboxes.md +3 -1
  277. package/docs/guide/self-hosted-platform.md +1 -1
  278. package/docs/integrations/cloudflare.md +2 -2
  279. package/docs/integrations/frameworks/analog.md +3 -11
  280. package/docs/integrations/frameworks/nuxt.md +7 -10
  281. package/docs/integrations/nodejs-bun-deno.md +2 -0
  282. package/docs/reference/api/deploy.md +23 -0
  283. package/docs/reference/api/pages.md +2 -0
  284. package/docs/reference/api.md +3 -1
  285. package/docs/reference/cli/database.md +9 -3
  286. package/docs/reference/cli/platform-installation.md +19 -7
  287. package/docs/reference/cli/setup.md +2 -0
  288. package/docs/reference/config.md +2 -0
  289. package/package.json +39 -36
  290. package/sandbox.Dockerfile +1 -1
  291. package/skills/void/SKILL.md +2 -1
  292. package/dist/auth-LMJcNESe.mjs +0 -2
  293. package/dist/cf-build-output-H9a97vME.mjs +0 -2
  294. package/dist/cf-user-agent-lKblH3zU.mjs +0 -17
  295. package/dist/client-tso2OfcG.mjs +0 -2
  296. package/dist/cloudflare-operations-BlYLlowZ.mjs +0 -2
  297. package/dist/collect-DLyFDiKW.mjs +0 -2
  298. package/dist/config-5r-YpMC-.mjs +0 -2
  299. package/dist/config-B_ggY-IO.mjs +0 -89
  300. package/dist/config-BtSFvXZx.mjs +0 -2
  301. package/dist/config-write-AHGesphx.mjs +0 -61
  302. package/dist/create-project-qFDC45zg.mjs +0 -2
  303. package/dist/deploy-Bqe1PYBw.mjs +0 -10458
  304. package/dist/deploy-VsWsVQkw.mjs +0 -2
  305. package/dist/dev-inbox-CK-UuPob.mjs +0 -297
  306. package/dist/discover-EDUf6JJw.mjs +0 -2
  307. package/dist/dist-Bx1z6Eva.mjs +0 -2
  308. package/dist/dist-_UUlL6bg.mjs +0 -2
  309. package/dist/env-validation-CrVNjsPm.mjs +0 -2
  310. package/dist/env-validation-Dxdx_5wo.mjs +0 -951
  311. package/dist/gen-dA9hW7AV.mjs +0 -2
  312. package/dist/head-client-DzmJGN4C.mjs +0 -90
  313. package/dist/help-DfQYVfGY.mjs +0 -2
  314. package/dist/login-mx_ydhmp.mjs +0 -2
  315. package/dist/migrate-BHp07yJE.mjs +0 -2
  316. package/dist/operator-cmd-CwBB-1yb.mjs +0 -2
  317. package/dist/pages/head-client.d.mts +0 -13
  318. package/dist/pages/head-client.mjs +0 -2
  319. package/dist/plan-CH2G51je.mjs +0 -2
  320. package/dist/platform-args-D4E1PjVw.mjs +0 -2
  321. package/dist/platform-cmd-BbmJiq5O.mjs +0 -2
  322. package/dist/platform-lifecycle-ByAlpkhV.mjs +0 -2
  323. package/dist/platform-management-CBOT4BSM.mjs +0 -2
  324. package/dist/prepare-DRUV-g3X.mjs +0 -2
  325. package/dist/project-DedqCp59.mjs +0 -2
  326. package/dist/project-slug-DofjTFd-.mjs +0 -2
  327. package/dist/provision-Wu9ZBk9L.mjs +0 -2
  328. package/dist/resolve-project-BIeYs9Cw.mjs +0 -2
  329. package/dist/resolve-project-CP8rZs_p.mjs +0 -28
  330. package/dist/runner-9wjsSZx-.mjs +0 -2
  331. package/dist/runner-mysql-CEzKtmFb.mjs +0 -54
  332. package/dist/runner-mysql-CkFqZ6CE.mjs +0 -2
  333. package/dist/runner-pg-BGYRFdRp.mjs +0 -2
  334. package/dist/runtime/env-helpers.d.mts +0 -2
  335. package/dist/runtime/env-helpers.mjs +0 -2
  336. package/dist/validate-BJr9LfXy.mjs +0 -2
  337. package/dist/yarn-pnp-CUX_iTPA.mjs +0 -188
@@ -1,2 +0,0 @@
1
- import { r as runDeploy, t as parseRootWranglerConfig, v as checkWranglerMigrationApplySet } from "./deploy-Bqe1PYBw.mjs";
2
- export { checkWranglerMigrationApplySet, parseRootWranglerConfig, runDeploy };
@@ -1,297 +0,0 @@
1
- import { t as MAX_MESSAGE_BYTES } from "./mime-DxCznlJq.mjs";
2
- //#region src/runtime/email/dev-inbox.ts
3
- /**
4
- * In-memory capture sink for emails during local dev / tests.
5
- *
6
- * Two consumers:
7
- * 1. The Vite dev-server middleware (`/__void/inbox`) — owns the buffer that
8
- * backs the browsable inbox during `void dev`.
9
- * 2. The test harness (`void/email/testing`) — registers a sink so
10
- * assertions like `expect(harness.messages).toHaveLength(1)` work without
11
- * mocking the SEND_EMAIL binding.
12
- *
13
- * The sink registry lives on globalThis, but it is only ever an IN-ISOLATE
14
- * channel. It is NOT a bridge between the dev server and user code: under
15
- * `void dev` the Vite plugin runs in Node while user code runs in workerd — a
16
- * separate OS process started by miniflare — so each has its own globalThis and
17
- * its own (empty) registry. A `sendEmail` call inside the worker therefore
18
- * never sees the plugin's sink.
19
- *
20
- * The cross-process hop is explicit instead: the worker POSTs the captured
21
- * message to {@link DEV_INBOX_CAPTURE_URL} through its dev assets binding
22
- * (which `@cloudflare/vite-plugin` wires straight into the Vite dev server's
23
- * Node middleware stack), and the plugin's middleware pushes it into the
24
- * buffer. See `runtime/email.ts` and `plugin-email-dev-inbox.ts`.
25
- */
26
- /** Mount point of the dev inbox on the Vite dev server. */
27
- const DEV_INBOX_PREFIX = "/__void/inbox";
28
- /** Capture endpoint, relative to {@link DEV_INBOX_PREFIX} (connect strips the mount). */
29
- const DEV_INBOX_CAPTURE_PATH = "/_capture";
30
- /** Absolute path the worker POSTs a captured message to. */
31
- const DEV_INBOX_CAPTURE_URL = `${DEV_INBOX_PREFIX}${DEV_INBOX_CAPTURE_PATH}`;
32
- /**
33
- * Serve-only var naming the fetcher binding that loops back to the Vite dev
34
- * server. Its presence is also the dev gate: `sendEmail` only attempts the dev
35
- * inbox when this var is set, and it is injected exclusively when
36
- * `viteCommand === 'serve'` (see `shouldInjectEmailDevInboxVar` in index.ts),
37
- * so a production build never carries it.
38
- */
39
- const DEV_INBOX_ENV_VAR = "__VOID_EMAIL_DEV_INBOX";
40
- /**
41
- * Serve-only var carrying the project's dev-trigger token — the same
42
- * per-project secret `/__void/scheduled` and `/__void/queue` require — so the
43
- * worker can authenticate its capture POST. Injected together with
44
- * {@link DEV_INBOX_ENV_VAR} under the same gate. The compiled router embeds
45
- * the token as a module-local const the `void/email` runtime cannot import,
46
- * so a var is the only transport into `sendEmail`.
47
- */
48
- const DEV_INBOX_TOKEN_ENV_VAR = "__VOID_EMAIL_DEV_INBOX_TOKEN";
49
- /**
50
- * How a caller proves it holds the dev-trigger token. Every `/__void/inbox`
51
- * route — browse, raw download, clear, and the worker's capture POST —
52
- * requires one of these, mirroring the `x-void-dev-trigger` check on the
53
- * cron/queue dev routes. The query form exists for the browser: a link
54
- * printed in the terminal cannot carry a header, and the inbox pages render
55
- * their own links with it. Responses send `Referrer-Policy: no-referrer`, so
56
- * the token never leaves the inbox through a Referer.
57
- */
58
- const DEV_INBOX_TOKEN_HEADER = "x-void-dev-trigger";
59
- const DEV_INBOX_TOKEN_QUERY = "token";
60
- /**
61
- * Acknowledgement marker on the capture response. The transport rides the
62
- * assets binding, so a 200 alone proves nothing — if that binding ever stops
63
- * being a dev-server loopback, a plain static/SPA response would also be 200.
64
- * The worker treats a capture as delivered only when this header comes back.
65
- */
66
- const DEV_INBOX_ACK_HEADER = "x-void-email-inbox";
67
- const DEV_INBOX_ACK_VALUE = "captured";
68
- /**
69
- * Upper bound on a capture body. Dev-only, but an unbounded read is still a
70
- * footgun.
71
- *
72
- * Derived from `MAX_MESSAGE_BYTES`, not chosen: a message `buildMime` accepts
73
- * must never be refused here, or `void dev` fails a send that production
74
- * delivers. `serializeCapturedMessage` carries the raw MIME as base64 (4/3 of
75
- * its octets) AND every caller string a second time as JSON, where the
76
- * expansion over the MIME rendering of the same string is at most 3.75x. That
77
- * worst case is a control character in a value `encodeWord` renders — the
78
- * subject, a display name, a custom header value: JSON writes it as `\u0001`
79
- * (6 bytes) while the encoded-word spends at least 1.6 octets per UTF-8 byte
80
- * (4/3 of base64 plus 12 octets of `=?UTF-8?B?…?=` per 45-byte word). A body
81
- * expands at most 2x: the same control is `=01` (3) in quoted-printable, a
82
- * CRLF (2) is `\r\n` (4), and a `"`, `\` or HTAB (1) is 2. An attachment's
83
- * filename, media type and Content-ID refuse controls (`rejectControls`), so
84
- * their worst is `"` or `\` at 2x (verbatim in the media type and Content-ID;
85
- * escaped, and twice, in the quoted filename), as is a custom header NAME,
86
- * which is printable ASCII. The MIME holds at most
87
- * `MAX_MESSAGE_BYTES` of those strings, so the JSON is under
88
- * `(4/3 + 3.75) * MAX_MESSAGE_BYTES` (5.09x) plus what has no MIME footprint of
89
- * its own — the JSON framing, ids, timestamps, and the `bcc` addresses
90
- * (`MAX_RECIPIENTS * MAX_ADDRESS_LENGTH`, 32 KB). 6x is the smallest integer
91
- * multiple that covers it.
92
- *
93
- * Three caller strings have NO MIME footprint, so no multiple of
94
- * `MAX_MESSAGE_BYTES` bounds them: a `bcc` display name (never rendered), a
95
- * custom header whose name is reserved (dropped), and a whitespace run inside
96
- * a long foldable header value (collapsed by folding). They are captured as
97
- * given, and a message that pads one of them past this cap is still refused.
98
- */
99
- const DEV_INBOX_MAX_CAPTURE_BYTES = 6 * MAX_MESSAGE_BYTES;
100
- function bytesToBase64(bytes) {
101
- const CHUNK = 8192;
102
- let binary = "";
103
- for (let i = 0; i < bytes.byteLength; i += CHUNK) binary += String.fromCharCode(...bytes.subarray(i, Math.min(i + CHUNK, bytes.byteLength)));
104
- return btoa(binary);
105
- }
106
- function base64ToBytes(value) {
107
- try {
108
- const binary = atob(value);
109
- const out = new Uint8Array(binary.length);
110
- for (let i = 0; i < binary.length; i++) out[i] = binary.charCodeAt(i);
111
- return out;
112
- } catch {
113
- return;
114
- }
115
- }
116
- /** Encode a captured message for the worker -> dev-server hop (`raw` as base64). */
117
- function serializeCapturedMessage(message) {
118
- return JSON.stringify({
119
- ...message,
120
- raw: bytesToBase64(message.raw)
121
- });
122
- }
123
- function asAddress(value) {
124
- if (typeof value !== "object" || value === null) return;
125
- const v = value;
126
- if (typeof v.email !== "string") return;
127
- return typeof v.name === "string" ? {
128
- email: v.email,
129
- name: v.name
130
- } : { email: v.email };
131
- }
132
- function asAddressList(value) {
133
- if (!Array.isArray(value)) return;
134
- const out = [];
135
- for (const entry of value) {
136
- const address = asAddress(entry);
137
- if (!address) return;
138
- out.push(address);
139
- }
140
- return out;
141
- }
142
- /**
143
- * Decode a capture payload. Returns `undefined` for anything malformed — the
144
- * endpoint is reachable from the dev server's own origin, so it must reject
145
- * junk rather than throw inside the middleware.
146
- */
147
- function parseCapturedMessage(value) {
148
- if (typeof value !== "object" || value === null) return;
149
- const v = value;
150
- if (typeof v.id !== "string" || typeof v.raw !== "string") return;
151
- const raw = base64ToBytes(v.raw);
152
- const from = asAddress(v.from);
153
- const to = asAddressList(v.to);
154
- const cc = asAddressList(v.cc);
155
- const bcc = asAddressList(v.bcc);
156
- if (!raw || !from || !to || !cc || !bcc) return;
157
- const attachments = [];
158
- if (!Array.isArray(v.attachments)) return;
159
- for (const entry of v.attachments) {
160
- if (typeof entry !== "object" || entry === null) return;
161
- const a = entry;
162
- attachments.push({
163
- filename: typeof a.filename === "string" ? a.filename : "",
164
- contentType: typeof a.contentType === "string" ? a.contentType : "application/octet-stream",
165
- size: typeof a.size === "number" ? a.size : 0,
166
- ...typeof a.contentId === "string" && { contentId: a.contentId },
167
- disposition: a.disposition === "inline" ? "inline" : "attachment"
168
- });
169
- }
170
- const headers = {};
171
- if (typeof v.headers === "object" && v.headers !== null) {
172
- for (const [k, hv] of Object.entries(v.headers)) if (typeof hv === "string") headers[k] = hv;
173
- }
174
- const replyTo = asAddress(v.replyTo);
175
- return {
176
- id: v.id,
177
- capturedAt: typeof v.capturedAt === "number" ? v.capturedAt : Date.now(),
178
- raw,
179
- messageId: typeof v.messageId === "string" ? v.messageId : "",
180
- from,
181
- to,
182
- cc,
183
- bcc,
184
- ...replyTo && { replyTo },
185
- subject: typeof v.subject === "string" ? v.subject : "",
186
- ...typeof v.text === "string" && { text: v.text },
187
- ...typeof v.html === "string" && { html: v.html },
188
- headers,
189
- attachments
190
- };
191
- }
192
- const SINK_KEY = "__voidEmailSinks__";
193
- const BUFFER_KEY = "__voidEmailDevBuffer__";
194
- const DEFAULT_BUFFER_LIMIT = 100;
195
- /**
196
- * Retained-byte budget for the buffer, alongside the count cap.
197
- *
198
- * A count cap alone does not bound the buffer: every item holds its full raw
199
- * MIME plus the decoded `text`/`html`, and a single message may reach
200
- * `MAX_MESSAGE_BYTES` (5 MiB), so 100 html-heavy messages is on the order of
201
- * gigabytes. This buffer lives in the Vite dev server's Node process — not in
202
- * workerd — so that is the dev server's own heap.
203
- */
204
- const DEFAULT_BUFFER_BYTES = 67108864;
205
- const inboxGlobal = globalThis;
206
- function registry() {
207
- let r = inboxGlobal[SINK_KEY];
208
- if (!r) {
209
- r = { sinks: /* @__PURE__ */ new Set() };
210
- inboxGlobal[SINK_KEY] = r;
211
- }
212
- return r;
213
- }
214
- function registerEmailSink(sink) {
215
- const r = registry();
216
- r.sinks.add(sink);
217
- return () => r.sinks.delete(sink);
218
- }
219
- function dispatchToSinks(message) {
220
- for (const sink of registry().sinks) try {
221
- sink(message);
222
- } catch (err) {
223
- console.warn("[email-dev-inbox] sink error:", err);
224
- }
225
- }
226
- function hasActiveSink() {
227
- return registry().sinks.size > 0;
228
- }
229
- /** Get or create the shared dev-server ring buffer. */
230
- function getDevBuffer() {
231
- let b = inboxGlobal[BUFFER_KEY];
232
- if (!b) {
233
- b = {
234
- bytes: 0,
235
- items: []
236
- };
237
- inboxGlobal[BUFFER_KEY] = b;
238
- }
239
- return b;
240
- }
241
- /** What a retained message costs: the raw MIME plus both decoded bodies. */
242
- function messageBytes(message) {
243
- return message.raw.byteLength + (message.text?.length ?? 0) + (message.html?.length ?? 0);
244
- }
245
- function pushToDevBuffer(message) {
246
- const b = getDevBuffer();
247
- b.items.push(message);
248
- b.bytes += messageBytes(message);
249
- while (b.items.length > DEFAULT_BUFFER_LIMIT || b.bytes > DEFAULT_BUFFER_BYTES && b.items.length > 1) {
250
- const evicted = b.items.shift();
251
- if (evicted) b.bytes -= messageBytes(evicted);
252
- }
253
- }
254
- function listDevMessages() {
255
- return [...getDevBuffer().items].reverse();
256
- }
257
- function findDevMessage(id) {
258
- return getDevBuffer().items.find((m) => m.id === id);
259
- }
260
- function clearDevBuffer() {
261
- const b = getDevBuffer();
262
- b.items.length = 0;
263
- b.bytes = 0;
264
- }
265
- function captureMessage(email, raw, messageId) {
266
- return {
267
- id: generateCaptureId(),
268
- capturedAt: Date.now(),
269
- raw,
270
- messageId,
271
- from: email.from,
272
- to: email.to,
273
- cc: email.cc,
274
- bcc: email.bcc,
275
- replyTo: email.replyTo,
276
- subject: email.subject,
277
- text: email.text,
278
- html: email.html,
279
- headers: { ...email.headers },
280
- attachments: email.attachments.map((a) => ({
281
- filename: a.filename,
282
- contentType: a.contentType,
283
- size: a.bytes.byteLength,
284
- contentId: a.contentId,
285
- disposition: a.disposition
286
- }))
287
- };
288
- }
289
- function generateCaptureId() {
290
- const bytes = /* @__PURE__ */ new Uint8Array(8);
291
- crypto.getRandomValues(bytes);
292
- let hex = "";
293
- for (const b of bytes) hex += b.toString(16).padStart(2, "0");
294
- return `dev_${Date.now().toString(36)}${hex}`;
295
- }
296
- //#endregion
297
- export { listDevMessages as _, DEV_INBOX_ENV_VAR as a, registerEmailSink as b, DEV_INBOX_TOKEN_ENV_VAR as c, bytesToBase64 as d, captureMessage as f, hasActiveSink as g, findDevMessage as h, DEV_INBOX_CAPTURE_URL as i, DEV_INBOX_TOKEN_HEADER as l, dispatchToSinks as m, DEV_INBOX_ACK_VALUE as n, DEV_INBOX_MAX_CAPTURE_BYTES as o, clearDevBuffer as p, DEV_INBOX_CAPTURE_PATH as r, DEV_INBOX_PREFIX as s, DEV_INBOX_ACK_HEADER as t, DEV_INBOX_TOKEN_QUERY as u, parseCapturedMessage as v, serializeCapturedMessage as x, pushToDevBuffer as y };
@@ -1,2 +0,0 @@
1
- import { t as discoverSchema } from "./discover-CkCYv9T_.mjs";
2
- export { discoverSchema };
@@ -1,2 +0,0 @@
1
- import { K as select, L as log, X as text, tt as isCancel } from "./dist-D3m88sjf.mjs";
2
- export { isCancel, log, select, text };
@@ -1,2 +0,0 @@
1
- import { n as dirname } from "./dist-BVqXeR_h.mjs";
2
- export { dirname };
@@ -1,2 +0,0 @@
1
- import { a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars, r as SelfHostSchemaError } from "./env-validation-Dxdx_5wo.mjs";
2
- export { SelfHostSchemaError, computeInvalidEmittedKeys, deriveSelfHostSchemaFacts, readEmittedWorkerVars };