void 0.26.1 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/README.md +3 -1
  2. package/dist/{account-cmd-CfUXh_nU.mjs → account-cmd-Ci00cncT.mjs} +5 -5
  3. package/dist/{agents-B_pX_HmQ.mjs → agents-CuNtT0D_.mjs} +5 -2
  4. package/dist/{application-analysis-DKy02UY0.mjs → application-analysis-D72ZQfMZ.mjs} +118 -135
  5. package/dist/{application-routing-DQyUh_5S.mjs → application-routing-Dy589Vgn.mjs} +1 -2
  6. package/dist/atomic-write-Dq6R0BPN.mjs +18 -0
  7. package/dist/{auth-B5_tZLxT.mjs → auth-B6iOCjKI.mjs} +23 -56
  8. package/dist/{auth-link-D5RmKnzh.mjs → auth-link-DWr6Afao.mjs} +10 -10
  9. package/dist/{auth-migrations-BwHgeEsD.mjs → auth-migrations-Cgs0k6lS.mjs} +28 -5
  10. package/dist/{auth-router-Bap-pvbn.mjs → auth-router-DP14wVkZ.mjs} +4 -4
  11. package/dist/auth-wn6F8dB8.mjs +2 -0
  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-B58c8iS8.mjs → build-cmd-Cr3FJxv0.mjs} +5 -5
  16. package/dist/{cache-Bo52trKF.mjs → cache-D0Tt28cn.mjs} +5 -5
  17. package/dist/{cancel-deploy-BZNz3Q26.mjs → cancel-deploy-CJKvk7AN.mjs} +4 -4
  18. package/dist/{cf-access-TWNzXltp.mjs → cf-access-BM9G0lhO.mjs} +4 -3
  19. package/dist/{cf-access-ngGqZpHZ.mjs → cf-access-CWP4avfP.mjs} +3 -7
  20. package/dist/cf-build-output-2u583yJK.mjs +2 -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 +198 -311
  24. package/dist/cli/cloudflare-operation-process.mjs +46 -14
  25. package/dist/cli/env-schema-probe.d.mts +5 -43
  26. package/dist/cli/env-schema-probe.mjs +14 -80
  27. package/dist/client-C1BjRn3g.mjs +2 -0
  28. package/dist/{client-C2Prx_Bi.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-CTrn-lXJ.mjs} +6 -5
  31. package/dist/{cloudflare-config-BmhBv3HV.mjs → cloudflare-config-DV60XFFK.mjs} +16 -28
  32. package/dist/{cloudflare-connect-2G3rL2rP.mjs → cloudflare-connect-BosmCNlq.mjs} +3 -3
  33. package/dist/{cloudflare-operations-CwI1bChl.mjs → cloudflare-operations-BKdSfNBN.mjs} +26 -34
  34. package/dist/{cloudflare-operations-BlYLlowZ.mjs → cloudflare-operations-Ds-lX3Ts.mjs} +1 -1
  35. package/dist/{cloudflare-process-2-TfIEzB.mjs → cloudflare-process-CeDWJRhj.mjs} +12 -7
  36. package/dist/collect-NUlJMpLY.mjs +2 -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-CNnrSMYm.mjs +2 -0
  42. package/dist/{config-DPByhVck.mjs → config-D0GY5ItR.mjs} +1 -1
  43. package/dist/config-entry.d.mts +1 -1
  44. package/dist/{connect-X0MUA1gk.mjs → connect-nukQSoEO.mjs} +8 -8
  45. package/dist/{create-project-DxiyW6iX.mjs → create-project-D4APeBwX.mjs} +7 -7
  46. package/dist/{create-project-iwkbqiBU.mjs → create-project-DL7YXpjj.mjs} +1 -1
  47. package/dist/{db-XnVMHzoV.mjs → db-27RztQLy.mjs} +173 -263
  48. package/dist/{delete-esYlMiSJ.mjs → delete-BbsZFZIw.mjs} +5 -5
  49. package/dist/deploy-B06EQq4t.mjs +6009 -0
  50. package/dist/deploy-Db2ALnQP.mjs +3 -0
  51. package/dist/deploy-managed-static-CGswbcay.mjs +2277 -0
  52. package/dist/deploy-transport-BiicfoQW.mjs +180 -0
  53. package/dist/deploy.d.mts +10 -0
  54. package/dist/deploy.mjs +82 -0
  55. package/dist/dev-inbox-Rd6j_8vM.mjs +217 -0
  56. package/dist/discover-CTUiSsfG.mjs +2 -0
  57. package/dist/{discover-CkCYv9T_.mjs → discover-D2PGT63u.mjs} +2 -2
  58. package/dist/{dist-BVqXeR_h.mjs → dist-ipQi0Q8y.mjs} +2 -3
  59. package/dist/{domain-CbbBWhWE.mjs → domain-Bfq9n03H.mjs} +7 -22
  60. package/dist/{dotenv-BfU6eqFt.mjs → dotenv-CNazY3-w.mjs} +4 -16
  61. package/dist/{email-d_Aux1vM.mjs → email-BcjSyAL0.mjs} +4 -20
  62. package/dist/{email-CpuT42g7.mjs → email-DIwaQU4P.mjs} +99 -191
  63. package/dist/email-cloudflare-CH053RxK.mjs +1096 -0
  64. package/dist/email-protocol-D9nTvhCp.mjs +82 -0
  65. package/dist/{entry-CMAkqBmU.mjs → entry-ehmBvs5w.mjs} +2 -2
  66. package/dist/{env-BxocywBB.mjs → env-BJjULvL0.mjs} +2 -2
  67. package/dist/{env-DMA3cXZt.mjs → env-BhdWMrNy.mjs} +2 -13
  68. package/dist/{env-w9jOyGZn.mjs → env-C6ipBLp3.mjs} +8 -8
  69. package/dist/{env-public-DR7ZM6d-.d.mts → env-public-CCdykygU.d.mts} +6 -23
  70. package/dist/{env-raw-jZpP5n47.mjs → env-raw-Cklzcde3.mjs} +3 -20
  71. package/dist/{env-types-CwXgeMgL.mjs → env-types-DS2_y4X8.mjs} +2 -2
  72. package/dist/{env-validation-CrVNjsPm.mjs → env-validation-CTn-HhG1.mjs} +1 -1
  73. package/dist/env-validation-cE0zcmzO.mjs +486 -0
  74. package/dist/{gen-DtkQhvQg.mjs → gen-CnN1Xidx.mjs} +131 -253
  75. package/dist/gen-F8pSZnhc.mjs +2 -0
  76. package/dist/{generate-GDbL7sUr.mjs → generate-Dat0UTry.mjs} +38 -4
  77. package/dist/generate-Rii9klHB.mjs +2 -0
  78. package/dist/generated-wrangler-config-DeWj5F9Y.mjs +18 -0
  79. package/dist/{github-cmd-D_FsOFxq.mjs → github-cmd-BdkU4Nhe.mjs} +27 -71
  80. package/dist/{handler-BHAn2fZJ.mjs → handler-BZ1t7-Rv.mjs} +2 -2
  81. package/dist/{handler-CNAwjRcW.d.mts → handler-_PqY82xe.d.mts} +1 -1
  82. package/dist/{headers-DlfR78Nu.mjs → headers-Di1FsD3e.mjs} +26 -81
  83. package/dist/{help-CVFBTmBx.mjs → help-Bug7pyK_.mjs} +18 -10
  84. package/dist/help-s9q7LTcu.mjs +2 -0
  85. package/dist/{inbound-PfQDLXc5.mjs → inbound-DmkTQeWp.mjs} +71 -222
  86. package/dist/{inbound-CH5Mksyy.d.mts → inbound-brj2-TM5.d.mts} +19 -58
  87. package/dist/index.d.mts +2 -18
  88. package/dist/index.mjs +200 -496
  89. package/dist/{info-PYWwkWyt.mjs → info-CujPwtMe.mjs} +5 -5
  90. package/dist/{init-Bw-fRKGp.mjs → init-ZWOJvc-Z.mjs} +179 -388
  91. package/dist/isr-config-DPjXM8J2.mjs +194 -0
  92. package/dist/{link-DlPG8iX3.mjs → link-UEc7bnF4.mjs} +8 -8
  93. package/dist/{list-2GN7_ueV.mjs → list-CuWeOnzk.mjs} +6 -17
  94. package/dist/{live-CgQuTpqD.mjs → live-BxLX-JqJ.mjs} +19 -17
  95. package/dist/{live-Du8jXwOW.d.mts → live-DJONVlQK.d.mts} +1 -1
  96. package/dist/load-user-env-DD5qveNU.mjs +49 -0
  97. package/dist/{local-d1-ga5O_idV.mjs → local-d1-BM3p74mm.mjs} +6 -6
  98. package/dist/{login-D-Q4xw3Q.mjs → login-CZ2Cqa-D.mjs} +11 -11
  99. package/dist/login-DhK7o1oJ.mjs +2 -0
  100. package/dist/{logs-rd8J-OFh.mjs → logs-TihRcLTk.mjs} +5 -5
  101. package/dist/migrate-BgT-hmu8.mjs +2 -0
  102. package/dist/{migrate-NLsjBbuM.mjs → migrate-uFwojusJ.mjs} +69 -21
  103. package/dist/migration-handler-Cg0Y4EPu.mjs +470 -0
  104. package/dist/{migration-handler-DM4clYj5.d.mts → migration-handler-CwlEQUoo.d.mts} +17 -26
  105. package/dist/{mime-DxCznlJq.mjs → mime-srOklVVv.mjs} +92 -395
  106. package/dist/{node-DJicPvPj.mjs → node-DoKbo1SZ.mjs} +8 -24
  107. package/dist/{operator-args-BNsW5gfp.mjs → operator-args-UnE8Y2eK.mjs} +27 -26
  108. package/dist/{operator-auth-AzVLbrr3.mjs → operator-auth-Cr2zCc-J.mjs} +2 -2
  109. package/dist/{operator-client-BQtzyG-g.mjs → operator-client-C-ROjk1I.mjs} +4 -4
  110. package/dist/{operator-cmd-B6f6Cg9Z.mjs → operator-cmd-C5lCctnc.mjs} +8 -8
  111. package/dist/operator-cmd-Cjk5DiRx.mjs +2 -0
  112. package/dist/{output-C50ag2r3.mjs → output-FNHKw5Ac.mjs} +36 -5
  113. package/dist/{package-json-DXfiT1jV.mjs → package-json-BjYqR-So.mjs} +1 -1
  114. package/dist/pages/client.d.mts +1 -1
  115. package/dist/pages/client.mjs +91 -5
  116. package/dist/pages/index.d.mts +1 -2
  117. package/dist/pages/index.mjs +6 -6
  118. package/dist/pages/islands-plugin.mjs +5 -83
  119. package/dist/pages/protocol.d.mts +2 -2
  120. package/dist/pages/protocol.mjs +1 -1
  121. package/dist/pages/serialize.mjs +1 -1
  122. package/dist/{platform-args-BoZkWQnJ.mjs → platform-args-C6Mb_I3a.mjs} +34 -58
  123. package/dist/platform-args-Cm7x-fot.mjs +2 -0
  124. package/dist/{platform-auth-config-n603OANg.mjs → platform-auth-config-CJmNkFT2.mjs} +10 -11
  125. package/dist/{platform-auth-protection-zxDr0hWW.mjs → platform-auth-protection-D5wvsI-Y.mjs} +36 -26
  126. package/dist/{platform-auth-recovery-tw9lgtgE.mjs → platform-auth-recovery-D_0I3n-1.mjs} +8 -9
  127. package/dist/{platform-cmd-C00YM14r.mjs → platform-cmd-Cuj4oUVo.mjs} +1 -1
  128. package/dist/{platform-cmd-B8-bCb7t.mjs → platform-cmd-DxxZO6e5.mjs} +17 -16
  129. package/dist/{platform-discovery-BC0HCKYt.mjs → platform-discovery-CHhNs8Nn.mjs} +1 -1
  130. package/dist/{platform-domain-p0kobLV8.mjs → platform-domain-zLXnW1G_.mjs} +5 -5
  131. package/dist/{platform-lifecycle-D_QEY32D.mjs → platform-lifecycle-DOW-wLfx.mjs} +1398 -2043
  132. package/dist/{platform-lifecycle-vFqtNPPa.mjs → platform-lifecycle-_gfnjUBr.mjs} +1 -1
  133. package/dist/{platform-management-oi-SvI3f.mjs → platform-management-CYrLvTGH.mjs} +1 -1
  134. package/dist/{platform-management-BdYblvvE.mjs → platform-management-t7HKy4-U.mjs} +632 -124
  135. package/dist/{platform-plans-config-CjiFv5J4.mjs → platform-plans-config-CNH6zbPX.mjs} +15 -11
  136. package/dist/{platform-recovery-PvNS9Nl2.mjs → platform-recovery-DeucI7A9.mjs} +6 -9
  137. package/dist/{platform-registry-P387v42A.mjs → platform-registry-B9mWX9LO.mjs} +18 -19
  138. package/dist/{platform-setup-DVe42Ws7.mjs → platform-setup-CTf6MMT9.mjs} +19 -26
  139. package/dist/{plugin-inference-BlQbOL0P.mjs → plugin-inference-DsARdQKE.mjs} +18 -33
  140. package/dist/{prepare-Dq9hTIbo.mjs → prepare-C4zfwks4.mjs} +3 -3
  141. package/dist/{prepare-Do96654b.mjs → prepare-CSH9dKTI.mjs} +11 -13
  142. package/dist/prepare-dr9uxQSV.mjs +2 -0
  143. package/dist/{prerender-render-Ct20jftc.mjs → prerender-render-Bfsumdkv.mjs} +8 -2
  144. package/dist/prerender-render.d.mts +2 -0
  145. package/dist/prerender-render.mjs +2 -2
  146. package/dist/project-DiiOBZPF.mjs +2 -0
  147. package/dist/{project-cmd-ti8_yTcA.mjs → project-cmd-Dq75AXzy.mjs} +19 -19
  148. package/dist/{project-paths-GgcMozYz.mjs → project-paths-DMvEeSau.mjs} +9 -14
  149. package/dist/{project-DQstYTxO.mjs → project-rqDnVsJN.mjs} +8 -4
  150. package/dist/{project-team-CDPE1Tsg.mjs → project-team-B3_QcStG.mjs} +6 -6
  151. package/dist/{project-token-CkZ1cN0Z.mjs → project-token-CvsRvv2I.mjs} +5 -5
  152. package/dist/{project-tsconfig-CVJhNMxs.mjs → project-tsconfig-bveqhlYA.mjs} +3 -5
  153. package/dist/{project-zero-trust-DdjLR61k.mjs → project-zero-trust-D1ICiwN_.mjs} +5 -5
  154. package/dist/{protocol-BPZaNqBo.d.mts → protocol-4H7V_3Os.d.mts} +1 -1
  155. package/dist/{protocol-CfaUwNs8.mjs → protocol-RNP0u7UY.mjs} +9 -3
  156. package/dist/{provision-BfaLiWbj.mjs → provision-DDh7ITVS.mjs} +118 -865
  157. package/dist/{requests-DFAqyYy8.mjs → requests-3CL3BuZh.mjs} +4 -4
  158. package/dist/resolve-project-B9Hr0D3n.mjs +2 -0
  159. package/dist/resolve-project-C_Cu7E8a.mjs +48 -0
  160. package/dist/{rollback-BKYXBduI.mjs → rollback-Ce1d_0J9.mjs} +7 -17
  161. package/dist/{route-types-CbtsIeFn.mjs → route-types-IrBuwJ7u.mjs} +35 -70
  162. package/dist/routing-assets-VkrKIbxE.mjs +139 -0
  163. package/dist/{runner-9wjsSZx-.mjs → runner-B5huK2eC.mjs} +1 -1
  164. package/dist/{runner-DMBKSrRk.mjs → runner-DcVDrzuR.mjs} +7 -28
  165. package/dist/{runner-mysql-CEzKtmFb.mjs → runner-mysql-CCtyI0p6.mjs} +4 -3
  166. package/dist/runner-mysql-CaJq-hd6.mjs +2 -0
  167. package/dist/runner-pg-BJhFZZG4.mjs +2 -0
  168. package/dist/{runner-pg-DV8p_zjA.mjs → runner-pg-CPd-CB_F.mjs} +1 -1
  169. package/dist/runtime/ai.mjs +9 -22
  170. package/dist/runtime/better-auth-mysql.d.mts +2 -5
  171. package/dist/runtime/better-auth-mysql.mjs +6 -31
  172. package/dist/runtime/better-auth-pg.d.mts +2 -5
  173. package/dist/runtime/better-auth-pg.mjs +6 -32
  174. package/dist/runtime/better-auth.d.mts +2 -4
  175. package/dist/runtime/better-auth.mjs +9 -19
  176. package/dist/runtime/db.mjs +1 -1
  177. package/dist/runtime/durable.d.mts +16 -0
  178. package/dist/runtime/durable.mjs +26 -2
  179. package/dist/runtime/email/testing.d.mts +1 -1
  180. package/dist/runtime/email/testing.mjs +9 -23
  181. package/dist/runtime/email-protocol.d.mts +12 -0
  182. package/dist/runtime/email-protocol.mjs +2 -70
  183. package/dist/runtime/email.d.mts +1 -1
  184. package/dist/runtime/email.mjs +79 -221
  185. package/dist/runtime/env-public.d.mts +1 -1
  186. package/dist/runtime/env-public.mjs +12 -38
  187. package/dist/runtime/env.d.mts +1 -12
  188. package/dist/runtime/env.mjs +1 -1
  189. package/dist/runtime/handler.d.mts +1 -1
  190. package/dist/runtime/handler.mjs +1 -1
  191. package/dist/runtime/isr.mjs +1 -1
  192. package/dist/runtime/kv.mjs +1 -1
  193. package/dist/runtime/live-client.d.mts +1 -1
  194. package/dist/runtime/live-server.mjs +1 -16
  195. package/dist/runtime/live.d.mts +1 -1
  196. package/dist/runtime/live.mjs +1 -1
  197. package/dist/runtime/migration-handler-mysql.d.mts +2 -2
  198. package/dist/runtime/migration-handler-mysql.mjs +3 -2
  199. package/dist/runtime/migration-handler-pg.d.mts +2 -2
  200. package/dist/runtime/migration-handler-pg.mjs +1 -1
  201. package/dist/runtime/migration-handler.d.mts +2 -2
  202. package/dist/runtime/migration-handler.mjs +2 -470
  203. package/dist/runtime/queues.mjs +1 -1
  204. package/dist/runtime/remote/binding-handler.mjs +62 -62
  205. package/dist/runtime/remote/index.mjs +16 -77
  206. package/dist/runtime/routing.d.mts +1 -4
  207. package/dist/runtime/routing.mjs +82 -218
  208. package/dist/runtime/sandbox-container.d.mts +2 -2
  209. package/dist/runtime/sandbox-container.mjs +2 -2
  210. package/dist/runtime/sandbox.d.mts +2 -2
  211. package/dist/runtime/sandbox.mjs +13 -6
  212. package/dist/runtime/storage.mjs +1 -1
  213. package/dist/runtime/validator.d.mts +1 -1
  214. package/dist/runtime/ws-server.d.mts +2 -3
  215. package/dist/runtime/ws-server.mjs +6 -28
  216. package/dist/runtime/ws.d.mts +1 -1
  217. package/dist/{sandbox-container-Bo0eiFKz.d.mts → sandbox-container-ChQRum-j.d.mts} +3 -1
  218. package/dist/{sandbox-container-C6ItmVuN.mjs → sandbox-container-DBKIqDEK.mjs} +12 -1
  219. package/dist/{sandbox-C5LFoJMf.d.mts → sandbox-q3waMc2T.d.mts} +1 -1
  220. package/dist/{scan-C3uDzz6J.mjs → scan-C0BMdmEd.mjs} +84 -7
  221. package/dist/{secret-BAt2KMmO.mjs → secret-B5J8bBsI.mjs} +62 -80
  222. package/dist/{serialize-BPvnNQuA.mjs → serialize-BtQyaYoC.mjs} +10 -4
  223. package/dist/{skills-BgVMvQdy.mjs → skills-BJsan98C.mjs} +2 -2
  224. package/dist/{subcommand-prompt-BSlnD1fI.mjs → subcommand-prompt-gQ-NDA-u.mjs} +38 -43
  225. package/dist/sveltekit.mjs +1 -1
  226. package/dist/validate-C9xtFOYR.mjs +2 -0
  227. package/dist/{validate-C9qJArv7.mjs → validate-CheZGRE7.mjs} +4 -8
  228. package/dist/version-metadata-DIrqEHQo.mjs +73 -0
  229. package/dist/{wrangler-D9KTuqnv.mjs → wrangler-BYs07Rxy.mjs} +119 -378
  230. package/dist/{ws-CChrrAU-.d.mts → ws-aKVYB-fA.d.mts} +1 -1
  231. package/dist/yarn-pnp-DLbEFMT0.mjs +92 -0
  232. package/docs/guide/auth.md +2 -0
  233. package/docs/guide/database/postgresql.md +2 -0
  234. package/docs/guide/database.md +2 -0
  235. package/docs/guide/deployment.md +2 -2
  236. package/docs/guide/durable-state.md +24 -0
  237. package/docs/guide/platform/administration/access.md +5 -1
  238. package/docs/guide/platform/administration/connected-apps.md +55 -0
  239. package/docs/guide/platform/installation/credentials.md +3 -1
  240. package/docs/guide/platform/installation/first-deployment.md +1 -1
  241. package/docs/guide/project-collaboration.md +1 -1
  242. package/docs/guide/quickstart.md +2 -0
  243. package/docs/guide/sandboxes.md +2 -0
  244. package/docs/reference/api/deploy.md +23 -0
  245. package/docs/reference/api/pages.md +2 -0
  246. package/docs/reference/api.md +2 -1
  247. package/docs/reference/cli/auth.md +1 -1
  248. package/docs/reference/cli/database.md +9 -3
  249. package/docs/reference/cli/deploy.md +1 -1
  250. package/docs/reference/cli/platform-installation.md +1 -1
  251. package/docs/reference/cli/setup.md +2 -0
  252. package/package.json +14 -17
  253. package/skills/void/SKILL.md +4 -2
  254. package/dist/auth-BgX2qYSY.mjs +0 -2
  255. package/dist/cf-build-output-H9a97vME.mjs +0 -2
  256. package/dist/client-By4JjMw_.mjs +0 -2
  257. package/dist/collect-DLyFDiKW.mjs +0 -2
  258. package/dist/config-5r-YpMC-.mjs +0 -2
  259. package/dist/config-B_ggY-IO.mjs +0 -89
  260. package/dist/config-BtSFvXZx.mjs +0 -2
  261. package/dist/config-write-AHGesphx.mjs +0 -61
  262. package/dist/deploy-BsEvnlJl.mjs +0 -10455
  263. package/dist/deploy-C1d-YTfp.mjs +0 -2
  264. package/dist/dev-inbox-CK-UuPob.mjs +0 -297
  265. package/dist/discover-EDUf6JJw.mjs +0 -2
  266. package/dist/dist-_UUlL6bg.mjs +0 -2
  267. package/dist/env-validation-Dxdx_5wo.mjs +0 -951
  268. package/dist/gen-dA9hW7AV.mjs +0 -2
  269. package/dist/head-client-DzmJGN4C.mjs +0 -90
  270. package/dist/help-DzKUrQvk.mjs +0 -2
  271. package/dist/login-Dc-wuTDq.mjs +0 -2
  272. package/dist/migrate-BHp07yJE.mjs +0 -2
  273. package/dist/operator-cmd-Cwn50lOV.mjs +0 -2
  274. package/dist/pages/head-client.d.mts +0 -13
  275. package/dist/pages/head-client.mjs +0 -2
  276. package/dist/platform-args-DYgITk0D.mjs +0 -2
  277. package/dist/prepare-DRUV-g3X.mjs +0 -2
  278. package/dist/project-BiaPQ7ur.mjs +0 -2
  279. package/dist/provision-Wu9ZBk9L.mjs +0 -2
  280. package/dist/resolve-project-BIeYs9Cw.mjs +0 -2
  281. package/dist/resolve-project-CP8rZs_p.mjs +0 -28
  282. package/dist/runner-mysql-CkFqZ6CE.mjs +0 -2
  283. package/dist/runner-pg-BGYRFdRp.mjs +0 -2
  284. package/dist/runtime/env-helpers.d.mts +0 -2
  285. package/dist/runtime/env-helpers.mjs +0 -2
  286. package/dist/validate-BJr9LfXy.mjs +0 -2
  287. package/dist/yarn-pnp-CUX_iTPA.mjs +0 -188
@@ -0,0 +1,82 @@
1
+ import { EMAIL_PROTOCOL_VERSION, encodeEmailActions, readEmailEnvelope } from "@void/platform/email-protocol";
2
+ //#region src/runtime/email-protocol.ts
3
+ const RECEIPT_VERIFICATION_DEADLINE_MS = 5e3;
4
+ const MAX_RECEIPT_VERIFICATION_BYTES = 2048;
5
+ const decoder = new TextDecoder("utf-8", {
6
+ fatal: true,
7
+ ignoreBOM: false
8
+ });
9
+ /**
10
+ * Settle `run()` within `ms`, or reject with `onTimeout()`. `run` is not
11
+ * called when `ms` has already elapsed.
12
+ */
13
+ async function withTimeout(ms, run, onTimeout) {
14
+ if (ms <= 0) throw onTimeout();
15
+ let timer;
16
+ try {
17
+ return await Promise.race([run(), new Promise((_, reject) => {
18
+ timer = setTimeout(() => reject(onTimeout()), ms);
19
+ })]);
20
+ } finally {
21
+ if (timer !== void 0) clearTimeout(timer);
22
+ }
23
+ }
24
+ /**
25
+ * Read a JSON body of at most `maxBytes`, each read bounded by `race`. A
26
+ * declared length must be exact.
27
+ */
28
+ async function readBoundedJson(response, maxBytes, race, { rejectEncoding = false } = {}) {
29
+ const declared = response.headers.get("content-length");
30
+ if (rejectEncoding && response.headers.has("content-encoding") || declared !== null && (!/^\d+$/.test(declared) || Number(declared) > maxBytes)) {
31
+ response.body?.cancel().catch(() => {});
32
+ throw new Error("email response refused before reading");
33
+ }
34
+ const reader = response.body?.getReader();
35
+ if (!reader) throw new Error("email response is empty");
36
+ const bytes = new Uint8Array(maxBytes);
37
+ let size = 0;
38
+ try {
39
+ for (;;) {
40
+ const chunk = await race(() => reader.read());
41
+ if (chunk.done) break;
42
+ if (size + chunk.value.byteLength > maxBytes) throw new Error("email response too large");
43
+ bytes.set(chunk.value, size);
44
+ size += chunk.value.byteLength;
45
+ }
46
+ } finally {
47
+ reader.cancel().catch(() => {});
48
+ try {
49
+ reader.releaseLock();
50
+ } catch {}
51
+ }
52
+ if (declared !== null && size !== Number(declared)) throw new Error("email response length mismatch");
53
+ return JSON.parse(decoder.decode(bytes.subarray(0, size)));
54
+ }
55
+ /** Validate a gateway receipt without exposing the signing secret to the tenant worker. */
56
+ async function verifyEmailReceiptThroughProxy(proxy, projectToken, input) {
57
+ const deadline = Date.now() + RECEIPT_VERIFICATION_DEADLINE_MS;
58
+ const beforeDeadline = (run) => withTimeout(deadline - Date.now(), run, () => /* @__PURE__ */ new Error("email receipt verification timeout"));
59
+ const controller = new AbortController();
60
+ let response;
61
+ try {
62
+ response = await beforeDeadline(() => proxy.fetch("https://proxy/email/verify-receipt", {
63
+ method: "POST",
64
+ headers: {
65
+ "content-type": "application/json",
66
+ "x-void-internal": projectToken
67
+ },
68
+ body: JSON.stringify(input),
69
+ signal: controller.signal
70
+ }));
71
+ if (!response.ok) return false;
72
+ const body = await readBoundedJson(response, MAX_RECEIPT_VERIFICATION_BYTES, beforeDeadline, { rejectEncoding: true });
73
+ return !!body && typeof body === "object" && !Array.isArray(body) && body.valid === true;
74
+ } catch {
75
+ return false;
76
+ } finally {
77
+ controller.abort();
78
+ response?.body?.cancel().catch(() => {});
79
+ }
80
+ }
81
+ //#endregion
82
+ export { verifyEmailReceiptThroughProxy as a, readEmailEnvelope as i, encodeEmailActions as n, withTimeout as o, readBoundedJson as r, EMAIL_PROTOCOL_VERSION as t };
@@ -1,5 +1,5 @@
1
- import { a as join, l as relative } from "./dist-BVqXeR_h.mjs";
2
- import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
1
+ import { a as join, s as relative } from "./dist-ipQi0Q8y.mjs";
2
+ import { n as readProjectPaths } from "./project-paths-DMvEeSau.mjs";
3
3
  import { n as isIdentifier } from "./ast-CPGPjb0V.mjs";
4
4
  import { existsSync, readFileSync } from "node:fs";
5
5
  import { parseSync } from "vite";
@@ -1,5 +1,5 @@
1
- import { a as join } from "./dist-BVqXeR_h.mjs";
2
- import { t as parseDotenvFile } from "./dotenv-BfU6eqFt.mjs";
1
+ import { a as join } from "./dist-ipQi0Q8y.mjs";
2
+ import { t as parseDotenvFile } from "./dotenv-CNazY3-w.mjs";
3
3
  import { readdirSync } from "node:fs";
4
4
  //#region src/shared/env.ts
5
5
  /** Void's single local dotenv file. It is never a production configuration source. */
@@ -1,4 +1,4 @@
1
- import { a as getRawRuntimeEnv, i as envContext, n as INTERNAL_BINDING_PREFIXES, o as isIsrActive, r as asEnv, t as INTERNAL_BINDING_EXACT_NAMES } from "./env-raw-jZpP5n47.mjs";
1
+ import { a as getRawRuntimeEnv, i as envContext, n as INTERNAL_BINDING_PREFIXES, o as isIsrActive, r as asEnv, t as INTERNAL_BINDING_EXACT_NAMES } from "./env-raw-Cklzcde3.mjs";
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  //#region src/runtime/env.ts
4
4
  /**
@@ -28,18 +28,7 @@ function withRuntimeEnv(env, fn) {
28
28
  const scope = { resources: /* @__PURE__ */ new Map() };
29
29
  return envContext.run(resolved, () => runtimeRequestContext.run(scope, fn));
30
30
  }
31
- /**
32
- * Shared internal-binding predicate. A binding is framework-internal — and must
33
- * never be exposed to user code — when it carries an internal prefix
34
- * (`__VOID_`, `__PROJECT_`; always hidden) or is an exact-name internal (e.g.
35
- * `ISR_CACHE`; hidden ONLY while ISR is active for the isolate). `rawEnv` is the
36
- * unfiltered runtime env, consulted via {@link isIsrActive} to gate the
37
- * exact-name check so a non-ISR app's own `ISR_CACHE` binding stays visible —
38
- * matching the build-time `isr` gate on the generated `c.env` filter.
39
- *
40
- * Single source of truth for the runtime `env` filter here and the public
41
- * `void/env` proxy (`env-public.ts`).
42
- */
31
+ /** Whether `name` is a framework binding hidden from user code; `rawEnv` is the unfiltered env. */
43
32
  function isInternalBinding(name, rawEnv) {
44
33
  if (INTERNAL_BINDING_PREFIXES.some((p) => name.startsWith(p))) return true;
45
34
  return isIsrActive(rawEnv) && INTERNAL_BINDING_EXACT_NAMES.includes(name);
@@ -1,11 +1,11 @@
1
- import { a as join } from "./dist-BVqXeR_h.mjs";
2
- import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-DQstYTxO.mjs";
3
- import { c as getToken } from "./auth-B5_tZLxT.mjs";
1
+ import { a as join } from "./dist-ipQi0Q8y.mjs";
2
+ import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-rqDnVsJN.mjs";
3
+ import { c as getToken } from "./auth-B6iOCjKI.mjs";
4
4
  import { H as outro, L as log } from "./dist-D3m88sjf.mjs";
5
- import { d as printSuccess, u as note } from "./output-C50ag2r3.mjs";
6
- import { r as generateEnvTypes, t as findEnvFile } from "./env-types-CwXgeMgL.mjs";
7
- import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-Dxdx_5wo.mjs";
8
- import { r as PlatformClient } from "./client-C2Prx_Bi.mjs";
5
+ import { m as printSuccess, p as note } from "./output-FNHKw5Ac.mjs";
6
+ import { r as generateEnvTypes, t as findEnvFile } from "./env-types-DS2_y4X8.mjs";
7
+ import { r as PlatformClient } from "./client-DM9Kcf4e.mjs";
8
+ import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-cE0zcmzO.mjs";
9
9
  import { mkdirSync, writeFileSync } from "node:fs";
10
10
  //#region src/cli/env.ts
11
11
  async function runEnvCommand(root, args) {
@@ -25,7 +25,7 @@ async function runCheck(root, useRemoteSecrets) {
25
25
  const platform = readDeploymentPlatform(root);
26
26
  if (platform === "none") throw new Error("env: Deployment is disabled. Run `void init` to choose a platform.");
27
27
  if (platform === "cloudflare") {
28
- const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-BlYLlowZ.mjs");
28
+ const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-Ds-lX3Ts.mjs");
29
29
  remoteSecrets = await listCloudflareSecrets(resolveCloudflareOperationContext(root));
30
30
  } else {
31
31
  const token = getToken(root);
@@ -1,4 +1,4 @@
1
- import { l as VoidPlatformSandbox } from "./sandbox-C5LFoJMf.mjs";
1
+ import { l as VoidPlatformSandbox } from "./sandbox-q3waMc2T.mjs";
2
2
  import { t as StandardSchemaV1 } from "./standard-schema-Fo_vCAZh.mjs";
3
3
  //#region src/runtime/env-public.d.ts
4
4
  type AnyValidator = StandardSchemaV1<unknown, unknown>;
@@ -26,21 +26,10 @@ type InferEnv<S extends AnySchema> = { readonly [K in keyof S]: StandardSchemaV1
26
26
  */
27
27
  declare function defineEnv<S extends AnySchema>(schema: S): InferEnv<S>;
28
28
  /**
29
- * Internal: validate the entire schema against the worker's actual env on
30
- * the first request per isolate. Catches bad remote-secret values and
31
- * post-deploy drift that the deploy CLI can't see (it only knows secret
32
- * names, not their values).
33
- *
34
- * Spliced into the generated worker entry by `compileWorkerEntry`. Cached
35
- * after the first call so subsequent requests pay no cost.
36
- *
37
- * Async lifecycle: this function awaits any async Standard Schema
38
- * validators (zod `refine`, arktype async narrows, etc.) and seeds the
39
- * per-key cache with the resolved values. Subsequent reads via `env.X`
40
- * hit the sync cache — async work only happens here, at boot. If a user
41
- * accesses `env.X` for a key with an async validator *before* this
42
- * function has run (e.g. during module-top-level code), the proxy will
43
- * throw with guidance pointing back to this boot-time pre-validation.
29
+ * Internal: validate the whole schema against the worker env once per isolate,
30
+ * from the generated worker entry. Catches remote-secret values the deploy CLI
31
+ * cannot see. Async validators are awaited here and their values cached, so
32
+ * later synchronous `env.X` reads can serve them.
44
33
  */
45
34
  declare function _validateEnvOnce(envValues: unknown): Promise<void>;
46
35
  /** Internal: framework-only access to the registered schema (for plugin/CLI). */
@@ -73,13 +62,7 @@ declare class EnvValidationError extends Error {
73
62
  /**
74
63
  * Typed env proxy. Reads from the runtime env, validating declared keys
75
64
  * on first access and passing through bindings / unknown keys unchanged.
76
- *
77
- * Sync-only: the `get` trap must be synchronous, so validators that return
78
- * a `Promise` cannot be awaited here. For async Standard Schema validators,
79
- * `_validateEnvOnce()` pre-resolves them at worker boot and seeds the
80
- * per-env cache; property reads then serve the cached value synchronously.
81
- * If an async validator is encountered here without a prior pre-validation,
82
- * the trap throws with guidance on how to resolve it.
65
+ * Async validators must be resolved first by `_validateEnvOnce()`.
83
66
  */
84
67
  declare const env: ValidatedEnv;
85
68
  /** Aggregate report from validating an entire env object against the schema. */
@@ -9,28 +9,11 @@ import { AsyncLocalStorage } from "node:async_hooks";
9
9
  /** Prefixes for platform-internal bindings that must be hidden from user code. */
10
10
  const INTERNAL_BINDING_PREFIXES = ["__VOID_", "__PROJECT_"];
11
11
  /**
12
- * Exact binding names that must be hidden from user code even though they carry
13
- * no internal prefix. `ISR_CACHE` (the self-host ISR KV namespace) is a plain
14
- * binding name, but it is a framework internal — route handlers read the ISR
15
- * cache through `handleIsr`/`revalidate()` on the raw env, never via `c.env` or
16
- * the public `void/env` API. Single source of truth shared by the generated
17
- * `c.env` filter (`router/compile.ts`) and the runtime `env` filter (`env.ts`).
18
- *
19
- * Unlike the prefix internals, these are hidden ONLY when ISR is active for the
20
- * isolate (see {@link isIsrActive}). In a non-ISR app, `ISR_CACHE` is an
21
- * ordinary user binding and stays visible everywhere — matching the build-time
22
- * `isr` gate on the generated `c.env` filter.
12
+ * Framework bindings hidden from user code only while ISR is active, so a non-ISR
13
+ * app keeps its own `ISR_CACHE`. Shared with the generated `c.env` filter.
23
14
  */
24
15
  const INTERNAL_BINDING_EXACT_NAMES = ["ISR_CACHE"];
25
- /**
26
- * ISR is active for this isolate iff the framework has stamped the compile-time
27
- * deployment id onto the raw env (`__VOID_ISR_DEPLOYMENT_ID`). The generated
28
- * worker entry stamps it at the top of `fetch()` (and in cron/queue handlers)
29
- * only for ISR-emitting builds, so its presence is a reliable runtime signal
30
- * that `ISR_CACHE` should be treated as a framework internal. The id itself is a
31
- * `__VOID_`-prefixed binding that is always hidden and framework-controlled, so
32
- * a user cannot forge it.
33
- */
16
+ /** Only ISR builds stamp the `__VOID_ISR_DEPLOYMENT_ID` binding onto the raw env. */
34
17
  function isIsrActive(rawEnv) {
35
18
  return rawEnv.__VOID_ISR_DEPLOYMENT_ID != null;
36
19
  }
@@ -1,5 +1,5 @@
1
- import { l as relative } from "./dist-BVqXeR_h.mjs";
2
- import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
1
+ import { s as relative } from "./dist-ipQi0Q8y.mjs";
2
+ import { n as readProjectPaths } from "./project-paths-DMvEeSau.mjs";
3
3
  import { i as voidWarn } from "./log-vqY3pqwI.mjs";
4
4
  import { existsSync } from "node:fs";
5
5
  //#region src/codegen/env-types.ts
@@ -1,2 +1,2 @@
1
- import { a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars, r as SelfHostSchemaError } from "./env-validation-Dxdx_5wo.mjs";
1
+ import { a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars, r as SelfHostSchemaError } from "./env-validation-cE0zcmzO.mjs";
2
2
  export { SelfHostSchemaError, computeInvalidEmittedKeys, deriveSelfHostSchemaFacts, readEmittedWorkerVars };