void 0.21.9 → 0.23.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 (293) hide show
  1. package/README.md +5 -1
  2. package/dist/{account-cmd-DZZGK80W.mjs → account-cmd-C84Ee8cO.mjs} +5 -5
  3. package/dist/{scan-ClYmX3sa.mjs → application-analysis-BVsVqc11.mjs} +135 -18
  4. package/dist/application-routing-B7QEjqSR.mjs +27 -0
  5. package/dist/{auth-CZuiVsFh.mjs → auth-CCjt0hcq.mjs} +1 -1
  6. package/dist/{auth-DLNN0D3Z.mjs → auth-CSkdO2Bb.mjs} +4 -47
  7. package/dist/{auth-link-B_CeugBw.mjs → auth-link-CioEg6uY.mjs} +5 -5
  8. package/dist/{auth-router-BgEFRuvZ.mjs → auth-router-BsR981d4.mjs} +5 -5
  9. package/dist/{better-auth-shared-rsBGBvWJ.mjs → better-auth-shared-hy6RPh9W.mjs} +13 -2
  10. package/dist/{build-cmd-Dpt0jd-x.mjs → build-cmd-LzvNJORH.mjs} +19 -7
  11. package/dist/{cache-7_UeZdTk.mjs → cache-C4MvnrMH.mjs} +4 -4
  12. package/dist/{cancel-deploy-D23R1RXT.mjs → cancel-deploy-abUxpP2n.mjs} +4 -4
  13. package/dist/{cf-build-output-CGT03qCD.mjs → cf-build-output-BPqOT964.mjs} +141 -63
  14. package/dist/cf-build-output-_0HNWysu.mjs +2 -0
  15. package/dist/cli/cli.mjs +114 -460
  16. package/dist/cli/cloudflare-operation-process.mjs +1103 -0
  17. package/dist/cli/env-schema-probe.d.mts +2 -1
  18. package/dist/cli/env-schema-probe.mjs +3 -3
  19. package/dist/client-Cu7jWiF1.mjs +2 -0
  20. package/dist/{client-QTl6ko_D.mjs → client-RV8NVeB8.mjs} +165 -21
  21. package/dist/{cloudflare-auth-C4_GPZr0.mjs → cloudflare-auth-Qdc7tw8F.mjs} +41 -43
  22. package/dist/{cloudflare-cmd-bSmZ1d5L.mjs → cloudflare-cmd-BcrVyTmJ.mjs} +9 -10
  23. package/dist/cloudflare-config-Bktvwtpf.mjs +182 -0
  24. package/dist/{cloudflare-connect-jAwacxxP.mjs → cloudflare-connect-B8uPZ4nx.mjs} +4 -4
  25. package/dist/{cloudflare-operations-BipGMJ5O.mjs → cloudflare-operations-AiWashgg.mjs} +1 -1
  26. package/dist/{cloudflare-operations-sMZXpk_S.mjs → cloudflare-operations-fxHb-byx.mjs} +118 -203
  27. package/dist/{preset-UHj9ARyP.mjs → cloudflare-process-B-wekeR6.mjs} +93 -6
  28. package/dist/{config-CF69HgXc.d.mts → config-BMHb8RCj.d.mts} +2 -2
  29. package/dist/{config-CafTW6Cz.mjs → config-Br_JZD6u.mjs} +2 -7
  30. package/dist/config-C_XRIPx2.mjs +89 -0
  31. package/dist/{config-s7Xj7tPb.mjs → config-CyQ-wVd7.mjs} +1 -1
  32. package/dist/config-entry.d.mts +1 -1
  33. package/dist/{config-write-BSduPMY8.mjs → config-write-B1f88wJA.mjs} +1 -1
  34. package/dist/{connect-BsUSRzln.mjs → connect-Bd4kJd9U.mjs} +6 -6
  35. package/dist/{create-project-BniEV0OW.mjs → create-project-Boczwj5r.mjs} +1 -1
  36. package/dist/{create-project-DBfFSZKY.mjs → create-project-bMf6ffLZ.mjs} +9 -5
  37. package/dist/{db-hRrvZaq_.mjs → db-8uG64XLl.mjs} +26 -26
  38. package/dist/{delete-D6dZ9B6B.mjs → delete-NvbiyeJf.mjs} +4 -4
  39. package/dist/{deploy-WaAQez1O.mjs → deploy-DzAIwqNU.mjs} +944 -607
  40. package/dist/{deploy-DDz7c8LK.mjs → deploy-bjXdFCtn.mjs} +1 -1
  41. package/dist/{dist-BR1quN_w.mjs → dist-AoCzRTJE.mjs} +226 -60
  42. package/dist/{dist-C5fND3R0.mjs → dist-BuDuKZJv.mjs} +1 -1
  43. package/dist/{dist-Dn6nn2IU.mjs → dist-CTBk70IR.mjs} +42 -42
  44. package/dist/{domain-Dmhvb2oU.mjs → domain-y5Tvydvo.mjs} +5 -5
  45. package/dist/{email-DFi-s2t4.mjs → email-B3umsW75.mjs} +15 -30
  46. package/dist/{env-Csi-tMbT.mjs → env-BS6qYHDb.mjs} +6 -6
  47. package/dist/{env-public-D_6u46fX.d.mts → env-public-BX_r8HR6.d.mts} +2 -1
  48. package/dist/{env-validation-BB4GkLxn.mjs → env-validation-BPn7vk-V.mjs} +18 -71
  49. package/dist/{env-validation-BXge7uyK.mjs → env-validation-DbTg7-ar.mjs} +1 -1
  50. package/dist/{fetch-CXDChK7B.mjs → fetch-BIZJh7vR.mjs} +2 -2
  51. package/dist/{fetch-stream-AOByI7Ki.mjs → fetch-stream-IvCYKyQL.mjs} +24 -4
  52. package/dist/{gen-Dz3X1Qab.mjs → gen-B580--vC.mjs} +5 -5
  53. package/dist/gen-BVaUUumi.mjs +2 -0
  54. package/dist/{github-cmd-BED3_9JD.mjs → github-cmd-v45BdfKX.mjs} +6 -8
  55. package/dist/{handler-BXJTXd02.d.mts → handler-CZ4nAylQ.d.mts} +2 -1
  56. package/dist/{headers-BOg_velo.mjs → headers-DWi2IXWx.mjs} +1 -1
  57. package/dist/help-DofyZuY7.mjs +2 -0
  58. package/dist/{help-DC7gdz7L.mjs → help-daGKjXGk.mjs} +268 -666
  59. package/dist/index.d.mts +1 -1
  60. package/dist/index.mjs +305 -1490
  61. package/dist/info-B97bTX9N.mjs +113 -0
  62. package/dist/{init-WO0JlPx8.mjs → init-Bvy7zrBo.mjs} +51 -20
  63. package/dist/limits-Bq5LG8Id.d.mts +27 -0
  64. package/dist/limits-Cjuk2VPm.mjs +68 -0
  65. package/dist/{link-CsHOinF7.mjs → link-CDqqCjFl.mjs} +5 -5
  66. package/dist/{list-CDb-4bZ1.mjs → list-CZj0dzKY.mjs} +5 -5
  67. package/dist/{live-CKiJilLr.d.mts → live-Chw1eIMv.d.mts} +1 -1
  68. package/dist/{local-d1-CC8sKFGu.mjs → local-d1-2CMnpuW_.mjs} +2 -2
  69. package/dist/login-DYt_An22.mjs +2 -0
  70. package/dist/{login-DvqXsfGs.mjs → login-UZKFM_u7.mjs} +5 -5
  71. package/dist/{logs-BdfiOezj.mjs → logs-CUZ6t9t3.mjs} +5 -5
  72. package/dist/migrate-8_2u55MD.mjs +2 -0
  73. package/dist/{migrate-B8KuoYsO.mjs → migrate-DHul7PRV.mjs} +5 -4
  74. package/dist/{node-BM43oz4G.mjs → node-BkyRWRx8.mjs} +2 -2
  75. package/dist/operator-args-CLgKGlwU.mjs +690 -0
  76. package/dist/{operator-cmd-03819ATr.mjs → operator-cmd-DBA6dl0m.mjs} +69 -23
  77. package/dist/output-Dm_A4Tbv.mjs +81 -0
  78. package/dist/pages/client.d.mts +34 -2
  79. package/dist/pages/client.mjs +59 -3
  80. package/dist/pages/index.d.mts +1 -1
  81. package/dist/pages/index.mjs +3 -3
  82. package/dist/pages/islands-plugin.d.mts +16 -6
  83. package/dist/pages/islands-plugin.mjs +2 -2
  84. package/dist/pages/protocol.d.mts +2 -2
  85. package/dist/pages/protocol.mjs +2 -308
  86. package/dist/{parse-filename-DioPHiR9.mjs → parse-filename-CUbj-1MP.mjs} +35 -1
  87. package/dist/{output-CCH48AMM.mjs → picocolors-BTps1_gs.mjs} +2 -76
  88. package/dist/plan-D1Q5rf-r.mjs +2 -0
  89. package/dist/plan-NPpwZ_kc.mjs +58 -0
  90. package/dist/platform-args-BJdRtlLq.mjs +506 -0
  91. package/dist/platform-args-D3RXyR6h.mjs +2 -0
  92. package/dist/{platform-auth-config-z92h63q5.mjs → platform-auth-config-B56E9YP1.mjs} +4 -4
  93. package/dist/{platform-auth-protection-DeE3yr2R.mjs → platform-auth-protection-BDWO_aER.mjs} +3 -3
  94. package/dist/{platform-auth-recovery-o_340Ixx.mjs → platform-auth-recovery-1gg4CSRe.mjs} +4 -4
  95. package/dist/{platform-cmd-C4ZV3Vpy.mjs → platform-cmd-Bt-1w6pY.mjs} +1 -1
  96. package/dist/{platform-cmd-DNl8WosH.mjs → platform-cmd-DMcQStSc.mjs} +26 -5
  97. package/dist/{platform-domain-CU1JtJkW.mjs → platform-domain-BNkcz0OB.mjs} +36 -9
  98. package/dist/{platform-lifecycle-Bc047IeT.mjs → platform-lifecycle-9OyBALhH.mjs} +850 -276
  99. package/dist/{platform-lifecycle-Bs2qx1E3.mjs → platform-lifecycle-BE6C_jxh.mjs} +1 -1
  100. package/dist/{platform-management-CVpGI9Y5.mjs → platform-management-CjwLVQwN.mjs} +59 -11
  101. package/dist/{platform-management-C8tt6D8h.mjs → platform-management-CnyTdcWX.mjs} +1 -1
  102. package/dist/platform-plans-config-BNGKGr4P.mjs +359 -0
  103. package/dist/{platform-recovery-dvUaptLr.mjs → platform-recovery-D6KSpuFm.mjs} +2 -2
  104. package/dist/{plugin-inference-BMfKRSqE.mjs → plugin-inference-CXWnn79A.mjs} +174 -64
  105. package/dist/{prepare-DyZ-Yok5.mjs → prepare-B5Mkic5u.mjs} +3 -3
  106. package/dist/{prepare-C3kt3Rst.mjs → prepare-DOsL0CC9.mjs} +4 -20
  107. package/dist/prepare-cgvDMtSb.mjs +2 -0
  108. package/dist/{project-cmd-B44I8J_W.mjs → project-cmd-CNzrqvBv.mjs} +30 -16
  109. package/dist/{project-team-BkbYIsXN.mjs → project-team-DQOWPfQT.mjs} +4 -4
  110. package/dist/{project-token-C8xEEQnB.mjs → project-token-CTDYU0Cc.mjs} +4 -4
  111. package/dist/project-zero-trust-BNAkW-_0.mjs +63 -0
  112. package/dist/{protocol-ZH3jP4a7.d.mts → protocol-CjF_iI9X.d.mts} +2 -2
  113. package/dist/protocol-U7bfjHmA.mjs +331 -0
  114. package/dist/{provision-DNtrtaVD.mjs → provision-C4ORE7G7.mjs} +1 -1
  115. package/dist/{provision-BhreDAOS.mjs → provision-CJFgTZY8.mjs} +111 -215
  116. package/dist/{requests-DFyhBMaf.mjs → requests-MhxYnau8.mjs} +4 -4
  117. package/dist/resource-name-C7LVpcRm.mjs +11 -0
  118. package/dist/{rollback-DHHxXZiS.mjs → rollback-CJ6iSDoU.mjs} +5 -5
  119. package/dist/route-url-CG7U-cRN.mjs +15 -0
  120. package/dist/{runner-B8wXwWlo.mjs → runner-CXA9Fh8h.mjs} +1 -1
  121. package/dist/{runner-p-dMs2UN.mjs → runner-Ol0TNjk6.mjs} +2 -2
  122. package/dist/runtime/ai.d.mts +12 -8
  123. package/dist/runtime/ai.mjs +84 -17
  124. package/dist/runtime/better-auth-mysql.mjs +1 -1
  125. package/dist/runtime/better-auth-pg.mjs +1 -1
  126. package/dist/runtime/better-auth.mjs +1 -1
  127. package/dist/runtime/client-react.mjs +2 -2
  128. package/dist/runtime/client-solid.mjs +2 -2
  129. package/dist/runtime/client-svelte.mjs +2 -2
  130. package/dist/runtime/client-vue.mjs +2 -2
  131. package/dist/runtime/client.mjs +2 -2
  132. package/dist/runtime/durable.d.mts +3 -1
  133. package/dist/runtime/durable.mjs +4 -1
  134. package/dist/runtime/email/testing.mjs +1 -1
  135. package/dist/runtime/env-public.d.mts +1 -1
  136. package/dist/runtime/fetch-stream.mjs +1 -1
  137. package/dist/runtime/fetch.mjs +1 -1
  138. package/dist/runtime/handler.d.mts +1 -1
  139. package/dist/runtime/kv.mjs +0 -1
  140. package/dist/runtime/limits.d.mts +2 -0
  141. package/dist/runtime/limits.mjs +2 -0
  142. package/dist/runtime/live-client.d.mts +1 -1
  143. package/dist/runtime/live-server.mjs +25 -16
  144. package/dist/runtime/live.d.mts +1 -1
  145. package/dist/runtime/migration-handler.mjs +62 -42
  146. package/dist/runtime/route-url.d.mts +4 -0
  147. package/dist/runtime/route-url.mjs +2 -0
  148. package/dist/runtime/routing.d.mts +180 -0
  149. package/dist/runtime/routing.mjs +1082 -0
  150. package/dist/runtime/sandbox-container.d.mts +3 -0
  151. package/dist/runtime/sandbox-container.mjs +2 -0
  152. package/dist/runtime/sandbox.d.mts +4 -32
  153. package/dist/runtime/sandbox.mjs +151 -75
  154. package/dist/runtime/sse.mjs +1 -1
  155. package/dist/runtime/validator.d.mts +1 -1
  156. package/dist/runtime/ws-server.d.mts +4 -2
  157. package/dist/runtime/ws-server.mjs +27 -2
  158. package/dist/runtime/ws.d.mts +2 -2
  159. package/dist/runtime/ws.mjs +8 -6
  160. package/dist/sandbox-XZAqzFlG.d.mts +52 -0
  161. package/dist/sandbox-container-Bo0eiFKz.d.mts +73 -0
  162. package/dist/sandbox-container-C6ItmVuN.mjs +281 -0
  163. package/dist/{scan-4tfN-PSn.mjs → scan-C7okrLyM.mjs} +4 -35
  164. package/dist/{secret-DN9sSNiV.mjs → secret-Dli5fP0B.mjs} +6 -6
  165. package/dist/{skills-O6FUaizK.mjs → skills-D1II1Juz.mjs} +1 -1
  166. package/dist/{sse-BaC1jXko.mjs → sse-CQNaDFFV.mjs} +6 -3
  167. package/dist/{subcommand-prompt-BuGYkAkC.mjs → subcommand-prompt-CY1C4fvl.mjs} +2 -2
  168. package/dist/validate-Dq_L3s0S.mjs +2 -0
  169. package/dist/{validate-CIUwFpjB.mjs → validate-ctOrgiS3.mjs} +2 -1
  170. package/dist/{wrangler-BymcxrRa.mjs → wrangler-7K-bW_DL.mjs} +14 -235
  171. package/dist/{ws-BwcqizuH.d.mts → ws-CL1w7GXU.d.mts} +13 -2
  172. package/package.json +48 -33
  173. package/sandbox.Dockerfile +4 -0
  174. package/schema.json +10 -22
  175. package/skills/migrate-vite-cloudflare-to-void/SKILL.md +34 -157
  176. package/skills/void/SKILL.md +50 -133
  177. package/skills/void/docs/guide/ai.md +94 -84
  178. package/skills/void/docs/guide/app-types.md +3 -32
  179. package/skills/void/docs/guide/auth.md +12 -116
  180. package/skills/void/docs/guide/database/d1.md +9 -54
  181. package/skills/void/docs/guide/database/mysql.md +1 -1
  182. package/skills/void/docs/guide/database/postgresql.md +5 -26
  183. package/skills/void/docs/guide/database.md +23 -75
  184. package/skills/void/docs/guide/deployment.md +27 -113
  185. package/skills/void/docs/guide/durable-state.md +43 -18
  186. package/skills/void/docs/guide/edge/headers.md +3 -47
  187. package/skills/void/docs/guide/edge/prerendering.md +5 -20
  188. package/skills/void/docs/guide/edge/redirects.md +11 -64
  189. package/skills/void/docs/guide/edge/revalidation.md +6 -19
  190. package/skills/void/docs/guide/edge/rewrites.md +56 -284
  191. package/skills/void/docs/guide/edge/static-assets.md +23 -72
  192. package/skills/void/docs/guide/email/domains.md +112 -0
  193. package/skills/void/docs/guide/email/receiving.md +139 -0
  194. package/skills/void/docs/guide/email/sending.md +231 -0
  195. package/skills/void/docs/guide/email.md +13 -619
  196. package/skills/void/docs/guide/env-migration.md +11 -11
  197. package/skills/void/docs/guide/env-vars.md +9 -29
  198. package/skills/void/docs/guide/index.md +0 -15
  199. package/skills/void/docs/guide/jobs.md +3 -18
  200. package/skills/void/docs/guide/kv.md +5 -11
  201. package/skills/void/docs/guide/live.md +5 -56
  202. package/skills/void/docs/guide/pages-routing/actions-and-forms.md +78 -125
  203. package/skills/void/docs/guide/pages-routing/head.md +10 -10
  204. package/skills/void/docs/guide/pages-routing/islands.md +6 -36
  205. package/skills/void/docs/guide/pages-routing/layouts.md +6 -128
  206. package/skills/void/docs/guide/pages-routing/loaders.md +3 -19
  207. package/skills/void/docs/guide/pages-routing/markdown.md +13 -171
  208. package/skills/void/docs/guide/pages-routing/overview.md +7 -17
  209. package/skills/void/docs/guide/pages-routing/view-transitions.md +1 -1
  210. package/skills/void/docs/guide/platform/administration/access.md +1 -4
  211. package/skills/void/docs/guide/platform/administration/email.md +35 -8
  212. package/skills/void/docs/guide/platform/administration/operations.md +26 -4
  213. package/skills/void/docs/guide/platform/administration/plans.md +126 -0
  214. package/skills/void/docs/guide/platform/administration/projects.md +5 -2
  215. package/skills/void/docs/guide/platform/administration/zero-trust.md +189 -0
  216. package/skills/void/docs/guide/platform/development/local.md +2 -2
  217. package/skills/void/docs/guide/platform/development/runtime.md +3 -13
  218. package/skills/void/docs/guide/platform/development/schema-ci.md +0 -58
  219. package/skills/void/docs/guide/platform/installation/credentials.md +6 -4
  220. package/skills/void/docs/guide/platform/installation/domains.md +31 -3
  221. package/skills/void/docs/guide/platform/installation/first-deployment.md +6 -0
  222. package/skills/void/docs/guide/platform/installation/maintenance.md +3 -1
  223. package/skills/void/docs/guide/platform/installation/prerequisites.md +21 -16
  224. package/skills/void/docs/guide/platform/installation/setup.md +9 -5
  225. package/skills/void/docs/guide/platform/installation/uninstall.md +17 -2
  226. package/skills/void/docs/guide/platform-administration.md +2 -0
  227. package/skills/void/docs/guide/queues.md +7 -9
  228. package/skills/void/docs/guide/quickstart.md +38 -37
  229. package/skills/void/docs/guide/remote-dev.md +4 -9
  230. package/skills/void/docs/guide/sandboxes.md +78 -41
  231. package/skills/void/docs/guide/server-routing.md +9 -72
  232. package/skills/void/docs/guide/sse.md +4 -18
  233. package/skills/void/docs/guide/ssg.md +3 -15
  234. package/skills/void/docs/guide/ssr.md +14 -62
  235. package/skills/void/docs/guide/storage.md +9 -4
  236. package/skills/void/docs/guide/type-safety.md +3 -14
  237. package/skills/void/docs/guide/typed-fetch.md +3 -7
  238. package/skills/void/docs/guide/websockets.md +68 -40
  239. package/skills/void/docs/integrations/agents.md +3 -3
  240. package/skills/void/docs/integrations/cloudflare.md +85 -316
  241. package/skills/void/docs/integrations/frameworks/analog.md +5 -64
  242. package/skills/void/docs/integrations/frameworks/astro.md +4 -73
  243. package/skills/void/docs/integrations/frameworks/nuxt.md +5 -62
  244. package/skills/void/docs/integrations/frameworks/overview.md +11 -54
  245. package/skills/void/docs/integrations/frameworks/react-router.md +5 -60
  246. package/skills/void/docs/integrations/frameworks/sveltekit.md +6 -65
  247. package/skills/void/docs/integrations/frameworks/tanstack-start.md +4 -62
  248. package/skills/void/docs/integrations/nodejs-bun-deno.md +5 -69
  249. package/skills/void/docs/reference/api/auth.md +156 -0
  250. package/skills/void/docs/reference/api/client.md +87 -0
  251. package/skills/void/docs/reference/api/database.md +95 -0
  252. package/skills/void/docs/reference/api/durable.md +46 -0
  253. package/skills/void/docs/reference/api/env.md +50 -0
  254. package/skills/void/docs/reference/api/handlers.md +254 -0
  255. package/skills/void/docs/reference/api/pages.md +241 -0
  256. package/skills/void/docs/reference/api/plugin.md +39 -0
  257. package/skills/void/docs/reference/api/resources.md +109 -0
  258. package/skills/void/docs/reference/api/rewrites.md +76 -0
  259. package/skills/void/docs/reference/api/types.md +92 -0
  260. package/skills/void/docs/reference/api.md +56 -1218
  261. package/skills/void/docs/reference/cli/auth.md +88 -0
  262. package/skills/void/docs/reference/cli/database.md +128 -0
  263. package/skills/void/docs/reference/cli/deploy.md +85 -0
  264. package/skills/void/docs/reference/cli/domains.md +41 -0
  265. package/skills/void/docs/reference/cli/email.md +129 -0
  266. package/skills/void/docs/reference/cli/generate.md +116 -0
  267. package/skills/void/docs/reference/cli/github.md +189 -0
  268. package/skills/void/docs/reference/cli/platform-config.md +92 -0
  269. package/skills/void/docs/reference/cli/platform-email.md +81 -0
  270. package/skills/void/docs/reference/cli/platform-installation.md +127 -0
  271. package/skills/void/docs/reference/cli/platform-operations.md +90 -0
  272. package/skills/void/docs/reference/cli/platform-users.md +89 -0
  273. package/skills/void/docs/reference/cli/platform-zero-trust.md +45 -0
  274. package/skills/void/docs/reference/cli/platform.md +70 -0
  275. package/skills/void/docs/reference/cli/project.md +214 -0
  276. package/skills/void/docs/reference/cli/secrets.md +76 -0
  277. package/skills/void/docs/reference/cli/setup.md +70 -0
  278. package/skills/void/docs/reference/cli.md +33 -1621
  279. package/skills/void/docs/reference/config.md +26 -32
  280. package/skills/void/docs/reference/resource-inference.md +3 -58
  281. package/skills/void/docs/reference/structure.md +14 -41
  282. package/dist/canonical-json-DuDiiUsQ.mjs +0 -13
  283. package/dist/cli/cf-compat.mjs +0 -968
  284. package/dist/client-4cDVv7BO.mjs +0 -2
  285. package/dist/gen-Vnv2f65C.mjs +0 -2
  286. package/dist/help-DQMfeKMz.mjs +0 -2
  287. package/dist/login-DFQk7rbW.mjs +0 -2
  288. package/dist/migrate-TsHGBnDA.mjs +0 -2
  289. package/dist/plan-BEZ8VJW0.mjs +0 -256
  290. package/dist/plan-DpuOr14e.mjs +0 -2
  291. package/dist/prepare-BZXkjdNe.mjs +0 -2
  292. package/dist/validate-EKmJWxmy.mjs +0 -2
  293. /package/dist/cli/{cf-compat.d.mts → cloudflare-operation-process.d.mts} +0 -0
@@ -0,0 +1,113 @@
1
+ import { a as join, l as relative } from "./dist-BVqXeR_h.mjs";
2
+ import { a as deriveWebSocketClassNameFromName, o as inferWebSocketResourceName } from "./plugin-inference-CXWnn79A.mjs";
3
+ import { m as readConfig } from "./config-Br_JZD6u.mjs";
4
+ import { a as inferDurableResourceName, i as deriveDurableResourceIdentity, t as analyzeApplicationSync } from "./application-analysis-BVsVqc11.mjs";
5
+ import { n as VOID_LOCK_FILE } from "./cloudflare-config-Bktvwtpf.mjs";
6
+ import { existsSync, readFileSync } from "node:fs";
7
+ //#region src/cli/info.ts
8
+ function isRecord(value) {
9
+ return typeof value === "object" && value !== null && !Array.isArray(value);
10
+ }
11
+ function readRecordedResources(root, resources) {
12
+ const path = join(root, VOID_LOCK_FILE);
13
+ if (!existsSync(path)) return [];
14
+ let lock;
15
+ try {
16
+ lock = JSON.parse(readFileSync(path, "utf8"));
17
+ } catch {
18
+ throw new Error("info: Invalid void.lock.json. Fix or restore it before continuing.");
19
+ }
20
+ if (!isRecord(lock) || lock.version !== 1 || !isRecord(lock.resolved)) throw new Error("info: Invalid void.lock.json. Fix or restore it before continuing.");
21
+ const durable = lock.resolved.durable_objects;
22
+ const bindings = isRecord(durable) && Array.isArray(durable.bindings) ? durable.bindings : [];
23
+ const migrations = Array.isArray(lock.resolved.migrations) ? lock.resolved.migrations : [];
24
+ const recorded = [];
25
+ for (const binding of bindings) {
26
+ if (!isRecord(binding) || typeof binding.name !== "string" || typeof binding.class_name !== "string" || binding.script_name !== void 0) continue;
27
+ const className = binding.class_name;
28
+ const bindingName = binding.name;
29
+ if (resources.some((resource) => resource.className === className && resource.bindingName === bindingName)) continue;
30
+ const resource = {
31
+ className,
32
+ bindingName
33
+ };
34
+ if (className.endsWith("Ws") && bindingName === className) {
35
+ const name = className.slice(0, -2);
36
+ if (name && deriveWebSocketClassNameFromName(name) === className) {
37
+ resource.name = name;
38
+ resource.definition = "defineRoom | defineWebSocket";
39
+ }
40
+ } else if (className.endsWith("DurableObject")) {
41
+ const candidates = [className.slice(0, -13), bindingName.toLowerCase().replaceAll("_", "-")];
42
+ for (const name of candidates) {
43
+ if (!name) continue;
44
+ const identity = deriveDurableResourceIdentity(name);
45
+ const matchesMigration = migrations.some((migration) => {
46
+ if (!isRecord(migration) || migration.tag !== identity.migrationTag) return false;
47
+ return [migration.new_classes, migration.new_sqlite_classes].some((classes) => Array.isArray(classes) && classes.includes(className));
48
+ });
49
+ if (identity.className === className && identity.bindingName === bindingName && matchesMigration) {
50
+ resource.name = name;
51
+ resource.definition = "defineDurableState";
52
+ break;
53
+ }
54
+ }
55
+ }
56
+ recorded.push(resource);
57
+ }
58
+ return recorded.sort((a, b) => a.className.localeCompare(b.className) || a.bindingName.localeCompare(b.bindingName));
59
+ }
60
+ /** Inspect source without provisioning, generating files, or consulting credentials. */
61
+ function getProjectInfo(root) {
62
+ const analysis = analyzeApplicationSync(root, { config: readConfig(root) });
63
+ const resources = [...analysis.websockets.map((route) => ({
64
+ file: relative(root, analysis.paths.routesDir) + "/" + route.filePath,
65
+ definition: route.mode === "room" ? "defineRoom" : "defineWebSocket",
66
+ name: route.name ?? inferWebSocketResourceName(route.filePath),
67
+ nameSource: route.name === void 0 ? "inferred" : "explicit",
68
+ className: route.className,
69
+ bindingName: route.bindingName,
70
+ route: route.pattern
71
+ })), ...analysis.durableObjects.map((module) => ({
72
+ file: relative(root, module.filePath),
73
+ definition: "defineDurableState",
74
+ name: module.name ?? inferDurableResourceName(module.filePath),
75
+ nameSource: module.name === void 0 ? "inferred" : "explicit",
76
+ className: module.className,
77
+ bindingName: module.bindingName
78
+ }))];
79
+ resources.sort((a, b) => a.file.localeCompare(b.file));
80
+ return {
81
+ resources,
82
+ recordedResources: readRecordedResources(root, resources)
83
+ };
84
+ }
85
+ function formatProjectInfo(info) {
86
+ if (info.resources.length === 0 && info.recordedResources.length === 0) return "No persistent resource definitions found in this project.";
87
+ return [info.resources.map((resource) => {
88
+ const lines = [
89
+ resource.file,
90
+ ` ${resource.nameSource === "inferred" ? "Inferred" : "Explicit"} name: ${resource.name}`,
91
+ ` Class: ${resource.className}`,
92
+ ` Binding: ${resource.bindingName}`
93
+ ];
94
+ if (resource.nameSource === "inferred") lines.push(` To preserve this resource when moving its code, add this to '${resource.definition}':`, ` name: ${JSON.stringify(resource.name)},`);
95
+ else lines.push(" Keep this name when moving its code to preserve the resource.");
96
+ return lines.join("\n");
97
+ }).join("\n\n"), info.recordedResources.map((resource) => {
98
+ const lines = [
99
+ "Recorded in void.lock.json (no matching source definition)",
100
+ ` Class: ${resource.className}`,
101
+ ` Binding: ${resource.bindingName}`
102
+ ];
103
+ if (resource.name !== void 0) lines.push(` If this is the resource you moved, use this name in its ${resource.definition} definition:`, ` name: ${JSON.stringify(resource.name)},`);
104
+ else lines.push(" Restore the original definition from source history and run void info to discover its name.");
105
+ return lines.join("\n");
106
+ }).join("\n\n")].filter(Boolean).join("\n\n");
107
+ }
108
+ async function runInfoCommand(root, args) {
109
+ const info = getProjectInfo(root);
110
+ console.log(args.json ? JSON.stringify(info, null, 2) : formatProjectInfo(info));
111
+ }
112
+ //#endregion
113
+ export { runInfoCommand };
@@ -1,25 +1,26 @@
1
1
  import { a as join, i as isAbsolute, l as relative, n as dirname, t as basename, u as resolve } from "./dist-BVqXeR_h.mjs";
2
- import { r as cliTitle } from "./output-CCH48AMM.mjs";
2
+ import { r as detectFramework } from "./plugin-inference-CXWnn79A.mjs";
3
3
  import { n as readProjectPaths, o as TYPED_CONFIG_FILE } from "./project-paths-GgcMozYz.mjs";
4
- import { c as getToken, u as isStagingMode } from "./auth-DLNN0D3Z.mjs";
4
+ import { m as readConfig, u as getDatabaseDialect } from "./config-Br_JZD6u.mjs";
5
+ import { c as getToken, u as isStagingMode } from "./auth-CSkdO2Bb.mjs";
5
6
  import { d as writeProjectConfig, i as readDeploymentPlatform, l as writeDeploymentPlatform, o as readProjectConfig, t as attachSelectedPlatform } from "./project-C0Fqu05O.mjs";
6
- import { m as readConfig, u as getDatabaseDialect } from "./config-CafTW6Cz.mjs";
7
- import { L as materializeCloudflareConfig, i as LATEST_KNOWN_COMPAT_DATE, k as writeProvisionedWranglerConfig } from "./wrangler-BymcxrRa.mjs";
7
+ import { r as materializeCloudflareConfig } from "./cloudflare-config-Bktvwtpf.mjs";
8
+ import { A as writeProvisionedWranglerConfig, i as LATEST_KNOWN_COMPAT_DATE } from "./wrangler-7K-bW_DL.mjs";
8
9
  import { n as ensureProjectTsconfig, t as createProjectTsconfig } from "./project-tsconfig-B8GeM0RM.mjs";
9
- import { r as detectFramework } from "./plugin-inference-BMfKRSqE.mjs";
10
10
  import { n as parseDotenvFile, t as expandDotenv } from "./dotenv-VQxupEUv.mjs";
11
- import { t as MagicString } from "./dist-BR1quN_w.mjs";
12
- import { B as text, E as confirm, I as select, N as note, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
11
+ import { t as MagicString } from "./dist-AoCzRTJE.mjs";
12
+ import { B as text, E as confirm, I as select, N as note, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
13
13
  import { t as writeDrizzleConfig } from "./config-D8MOgiQV.mjs";
14
14
  import { n as getPackageDir, t as detectAgents } from "./agents-B_pX_HmQ.mjs";
15
- import { n as PlatformClient } from "./client-QTl6ko_D.mjs";
16
- import { r as formatProjectCommand } from "./preset-UHj9ARyP.mjs";
17
- import { n as writeVoidProjectConfig, t as canRewriteVoidProjectConfig } from "./config-write-BSduPMY8.mjs";
18
- import { i as migrateFrameworkAdapterPaths, t as migrateLegacyVoidConfig } from "./migrate-B8KuoYsO.mjs";
19
- import { i as promptProjectSelection, r as promptAndCreateProject } from "./create-project-DBfFSZKY.mjs";
20
- import { t as promptForLoginToken } from "./login-DvqXsfGs.mjs";
21
- import { i as saveDiscoveredPlatform, t as discoverPlatform } from "./platform-cmd-DNl8WosH.mjs";
22
- import { t as connectCloudflare } from "./cloudflare-connect-jAwacxxP.mjs";
15
+ import { n as PlatformClient } from "./client-RV8NVeB8.mjs";
16
+ import { o as formatProjectCommand } from "./cloudflare-process-B-wekeR6.mjs";
17
+ import { n as writeVoidProjectConfig, t as canRewriteVoidProjectConfig } from "./config-write-B1f88wJA.mjs";
18
+ import { i as migrateFrameworkAdapterPaths, t as migrateLegacyVoidConfig } from "./migrate-DHul7PRV.mjs";
19
+ import { r as cliTitle } from "./output-Dm_A4Tbv.mjs";
20
+ import { a as promptProjectSelection, r as promptAndCreateProject } from "./create-project-bMf6ffLZ.mjs";
21
+ import { t as promptForLoginToken } from "./login-UZKFM_u7.mjs";
22
+ import { i as saveDiscoveredPlatform, t as discoverPlatform } from "./platform-cmd-DMcQStSc.mjs";
23
+ import { t as connectCloudflare } from "./cloudflare-connect-B8uPZ4nx.mjs";
23
24
  import { n as findInstalledYarnPnpRuntime, r as hasLocalLockfile, t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-BV4AzNul.mjs";
24
25
  import { createRequire } from "node:module";
25
26
  import { existsSync, mkdirSync, readFileSync, readdirSync, rmdirSync, unlinkSync, writeFileSync } from "node:fs";
@@ -411,6 +412,7 @@ function getIndexServer() {
411
412
  return `import { defineHandler, type InferProps } from "void";
412
413
  import { db, desc } from "void/db";
413
414
  import { messages } from "@schema";
415
+ import { createInsertSchema } from "void/drizzle-zod";
414
416
 
415
417
  export type Props = InferProps<typeof loader>;
416
418
 
@@ -418,6 +420,11 @@ export const loader = defineHandler(async () => {
418
420
  const rows = await db.select().from(messages).orderBy(desc(messages.id));
419
421
  return { messages: rows };
420
422
  });
423
+ export const action = defineHandler.withValidator({
424
+ body: createInsertSchema(messages, { text: schema => schema.trim().min(1).max(1000) }).pick({ text: true }),
425
+ })(async (_c, { body }) => {
426
+ await db.insert(messages).values(body);
427
+ });
421
428
  `;
422
429
  }
423
430
  function getHelloRoute(frameworkLabel, starterMode) {
@@ -523,9 +530,11 @@ function getIndexPage(framework, starterMode) {
523
530
  `;
524
531
  }
525
532
  switch (framework) {
526
- case "react": return `import type { Props } from "./index.server";
533
+ case "react": return `import { Form, useForm } from "${SCAFFOLD_FRAMEWORKS[framework].adapterPackage}";
534
+ import type { Props } from "./index.server";
527
535
 
528
536
  export default function HomePage({ messages }: Props) {
537
+ const form = useForm("/", { text: "" });
529
538
  return (
530
539
  <main>
531
540
  <h1>Welcome to Void</h1>
@@ -552,14 +561,20 @@ export default function HomePage({ messages }: Props) {
552
561
  ))}
553
562
  </ul>
554
563
  )}
564
+ <Form form={form}>
565
+ <label>Message <input value={form.data.text} onChange={event => form.setData("text", event.target.value)} /></label>
566
+ <button disabled={form.pending}>Add message</button>
567
+ </Form>
555
568
  </main>
556
569
  );
557
570
  }
558
571
  `;
559
572
  case "vue": return `<script setup lang="ts">
560
573
  import type { Props } from "./index.server";
574
+ import { Form, useForm } from "@void/vue";
561
575
 
562
576
  defineProps<Props>();
577
+ const form = useForm("/", { text: "" });
563
578
  <\/script>
564
579
 
565
580
  <template>
@@ -583,11 +598,17 @@ defineProps<Props>();
583
598
  <small>{{ String(message.createdAt) }}</small>
584
599
  </li>
585
600
  </ul>
601
+ <Form :form="form">
602
+ <label>Message <input v-model="form.data.text" /></label>
603
+ <button :disabled="form.pending">Add message</button>
604
+ </Form>
586
605
  </main>
587
606
  </template>
588
607
  `;
589
608
  case "svelte": return `<script lang="ts">
590
609
  import type { Props } from "./index.server";
610
+ import { Form, useForm } from "@void/svelte";
611
+ const form = useForm("/", { text: "" });
591
612
 
592
613
  let { messages }: Props = $props();
593
614
  <\/script>
@@ -617,11 +638,17 @@ defineProps<Props>();
617
638
  {/each}
618
639
  </ul>
619
640
  {/if}
641
+ <Form {form}>
642
+ <label>Message <input bind:value={form.data.text} /></label>
643
+ <button disabled={form.pending}>Add message</button>
644
+ </Form>
620
645
  </main>
621
646
  `;
622
- case "solid": return `import type { Props } from "./index.server";
647
+ case "solid": return `import { Form, useForm } from "${SCAFFOLD_FRAMEWORKS[framework].adapterPackage}";
648
+ import type { Props } from "./index.server";
623
649
 
624
650
  export default function HomePage(props: Props) {
651
+ const form = useForm("/", { text: "" });
625
652
  return (
626
653
  <main>
627
654
  <h1>Welcome to Void</h1>
@@ -648,6 +675,10 @@ export default function HomePage(props: Props) {
648
675
  ))}
649
676
  </ul>
650
677
  )}
678
+ <Form form={form}>
679
+ <label>Message <input value={form.data.text} onInput={event => form.setData("text", event.target.value)} /></label>
680
+ <button disabled={form.pending}>Add message</button>
681
+ </Form>
651
682
  </main>
652
683
  );
653
684
  }
@@ -1901,7 +1932,7 @@ async function ensureVoidPlatformConnection(root) {
1901
1932
  let selectedApiUrl = null;
1902
1933
  let promptedForPlatform = false;
1903
1934
  try {
1904
- const { getApiUrl, getSiteDomain } = await import("./auth-CZuiVsFh.mjs");
1935
+ const { getApiUrl, getSiteDomain } = await import("./auth-CCjt0hcq.mjs");
1905
1936
  selectedApiUrl = getApiUrl(root);
1906
1937
  getSiteDomain(root);
1907
1938
  } catch (error) {
@@ -2646,7 +2677,7 @@ async function runInitCommand(root, initArgs) {
2646
2677
  injectAgentBlock(root);
2647
2678
  const agents = detectAgents(root);
2648
2679
  if (agents.length > 0) {
2649
- const { linkSkillsForSpecificAgents } = await import("./skills-O6FUaizK.mjs");
2680
+ const { linkSkillsForSpecificAgents } = await import("./skills-D1II1Juz.mjs");
2650
2681
  linkSkillsForSpecificAgents(root, agents);
2651
2682
  } else log.info("No coding agent detected; read the bundled docs linked in AGENTS.md");
2652
2683
  }
@@ -2680,7 +2711,7 @@ async function runInitCommand(root, initArgs) {
2680
2711
  let shouldSetupGithub = targeted ? initArgs?.github === true : deploymentPlatform !== "none";
2681
2712
  if (shouldSetupGithub && !githubStepSkipForSubpackage && deploymentPlatform !== "cloudflare" && deploymentPlatform !== "none") {
2682
2713
  if (!voidPlatformDiscovery) {
2683
- const { getApiUrl } = await import("./auth-CZuiVsFh.mjs");
2714
+ const { getApiUrl } = await import("./auth-CCjt0hcq.mjs");
2684
2715
  voidPlatformDiscovery = await discoverPlatform(getApiUrl(root));
2685
2716
  }
2686
2717
  if (!voidPlatformDiscovery.capabilities.githubActions) {
@@ -0,0 +1,27 @@
1
+ import { UsageLimitData, UsageLimitData as UsageLimitData$1, readUsageLimit as readUsageLimit$1 } from "@void/edge";
2
+ //#region src/runtime/limits.d.ts
3
+ declare class UsageLimit extends Error {
4
+ override readonly name: string;
5
+ readonly code: "usage_limit";
6
+ readonly resource: UsageLimitData["resource"];
7
+ readonly reason: UsageLimitData["reason"];
8
+ readonly retryAt?: string;
9
+ constructor(data: Omit<UsageLimitData, "code">);
10
+ response(options?: {
11
+ message?: string;
12
+ }): Response;
13
+ getResponse(): Response;
14
+ }
15
+ type LimitHandlers<T, R, L> = {
16
+ ok(value: T): R | Promise<R>;
17
+ limited(limit: UsageLimit): L | Promise<L>;
18
+ };
19
+ interface LimitOperation<T> {
20
+ match<R, L>(handlers: LimitHandlers<T, R, L>): Promise<R | L>;
21
+ }
22
+ /** Lazy, single-execution operation. Quota callbacks never catch failures from the user's ok handler. */
23
+ declare function limitOperation<T>(execute: () => Promise<T>, classify?: (error: unknown) => UsageLimit | null, prepare?: (value: T, limited: (limit: UsageLimit) => unknown) => T): LimitOperation<T>;
24
+ declare function asUsageLimit(error: unknown): UsageLimit | null;
25
+ declare function limitFromResponse(response: Response, resource: UsageLimitData["resource"]): Promise<UsageLimit | null>;
26
+ //#endregion
27
+ export { asUsageLimit as a, readUsageLimit$1 as c, UsageLimitData$1 as i, LimitOperation as n, limitFromResponse as o, UsageLimit as r, limitOperation as s, LimitHandlers as t };
@@ -0,0 +1,68 @@
1
+ import { readUsageLimit, readUsageLimit as readUsageLimit$1, usageLimitResponse } from "@void/edge";
2
+ //#region src/runtime/limits.ts
3
+ var UsageLimit = class extends Error {
4
+ name = "UsageLimit";
5
+ code = "usage_limit";
6
+ resource;
7
+ reason;
8
+ retryAt;
9
+ constructor(data) {
10
+ super(data.message);
11
+ this.resource = data.resource;
12
+ this.reason = data.reason;
13
+ this.retryAt = data.retryAt;
14
+ }
15
+ response(options = {}) {
16
+ return usageLimitResponse({
17
+ code: this.code,
18
+ resource: this.resource,
19
+ reason: this.reason,
20
+ message: options.message ?? this.message,
21
+ ...this.retryAt ? { retryAt: this.retryAt } : {}
22
+ });
23
+ }
24
+ getResponse() {
25
+ return this.response();
26
+ }
27
+ };
28
+ /** Lazy, single-execution operation. Quota callbacks never catch failures from the user's ok handler. */
29
+ function limitOperation(execute, classify = asUsageLimit, prepare) {
30
+ let result;
31
+ return Object.freeze({
32
+ get then() {
33
+ throw new TypeError("Use .match({ ok, limited }) to execute this operation.");
34
+ },
35
+ async match(handlers) {
36
+ if (typeof handlers?.ok !== "function" || typeof handlers?.limited !== "function") throw new TypeError("Both ok and limited handlers are required.");
37
+ let value;
38
+ try {
39
+ value = await (result ??= Promise.resolve().then(execute));
40
+ } catch (error) {
41
+ const limit = classify(error);
42
+ if (limit) return handlers.limited(limit);
43
+ throw error;
44
+ }
45
+ return handlers.ok(prepare ? prepare(value, handlers.limited) : value);
46
+ }
47
+ });
48
+ }
49
+ function asUsageLimit(error) {
50
+ if (error instanceof UsageLimit) return error;
51
+ const data = readUsageLimit(error);
52
+ return data ? new UsageLimit(data) : null;
53
+ }
54
+ async function limitFromResponse(response, resource) {
55
+ if (response.status !== 429) return null;
56
+ const data = readUsageLimit(await response.clone().json().catch(() => null));
57
+ if (data) return new UsageLimit(data);
58
+ const retry = response.headers.get("retry-after");
59
+ const retryTime = retry === null ? NaN : /^\d+$/.test(retry) ? Date.now() + Number(retry) * 1e3 : Date.parse(retry);
60
+ return new UsageLimit({
61
+ resource,
62
+ reason: "rate_limit",
63
+ message: `${resource === "ai" ? "AI" : "Service"} is temporarily unavailable because its usage limit was reached.`,
64
+ ...Number.isFinite(retryTime) ? { retryAt: new Date(retryTime).toISOString() } : {}
65
+ });
66
+ }
67
+ //#endregion
68
+ export { readUsageLimit$1 as a, limitOperation as i, asUsageLimit as n, limitFromResponse as r, UsageLimit as t };
@@ -1,9 +1,9 @@
1
- import { c as import_picocolors, r as cliTitle } from "./output-CCH48AMM.mjs";
2
- import { c as getToken, s as getSiteDomain } from "./auth-DLNN0D3Z.mjs";
1
+ import { c as getToken, s as getSiteDomain } from "./auth-CSkdO2Bb.mjs";
3
2
  import { d as writeProjectConfig, o as readProjectConfig, t as attachSelectedPlatform } from "./project-C0Fqu05O.mjs";
4
- import { O as intro, P as outro, T as cancel, j as log } from "./dist-Dn6nn2IU.mjs";
5
- import { n as PlatformClient } from "./client-QTl6ko_D.mjs";
6
- import { i as promptProjectSelection, r as promptAndCreateProject } from "./create-project-DBfFSZKY.mjs";
3
+ import { O as intro, P as outro, T as cancel, j as log } from "./dist-CTBk70IR.mjs";
4
+ import { n as PlatformClient } from "./client-RV8NVeB8.mjs";
5
+ import { c as import_picocolors, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
6
+ import { a as promptProjectSelection, r as promptAndCreateProject } from "./create-project-bMf6ffLZ.mjs";
7
7
  import { r as resolveProjectBySlug } from "./resolve-project-BG5ORGID.mjs";
8
8
  //#region src/cli/link.ts
9
9
  function projectLabel(slug, root, url) {
@@ -1,8 +1,8 @@
1
- import { a as dim, c as import_picocolors, o as ensureUtc, r as cliTitle, u as tablePrefix } from "./output-CCH48AMM.mjs";
2
- import { c as getToken } from "./auth-DLNN0D3Z.mjs";
1
+ import { c as getToken } from "./auth-CSkdO2Bb.mjs";
3
2
  import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
4
- import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
5
- import { n as PlatformClient } from "./client-QTl6ko_D.mjs";
3
+ import { O as intro, P as outro, j as log } from "./dist-CTBk70IR.mjs";
4
+ import { n as PlatformClient } from "./client-RV8NVeB8.mjs";
5
+ import { a as dim, c as import_picocolors, d as tablePrefix, o as ensureUtc, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
6
6
  import { r as resolveProjectBySlug } from "./resolve-project-BG5ORGID.mjs";
7
7
  //#region src/cli/list.ts
8
8
  async function runListCommand(root, slug) {
@@ -43,7 +43,7 @@ async function runListCommand(root, slug) {
43
43
  }
44
44
  async function showCloudflareDeployments(root, slug) {
45
45
  if (slug) throw new Error("project: A project name selects a Void platform project and is not used for direct Cloudflare apps.");
46
- const { readCloudflareWorkerStatus, resolveCloudflareOperationContext } = await import("./cloudflare-operations-BipGMJ5O.mjs");
46
+ const { readCloudflareWorkerStatus, resolveCloudflareOperationContext } = await import("./cloudflare-operations-AiWashgg.mjs");
47
47
  const status = await readCloudflareWorkerStatus(resolveCloudflareOperationContext(root));
48
48
  if (status.versions.length === 0) {
49
49
  outro(`No deployments for ${status.workerName}.`);
@@ -1,5 +1,5 @@
1
1
  import { r as AuthUser } from "./auth-DkcFflXV.mjs";
2
- import { a as CloudEnv, r as CloudContext } from "./handler-BXJTXd02.mjs";
2
+ import { a as CloudEnv, r as CloudContext } from "./handler-CZ4nAylQ.mjs";
3
3
  //#region src/runtime/live.d.ts
4
4
  type MaybePromise<T> = T | Promise<T>;
5
5
  type LiveControlRequest = {
@@ -1,6 +1,6 @@
1
1
  import { a as join, i as isAbsolute, u as resolve } from "./dist-BVqXeR_h.mjs";
2
- import { v as readRootWranglerConfig } from "./wrangler-BymcxrRa.mjs";
3
- import { r as getMiniflareDatabasePath } from "./runner-p-dMs2UN.mjs";
2
+ import { y as readRootWranglerConfig } from "./wrangler-7K-bW_DL.mjs";
3
+ import { r as getMiniflareDatabasePath } from "./runner-Ol0TNjk6.mjs";
4
4
  import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
5
5
  import { createHash } from "node:crypto";
6
6
  //#region src/local-d1.ts
@@ -0,0 +1,2 @@
1
+ import { r as selectPlatformLoginMethod } from "./login-UZKFM_u7.mjs";
2
+ export { selectPlatformLoginMethod };
@@ -1,7 +1,7 @@
1
- import { c as import_picocolors, i as createSpinner, r as cliTitle } from "./output-CCH48AMM.mjs";
2
- import { _ as saveToken, a as getApiUrl, c as getToken, g as savePlatformToken, h as runPlatformLogin, l as getTokenSource, m as runLogin, p as removeToken, u as isStagingMode } from "./auth-DLNN0D3Z.mjs";
3
- import { I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
4
- import { i as isExpiredTokenError, n as PlatformClient } from "./client-QTl6ko_D.mjs";
1
+ import { _ as saveToken, a as getApiUrl, c as getToken, g as savePlatformToken, h as runPlatformLogin, l as getTokenSource, m as runLogin, p as removeToken, u as isStagingMode } from "./auth-CSkdO2Bb.mjs";
2
+ import { I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-CTBk70IR.mjs";
3
+ import { i as isExpiredTokenError, n as PlatformClient } from "./client-RV8NVeB8.mjs";
4
+ import { c as import_picocolors, i as createSpinner, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
5
5
  //#region src/cli/login.ts
6
6
  async function selectPlatformLoginMethod(platform, requestedId) {
7
7
  const providers = platform?.authenticationProviders ?? ["github", "google"];
@@ -29,7 +29,7 @@ async function selectPlatformLoginMethod(platform, requestedId) {
29
29
  return methods.find((method) => method.id === provider);
30
30
  }
31
31
  async function promptForLoginToken(root = process.cwd(), platform) {
32
- const { id: provider, label: providerName } = await selectPlatformLoginMethod(platform ?? await import("./platform-cmd-C4ZV3Vpy.mjs").then(({ discoverPlatform }) => discoverPlatform(getApiUrl(root))));
32
+ const { id: provider, label: providerName } = await selectPlatformLoginMethod(platform ?? await import("./platform-cmd-Bt-1w6pY.mjs").then(({ discoverPlatform }) => discoverPlatform(getApiUrl(root))));
33
33
  const s = createSpinner();
34
34
  s.start(`Opening browser for ${providerName} login...`);
35
35
  try {
@@ -1,15 +1,15 @@
1
- import { a as dim, c as import_picocolors, r as cliTitle } from "./output-CCH48AMM.mjs";
2
- import { c as getToken } from "./auth-DLNN0D3Z.mjs";
1
+ import { c as getToken } from "./auth-CSkdO2Bb.mjs";
3
2
  import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-C0Fqu05O.mjs";
4
- import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
5
- import { n as PlatformClient } from "./client-QTl6ko_D.mjs";
3
+ import { O as intro, P as outro, j as log } from "./dist-CTBk70IR.mjs";
4
+ import { n as PlatformClient } from "./client-RV8NVeB8.mjs";
5
+ import { a as dim, c as import_picocolors, r as cliTitle } from "./output-Dm_A4Tbv.mjs";
6
6
  //#region src/cli/logs.ts
7
7
  async function runLogsCommand(root, filter, range, deployment, level) {
8
8
  console.log();
9
9
  intro(cliTitle("project logs"));
10
10
  const platform = readDeploymentPlatform(root);
11
11
  if (platform === "cloudflare") {
12
- const { resolveCloudflareOperationContext, tailCloudflareWorker } = await import("./cloudflare-operations-BipGMJ5O.mjs");
12
+ const { resolveCloudflareOperationContext, tailCloudflareWorker } = await import("./cloudflare-operations-AiWashgg.mjs");
13
13
  if (range !== "1h") log.warn("Cloudflare tail streams live logs; --range does not select historical entries.");
14
14
  if (level && level !== "all" && level !== "error") log.warn("Cloudflare tail cannot filter individual console levels; showing all invocation logs.");
15
15
  await tailCloudflareWorker(resolveCloudflareOperationContext(root), {
@@ -0,0 +1,2 @@
1
+ import { n as runMigrateCommand } from "./migrate-DHul7PRV.mjs";
2
+ export { runMigrateCommand };
@@ -1,9 +1,10 @@
1
1
  import { a as join, n as dirname } from "./dist-BVqXeR_h.mjs";
2
- import { r as cliTitle } from "./output-CCH48AMM.mjs";
3
2
  import { o as TYPED_CONFIG_FILE, s as loadTypedVoidConfigFile } from "./project-paths-GgcMozYz.mjs";
4
- import { g as validateConfig } from "./config-CafTW6Cz.mjs";
5
- import { B as seedCloudflareConfig, I as VOID_LOCK_FILE, V as stashCloudflareDeployPointer } from "./wrangler-BymcxrRa.mjs";
6
- import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
3
+ import { g as validateConfig } from "./config-Br_JZD6u.mjs";
4
+ import { n as VOID_LOCK_FILE, o as seedCloudflareConfig, s as stashCloudflareDeployPointer } from "./cloudflare-config-Bktvwtpf.mjs";
5
+ import "./wrangler-7K-bW_DL.mjs";
6
+ import { O as intro, P as outro, j as log } from "./dist-CTBk70IR.mjs";
7
+ import { r as cliTitle } from "./output-Dm_A4Tbv.mjs";
7
8
  import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
8
9
  import { parseSync } from "vite";
9
10
  import { randomUUID } from "node:crypto";
@@ -1,7 +1,7 @@
1
1
  import { a as join } from "./dist-BVqXeR_h.mjs";
2
2
  import { n as loadVoidAuthConfig, t as findVoidAuthConfig } from "./config-DPByhVck.mjs";
3
- import { m as readConfig } from "./config-CafTW6Cz.mjs";
4
- import { r as getMiniflareDatabasePath } from "./runner-p-dMs2UN.mjs";
3
+ import { m as readConfig } from "./config-Br_JZD6u.mjs";
4
+ import { r as getMiniflareDatabasePath } from "./runner-Ol0TNjk6.mjs";
5
5
  import { a as loadLocalEnv } from "./env-_v349JBd.mjs";
6
6
  import { r as resolveVoidAuthMigrationSchema } from "./drizzle-Beb2Am5S.mjs";
7
7
  import { n as applyPgAuthMigrations, r as applySqliteAuthMigrations, t as applyMySqlAuthMigrations } from "./auth-migrations-9vif1uj8.mjs";