void 0.10.12 → 0.20.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 (431) hide show
  1. package/AGENTS_TEMPLATE.md +6 -0
  2. package/{skills/void/docs/node_modules/void/node_modules/pglite-server/LICENSE.md → LICENSE} +1 -1
  3. package/README.md +34 -8
  4. package/dist/{auth-qgMlYp7Z.d.mts → auth-DkcFflXV.d.mts} +10 -11
  5. package/dist/auth-W9WII-mN.mjs +630 -0
  6. package/dist/{auth-cmd-BqsdZJp5.mjs → auth-cmd-CYVhSNFy.mjs} +4 -3
  7. package/dist/{auth-migrations-BTZ-ATvQ.mjs → auth-migrations-9vif1uj8.mjs} +53 -12
  8. package/dist/{better-auth-shared-BQooDxbw.mjs → better-auth-shared-CYw1T3k4.mjs} +7 -10
  9. package/dist/{better-auth-shared-DealXecJ.d.mts → better-auth-shared-DSCeohOK.d.mts} +10 -5
  10. package/dist/{build-cmd-Bujrv5q-.mjs → build-cmd-CkVD1uOh.mjs} +6 -4
  11. package/dist/{cache-C11V8Fxq.mjs → cache-QcUfR-ff.mjs} +9 -5
  12. package/dist/{cancel-deploy-fwFYF04b.mjs → cancel-deploy-DsvWKFTe.mjs} +3 -2
  13. package/dist/cf-access-AJ1ehiFR.mjs +42 -0
  14. package/dist/cf-access-DsSsZUPr.mjs +67 -0
  15. package/dist/cli/cli.d.mts +1 -1
  16. package/dist/cli/cli.mjs +1592 -153
  17. package/dist/cli/env-schema-probe.d.mts +48 -61
  18. package/dist/cli/env-schema-probe.mjs +10 -58
  19. package/dist/{client-Gb71-XkG.mjs → client-CyCHWSO_.mjs} +61 -463
  20. package/dist/cloudflare-auth-DRkGe7-s.mjs +170 -0
  21. package/dist/cloudflare-cmd-D3ME2GAe.mjs +62 -0
  22. package/dist/cloudflare-connect-BivMefMA.mjs +56 -0
  23. package/dist/cloudflare-operations-CPTpRW6d.mjs +566 -0
  24. package/dist/{config-BkTvs43g.mjs → config-BQFq7QvD.mjs} +85 -41
  25. package/dist/{config-CutEMNGJ.mjs → config-NOG_U1aK.mjs} +10 -15
  26. package/dist/connect-D9Yr-T5f.mjs +79 -0
  27. package/dist/{create-project-DsYvl3TB.mjs → create-project-DMV-csEm.mjs} +26 -16
  28. package/dist/database-provider.d.mts +21 -0
  29. package/dist/database-provider.mjs +6 -0
  30. package/dist/{db-DOiJMRt2.mjs → db-BxoUWL0F.mjs} +600 -115
  31. package/dist/{delete-mh6p-zkQ.mjs → delete-iJOqxBz1.mjs} +9 -6
  32. package/dist/{deploy-u7Rv9q_q.mjs → deploy-CcDoeBIf.mjs} +3451 -1986
  33. package/dist/dev-inbox-DkgRWLkW.mjs +307 -0
  34. package/dist/{discover-CJHyvYfR.mjs → discover-xvfrgJeo.mjs} +3 -3
  35. package/dist/{magic-string.es-ZQjdJFFn.mjs → dist-BR1quN_w.mjs} +570 -216
  36. package/dist/{dist-DaKKDf8D.mjs → dist-BrsS7cai.mjs} +17 -2
  37. package/dist/{dist-BuiRJkTd.mjs → dist-m40_XgNh.mjs} +48 -33
  38. package/dist/{domain-DiaNQbrl.mjs → domain-gu_iaHmn.mjs} +41 -4
  39. package/dist/dotenv-VQxupEUv.mjs +181 -0
  40. package/dist/edge.d.mts +2 -0
  41. package/dist/edge.mjs +2 -0
  42. package/dist/email-Ce6SQq-i.mjs +182 -0
  43. package/dist/email-r6DHJyAB.mjs +262 -0
  44. package/dist/{entry-D7yy4xVH.mjs → entry-DU3oDoQ3.mjs} +2 -2
  45. package/dist/env-D4Emu-M_.mjs +95 -0
  46. package/dist/env-DmU2To0C.mjs +73 -0
  47. package/dist/env-helpers-CyKtOBpj.d.mts +22 -0
  48. package/dist/env-public-D_6u46fX.d.mts +135 -0
  49. package/dist/{env-types-QBj-ndax.mjs → env-types-BNPhro-M.mjs} +2 -2
  50. package/dist/{env-validation-Dea3v3ej.mjs → env-validation-ENpMy6Ez.mjs} +68 -122
  51. package/dist/{gen-o_w-8yI8.mjs → gen-BKw6qHIg.mjs} +70 -15
  52. package/dist/{github-cmd-DKcGUNsj.mjs → github-cmd-DJS5Ab-H.mjs} +39 -31
  53. package/dist/{handler-Cjh8uM3Y.d.mts → handler-D1hLsObx.d.mts} +124 -122
  54. package/dist/{head-nmvOgFjd.d.mts → head-Do8P4puT.d.mts} +9 -8
  55. package/dist/{headers-nsHIFixA.mjs → headers-D8QfRX9Y.mjs} +12 -10
  56. package/dist/inbound-BJ70in1n.d.mts +354 -0
  57. package/dist/inbound-CNKxb3FY.mjs +694 -0
  58. package/dist/index.d.mts +61 -34
  59. package/dist/index.mjs +1048 -321
  60. package/dist/{init-3rgHKBVi.mjs → init-Dx5cgKqK.mjs} +329 -271
  61. package/dist/link-D_rm5sRH.mjs +52 -0
  62. package/dist/{list-CPwFDZ_c.mjs → list-M8XShti7.mjs} +37 -5
  63. package/dist/{runner-kapo9aPs.mjs → local-d1-BE8KBbMy.mjs} +116 -6
  64. package/dist/{login-BT3H8PN3.mjs → login-C8-UuLnp.mjs} +17 -15
  65. package/dist/{logs-Bt313ax7.mjs → logs-DwFU7dMW.mjs} +16 -2
  66. package/dist/mime-BJD7d_qL.mjs +1216 -0
  67. package/dist/neon-DHwd2zvC.mjs +54 -0
  68. package/dist/{node-Da0UcsGA.mjs → node-BkaXcpAc.mjs} +29 -8
  69. package/dist/operator-cmd-DYWRbWUA.mjs +348 -0
  70. package/dist/{agents-CtgBYqld.mjs → output-tFQLLj26.mjs} +676 -211
  71. package/dist/{package-json-Cx1osYo6.mjs → package-json-CPoWX79C.mjs} +1 -1
  72. package/dist/pages/client.d.mts +43 -41
  73. package/dist/pages/client.mjs +40 -33
  74. package/dist/pages/head-client.d.mts +10 -12
  75. package/dist/pages/head.d.mts +1 -1
  76. package/dist/pages/index.d.mts +37 -14
  77. package/dist/pages/index.mjs +5 -5
  78. package/dist/pages/islands-plugin.d.mts +25 -27
  79. package/dist/pages/islands-plugin.mjs +6 -4
  80. package/dist/pages/prefetch.d.mts +6 -7
  81. package/dist/pages/protocol.d.mts +2 -2
  82. package/dist/pages/protocol.mjs +2 -1
  83. package/dist/pages/serialize.d.mts +7 -8
  84. package/dist/platform-cmd-BEOVv1PN.mjs +123 -0
  85. package/dist/platform-domain-BszUfiS8.mjs +228 -0
  86. package/dist/platform-lifecycle-CjSr6xf0.mjs +4450 -0
  87. package/dist/platform-management-W30iCaTL.mjs +698 -0
  88. package/dist/platform-recovery-pHHv4ZSg.mjs +99 -0
  89. package/dist/{plugin-inference-DMeavIJ6.mjs → plugin-inference-BDRfZngg.mjs} +35 -19
  90. package/dist/prepare-BfJvFUtJ.mjs +14 -0
  91. package/dist/{prepare-BoKHgMNx.mjs → prepare-CBetXvsN.mjs} +15 -24
  92. package/dist/{preset-BjyR3lzz.mjs → preset-lAy0B0BQ.mjs} +25 -212
  93. package/dist/{project-cmd-D_w-4w5B.mjs → project-cmd-DCpk1cDt.mjs} +25 -12
  94. package/dist/{project-paths-BQd7OmIo.mjs → project-paths-SK8nMHPp.mjs} +3 -1
  95. package/dist/{project-tsconfig-B-QtXjLQ.mjs → project-tsconfig-Ql2XsSQp.mjs} +2 -2
  96. package/dist/{protocol-Bnb0LFp3.d.mts → protocol-C-pqYJjE.d.mts} +3 -4
  97. package/dist/{provision-rShh6MKY.mjs → provision-Blnstcm2.mjs} +78 -45
  98. package/dist/r2-conditions-D1Wk8i7b.mjs +30 -0
  99. package/dist/{requests-B8sZxaFM.mjs → requests-Dn8Vheh1.mjs} +5 -3
  100. package/dist/{resolve-project-BBMtLLV9.mjs → resolve-project--Vxawf7z.mjs} +2 -2
  101. package/dist/rollback-CtlPXEBi.mjs +166 -0
  102. package/dist/{rolldown-runtime-DJK8HYOj.mjs → rolldown-runtime-rQ84J-ij.mjs} +1 -1
  103. package/dist/{route-types-COI2DsZv.mjs → route-types-Da-DpyUp.mjs} +85 -26
  104. package/dist/routes-stub.d.mts +22 -23
  105. package/dist/runner-mysql-CgRFl3s6.mjs +61 -0
  106. package/dist/{runner-pg-CHM76xuC.mjs → runner-pg-DCkWPsWS.mjs} +18 -6
  107. package/dist/runtime/ai.d.mts +21 -14
  108. package/dist/runtime/ai.mjs +5 -4
  109. package/dist/runtime/auth-client-react.d.mts +3 -5
  110. package/dist/runtime/auth-client-solid.d.mts +3 -5
  111. package/dist/runtime/auth-client-svelte.d.mts +3 -5
  112. package/dist/runtime/auth-client-vue.d.mts +3 -5
  113. package/dist/runtime/auth-client.d.mts +3 -5
  114. package/dist/runtime/auth.d.mts +1 -1
  115. package/dist/runtime/better-auth-mysql.d.mts +10 -0
  116. package/dist/runtime/better-auth-mysql.mjs +49 -0
  117. package/dist/runtime/better-auth-pg.d.mts +8 -9
  118. package/dist/runtime/better-auth-pg.mjs +2 -2
  119. package/dist/runtime/better-auth.d.mts +8 -9
  120. package/dist/runtime/better-auth.mjs +2 -2
  121. package/dist/runtime/client-react.d.mts +1 -1
  122. package/dist/runtime/client-solid.d.mts +1 -1
  123. package/dist/runtime/client-svelte.d.mts +1 -1
  124. package/dist/runtime/client-vue.d.mts +1 -1
  125. package/dist/runtime/client.d.mts +1 -1
  126. package/dist/runtime/db-mysql.d.mts +2 -0
  127. package/dist/runtime/db-mysql.mjs +1 -0
  128. package/dist/runtime/db.d.mts +10 -11
  129. package/dist/runtime/durable.d.mts +47 -0
  130. package/dist/runtime/durable.mjs +146 -0
  131. package/dist/runtime/email/testing.d.mts +112 -0
  132. package/dist/runtime/email/testing.mjs +283 -0
  133. package/dist/runtime/email.d.mts +30 -0
  134. package/dist/runtime/email.mjs +573 -0
  135. package/dist/runtime/env-helpers.d.mts +2 -2
  136. package/dist/runtime/env-helpers.mjs +5 -42
  137. package/dist/runtime/env-public-client.d.mts +10 -11
  138. package/dist/runtime/env-public-client.mjs +1 -1
  139. package/dist/runtime/env-public.d.mts +2 -2
  140. package/dist/runtime/env-public.mjs +104 -49
  141. package/dist/runtime/env.d.mts +19 -18
  142. package/dist/runtime/env.mjs +15 -2
  143. package/dist/runtime/fetch-stream.d.mts +20 -21
  144. package/dist/runtime/fetch.d.mts +15 -16
  145. package/dist/runtime/handler.d.mts +1 -1
  146. package/dist/runtime/isr.d.mts +21 -22
  147. package/dist/runtime/isr.mjs +26 -8
  148. package/dist/runtime/kv.d.mts +9 -10
  149. package/dist/runtime/live-client.d.mts +5 -7
  150. package/dist/runtime/live-client.mjs +9 -7
  151. package/dist/runtime/live-server.d.mts +4 -5
  152. package/dist/runtime/live.d.mts +22 -24
  153. package/dist/runtime/live.mjs +1 -1
  154. package/dist/runtime/log.d.mts +16 -17
  155. package/dist/runtime/migration-handler-mysql.d.mts +4 -0
  156. package/dist/runtime/migration-handler-mysql.mjs +81 -0
  157. package/dist/runtime/migration-handler-pg.d.mts +2 -4
  158. package/dist/runtime/migration-handler.d.mts +5 -6
  159. package/dist/runtime/migration-handler.mjs +4 -3
  160. package/dist/runtime/queues.d.mts +3 -4
  161. package/dist/runtime/queues.mjs +2 -1
  162. package/dist/runtime/remote/binding-handler.d.mts +10 -12
  163. package/dist/runtime/remote/binding-handler.mjs +24 -3
  164. package/dist/runtime/remote/index.d.mts +5 -6
  165. package/dist/runtime/remote/index.mjs +21 -18
  166. package/dist/runtime/response.d.mts +10 -11
  167. package/dist/runtime/sandbox.d.mts +56 -55
  168. package/dist/runtime/sandbox.mjs +57 -49
  169. package/dist/runtime/schema-mysql.d.mts +1 -0
  170. package/dist/runtime/schema-mysql.mjs +2 -0
  171. package/dist/runtime/seed.d.mts +14 -9
  172. package/dist/runtime/sse-client.d.mts +6 -7
  173. package/dist/runtime/sse.d.mts +11 -12
  174. package/dist/runtime/storage.d.mts +3 -4
  175. package/dist/runtime/validator.d.mts +1 -1
  176. package/dist/runtime/ws-server.d.mts +12 -12
  177. package/dist/runtime/ws-server.mjs +32 -4
  178. package/dist/runtime/ws.d.mts +19 -21
  179. package/dist/{scan-DYXkrasO.mjs → scan-BMH4rzlv.mjs} +53 -31
  180. package/dist/{scan-DEwlM_Xy.mjs → scan-CpK-57ug.mjs} +9 -5
  181. package/dist/{secret-Dt32J6RI.mjs → secret-BqTxGqki.mjs} +62 -5
  182. package/dist/{skills-CLjN0uUO.mjs → skills-Q46GZMO-.mjs} +6 -4
  183. package/dist/{standard-schema-DJ0HW7QP.d.mts → standard-schema-Fo_vCAZh.d.mts} +6 -6
  184. package/dist/{subcommand-prompt-BzV8iQZo.mjs → subcommand-prompt-WfySCQ7S.mjs} +67 -48
  185. package/dist/sveltekit.d.mts +12 -11
  186. package/dist/sveltekit.mjs +1 -1
  187. package/dist/types-BAp5AEBU.d.mts +79 -0
  188. package/dist/types-CKWnYgfy.d.mts +1 -0
  189. package/dist/{validate-Cw_RLeTj.mjs → validate-Bihr8WBi.mjs} +3 -3
  190. package/dist/wrangler--imS8n0d.mjs +1796 -0
  191. package/dist/{yarn-pnp-DJn3SAHF.mjs → yarn-pnp-DxSInkzL.mjs} +1 -1
  192. package/package.json +79 -65
  193. package/schema.json +35 -3
  194. package/skills/migrate-vite-cloudflare-to-void/SKILL.md +1 -1
  195. package/skills/void/SKILL.md +59 -2
  196. package/skills/void/docs/guide/ai.md +32 -14
  197. package/skills/void/docs/guide/app-types.md +6 -6
  198. package/skills/void/docs/guide/auth.md +14 -16
  199. package/skills/void/docs/guide/database/d1.md +6 -0
  200. package/skills/void/docs/guide/database/mysql.md +60 -0
  201. package/skills/void/docs/guide/database/postgresql.md +14 -9
  202. package/skills/void/docs/guide/database.md +39 -26
  203. package/skills/void/docs/guide/deployment.md +163 -22
  204. package/skills/void/docs/guide/durable-state.md +140 -0
  205. package/skills/void/docs/guide/edge/headers.md +5 -5
  206. package/skills/void/docs/guide/edge/prerendering.md +2 -0
  207. package/skills/void/docs/guide/edge/revalidation.md +21 -6
  208. package/skills/void/docs/guide/edge/rewrites.md +18 -14
  209. package/skills/void/docs/guide/edge/static-assets.md +23 -8
  210. package/skills/void/docs/guide/email.md +609 -0
  211. package/skills/void/docs/guide/env-migration.md +109 -0
  212. package/skills/void/docs/guide/env-vars.md +70 -248
  213. package/skills/void/docs/guide/index.md +15 -17
  214. package/skills/void/docs/guide/jobs.md +8 -5
  215. package/skills/void/docs/guide/live.md +7 -15
  216. package/skills/void/docs/guide/pages-routing/actions-and-forms.md +8 -4
  217. package/skills/void/docs/guide/pages-routing/islands.md +3 -3
  218. package/skills/void/docs/guide/pages-routing/loaders.md +6 -4
  219. package/skills/void/docs/guide/pages-routing/overview.md +7 -7
  220. package/skills/void/docs/guide/platform-administration.md +212 -0
  221. package/skills/void/docs/guide/platform-development.md +235 -0
  222. package/skills/void/docs/guide/queues.md +10 -10
  223. package/skills/void/docs/guide/quickstart.md +46 -67
  224. package/skills/void/docs/guide/remote-dev.md +8 -6
  225. package/skills/void/docs/guide/sandboxes.md +33 -16
  226. package/skills/void/docs/guide/self-hosted-platform.md +553 -0
  227. package/skills/void/docs/guide/server-routing.md +25 -5
  228. package/skills/void/docs/guide/sse.md +4 -4
  229. package/skills/void/docs/guide/ssg.md +5 -3
  230. package/skills/void/docs/guide/storage.md +2 -2
  231. package/skills/void/docs/guide/websockets.md +18 -7
  232. package/skills/void/docs/index.md +3 -3
  233. package/skills/void/docs/integrations/agents.md +6 -64
  234. package/skills/void/docs/integrations/cloudflare.md +165 -146
  235. package/skills/void/docs/integrations/frameworks/analog.md +4 -4
  236. package/skills/void/docs/integrations/frameworks/astro.md +5 -5
  237. package/skills/void/docs/integrations/frameworks/nuxt.md +5 -5
  238. package/skills/void/docs/integrations/frameworks/overview.md +3 -3
  239. package/skills/void/docs/integrations/frameworks/react-router.md +3 -3
  240. package/skills/void/docs/integrations/frameworks/sveltekit.md +3 -3
  241. package/skills/void/docs/integrations/frameworks/tanstack-start.md +2 -2
  242. package/skills/void/docs/integrations/nodejs-bun-deno.md +11 -4
  243. package/skills/void/docs/reference/api.md +42 -6
  244. package/skills/void/docs/reference/cli.md +637 -159
  245. package/skills/void/docs/reference/config.md +80 -25
  246. package/skills/void/docs/reference/resource-inference.md +13 -9
  247. package/skills/void/docs/reference/structure.md +10 -11
  248. package/AGENT_PROMPT.md +0 -19
  249. package/dist/cf-access-Bqw81xAf.mjs +0 -22
  250. package/dist/env-CZy5MorI.mjs +0 -299
  251. package/dist/env-helpers-z4stu8uc.d.mts +0 -52
  252. package/dist/env-mask-Dd47NbR6.mjs +0 -90
  253. package/dist/env-public-BfiLcMBk.d.mts +0 -140
  254. package/dist/link-CdGHSIy-.mjs +0 -45
  255. package/dist/mcp-DoM3_nhd.mjs +0 -377
  256. package/dist/project-paths-GpziKeQQ.d.mts +0 -25
  257. package/dist/providers-BNKRacMr.d.mts +0 -7
  258. package/dist/proxy-D-3_D-Gl.mjs +0 -5
  259. package/dist/rollback-CkvTFXx5.mjs +0 -90
  260. package/dist/runtime/isr-cache.d.mts +0 -207
  261. package/dist/runtime/isr-cache.mjs +0 -523
  262. package/dist/types-lLjNE9Qp.d.mts +0 -51
  263. package/getting-started-prompt.txt +0 -28
  264. package/skills/void/command/void.md +0 -7
  265. package/skills/void/docs/integrations/auth-providers.md +0 -0
  266. package/skills/void/docs/integrations/payment-processors.md +0 -0
  267. package/skills/void/docs/node_modules/@iconify/vue/README.md +0 -408
  268. package/skills/void/docs/node_modules/@iconify/vue/offline/readme.md +0 -5
  269. package/skills/void/docs/node_modules/@voidzero-dev/vitepress-theme/README.md +0 -103
  270. package/skills/void/docs/node_modules/oxc-minify/README.md +0 -78
  271. package/skills/void/docs/node_modules/reka-ui/README.md +0 -80
  272. package/skills/void/docs/node_modules/vitepress/README.md +0 -28
  273. package/skills/void/docs/node_modules/vitepress/template/api-examples.md +0 -49
  274. package/skills/void/docs/node_modules/vitepress/template/index.md +0 -28
  275. package/skills/void/docs/node_modules/vitepress/template/markdown-examples.md +0 -85
  276. package/skills/void/docs/node_modules/vitepress-plugin-group-icons/README.md +0 -101
  277. package/skills/void/docs/node_modules/void/AGENT_PROMPT.md +0 -19
  278. package/skills/void/docs/node_modules/void/CLAUDE.md +0 -219
  279. package/skills/void/docs/node_modules/void/README.md +0 -90
  280. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/CHANGELOG.md +0 -685
  281. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/README.md +0 -396
  282. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/sandbox/README.md +0 -219
  283. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/vite-plugin/README.md +0 -37
  284. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/workers-types/README.md +0 -135
  285. package/skills/void/docs/node_modules/void/node_modules/@electric-sql/pglite/README.md +0 -189
  286. package/skills/void/docs/node_modules/void/node_modules/@hono/oauth-providers/CHANGELOG.md +0 -143
  287. package/skills/void/docs/node_modules/void/node_modules/@hono/oauth-providers/README.md +0 -1272
  288. package/skills/void/docs/node_modules/void/node_modules/@napi-rs/keyring/README.md +0 -19
  289. package/skills/void/docs/node_modules/void/node_modules/@types/better-sqlite3/README.md +0 -15
  290. package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +0 -15
  291. package/skills/void/docs/node_modules/void/node_modules/@types/pg/README.md +0 -15
  292. package/skills/void/docs/node_modules/void/node_modules/@types/proper-lockfile/README.md +0 -51
  293. package/skills/void/docs/node_modules/void/node_modules/@typescript/native-preview/README.md +0 -22
  294. package/skills/void/docs/node_modules/void/node_modules/@typescript/native-preview/vendor/vscode-jsonrpc/README.md +0 -69
  295. package/skills/void/docs/node_modules/void/node_modules/@void/md/README.md +0 -153
  296. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@shikijs/engine-javascript/README.md +0 -9
  297. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@shikijs/transformers/README.md +0 -9
  298. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +0 -15
  299. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/gray-matter/CHANGELOG.md +0 -24
  300. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/gray-matter/README.md +0 -565
  301. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-exit/README.md +0 -127
  302. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-anchor/README.md +0 -600
  303. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-attrs/README.md +0 -386
  304. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-container/README.md +0 -95
  305. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-emoji/README.md +0 -101
  306. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-footnote/README.md +0 -135
  307. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/pathslash/README.md +0 -64
  308. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/shiki/README.md +0 -15
  309. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tinyglobby/README.md +0 -25
  310. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +0 -16
  311. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +0 -220
  312. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +0 -21
  313. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/check.md +0 -35
  314. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/create.md +0 -70
  315. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +0 -20
  316. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +0 -35
  317. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +0 -26
  318. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +0 -17
  319. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +0 -364
  320. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +0 -15
  321. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +0 -18
  322. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +0 -145
  323. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/build.md +0 -40
  324. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +0 -107
  325. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +0 -60
  326. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +0 -62
  327. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +0 -60
  328. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +0 -341
  329. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/dev.md +0 -24
  330. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/docker.md +0 -175
  331. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +0 -167
  332. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/fmt.md +0 -41
  333. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/github-actions-cache.md +0 -165
  334. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +0 -101
  335. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/implode.md +0 -23
  336. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +0 -134
  337. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +0 -199
  338. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/lint.md +0 -50
  339. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate-rules.md +0 -347
  340. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +0 -197
  341. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/monorepo.md +0 -176
  342. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +0 -69
  343. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +0 -356
  344. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/test.md +0 -35
  345. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +0 -108
  346. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +0 -101
  347. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/vpx.md +0 -66
  348. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/why.md +0 -39
  349. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/index.md +0 -12
  350. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/team.md +0 -35
  351. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/generator/README.md +0 -35
  352. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/monorepo/README.md +0 -29
  353. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vue/README.md +0 -58
  354. package/skills/void/docs/node_modules/void/node_modules/arktype/README.md +0 -165
  355. package/skills/void/docs/node_modules/void/node_modules/better-auth/LICENSE.md +0 -20
  356. package/skills/void/docs/node_modules/void/node_modules/better-auth/README.md +0 -32
  357. package/skills/void/docs/node_modules/void/node_modules/better-sqlite3/README.md +0 -99
  358. package/skills/void/docs/node_modules/void/node_modules/blake3-jit/README.md +0 -108
  359. package/skills/void/docs/node_modules/void/node_modules/drizzle-arktype/README.md +0 -51
  360. package/skills/void/docs/node_modules/void/node_modules/drizzle-kit/README.md +0 -79
  361. package/skills/void/docs/node_modules/void/node_modules/drizzle-orm/README.md +0 -44
  362. package/skills/void/docs/node_modules/void/node_modules/drizzle-valibot/README.md +0 -51
  363. package/skills/void/docs/node_modules/void/node_modules/drizzle-zod/README.md +0 -65
  364. package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +0 -403
  365. package/skills/void/docs/node_modules/void/node_modules/estree-walker/README.md +0 -48
  366. package/skills/void/docs/node_modules/void/node_modules/hono/README.md +0 -85
  367. package/skills/void/docs/node_modules/void/node_modules/ignore/README.md +0 -452
  368. package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/CHANGELOG.md +0 -76
  369. package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/LICENSE.md +0 -21
  370. package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/README.md +0 -364
  371. package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/SECURITY.md +0 -41
  372. package/skills/void/docs/node_modules/void/node_modules/magic-string/README.md +0 -325
  373. package/skills/void/docs/node_modules/void/node_modules/ofetch/README.md +0 -398
  374. package/skills/void/docs/node_modules/void/node_modules/pathslash/README.md +0 -64
  375. package/skills/void/docs/node_modules/void/node_modules/pg/README.md +0 -96
  376. package/skills/void/docs/node_modules/void/node_modules/pglite-server/README.md +0 -135
  377. package/skills/void/docs/node_modules/void/node_modules/picocolors/README.md +0 -21
  378. package/skills/void/docs/node_modules/void/node_modules/proper-lockfile/CHANGELOG.md +0 -108
  379. package/skills/void/docs/node_modules/void/node_modules/proper-lockfile/README.md +0 -183
  380. package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +0 -25
  381. package/skills/void/docs/node_modules/void/node_modules/valibot/LICENSE.md +0 -9
  382. package/skills/void/docs/node_modules/void/node_modules/valibot/README.md +0 -94
  383. package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +0 -16
  384. package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +0 -220
  385. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +0 -21
  386. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/check.md +0 -35
  387. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/create.md +0 -70
  388. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +0 -20
  389. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +0 -35
  390. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +0 -26
  391. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +0 -17
  392. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +0 -364
  393. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +0 -15
  394. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +0 -18
  395. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +0 -145
  396. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/build.md +0 -40
  397. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +0 -107
  398. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +0 -60
  399. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +0 -62
  400. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +0 -60
  401. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +0 -341
  402. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/dev.md +0 -24
  403. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/docker.md +0 -175
  404. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +0 -167
  405. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/fmt.md +0 -41
  406. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/github-actions-cache.md +0 -165
  407. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +0 -101
  408. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/implode.md +0 -23
  409. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +0 -134
  410. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +0 -199
  411. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/lint.md +0 -50
  412. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate-rules.md +0 -347
  413. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +0 -197
  414. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/monorepo.md +0 -176
  415. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +0 -69
  416. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +0 -356
  417. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/test.md +0 -35
  418. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +0 -108
  419. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +0 -101
  420. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/vpx.md +0 -66
  421. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/why.md +0 -39
  422. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/index.md +0 -12
  423. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/team.md +0 -35
  424. package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/generator/README.md +0 -35
  425. package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/monorepo/README.md +0 -29
  426. package/skills/void/docs/node_modules/void/node_modules/wrangler/README.md +0 -63
  427. package/skills/void/docs/node_modules/void/node_modules/zod/README.md +0 -191
  428. package/skills/void/docs/node_modules/void/skills/migrate-vite-cloudflare-to-void/SKILL.md +0 -175
  429. package/skills/void/docs/node_modules/void/skills/void/SKILL.md +0 -76
  430. package/skills/void/docs/node_modules/void/skills/void/command/void.md +0 -7
  431. package/skills/void/docs/node_modules/void/test/e2e/README.md +0 -85
@@ -1,8 +1,7 @@
1
- import { t as StandardSchemaV1 } from "../standard-schema-DJ0HW7QP.mjs";
2
- import { r as AuthUser } from "../auth-qgMlYp7Z.mjs";
3
- import { a as CloudEnv } from "../handler-Cjh8uM3Y.mjs";
1
+ import { t as StandardSchemaV1 } from "../standard-schema-Fo_vCAZh.mjs";
2
+ import { r as AuthUser } from "../auth-DkcFflXV.mjs";
3
+ import { a as CloudEnv } from "../handler-D1hLsObx.mjs";
4
4
  import { WebSocketRouteMap } from "void/routes";
5
-
6
5
  //#region src/runtime/ws.d.ts
7
6
  type MaybePromise<T> = T | Promise<T>;
8
7
  type ParamsRecord = Record<string, string>;
@@ -17,19 +16,19 @@ type ServerEventOf<P extends keyof WebSocketRouteMap> = WsEntry<P> extends {
17
16
  server: infer T;
18
17
  } ? T : never;
19
18
  type HasParams<P extends keyof WebSocketRouteMap> = ParamsOf<P> extends Record<string, never> ? false : [keyof ParamsOf<P>] extends [never] ? false : true;
20
- type WebSocketConnection<ServerEvent = unknown> = {
19
+ export type WebSocketConnection<ServerEvent = unknown> = {
21
20
  readonly id: string;
22
21
  readonly state: unknown;
23
22
  send(event: ServerEvent): Promise<void>;
24
23
  close(code?: number, reason?: string): void;
25
24
  setState(data: unknown): void;
26
25
  };
27
- type RoomController<ServerEvent = unknown> = {
26
+ export type RoomController<ServerEvent = unknown> = {
28
27
  broadcast(event: ServerEvent, excludeIds?: Array<string>): Promise<void>;
29
28
  getConnections(): Iterable<WebSocketConnection<ServerEvent>>;
30
29
  getConnection(id: string): WebSocketConnection<ServerEvent> | undefined;
31
30
  };
32
- type WebSocketBaseContext = {
31
+ export type WebSocketBaseContext = {
33
32
  readonly id: string;
34
33
  readonly params: ParamsRecord;
35
34
  readonly user: AuthUser | null;
@@ -37,14 +36,14 @@ type WebSocketBaseContext = {
37
36
  readonly env: CloudEnv["Bindings"];
38
37
  readonly storage: DurableObjectStorage;
39
38
  };
40
- type RoomContext<ServerEvent = unknown> = WebSocketBaseContext & {
39
+ export type RoomContext<ServerEvent = unknown> = WebSocketBaseContext & {
41
40
  readonly room: RoomController<ServerEvent>;
42
41
  readonly connection: WebSocketConnection<ServerEvent>;
43
42
  };
44
- type SocketContext<ServerEvent = unknown> = WebSocketBaseContext & {
43
+ export type SocketContext<ServerEvent = unknown> = WebSocketBaseContext & {
45
44
  readonly socket: WebSocketConnection<ServerEvent>;
46
45
  };
47
- type RoomDefinition<ClientSchema extends StandardSchemaV1 = StandardSchemaV1, ServerSchema extends StandardSchemaV1 = StandardSchemaV1> = {
46
+ export type RoomDefinition<ClientSchema extends StandardSchemaV1 = StandardSchemaV1, ServerSchema extends StandardSchemaV1 = StandardSchemaV1> = {
48
47
  readonly __kind: "room";
49
48
  readonly messages: {
50
49
  client: ClientSchema;
@@ -60,7 +59,7 @@ type RoomDefinition<ClientSchema extends StandardSchemaV1 = StandardSchemaV1, Se
60
59
  }) => MaybePromise<void>;
61
60
  onRequest?: (ctx: RoomContext<StandardSchemaV1.InferInput<ServerSchema>>) => MaybePromise<Response>;
62
61
  };
63
- type SocketDefinition<ClientSchema extends StandardSchemaV1 = StandardSchemaV1, ServerSchema extends StandardSchemaV1 = StandardSchemaV1> = {
62
+ export type SocketDefinition<ClientSchema extends StandardSchemaV1 = StandardSchemaV1, ServerSchema extends StandardSchemaV1 = StandardSchemaV1> = {
64
63
  readonly __kind: "socket";
65
64
  readonly messages: {
66
65
  client: ClientSchema;
@@ -76,15 +75,15 @@ type SocketDefinition<ClientSchema extends StandardSchemaV1 = StandardSchemaV1,
76
75
  }) => MaybePromise<void>;
77
76
  onRequest?: (ctx: SocketContext<StandardSchemaV1.InferInput<ServerSchema>>) => MaybePromise<Response>;
78
77
  };
79
- type AnyWebSocketDefinition = RoomDefinition | SocketDefinition;
80
- declare function defineRoom<ClientSchema extends StandardSchemaV1, ServerSchema extends StandardSchemaV1>(definition: Omit<RoomDefinition<ClientSchema, ServerSchema>, "__kind">): RoomDefinition<ClientSchema, ServerSchema>;
81
- declare function defineWebSocket<ClientSchema extends StandardSchemaV1, ServerSchema extends StandardSchemaV1>(definition: Omit<SocketDefinition<ClientSchema, ServerSchema>, "__kind">): SocketDefinition<ClientSchema, ServerSchema>;
82
- type VoidSocketCloseEvent = {
78
+ export type AnyWebSocketDefinition = RoomDefinition | SocketDefinition;
79
+ export declare function defineRoom<ClientSchema extends StandardSchemaV1, ServerSchema extends StandardSchemaV1>(definition: Omit<RoomDefinition<ClientSchema, ServerSchema>, "__kind">): RoomDefinition<ClientSchema, ServerSchema>;
80
+ export declare function defineWebSocket<ClientSchema extends StandardSchemaV1, ServerSchema extends StandardSchemaV1>(definition: Omit<SocketDefinition<ClientSchema, ServerSchema>, "__kind">): SocketDefinition<ClientSchema, ServerSchema>;
81
+ export type VoidSocketCloseEvent = {
83
82
  code?: number;
84
83
  reason?: string;
85
84
  wasClean?: boolean;
86
85
  };
87
- type ConnectCommonOptions = {
86
+ export type ConnectCommonOptions = {
88
87
  baseURL?: string;
89
88
  reconnect?: boolean;
90
89
  reconnectDelayMs?: number;
@@ -102,7 +101,7 @@ type ListenerMap<ServerEvent> = {
102
101
  close: (event: VoidSocketCloseEvent) => void;
103
102
  error: (error: unknown) => void;
104
103
  };
105
- declare class VoidSocket<P extends keyof WebSocketRouteMap & string> {
104
+ export declare class VoidSocket<P extends keyof WebSocketRouteMap & string> {
106
105
  private readonly url;
107
106
  private readonly options;
108
107
  private socket;
@@ -117,7 +116,6 @@ declare class VoidSocket<P extends keyof WebSocketRouteMap & string> {
117
116
  close(code?: number, reason?: string): void;
118
117
  on<K extends keyof ListenerMap<ServerEventOf<P>>>(type: K, handler: ListenerMap<ServerEventOf<P>>[K]): () => void;
119
118
  }
120
- declare function connect<P extends keyof WebSocketRouteMap & string>(path: HasParams<P> extends false ? P : never): VoidSocket<P>;
121
- declare function connect<P extends keyof WebSocketRouteMap & string>(path: P, options: ConnectOptions<P>): VoidSocket<P>;
122
- //#endregion
123
- export { AnyWebSocketDefinition, ConnectCommonOptions, RoomContext, RoomController, RoomDefinition, SocketContext, SocketDefinition, VoidSocket, VoidSocketCloseEvent, WebSocketBaseContext, WebSocketConnection, connect, defineRoom, defineWebSocket };
119
+ export declare function connect<P extends keyof WebSocketRouteMap & string>(path: HasParams<P> extends false ? P : never): VoidSocket<P>;
120
+ export declare function connect<P extends keyof WebSocketRouteMap & string>(path: P, options: ConnectOptions<P>): VoidSocket<P>;
121
+ //#endregion
@@ -1,8 +1,9 @@
1
- import { a as join, i as isAbsolute, t as basename } from "./dist-DaKKDf8D.mjs";
2
- import { n as readProjectPaths } from "./project-paths-BQd7OmIo.mjs";
3
- import { n as globSync, t as glob } from "./dist-BuiRJkTd.mjs";
4
- import { c as isIdentifier, d as isObjectExpression, l as isLiteral, s as isCallExpression } from "./entry-D7yy4xVH.mjs";
5
- import { o as parseRouteFilename, s as parseWebSocketFilename, t as scanPages } from "./scan-DEwlM_Xy.mjs";
1
+ import { a as isAbsolute, o as join, t as basename } from "./dist-BrsS7cai.mjs";
2
+ import { n as readProjectPaths } from "./project-paths-SK8nMHPp.mjs";
3
+ import { n as globSync, t as glob } from "./dist-m40_XgNh.mjs";
4
+ import { c as isIdentifier, d as isObjectExpression, l as isLiteral, s as isCallExpression } from "./entry-DU3oDoQ3.mjs";
5
+ import { c as parseWebSocketFilename, o as isRouteEnabledForEnvironment, s as parseRouteFilename, t as scanPages } from "./scan-CpK-57ug.mjs";
6
+ import { i as scanEmailHandlers } from "./email-Ce6SQq-i.mjs";
6
7
  import { existsSync, readFileSync } from "node:fs";
7
8
  import { pathToFileURL } from "node:url";
8
9
  import { parseSync } from "vite";
@@ -56,7 +57,8 @@ function resolveDir(root, dir) {
56
57
  function parseJobFiles(root, jobsDir, files) {
57
58
  const jobsDirPath = resolveDir(root, jobsDir);
58
59
  return files.filter((filePath) => !filePath.split("/").some((segment) => segment.startsWith("_"))).sort((leftFilePath, rightFilePath) => leftFilePath.localeCompare(rightFilePath)).map((filePath) => {
59
- const source = readFileSync(join(jobsDirPath, filePath), "utf-8");
60
+ const absPath = join(jobsDirPath, filePath);
61
+ const source = readFileSync(absPath, "utf-8");
60
62
  return {
61
63
  filePath,
62
64
  name: extractJobName(filePath),
@@ -65,7 +67,8 @@ function parseJobFiles(root, jobsDir, files) {
65
67
  });
66
68
  }
67
69
  async function scanJobs(root, jobsDir = "crons") {
68
- return parseJobFiles(root, jobsDir, await glob(`**/*.{${JOB_EXTENSIONS.join(",")}}`, {
70
+ const pattern = `**/*.{${JOB_EXTENSIONS.join(",")}}`;
71
+ return parseJobFiles(root, jobsDir, await glob(pattern, {
69
72
  cwd: resolveDir(root, jobsDir),
70
73
  absolute: false
71
74
  }).catch(() => []));
@@ -92,9 +95,9 @@ const QUEUE_EXTENSIONS = [
92
95
  "mjs"
93
96
  ];
94
97
  function extractName(filePath) {
95
- return filePath.replace(/\.[^.]+$/, "");
98
+ return filePath.replace(/\.[^.]+$/, "").replaceAll("/", "-");
96
99
  }
97
- function deriveBindingName(name) {
100
+ function deriveQueueBindingName(name) {
98
101
  return "QUEUE_" + name.toUpperCase().replace(/[^A-Z0-9]/g, "_");
99
102
  }
100
103
  function extractConsumerOption(source, name) {
@@ -104,23 +107,39 @@ function extractConsumerOption(source, name) {
104
107
  }
105
108
  function parseQueueFiles(root, queuesDir, files) {
106
109
  const queuesDirPath = isAbsolute(queuesDir) ? queuesDir : join(root, queuesDir);
107
- return files.filter((filePath) => !filePath.split("/").some((segment) => segment.startsWith("_"))).sort((leftFilePath, rightFilePath) => leftFilePath.localeCompare(rightFilePath)).map((filePath) => {
108
- const source = readFileSync(join(queuesDirPath, filePath), "utf-8");
110
+ const definitions = files.filter((filePath) => !filePath.split("/").some((segment) => segment.startsWith("_"))).sort().map((filePath) => {
111
+ const absPath = join(queuesDirPath, filePath);
112
+ const source = readFileSync(absPath, "utf-8");
109
113
  const name = extractName(filePath);
110
114
  return {
111
115
  filePath,
112
116
  name,
113
- bindingName: deriveBindingName(name),
117
+ bindingName: deriveQueueBindingName(name),
114
118
  maxBatchSize: extractConsumerOption(source, "maxBatchSize"),
115
119
  maxBatchTimeout: extractConsumerOption(source, "maxBatchTimeout"),
116
120
  maxRetries: extractConsumerOption(source, "maxRetries"),
117
121
  retryDelay: extractConsumerOption(source, "retryDelay")
118
122
  };
119
123
  });
124
+ const filesByName = /* @__PURE__ */ new Map();
125
+ for (const definition of definitions) {
126
+ const matchingFiles = filesByName.get(definition.name) ?? [];
127
+ matchingFiles.push(definition.filePath);
128
+ filesByName.set(definition.name, matchingFiles);
129
+ }
130
+ const collisions = [...filesByName].filter(([, matchingFiles]) => matchingFiles.length > 1).sort(([leftName], [rightName]) => leftName < rightName ? -1 : leftName > rightName ? 1 : 0).map(([name, matchingFiles]) => ` ${JSON.stringify(name)}: ${matchingFiles.map((file) => JSON.stringify(file)).join(", ")}`);
131
+ if (collisions.length > 0) throw new Error([
132
+ "queue: Multiple queue files resolve to the same queue name:",
133
+ ...collisions,
134
+ "Rename the conflicting files so each queue has a unique name."
135
+ ].join("\n"));
136
+ return definitions;
120
137
  }
121
138
  async function scanQueues(root, queuesDir = "queues") {
122
- return parseQueueFiles(root, queuesDir, await glob(`**/*.{${QUEUE_EXTENSIONS.join(",")}}`, {
123
- cwd: isAbsolute(queuesDir) ? queuesDir : join(root, queuesDir),
139
+ const pattern = `**/*.{${QUEUE_EXTENSIONS.join(",")}}`;
140
+ const queuesDirPath = isAbsolute(queuesDir) ? queuesDir : join(root, queuesDir);
141
+ return parseQueueFiles(root, queuesDir, await glob(pattern, {
142
+ cwd: queuesDirPath,
124
143
  absolute: false
125
144
  }).catch(() => []));
126
145
  }
@@ -128,8 +147,9 @@ function scanQueuesSync(root, queuesDir = "queues") {
128
147
  const pattern = `**/*.{${QUEUE_EXTENSIONS.join(",")}}`;
129
148
  let files;
130
149
  try {
150
+ const queuesDirPath = isAbsolute(queuesDir) ? queuesDir : join(root, queuesDir);
131
151
  files = globSync(pattern, {
132
- cwd: isAbsolute(queuesDir) ? queuesDir : join(root, queuesDir),
152
+ cwd: queuesDirPath,
133
153
  absolute: false
134
154
  });
135
155
  } catch {
@@ -261,19 +281,20 @@ function buildWebSocketRoute(root, filePath, paths = readProjectPaths(root)) {
261
281
  hasAuthGate: info?.hasAuthGate ?? false
262
282
  };
263
283
  }
264
- function parseWebSocketFiles(root, files, paths = readProjectPaths(root)) {
265
- return files.filter((f) => isWebSocketRouteFile(f)).filter((f) => !f.split("/").some((segment) => segment.startsWith("_"))).map((filePath) => buildWebSocketRoute(root, filePath, paths)).sort((a, b) => {
284
+ function parseWebSocketFiles(root, files, paths = readProjectPaths(root), environment) {
285
+ return files.filter((f) => isWebSocketRouteFile(f)).filter((f) => !f.split("/").some((segment) => segment.startsWith("_"))).filter((filePath) => isRouteEnabledForEnvironment(parseWebSocketFilename(filePath), environment)).map((filePath) => buildWebSocketRoute(root, filePath, paths)).sort((a, b) => {
266
286
  if (a.catchAll !== b.catchAll) return a.catchAll ? 1 : -1;
267
287
  return a.pattern.localeCompare(b.pattern);
268
288
  });
269
289
  }
270
- async function scanWebSocketRoutes(root, paths = readProjectPaths(root)) {
271
- return parseWebSocketFiles(root, await glob(`**/*.{${HANDLER_EXTENSIONS.join(",")}}`, {
290
+ async function scanWebSocketRoutes(root, paths = readProjectPaths(root), environment) {
291
+ const pattern = `**/*.{${HANDLER_EXTENSIONS.join(",")}}`;
292
+ return parseWebSocketFiles(root, await glob(pattern, {
272
293
  cwd: paths.routesDir,
273
294
  absolute: false
274
- }).catch(() => []), paths);
295
+ }).catch(() => []), paths, environment);
275
296
  }
276
- function scanWebSocketRoutesSync(root, paths = readProjectPaths(root)) {
297
+ function scanWebSocketRoutesSync(root, paths = readProjectPaths(root), environment) {
277
298
  const pattern = `**/*.{${HANDLER_EXTENSIONS.join(",")}}`;
278
299
  let files;
279
300
  try {
@@ -284,7 +305,7 @@ function scanWebSocketRoutesSync(root, paths = readProjectPaths(root)) {
284
305
  } catch {
285
306
  files = [];
286
307
  }
287
- return parseWebSocketFiles(root, files, paths);
308
+ return parseWebSocketFiles(root, files, paths, environment);
288
309
  }
289
310
  function isWebSocketPatternFile(filePath) {
290
311
  return isWebSocketRouteFile(filePath);
@@ -324,12 +345,12 @@ function compareRouteSpecificity(a, b) {
324
345
  */
325
346
  async function scanRoutes(root, options) {
326
347
  const paths = options?.paths ?? readProjectPaths(root);
327
- const [routeFiles, websockets, middlewareFiles, jobs, queues, pages] = await Promise.all([
348
+ const [routeFiles, websockets, middlewareFiles, jobs, queues, pages, email] = await Promise.all([
328
349
  glob(ROUTE_PATTERN, {
329
350
  cwd: paths.routesDir,
330
351
  absolute: false
331
352
  }),
332
- scanWebSocketRoutes(root, paths),
353
+ scanWebSocketRoutes(root, paths, options?.environment),
333
354
  glob(ROUTE_PATTERN, {
334
355
  cwd: paths.middlewareDir,
335
356
  absolute: false
@@ -339,20 +360,21 @@ async function scanRoutes(root, options) {
339
360
  scanPages(root, {
340
361
  output: options?.output,
341
362
  paths
342
- })
363
+ }),
364
+ scanEmailHandlers(paths.sourceRoot)
343
365
  ]);
344
366
  const routesDir = paths.routesDir;
345
367
  return {
346
- routes: routeFiles.filter((f) => !isWebSocketPatternFile(f)).filter((f) => !f.split("/").some((s) => s.startsWith("_"))).map((f) => {
347
- const route = parseRouteFilename(f);
348
- route.methods = detectHttpExports(join(routesDir, f));
368
+ routes: routeFiles.filter((f) => !isWebSocketPatternFile(f)).filter((f) => !f.split("/").some((s) => s.startsWith("_"))).map((file) => parseRouteFilename(file)).filter((route) => isRouteEnabledForEnvironment(route, options?.environment)).map((route) => {
369
+ route.methods = detectHttpExports(join(routesDir, route.filePath));
349
370
  return route;
350
371
  }).sort(compareRouteSpecificity),
351
372
  websockets,
352
373
  middleware: parseMiddlewareDefinitions(middlewareFiles),
353
374
  jobs,
354
375
  queues,
355
- pages
376
+ pages,
377
+ email
356
378
  };
357
379
  }
358
380
  function scanMiddlewareSync(root, paths = readProjectPaths(root)) {
@@ -367,7 +389,7 @@ function scanMiddlewareSync(root, paths = readProjectPaths(root)) {
367
389
  }
368
390
  return parseMiddlewareDefinitions(middlewareFiles);
369
391
  }
370
- function scanRoutePatternsSync(root, paths = readProjectPaths(root)) {
392
+ function scanRoutePatternsSync(root, paths = readProjectPaths(root), environment) {
371
393
  let routeFiles;
372
394
  try {
373
395
  routeFiles = globSync(ROUTE_PATTERN, {
@@ -377,7 +399,7 @@ function scanRoutePatternsSync(root, paths = readProjectPaths(root)) {
377
399
  } catch {
378
400
  routeFiles = [];
379
401
  }
380
- return routeFiles.filter((f) => !isWebSocketPatternFile(f)).filter((f) => !f.split("/").some((s) => s.startsWith("_"))).map((f) => parseRouteFilename(f)).sort(compareRouteSpecificity);
402
+ return routeFiles.filter((f) => !isWebSocketPatternFile(f)).filter((f) => !f.split("/").some((s) => s.startsWith("_"))).map((f) => parseRouteFilename(f)).filter((route) => isRouteEnabledForEnvironment(route, environment)).sort(compareRouteSpecificity);
381
403
  }
382
404
  //#endregion
383
405
  export { scanQueuesSync as a, loadVoidAuthConfig as c, scanWebSocketRoutesSync as i, scanRoutePatternsSync as n, scanJobsSync as o, scanRoutes as r, findVoidAuthConfig as s, scanMiddlewareSync as t };
@@ -1,6 +1,6 @@
1
- import { a as join, n as dirname, r as extname, t as basename } from "./dist-DaKKDf8D.mjs";
2
- import { n as readProjectPaths } from "./project-paths-BQd7OmIo.mjs";
3
- import { t as glob } from "./dist-BuiRJkTd.mjs";
1
+ import { i as extname, n as dirname, o as join, t as basename } from "./dist-BrsS7cai.mjs";
2
+ import { n as readProjectPaths } from "./project-paths-SK8nMHPp.mjs";
3
+ import { t as glob } from "./dist-m40_XgNh.mjs";
4
4
  import { existsSync, readFileSync } from "node:fs";
5
5
  //#region src/router/parse-filename.ts
6
6
  const EXTENSIONS = [
@@ -74,6 +74,9 @@ function parseRouteFilename(relativePath) {
74
74
  function parseWebSocketFilename(relativePath) {
75
75
  return parsePath(relativePath, true);
76
76
  }
77
+ function isRouteEnabledForEnvironment(route, environment) {
78
+ return environment === void 0 || route.env === null || route.env === environment;
79
+ }
77
80
  //#endregion
78
81
  //#region src/pages/layout-resolution.ts
79
82
  function isNamedLayout(layout) {
@@ -191,7 +194,8 @@ async function scanPages(root, options) {
191
194
  layouts: [],
192
195
  namedLayouts: []
193
196
  };
194
- const files = await glob(`**/*.{${COMPONENT_EXTENSIONS.join(",")}}`, {
197
+ const pattern = `**/*.{${COMPONENT_EXTENSIONS.join(",")}}`;
198
+ const files = await glob(pattern, {
195
199
  cwd: pagesDir,
196
200
  absolute: false
197
201
  });
@@ -348,4 +352,4 @@ function extractFrontmatterLayout(source) {
348
352
  return value;
349
353
  }
350
354
  //#endregion
351
- export { resolveNamedLayout as a, resolveLayoutIds as i, resolveEffectiveLayoutChain as n, parseRouteFilename as o, resolveLayoutChain as r, parseWebSocketFilename as s, scanPages as t };
355
+ export { resolveNamedLayout as a, parseWebSocketFilename as c, resolveLayoutIds as i, resolveEffectiveLayoutChain as n, isRouteEnabledForEnvironment as o, resolveLayoutChain as r, parseRouteFilename as s, scanPages as t };
@@ -1,11 +1,16 @@
1
- import { D as outro, E as note, O as password, S as confirm, T as log, a as cliTitle, j as isCancel, w as intro, x as cancel } from "./agents-CtgBYqld.mjs";
2
- import { b as readProjectConfig, f as getToken, n as PlatformClient } from "./client-Gb71-XkG.mjs";
3
- import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-BBMtLLV9.mjs";
1
+ import { A as password, C as cancel, D as log, E as intro, F as isCancel, O as note, k as outro, r as cliTitle, w as confirm } from "./output-tFQLLj26.mjs";
2
+ import { b as readDeploymentPlatform, c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
3
+ import { m as validateSecretValues } from "./env-validation-ENpMy6Ez.mjs";
4
+ import { n as PlatformClient } from "./client-CyCHWSO_.mjs";
5
+ import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project--Vxawf7z.mjs";
4
6
  import { readFileSync } from "node:fs";
5
7
  //#region src/cli/secret.ts
6
8
  async function runSecretCommand(root, args) {
7
9
  console.log();
8
10
  intro(cliTitle("secret"));
11
+ const platform = readDeploymentPlatform(root);
12
+ if (platform === "cloudflare") return runCloudflareSecretCommand(root, args);
13
+ if (platform === "none") throw new Error("secret: Deployment is disabled. Run `void init` to choose a platform.");
9
14
  const token = getToken(root);
10
15
  if (!token) {
11
16
  log.error("Not logged in. Run `void auth login` first.");
@@ -15,7 +20,8 @@ async function runSecretCommand(root, args) {
15
20
  const requestedProjectName = getRequestedProjectSlug({ projectSlug: args.projectName });
16
21
  let projectId;
17
22
  if (requestedProjectName) {
18
- const config = resolveProjectBySlug(await client.listProjects(), requestedProjectName);
23
+ const projects = await client.listProjects();
24
+ const config = resolveProjectBySlug(projects, requestedProjectName);
19
25
  if (!config) throw new Error(`secret: No project found with slug '${requestedProjectName}'.`);
20
26
  projectId = config.projectId;
21
27
  } else {
@@ -35,6 +41,10 @@ async function runSecretCommand(root, args) {
35
41
  }
36
42
  if (args.action === "put") {
37
43
  const value = args.value ?? await readSecretValue();
44
+ await validateSecretValues(root, [{
45
+ name: args.name,
46
+ value
47
+ }]);
38
48
  await client.setSecret(projectId, args.name, value);
39
49
  outro(`Secret ${args.name} set.`);
40
50
  return;
@@ -46,6 +56,7 @@ async function runSecretCommand(root, args) {
46
56
  outro("Nothing to sync.");
47
57
  return;
48
58
  }
59
+ await validateSecretValues(root, secrets);
49
60
  log.info(`Found ${secrets.length} secret(s):`);
50
61
  for (const s of secrets) log.message(` ${s.name}`);
51
62
  const proceed = await confirm({ message: `This will overwrite ${secrets.length} secret(s) in the remote environment. Continue?` });
@@ -63,6 +74,52 @@ async function runSecretCommand(root, args) {
63
74
  await client.deleteSecret(projectId, args.name);
64
75
  outro(`Secret ${args.name} deleted.`);
65
76
  }
77
+ async function runCloudflareSecretCommand(root, args) {
78
+ if (args.projectName) throw new Error("secret: --project selects a Void platform project and is not used for direct Cloudflare apps.");
79
+ const { deleteCloudflareSecret, listCloudflareSecrets, putCloudflareSecret, resolveCloudflareOperationContext, syncCloudflareSecrets } = await import("./cloudflare-operations-CPTpRW6d.mjs").then((n) => n.t);
80
+ const context = resolveCloudflareOperationContext(root);
81
+ if (args.action === "list") {
82
+ const secrets = await listCloudflareSecrets(context);
83
+ if (secrets.length === 0) {
84
+ outro("No secrets set.");
85
+ return;
86
+ }
87
+ note(secrets.map((name) => ` ${name}`).join("\n"), "Secrets");
88
+ outro(`${secrets.length} secret(s)`);
89
+ return;
90
+ }
91
+ if (args.action === "put") {
92
+ const value = args.value ?? await readSecretValue();
93
+ await validateSecretValues(root, [{
94
+ name: args.name,
95
+ value
96
+ }]);
97
+ await putCloudflareSecret(context, args.name, value);
98
+ outro(`Secret ${args.name} set.`);
99
+ return;
100
+ }
101
+ if (args.action === "sync") {
102
+ const secrets = parseDotenvFile(args.file);
103
+ if (secrets.length === 0) {
104
+ log.warn("No secrets found in file.");
105
+ outro("Nothing to sync.");
106
+ return;
107
+ }
108
+ await validateSecretValues(root, secrets);
109
+ log.info(`Found ${secrets.length} secret(s):`);
110
+ for (const secret of secrets) log.message(` ${secret.name}`);
111
+ const proceed = await confirm({ message: `This will overwrite ${secrets.length} secret(s) in the Cloudflare Worker. Continue?` });
112
+ if (isCancel(proceed) || !proceed) {
113
+ cancel("Secret sync cancelled.");
114
+ process.exit(0);
115
+ }
116
+ await syncCloudflareSecrets(context, secrets);
117
+ outro(`Synced ${secrets.length} secret(s).`);
118
+ return;
119
+ }
120
+ await deleteCloudflareSecret(context, args.name);
121
+ outro(`Secret ${args.name} deleted.`);
122
+ }
66
123
  const SECRET_KEY_RE = /^[A-Z][A-Z0-9_]*$/;
67
124
  function parseDotenvFile(filePath) {
68
125
  const content = readFileSync(filePath, "utf-8");
@@ -95,7 +152,7 @@ async function readSecretValue() {
95
152
  message: "Enter secret value:",
96
153
  mask: "*"
97
154
  });
98
- if (isCancel(result)) {
155
+ if (isCancel(result) || typeof result === "symbol") {
99
156
  cancel("Secret command cancelled.");
100
157
  process.exit(0);
101
158
  }
@@ -1,5 +1,5 @@
1
- import { a as join, s as relative } from "./dist-DaKKDf8D.mjs";
2
- import { T as log, r as getPackageDir } from "./agents-CtgBYqld.mjs";
1
+ import { c as relative, o as join } from "./dist-BrsS7cai.mjs";
2
+ import { D as log, p as getPackageDir } from "./output-tFQLLj26.mjs";
3
3
  import { existsSync, mkdirSync, readFileSync, readdirSync, readlinkSync, symlinkSync } from "node:fs";
4
4
  //#region src/cli/skills.ts
5
5
  function parseSkills(skillsDir) {
@@ -28,7 +28,8 @@ function linkSkills(root, skillsDir, skills, agentSkillsDir) {
28
28
  let linked = 0;
29
29
  for (const skill of skills) {
30
30
  const linkPath = join(targetDir, skill.dirName);
31
- const relativeTarget = relative(targetDir, join(skillsDir, skill.dirName));
31
+ const sourcePath = join(skillsDir, skill.dirName);
32
+ const relativeTarget = relative(targetDir, sourcePath);
32
33
  if (existsSync(linkPath)) {
33
34
  try {
34
35
  if (readlinkSync(linkPath) === relativeTarget) {
@@ -46,7 +47,8 @@ function linkSkills(root, skillsDir, skills, agentSkillsDir) {
46
47
  return linked;
47
48
  }
48
49
  function linkSkillsForSpecificAgents(root, agents) {
49
- const skillsDir = join(getPackageDir(), "skills");
50
+ const packageDir = getPackageDir();
51
+ const skillsDir = join(packageDir, "skills");
50
52
  const skills = parseSkills(skillsDir);
51
53
  if (skills.length === 0) return 0;
52
54
  if (agents.length === 0) return 0;
@@ -1,11 +1,11 @@
1
1
  //#region src/standard-schema.d.ts
2
2
  /**
3
- * Standard Schema V1 types, inlined from the spec.
4
- * https://github.com/standard-schema/standard-schema
5
- *
6
- * Per the spec's design, libraries may copy these types directly
7
- * to avoid requiring `@standard-schema/spec` as a dependency.
8
- */
3
+ * Standard Schema V1 types, inlined from the spec.
4
+ * https://github.com/standard-schema/standard-schema
5
+ *
6
+ * Per the spec's design, libraries may copy these types directly
7
+ * to avoid requiring `@standard-schema/spec` as a dependency.
8
+ */
9
9
  type StandardSchemaV1<Input = unknown, Output = Input> = {
10
10
  readonly "~standard": StandardSchemaV1.Props<Input, Output>;
11
11
  };