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,4 +1,4 @@
1
- import { t as cfAccessHeaders } from "../cf-access-Bqw81xAf.mjs";
1
+ import { t as cfAccessHeaders } from "../cf-access-AJ1ehiFR.mjs";
2
2
  import { a as getRawRuntimeEnv } from "../env-raw-Cx8ElDdj.mjs";
3
3
  //#region src/runtime/ai-types.ts
4
4
  /** Maps provider prefix to expected env var name for the API key */
@@ -283,9 +283,10 @@ function resolveBackend() {
283
283
  const token = runtimeEnv.__VOID_TOKEN;
284
284
  const projectId = runtimeEnv.__VOID_PROJECT_ID;
285
285
  if (typeof token === "string" && typeof projectId === "string") return makeHttpBackend(token, projectId, runtimeEnv);
286
- const directAi = runtimeEnv.AI;
286
+ const aiBindingName = typeof runtimeEnv.__VOID_AI_BINDING === "string" ? runtimeEnv.__VOID_AI_BINDING : "AI";
287
+ const directAi = runtimeEnv[aiBindingName];
287
288
  if (directAi) return makeDirectBackend(directAi, runtimeEnv, runtimeEnv.__VOID_AI_GATEWAY);
288
- throw new Error("ai: Not available. Run `void auth login` and `void project link` first, or bind Workers AI (env.AI) for self-hosted deploys.");
289
+ throw new Error(`ai: Not available. Run \`void auth login\` and \`void project link\` first, or bind Workers AI (env.${aiBindingName}) for self-hosted deploys.`);
289
290
  }
290
291
  function unsupported(method) {
291
292
  return () => {
@@ -381,7 +382,7 @@ function makeHttpBackend(token, projectId, runtimeEnv) {
381
382
  const headers = {
382
383
  "content-type": "application/json",
383
384
  authorization: `Bearer ${token}`,
384
- ...cfAccessHeaders(runtimeEnv)
385
+ ...cfAccessHeaders(runtimeEnv, base)
385
386
  };
386
387
  async function proxyFetch(action, body, options = {}) {
387
388
  const res = await fetch(`${base}/${action}`, {
@@ -1,8 +1,6 @@
1
1
  import { createAuthClient as createAuthClient$1 } from "better-auth/react";
2
-
3
2
  //#region src/runtime/auth-client-react.d.ts
4
- declare const createAuthClient: typeof createAuthClient$1;
3
+ export declare const createAuthClient: typeof createAuthClient$1;
5
4
  type BetterAuthClientInstance = ReturnType<typeof createAuthClient>;
6
- declare const auth: BetterAuthClientInstance;
7
- //#endregion
8
- export { auth, createAuthClient };
5
+ export declare const auth: BetterAuthClientInstance;
6
+ //#endregion
@@ -1,8 +1,6 @@
1
1
  import { createAuthClient as createAuthClient$1 } from "better-auth/solid";
2
-
3
2
  //#region src/runtime/auth-client-solid.d.ts
4
- declare const createAuthClient: typeof createAuthClient$1;
3
+ export declare const createAuthClient: typeof createAuthClient$1;
5
4
  type BetterAuthClientInstance = ReturnType<typeof createAuthClient>;
6
- declare const auth: BetterAuthClientInstance;
7
- //#endregion
8
- export { auth, createAuthClient };
5
+ export declare const auth: BetterAuthClientInstance;
6
+ //#endregion
@@ -1,8 +1,6 @@
1
1
  import { createAuthClient as createAuthClient$1 } from "better-auth/svelte";
2
-
3
2
  //#region src/runtime/auth-client-svelte.d.ts
4
- declare const createAuthClient: typeof createAuthClient$1;
3
+ export declare const createAuthClient: typeof createAuthClient$1;
5
4
  type BetterAuthClientInstance = ReturnType<typeof createAuthClient>;
6
- declare const auth: BetterAuthClientInstance;
7
- //#endregion
8
- export { auth, createAuthClient };
5
+ export declare const auth: BetterAuthClientInstance;
6
+ //#endregion
@@ -1,8 +1,6 @@
1
1
  import { createAuthClient as createAuthClient$1 } from "better-auth/vue";
2
-
3
2
  //#region src/runtime/auth-client-vue.d.ts
4
- declare const createAuthClient: typeof createAuthClient$1;
3
+ export declare const createAuthClient: typeof createAuthClient$1;
5
4
  type BetterAuthClientInstance = ReturnType<typeof createAuthClient>;
6
- declare const auth: BetterAuthClientInstance;
7
- //#endregion
8
- export { auth, createAuthClient };
5
+ export declare const auth: BetterAuthClientInstance;
6
+ //#endregion
@@ -1,8 +1,6 @@
1
1
  import { createAuthClient as createAuthClient$1 } from "better-auth/client";
2
-
3
2
  //#region src/runtime/auth-client.d.ts
4
- declare const createAuthClient: typeof createAuthClient$1;
3
+ export declare const createAuthClient: typeof createAuthClient$1;
5
4
  type BetterAuthClientInstance = ReturnType<typeof createAuthClient>;
6
- declare const auth: BetterAuthClientInstance;
7
- //#endregion
8
- export { auth, createAuthClient };
5
+ export declare const auth: BetterAuthClientInstance;
6
+ //#endregion
@@ -1,2 +1,2 @@
1
- import { a as VoidAuthConfigContext, c as getSession, i as VoidAuthConfig, l as getUser, n as AuthState, o as authContext, r as AuthUser, s as defineAuth, t as AuthSession, u as requireAuth } from "../auth-qgMlYp7Z.mjs";
1
+ import { a as VoidAuthConfigContext, c as getSession, i as VoidAuthConfig, l as getUser, n as AuthState, o as authContext, r as AuthUser, s as defineAuth, t as AuthSession, u as requireAuth } from "../auth-DkcFflXV.mjs";
2
2
  export { AuthSession, AuthState, AuthUser, VoidAuthConfig, VoidAuthConfigContext, authContext, defineAuth, getSession, getUser, requireAuth };
@@ -0,0 +1,10 @@
1
+ import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-DSCeohOK.mjs";
2
+ //#region src/runtime/better-auth-mysql.d.ts
3
+ export declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
4
+ export declare const createVoidAuth: VoidAuthRuntimeApi["createVoidAuth"];
5
+ export declare const resolveVoidAuthState: VoidAuthRuntimeApi["resolveVoidAuthState"];
6
+ export declare const runVoidAuthMiddleware: VoidAuthRuntimeApi["runVoidAuthMiddleware"];
7
+ export declare const handleVoidAuthRequest: VoidAuthRuntimeApi["handleVoidAuthRequest"];
8
+ export declare const runVoidAuthMigrations: VoidAuthRuntimeApi["runVoidAuthMigrations"];
9
+ //#endregion
10
+ export type { VoidAuthDialect, VoidAuthEnv, VoidAuthRuntimeOptions };
@@ -0,0 +1,49 @@
1
+ import { t as applyMySqlAuthMigrations } from "../auth-migrations-9vif1uj8.mjs";
2
+ import { t as createVoidAuthRuntime } from "../better-auth-shared-CYw1T3k4.mjs";
3
+ //#region src/runtime/better-auth-mysql.ts
4
+ function resolveConnectionString(env) {
5
+ const connectionString = typeof env.DATABASE_URL === "string" && env.DATABASE_URL.length > 0 ? env.DATABASE_URL : typeof env.HYPERDRIVE?.connectionString === "string" && env.HYPERDRIVE.connectionString.length > 0 ? env.HYPERDRIVE.connectionString : void 0;
6
+ if (!connectionString) throw new Error("auth: Better Auth requires DATABASE_URL for local MySQL dev or HYPERDRIVE in production.");
7
+ return connectionString;
8
+ }
9
+ async function resolveDatabase(env) {
10
+ const { createPool } = await import("mysql2/promise");
11
+ const pool = createPool({
12
+ uri: resolveConnectionString(env),
13
+ connectionLimit: 1
14
+ });
15
+ return {
16
+ database: pool,
17
+ async dispose() {
18
+ await pool.end();
19
+ }
20
+ };
21
+ }
22
+ async function runMySqlAuthMigrations(_request, env, runtime, migrationSchema) {
23
+ if (!migrationSchema) throw new Error("auth: Migration schema is unavailable.");
24
+ if (runtime.dialect !== "mysql" || migrationSchema.dialect !== "mysql") throw new Error("auth: Runtime mismatch. Expected mysql.");
25
+ const { createConnection } = await import("mysql2/promise");
26
+ const connection = await createConnection(resolveConnectionString(env));
27
+ try {
28
+ await applyMySqlAuthMigrations({
29
+ async all(sql, params) {
30
+ const [rows] = await connection.query(sql, params);
31
+ return rows;
32
+ },
33
+ async run(sql, params) {
34
+ await connection.query(sql, params);
35
+ }
36
+ }, migrationSchema);
37
+ } finally {
38
+ await connection.end();
39
+ }
40
+ }
41
+ const runtime = createVoidAuthRuntime("mysql", resolveDatabase, runMySqlAuthMigrations);
42
+ const resolveVoidAuthOptions = runtime.resolveVoidAuthOptions;
43
+ const createVoidAuth = runtime.createVoidAuth;
44
+ const resolveVoidAuthState = runtime.resolveVoidAuthState;
45
+ const runVoidAuthMiddleware = runtime.runVoidAuthMiddleware;
46
+ const handleVoidAuthRequest = runtime.handleVoidAuthRequest;
47
+ const runVoidAuthMigrations = runtime.runVoidAuthMigrations;
48
+ //#endregion
49
+ export { createVoidAuth, handleVoidAuthRequest, resolveVoidAuthOptions, resolveVoidAuthState, runVoidAuthMiddleware, runVoidAuthMigrations };
@@ -1,11 +1,10 @@
1
- import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-DealXecJ.mjs";
2
-
1
+ import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-DSCeohOK.mjs";
3
2
  //#region src/runtime/better-auth-pg.d.ts
4
- declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
5
- declare const createVoidAuth: VoidAuthRuntimeApi["createVoidAuth"];
6
- declare const resolveVoidAuthState: VoidAuthRuntimeApi["resolveVoidAuthState"];
7
- declare const runVoidAuthMiddleware: VoidAuthRuntimeApi["runVoidAuthMiddleware"];
8
- declare const handleVoidAuthRequest: VoidAuthRuntimeApi["handleVoidAuthRequest"];
9
- declare const runVoidAuthMigrations: VoidAuthRuntimeApi["runVoidAuthMigrations"];
3
+ export declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
4
+ export declare const createVoidAuth: VoidAuthRuntimeApi["createVoidAuth"];
5
+ export declare const resolveVoidAuthState: VoidAuthRuntimeApi["resolveVoidAuthState"];
6
+ export declare const runVoidAuthMiddleware: VoidAuthRuntimeApi["runVoidAuthMiddleware"];
7
+ export declare const handleVoidAuthRequest: VoidAuthRuntimeApi["handleVoidAuthRequest"];
8
+ export declare const runVoidAuthMigrations: VoidAuthRuntimeApi["runVoidAuthMigrations"];
10
9
  //#endregion
11
- export { type VoidAuthDialect, type VoidAuthEnv, type VoidAuthRuntimeOptions, createVoidAuth, handleVoidAuthRequest, resolveVoidAuthOptions, resolveVoidAuthState, runVoidAuthMiddleware, runVoidAuthMigrations };
10
+ export type { VoidAuthDialect, VoidAuthEnv, VoidAuthRuntimeOptions };
@@ -1,5 +1,5 @@
1
- import { t as applyPgAuthMigrations } from "../auth-migrations-BTZ-ATvQ.mjs";
2
- import { t as createVoidAuthRuntime } from "../better-auth-shared-BQooDxbw.mjs";
1
+ import { n as applyPgAuthMigrations } from "../auth-migrations-9vif1uj8.mjs";
2
+ import { t as createVoidAuthRuntime } from "../better-auth-shared-CYw1T3k4.mjs";
3
3
  import { t as disablePgPassFallback } from "../pg-J2HbZIkX.mjs";
4
4
  //#region src/runtime/better-auth-pg.ts
5
5
  function resolveConnectionString(env) {
@@ -1,11 +1,10 @@
1
- import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-DealXecJ.mjs";
2
-
1
+ import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-DSCeohOK.mjs";
3
2
  //#region src/runtime/better-auth.d.ts
4
- declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
5
- declare const createVoidAuth: VoidAuthRuntimeApi["createVoidAuth"];
6
- declare const resolveVoidAuthState: VoidAuthRuntimeApi["resolveVoidAuthState"];
7
- declare const runVoidAuthMiddleware: VoidAuthRuntimeApi["runVoidAuthMiddleware"];
8
- declare const handleVoidAuthRequest: VoidAuthRuntimeApi["handleVoidAuthRequest"];
9
- declare const runVoidAuthMigrations: VoidAuthRuntimeApi["runVoidAuthMigrations"];
3
+ export declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
4
+ export declare const createVoidAuth: VoidAuthRuntimeApi["createVoidAuth"];
5
+ export declare const resolveVoidAuthState: VoidAuthRuntimeApi["resolveVoidAuthState"];
6
+ export declare const runVoidAuthMiddleware: VoidAuthRuntimeApi["runVoidAuthMiddleware"];
7
+ export declare const handleVoidAuthRequest: VoidAuthRuntimeApi["handleVoidAuthRequest"];
8
+ export declare const runVoidAuthMigrations: VoidAuthRuntimeApi["runVoidAuthMigrations"];
10
9
  //#endregion
11
- export { type VoidAuthDialect, type VoidAuthEnv, type VoidAuthRuntimeOptions, createVoidAuth, handleVoidAuthRequest, resolveVoidAuthOptions, resolveVoidAuthState, runVoidAuthMiddleware, runVoidAuthMigrations };
10
+ export type { VoidAuthDialect, VoidAuthEnv, VoidAuthRuntimeOptions };
@@ -1,5 +1,5 @@
1
- import { n as applySqliteAuthMigrations } from "../auth-migrations-BTZ-ATvQ.mjs";
2
- import { t as createVoidAuthRuntime } from "../better-auth-shared-BQooDxbw.mjs";
1
+ import { r as applySqliteAuthMigrations } from "../auth-migrations-9vif1uj8.mjs";
2
+ import { t as createVoidAuthRuntime } from "../better-auth-shared-CYw1T3k4.mjs";
3
3
  //#region src/runtime/better-auth.ts
4
4
  async function resolveDatabase(env) {
5
5
  if (!env.DB) throw new Error("auth: Better Auth requires the \"DB\" D1 binding for sqlite apps.");
@@ -1,4 +1,4 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-qgMlYp7Z.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client-react.mjs";
3
3
  import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
4
  import { fetch } from "./fetch.mjs";
@@ -1,4 +1,4 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-qgMlYp7Z.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client-solid.mjs";
3
3
  import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
4
  import { fetch } from "./fetch.mjs";
@@ -1,4 +1,4 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-qgMlYp7Z.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client-svelte.mjs";
3
3
  import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
4
  import { fetch } from "./fetch.mjs";
@@ -1,4 +1,4 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-qgMlYp7Z.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client-vue.mjs";
3
3
  import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
4
  import { fetch } from "./fetch.mjs";
@@ -1,4 +1,4 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-qgMlYp7Z.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-DkcFflXV.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client.mjs";
3
3
  import { t as FetchError } from "../fetch-error-Sp1R4mZv.mjs";
4
4
  import { fetch } from "./fetch.mjs";
@@ -0,0 +1,2 @@
1
+ import { MySql2Database } from "drizzle-orm/mysql2";
2
+ export type { MySql2Database };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,17 +1,16 @@
1
1
  import { DrizzleD1Database, DrizzleD1Database as DrizzleD1Database$1 } from "drizzle-orm/d1";
2
2
  import { and, asc, avg, between, count, desc, eq, exists, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, max, min, ne, not, notBetween, notExists, notInArray, notLike, or, sql, sum } from "drizzle-orm";
3
-
4
3
  //#region src/runtime/db.d.ts
5
4
  /**
6
- * Create a Drizzle D1 instance from a custom D1 binding.
7
- * Use this when you have multiple D1 databases or need a non-default binding.
8
- */
9
- declare function createDb(d1: D1Database): DrizzleD1Database$1;
5
+ * Create a Drizzle D1 instance from a custom D1 binding.
6
+ * Use this when you have multiple D1 databases or need a non-default binding.
7
+ */
8
+ export declare function createDb(d1: D1Database): DrizzleD1Database$1;
10
9
  /**
11
- * Default Drizzle D1 instance — resolves the `DB` binding from the runtime
12
- * environment. When the Void plugin is active, this is replaced with a
13
- * schema-aware instance via virtual module.
14
- */
15
- declare const db: DrizzleD1Database$1;
10
+ * Default Drizzle D1 instance — resolves the `DB` binding from the runtime
11
+ * environment. When the Void plugin is active, this is replaced with a
12
+ * schema-aware instance via virtual module.
13
+ */
14
+ export declare const db: DrizzleD1Database$1;
16
15
  //#endregion
17
- export { type DrizzleD1Database, and, asc, avg, between, count, createDb, db, desc, eq, exists, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, max, min, ne, not, notBetween, notExists, notInArray, notLike, or, sql, sum };
16
+ export { type DrizzleD1Database, and, asc, avg, between, count, desc, eq, exists, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, max, min, ne, not, notBetween, notExists, notInArray, notLike, or, sql, sum };
@@ -0,0 +1,47 @@
1
+ //#region src/runtime/durable.d.ts
2
+ export type DurableStateContext<TState, TEnv extends Record<string, unknown>> = {
3
+ state: TState;
4
+ readonly env: TEnv;
5
+ readonly id: DurableObjectId;
6
+ readonly storage: DurableObjectStorage;
7
+ setAlarm(scheduledTime: number | Date): Promise<void>;
8
+ deleteAlarm(): Promise<void>;
9
+ };
10
+ export type DurableStateMethod<TState, TEnv extends Record<string, unknown>, TArgs extends Array<unknown> = Array<unknown>, TResult = unknown> = (context: DurableStateContext<TState, TEnv>, ...args: TArgs) => TResult | Promise<TResult>;
11
+ export type DurableStateMethods<TState, TEnv extends Record<string, unknown>> = Record<string, DurableStateMethod<TState, TEnv, Array<never>, unknown>>;
12
+ export type DurableStateMigration<TState> = {
13
+ /** State version produced by this migration. Versions must be contiguous and start at 1. */
14
+ version: number;
15
+ migrate(state: unknown): TState | Promise<TState>;
16
+ };
17
+ type MethodArguments<TMethod> = TMethod extends ((context: infer _TContext, ...args: infer TArgs) => infer _TResult) ? TArgs : never;
18
+ type MethodResult<TMethod> = TMethod extends ((...args: infer _TArgs) => infer TResult) ? Awaited<TResult> : never;
19
+ export type DurableStateRpc<TMethods> = { [TName in keyof TMethods]: (...args: MethodArguments<TMethods[TName]>) => Promise<MethodResult<TMethods[TName]>>; };
20
+ export type TypedDurableObjectStub<TMethods> = DurableObjectStub & DurableStateRpc<TMethods>;
21
+ export type DurableStateClass<TMethods> = {
22
+ new (state: DurableObjectState, env: Record<string, unknown>): DurableObject & DurableStateRpc<TMethods> & {
23
+ fetch(request: Request): Promise<Response>;
24
+ alarm(): Promise<void>;
25
+ };
26
+ };
27
+ export type DurableStateDefinition<TState, TEnv extends Record<string, unknown>, TMethods extends DurableStateMethods<TState, TEnv>> = {
28
+ initialState: TState | ((env: TEnv) => TState | Promise<TState>);
29
+ /** Current persisted state version. Defaults to 0. */
30
+ version?: number;
31
+ migrations?: ReadonlyArray<DurableStateMigration<TState>>;
32
+ methods: TMethods;
33
+ fetch?: DurableStateMethod<TState, TEnv, [request: Request], Response>;
34
+ alarm?: DurableStateMethod<TState, TEnv, [], void>;
35
+ storageKey?: string;
36
+ };
37
+ export type DurableStateApi<TMethods> = {
38
+ class: DurableStateClass<TMethods>;
39
+ /** @internal Called by Void's generated worker entry. */
40
+ __bind(bindingName: string): void;
41
+ get(name: string): TypedDurableObjectStub<TMethods>;
42
+ get(namespace: DurableObjectNamespace, name: string): TypedDurableObjectStub<TMethods>;
43
+ getById(id: DurableObjectId): TypedDurableObjectStub<TMethods>;
44
+ getById(namespace: DurableObjectNamespace, id: DurableObjectId): TypedDurableObjectStub<TMethods>;
45
+ };
46
+ export declare function defineDurableState<TState, TEnv extends Record<string, unknown> = Record<string, unknown>, const TMethods extends DurableStateMethods<TState, TEnv> = DurableStateMethods<TState, TEnv>>(definition: DurableStateDefinition<TState, TEnv, TMethods>): DurableStateApi<TMethods>;
47
+ //#endregion
@@ -0,0 +1,146 @@
1
+ import { requireRuntimeBinding, withRuntimeEnv } from "./env.mjs";
2
+ import { DurableObject } from "cloudflare:workers";
3
+ //#region src/runtime/durable.ts
4
+ const DEFAULT_STORAGE_KEY = "__void_durable_state";
5
+ function cloneInitialState(state) {
6
+ return structuredClone(state);
7
+ }
8
+ function assertMigrations(version, migrations) {
9
+ const byVersion = /* @__PURE__ */ new Map();
10
+ for (const migration of migrations) {
11
+ if (!Number.isInteger(migration.version) || migration.version < 1) throw new Error("durable: migration versions must be positive integers.");
12
+ if (migration.version > version) throw new Error(`durable: migration version ${migration.version} exceeds the current state version ${version}.`);
13
+ if (byVersion.has(migration.version)) throw new Error(`durable: duplicate migration version ${migration.version}.`);
14
+ byVersion.set(migration.version, migration);
15
+ }
16
+ for (let expected = 1; expected <= version; expected++) if (!byVersion.has(expected)) throw new Error(`durable: missing state migration for version ${expected}.`);
17
+ return byVersion;
18
+ }
19
+ function defineDurableState(definition) {
20
+ const version = definition.version ?? 0;
21
+ if (!Number.isInteger(version) || version < 0) throw new Error("durable: version must be a non-negative integer.");
22
+ const migrations = assertMigrations(version, definition.migrations ?? []);
23
+ const storageKey = definition.storageKey ?? DEFAULT_STORAGE_KEY;
24
+ let bindingName;
25
+ function boundNamespace() {
26
+ if (!bindingName) throw new Error("durable: this state definition is not bound. Default-export it from a file in durable-objects/.");
27
+ return requireRuntimeBinding(bindingName);
28
+ }
29
+ class VoidDurableState extends DurableObject {
30
+ #value;
31
+ #ready;
32
+ #queue = Promise.resolve();
33
+ #objectState;
34
+ #runtimeEnv;
35
+ constructor(objectState, env) {
36
+ super(objectState, env);
37
+ this.#objectState = objectState;
38
+ this.#runtimeEnv = env;
39
+ this.#ready = objectState.blockConcurrencyWhile(() => withRuntimeEnv(this.#runtimeEnv, () => this.#load()));
40
+ }
41
+ async #load() {
42
+ const stored = await this.#objectState.storage.get(storageKey);
43
+ if (!stored) {
44
+ const initial = typeof definition.initialState === "function" ? await definition.initialState(this.#runtimeEnv) : cloneInitialState(definition.initialState);
45
+ this.#value = initial;
46
+ await this.#persist();
47
+ return;
48
+ }
49
+ if (stored.__voidDurableState !== true || !Number.isInteger(stored.version)) throw new Error(`durable: invalid state record at storage key '${storageKey}'.`);
50
+ if (stored.version > version) throw new Error(`durable: stored state version ${stored.version} is newer than supported version ${version}.`);
51
+ let value = stored.value;
52
+ for (let nextVersion = stored.version + 1; nextVersion <= version; nextVersion++) {
53
+ const migration = migrations.get(nextVersion);
54
+ if (!migration) throw new Error(`durable: missing state migration for version ${nextVersion}.`);
55
+ value = await migration.migrate(value);
56
+ }
57
+ this.#value = value;
58
+ if (stored.version !== version) await this.#persist();
59
+ }
60
+ #persist() {
61
+ return this.#objectState.storage.put(storageKey, {
62
+ __voidDurableState: true,
63
+ version,
64
+ value: this.#value
65
+ });
66
+ }
67
+ #context() {
68
+ const instance = this;
69
+ return {
70
+ get state() {
71
+ return instance.#value;
72
+ },
73
+ set state(value) {
74
+ instance.#value = value;
75
+ },
76
+ env: this.#runtimeEnv,
77
+ id: this.#objectState.id,
78
+ storage: this.#objectState.storage,
79
+ setAlarm: (scheduledTime) => this.#objectState.storage.setAlarm(scheduledTime),
80
+ deleteAlarm: () => this.#objectState.storage.deleteAlarm()
81
+ };
82
+ }
83
+ #run(operation) {
84
+ return withRuntimeEnv(this.#runtimeEnv, () => {
85
+ const result = this.#queue.then(async () => {
86
+ await this.#ready;
87
+ const previousValue = structuredClone(this.#value);
88
+ try {
89
+ const operationResult = await operation();
90
+ await this.#persist();
91
+ return operationResult;
92
+ } catch (error) {
93
+ this.#value = previousValue;
94
+ throw error;
95
+ }
96
+ });
97
+ this.#queue = result.then(() => void 0, () => void 0);
98
+ return result;
99
+ });
100
+ }
101
+ fetch(request) {
102
+ if (!definition.fetch) return Promise.resolve(new Response("Not Found", { status: 404 }));
103
+ return this.#run(async () => {
104
+ return definition.fetch(this.#context(), request);
105
+ });
106
+ }
107
+ alarm() {
108
+ if (!definition.alarm) return Promise.resolve();
109
+ return this.#run(async () => {
110
+ await definition.alarm(this.#context());
111
+ });
112
+ }
113
+ static {
114
+ for (const [name, method] of Object.entries(definition.methods)) {
115
+ if (name === "fetch" || name === "alarm" || name === "constructor") throw new Error(`durable: method name '${name}' is reserved.`);
116
+ Object.defineProperty(this.prototype, name, {
117
+ enumerable: false,
118
+ value(...args) {
119
+ return this.#run(async () => {
120
+ return method(this.#context(), ...args);
121
+ });
122
+ }
123
+ });
124
+ }
125
+ }
126
+ }
127
+ return {
128
+ class: VoidDurableState,
129
+ __bind(name) {
130
+ if (bindingName && bindingName !== name) throw new Error(`durable: state definition is already bound to '${bindingName}' and cannot also bind to '${name}'.`);
131
+ bindingName = name;
132
+ },
133
+ get(namespaceOrName, maybeName) {
134
+ const namespace = typeof namespaceOrName === "string" ? boundNamespace() : namespaceOrName;
135
+ const name = typeof namespaceOrName === "string" ? namespaceOrName : maybeName;
136
+ return namespace.get(namespace.idFromName(name));
137
+ },
138
+ getById(namespaceOrId, maybeId) {
139
+ const namespace = maybeId ? namespaceOrId : boundNamespace();
140
+ const id = maybeId ?? namespaceOrId;
141
+ return namespace.get(id);
142
+ }
143
+ };
144
+ }
145
+ //#endregion
146
+ export { defineDurableState };
@@ -0,0 +1,112 @@
1
+ /// <reference types="@cloudflare/workers-types" />
2
+ import { r as EmailHandler } from "../../inbound-BJ70in1n.mjs";
3
+ //#region src/runtime/email/dev-inbox.d.ts
4
+ interface CapturedMessage {
5
+ id: string;
6
+ capturedAt: number;
7
+ raw: Uint8Array;
8
+ messageId: string;
9
+ from: {
10
+ email: string;
11
+ name?: string;
12
+ };
13
+ to: Array<{
14
+ email: string;
15
+ name?: string;
16
+ }>;
17
+ cc: Array<{
18
+ email: string;
19
+ name?: string;
20
+ }>;
21
+ bcc: Array<{
22
+ email: string;
23
+ name?: string;
24
+ }>;
25
+ replyTo?: {
26
+ email: string;
27
+ name?: string;
28
+ };
29
+ subject: string;
30
+ text?: string;
31
+ html?: string;
32
+ headers: Record<string, string>;
33
+ attachments: Array<{
34
+ filename: string;
35
+ contentType: string;
36
+ size: number;
37
+ contentId?: string;
38
+ disposition: "attachment" | "inline";
39
+ }>;
40
+ }
41
+ //#endregion
42
+ //#region src/runtime/email/testing.d.ts
43
+ export interface EmailTestHarness {
44
+ /** Messages captured since the harness was created (or since the last clear). */
45
+ readonly messages: ReadonlyArray<CapturedMessage>;
46
+ /** Discard captured messages. */
47
+ clear(): void;
48
+ /** Stop intercepting sends. After dispose, real binding sends resume. */
49
+ dispose(): void;
50
+ }
51
+ export declare function createEmailTestHarness(): EmailTestHarness;
52
+ export interface InboundDeliverOptions {
53
+ from: string;
54
+ to: string;
55
+ subject?: string;
56
+ text?: string;
57
+ html?: string;
58
+ headers?: Record<string, string>;
59
+ /** Override the constructed MIME body. Bytes preferred; strings encoded as UTF-8. */
60
+ raw?: string | Uint8Array;
61
+ }
62
+ export interface InboundReplyCapture {
63
+ from: string;
64
+ to: string;
65
+ raw: Uint8Array;
66
+ }
67
+ export interface InboundForwardCapture {
68
+ to: string;
69
+ headers?: Headers;
70
+ }
71
+ export interface InboundDeliveryResult {
72
+ /** Which handler key matched. `undefined` if the message was not handled. */
73
+ handler?: string;
74
+ params: Record<string, string>;
75
+ }
76
+ export interface InboundTestHarness {
77
+ readonly replies: ReadonlyArray<InboundReplyCapture>;
78
+ readonly forwards: ReadonlyArray<InboundForwardCapture>;
79
+ readonly rejects: ReadonlyArray<string>;
80
+ readonly deliveries: ReadonlyArray<InboundDeliveryResult>;
81
+ deliver(opts: InboundDeliverOptions): Promise<InboundDeliveryResult>;
82
+ clear(): void;
83
+ }
84
+ export interface InboundTestHarnessOptions {
85
+ /**
86
+ * Address pattern → handler. Pattern syntax matches the file-based
87
+ * convention: `support`, `support+[ticket]`, `[user]`, `[user]+[tag]`.
88
+ * Reserved key: `_default` (fallback handler, mirrors email/_default.ts).
89
+ */
90
+ routes: Record<string, EmailHandler>;
91
+ /** Forwarded as the second arg to handlers. Defaults to `{}`. */
92
+ env?: unknown;
93
+ /**
94
+ * Project slug used to strip the platform-injected `<slug>+` prefix from
95
+ * `message.to` before handlers see it (mirrors production: the dispatched
96
+ * `message.to` is `<tag>@<domain>`, never `<slug>+<tag>@<domain>`). When
97
+ * omitted, the harness infers the slug from each delivery's recipient
98
+ * (everything before the first `+` in the local-part) so existing tests
99
+ * with synthetic `slug+tag@domain` recipients keep working without
100
+ * configuration.
101
+ *
102
+ * `null` means NO platform prefix at all — a worker deployed on your own
103
+ * Cloudflare account (`void deploy --platform cloudflare`) receives the
104
+ * address the handler author wrote, and the dispatcher matches the full
105
+ * local part: `support@mail.acme.com` reaches `support`, and
106
+ * `support+T-42@mail.acme.com` reaches `support+[ticket]` with `T-42`.
107
+ */
108
+ slug?: string | null;
109
+ }
110
+ export declare function createInboundTestHarness(opts: InboundTestHarnessOptions): InboundTestHarness;
111
+ //#endregion
112
+ export type { CapturedMessage };