void 1.1.12 → 1.2.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 (189) hide show
  1. package/dist/{account-cmd-Cj6sCMTk.mjs → account-cmd-CdUll_35.mjs} +5 -5
  2. package/dist/action-key-XZ9HkWAO.mjs +26 -0
  3. package/dist/{application-analysis-D7nNmNJb.mjs → application-analysis-fEqoSeMp.mjs} +11 -11
  4. package/dist/{application-routing-CZH66gXn.mjs → application-routing-DAhNP4u3.mjs} +1 -1
  5. package/dist/{ast-CPGPjb0V.mjs → ast-CsZ_q_gc.mjs} +6 -1
  6. package/dist/ast-bindings-C3yaPs1y.mjs +296 -0
  7. package/dist/{auth-link-Dj7lAC_K.mjs → auth-link-C87vGXM-.mjs} +5 -5
  8. package/dist/{auth-router-CNsMOFCa.mjs → auth-router-6I81r-ix.mjs} +3 -3
  9. package/dist/{better-auth-shared-Bv18bB-l.d.mts → better-auth-shared-DVk2DkTW.d.mts} +1 -1
  10. package/dist/{build-cmd-ByhegwRC.mjs → build-cmd-ex1g-j_e.mjs} +4 -4
  11. package/dist/{cache-CEFb5ban.mjs → cache-oHzrnY3z.mjs} +4 -4
  12. package/dist/{cancel-deploy-CaARY26n.mjs → cancel-deploy-viAMD0Q_.mjs} +3 -3
  13. package/dist/cf-build-output-BJHuSsVN.mjs +1 -0
  14. package/dist/{cf-build-output-ChEKWan2.mjs → cf-build-output-BhVxldCw.mjs} +4 -3
  15. package/dist/{cf-command-values-b8OqDoo9.mjs → cf-command-values-ByHk0xg4.mjs} +2 -1
  16. package/dist/cf-worker-settings-BECvvTVd.mjs +37 -0
  17. package/dist/cli/cli.mjs +32 -32
  18. package/dist/cli/cloudflare-operation-process.mjs +23 -13
  19. package/dist/cli/env-schema-probe.d.mts +1 -1
  20. package/dist/cli/env-schema-probe.mjs +3 -3
  21. package/dist/{client-BdzxubTS.mjs → client-BEkdj1kx.mjs} +1 -1
  22. package/dist/client-BiRDZTSd.mjs +1 -0
  23. package/dist/{cloudflare-auth-DSvBc1Gu.mjs → cloudflare-auth-Byo_0_N9.mjs} +1 -1
  24. package/dist/{cloudflare-cmd-D_2-Q-_i.mjs → cloudflare-cmd-DMzCv12s.mjs} +5 -5
  25. package/dist/{cloudflare-config-rdFOys4X.mjs → cloudflare-config-DchHxPTo.mjs} +1 -1
  26. package/dist/{cloudflare-connect-BN-k2kD-.mjs → cloudflare-connect-CCRTVg-I.mjs} +3 -3
  27. package/dist/{cloudflare-operations-D5PLrOqD.mjs → cloudflare-operations-Dh9dEHJj.mjs} +6 -6
  28. package/dist/{cloudflare-operations-BFLCpUCV.mjs → cloudflare-operations-DsSaw2BT.mjs} +1 -1
  29. package/dist/{cloudflare-process-CZJ4viYl.mjs → cloudflare-process-8jEYIeim.mjs} +3 -2
  30. package/dist/{config-DC5llZaI.mjs → config-BIaXIkkv.mjs} +8 -3
  31. package/dist/{config-DYJV8aEH.mjs → config-BU6hMu1W.mjs} +1 -1
  32. package/dist/{config-D26zcdKy.mjs → config-DHgSEWT7.mjs} +39 -6
  33. package/dist/{config-7qoq2p9v.d.mts → config-DQfHOKh9.d.mts} +10 -1
  34. package/dist/config-entry.d.mts +1 -1
  35. package/dist/{connect-C4_m2moF.mjs → connect-k7R2rPVA.mjs} +6 -6
  36. package/dist/{create-project-CvuYDD-l.mjs → create-project-DTuy-l0z.mjs} +1 -1
  37. package/dist/{create-project-D8jQTwVQ.mjs → create-project-DV71ol5d.mjs} +4 -4
  38. package/dist/{db-BsiOAa0A.mjs → db-DVOkLH5X.mjs} +30 -24
  39. package/dist/{delete-CAma7nFi.mjs → delete-BbP5eopu.mjs} +4 -4
  40. package/dist/{deploy-D1gIPiAq.mjs → deploy-7H32EnUs.mjs} +114 -71
  41. package/dist/deploy-CE0Ev0Ob.mjs +2 -0
  42. package/dist/{deploy-managed-static-B9KVxY3X.mjs → deploy-managed-static-DlvcvnQT.mjs} +15 -15
  43. package/dist/{deploy-transport-B3mtEi_q.mjs → deploy-transport-BzGEj0Ge.mjs} +2 -2
  44. package/dist/deploy.mjs +7 -7
  45. package/dist/{dev-inbox-Rd6j_8vM.mjs → dev-inbox-D0jxye_D.mjs} +1 -1
  46. package/dist/{dispatch-BAbbn3jg.mjs → dispatch-DoUnxTNo.mjs} +15 -11
  47. package/dist/{dist-CfgIkieS.mjs → dist-B1PLt4_8.mjs} +1 -1
  48. package/dist/{dist-BVdsO7Py.mjs → dist-Cor9XGoz.mjs} +94 -200
  49. package/dist/{dist-Bn8Kodjp.mjs → dist-D15hFhP0.mjs} +1 -1
  50. package/dist/{domain-BAdwm-QS.mjs → domain-CA2wBgra.mjs} +5 -5
  51. package/dist/drizzle-9TubSZvI.mjs +1 -0
  52. package/dist/{email-BcjSyAL0.mjs → email-B9ayYQEG.mjs} +1 -1
  53. package/dist/{email-MwjA7kaL.mjs → email-DXpCc77w.mjs} +10 -10
  54. package/dist/{email-cloudflare-etpKiITL.mjs → email-cloudflare-D03g2TkS.mjs} +7 -7
  55. package/dist/{entry-B_0IhV64.mjs → entry-BEM8ZuGP.mjs} +40 -12
  56. package/dist/{env-B163-G1s.mjs → env-DgOQ9_8S.mjs} +6 -6
  57. package/dist/{env-public-CCdykygU.d.mts → env-public-6lqiSD2b.d.mts} +1 -0
  58. package/dist/{env-types-GRchm5dw.mjs → env-types-BicfKBhV.mjs} +1 -1
  59. package/dist/{env-validation-CuGfWRJd.mjs → env-validation-BmsdCZEk.mjs} +1 -1
  60. package/dist/{env-validation-D_KyMdab.mjs → env-validation-Dwq3PJzK.mjs} +3 -3
  61. package/dist/{gen-CYN3wiov.mjs → gen-BfmcIi2g.mjs} +5 -5
  62. package/dist/gen-NrOlWZaG.mjs +1 -0
  63. package/dist/{github-cmd-C8QsnJQs.mjs → github-cmd-CY9LUqLh.mjs} +4 -4
  64. package/dist/{handler-D5K_yP6T.d.mts → handler-BbkSPzGF.d.mts} +90 -8
  65. package/dist/{headers-Bi4bOAwp.mjs → headers-D522zd0A.mjs} +2 -2
  66. package/dist/help-BeAFFE5C.mjs +1 -0
  67. package/dist/{help-B2sFwn9b.mjs → help-CxSlPpzJ.mjs} +40 -10
  68. package/dist/{inbound-BuTfm11U.mjs → inbound-VrOLqwZY.mjs} +1 -1
  69. package/dist/index.d.mts +1 -1
  70. package/dist/index.mjs +91 -57
  71. package/dist/{info-Bxunp14X.mjs → info-7VDlhtyy.mjs} +4 -4
  72. package/dist/{init-DGFQMnbk.mjs → init-DxYyOs4-.mjs} +103 -43
  73. package/dist/{link-CwrfpjIM.mjs → link-Ddmod1dZ.mjs} +5 -5
  74. package/dist/{list-hKoW5z-b.mjs → list-MogaugiO.mjs} +5 -5
  75. package/dist/{live-JheIDZKc.d.mts → live-Bt8Y_0bg.d.mts} +1 -1
  76. package/dist/{local-d1-CpaPbd_L.mjs → local-d1-BHBnKWRb.mjs} +1 -1
  77. package/dist/{log-vqY3pqwI.mjs → log-BMwmN5Ae.mjs} +2 -2
  78. package/dist/{login-f2eu2TQh.mjs → login-Cttnagmm.mjs} +4 -4
  79. package/dist/login-DgDwlKc_.mjs +1 -0
  80. package/dist/{logs-CEWqD-_B.mjs → logs-CAszUWZI.mjs} +4 -4
  81. package/dist/{migrate-DYfdWBXt.mjs → migrate-DyT2jJ8y.mjs} +5 -5
  82. package/dist/migrate-n49ZeS1X.mjs +1 -0
  83. package/dist/{mime-srOklVVv.mjs → mime-BAyHPskU.mjs} +1 -1
  84. package/dist/nitro.mjs +3 -3
  85. package/dist/{node-uN8_zxJr.mjs → node-WB7c2N4L.mjs} +2 -2
  86. package/dist/operator-cmd-d2MvJOrl.mjs +1 -0
  87. package/dist/{operator-cmd-DCr_QGMH.mjs → operator-cmd-skshjMGl.mjs} +4 -4
  88. package/dist/output-BW9uK099.mjs +1 -0
  89. package/dist/{output-CKguMgr7.mjs → output-BpgYODYx.mjs} +3 -3
  90. package/dist/pages/client.d.mts +1 -1
  91. package/dist/pages/client.mjs +30 -20
  92. package/dist/pages/index.d.mts +1 -1
  93. package/dist/pages/index.mjs +3 -3
  94. package/dist/pages/islands-plugin.mjs +2 -1
  95. package/dist/pages/protocol.d.mts +2 -2
  96. package/dist/pages/protocol.mjs +1 -1
  97. package/dist/{parse-filename-CUbj-1MP.mjs → parse-filename-DioPHiR9.mjs} +1 -35
  98. package/dist/{picocolors-BTps1_gs.mjs → picocolors-BsDfhxIw.mjs} +1 -1
  99. package/dist/{platform-args-B7ke06up.mjs → platform-args-DVbVClZl.mjs} +12 -4
  100. package/dist/platform-args-kQrgxScY.mjs +1 -0
  101. package/dist/{platform-auth-config-qGvEuns3.mjs → platform-auth-config-C-pm5Qzx.mjs} +6 -6
  102. package/dist/{platform-auth-protection-CyLcD6ot.mjs → platform-auth-protection-SHhvim1L.mjs} +4 -4
  103. package/dist/{platform-auth-recovery-B2LKI8V2.mjs → platform-auth-recovery-DXVWs-wA.mjs} +4 -4
  104. package/dist/{platform-cmd-CX7phm7V.mjs → platform-cmd-D5I1beUX.mjs} +7 -7
  105. package/dist/{platform-cmd-B2ec5eFg.mjs → platform-cmd-PiNRkopU.mjs} +1 -1
  106. package/dist/{platform-domain-DDNK2y-4.mjs → platform-domain-jpmBfZeb.mjs} +4 -4
  107. package/dist/{platform-lifecycle-CWc5gr6c.mjs → platform-lifecycle-DH3Yr1qQ.mjs} +1 -1
  108. package/dist/{platform-lifecycle-3CR98Tg2.mjs → platform-lifecycle-DyKmuNY6.mjs} +28 -17
  109. package/dist/{platform-management-o3LCCeE4.mjs → platform-management--vDwSn35.mjs} +11 -5
  110. package/dist/{platform-management-DAE6g2QU.mjs → platform-management-7m-PLaPJ.mjs} +1 -1
  111. package/dist/{platform-plans-config-CBMZxCep.mjs → platform-plans-config-CeydDSj0.mjs} +2 -2
  112. package/dist/{platform-recovery-Dmsg7lWA.mjs → platform-recovery-BiNpZZab.mjs} +2 -2
  113. package/dist/{platform-setup-hFbnWAVQ.mjs → platform-setup-Ca53gtt0.mjs} +3 -2
  114. package/dist/{plugin-inference-Bekzjuqw.mjs → plugin-inference-DUjCd55H.mjs} +145 -218
  115. package/dist/{prepare-HKo7Rh5V.mjs → prepare-BcAE5Sdj.mjs} +3 -3
  116. package/dist/prepare-C4I0f--h.mjs +1 -0
  117. package/dist/{prepare-DepAGBcV.mjs → prepare-DA-17DhO.mjs} +5 -5
  118. package/dist/{prerender-render-Bfsumdkv.mjs → prerender-render-Cijv7UFo.mjs} +11 -6
  119. package/dist/prerender-render.mjs +1 -1
  120. package/dist/{project-cmd-8ylYGx-O.mjs → project-cmd-DA4K5faU.mjs} +17 -17
  121. package/dist/{project-team-Bvpl78we.mjs → project-team-CQBNveX3.mjs} +4 -4
  122. package/dist/{project-token-QWHoJH2t.mjs → project-token-CCalFyQf.mjs} +4 -4
  123. package/dist/{project-zero-trust-8tJ-RFvu.mjs → project-zero-trust-DPnkiEuT.mjs} +4 -4
  124. package/dist/{protocol-Ssc_LhHj.d.mts → protocol-BBDpJz3G.d.mts} +3 -1
  125. package/dist/{protocol-bAUUkx70.mjs → protocol-DimNxVRr.mjs} +41 -16
  126. package/dist/{provision-BgXFDv0d.mjs → provision-BFLCrnUp.mjs} +1 -1
  127. package/dist/{provision-DZKYCEJg.mjs → provision-DtROpNNI.mjs} +3 -3
  128. package/dist/{requests-Vk5Zyhcy.mjs → requests-BpH0kImL.mjs} +3 -3
  129. package/dist/resolve-project-DD1vu8s9.mjs +1 -0
  130. package/dist/{resolve-project-WpwkCB_c.mjs → resolve-project-Xoi6eTWY.mjs} +1 -1
  131. package/dist/{rollback-CH4yMQys.mjs → rollback-CXS1tAa-.mjs} +4 -4
  132. package/dist/{rolldown-runtime-DXIUcv95.mjs → rolldown-runtime-3h0WiCiA.mjs} +1 -1
  133. package/dist/{routing-assets-VkrKIbxE.mjs → routing-assets-DdSFxoLp.mjs} +10 -4
  134. package/dist/runtime/better-auth-mysql.d.mts +1 -1
  135. package/dist/runtime/better-auth-pg.d.mts +1 -1
  136. package/dist/runtime/better-auth.d.mts +1 -1
  137. package/dist/runtime/email/testing.mjs +4 -4
  138. package/dist/runtime/email.mjs +3 -3
  139. package/dist/runtime/env-public.d.mts +1 -1
  140. package/dist/runtime/handler.d.mts +1 -1
  141. package/dist/runtime/live-client.d.mts +1 -1
  142. package/dist/runtime/live.d.mts +1 -1
  143. package/dist/runtime/routing.d.mts +17 -76
  144. package/dist/runtime/routing.mjs +277 -216
  145. package/dist/runtime/validator.d.mts +1 -1
  146. package/dist/runtime/ws-server.d.mts +2 -2
  147. package/dist/runtime/ws.d.mts +1 -1
  148. package/dist/{scan-D2-FcLHs.mjs → scan-8IzYXiU_.mjs} +12 -11
  149. package/dist/{secret-wr6Sn4Xa.mjs → secret-BbXHfLAt.mjs} +6 -6
  150. package/dist/{skills-C_yRTg0g.mjs → skills-CrUO3PJ0.mjs} +1 -1
  151. package/dist/{subcommand-prompt-CNZc4XUd.mjs → subcommand-prompt-D9OhhbGG.mjs} +2 -2
  152. package/dist/{version-metadata-B1Bm2wSq.mjs → version-metadata-tS39iW09.mjs} +1 -1
  153. package/dist/wrangler-BLb3_luP.mjs +1 -0
  154. package/dist/{wrangler-C9XSzrju.mjs → wrangler-F96NnLyb.mjs} +13 -5
  155. package/dist/{wrapper-DGsYwNi6.mjs → wrapper-D3sZyh2C.mjs} +3 -3
  156. package/dist/{ws-nnFnAyQb.d.mts → ws-BH-im_tX.d.mts} +1 -1
  157. package/docs/guide/ai.md +1 -1
  158. package/docs/guide/database/postgresql.md +1 -1
  159. package/docs/guide/database.md +26 -0
  160. package/docs/guide/email/domains.md +1 -1
  161. package/docs/guide/pages-routing/actions-and-forms.md +1 -1
  162. package/docs/guide/platform/installation/credentials.md +1 -1
  163. package/docs/guide/platform/installation/domains.md +16 -0
  164. package/docs/guide/self-hosted-platform.md +1 -1
  165. package/docs/guide/server-routing.md +1 -1
  166. package/docs/integrations/cloudflare.md +1 -0
  167. package/docs/reference/api/env.md +1 -1
  168. package/docs/reference/api/rewrites.md +1 -1
  169. package/docs/reference/api/types.md +1 -0
  170. package/docs/reference/cli/platform-installation.md +3 -2
  171. package/docs/reference/cli/setup.md +17 -0
  172. package/docs/reference/config.md +13 -0
  173. package/docs/reference/resource-inference.md +4 -0
  174. package/package.json +22 -22
  175. package/sandbox.Dockerfile +1 -1
  176. package/schema.json +23 -3
  177. package/dist/cf-build-output-Dcmxa-Zm.mjs +0 -1
  178. package/dist/cf-user-agent-BkEHPDLA.mjs +0 -16
  179. package/dist/client-DAnfyMe9.mjs +0 -1
  180. package/dist/deploy-Dc0XsCQj.mjs +0 -2
  181. package/dist/gen-Cf-RBVg4.mjs +0 -1
  182. package/dist/help-w-xlx_kq.mjs +0 -1
  183. package/dist/login-08mBwZfI.mjs +0 -1
  184. package/dist/migrate-Di-4EuoE.mjs +0 -1
  185. package/dist/operator-cmd-Bv20yLu2.mjs +0 -1
  186. package/dist/platform-args-B_LrqEZB.mjs +0 -1
  187. package/dist/prepare-EVEbQ9n2.mjs +0 -1
  188. package/dist/resolve-project-PnhzMtY6.mjs +0 -1
  189. package/dist/wrangler-DAdxHEzh.mjs +0 -1
@@ -1,16 +1,16 @@
1
1
  import { a as join } from "./dist-ipQi0Q8y.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
3
- import { d as readConfig } from "./config-D26zcdKy.mjs";
4
- import { i as scanEmailHandlersSync } from "./email-BcjSyAL0.mjs";
5
- import { j as writeProvisionedWranglerConfig } from "./wrangler-C9XSzrju.mjs";
3
+ import { p as readConfig } from "./config-DHgSEWT7.mjs";
4
+ import { i as scanEmailHandlersSync } from "./email-B9ayYQEG.mjs";
5
+ import { M as writeProvisionedWranglerConfig } from "./wrangler-F96NnLyb.mjs";
6
6
  import { c as getToken, u as openBrowser } from "./auth-B6iOCjKI.mjs";
7
- import { A as confirm, L as log, U as password, tt as isCancel } from "./dist-BVdsO7Py.mjs";
8
- import { f as import_picocolors, l as formatUrl, m as printSuccess, p as note, r as createSpinner } from "./output-CKguMgr7.mjs";
9
- import { a as emailConfigInputs, c as renderAddressMap, i as createNodeEmailDns, l as renderEmailChecklist, o as preflightEmail, r as applyEmailSetup, s as probeMx } from "./email-cloudflare-etpKiITL.mjs";
10
- import { n as PlatformApiError, r as PlatformClient } from "./client-BdzxubTS.mjs";
11
- import { i as resolveCommandProjectId } from "./resolve-project-WpwkCB_c.mjs";
12
- import { o as resolveDeployTransport } from "./deploy-transport-B3mtEi_q.mjs";
13
- import { a as discoverRootWranglerConfig, c as runWranglerAuthToken, l as deriveWorkerName, o as createDeployWranglerRunner, s as isWranglerNonInteractiveOrCI } from "./deploy-D1gIPiAq.mjs";
7
+ import { a as emailConfigInputs, c as renderAddressMap, i as createNodeEmailDns, l as renderEmailChecklist, o as preflightEmail, r as applyEmailSetup, s as probeMx } from "./email-cloudflare-D03g2TkS.mjs";
8
+ import { A as confirm, L as log, U as password, tt as isCancel } from "./dist-Cor9XGoz.mjs";
9
+ import { n as PlatformApiError, r as PlatformClient } from "./client-BEkdj1kx.mjs";
10
+ import { f as import_picocolors, l as formatUrl, m as printSuccess, p as note, r as createSpinner } from "./output-BpgYODYx.mjs";
11
+ import { i as resolveCommandProjectId } from "./resolve-project-Xoi6eTWY.mjs";
12
+ import { o as resolveDeployTransport } from "./deploy-transport-BzGEj0Ge.mjs";
13
+ import { a as discoverRootWranglerConfig, c as runWranglerAuthToken, l as deriveWorkerName, o as createDeployWranglerRunner, s as isWranglerNonInteractiveOrCI } from "./deploy-7H32EnUs.mjs";
14
14
  import { existsSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
15
15
  import { tmpdir } from "node:os";
16
16
  import { execSync } from "node:child_process";
@@ -1,17 +1,17 @@
1
- import { n as __toESM } from "./rolldown-runtime-DXIUcv95.mjs";
1
+ import { n as __toESM } from "./rolldown-runtime-3h0WiCiA.mjs";
2
2
  import { a as join, n as dirname, s as relative } from "./dist-ipQi0Q8y.mjs";
3
- import { t as require_picocolors } from "./picocolors-BTps1_gs.mjs";
4
- import { d as readConfig } from "./config-D26zcdKy.mjs";
5
- import { i as voidWarn, r as voidLog } from "./log-vqY3pqwI.mjs";
3
+ import { t as require_picocolors } from "./picocolors-BsDfhxIw.mjs";
4
+ import { p as readConfig } from "./config-DHgSEWT7.mjs";
5
+ import { i as voidWarn, r as voidLog } from "./log-BMwmN5Ae.mjs";
6
6
  import { i as collectFiles } from "./isr-config-fZaJJ8t7.mjs";
7
7
  import { i as readProjectIdField } from "./project-rqDnVsJN.mjs";
8
- import { p as findBindingNameOwner, u as ensureWranglerCompat } from "./wrangler-C9XSzrju.mjs";
8
+ import { p as findBindingNameOwner, u as ensureWranglerCompat } from "./wrangler-F96NnLyb.mjs";
9
9
  import { n as scopedAccessCredentials } from "./cf-access-BM9G0lhO.mjs";
10
10
  import { n as ensurePlatformProxyAccess } from "./cf-access-CWP4avfP.mjs";
11
11
  import { a as getApiUrl, c as getToken, o as getProxyUrl } from "./auth-B6iOCjKI.mjs";
12
12
  import { l as stripInternalEnvKeys } from "./env-BJjULvL0.mjs";
13
- import { n as readPrerenderPathsResponse, r as renderPrerenderPaths, t as outputFileForPath } from "./prerender-render-Bfsumdkv.mjs";
14
- import { a as buildEnv } from "./version-metadata-B1Bm2wSq.mjs";
13
+ import { n as readPrerenderPathsResponse, r as renderPrerenderPaths, t as outputFileForPath } from "./prerender-render-Cijv7UFo.mjs";
14
+ import { a as buildEnv } from "./version-metadata-tS39iW09.mjs";
15
15
  import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
16
16
  import { isRecord } from "@void/deploy-core";
17
17
  import { execFile } from "node:child_process";
@@ -1,6 +1,7 @@
1
1
  import { a as join, s as relative } from "./dist-ipQi0Q8y.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
3
- import { n as isIdentifier } from "./ast-CPGPjb0V.mjs";
3
+ import { n as isIdentifier, o as moduleExportName } from "./ast-CsZ_q_gc.mjs";
4
+ import { n as bindingResolver, o as unwrapStaticExpression, t as bindingNames } from "./ast-bindings-C3yaPs1y.mjs";
4
5
  import { existsSync, readFileSync } from "node:fs";
5
6
  import { parseSync } from "vite";
6
7
  //#region src/ssr/entry.ts
@@ -35,16 +36,43 @@ function validateServerRenderExport(entry) {
35
36
  } catch (err) {
36
37
  throw new Error(`ssr: Invalid entry '${relativePath}'. Could not parse source: '${err instanceof Error ? err.message : String(err)}'.`);
37
38
  }
38
- if (!(parsed.program.body ?? []).some((node) => {
39
- if (node.type === "ExportDefaultDeclaration") {
40
- const declaration = node.declaration;
41
- if (declaration?.type === "FunctionDeclaration" || declaration?.type === "FunctionExpression" || declaration?.type === "ArrowFunctionExpression") return true;
42
- if (declaration?.type === "CallExpression") {
43
- const call = declaration;
44
- return isIdentifier(call.callee) && call.callee.name === "defineRender";
39
+ const program = parsed.program;
40
+ const body = program.body ?? [];
41
+ let resolve;
42
+ const binding = (node, name) => (resolve ??= bindingResolver(program))(node, name);
43
+ function isRenderer(node) {
44
+ const seen = /* @__PURE__ */ new Set();
45
+ while (node = unwrapStaticExpression(node)) {
46
+ if (seen.has(node)) return false;
47
+ seen.add(node);
48
+ if (isIdentifier(node)) {
49
+ node = binding(node, node.name);
50
+ continue;
45
51
  }
46
- return false;
52
+ if (node.type === "VariableDeclarator") {
53
+ if (!isIdentifier(node.id)) return true;
54
+ node = node.init;
55
+ continue;
56
+ }
57
+ if (node.type === "CallExpression") {
58
+ const call = node;
59
+ if (!isIdentifier(call.callee)) return false;
60
+ if (call.callee.name === "defineRender") return true;
61
+ const imported = binding(call, call.callee.name)?.imported;
62
+ return isIdentifier(imported) && imported.name === "defineRender";
63
+ }
64
+ return [
65
+ "FunctionDeclaration",
66
+ "FunctionExpression",
67
+ "ArrowFunctionExpression",
68
+ "ImportSpecifier",
69
+ "ImportDefaultSpecifier"
70
+ ].includes(node.type);
47
71
  }
72
+ return false;
73
+ }
74
+ if (!body.some((node) => {
75
+ if (node.type === "ExportDefaultDeclaration") return isRenderer(node.declaration);
48
76
  if (node.type !== "ExportNamedDeclaration") return false;
49
77
  if (node.exportKind === "type") return false;
50
78
  const declaration = node.declaration;
@@ -52,11 +80,11 @@ function validateServerRenderExport(entry) {
52
80
  const fn = declaration;
53
81
  return isIdentifier(fn.id) && fn.id.name === "render";
54
82
  }
55
- if (declaration?.type === "VariableDeclaration") return (declaration.declarations ?? []).some((decl) => isIdentifier(decl.id) && decl.id.name === "render");
83
+ if (declaration?.type === "VariableDeclaration") return (declaration.declarations ?? []).some((decl) => bindingNames(decl.id).includes("render"));
56
84
  return (node.specifiers ?? []).some((specifier) => {
57
85
  if (specifier.exportKind === "type") return false;
58
- const exported = specifier.exported;
59
- return isIdentifier(exported) && exported.name === "render";
86
+ const exported = moduleExportName(specifier.exported);
87
+ return exported === "render" || exported === "default" && (!!node.source || isRenderer(specifier.local));
60
88
  });
61
89
  })) throw new Error(`ssr: Invalid entry '${relativePath}'. Export \`render(c, assetTags)\` or \`export default defineRender(...)\`.`);
62
90
  }
@@ -1,11 +1,11 @@
1
1
  import { a as join } from "./dist-ipQi0Q8y.mjs";
2
2
  import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-rqDnVsJN.mjs";
3
3
  import { c as getToken } from "./auth-B6iOCjKI.mjs";
4
- import { H as outro, L as log } from "./dist-BVdsO7Py.mjs";
5
- import { m as printSuccess, p as note } from "./output-CKguMgr7.mjs";
6
- import { r as generateEnvTypes, t as findEnvFile } from "./env-types-GRchm5dw.mjs";
7
- import { r as PlatformClient } from "./client-BdzxubTS.mjs";
8
- import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-D_KyMdab.mjs";
4
+ import { r as generateEnvTypes, t as findEnvFile } from "./env-types-BicfKBhV.mjs";
5
+ import { H as outro, L as log } from "./dist-Cor9XGoz.mjs";
6
+ import { r as PlatformClient } from "./client-BEkdj1kx.mjs";
7
+ import { m as printSuccess, p as note } from "./output-BpgYODYx.mjs";
8
+ import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-Dwq3PJzK.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-BFLCpUCV.mjs");
28
+ const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-DsSaw2BT.mjs");
29
29
  remoteSecrets = await listCloudflareSecrets(resolveCloudflareOperationContext(root));
30
30
  } else {
31
31
  const token = getToken(root);
@@ -97,6 +97,7 @@ declare global {
97
97
  STORAGE: R2Bucket;
98
98
  AI: Ai;
99
99
  SANDBOX: DurableObjectNamespace<VoidPlatformSandbox>;
100
+ ASSETS: Fetcher;
100
101
  /** @internal Service binding to proxy worker (AI, revalidation, future features) */
101
102
  __VOID_PROXY?: Fetcher;
102
103
  /** @internal Custom proxy URL override */
@@ -1,6 +1,6 @@
1
1
  import { s as relative } from "./dist-ipQi0Q8y.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
3
- import { i as voidWarn } from "./log-vqY3pqwI.mjs";
3
+ import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
4
4
  import { existsSync } from "node:fs";
5
5
  //#region src/codegen/env-types.ts
6
6
  /** Roots already warned about duplicate env.ts files — dedupes noisy repeat calls. */
@@ -1 +1 @@
1
- export { r as SelfHostSchemaError, a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars } from "./env-validation-D_KyMdab.mjs";
1
+ export { r as SelfHostSchemaError, a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars } from "./env-validation-Dwq3PJzK.mjs";
@@ -1,11 +1,11 @@
1
1
  import { a as join, c as resolve, n as dirname } from "./dist-ipQi0Q8y.mjs";
2
- import { i as voidWarn } from "./log-vqY3pqwI.mjs";
2
+ import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
3
3
  import { n as readGeneratedWranglerConfigFile } from "./generated-wrangler-config-DeWj5F9Y.mjs";
4
4
  import { n as scanWranglerDotenvKeys } from "./dotenv-CNazY3-w.mjs";
5
5
  import { a as isClientEnvKey, i as findReservedEnvKeys, n as LOCAL_ENV_FILE, o as loadLocalEnv, r as findLegacyEnvFiles, s as reservedEnvKeysMessage } from "./env-BJjULvL0.mjs";
6
- import { t as findEnvFile } from "./env-types-GRchm5dw.mjs";
6
+ import { t as findEnvFile } from "./env-types-BicfKBhV.mjs";
7
7
  import { t as loadUserEnvFile } from "./load-user-env-DD5qveNU.mjs";
8
- import { l as resolveCloudflareOperationArgv, n as decodeCloudflareOperationResult, r as encodeCloudflareOperation } from "./cloudflare-process-CZJ4viYl.mjs";
8
+ import { l as resolveCloudflareOperationArgv, n as decodeCloudflareOperationResult, r as encodeCloudflareOperation } from "./cloudflare-process-8jEYIeim.mjs";
9
9
  import { existsSync, readFileSync } from "node:fs";
10
10
  import { spawn } from "node:child_process";
11
11
  import { parseRootWranglerConfig, readWranglerTopLevelString } from "@void/deploy-cloudflare";
@@ -1,11 +1,11 @@
1
1
  import { a as join, n as dirname, s as relative } from "./dist-ipQi0Q8y.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
3
- import { d as readConfig, s as getDatabaseDialect } from "./config-D26zcdKy.mjs";
3
+ import { l as getDatabaseDialect, p as readConfig } from "./config-DHgSEWT7.mjs";
4
4
  import { n as readJournal, t as collectMigrations } from "./collect-Dew86qce.mjs";
5
- import { K as select, L as log, O as cancel, tt as isCancel } from "./dist-BVdsO7Py.mjs";
6
- import { m as printSuccess } from "./output-CKguMgr7.mjs";
7
- import { r as writeDrizzleConfig, t as PLACEHOLDER_DB_URL } from "./config-DC5llZaI.mjs";
5
+ import { r as writeDrizzleConfig, t as PLACEHOLDER_DB_URL } from "./config-BIaXIkkv.mjs";
8
6
  import { t as assertJournalCoherence } from "./validate-CnZPMq4q.mjs";
7
+ import { K as select, L as log, O as cancel, tt as isCancel } from "./dist-Cor9XGoz.mjs";
8
+ import { m as printSuccess } from "./output-BpgYODYx.mjs";
9
9
  import { n as drizzleKitBin, t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-DLbEFMT0.mjs";
10
10
  import { n as snapshotDrizzleOutputs } from "./generate-B1m4Cm4n.mjs";
11
11
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
@@ -329,7 +329,7 @@ async function runModel(root, name, columns) {
329
329
  const existing = readFileSync(barrelPath, "utf-8");
330
330
  if (!existing.includes(exportLine)) writeFileSync(barrelPath, existing.trimEnd() + "\n" + exportLine + "\n");
331
331
  } else writeFileSync(barrelPath, exportLine + "\n");
332
- const { prepareProject } = await import("./prepare-EVEbQ9n2.mjs");
332
+ const { prepareProject } = await import("./prepare-C4I0f--h.mjs");
333
333
  await prepareProject(root);
334
334
  log.step(`Created ${relative(root, modelPath)}`);
335
335
  log.step(`Updated ${relative(root, barrelPath)}`);
@@ -0,0 +1 @@
1
+ export { r as runGenCommand } from "./gen-BfmcIi2g.mjs";
@@ -1,9 +1,9 @@
1
1
  import { r as readProjectConfig } from "./project-rqDnVsJN.mjs";
2
2
  import { c as getToken, n as createCodeChallenge, r as createCodeVerifier, t as awaitBrowserCallback, u as openBrowser } from "./auth-B6iOCjKI.mjs";
3
- import { A as confirm, K as select, L as log, O as cancel, X as text, tt as isCancel } from "./dist-BVdsO7Py.mjs";
4
- import { f as import_picocolors, l as formatUrl, m as printSuccess } from "./output-CKguMgr7.mjs";
5
- import { c as platformErrorMessage, n as PlatformApiError, r as PlatformClient, s as parsePlatformErrorBody } from "./client-BdzxubTS.mjs";
6
- import { a as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-WpwkCB_c.mjs";
3
+ import { A as confirm, K as select, L as log, O as cancel, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
4
+ import { c as platformErrorMessage, n as PlatformApiError, r as PlatformClient, s as parsePlatformErrorBody } from "./client-BEkdj1kx.mjs";
5
+ import { f as import_picocolors, l as formatUrl, m as printSuccess } from "./output-BpgYODYx.mjs";
6
+ import { a as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-Xoi6eTWY.mjs";
7
7
  import { t as collectGitDeployMetadata } from "./git-metadata-D-gurjzG.mjs";
8
8
  import { randomBytes } from "node:crypto";
9
9
  //#region src/cli/github-cmd.ts
@@ -2,8 +2,81 @@ import { l as VoidPlatformSandbox } from "./sandbox-q3waMc2T.mjs";
2
2
  import { t as StandardSchemaV1 } from "./standard-schema-Fo_vCAZh.mjs";
3
3
  import { n as HeadDescriptor } from "./head-C8K_iGe6.mjs";
4
4
  import { r as AuthUser, t as AuthSession } from "./auth-DkcFflXV.mjs";
5
- import { Context, Env, MiddlewareHandler } from "hono";
5
+ import { t as DevCssAsset } from "./types-7AIz0OZu.mjs";
6
+ import { Context, Env, ExecutionContext as ExecutionContext$1, MiddlewareHandler } from "hono";
6
7
  import { RewriteDestination } from "void/routes";
8
+ //#region src/runtime/routing-assets.d.ts
9
+ type ClientAssetTags = {
10
+ css: string;
11
+ preloads: string;
12
+ body: string;
13
+ devCss?: Array<DevCssAsset>;
14
+ };
15
+ type ClientManifest = Record<string, {
16
+ file?: string;
17
+ imports?: Array<string>;
18
+ css?: Array<string>;
19
+ /** Build-proven fingerprinted outputs; absent in older/third-party manifests. */
20
+ immutableFiles?: Array<string>;
21
+ }>;
22
+ type ManifestLoader = (request: Request, env: RuntimeEnvironment) => Promise<ClientManifest | null>;
23
+ declare function createManifestLoader(): ManifestLoader;
24
+ type ClientAssetOptions = {
25
+ entryId: string;
26
+ entryUrl: string;
27
+ extraEntryId?: string;
28
+ extraEntryUrl?: string;
29
+ pageCssKeys?: Record<string, Array<string>>;
30
+ devRootPhases?: Record<string, Array<Array<string>>>;
31
+ kind: "ssr" | "pages" | "islands";
32
+ dev?: boolean;
33
+ reactRefresh?: boolean;
34
+ devCss?: (request: Request, env: RuntimeEnvironment, options: {
35
+ kind: "pages" | "islands";
36
+ componentId: string;
37
+ rootPhases: Array<Array<string>>;
38
+ }) => Promise<unknown>;
39
+ };
40
+ /** Frameworks supply only client entry IDs and active layout/page roots. */
41
+ declare function createClientAssetTags(options: ClientAssetOptions, loadManifest?: ManifestLoader): (request: Request, env: RuntimeEnvironment, componentId?: string) => Promise<ClientAssetTags>;
42
+ //#endregion
43
+ //#region src/runtime/routing-worker.d.ts
44
+ type AssetBinding = {
45
+ fetch: (request: Request) => Promise<Response>;
46
+ };
47
+ type RuntimeEnvironment = Record<string, unknown> & {
48
+ ASSETS?: AssetBinding;
49
+ };
50
+ type AssetFallbackOptions = {
51
+ assetsDir?: string;
52
+ serveSpaFallback?: boolean;
53
+ notFound?: "none" | "404-page" | "single-page-application";
54
+ };
55
+ declare function createAssetFallback(options?: AssetFallbackOptions): (request: Request, env: RuntimeEnvironment, response: Response) => Promise<Response>;
56
+ /** Hide platform capabilities without copying bindings or changing application bindings. */
57
+ declare function filterInternalBindings<E extends Record<string, unknown>>(env: E, prefixes: Array<string>, exactNames?: Array<string>): E;
58
+ type WorkerFetchOptions = {
59
+ app: {
60
+ fetch: (request: Request, env: RuntimeEnvironment, context: ExecutionContext$1) => Response | Promise<Response>;
61
+ };
62
+ assets: ReturnType<typeof createAssetFallback>;
63
+ withRawEnv: (env: RuntimeEnvironment, fn: () => Promise<Response>) => Promise<Response>;
64
+ withRuntimeEnv: (env: RuntimeEnvironment, fn: () => Promise<Response>) => Promise<Response>;
65
+ filterBindings: (env: RuntimeEnvironment) => RuntimeEnvironment;
66
+ validateEnv?: (env: RuntimeEnvironment) => Promise<void>;
67
+ /** Authored/generated version metadata binding used to prove the served native version. */
68
+ versionMetadataBinding?: string;
69
+ remoteEnv?: (env: RuntimeEnvironment) => RuntimeEnvironment;
70
+ internalRoute: (request: Request, env: RuntimeEnvironment, ctx: ExecutionContext$1) => Promise<Response | null>;
71
+ collectPrerenderPaths: (request: Request, env: RuntimeEnvironment, ctx: ExecutionContext$1) => Promise<Array<string>>;
72
+ emailReceipt?: (request: Request, env: RuntimeEnvironment, ctx: ExecutionContext$1) => Promise<Response>;
73
+ isr?: {
74
+ deploymentId: string;
75
+ handle: (request: Request, env: RuntimeEnvironment, ctx: ExecutionContext$1, render: (request: Request) => Promise<Response>) => Promise<Response | null>;
76
+ };
77
+ };
78
+ declare function createWorkerFetch(options: WorkerFetchOptions): (request: Request, env: RuntimeEnvironment, ctx: ExecutionContext$1) => Promise<Response>;
79
+ //#endregion
7
80
  //#region src/runtime/validator.d.ts
8
81
  type ValidatorSlots = {
9
82
  body?: StandardSchemaV1;
@@ -95,6 +168,8 @@ interface CloudBindings extends VoidGeneratedEnvBindings {
95
168
  STORAGE: R2Bucket;
96
169
  AI: Ai;
97
170
  SANDBOX: DurableObjectNamespace<VoidPlatformSandbox>;
171
+ /** Node, Bun and Deno targets serve static files through a provider that takes only a `Request`. */
172
+ ASSETS: AssetBinding;
98
173
  [key: string]: unknown;
99
174
  }
100
175
  type CloudEnv = Env & {
@@ -160,6 +235,8 @@ declare module "hono" {
160
235
  */
161
236
  type CloudContext = Context<CloudEnv>;
162
237
  type HandlerFn = (c: CloudContext) => unknown | Promise<unknown>;
238
+ type LoaderFn<R> = (c: CloudContext) => R | Response | Promise<R | Response>;
239
+ type LoaderOutput<F extends HandlerFn> = Exclude<Awaited<ReturnType<F>>, Response>;
163
240
  type MiddlewareFn = MiddlewareHandler<CloudEnv>;
164
241
  type BasicAuthOptionValue = string | (() => string);
165
242
  interface BasicAuthOptions {
@@ -228,12 +305,17 @@ type TypedHandler<V extends ValidatorSlots = {}, R = unknown> = {
228
305
  * Single argument: identity wrapper.
229
306
  * Multiple arguments: middleware chain + final handler, composed at runtime.
230
307
  */
231
- declare function defineHandler<R>(handler: (c: CloudContext) => R | Response | Promise<R | Response>): TypedHandler<{}, Exclude<Awaited<R>, Response>>;
232
- declare function defineHandler(firstMiddleware: MiddlewareFn, handler: HandlerFn): TypedHandler;
233
- declare function defineHandler(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, handler: HandlerFn): TypedHandler;
234
- declare function defineHandler(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, handler: HandlerFn): TypedHandler;
235
- declare function defineHandler(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, fourthMiddleware: MiddlewareFn, handler: HandlerFn): TypedHandler;
236
- declare function defineHandler(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, fourthMiddleware: MiddlewareFn, fifthMiddleware: MiddlewareFn, handler: HandlerFn): TypedHandler;
308
+ declare function defineHandler<R>(handler: LoaderFn<R>): TypedHandler<{}, Exclude<Awaited<R>, Response>>;
309
+ declare function defineHandler<R>(firstMiddleware: MiddlewareFn, handler: LoaderFn<R>): TypedHandler<{}, Exclude<Awaited<R>, Response>>;
310
+ declare function defineHandler<F extends HandlerFn>(firstMiddleware: MiddlewareFn, handler: F): TypedHandler<{}, LoaderOutput<F>>;
311
+ declare function defineHandler<R>(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, handler: LoaderFn<R>): TypedHandler<{}, Exclude<Awaited<R>, Response>>;
312
+ declare function defineHandler<F extends HandlerFn>(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, handler: F): TypedHandler<{}, LoaderOutput<F>>;
313
+ declare function defineHandler<R>(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, handler: LoaderFn<R>): TypedHandler<{}, Exclude<Awaited<R>, Response>>;
314
+ declare function defineHandler<F extends HandlerFn>(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, handler: F): TypedHandler<{}, LoaderOutput<F>>;
315
+ declare function defineHandler<R>(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, fourthMiddleware: MiddlewareFn, handler: LoaderFn<R>): TypedHandler<{}, Exclude<Awaited<R>, Response>>;
316
+ declare function defineHandler<F extends HandlerFn>(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, fourthMiddleware: MiddlewareFn, handler: F): TypedHandler<{}, LoaderOutput<F>>;
317
+ declare function defineHandler<R>(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, fourthMiddleware: MiddlewareFn, fifthMiddleware: MiddlewareFn, handler: LoaderFn<R>): TypedHandler<{}, Exclude<Awaited<R>, Response>>;
318
+ declare function defineHandler<F extends HandlerFn>(firstMiddleware: MiddlewareFn, secondMiddleware: MiddlewareFn, thirdMiddleware: MiddlewareFn, fourthMiddleware: MiddlewareFn, fifthMiddleware: MiddlewareFn, handler: F): TypedHandler<{}, LoaderOutput<F>>;
237
319
  /**
238
320
  * Create a handler with input validation using Standard Schema validators.
239
321
  *
@@ -283,4 +365,4 @@ declare function defineHead<P = Record<string, unknown>>(handler: (c: CloudConte
283
365
  */
284
366
  declare function defineQueue<T = unknown>(handler: QueueFn<T>): TypedQueueHandler<T>;
285
367
  //#endregion
286
- export { defer as C, runValidation as D, ValidatorSlots as E, InferProps as S, HandlerInput as T, defineQueue as _, CloudEnv as a, Deferred as b, QueueRetryOptions as c, TypedQueueHandler as d, VoidAssetRewriteError as f, defineMiddleware as g, defineHead as h, CloudContextVariables as i, RenderAssetTags as l, defineHandler as m, CloudBindings as n, QueueBatch as o, basicAuth as p, CloudContext as r, QueueMessage as s, BasicAuthOptions as t, TypedHandler as u, defineRender as v, ValidationError as w, DeferredState as x, defineScheduled as y };
368
+ export { filterInternalBindings as A, defer as C, runValidation as D, ValidatorSlots as E, createClientAssetTags as M, createManifestLoader as N, createAssetFallback as O, InferProps as S, HandlerInput as T, defineQueue as _, CloudEnv as a, Deferred as b, QueueRetryOptions as c, TypedQueueHandler as d, VoidAssetRewriteError as f, defineMiddleware as g, defineHead as h, CloudContextVariables as i, ClientAssetTags as j, createWorkerFetch as k, RenderAssetTags as l, defineHandler as m, CloudBindings as n, QueueBatch as o, basicAuth as p, CloudContext as r, QueueMessage as s, BasicAuthOptions as t, TypedHandler as u, defineRender as v, ValidationError as w, DeferredState as x, defineScheduled as y };
@@ -1,6 +1,6 @@
1
1
  import { a as join } from "./dist-ipQi0Q8y.mjs";
2
- import { a as convertRewritesConfig, i as convertRedirectsConfig, l as isProtocolRelative, n as convertFallbacksConfig, o as countSplats, r as convertHeadersConfig, t as VALID_REDIRECT_STATUSES, u as parseHostPrefixedSource } from "./config-D26zcdKy.mjs";
3
- import { i as voidWarn } from "./log-vqY3pqwI.mjs";
2
+ import { a as convertRewritesConfig, d as isProtocolRelative, f as parseHostPrefixedSource, i as convertRedirectsConfig, n as convertFallbacksConfig, o as countSplats, r as convertHeadersConfig, t as VALID_REDIRECT_STATUSES } from "./config-DHgSEWT7.mjs";
3
+ import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
4
4
  import { existsSync, readFileSync } from "node:fs";
5
5
  //#region src/cli/headers.ts
6
6
  /**
@@ -0,0 +1 @@
1
+ export { r as printHelpPage } from "./help-CxSlPpzJ.mjs";
@@ -1,6 +1,6 @@
1
- import { H as outro } from "./dist-BVdsO7Py.mjs";
2
- import { d as helpLine, f as import_picocolors, g as sectionTitle, l as formatUrl, p as note, t as categoryTitle } from "./output-CKguMgr7.mjs";
1
+ import { H as outro } from "./dist-Cor9XGoz.mjs";
3
2
  import { n as getOwnVersion } from "./agents-CuNtT0D_.mjs";
3
+ import { d as helpLine, f as import_picocolors, g as sectionTitle, l as formatUrl, p as note, t as categoryTitle } from "./output-BpgYODYx.mjs";
4
4
  import { n as operatorGroups, t as operatorCommands } from "./operator-args-UnE8Y2eK.mjs";
5
5
  //#region src/cli/ascii.ts
6
6
  const asciiArts = [
@@ -129,18 +129,41 @@ const HELP_TREE = {
129
129
  command: "--no-git",
130
130
  description: "Skip Git repository initialization"
131
131
  },
132
+ {
133
+ command: "--toolchain <name>",
134
+ description: "Scaffold with vite-plus or vite"
135
+ },
136
+ {
137
+ command: "--framework <name>",
138
+ description: "Scaffold with react, vue, svelte, or solid"
139
+ },
140
+ {
141
+ command: "--starter <name>",
142
+ description: "Scaffold the sqlite, postgresql, mysql, or static starter"
143
+ },
144
+ {
145
+ command: "--deploy <target>",
146
+ description: "Deploy to cloudflare, void, or none"
147
+ },
132
148
  {
133
149
  command: "--github",
134
150
  description: "Create the GitHub Actions deploy workflow and set up coding agents"
135
151
  }
136
152
  ],
137
- examples: [{
138
- command: "void init",
139
- description: "Scaffold or configure the current project"
140
- }, {
141
- command: "void init --github",
142
- description: "Scaffold the GitHub Actions deploy workflow"
143
- }]
153
+ examples: [
154
+ {
155
+ command: "void init",
156
+ description: "Scaffold or configure the current project"
157
+ },
158
+ {
159
+ command: "void init --toolchain vite-plus --framework react --starter sqlite --deploy none",
160
+ description: "Scaffold without prompts"
161
+ },
162
+ {
163
+ command: "void init --github",
164
+ description: "Scaffold the GitHub Actions deploy workflow"
165
+ }
166
+ ]
144
167
  },
145
168
  migrate: {
146
169
  summary: "Move legacy Void project settings into void.config.ts.",
@@ -638,6 +661,10 @@ const HELP_TREE = {
638
661
  command: "--no-dedicated-zone",
639
662
  description: "Skip zone-wide application catch-all routes"
640
663
  },
664
+ {
665
+ command: "--custom-domains",
666
+ description: "Let projects add their own domains (requires --dedicated-zone)"
667
+ },
641
668
  {
642
669
  command: "--control-plane-domain <domain>",
643
670
  description: "Optional API hostname"
@@ -1729,7 +1756,7 @@ function withProjectOption(summary, usage) {
1729
1756
  function lifecycleHelp(command, summary) {
1730
1757
  return {
1731
1758
  summary,
1732
- usage: [`void platform ${command} [id] [--plan]${command === "disable" ? "" : " [--runtime <path>]"}${command === "upgrade" || command === "repair" ? " [--dashboard-url <origin>]" : ""}${command === "repair" ? " [--auth-config <path>]" : ""} [--yes]`],
1759
+ usage: [`void platform ${command} [id] [--plan]${command === "disable" ? "" : " [--runtime <path>]"}${command === "upgrade" || command === "repair" ? " [--dashboard-url <origin>] [--custom-domains]" : ""}${command === "repair" ? " [--auth-config <path>]" : ""} [--yes]`],
1733
1760
  options: [
1734
1761
  {
1735
1762
  command: "--plan",
@@ -1742,6 +1769,9 @@ function lifecycleHelp(command, summary) {
1742
1769
  ...command === "upgrade" || command === "repair" ? [{
1743
1770
  command: "--dashboard-url <origin>",
1744
1771
  description: "Configure a separately deployed dashboard; omission keeps its saved origin"
1772
+ }, {
1773
+ command: "--custom-domains",
1774
+ description: "Turn on project custom domains; omission keeps the saved setting"
1745
1775
  }] : [],
1746
1776
  ...command === "repair" ? [{
1747
1777
  command: "--auth-config <path>",
@@ -1,5 +1,5 @@
1
1
  import { t as base64ToBytes } from "./base64-DVrOndmI.mjs";
2
- import { c as validateAddressParts, i as indexOfControl, n as MimeError, o as normalizeEmail, r as buildMime } from "./mime-srOklVVv.mjs";
2
+ import { c as validateAddressParts, i as indexOfControl, n as MimeError, o as normalizeEmail, r as buildMime } from "./mime-BAyHPskU.mjs";
3
3
  import { a as getRawRuntimeEnv } from "./env-raw-D74P4ebM.mjs";
4
4
  import { o as withTimeout } from "./email-protocol-D9nTvhCp.mjs";
5
5
  import { EMAIL_MAX_ACTIONS, EMAIL_MAX_INBOUND_BYTES, EMAIL_MAX_INBOUND_HEADERS, EMAIL_MAX_METADATA_BYTES, EMAIL_MAX_REPLY_BYTES, EMAIL_MAX_RESPONSE_BYTES } from "@void/platform/email-protocol";
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { n as HeadDescriptor } from "./head-C8K_iGe6.mjs";
2
2
  import { r as AuthUser } from "./auth-DkcFflXV.mjs";
3
- 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, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, x as DeferredState, y as defineScheduled } from "./handler-D5K_yP6T.mjs";
3
+ 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, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, x as DeferredState, y as defineScheduled } from "./handler-BbkSPzGF.mjs";
4
4
  import { t as QueueMap } from "./queues-BWKt1Xo4.mjs";
5
5
  import { PluginConfig } from "@cloudflare/vite-plugin";
6
6
  import { Plugin } from "vite";