void 0.10.13 → 0.20.1

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 (432) 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-CAH62yDU.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-CJvZvPQO.mjs} +6 -4
  11. package/dist/{cache-C11V8Fxq.mjs → cache-BlNeQjuP.mjs} +9 -5
  12. package/dist/{cancel-deploy-fwFYF04b.mjs → cancel-deploy-CmlAZ9P6.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 +1735 -165
  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-Clirrol3.mjs} +120 -463
  20. package/dist/cloudflare-auth-B1QtTO1b.mjs +217 -0
  21. package/dist/cloudflare-cmd-B6_OZx2V.mjs +62 -0
  22. package/dist/cloudflare-connect-j5D4hhrG.mjs +56 -0
  23. package/dist/cloudflare-operations-CPTpRW6d.mjs +566 -0
  24. package/dist/{config-qHGgPuWT.mjs → config-BQFq7QvD.mjs} +75 -41
  25. package/dist/{config-CutEMNGJ.mjs → config-NOG_U1aK.mjs} +10 -15
  26. package/dist/connect-C04Wdy_h.mjs +79 -0
  27. package/dist/{create-project-DsYvl3TB.mjs → create-project-ChGZ1DFd.mjs} +26 -16
  28. package/dist/database-provider.d.mts +21 -0
  29. package/dist/database-provider.mjs +6 -0
  30. package/dist/{db-C0i0sYMS.mjs → db-D2d_mUsB.mjs} +612 -117
  31. package/dist/{delete-mh6p-zkQ.mjs → delete-D8GigDk8.mjs} +9 -6
  32. package/dist/{deploy-jBJT1fUT.mjs → deploy-iXZ3F0N6.mjs} +3252 -1995
  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-B1VmoSr0.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-uKyQYUVY.mjs +1016 -0
  44. package/dist/{entry-D7yy4xVH.mjs → entry-DU3oDoQ3.mjs} +2 -2
  45. package/dist/env-BcQzYgoG.mjs +73 -0
  46. package/dist/env-D4Emu-M_.mjs +95 -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-BzXf3Jh2.mjs → gen-DI2YwdBM.mjs} +70 -15
  52. package/dist/generate-RTK8_kK1.mjs +47 -0
  53. package/dist/{github-cmd-DKcGUNsj.mjs → github-cmd-xItS5Zwf.mjs} +39 -31
  54. package/dist/{handler-Cjh8uM3Y.d.mts → handler-D1hLsObx.d.mts} +124 -122
  55. package/dist/{head-nmvOgFjd.d.mts → head-Do8P4puT.d.mts} +9 -8
  56. package/dist/{headers-ChAADPQu.mjs → headers-D8QfRX9Y.mjs} +12 -10
  57. package/dist/inbound-2d0zi2yS.mjs +706 -0
  58. package/dist/inbound-afAcWeQ9.d.mts +363 -0
  59. package/dist/index.d.mts +61 -34
  60. package/dist/index.mjs +1012 -293
  61. package/dist/{init-7JCAcKNQ.mjs → init-BD-9THgn.mjs} +329 -271
  62. package/dist/link-RMdgjF1v.mjs +52 -0
  63. package/dist/{list-CPwFDZ_c.mjs → list-3F52R_yO.mjs} +37 -5
  64. package/dist/{runner-kapo9aPs.mjs → local-d1-D2I6Ox5F.mjs} +116 -6
  65. package/dist/{login-BT3H8PN3.mjs → login-pV69H-ZO.mjs} +17 -15
  66. package/dist/{logs-Bt313ax7.mjs → logs-DFHHD6wE.mjs} +16 -2
  67. package/dist/mime-BJD7d_qL.mjs +1216 -0
  68. package/dist/neon-DHwd2zvC.mjs +54 -0
  69. package/dist/{node-pRg81HqV.mjs → node-Dk3H2jmU.mjs} +29 -8
  70. package/dist/operator-cmd-DYWRbWUA.mjs +348 -0
  71. package/dist/{agents-CtgBYqld.mjs → output-tFQLLj26.mjs} +676 -211
  72. package/dist/{package-json-Cx1osYo6.mjs → package-json-CPoWX79C.mjs} +1 -1
  73. package/dist/pages/client.d.mts +43 -41
  74. package/dist/pages/client.mjs +40 -33
  75. package/dist/pages/head-client.d.mts +10 -12
  76. package/dist/pages/head.d.mts +1 -1
  77. package/dist/pages/index.d.mts +37 -14
  78. package/dist/pages/index.mjs +5 -5
  79. package/dist/pages/islands-plugin.d.mts +25 -27
  80. package/dist/pages/islands-plugin.mjs +6 -4
  81. package/dist/pages/prefetch.d.mts +6 -7
  82. package/dist/pages/protocol.d.mts +2 -2
  83. package/dist/pages/protocol.mjs +2 -1
  84. package/dist/pages/serialize.d.mts +7 -8
  85. package/dist/platform-cmd-DxJ2FRwR.mjs +123 -0
  86. package/dist/platform-domain-ChvbJkdy.mjs +228 -0
  87. package/dist/platform-lifecycle-DN4MzJF_.mjs +4450 -0
  88. package/dist/platform-management-Db2PXw0B.mjs +698 -0
  89. package/dist/platform-recovery-C_YO-tIs.mjs +99 -0
  90. package/dist/{plugin-inference-DMeavIJ6.mjs → plugin-inference-BDRfZngg.mjs} +35 -19
  91. package/dist/prepare-BfJvFUtJ.mjs +14 -0
  92. package/dist/{prepare-BvvgAz-3.mjs → prepare-CBetXvsN.mjs} +15 -24
  93. package/dist/{preset-BjyR3lzz.mjs → preset-lAy0B0BQ.mjs} +25 -212
  94. package/dist/{project-cmd-D_w-4w5B.mjs → project-cmd-Mo0V9yKS.mjs} +25 -12
  95. package/dist/{project-paths-BQd7OmIo.mjs → project-paths-SK8nMHPp.mjs} +3 -1
  96. package/dist/{project-tsconfig-B-QtXjLQ.mjs → project-tsconfig-Ql2XsSQp.mjs} +2 -2
  97. package/dist/{protocol-Bnb0LFp3.d.mts → protocol-C-pqYJjE.d.mts} +3 -4
  98. package/dist/{provision-CPx2ZxsH.mjs → provision-Blnstcm2.mjs} +78 -45
  99. package/dist/r2-conditions-D1Wk8i7b.mjs +30 -0
  100. package/dist/{requests-B8sZxaFM.mjs → requests-BcKOVpRg.mjs} +5 -3
  101. package/dist/{resolve-project-BBMtLLV9.mjs → resolve-project--Vxawf7z.mjs} +2 -2
  102. package/dist/rollback-Bx85-0xh.mjs +166 -0
  103. package/dist/{rolldown-runtime-DJK8HYOj.mjs → rolldown-runtime-rQ84J-ij.mjs} +1 -1
  104. package/dist/{route-types-z1jtHEi_.mjs → route-types-Da-DpyUp.mjs} +77 -25
  105. package/dist/routes-stub.d.mts +22 -23
  106. package/dist/runner-mysql-7BPUNGmL.mjs +61 -0
  107. package/dist/{runner-pg-CHM76xuC.mjs → runner-pg-BkEza-dX.mjs} +18 -6
  108. package/dist/runtime/ai.d.mts +21 -14
  109. package/dist/runtime/ai.mjs +5 -4
  110. package/dist/runtime/auth-client-react.d.mts +3 -5
  111. package/dist/runtime/auth-client-solid.d.mts +3 -5
  112. package/dist/runtime/auth-client-svelte.d.mts +3 -5
  113. package/dist/runtime/auth-client-vue.d.mts +3 -5
  114. package/dist/runtime/auth-client.d.mts +3 -5
  115. package/dist/runtime/auth.d.mts +1 -1
  116. package/dist/runtime/better-auth-mysql.d.mts +10 -0
  117. package/dist/runtime/better-auth-mysql.mjs +49 -0
  118. package/dist/runtime/better-auth-pg.d.mts +8 -9
  119. package/dist/runtime/better-auth-pg.mjs +2 -2
  120. package/dist/runtime/better-auth.d.mts +8 -9
  121. package/dist/runtime/better-auth.mjs +2 -2
  122. package/dist/runtime/client-react.d.mts +1 -1
  123. package/dist/runtime/client-solid.d.mts +1 -1
  124. package/dist/runtime/client-svelte.d.mts +1 -1
  125. package/dist/runtime/client-vue.d.mts +1 -1
  126. package/dist/runtime/client.d.mts +1 -1
  127. package/dist/runtime/db-mysql.d.mts +2 -0
  128. package/dist/runtime/db-mysql.mjs +1 -0
  129. package/dist/runtime/db.d.mts +10 -11
  130. package/dist/runtime/durable.d.mts +47 -0
  131. package/dist/runtime/durable.mjs +146 -0
  132. package/dist/runtime/email/testing.d.mts +112 -0
  133. package/dist/runtime/email/testing.mjs +283 -0
  134. package/dist/runtime/email.d.mts +30 -0
  135. package/dist/runtime/email.mjs +573 -0
  136. package/dist/runtime/env-helpers.d.mts +2 -2
  137. package/dist/runtime/env-helpers.mjs +5 -42
  138. package/dist/runtime/env-public-client.d.mts +10 -11
  139. package/dist/runtime/env-public-client.mjs +1 -1
  140. package/dist/runtime/env-public.d.mts +2 -2
  141. package/dist/runtime/env-public.mjs +104 -49
  142. package/dist/runtime/env.d.mts +19 -18
  143. package/dist/runtime/env.mjs +15 -2
  144. package/dist/runtime/fetch-stream.d.mts +20 -21
  145. package/dist/runtime/fetch.d.mts +15 -16
  146. package/dist/runtime/handler.d.mts +1 -1
  147. package/dist/runtime/isr.d.mts +21 -22
  148. package/dist/runtime/isr.mjs +26 -8
  149. package/dist/runtime/kv.d.mts +9 -10
  150. package/dist/runtime/live-client.d.mts +5 -7
  151. package/dist/runtime/live-client.mjs +9 -7
  152. package/dist/runtime/live-server.d.mts +4 -5
  153. package/dist/runtime/live.d.mts +22 -24
  154. package/dist/runtime/live.mjs +1 -1
  155. package/dist/runtime/log.d.mts +16 -17
  156. package/dist/runtime/migration-handler-mysql.d.mts +4 -0
  157. package/dist/runtime/migration-handler-mysql.mjs +81 -0
  158. package/dist/runtime/migration-handler-pg.d.mts +2 -4
  159. package/dist/runtime/migration-handler.d.mts +5 -6
  160. package/dist/runtime/migration-handler.mjs +4 -3
  161. package/dist/runtime/queues.d.mts +3 -4
  162. package/dist/runtime/queues.mjs +2 -1
  163. package/dist/runtime/remote/binding-handler.d.mts +10 -12
  164. package/dist/runtime/remote/binding-handler.mjs +24 -3
  165. package/dist/runtime/remote/index.d.mts +5 -6
  166. package/dist/runtime/remote/index.mjs +21 -18
  167. package/dist/runtime/response.d.mts +10 -11
  168. package/dist/runtime/sandbox.d.mts +56 -55
  169. package/dist/runtime/sandbox.mjs +57 -49
  170. package/dist/runtime/schema-mysql.d.mts +1 -0
  171. package/dist/runtime/schema-mysql.mjs +2 -0
  172. package/dist/runtime/seed.d.mts +14 -9
  173. package/dist/runtime/sse-client.d.mts +6 -7
  174. package/dist/runtime/sse.d.mts +11 -12
  175. package/dist/runtime/storage.d.mts +3 -4
  176. package/dist/runtime/validator.d.mts +1 -1
  177. package/dist/runtime/ws-server.d.mts +12 -12
  178. package/dist/runtime/ws-server.mjs +32 -4
  179. package/dist/runtime/ws.d.mts +19 -21
  180. package/dist/{scan-ChWt4pX1.mjs → scan-BMH4rzlv.mjs} +42 -19
  181. package/dist/{scan-NU4xKGci.mjs → scan-CpK-57ug.mjs} +5 -4
  182. package/dist/{secret-Dt32J6RI.mjs → secret-ByhJ9AMl.mjs} +62 -5
  183. package/dist/{skills-CLjN0uUO.mjs → skills-Q46GZMO-.mjs} +6 -4
  184. package/dist/sqlite-validation-BzKMWnO4.mjs +25 -0
  185. package/dist/{standard-schema-DJ0HW7QP.d.mts → standard-schema-Fo_vCAZh.d.mts} +6 -6
  186. package/dist/{subcommand-prompt-BzV8iQZo.mjs → subcommand-prompt-WfySCQ7S.mjs} +67 -48
  187. package/dist/sveltekit.d.mts +12 -11
  188. package/dist/sveltekit.mjs +1 -1
  189. package/dist/types-BAp5AEBU.d.mts +79 -0
  190. package/dist/types-CKWnYgfy.d.mts +1 -0
  191. package/dist/{validate-Cw_RLeTj.mjs → validate-tBBN_dXH.mjs} +4 -3
  192. package/dist/wrangler--imS8n0d.mjs +1796 -0
  193. package/dist/{yarn-pnp-DJn3SAHF.mjs → yarn-pnp-DxSInkzL.mjs} +1 -1
  194. package/package.json +79 -65
  195. package/schema.json +22 -3
  196. package/skills/void/SKILL.md +59 -2
  197. package/skills/void/docs/guide/ai.md +32 -14
  198. package/skills/void/docs/guide/app-types.md +6 -6
  199. package/skills/void/docs/guide/auth.md +14 -16
  200. package/skills/void/docs/guide/database/d1.md +6 -0
  201. package/skills/void/docs/guide/database/mysql.md +60 -0
  202. package/skills/void/docs/guide/database/postgresql.md +14 -9
  203. package/skills/void/docs/guide/database.md +39 -26
  204. package/skills/void/docs/guide/deployment.md +99 -25
  205. package/skills/void/docs/guide/durable-state.md +140 -0
  206. package/skills/void/docs/guide/edge/headers.md +5 -5
  207. package/skills/void/docs/guide/edge/prerendering.md +2 -0
  208. package/skills/void/docs/guide/edge/revalidation.md +21 -6
  209. package/skills/void/docs/guide/edge/rewrites.md +18 -14
  210. package/skills/void/docs/guide/edge/static-assets.md +12 -10
  211. package/skills/void/docs/guide/email.md +640 -0
  212. package/skills/void/docs/guide/env-migration.md +109 -0
  213. package/skills/void/docs/guide/env-vars.md +70 -248
  214. package/skills/void/docs/guide/index.md +15 -17
  215. package/skills/void/docs/guide/jobs.md +8 -5
  216. package/skills/void/docs/guide/live.md +7 -15
  217. package/skills/void/docs/guide/pages-routing/actions-and-forms.md +8 -4
  218. package/skills/void/docs/guide/pages-routing/islands.md +3 -3
  219. package/skills/void/docs/guide/pages-routing/loaders.md +6 -4
  220. package/skills/void/docs/guide/pages-routing/overview.md +7 -7
  221. package/skills/void/docs/guide/platform-administration.md +212 -0
  222. package/skills/void/docs/guide/platform-development.md +264 -0
  223. package/skills/void/docs/guide/queues.md +10 -10
  224. package/skills/void/docs/guide/quickstart.md +46 -67
  225. package/skills/void/docs/guide/remote-dev.md +8 -6
  226. package/skills/void/docs/guide/sandboxes.md +33 -16
  227. package/skills/void/docs/guide/self-hosted-platform.md +553 -0
  228. package/skills/void/docs/guide/server-routing.md +5 -5
  229. package/skills/void/docs/guide/sse.md +4 -4
  230. package/skills/void/docs/guide/ssg.md +5 -3
  231. package/skills/void/docs/guide/storage.md +2 -2
  232. package/skills/void/docs/guide/websockets.md +15 -7
  233. package/skills/void/docs/index.md +3 -3
  234. package/skills/void/docs/integrations/agents.md +6 -64
  235. package/skills/void/docs/integrations/cloudflare.md +165 -146
  236. package/skills/void/docs/integrations/frameworks/analog.md +4 -4
  237. package/skills/void/docs/integrations/frameworks/astro.md +5 -5
  238. package/skills/void/docs/integrations/frameworks/nuxt.md +5 -5
  239. package/skills/void/docs/integrations/frameworks/overview.md +3 -3
  240. package/skills/void/docs/integrations/frameworks/react-router.md +3 -3
  241. package/skills/void/docs/integrations/frameworks/sveltekit.md +3 -3
  242. package/skills/void/docs/integrations/frameworks/tanstack-start.md +2 -2
  243. package/skills/void/docs/integrations/nodejs-bun-deno.md +11 -4
  244. package/skills/void/docs/reference/api.md +42 -6
  245. package/skills/void/docs/reference/cli.md +665 -160
  246. package/skills/void/docs/reference/config.md +67 -27
  247. package/skills/void/docs/reference/resource-inference.md +13 -9
  248. package/skills/void/docs/reference/structure.md +9 -11
  249. package/AGENT_PROMPT.md +0 -19
  250. package/dist/cf-access-Bqw81xAf.mjs +0 -22
  251. package/dist/env-CZy5MorI.mjs +0 -299
  252. package/dist/env-helpers-z4stu8uc.d.mts +0 -52
  253. package/dist/env-mask-Dd47NbR6.mjs +0 -90
  254. package/dist/env-public-BfiLcMBk.d.mts +0 -140
  255. package/dist/link-CdGHSIy-.mjs +0 -45
  256. package/dist/mcp-DoM3_nhd.mjs +0 -377
  257. package/dist/project-paths-GpziKeQQ.d.mts +0 -25
  258. package/dist/providers-BNKRacMr.d.mts +0 -7
  259. package/dist/proxy-D-3_D-Gl.mjs +0 -5
  260. package/dist/rollback-CkvTFXx5.mjs +0 -90
  261. package/dist/runtime/isr-cache.d.mts +0 -207
  262. package/dist/runtime/isr-cache.mjs +0 -523
  263. package/dist/types-lLjNE9Qp.d.mts +0 -51
  264. package/getting-started-prompt.txt +0 -28
  265. package/skills/void/command/void.md +0 -7
  266. package/skills/void/docs/integrations/auth-providers.md +0 -0
  267. package/skills/void/docs/integrations/payment-processors.md +0 -0
  268. package/skills/void/docs/node_modules/@iconify/vue/README.md +0 -408
  269. package/skills/void/docs/node_modules/@iconify/vue/offline/readme.md +0 -5
  270. package/skills/void/docs/node_modules/@voidzero-dev/vitepress-theme/README.md +0 -103
  271. package/skills/void/docs/node_modules/oxc-minify/README.md +0 -78
  272. package/skills/void/docs/node_modules/reka-ui/README.md +0 -80
  273. package/skills/void/docs/node_modules/vitepress/README.md +0 -28
  274. package/skills/void/docs/node_modules/vitepress/template/api-examples.md +0 -49
  275. package/skills/void/docs/node_modules/vitepress/template/index.md +0 -28
  276. package/skills/void/docs/node_modules/vitepress/template/markdown-examples.md +0 -85
  277. package/skills/void/docs/node_modules/vitepress-plugin-group-icons/README.md +0 -101
  278. package/skills/void/docs/node_modules/void/AGENT_PROMPT.md +0 -19
  279. package/skills/void/docs/node_modules/void/CLAUDE.md +0 -221
  280. package/skills/void/docs/node_modules/void/README.md +0 -90
  281. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/CHANGELOG.md +0 -685
  282. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/README.md +0 -396
  283. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/sandbox/README.md +0 -219
  284. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/vite-plugin/README.md +0 -37
  285. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/workers-types/README.md +0 -135
  286. package/skills/void/docs/node_modules/void/node_modules/@electric-sql/pglite/README.md +0 -189
  287. package/skills/void/docs/node_modules/void/node_modules/@hono/oauth-providers/CHANGELOG.md +0 -143
  288. package/skills/void/docs/node_modules/void/node_modules/@hono/oauth-providers/README.md +0 -1272
  289. package/skills/void/docs/node_modules/void/node_modules/@napi-rs/keyring/README.md +0 -19
  290. package/skills/void/docs/node_modules/void/node_modules/@types/better-sqlite3/README.md +0 -15
  291. package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +0 -15
  292. package/skills/void/docs/node_modules/void/node_modules/@types/pg/README.md +0 -15
  293. package/skills/void/docs/node_modules/void/node_modules/@types/proper-lockfile/README.md +0 -51
  294. package/skills/void/docs/node_modules/void/node_modules/@typescript/native-preview/README.md +0 -22
  295. package/skills/void/docs/node_modules/void/node_modules/@typescript/native-preview/vendor/vscode-jsonrpc/README.md +0 -69
  296. package/skills/void/docs/node_modules/void/node_modules/@void/md/README.md +0 -153
  297. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@shikijs/engine-javascript/README.md +0 -9
  298. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@shikijs/transformers/README.md +0 -9
  299. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +0 -15
  300. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/gray-matter/CHANGELOG.md +0 -24
  301. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/gray-matter/README.md +0 -565
  302. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-exit/README.md +0 -127
  303. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-anchor/README.md +0 -600
  304. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-attrs/README.md +0 -386
  305. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-container/README.md +0 -95
  306. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-emoji/README.md +0 -101
  307. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-footnote/README.md +0 -135
  308. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/pathslash/README.md +0 -64
  309. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/shiki/README.md +0 -15
  310. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tinyglobby/README.md +0 -25
  311. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +0 -16
  312. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +0 -220
  313. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +0 -21
  314. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/check.md +0 -35
  315. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/create.md +0 -70
  316. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +0 -20
  317. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +0 -35
  318. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +0 -26
  319. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +0 -17
  320. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +0 -364
  321. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +0 -15
  322. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +0 -18
  323. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +0 -145
  324. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/build.md +0 -40
  325. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +0 -107
  326. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +0 -60
  327. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +0 -62
  328. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +0 -60
  329. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +0 -341
  330. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/dev.md +0 -24
  331. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/docker.md +0 -175
  332. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +0 -167
  333. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/fmt.md +0 -41
  334. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/github-actions-cache.md +0 -165
  335. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +0 -101
  336. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/implode.md +0 -23
  337. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +0 -134
  338. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +0 -199
  339. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/lint.md +0 -50
  340. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate-rules.md +0 -347
  341. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +0 -197
  342. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/monorepo.md +0 -176
  343. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +0 -69
  344. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +0 -356
  345. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/test.md +0 -35
  346. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +0 -108
  347. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +0 -101
  348. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/vpx.md +0 -66
  349. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/why.md +0 -39
  350. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/index.md +0 -12
  351. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/team.md +0 -35
  352. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/generator/README.md +0 -35
  353. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/monorepo/README.md +0 -29
  354. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vue/README.md +0 -58
  355. package/skills/void/docs/node_modules/void/node_modules/arktype/README.md +0 -165
  356. package/skills/void/docs/node_modules/void/node_modules/better-auth/LICENSE.md +0 -20
  357. package/skills/void/docs/node_modules/void/node_modules/better-auth/README.md +0 -32
  358. package/skills/void/docs/node_modules/void/node_modules/better-sqlite3/README.md +0 -99
  359. package/skills/void/docs/node_modules/void/node_modules/blake3-jit/README.md +0 -108
  360. package/skills/void/docs/node_modules/void/node_modules/drizzle-arktype/README.md +0 -51
  361. package/skills/void/docs/node_modules/void/node_modules/drizzle-kit/README.md +0 -79
  362. package/skills/void/docs/node_modules/void/node_modules/drizzle-orm/README.md +0 -44
  363. package/skills/void/docs/node_modules/void/node_modules/drizzle-valibot/README.md +0 -51
  364. package/skills/void/docs/node_modules/void/node_modules/drizzle-zod/README.md +0 -65
  365. package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +0 -403
  366. package/skills/void/docs/node_modules/void/node_modules/estree-walker/README.md +0 -48
  367. package/skills/void/docs/node_modules/void/node_modules/hono/README.md +0 -85
  368. package/skills/void/docs/node_modules/void/node_modules/ignore/README.md +0 -452
  369. package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/CHANGELOG.md +0 -76
  370. package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/LICENSE.md +0 -21
  371. package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/README.md +0 -364
  372. package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/SECURITY.md +0 -41
  373. package/skills/void/docs/node_modules/void/node_modules/magic-string/README.md +0 -325
  374. package/skills/void/docs/node_modules/void/node_modules/ofetch/README.md +0 -398
  375. package/skills/void/docs/node_modules/void/node_modules/pathslash/README.md +0 -64
  376. package/skills/void/docs/node_modules/void/node_modules/pg/README.md +0 -96
  377. package/skills/void/docs/node_modules/void/node_modules/pglite-server/README.md +0 -135
  378. package/skills/void/docs/node_modules/void/node_modules/picocolors/README.md +0 -21
  379. package/skills/void/docs/node_modules/void/node_modules/proper-lockfile/CHANGELOG.md +0 -108
  380. package/skills/void/docs/node_modules/void/node_modules/proper-lockfile/README.md +0 -183
  381. package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +0 -25
  382. package/skills/void/docs/node_modules/void/node_modules/valibot/LICENSE.md +0 -9
  383. package/skills/void/docs/node_modules/void/node_modules/valibot/README.md +0 -94
  384. package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +0 -16
  385. package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +0 -220
  386. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +0 -21
  387. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/check.md +0 -35
  388. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/create.md +0 -70
  389. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +0 -20
  390. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +0 -35
  391. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +0 -26
  392. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +0 -17
  393. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +0 -364
  394. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +0 -15
  395. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +0 -18
  396. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +0 -145
  397. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/build.md +0 -40
  398. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +0 -107
  399. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +0 -60
  400. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +0 -62
  401. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +0 -60
  402. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +0 -341
  403. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/dev.md +0 -24
  404. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/docker.md +0 -175
  405. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +0 -167
  406. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/fmt.md +0 -41
  407. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/github-actions-cache.md +0 -165
  408. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +0 -101
  409. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/implode.md +0 -23
  410. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +0 -134
  411. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +0 -199
  412. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/lint.md +0 -50
  413. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate-rules.md +0 -347
  414. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +0 -197
  415. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/monorepo.md +0 -176
  416. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +0 -69
  417. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +0 -356
  418. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/test.md +0 -35
  419. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +0 -108
  420. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +0 -101
  421. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/vpx.md +0 -66
  422. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/why.md +0 -39
  423. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/index.md +0 -12
  424. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/team.md +0 -35
  425. package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/generator/README.md +0 -35
  426. package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/monorepo/README.md +0 -29
  427. package/skills/void/docs/node_modules/void/node_modules/wrangler/README.md +0 -63
  428. package/skills/void/docs/node_modules/void/node_modules/zod/README.md +0 -191
  429. package/skills/void/docs/node_modules/void/skills/migrate-vite-cloudflare-to-void/SKILL.md +0 -175
  430. package/skills/void/docs/node_modules/void/skills/void/SKILL.md +0 -76
  431. package/skills/void/docs/node_modules/void/skills/void/command/void.md +0 -7
  432. 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-afAcWeQ9.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 };