void 0.22.0 → 0.24.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 (301) hide show
  1. package/AGENTS_TEMPLATE.md +1 -1
  2. package/README.md +5 -1
  3. package/dist/{account-cmd-CjyxcGkM.mjs → account-cmd-vJhh5lrb.mjs} +5 -5
  4. package/dist/{scan-ClYmX3sa.mjs → application-analysis-BVsVqc11.mjs} +135 -18
  5. package/dist/application-routing-B7QEjqSR.mjs +27 -0
  6. package/dist/{auth-DLNN0D3Z.mjs → auth-CQkSDS50.mjs} +26 -96
  7. package/dist/auth-DX3JURcX.mjs +2 -0
  8. package/dist/{auth-link-BLO4ptzo.mjs → auth-link-D75t9wO2.mjs} +5 -5
  9. package/dist/{auth-router-ZUg9MF_U.mjs → auth-router-ClfhL1J7.mjs} +7 -7
  10. package/dist/{better-auth-shared-rsBGBvWJ.mjs → better-auth-shared-hy6RPh9W.mjs} +13 -2
  11. package/dist/{build-cmd-BxR5FROK.mjs → build-cmd-zMi1iFnS.mjs} +21 -9
  12. package/dist/{cache-D0sWhgKI.mjs → cache-ZtQmyxVV.mjs} +5 -5
  13. package/dist/{cancel-deploy-D4NUqFbi.mjs → cancel-deploy-Box0kkEV.mjs} +5 -5
  14. package/dist/{cf-access-P0iZnu0q.mjs → cf-access-BGe5sWXF.mjs} +4 -48
  15. package/dist/{cf-access-DRsQRe6k.mjs → cf-access-TWNzXltp.mjs} +3 -11
  16. package/dist/{cf-build-output-BJ6yGEIS.mjs → cf-build-output-BPqOT964.mjs} +2 -1
  17. package/dist/cf-build-output-_0HNWysu.mjs +2 -0
  18. package/dist/cli/cli.mjs +89 -461
  19. package/dist/cli/{cf-compat.mjs → cloudflare-operation-process.mjs} +454 -424
  20. package/dist/cli/env-schema-probe.d.mts +2 -1
  21. package/dist/cli/env-schema-probe.mjs +4 -4
  22. package/dist/client-B9UBI03V.mjs +2 -0
  23. package/dist/{client-BTZ3XkrB.mjs → client-DKAsFA4X.mjs} +161 -24
  24. package/dist/{cloudflare-auth-DQkqoMYa.mjs → cloudflare-auth-Qdc7tw8F.mjs} +41 -38
  25. package/dist/{cloudflare-cmd-BKlfGHAy.mjs → cloudflare-cmd-CmY8dGkd.mjs} +6 -6
  26. package/dist/cloudflare-config-Bktvwtpf.mjs +182 -0
  27. package/dist/{cloudflare-connect-Ctmrw579.mjs → cloudflare-connect-IiR3ZieC.mjs} +4 -4
  28. package/dist/{cloudflare-operations-BT6OWFBk.mjs → cloudflare-operations-BCdXSsmo.mjs} +1 -1
  29. package/dist/{cloudflare-operations-B9tzgjmf.mjs → cloudflare-operations-DzH-A966.mjs} +116 -172
  30. package/dist/{preset-UHj9ARyP.mjs → cloudflare-process-B-wekeR6.mjs} +93 -6
  31. package/dist/{config-VavjpDnp.d.mts → config-BMHb8RCj.d.mts} +1 -0
  32. package/dist/config-C_XRIPx2.mjs +89 -0
  33. package/dist/config-entry.d.mts +1 -1
  34. package/dist/{connect-Dg-WkW-C.mjs → connect-B-usTnlF.mjs} +9 -9
  35. package/dist/{create-project-l9J7pbtm.mjs → create-project-CYOOAYcn.mjs} +12 -12
  36. package/dist/{create-project-DdoqwFLF.mjs → create-project-FWbf5Olo.mjs} +1 -1
  37. package/dist/{db-gp2sCXyN.mjs → db-Ck2eZ2iB.mjs} +26 -26
  38. package/dist/{delete-TTedbH6B.mjs → delete-sK56qtzZ.mjs} +5 -5
  39. package/dist/{deploy-CH-o2CaZ.mjs → deploy-gCVaiJbS.mjs} +984 -616
  40. package/dist/{deploy-B19L2Bra.mjs → deploy-irP5q0-x.mjs} +1 -1
  41. package/dist/{domain-JRF59P_r.mjs → domain-DFfQE8jg.mjs} +6 -6
  42. package/dist/{email-Bo6G9LOZ.mjs → email-CdnhUHvJ.mjs} +15 -30
  43. package/dist/{env-BYOrWQnv.mjs → env-DmGdHi5i.mjs} +8 -8
  44. package/dist/{env-public-BxU_0yTL.d.mts → env-public-BX_r8HR6.d.mts} +1 -1
  45. package/dist/{env-types-C2_bIk_b.mjs → env-types-D5kds_OZ.mjs} +1 -1
  46. package/dist/{env-validation-BB4GkLxn.mjs → env-validation-C_8tPdhs.mjs} +20 -73
  47. package/dist/{env-validation-BXge7uyK.mjs → env-validation-zZOCcQVZ.mjs} +1 -1
  48. package/dist/{fetch-CXDChK7B.mjs → fetch-BIZJh7vR.mjs} +2 -2
  49. package/dist/{fetch-stream-AOByI7Ki.mjs → fetch-stream-IvCYKyQL.mjs} +24 -4
  50. package/dist/{gen-sCtlCOdA.mjs → gen-CshAkukR.mjs} +4 -4
  51. package/dist/gen-DvQTWzDU.mjs +2 -0
  52. package/dist/{github-cmd-0-7PexDq.mjs → github-cmd-DftuEvIt.mjs} +13 -13
  53. package/dist/{handler-HEcZsaij.d.mts → handler-CZ4nAylQ.d.mts} +1 -1
  54. package/dist/{headers-DWi2IXWx.mjs → headers-2rKda9Y6.mjs} +1 -1
  55. package/dist/{help-GKtwl07I.mjs → help-Dotbf6iz.mjs} +236 -750
  56. package/dist/help-mabuIV98.mjs +2 -0
  57. package/dist/{inbound-aVHEUhKo.mjs → inbound-fRkqcXaC.mjs} +1 -1
  58. package/dist/index.d.mts +1 -1
  59. package/dist/index.mjs +299 -1517
  60. package/dist/info-B97bTX9N.mjs +113 -0
  61. package/dist/{init-FZx3Elvz.mjs → init-BTQEZZGJ.mjs} +61 -27
  62. package/dist/limits-Bq5LG8Id.d.mts +27 -0
  63. package/dist/limits-Cjuk2VPm.mjs +68 -0
  64. package/dist/{link-BrQfb_CU.mjs → link-B46sYH0K.mjs} +6 -6
  65. package/dist/{list-D44jmIAM.mjs → list-BnPrIsU_.mjs} +6 -6
  66. package/dist/{live-CKJlvlNp.d.mts → live-Chw1eIMv.d.mts} +1 -1
  67. package/dist/{local-d1-Bg9OzEEO.mjs → local-d1-2CMnpuW_.mjs} +2 -2
  68. package/dist/log-vqY3pqwI.mjs +29 -0
  69. package/dist/{login-CAsAsQ-_.mjs → login-BuiMyUrx.mjs} +8 -8
  70. package/dist/login-DIy9Sb-U.mjs +2 -0
  71. package/dist/{logs-BjKvFnVM.mjs → logs-CZG9d-ic.mjs} +10 -11
  72. package/dist/migrate-BCiJ8w0f.mjs +2 -0
  73. package/dist/{migrate-BPITvDJN.mjs → migrate-q4_njtaW.mjs} +4 -3
  74. package/dist/{node-Dt7z256D.mjs → node-BkyRWRx8.mjs} +1 -1
  75. package/dist/operator-args-B3BTmSoi.mjs +697 -0
  76. package/dist/{operator-auth-8KnOVXVd.mjs → operator-auth-7erYc6Lt.mjs} +2 -2
  77. package/dist/{operator-client-DUwumHpQ.mjs → operator-client-CpHjTd0t.mjs} +3 -3
  78. package/dist/{operator-cmd-BK5CCiT9.mjs → operator-cmd-DGqPJUD3.mjs} +70 -24
  79. package/dist/{output-Dm_A4Tbv.mjs → output-CbM85T4k.mjs} +18 -10
  80. package/dist/pages/client.d.mts +34 -2
  81. package/dist/pages/client.mjs +59 -3
  82. package/dist/pages/index.d.mts +1 -1
  83. package/dist/pages/index.mjs +2 -2
  84. package/dist/pages/islands-plugin.mjs +1 -1
  85. package/dist/pages/protocol.d.mts +2 -2
  86. package/dist/pages/protocol.mjs +2 -308
  87. package/dist/{parse-filename-DioPHiR9.mjs → parse-filename-CUbj-1MP.mjs} +35 -1
  88. package/dist/plan-D1Q5rf-r.mjs +2 -0
  89. package/dist/plan-NPpwZ_kc.mjs +58 -0
  90. package/dist/platform-args-3k8X9-H_.mjs +514 -0
  91. package/dist/platform-args-DdnM6WIf.mjs +2 -0
  92. package/dist/{platform-auth-config-BlN8xTdD.mjs → platform-auth-config-DDrxUy4m.mjs} +6 -6
  93. package/dist/{platform-auth-protection-7d5aV2Jg.mjs → platform-auth-protection-BLadnnct.mjs} +8 -8
  94. package/dist/{platform-auth-recovery-Dxij8ZbR.mjs → platform-auth-recovery-CmCzX2Fl.mjs} +6 -6
  95. package/dist/{platform-cmd-B3hwKrFK.mjs → platform-cmd-DMDEc9uS.mjs} +29 -8
  96. package/dist/{platform-cmd-E0FuL212.mjs → platform-cmd-pMTRhvYs.mjs} +1 -1
  97. package/dist/{platform-domain-D6Xcy9ZX.mjs → platform-domain-Di6EYrQl.mjs} +5 -5
  98. package/dist/{platform-lifecycle-k0E0xoxx.mjs → platform-lifecycle-BBoNzojY.mjs} +1541 -572
  99. package/dist/{platform-lifecycle-DMh_qrry.mjs → platform-lifecycle-BFdSi9Qt.mjs} +1 -1
  100. package/dist/{platform-management-Brz_BDiT.mjs → platform-management-CWOQOWXm.mjs} +10 -7
  101. package/dist/{platform-management-DOtss0BN.mjs → platform-management-DG47jys8.mjs} +1 -1
  102. package/dist/platform-plans-config-Vl9BP3H4.mjs +359 -0
  103. package/dist/{platform-recovery-BvtcXON5.mjs → platform-recovery-BJnQJEtQ.mjs} +4 -4
  104. package/dist/{platform-registry-QBa4DK32.mjs → platform-registry-DkPPXfp_.mjs} +2 -2
  105. package/dist/{plugin-inference-BMfKRSqE.mjs → plugin-inference-CXWnn79A.mjs} +174 -64
  106. package/dist/{prepare-C-6YZyyg.mjs → prepare-CBLT3CHH.mjs} +3 -3
  107. package/dist/prepare-CnjcTV2s.mjs +2 -0
  108. package/dist/{prepare-CRhJbVrG.mjs → prepare-DnaKBi--.mjs} +5 -21
  109. package/dist/{project-C0Fqu05O.mjs → project-DKG5Ra8p.mjs} +15 -82
  110. package/dist/project-DsblYifa.mjs +2 -0
  111. package/dist/{project-cmd-BZLCqOqw.mjs → project-cmd-DxnXstAq.mjs} +19 -19
  112. package/dist/{project-team-BvgM0WoX.mjs → project-team-BmHcaALJ.mjs} +5 -5
  113. package/dist/{project-token-l5DqK6Az.mjs → project-token-GionZlBI.mjs} +5 -5
  114. package/dist/{project-zero-trust-v6Mvpp8y.mjs → project-zero-trust-JLCjVQA7.mjs} +5 -5
  115. package/dist/prompts-2TGE6oXx.mjs +2 -0
  116. package/dist/prompts-BNUoTiaf.mjs +2044 -0
  117. package/dist/{protocol-BBa6cstI.d.mts → protocol-CjF_iI9X.d.mts} +2 -2
  118. package/dist/protocol-U7bfjHmA.mjs +331 -0
  119. package/dist/{provision-Fr9pRqce.mjs → provision-CVku1JFU.mjs} +1 -1
  120. package/dist/{provision-C4IGqkBf.mjs → provision-CaoxO_U7.mjs} +90 -199
  121. package/dist/{requests-DN-BbNiM.mjs → requests-BOjIVAeF.mjs} +5 -5
  122. package/dist/resource-name-C7LVpcRm.mjs +11 -0
  123. package/dist/{rollback-D7rzSaZM.mjs → rollback-CwR3pLj3.mjs} +6 -6
  124. package/dist/route-url-CG7U-cRN.mjs +15 -0
  125. package/dist/{runner-B8wXwWlo.mjs → runner-CXA9Fh8h.mjs} +1 -1
  126. package/dist/{runner-p-dMs2UN.mjs → runner-Ol0TNjk6.mjs} +2 -2
  127. package/dist/runtime/ai.d.mts +12 -8
  128. package/dist/runtime/ai.mjs +87 -22
  129. package/dist/runtime/better-auth-mysql.mjs +1 -1
  130. package/dist/runtime/better-auth-pg.mjs +1 -1
  131. package/dist/runtime/better-auth.mjs +1 -1
  132. package/dist/runtime/client-react.mjs +2 -2
  133. package/dist/runtime/client-solid.mjs +2 -2
  134. package/dist/runtime/client-svelte.mjs +2 -2
  135. package/dist/runtime/client-vue.mjs +2 -2
  136. package/dist/runtime/client.mjs +2 -2
  137. package/dist/runtime/durable.d.mts +3 -1
  138. package/dist/runtime/durable.mjs +4 -1
  139. package/dist/runtime/email/testing.mjs +2 -2
  140. package/dist/runtime/email.mjs +1 -1
  141. package/dist/runtime/env-public.d.mts +1 -1
  142. package/dist/runtime/fetch-stream.mjs +1 -1
  143. package/dist/runtime/fetch.mjs +1 -1
  144. package/dist/runtime/handler.d.mts +1 -1
  145. package/dist/runtime/kv.mjs +0 -1
  146. package/dist/runtime/limits.d.mts +2 -0
  147. package/dist/runtime/limits.mjs +2 -0
  148. package/dist/runtime/live-client.d.mts +1 -1
  149. package/dist/runtime/live-server.mjs +25 -16
  150. package/dist/runtime/live.d.mts +1 -1
  151. package/dist/runtime/migration-handler.mjs +62 -42
  152. package/dist/runtime/remote/index.mjs +2 -2
  153. package/dist/runtime/route-url.d.mts +4 -0
  154. package/dist/runtime/route-url.mjs +2 -0
  155. package/dist/runtime/routing.d.mts +180 -0
  156. package/dist/runtime/routing.mjs +1082 -0
  157. package/dist/runtime/sandbox-container.d.mts +1 -1
  158. package/dist/runtime/sandbox-container.mjs +1 -1
  159. package/dist/runtime/sandbox.d.mts +3 -3
  160. package/dist/runtime/sandbox.mjs +75 -45
  161. package/dist/runtime/sse.mjs +1 -1
  162. package/dist/runtime/validator.d.mts +1 -1
  163. package/dist/runtime/ws-server.d.mts +4 -2
  164. package/dist/runtime/ws-server.mjs +27 -2
  165. package/dist/runtime/ws.d.mts +2 -2
  166. package/dist/runtime/ws.mjs +8 -6
  167. package/dist/{sandbox-qpNBT8a3.d.mts → sandbox-XZAqzFlG.d.mts} +11 -8
  168. package/dist/{sandbox-container-DdNEBfCc.d.mts → sandbox-container-Bo0eiFKz.d.mts} +2 -1
  169. package/dist/{sandbox-container-4fdqLnyb.mjs → sandbox-container-C6ItmVuN.mjs} +4 -2
  170. package/dist/{scan-4tfN-PSn.mjs → scan-C7okrLyM.mjs} +4 -35
  171. package/dist/{secret-BOtOl_cb.mjs → secret-ByWJWBUG.mjs} +7 -7
  172. package/dist/{skills-D1II1Juz.mjs → skills-C1PlclPt.mjs} +1 -1
  173. package/dist/{sse-BaC1jXko.mjs → sse-CQNaDFFV.mjs} +6 -3
  174. package/dist/{subcommand-prompt-CY1C4fvl.mjs → subcommand-prompt-klFCfcor.mjs} +40 -32
  175. package/dist/validate-Dq_L3s0S.mjs +2 -0
  176. package/dist/{validate-CIUwFpjB.mjs → validate-ctOrgiS3.mjs} +2 -1
  177. package/dist/{wrangler-DQF1vKyf.mjs → wrangler-7K-bW_DL.mjs} +8 -239
  178. package/dist/{ws-BoY7vQML.d.mts → ws-CL1w7GXU.d.mts} +13 -2
  179. package/package.json +16 -10
  180. package/skills/migrate-vite-cloudflare-to-void/SKILL.md +34 -157
  181. package/skills/void/SKILL.md +55 -135
  182. package/skills/void/docs/guide/ai.md +94 -84
  183. package/skills/void/docs/guide/app-types.md +3 -32
  184. package/skills/void/docs/guide/auth.md +12 -116
  185. package/skills/void/docs/guide/database/d1.md +9 -54
  186. package/skills/void/docs/guide/database/mysql.md +1 -1
  187. package/skills/void/docs/guide/database/postgresql.md +5 -26
  188. package/skills/void/docs/guide/database.md +23 -75
  189. package/skills/void/docs/guide/deployment.md +48 -112
  190. package/skills/void/docs/guide/durable-state.md +43 -18
  191. package/skills/void/docs/guide/edge/headers.md +4 -48
  192. package/skills/void/docs/guide/edge/prerendering.md +5 -20
  193. package/skills/void/docs/guide/edge/redirects.md +11 -64
  194. package/skills/void/docs/guide/edge/revalidation.md +5 -18
  195. package/skills/void/docs/guide/edge/rewrites.md +56 -284
  196. package/skills/void/docs/guide/edge/static-assets.md +22 -72
  197. package/skills/void/docs/guide/email/domains.md +116 -0
  198. package/skills/void/docs/guide/email/receiving.md +139 -0
  199. package/skills/void/docs/guide/email/sending.md +231 -0
  200. package/skills/void/docs/guide/email.md +13 -619
  201. package/skills/void/docs/guide/env-migration.md +11 -11
  202. package/skills/void/docs/guide/env-vars.md +9 -29
  203. package/skills/void/docs/guide/index.md +0 -15
  204. package/skills/void/docs/guide/jobs.md +3 -18
  205. package/skills/void/docs/guide/kv.md +5 -11
  206. package/skills/void/docs/guide/live.md +5 -56
  207. package/skills/void/docs/guide/pages-routing/actions-and-forms.md +78 -125
  208. package/skills/void/docs/guide/pages-routing/head.md +10 -10
  209. package/skills/void/docs/guide/pages-routing/islands.md +6 -36
  210. package/skills/void/docs/guide/pages-routing/layouts.md +6 -128
  211. package/skills/void/docs/guide/pages-routing/loaders.md +3 -19
  212. package/skills/void/docs/guide/pages-routing/markdown.md +13 -171
  213. package/skills/void/docs/guide/pages-routing/overview.md +7 -17
  214. package/skills/void/docs/guide/pages-routing/view-transitions.md +1 -1
  215. package/skills/void/docs/guide/platform/administration/access.md +1 -4
  216. package/skills/void/docs/guide/platform/administration/email.md +35 -8
  217. package/skills/void/docs/guide/platform/administration/operations.md +26 -4
  218. package/skills/void/docs/guide/platform/administration/plans.md +126 -0
  219. package/skills/void/docs/guide/platform/administration/projects.md +5 -2
  220. package/skills/void/docs/guide/platform/administration/zero-trust.md +49 -160
  221. package/skills/void/docs/guide/platform/development/runtime.md +3 -13
  222. package/skills/void/docs/guide/platform/development/schema-ci.md +0 -58
  223. package/skills/void/docs/guide/platform/installation/ci.md +1 -1
  224. package/skills/void/docs/guide/platform/installation/credentials.md +15 -6
  225. package/skills/void/docs/guide/platform/installation/domains.md +35 -2
  226. package/skills/void/docs/guide/platform/installation/first-deployment.md +4 -2
  227. package/skills/void/docs/guide/platform/installation/maintenance.md +15 -1
  228. package/skills/void/docs/guide/platform/installation/prerequisites.md +24 -18
  229. package/skills/void/docs/guide/platform/installation/setup.md +88 -14
  230. package/skills/void/docs/guide/platform-administration.md +1 -0
  231. package/skills/void/docs/guide/queues.md +7 -9
  232. package/skills/void/docs/guide/quickstart.md +38 -37
  233. package/skills/void/docs/guide/remote-dev.md +5 -10
  234. package/skills/void/docs/guide/sandboxes.md +29 -21
  235. package/skills/void/docs/guide/server-routing.md +9 -72
  236. package/skills/void/docs/guide/sse.md +4 -18
  237. package/skills/void/docs/guide/ssg.md +3 -15
  238. package/skills/void/docs/guide/ssr.md +14 -62
  239. package/skills/void/docs/guide/storage.md +9 -4
  240. package/skills/void/docs/guide/type-safety.md +3 -14
  241. package/skills/void/docs/guide/typed-fetch.md +3 -7
  242. package/skills/void/docs/guide/websockets.md +68 -40
  243. package/skills/void/docs/integrations/agents.md +3 -3
  244. package/skills/void/docs/integrations/cloudflare.md +85 -316
  245. package/skills/void/docs/integrations/frameworks/analog.md +5 -64
  246. package/skills/void/docs/integrations/frameworks/astro.md +4 -73
  247. package/skills/void/docs/integrations/frameworks/nuxt.md +5 -62
  248. package/skills/void/docs/integrations/frameworks/overview.md +11 -54
  249. package/skills/void/docs/integrations/frameworks/react-router.md +5 -60
  250. package/skills/void/docs/integrations/frameworks/sveltekit.md +6 -65
  251. package/skills/void/docs/integrations/frameworks/tanstack-start.md +4 -62
  252. package/skills/void/docs/integrations/nodejs-bun-deno.md +5 -69
  253. package/skills/void/docs/reference/api/auth.md +156 -0
  254. package/skills/void/docs/reference/api/client.md +87 -0
  255. package/skills/void/docs/reference/api/database.md +95 -0
  256. package/skills/void/docs/reference/api/durable.md +46 -0
  257. package/skills/void/docs/reference/api/env.md +50 -0
  258. package/skills/void/docs/reference/api/handlers.md +254 -0
  259. package/skills/void/docs/reference/api/pages.md +241 -0
  260. package/skills/void/docs/reference/api/plugin.md +39 -0
  261. package/skills/void/docs/reference/api/resources.md +109 -0
  262. package/skills/void/docs/reference/api/rewrites.md +76 -0
  263. package/skills/void/docs/reference/api/types.md +92 -0
  264. package/skills/void/docs/reference/api.md +56 -1218
  265. package/skills/void/docs/reference/cli/auth.md +89 -0
  266. package/skills/void/docs/reference/cli/database.md +128 -0
  267. package/skills/void/docs/reference/cli/deploy.md +105 -0
  268. package/skills/void/docs/reference/cli/domains.md +41 -0
  269. package/skills/void/docs/reference/cli/email.md +129 -0
  270. package/skills/void/docs/reference/cli/generate.md +116 -0
  271. package/skills/void/docs/reference/cli/github.md +189 -0
  272. package/skills/void/docs/reference/cli/platform-config.md +92 -0
  273. package/skills/void/docs/reference/cli/platform-email.md +81 -0
  274. package/skills/void/docs/reference/cli/platform-installation.md +142 -0
  275. package/skills/void/docs/reference/cli/platform-operations.md +90 -0
  276. package/skills/void/docs/reference/cli/platform-users.md +89 -0
  277. package/skills/void/docs/reference/cli/platform-zero-trust.md +59 -0
  278. package/skills/void/docs/reference/cli/platform.md +70 -0
  279. package/skills/void/docs/reference/cli/project.md +214 -0
  280. package/skills/void/docs/reference/cli/secrets.md +76 -0
  281. package/skills/void/docs/reference/cli/setup.md +70 -0
  282. package/skills/void/docs/reference/cli.md +32 -1682
  283. package/skills/void/docs/reference/config.md +12 -18
  284. package/skills/void/docs/reference/resource-inference.md +3 -58
  285. package/skills/void/docs/reference/structure.md +14 -41
  286. package/dist/auth-CZuiVsFh.mjs +0 -2
  287. package/dist/canonical-json-DuDiiUsQ.mjs +0 -13
  288. package/dist/client-Czz8o5jP.mjs +0 -2
  289. package/dist/dist-BuDuKZJv.mjs +0 -2
  290. package/dist/dist-CTBk70IR.mjs +0 -1310
  291. package/dist/gen-CNJ62MM7.mjs +0 -2
  292. package/dist/help-CmZzxUba.mjs +0 -2
  293. package/dist/log-ChfPKsVd.mjs +0 -26
  294. package/dist/login-CGcRKEoi.mjs +0 -2
  295. package/dist/migrate-CYfbKkXh.mjs +0 -2
  296. package/dist/plan-BEZ8VJW0.mjs +0 -256
  297. package/dist/plan-DpuOr14e.mjs +0 -2
  298. package/dist/prepare-Bm3iq-u4.mjs +0 -2
  299. package/dist/project-BuUwfj6f.mjs +0 -2
  300. package/dist/validate-EKmJWxmy.mjs +0 -2
  301. /package/dist/cli/{cf-compat.d.mts → cloudflare-operation-process.d.mts} +0 -0
@@ -1,9 +1,10 @@
1
1
  import { a as join, l as relative, n as dirname, u as resolve } from "./dist-BVqXeR_h.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
3
- import { i as readPackageJson, n as hasPackageDependency, t as getPackageDependencies } from "./package-json-DXfiT1jV.mjs";
4
3
  import { i as hasSsrEntry, r as getSsrServerEntryPath } from "./entry-CF5wvH4w.mjs";
4
+ import { i as readPackageJson, n as hasPackageDependency, t as getPackageDependencies } from "./package-json-DXfiT1jV.mjs";
5
5
  import { existsSync } from "node:fs";
6
6
  import { fileURLToPath } from "node:url";
7
+ import { spawnSync } from "node:child_process";
7
8
  //#region src/cli/preset.ts
8
9
  /**
9
10
  * Known output conventions for SSGs.
@@ -133,12 +134,12 @@ function shellQuoteExecutable(value) {
133
134
  return `'${value.replace(/'/g, "'\\''")}'`;
134
135
  }
135
136
  /** Resolve the bundled cf transport without consulting project dependencies. */
136
- function resolveWranglerArgv(_root) {
137
+ function resolveCloudflareOperationArgv(_root) {
137
138
  const directory = dirname(fileURLToPath(import.meta.url));
138
139
  const entry = [
139
- join(directory, "cf-compat.ts"),
140
- join(directory, "cf-compat.mjs"),
141
- join(directory, "cli", "cf-compat.mjs")
140
+ join(directory, "cloudflare-operation-process.ts"),
141
+ join(directory, "cloudflare-operation-process.mjs"),
142
+ join(directory, "cli", "cloudflare-operation-process.mjs")
142
143
  ].find((candidate) => existsSync(candidate));
143
144
  if (!entry) throw new Error(`Void's bundled Cloudflare tooling is unavailable. Reinstall the project's dependencies from its trusted lockfile, then retry.`);
144
145
  return [process.execPath, entry];
@@ -300,4 +301,90 @@ function hasBackendFiles(root) {
300
301
  return false;
301
302
  }
302
303
  //#endregion
303
- export { resolveProjectCommand as a, hasBackendFiles as i, detectPreset as n, resolveWranglerArgv as o, formatProjectCommand as r, FRAMEWORK_PRESETS as t };
304
+ //#region src/cli/cloudflare-process.ts
305
+ /** Operations contain public targets only. Secret values travel through stdin. */
306
+ function encodeCloudflareOperation(operation) {
307
+ return [JSON.stringify(operation)];
308
+ }
309
+ /** Decode the private process envelope once, retaining cancellation provenance. */
310
+ function decodeCloudflareOperationResult(result) {
311
+ if (result.signal || result.error || result.status === null) return result;
312
+ if (!result.stdout.trim() && result.status !== 0) return result;
313
+ try {
314
+ const value = JSON.parse(result.stdout);
315
+ if (!value || typeof value !== "object" || Array.isArray(value) || !("operationResult" in value) || value.operationResult !== 1) throw new Error("Invalid operation envelope.");
316
+ const envelope = value;
317
+ if (envelope.output !== void 0 && typeof envelope.output !== "string" || envelope.signal != null && typeof envelope.signal !== "string" || envelope.error != null && typeof envelope.error !== "string" || envelope.errorCode !== void 0 && !Number.isSafeInteger(envelope.errorCode) || envelope.failure !== void 0 && ![
318
+ "not-found",
319
+ "durable-migration",
320
+ "containers-unavailable"
321
+ ].includes(envelope.failure) || envelope.errors !== void 0 && (!Array.isArray(envelope.errors) || envelope.errors.some((error) => !error || typeof error !== "object" || typeof error.message !== "string" || error.code !== void 0 && !Number.isSafeInteger(error.code)))) throw new Error("Invalid operation envelope fields.");
322
+ if (envelope.signal || envelope.error) return {
323
+ ...result,
324
+ status: 1,
325
+ stdout: "",
326
+ signal: envelope.signal,
327
+ error: envelope.error
328
+ };
329
+ return {
330
+ ...result,
331
+ stdout: envelope.output ?? "",
332
+ data: envelope.data,
333
+ errorCode: envelope.errorCode,
334
+ errors: envelope.errors,
335
+ failure: envelope.failure
336
+ };
337
+ } catch {
338
+ return {
339
+ ...result,
340
+ status: 1,
341
+ stdout: "",
342
+ stderr: [result.stderr, "Cloudflare tooling returned an invalid operation response."].filter(Boolean).join("\n")
343
+ };
344
+ }
345
+ }
346
+ function createCloudflareProcessRunner(options) {
347
+ const [command, ...prefix] = resolveCloudflareOperationArgv(options.root);
348
+ return (operation, run) => {
349
+ const streaming = !run.capture && (operation.type === "auth.login" || operation.type === "tail");
350
+ const env = typeof options.env === "function" ? options.env() : options.env ?? process.env;
351
+ const result = spawnSync(command, [...prefix, ...encodeCloudflareOperation(operation)], {
352
+ cwd: run.cwd ?? options.root,
353
+ env: {
354
+ ...env,
355
+ ...options.accountId ? { CLOUDFLARE_ACCOUNT_ID: options.accountId } : {},
356
+ ...options.apiBaseUrl ? { CLOUDFLARE_API_BASE_URL: options.apiBaseUrl } : {}
357
+ },
358
+ input: run.input,
359
+ encoding: "utf8",
360
+ shell: false,
361
+ windowsHide: true,
362
+ maxBuffer: 33554432,
363
+ stdio: streaming ? [
364
+ "inherit",
365
+ "inherit",
366
+ "inherit"
367
+ ] : [
368
+ "pipe",
369
+ "pipe",
370
+ "pipe"
371
+ ]
372
+ });
373
+ const raw = {
374
+ status: result.status ?? 1,
375
+ stdout: result.stdout ?? "",
376
+ stderr: result.stderr ?? "",
377
+ signal: result.signal,
378
+ error: result.error?.message
379
+ };
380
+ if (streaming) return raw;
381
+ const decoded = decodeCloudflareOperationResult(raw);
382
+ if (!run.capture) {
383
+ if (decoded.stdout) process.stdout.write(decoded.stdout);
384
+ if (decoded.stderr) process.stderr.write(decoded.stderr);
385
+ }
386
+ return decoded;
387
+ };
388
+ }
389
+ //#endregion
390
+ export { detectPreset as a, resolveCloudflareOperationArgv as c, FRAMEWORK_PRESETS as i, resolveProjectCommand as l, decodeCloudflareOperationResult as n, formatProjectCommand as o, encodeCloudflareOperation as r, hasBackendFiles as s, createCloudflareProcessRunner as t };
@@ -1,6 +1,7 @@
1
1
  import "./types-CKWnYgfy.mjs";
2
2
  import { t as VoidAuthProvider } from "./providers-BNKRacMr.mjs";
3
3
  import { t as HeadConfig } from "./head-Do8P4puT.mjs";
4
+ import "@void/deploy-core";
4
5
  import { RewriteDestination } from "void/routes";
5
6
  //#region src/sandbox/config.d.ts
6
7
  type SandboxInstanceType = "lite" | "standard-1" | "standard-2" | "standard-3" | "standard-4";
@@ -0,0 +1,89 @@
1
+ import { a as join, i as isAbsolute } from "./dist-BVqXeR_h.mjs";
2
+ import { fileURLToPath } from "node:url";
3
+ import { isSandboxRegistryImage } from "@void/deploy-core";
4
+ //#region src/sandbox/config.ts
5
+ const DEFAULT_SANDBOX_BINDING = "SANDBOX";
6
+ const DEFAULT_SANDBOX_CLASS_NAME = "SandboxV1";
7
+ const SANDBOX_MIGRATION_TAG = "void-sandbox-v2";
8
+ function isSandboxEnabled(config) {
9
+ return config.sandbox !== void 0 && config.sandbox !== false;
10
+ }
11
+ function getDefaultSandboxImage() {
12
+ return fileURLToPath(new URL("../../sandbox.Dockerfile", import.meta.resolve("void/sandbox")));
13
+ }
14
+ function getDefaultSandboxPlatformImage() {
15
+ return "cloudflare/debian-trixie";
16
+ }
17
+ function isLocalSandboxImage(image) {
18
+ const lowerImage = image.toLowerCase();
19
+ return isAbsolute(image) || image.startsWith("./") || image.startsWith("../") || lowerImage === "dockerfile" || lowerImage.includes("dockerfile") || lowerImage.endsWith("/dockerfile") || lowerImage.endsWith("\\dockerfile");
20
+ }
21
+ function requiresSandboxPlatformImage(config) {
22
+ if (typeof config.sandbox !== "object" || config.sandbox === null) return false;
23
+ return typeof config.sandbox.image === "string" && isLocalSandboxImage(config.sandbox.image) && config.sandbox.platformImage === void 0;
24
+ }
25
+ function resolveSandboxConfig(config, root = process.cwd()) {
26
+ const raw = typeof config.sandbox === "object" ? config.sandbox : {};
27
+ const image = raw.image ?? getDefaultSandboxImage();
28
+ const imageBuildContext = raw.imageBuildContext;
29
+ const platformImage = raw.platformImage ?? (raw.image && !isLocalSandboxImage(raw.image) ? raw.image : getDefaultSandboxPlatformImage());
30
+ if (!isLocalSandboxImage(image) && !isSandboxRegistryImage(image)) throw new Error("sandbox.image must be a Dockerfile or a digest-pinned Cloudflare registry image (registry.cloudflare.com/<account>/<image>@sha256:<digest>).");
31
+ if (platformImage !== getDefaultSandboxPlatformImage() && !isSandboxRegistryImage(platformImage)) throw new Error("sandbox.platformImage must be a digest-pinned Cloudflare registry image (registry.cloudflare.com/<account>/<image>@sha256:<digest>).");
32
+ return {
33
+ binding: raw.binding ?? "SANDBOX",
34
+ className: raw.className ?? "SandboxV1",
35
+ containerName: raw.containerName ?? "void-sandbox-v1",
36
+ image: resolveSandboxImage(image, root),
37
+ platformImage,
38
+ ...imageBuildContext && { imageBuildContext: isAbsolute(imageBuildContext) ? imageBuildContext : join(root, imageBuildContext) },
39
+ ...raw.instanceType && { instanceType: raw.instanceType }
40
+ };
41
+ }
42
+ function resolveSandboxImage(image, root) {
43
+ if (!isLocalSandboxImage(image) || isAbsolute(image)) return image;
44
+ return join(root, image);
45
+ }
46
+ function sandboxContainerConfig(sandbox) {
47
+ return {
48
+ name: sandbox.containerName,
49
+ class_name: sandbox.className,
50
+ scheduling_policy: "durable_object",
51
+ images: { default: isLocalSandboxImage(sandbox.image) ? {
52
+ dockerfile: sandbox.image,
53
+ ...sandbox.imageBuildContext && { build_context: sandbox.imageBuildContext }
54
+ } : { image: sandbox.image } }
55
+ };
56
+ }
57
+ /** Resolve the final local storage kind without recreating a renamed or deleted class. */
58
+ function resolveSandboxMigrationStorage(migrations, className) {
59
+ const storage = /* @__PURE__ */ new Map();
60
+ for (const migration of migrations) {
61
+ for (const name of migration.new_classes ?? []) storage.set(name, "legacy-kv");
62
+ for (const name of migration.new_sqlite_classes ?? []) storage.set(name, "sqlite");
63
+ for (const rename of migration.renamed_classes ?? []) {
64
+ const sqlite = storage.get(rename.from);
65
+ storage.delete(rename.from);
66
+ storage.set(rename.to, sqlite ?? "unknown");
67
+ }
68
+ for (const transfer of migration.transferred_classes ?? []) storage.set(transfer.to, "unknown");
69
+ for (const name of migration.deleted_classes ?? []) storage.delete(name);
70
+ }
71
+ return storage.get(className);
72
+ }
73
+ function hasSandboxSqliteMigration(migrations, className) {
74
+ return resolveSandboxMigrationStorage(migrations, className) === "sqlite";
75
+ }
76
+ /** Refuse namespace reuse before either uploader can change a live Worker. */
77
+ function assertSandboxNamespaceConfig(config, sandbox) {
78
+ const containers = Array.isArray(config.containers) ? config.containers : [];
79
+ const durable = config.durable_objects;
80
+ const binding = durable?.bindings?.find((entry) => entry.name === sandbox.binding);
81
+ if (binding && (binding.script_name !== void 0 || binding.environment !== void 0)) throw new Error(`sandbox: binding '${sandbox.binding}' must reference the local '${sandbox.className}' class. Choose another sandbox.binding name to preserve the existing external Durable Object.`);
82
+ const migrations = Array.isArray(config.migrations) ? config.migrations : [];
83
+ const storage = resolveSandboxMigrationStorage(migrations, sandbox.className);
84
+ if (storage === "legacy-kv" || storage === "unknown") throw new Error(`sandbox: class '${sandbox.className}' needs SQLite storage, but its existing namespace has ${storage} storage. Preserve the existing migration history and choose a fresh Worker name or a new sandbox.className and sandbox.binding.`);
85
+ if (storage !== "sqlite" && migrations.some((migration) => migration.tag === "void-sandbox-v2")) throw new Error(`sandbox: migration tag '${SANDBOX_MIGRATION_TAG}' is already configured for another class. Keep the existing history and choose a fresh Worker for Sandbox.`);
86
+ if (containers.some((container) => container.class_name === sandbox.className && container.scheduling_policy !== "durable_object") || durable?.bindings?.some((binding) => binding.name === sandbox.binding && binding.class_name !== sandbox.className)) throw new Error("Sandbox SDK 1.0 needs a new Durable Object namespace. Back up existing Sandbox data and deploy to a fresh Worker name with the new Sandbox configuration; remove legacy Sandbox bindings, containers, and migrations from that new Worker configuration. See https://developers.cloudflare.com/containers/guides/migrate-to-durable-object-scheduling-policy/.");
87
+ }
88
+ //#endregion
89
+ export { hasSandboxSqliteMigration as a, resolveSandboxConfig as c, assertSandboxNamespaceConfig as i, sandboxContainerConfig as l, DEFAULT_SANDBOX_CLASS_NAME as n, isSandboxEnabled as o, SANDBOX_MIGRATION_TAG as r, requiresSandboxPlatformImage as s, DEFAULT_SANDBOX_BINDING as t };
@@ -1,4 +1,4 @@
1
- import { t as VoidConfig } from "./config-VavjpDnp.mjs";
1
+ import { t as VoidConfig } from "./config-BMHb8RCj.mjs";
2
2
  //#region src/config-entry.d.ts
3
3
  /** Define a typed Void project configuration without loading the Vite plugin. */
4
4
  export declare function defineConfig<const T extends VoidConfig>(config: T): T;
@@ -1,11 +1,11 @@
1
- import { f as readPlatformToken } from "./auth-DLNN0D3Z.mjs";
2
- import { o as listPlatformConnections, s as normalizePlatformApiUrl } from "./platform-registry-QBa4DK32.mjs";
3
- import { i as readDeploymentPlatform, l as writeDeploymentPlatform, u as writePlatformSelection } from "./project-C0Fqu05O.mjs";
4
- import { I as select, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
5
- import { i as isExpiredTokenError, n as PlatformClient } from "./client-BTZ3XkrB.mjs";
6
- import { t as promptForLoginToken } from "./login-CAsAsQ-_.mjs";
7
- import { i as saveDiscoveredPlatform, n as promptPlatformUrl, t as discoverPlatform } from "./platform-cmd-B3hwKrFK.mjs";
8
- import { t as connectCloudflare } from "./cloudflare-connect-Ctmrw579.mjs";
1
+ import { o as listPlatformConnections, s as normalizePlatformApiUrl } from "./platform-registry-DkPPXfp_.mjs";
2
+ import { c as writePlatformSelection, n as readDeploymentPlatform, s as writeDeploymentPlatform } from "./project-DKG5Ra8p.mjs";
3
+ import { d as readPlatformToken } from "./auth-CQkSDS50.mjs";
4
+ import { K as select, L as log, tt as isCancel } from "./prompts-BNUoTiaf.mjs";
5
+ import { i as isExpiredTokenError, n as PlatformClient } from "./client-DKAsFA4X.mjs";
6
+ import { t as promptForLoginToken } from "./login-BuiMyUrx.mjs";
7
+ import { i as saveDiscoveredPlatform, n as promptPlatformUrl, t as discoverPlatform } from "./platform-cmd-DMDEc9uS.mjs";
8
+ import { t as connectCloudflare } from "./cloudflare-connect-IiR3ZieC.mjs";
9
9
  //#region src/cli/connect.ts
10
10
  async function selectVoidPlatform(interactive) {
11
11
  if (!interactive) throw new Error("connect: Supply a Void platform URL in non-interactive mode.");
@@ -71,7 +71,7 @@ async function runConnectCommand(root, args, interactive = Boolean(process.stdin
71
71
  if (!args.noLogin) await authenticateConnection(root, discovery, interactive);
72
72
  saveDiscoveredPlatform(discovery);
73
73
  const envUrl = process.env.VOID_API_URL;
74
- const selected = Boolean(envUrl && normalizePlatformApiUrl(envUrl) !== discovery.apiUrl || process.env.VOID_TOKEN && !envUrl) ? false : writePlatformSelection(root, discovery);
74
+ const selected = Boolean(envUrl && normalizePlatformApiUrl(envUrl) !== discovery.apiUrl) ? false : writePlatformSelection(root, discovery);
75
75
  log.success(`Connected to ${discovery.displayName} at ${discovery.apiUrl}.`);
76
76
  if (!selected) log.info("Saved the connection. The current project link or environment still selects its existing destination.");
77
77
  if (args.noLogin) log.info("Connection saved without login. Run `void account login` in a project using this platform when ready.");
@@ -1,8 +1,8 @@
1
- import { s as getSiteDomain } from "./auth-DLNN0D3Z.mjs";
2
- import { d as writeProjectConfig, t as attachSelectedPlatform } from "./project-C0Fqu05O.mjs";
3
- import { B as text, E as confirm, I as select, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
4
- import { t as PlatformApiError } from "./client-BTZ3XkrB.mjs";
5
- import { c as import_picocolors, l as sanitizeTerminalText } from "./output-Dm_A4Tbv.mjs";
1
+ import { l as writeProjectConfig, t as attachSelectedPlatform } from "./project-DKG5Ra8p.mjs";
2
+ import { s as getSiteDomain } from "./auth-CQkSDS50.mjs";
3
+ import { A as confirm, K as select, L as log, O as cancel, X as text, tt as isCancel } from "./prompts-BNUoTiaf.mjs";
4
+ import { t as PlatformApiError } from "./client-DKAsFA4X.mjs";
5
+ import { c as import_picocolors, l as sanitizeTerminalText } from "./output-CbM85T4k.mjs";
6
6
  import { t as validateProjectSlug } from "./project-slug-23TpquG4.mjs";
7
7
  import { n as inferDefaultSlug } from "./resolve-project-BG5ORGID.mjs";
8
8
  //#region src/cli/prompt.ts
@@ -14,7 +14,7 @@ async function promptProjectSetupAction(message = "Set up a Void project:", opti
14
14
  label: "Create a new project"
15
15
  }, ...options.includeLink === false ? [] : [{
16
16
  value: "link",
17
- label: "Link an existing project"
17
+ label: options.link === false ? "Use an existing project" : "Link an existing project"
18
18
  }]]
19
19
  });
20
20
  if (isCancel(result) || typeof result === "symbol") {
@@ -43,7 +43,7 @@ async function promptProjectSelection(projects, message = "Select a project:", r
43
43
  if (result === "__create__") return { action: "create" };
44
44
  const project = projects.find((p) => p.id === result);
45
45
  if (options.confirmExisting) {
46
- const confirmed = await confirm({ message: project.role === "reader" ? `Link to ${project.slug} with read-only access? Deploying requires collaborator access or higher.` : `Linking to an existing project. Running \`void deploy\` will overwrite the current deployment of ${project.url ?? `${project.slug}.${getSiteDomain(root)}`}. Continue?` });
46
+ const confirmed = await confirm({ message: project.role === "reader" ? `Link to ${project.slug} with read-only access? Deploying requires collaborator access or higher.` : (options.link === false ? "This deployment will overwrite the current deployment of " : `Linking to an existing project. Running \`void deploy\` will overwrite the current deployment of `) + `${project.url ?? `${project.slug}.${getSiteDomain(root)}`}. Continue?` });
47
47
  if (isCancel(confirmed) || !confirmed) {
48
48
  cancel("Project link cancelled.");
49
49
  process.exit(0);
@@ -57,9 +57,9 @@ async function promptProjectSelection(projects, message = "Select a project:", r
57
57
  async function promptProjectSlug(defaultSlug) {
58
58
  const result = await text({
59
59
  message: "Choose a slug for your new Void project:",
60
- placeholder: "my-app",
61
- initialValue: defaultSlug,
62
- validate: validateProjectSlug
60
+ placeholder: defaultSlug,
61
+ defaultValue: defaultSlug,
62
+ validate: (value) => validateProjectSlug(value || defaultSlug)
63
63
  });
64
64
  if (isCancel(result) || typeof result === "symbol") {
65
65
  cancel("Deploy cancelled.");
@@ -102,14 +102,14 @@ async function createProjectWithSlugRetry(client, initialDefaultSlug, promptSlug
102
102
  function reportProjectCreationWarnings(project) {
103
103
  for (const warning of project.warnings ?? []) log.warn(sanitizeTerminalText(warning));
104
104
  }
105
- async function promptAndCreateProject(root, client) {
105
+ async function promptAndCreateProject(root, client, options = {}) {
106
106
  const project = await createProjectWithSlugRetry(client, inferDefaultSlug(root), async (defaultSlug) => promptProjectSlug(defaultSlug));
107
107
  if (!project) throw new Error("Project creation cancelled.");
108
108
  const config = {
109
109
  projectId: project.id,
110
110
  slug: project.slug
111
111
  };
112
- writeProjectConfig(root, attachSelectedPlatform(root, config, client.apiUrl));
112
+ if (options.link !== false) writeProjectConfig(root, attachSelectedPlatform(root, config, client.apiUrl));
113
113
  if (project.owner_email_destination) {
114
114
  const { address } = project.owner_email_destination;
115
115
  log.info(`Registering ${address} as a recipient for this project. Cloudflare emails it a verification link unless it is already verified — \`void email destinations\` shows the state.`);
@@ -1,2 +1,2 @@
1
- import { t as createProjectWithSlugRetry } from "./create-project-l9J7pbtm.mjs";
1
+ import { t as createProjectWithSlugRetry } from "./create-project-CYOOAYcn.mjs";
2
2
  export { createProjectWithSlugRetry };
@@ -1,19 +1,19 @@
1
1
  import { a as join, l as relative, r as extname, t as basename, u as resolve } from "./dist-BVqXeR_h.mjs";
2
+ import { r as detectFramework } from "./plugin-inference-CXWnn79A.mjs";
2
3
  import { n as readProjectPaths } from "./project-paths-GgcMozYz.mjs";
3
- import { t as cfAccessHeaders } from "./cf-access-DRsQRe6k.mjs";
4
- import { c as getToken, o as getProxyUrl } from "./auth-DLNN0D3Z.mjs";
5
- import { i as isCloudflareAccessChallenge, n as ensurePlatformAccessToken, r as ensurePlatformProxyAccess } from "./cf-access-P0iZnu0q.mjs";
6
- import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
7
4
  import { h as resolveBindingNames, m as readConfig, u as getDatabaseDialect } from "./config-Br_JZD6u.mjs";
8
- import { r as detectFramework } from "./plugin-inference-BMfKRSqE.mjs";
9
5
  import { i as writeJournal, n as readJournal, r as stripSqlExt, t as collectMigrations } from "./collect-DiTn9yr6.mjs";
10
- import { t as resolveLocalD1Target } from "./local-d1-Bg9OzEEO.mjs";
6
+ import { t as cfAccessHeaders } from "./cf-access-TWNzXltp.mjs";
7
+ import { i as isCloudflareAccessChallenge, n as ensurePlatformAccessToken, r as ensurePlatformProxyAccess } from "./cf-access-BGe5sWXF.mjs";
8
+ import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-DKG5Ra8p.mjs";
9
+ import { c as getToken, o as getProxyUrl } from "./auth-CQkSDS50.mjs";
10
+ import { t as resolveLocalD1Target } from "./local-d1-2CMnpuW_.mjs";
11
11
  import { a as loadLocalEnv } from "./env-_v349JBd.mjs";
12
- import { E as confirm, O as intro, P as outro, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
13
- import { i as validateMigrations, r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-CIUwFpjB.mjs";
14
- import { n as PlatformClient, t as PlatformApiError } from "./client-BTZ3XkrB.mjs";
15
- import { a as dim, c as import_picocolors, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
16
- import { n as formatTimestamp } from "./gen-sCtlCOdA.mjs";
12
+ import { A as confirm, H as outro, L as log, N as intro, tt as isCancel } from "./prompts-BNUoTiaf.mjs";
13
+ import { i as validateMigrations, r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-ctOrgiS3.mjs";
14
+ import { n as PlatformClient, t as PlatformApiError } from "./client-DKAsFA4X.mjs";
15
+ import { a as dim, c as import_picocolors, r as cliTitle } from "./output-CbM85T4k.mjs";
16
+ import { n as formatTimestamp } from "./gen-CshAkukR.mjs";
17
17
  import { createRequire } from "node:module";
18
18
  import { existsSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
19
19
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -273,7 +273,7 @@ async function runConnect(root, dialect, args) {
273
273
  if (result.dashboardUrl) log.info(`Dashboard: ${result.dashboardUrl}`);
274
274
  }
275
275
  if (!connectionString) {
276
- const { text: promptText, isCancel: isCancelCheck } = await import("./dist-BuDuKZJv.mjs");
276
+ const { text: promptText, isCancel: isCancelCheck } = await import("./prompts-2TGE6oXx.mjs");
277
277
  const answer = await promptText({
278
278
  message: `Enter your ${dialect === "mysql" ? "MySQL" : "PostgreSQL"} connection string:`,
279
279
  placeholder: dialect === "mysql" ? "mysql://user:pass@host:3306/database" : "postgresql://user:pass@host:5432/database"
@@ -318,7 +318,7 @@ async function runPush(root, dialect) {
318
318
  outro("Done.");
319
319
  }
320
320
  async function runGenerate(root, dialect) {
321
- const { prepareProject } = await import("./prepare-Bm3iq-u4.mjs");
321
+ const { prepareProject } = await import("./prepare-CnjcTV2s.mjs");
322
322
  const { writeDrizzleConfig } = await import("./config-0acf1oys.mjs");
323
323
  await prepareProject(root);
324
324
  const authSchemaPath = join(root, ".void", "better-auth-schema.ts");
@@ -384,7 +384,7 @@ async function runStatus(root, dialect) {
384
384
  localApplied = [];
385
385
  }
386
386
  else {
387
- const { getAppliedMigrations } = await import("./runner-B8wXwWlo.mjs");
387
+ const { getAppliedMigrations } = await import("./runner-CXA9Fh8h.mjs");
388
388
  const { databasePath: dbPath } = getLocalD1Target(root);
389
389
  localApplied = await getAppliedMigrations(dbPath);
390
390
  }
@@ -399,7 +399,7 @@ async function runStatus(root, dialect) {
399
399
  applied_at: ""
400
400
  }));
401
401
  } else {
402
- const { readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-BT6OWFBk.mjs");
402
+ const { readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-BCdXSsmo.mjs");
403
403
  remoteApplied = (await readCloudflareD1Migrations(resolveCloudflareD1Context(root, resolveBindingNames(readConfig(root).inference?.bindings)?.d1 ?? "DB"))).map((name) => ({
404
404
  name,
405
405
  applied_at: ""
@@ -480,7 +480,7 @@ async function resetDatabase(root, dialect) {
480
480
  }
481
481
  return migrations.length;
482
482
  }
483
- const { runMigrations } = await import("./runner-B8wXwWlo.mjs");
483
+ const { runMigrations } = await import("./runner-CXA9Fh8h.mjs");
484
484
  const { databasePath: dbPath } = getLocalD1Target(root);
485
485
  rmSync(dbPath, { force: true });
486
486
  rmSync(dbPath + "-wal", { force: true });
@@ -515,7 +515,7 @@ async function runSeed(root, file, dialect) {
515
515
  outro("Done.");
516
516
  return;
517
517
  }
518
- const { openSqliteDatabase } = await import("./runner-B8wXwWlo.mjs");
518
+ const { openSqliteDatabase } = await import("./runner-CXA9Fh8h.mjs");
519
519
  const { databasePath: dbPath } = getLocalD1Target(root);
520
520
  const db = await openSqliteDatabase(dbPath);
521
521
  try {
@@ -641,7 +641,7 @@ async function runExecute(root, command, file, dialect, remote) {
641
641
  process.exit(0);
642
642
  }
643
643
  if (dialect === "sqlite") {
644
- const { executeCloudflareD1Sql, resolveCloudflareD1Context } = await import("./cloudflare-operations-BT6OWFBk.mjs");
644
+ const { executeCloudflareD1Sql, resolveCloudflareD1Context } = await import("./cloudflare-operations-BCdXSsmo.mjs");
645
645
  const rows = await executeCloudflareD1Sql(resolveCloudflareD1Context(root, resolveBindingNames(readConfig(root).inference?.bindings)?.d1 ?? "DB"), sql);
646
646
  if (rows.length > 0) printTable(rows);
647
647
  else log.success("Executed successfully.");
@@ -746,7 +746,7 @@ async function runExecute(root, command, file, dialect, remote) {
746
746
  outro("Done.");
747
747
  return;
748
748
  }
749
- const { openSqliteDatabase } = await import("./runner-B8wXwWlo.mjs");
749
+ const { openSqliteDatabase } = await import("./runner-CXA9Fh8h.mjs");
750
750
  const { databasePath: dbPath } = getLocalD1Target(root);
751
751
  if (!existsSync(dbPath)) {
752
752
  log.error("No local database found. Run `void dev` first.");
@@ -846,7 +846,7 @@ async function runMigrate(root, dialect, remote) {
846
846
  outro("Done.");
847
847
  return;
848
848
  }
849
- const { applyCloudflareD1Migrations, readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-BT6OWFBk.mjs");
849
+ const { applyCloudflareD1Migrations, readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-BCdXSsmo.mjs");
850
850
  const binding = resolveBindingNames(readConfig(root).inference?.bindings)?.d1 ?? "DB";
851
851
  const context = resolveCloudflareD1Context(root, binding);
852
852
  const remoteBefore = new Set(await readCloudflareD1Migrations(context));
@@ -862,7 +862,7 @@ async function runMigrate(root, dialect, remote) {
862
862
  log.error(getErrorMessage(error));
863
863
  process.exit(1);
864
864
  }
865
- const { checkWranglerMigrationApplySet, parseRootWranglerConfig } = await import("./deploy-B19L2Bra.mjs");
865
+ const { checkWranglerMigrationApplySet, parseRootWranglerConfig } = await import("./deploy-irP5q0-x.mjs");
866
866
  const applySet = await checkWranglerMigrationApplySet(context.operation.configPath, parseRootWranglerConfig(context.operation.configPath), binding, context.migrationsDir, rawMigrations);
867
867
  if (!applySet.ok) {
868
868
  log.error(applySet.reason);
@@ -980,7 +980,7 @@ async function runMigrate(root, dialect, remote) {
980
980
  outro("Done.");
981
981
  return;
982
982
  }
983
- const { getAppliedMigrations, runMigrations } = await import("./runner-B8wXwWlo.mjs");
983
+ const { getAppliedMigrations, runMigrations } = await import("./runner-CXA9Fh8h.mjs");
984
984
  const { databasePath: dbPath } = getLocalD1Target(root);
985
985
  try {
986
986
  const existingRows = await getAppliedMigrations(dbPath);
@@ -1290,7 +1290,7 @@ async function runRenameMigrations(root, dialect) {
1290
1290
  process.exit(1);
1291
1291
  }
1292
1292
  else {
1293
- const { openSqliteDatabase } = await import("./runner-B8wXwWlo.mjs");
1293
+ const { openSqliteDatabase } = await import("./runner-CXA9Fh8h.mjs");
1294
1294
  const { databasePath: dbPath } = getLocalD1Target(root);
1295
1295
  if (existsSync(dbPath)) try {
1296
1296
  const db = await openSqliteDatabase(dbPath);
@@ -1442,7 +1442,7 @@ async function runExport(root, args, dialect) {
1442
1442
  } else process.stdout.write(output);
1443
1443
  return;
1444
1444
  }
1445
- const { openSqliteDatabase } = await import("./runner-B8wXwWlo.mjs");
1445
+ const { openSqliteDatabase } = await import("./runner-CXA9Fh8h.mjs");
1446
1446
  const { databasePath: dbPath } = getLocalD1Target(root);
1447
1447
  if (!existsSync(dbPath)) {
1448
1448
  log.error("No local database found. Run `void dev` first.", errOut);
@@ -1524,7 +1524,7 @@ async function runSetUrl(root) {
1524
1524
  log.error("No project linked. Run `void deploy` first or link a project.");
1525
1525
  process.exit(1);
1526
1526
  }
1527
- const { text: promptText, isCancel: isCancelCheck } = await import("./dist-BuDuKZJv.mjs");
1527
+ const { text: promptText, isCancel: isCancelCheck } = await import("./prompts-2TGE6oXx.mjs");
1528
1528
  const connectionString = await promptText({
1529
1529
  message: `Enter your ${dialect === "mysql" ? "MySQL" : "PostgreSQL"} connection string:`,
1530
1530
  placeholder: dialect === "mysql" ? "mysql://user:pass@host:3306/dbname" : "postgresql://user:pass@host:5432/dbname",
@@ -1611,7 +1611,7 @@ async function runSeedModule(root, seedPath, dialect) {
1611
1611
  return;
1612
1612
  }
1613
1613
  const { drizzle } = await import("drizzle-orm/better-sqlite3");
1614
- const { openSqliteDatabase } = await import("./runner-B8wXwWlo.mjs");
1614
+ const { openSqliteDatabase } = await import("./runner-CXA9Fh8h.mjs");
1615
1615
  const { databasePath: dbPath } = getLocalD1Target(root);
1616
1616
  const sqlite = await openSqliteDatabase(dbPath);
1617
1617
  try {
@@ -1,8 +1,8 @@
1
- import { c as getToken } from "./auth-DLNN0D3Z.mjs";
2
- import { c as removeProjectConfig, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
3
- import { B as text, N as note, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
4
- import { n as PlatformClient } from "./client-BTZ3XkrB.mjs";
5
- import { i as createSpinner, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
1
+ import { a as removeProjectConfig, r as readProjectConfig } from "./project-DKG5Ra8p.mjs";
2
+ import { c as getToken } from "./auth-CQkSDS50.mjs";
3
+ import { B as note, H as outro, L as log, N as intro, O as cancel, X as text, tt as isCancel } from "./prompts-BNUoTiaf.mjs";
4
+ import { n as PlatformClient } from "./client-DKAsFA4X.mjs";
5
+ import { i as createSpinner, r as cliTitle } from "./output-CbM85T4k.mjs";
6
6
  import { r as resolveProjectBySlug } from "./resolve-project-BG5ORGID.mjs";
7
7
  //#region src/cli/delete.ts
8
8
  async function runDeleteCommand(root, slug, options) {