devflare 1.0.0-next.16 → 1.0.0-next.18

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 (982) hide show
  1. package/LLM.md +688 -229
  2. package/README.md +70 -8
  3. package/bin/devflare.js +1 -1
  4. package/dist/{account-fw8nafav.js → account-0evqkmnc.js} +8 -8
  5. package/dist/{account-0w8wdzjv.js → account-0v11zbzk.js} +9 -9
  6. package/dist/{account-eygq6qx7.js → account-2w85efas.js} +9 -9
  7. package/dist/{account-pzq69nys.js → account-61gw9s7t.js} +9 -9
  8. package/dist/account-65sk9q34.js +475 -0
  9. package/dist/account-77vx7q2f.js +475 -0
  10. package/dist/account-7z38mgqf.js +475 -0
  11. package/dist/account-8wgprpbt.js +475 -0
  12. package/dist/account-9gt3tej1.js +475 -0
  13. package/dist/account-dtndtbad.js +475 -0
  14. package/dist/account-e95v7f4s.js +475 -0
  15. package/dist/account-fbyyptg7.js +475 -0
  16. package/dist/account-gnzhz1c9.js +475 -0
  17. package/dist/account-m6jq6fnp.js +475 -0
  18. package/dist/account-mvnfagh9.js +475 -0
  19. package/dist/account-p0crq2gh.js +475 -0
  20. package/dist/account-qkcevx7a.js +475 -0
  21. package/dist/account-txwqg1rx.js +475 -0
  22. package/dist/account-w5n5bjh2.js +475 -0
  23. package/dist/account-zd61t0ey.js +475 -0
  24. package/dist/api-11gkk043.js +33 -0
  25. package/dist/api-2n6dd2ws.js +33 -0
  26. package/dist/api-dbxvch9h.js +33 -0
  27. package/dist/api-p9hf69kr.js +33 -0
  28. package/dist/api-r10j00ev.js +33 -0
  29. package/dist/api-senf2569.js +33 -0
  30. package/dist/api-swcgnp72.js +33 -0
  31. package/dist/{api-d6ekexs5.js → api-th82mps4.js} +3 -1
  32. package/dist/bridge/client.d.ts +29 -6
  33. package/dist/bridge/client.d.ts.map +1 -1
  34. package/dist/bridge/gateway-runtime.d.ts +8 -0
  35. package/dist/bridge/gateway-runtime.d.ts.map +1 -0
  36. package/dist/bridge/index.d.ts +2 -2
  37. package/dist/bridge/index.d.ts.map +1 -1
  38. package/dist/bridge/log.d.ts +5 -0
  39. package/dist/bridge/log.d.ts.map +1 -0
  40. package/dist/bridge/miniflare.d.ts.map +1 -1
  41. package/dist/bridge/proxy.d.ts +7 -5
  42. package/dist/bridge/proxy.d.ts.map +1 -1
  43. package/dist/bridge/serialization.d.ts +36 -16
  44. package/dist/bridge/serialization.d.ts.map +1 -1
  45. package/dist/bridge/server.d.ts +1 -0
  46. package/dist/bridge/server.d.ts.map +1 -1
  47. package/dist/bridge/v2/body-streams.d.ts +53 -0
  48. package/dist/bridge/v2/body-streams.d.ts.map +1 -0
  49. package/dist/bridge/v2/codec.d.ts +106 -0
  50. package/dist/bridge/v2/codec.d.ts.map +1 -0
  51. package/dist/bridge/v2/control-messages.d.ts +51 -0
  52. package/dist/bridge/v2/control-messages.d.ts.map +1 -0
  53. package/dist/bridge/v2/frames.d.ts +109 -0
  54. package/dist/bridge/v2/frames.d.ts.map +1 -0
  55. package/dist/bridge/v2/index.d.ts +11 -0
  56. package/dist/bridge/v2/index.d.ts.map +1 -0
  57. package/dist/bridge/v2/legacy-protocol.d.ts +146 -0
  58. package/dist/bridge/v2/legacy-protocol.d.ts.map +1 -0
  59. package/dist/bridge/v2/legacy-serialization.d.ts +103 -0
  60. package/dist/bridge/v2/legacy-serialization.d.ts.map +1 -0
  61. package/dist/bridge/v2/serialization.d.ts +48 -0
  62. package/dist/bridge/v2/serialization.d.ts.map +1 -0
  63. package/dist/bridge/v2/transport.d.ts +31 -0
  64. package/dist/bridge/v2/transport.d.ts.map +1 -0
  65. package/dist/bridge/v2/value-codec.d.ts +61 -0
  66. package/dist/bridge/v2/value-codec.d.ts.map +1 -0
  67. package/dist/bridge/v2/value-serialization.d.ts +103 -0
  68. package/dist/bridge/v2/value-serialization.d.ts.map +1 -0
  69. package/dist/bridge/v2/wire.d.ts +170 -0
  70. package/dist/bridge/v2/wire.d.ts.map +1 -0
  71. package/dist/bridge/v2/ws-relay.d.ts +53 -0
  72. package/dist/bridge/v2/ws-relay.d.ts.map +1 -0
  73. package/dist/browser-shim/server.d.ts +63 -0
  74. package/dist/browser-shim/server.d.ts.map +1 -1
  75. package/dist/browser.d.ts +396 -38
  76. package/dist/browser.d.ts.map +1 -1
  77. package/dist/{src/browser.js → browser.js} +19 -33
  78. package/dist/build-07mjrvsn.js +53 -0
  79. package/dist/build-0rfr8k1s.js +53 -0
  80. package/dist/build-1313sg73.js +52 -0
  81. package/dist/build-1hnntbks.js +53 -0
  82. package/dist/build-1r3myv0k.js +53 -0
  83. package/dist/build-28561w5v.js +54 -0
  84. package/dist/build-50yqpwb3.js +54 -0
  85. package/dist/build-55z8psd6.js +53 -0
  86. package/dist/build-5b9wj2p0.js +53 -0
  87. package/dist/build-5frhzh1m.js +53 -0
  88. package/dist/{build-p3r3117t.js → build-6ye9vnab.js} +8 -9
  89. package/dist/build-8gv18jrq.js +52 -0
  90. package/dist/build-9bgqypy6.js +53 -0
  91. package/dist/{build-506kjhcm.js → build-9em4ymqn.js} +12 -13
  92. package/dist/build-eh3x12qc.js +52 -0
  93. package/dist/build-emhyycp7.js +53 -0
  94. package/dist/build-f1m9jn7b.js +53 -0
  95. package/dist/build-ffe72jjv.js +54 -0
  96. package/dist/build-fx90y6za.js +53 -0
  97. package/dist/build-h31egsze.js +53 -0
  98. package/dist/build-hpczwagb.js +53 -0
  99. package/dist/{build-1kmkwqgh.js → build-hpkbanpw.js} +16 -15
  100. package/dist/build-j2re91xe.js +54 -0
  101. package/dist/{build-66866ahs.js → build-j78389rg.js} +12 -13
  102. package/dist/build-m3kckn5g.js +53 -0
  103. package/dist/build-mf3thcjm.js +53 -0
  104. package/dist/build-n3n5bv37.js +52 -0
  105. package/dist/build-ngfy4v5x.js +53 -0
  106. package/dist/build-pr843h0d.js +52 -0
  107. package/dist/build-qyg2b45p.js +52 -0
  108. package/dist/build-r6884kyt.js +53 -0
  109. package/dist/build-re370wkf.js +53 -0
  110. package/dist/build-vvndgwg0.js +52 -0
  111. package/dist/build-wp559jkf.js +54 -0
  112. package/dist/{build-g1adm3ww.js → build-x4r67275.js} +12 -13
  113. package/dist/build-xp4pfhvv.js +52 -0
  114. package/dist/build-y489r2h9.js +54 -0
  115. package/dist/build-y6g4bvx5.js +52 -0
  116. package/dist/build-yvn0yhwx.js +52 -0
  117. package/dist/build-z4vmhs5c.js +53 -0
  118. package/dist/bundler/defaults.d.ts +23 -0
  119. package/dist/bundler/defaults.d.ts.map +1 -0
  120. package/dist/bundler/do-bundler.d.ts.map +1 -1
  121. package/dist/bundler/index.d.ts +1 -0
  122. package/dist/bundler/index.d.ts.map +1 -1
  123. package/dist/bundler/rolldown-shared.d.ts +29 -0
  124. package/dist/bundler/rolldown-shared.d.ts.map +1 -1
  125. package/dist/bundler/worker-bundler.d.ts.map +1 -1
  126. package/dist/bundler/worker-compat.d.ts.map +1 -1
  127. package/dist/cli/build-manifest.d.ts +54 -0
  128. package/dist/cli/build-manifest.d.ts.map +1 -0
  129. package/dist/cli/commands/build-artifacts.d.ts +13 -0
  130. package/dist/cli/commands/build-artifacts.d.ts.map +1 -1
  131. package/dist/cli/commands/deploy.d.ts.map +1 -1
  132. package/dist/cli/dependencies.d.ts +1 -0
  133. package/dist/cli/dependencies.d.ts.map +1 -1
  134. package/dist/cli/deploy-strategy.d.ts +3 -3
  135. package/dist/cli/deploy-strategy.d.ts.map +1 -1
  136. package/dist/cli/help-pages/pages/core.d.ts.map +1 -1
  137. package/dist/cli/index.js +12 -0
  138. package/dist/cli/preview-bindings.d.ts +8 -1
  139. package/dist/cli/preview-bindings.d.ts.map +1 -1
  140. package/dist/cli/preview.d.ts +1 -2
  141. package/dist/cli/preview.d.ts.map +1 -1
  142. package/dist/cloudflare/account-resources.d.ts.map +1 -1
  143. package/dist/cloudflare/api.d.ts +67 -3
  144. package/dist/cloudflare/api.d.ts.map +1 -1
  145. package/dist/cloudflare/auth.d.ts.map +1 -1
  146. package/dist/{src/cloudflare → cloudflare}/index.js +7 -7
  147. package/dist/cloudflare/known-permission-group-ids.generated.d.ts +10 -0
  148. package/dist/cloudflare/known-permission-group-ids.generated.d.ts.map +1 -0
  149. package/dist/cloudflare/kv-namespace.d.ts +2 -1
  150. package/dist/cloudflare/kv-namespace.d.ts.map +1 -1
  151. package/dist/cloudflare/preferences.d.ts +7 -0
  152. package/dist/cloudflare/preferences.d.ts.map +1 -1
  153. package/dist/cloudflare/preview-registry-inference.d.ts +14 -0
  154. package/dist/cloudflare/preview-registry-inference.d.ts.map +1 -0
  155. package/dist/cloudflare/preview-registry-records.d.ts +3 -60
  156. package/dist/cloudflare/preview-registry-records.d.ts.map +1 -1
  157. package/dist/cloudflare/preview-registry-shape.d.ts +47 -0
  158. package/dist/cloudflare/preview-registry-shape.d.ts.map +1 -0
  159. package/dist/cloudflare/preview-registry-transport.d.ts +4 -0
  160. package/dist/cloudflare/preview-registry-transport.d.ts.map +1 -0
  161. package/dist/cloudflare/preview-urls.d.ts +3 -0
  162. package/dist/cloudflare/preview-urls.d.ts.map +1 -0
  163. package/dist/cloudflare/tokens.d.ts +23 -0
  164. package/dist/cloudflare/tokens.d.ts.map +1 -1
  165. package/dist/cloudflare/types.d.ts +1 -1
  166. package/dist/cloudflare/types.d.ts.map +1 -1
  167. package/dist/cloudflare/usage.d.ts +30 -2
  168. package/dist/cloudflare/usage.d.ts.map +1 -1
  169. package/dist/config/binding-resolution-helpers.d.ts +36 -0
  170. package/dist/config/binding-resolution-helpers.d.ts.map +1 -0
  171. package/dist/config/compatibility.d.ts +3 -0
  172. package/dist/config/compatibility.d.ts.map +1 -0
  173. package/dist/config/compiler.d.ts +61 -20
  174. package/dist/config/compiler.d.ts.map +1 -1
  175. package/dist/config/deploy-resources.d.ts +58 -0
  176. package/dist/config/deploy-resources.d.ts.map +1 -0
  177. package/dist/config/index.d.ts +5 -2
  178. package/dist/config/index.d.ts.map +1 -1
  179. package/dist/config/preview-resources.d.ts +6 -0
  180. package/dist/config/preview-resources.d.ts.map +1 -1
  181. package/dist/config/preview.d.ts.map +1 -1
  182. package/dist/config/ref.d.ts +14 -1
  183. package/dist/config/ref.d.ts.map +1 -1
  184. package/dist/config/resolve-phased.d.ts +72 -0
  185. package/dist/config/resolve-phased.d.ts.map +1 -0
  186. package/dist/config/resolve.d.ts +7 -0
  187. package/dist/config/resolve.d.ts.map +1 -1
  188. package/dist/config/resource-resolution.d.ts +26 -6
  189. package/dist/config/resource-resolution.d.ts.map +1 -1
  190. package/dist/config/schema-bindings.d.ts +262 -0
  191. package/dist/config/schema-bindings.d.ts.map +1 -1
  192. package/dist/config/schema-env.d.ts +375 -39
  193. package/dist/config/schema-env.d.ts.map +1 -1
  194. package/dist/config/schema-normalization.d.ts +26 -2
  195. package/dist/config/schema-normalization.d.ts.map +1 -1
  196. package/dist/config/schema.d.ts +994 -63
  197. package/dist/config/schema.d.ts.map +1 -1
  198. package/dist/config/service-bindings-validation.d.ts +36 -0
  199. package/dist/config/service-bindings-validation.d.ts.map +1 -0
  200. package/dist/{config-hwdqjse7.js → config-1japnjmx.js} +5 -5
  201. package/dist/{config-q0g5qdga.js → config-287wjn1m.js} +6 -6
  202. package/dist/{config-fjwke42y.js → config-4x6vq82e.js} +6 -6
  203. package/dist/{config-pxvewrhv.js → config-5n0avhcx.js} +6 -6
  204. package/dist/config-70s2ap5j.js +59 -0
  205. package/dist/config-7hge8ze6.js +59 -0
  206. package/dist/config-7rbp7aek.js +59 -0
  207. package/dist/config-b8xbbmta.js +59 -0
  208. package/dist/config-baee5690.js +59 -0
  209. package/dist/config-bczpc1ey.js +59 -0
  210. package/dist/{src/config-entry.js → config-entry.js} +3 -3
  211. package/dist/config-fhmwzaw6.js +59 -0
  212. package/dist/config-g9vkfa4x.js +59 -0
  213. package/dist/config-gpexkzth.js +59 -0
  214. package/dist/config-nspw7sgv.js +59 -0
  215. package/dist/config-ntm4x9wt.js +59 -0
  216. package/dist/config-nv6hfpg6.js +59 -0
  217. package/dist/config-pjc33wew.js +59 -0
  218. package/dist/config-pnz2e8s3.js +59 -0
  219. package/dist/config-qts6nh6g.js +59 -0
  220. package/dist/config-sg2xrdt4.js +59 -0
  221. package/dist/config-vzwckat3.js +59 -0
  222. package/dist/config-x90dkmm7.js +59 -0
  223. package/dist/{src/decorators → decorators}/index.js +2 -2
  224. package/dist/deploy-1s6nv5rp.js +921 -0
  225. package/dist/{deploy-ykpcjkc2.js → deploy-30ph1rrd.js} +263 -32
  226. package/dist/{deploy-ex4g5avz.js → deploy-39dmfn9d.js} +338 -38
  227. package/dist/deploy-44n2pshy.js +1016 -0
  228. package/dist/deploy-45qxpsfe.js +921 -0
  229. package/dist/deploy-64e57w1g.js +1040 -0
  230. package/dist/deploy-82j43vta.js +1040 -0
  231. package/dist/deploy-99m8qhpa.js +1041 -0
  232. package/dist/deploy-9twkd32f.js +1040 -0
  233. package/dist/deploy-a2eq2c1n.js +1040 -0
  234. package/dist/{deploy-csfhdr64.js → deploy-a3pb1qs5.js} +259 -29
  235. package/dist/deploy-agbtfm04.js +921 -0
  236. package/dist/{deploy-jnb0bhka.js → deploy-aswbtbf3.js} +361 -49
  237. package/dist/deploy-bqf3kxy5.js +972 -0
  238. package/dist/deploy-fv4z648h.js +921 -0
  239. package/dist/deploy-gsybda2f.js +1038 -0
  240. package/dist/deploy-h17nzysm.js +921 -0
  241. package/dist/deploy-hc89h4wg.js +1045 -0
  242. package/dist/deploy-jey5pnqn.js +1040 -0
  243. package/dist/deploy-jv0yfqvk.js +1040 -0
  244. package/dist/deploy-kn3z6spd.js +941 -0
  245. package/dist/deploy-m22xmz9w.js +921 -0
  246. package/dist/deploy-nefp2njy.js +1038 -0
  247. package/dist/deploy-ppp8pg6w.js +1038 -0
  248. package/dist/deploy-qah2eag6.js +1041 -0
  249. package/dist/deploy-qdq2gpad.js +1045 -0
  250. package/dist/deploy-r1yf8913.js +1038 -0
  251. package/dist/deploy-r8nam9rr.js +1038 -0
  252. package/dist/deploy-rrm4a0xw.js +921 -0
  253. package/dist/deploy-s0tfnc12.js +1040 -0
  254. package/dist/deploy-s636ks9k.js +1041 -0
  255. package/dist/deploy-sany8t54.js +1045 -0
  256. package/dist/deploy-skqn61j3.js +1038 -0
  257. package/dist/deploy-smv2870h.js +921 -0
  258. package/dist/deploy-sp16nxs5.js +972 -0
  259. package/dist/deploy-sr805bvq.js +921 -0
  260. package/dist/deploy-t9dehmn0.js +1041 -0
  261. package/dist/deploy-taxt7njz.js +1041 -0
  262. package/dist/deploy-tnfvfh9m.js +1040 -0
  263. package/dist/deploy-w5f8db4s.js +1040 -0
  264. package/dist/deploy-wsxcectr.js +921 -0
  265. package/dist/deploy-xyfbhj3v.js +1038 -0
  266. package/dist/deploy-yv1y5xaa.js +921 -0
  267. package/dist/deploy-z3ejw37k.js +1040 -0
  268. package/dist/{dev-8nssqatr.js → dev-02tgdc4f.js} +199 -448
  269. package/dist/dev-0tqhveye.js +2314 -0
  270. package/dist/dev-3dj2gkfq.js +2314 -0
  271. package/dist/dev-3e0etsww.js +2314 -0
  272. package/dist/dev-47dk7c13.js +2314 -0
  273. package/dist/dev-4a2a31cm.js +2314 -0
  274. package/dist/dev-4w1stcn8.js +2427 -0
  275. package/dist/dev-5wkh1z4a.js +2188 -0
  276. package/dist/dev-6t22zmey.js +2350 -0
  277. package/dist/dev-89p1sdv7.js +2395 -0
  278. package/dist/dev-8d1gxjky.js +2427 -0
  279. package/dist/dev-8yawx3cv.js +2314 -0
  280. package/dist/dev-9h4p8a0c.js +2393 -0
  281. package/dist/dev-9xmttj4c.js +2314 -0
  282. package/dist/dev-at6gy2td.js +2427 -0
  283. package/dist/dev-bkbz97z0.js +2314 -0
  284. package/dist/{dev-grznx8fn.js → dev-ct3344kv.js} +199 -448
  285. package/dist/{dev-7ef5e2j1.js → dev-dg8dh5c1.js} +123 -298
  286. package/dist/dev-dr5jb965.js +2427 -0
  287. package/dist/dev-e4sjqtbq.js +2314 -0
  288. package/dist/dev-ecq26mg4.js +2350 -0
  289. package/dist/dev-ef237vgp.js +2324 -0
  290. package/dist/dev-enbdg4st.js +2314 -0
  291. package/dist/dev-jcrxg8hq.js +2160 -0
  292. package/dist/dev-jk0gqges.js +2432 -0
  293. package/dist/dev-k62936am.js +2314 -0
  294. package/dist/dev-k8ptbvrs.js +2160 -0
  295. package/dist/dev-kqm107h4.js +2422 -0
  296. package/dist/dev-n0gx7eya.js +2350 -0
  297. package/dist/dev-n23m6rtb.js +2314 -0
  298. package/dist/dev-ny8fmkzg.js +2432 -0
  299. package/dist/dev-p1c65cga.js +2386 -0
  300. package/dist/dev-p4fjbb4h.js +2395 -0
  301. package/dist/dev-pnfcv79z.js +2160 -0
  302. package/dist/dev-qnrrv5ey.js +2393 -0
  303. package/dist/dev-qqysg50t.js +2427 -0
  304. package/dist/dev-r9f3n11q.js +2410 -0
  305. package/dist/dev-s0815dw4.js +2427 -0
  306. package/dist/dev-s4tpkg60.js +2314 -0
  307. package/dist/dev-s82fcesg.js +2314 -0
  308. package/dist/dev-s9sz53me.js +2401 -0
  309. package/dist/dev-sdka7z0d.js +2427 -0
  310. package/dist/dev-server/d1-migrations.d.ts +22 -0
  311. package/dist/dev-server/d1-migrations.d.ts.map +1 -1
  312. package/dist/dev-server/dev-server-state.d.ts +56 -0
  313. package/dist/dev-server/dev-server-state.d.ts.map +1 -0
  314. package/dist/dev-server/gateway-script.d.ts +14 -1
  315. package/dist/dev-server/gateway-script.d.ts.map +1 -1
  316. package/dist/dev-server/miniflare-bindings.d.ts +16 -0
  317. package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
  318. package/dist/dev-server/miniflare-dev-config.d.ts +30 -0
  319. package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
  320. package/dist/dev-server/miniflare-worker-config.d.ts +44 -0
  321. package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
  322. package/dist/dev-server/reload-queue.d.ts +13 -0
  323. package/dist/dev-server/reload-queue.d.ts.map +1 -0
  324. package/dist/dev-server/server-startup-helpers.d.ts +84 -0
  325. package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
  326. package/dist/dev-server/server.d.ts.map +1 -1
  327. package/dist/dev-server/vite-utils.d.ts +18 -0
  328. package/dist/dev-server/vite-utils.d.ts.map +1 -1
  329. package/dist/dev-server/worker-source-watcher.d.ts +6 -0
  330. package/dist/dev-server/worker-source-watcher.d.ts.map +1 -1
  331. package/dist/dev-t3tjscah.js +2350 -0
  332. package/dist/dev-t50kdb1j.js +2338 -0
  333. package/dist/dev-t5xf55pt.js +2314 -0
  334. package/dist/dev-t63c44bb.js +2314 -0
  335. package/dist/dev-wg3d38sy.js +2433 -0
  336. package/dist/dev-wh4rfgsh.js +2427 -0
  337. package/dist/{dev-2pd33m28.js → dev-wjh8gdd1.js} +200 -325
  338. package/dist/dev-xzxy9qvq.js +2314 -0
  339. package/dist/dev-yymaq4ph.js +2392 -0
  340. package/dist/dev-zg2w2ve3.js +2422 -0
  341. package/dist/dev-zsb2xk1x.js +2427 -0
  342. package/dist/dev-zty3yhzg.js +2324 -0
  343. package/dist/{doctor-04ammrrh.js → doctor-3mqavqg3.js} +10 -10
  344. package/dist/{doctor-fzkznce1.js → doctor-5nek32fz.js} +10 -10
  345. package/dist/{doctor-sa5xv1bz.js → doctor-7ra1w0sk.js} +10 -10
  346. package/dist/doctor-ak830a0k.js +245 -0
  347. package/dist/doctor-bye3cs8a.js +245 -0
  348. package/dist/{doctor-fmjj65mc.js → doctor-c5m9pmwq.js} +8 -8
  349. package/dist/doctor-cqfkgxvw.js +245 -0
  350. package/dist/doctor-e1h9mhzp.js +245 -0
  351. package/dist/doctor-fmqsrafk.js +245 -0
  352. package/dist/doctor-hgs7wr5g.js +245 -0
  353. package/dist/doctor-j8ytsy94.js +245 -0
  354. package/dist/doctor-mcmkgp6e.js +245 -0
  355. package/dist/doctor-qb6m2exc.js +245 -0
  356. package/dist/doctor-qq4tsh8q.js +245 -0
  357. package/dist/doctor-tecv869a.js +245 -0
  358. package/dist/doctor-wg0245pe.js +245 -0
  359. package/dist/doctor-z3jfqxtz.js +245 -0
  360. package/dist/durable-object-4hey8fgy.js +13 -0
  361. package/dist/durable-object-v3gsnybk.js +13 -0
  362. package/dist/env.d.ts.map +1 -1
  363. package/dist/index-0krb65s3.js +215 -0
  364. package/dist/index-0mantew0.js +513 -0
  365. package/dist/{index-p03n4qet.js → index-0mezg6ar.js} +26 -21
  366. package/dist/{index-mqekt778.js → index-0tk2rs0q.js} +1 -1
  367. package/dist/{index-h18pxvzs.js → index-124e9t4t.js} +1 -1
  368. package/dist/{index-na3mnm1k.js → index-1546yrn0.js} +2 -2
  369. package/dist/index-15fpa5tx.js +232 -0
  370. package/dist/{index-jb75kwa4.js → index-18mp5v50.js} +33 -14
  371. package/dist/{index-4v9bc2pc.js → index-195tc6qh.js} +26 -21
  372. package/dist/{index-0kfzdywd.js → index-1bg8w2gf.js} +1 -1
  373. package/dist/index-1d4jg11n.js +542 -0
  374. package/dist/index-1e2qtrmj.js +188 -0
  375. package/dist/{index-v5nmqthy.js → index-1ghhgb9d.js} +2 -2
  376. package/dist/index-1nhd9nkd.js +232 -0
  377. package/dist/{index-6psz1h4c.js → index-1wn8mjep.js} +116 -96
  378. package/dist/index-1xhd5czz.js +185 -0
  379. package/dist/index-2a2g4fwp.js +993 -0
  380. package/dist/{index-fvsadj32.js → index-2bmtj21z.js} +2 -2
  381. package/dist/{index-816krz9p.js → index-2dpmd14d.js} +1 -1
  382. package/dist/{index-3ke5d2vn.js → index-2fa0afdp.js} +173 -30
  383. package/dist/{index-d8etnfef.js → index-2rcrefqd.js} +173 -30
  384. package/dist/index-2t2m5148.js +1372 -0
  385. package/dist/index-2vbzamev.js +437 -0
  386. package/dist/index-2vdep9h0.js +993 -0
  387. package/dist/{index-zfhq6s96.js → index-2y90j9cz.js} +2 -2
  388. package/dist/index-33ep0z9x.js +385 -0
  389. package/dist/index-37jgbaw6.js +1372 -0
  390. package/dist/index-380ncsqc.js +977 -0
  391. package/dist/{index-thna1tkd.js → index-3e1x39fc.js} +111 -26
  392. package/dist/index-3e7by9sy.js +223 -0
  393. package/dist/{index-xk9djfjp.js → index-3egad6wm.js} +34 -15
  394. package/dist/index-3f8rzmjw.js +232 -0
  395. package/dist/index-3vd4r37r.js +1372 -0
  396. package/dist/index-3vgn5e89.js +1682 -0
  397. package/dist/index-3x7k3t0f.js +513 -0
  398. package/dist/index-3xfe2dst.js +399 -0
  399. package/dist/index-464j1zb4.js +513 -0
  400. package/dist/{index-pnbs1b8k.js → index-48rxsj95.js} +110 -25
  401. package/dist/index-4bezcdd1.js +385 -0
  402. package/dist/index-4fp11z9e.js +973 -0
  403. package/dist/{index-m3fmw6mx.js → index-4knecthc.js} +2 -2
  404. package/dist/index-502y7w13.js +538 -0
  405. package/dist/index-50mxxb4q.js +185 -0
  406. package/dist/index-5achzspr.js +185 -0
  407. package/dist/index-5ef3jmv7.js +1372 -0
  408. package/dist/index-5eswe8yv.js +844 -0
  409. package/dist/index-5gevxfgs.js +513 -0
  410. package/dist/index-5gmf048z.js +817 -0
  411. package/dist/index-5jtkxpjf.js +971 -0
  412. package/dist/{index-72mve6vh.js → index-5m85bd9x.js} +1 -1
  413. package/dist/{index-4rrttqj5.js → index-5n5nn0a8.js} +62 -176
  414. package/dist/index-5p3bgjwr.js +808 -0
  415. package/dist/index-5vzcszr2.js +1230 -0
  416. package/dist/index-5w77r4w9.js +513 -0
  417. package/dist/index-62srkqcm.js +168 -0
  418. package/dist/index-63cgqe43.js +1372 -0
  419. package/dist/index-65e7xx1a.js +19 -0
  420. package/dist/index-65qrje14.js +185 -0
  421. package/dist/index-66sx3b3v.js +385 -0
  422. package/dist/{index-b8m6883k.js → index-678j0n13.js} +2 -2
  423. package/dist/{index-epw1jxz5.js → index-6ftrth7n.js} +194 -180
  424. package/dist/index-6g90pvxa.js +215 -0
  425. package/dist/index-6j4m5x2d.js +1372 -0
  426. package/dist/{index-7v583xan.js → index-6jwpke14.js} +13 -46
  427. package/dist/index-6knsjvxh.js +1372 -0
  428. package/dist/index-6kwq6yf8.js +979 -0
  429. package/dist/index-6mg4yvc6.js +74 -0
  430. package/dist/{index-e9yw4d6y.js → index-6phry941.js} +5 -5
  431. package/dist/index-6r59wbek.js +232 -0
  432. package/dist/index-6sf815ps.js +74 -0
  433. package/dist/index-6zd89k6y.js +1230 -0
  434. package/dist/{index-ry131z23.js → index-71rwg0cn.js} +62 -176
  435. package/dist/index-75ex2m0x.js +695 -0
  436. package/dist/{index-htzf0py1.js → index-79exzs3q.js} +194 -180
  437. package/dist/{index-1sp39f2f.js → index-7bxj118m.js} +62 -176
  438. package/dist/index-7c6np4mq.js +397 -0
  439. package/dist/{index-7x0ybbtx.js → index-7cm339qz.js} +5 -5
  440. package/dist/index-7e359eb5.js +895 -0
  441. package/dist/index-7eqyr4j8.js +70 -0
  442. package/dist/index-7k278fgz.js +273 -0
  443. package/dist/index-7kazxkjt.js +1372 -0
  444. package/dist/index-7m0x8m9r.js +844 -0
  445. package/dist/index-7p74smg8.js +1372 -0
  446. package/dist/index-7q8fke3k.js +188 -0
  447. package/dist/index-7qk6eafn.js +1682 -0
  448. package/dist/{index-yzddwp02.js → index-7vbjt6ba.js} +110 -93
  449. package/dist/{index-7kcxjhta.js → index-7z4b0vgd.js} +19 -5
  450. package/dist/index-82xn4azv.js +74 -0
  451. package/dist/index-83wns7cz.js +70 -0
  452. package/dist/index-852945d4.js +413 -0
  453. package/dist/{index-8t5nb4qx.js → index-86rvj79f.js} +5 -5
  454. package/dist/index-88tcq0t4.js +542 -0
  455. package/dist/{index-q4kaz181.js → index-8evn52g1.js} +279 -268
  456. package/dist/index-8jkf4nsd.js +695 -0
  457. package/dist/{index-sqrksgb2.js → index-8nx4ce3e.js} +7 -7
  458. package/dist/index-8q1bcnrh.js +1372 -0
  459. package/dist/index-8t5gynct.js +971 -0
  460. package/dist/index-905svbb6.js +470 -0
  461. package/dist/index-94cb0sac.js +1372 -0
  462. package/dist/index-95mmvbw7.js +538 -0
  463. package/dist/index-97x94h0m.js +438 -0
  464. package/dist/index-9an9qqr1.js +728 -0
  465. package/dist/index-9d125myk.js +1372 -0
  466. package/dist/index-9gg0kqw0.js +470 -0
  467. package/dist/index-9ryw7mcw.js +971 -0
  468. package/dist/index-a3e13a7m.js +478 -0
  469. package/dist/index-a6j44jmr.js +1372 -0
  470. package/dist/index-a75ejnvt.js +1711 -0
  471. package/dist/index-ab2nck1h.js +1372 -0
  472. package/dist/index-abrqnq3e.js +488 -0
  473. package/dist/index-afjbpgb1.js +1218 -0
  474. package/dist/index-at89fpde.js +470 -0
  475. package/dist/{index-cgbvmse6.js → index-awr0tp6p.js} +1 -1
  476. package/dist/index-b1be9bdh.js +1372 -0
  477. package/dist/index-b1xs3wc4.js +513 -0
  478. package/dist/index-b50x7seh.js +513 -0
  479. package/dist/{index-9az6s7ad.js → index-b5ra8w3q.js} +1 -1
  480. package/dist/index-b64sbzgv.js +884 -0
  481. package/dist/index-b7r8ntpm.js +1372 -0
  482. package/dist/index-ba9gyy13.js +513 -0
  483. package/dist/{index-k29yjhv0.js → index-bb66mn7p.js} +1 -1
  484. package/dist/index-bc5pvbbd.js +1193 -0
  485. package/dist/index-bj0mk3dw.js +74 -0
  486. package/dist/index-bj3a8dr0.js +1372 -0
  487. package/dist/index-bk3eez1g.js +513 -0
  488. package/dist/index-btjx137w.js +774 -0
  489. package/dist/index-btrfqp9h.js +133 -0
  490. package/dist/index-bx6gangy.js +402 -0
  491. package/dist/index-c0tc0yts.js +471 -0
  492. package/dist/{index-6jef5emv.js → index-c0whkev9.js} +27 -3
  493. package/dist/index-ca96qkva.js +1372 -0
  494. package/dist/index-cdtzkedk.js +993 -0
  495. package/dist/index-cejgenma.js +1372 -0
  496. package/dist/index-cp8jt5pr.js +52 -0
  497. package/dist/index-cpz69pek.js +1372 -0
  498. package/dist/{index-gs4y9gdf.js → index-crrdegk5.js} +2 -2
  499. package/dist/index-cskszwkx.js +1372 -0
  500. package/dist/index-cxf22a0s.js +74 -0
  501. package/dist/index-cy3c3w81.js +270 -0
  502. package/dist/index-d5dgb1j6.js +74 -0
  503. package/dist/index-da397xcx.js +1372 -0
  504. package/dist/index-damyy8bw.js +1372 -0
  505. package/dist/{index-x9cwdxw5.js → index-dd6fwwmq.js} +3 -3
  506. package/dist/index-dh1954bp.js +52 -0
  507. package/dist/index-djp2wd1f.js +1372 -0
  508. package/dist/{index-0apbm26n.js → index-dmbdj6va.js} +111 -94
  509. package/dist/index-dmf76tac.js +1372 -0
  510. package/dist/index-dphr32gc.js +420 -0
  511. package/dist/index-dxh2qyyw.js +52 -0
  512. package/dist/index-dzayfxjy.js +492 -0
  513. package/dist/index-e05q77kt.js +397 -0
  514. package/dist/index-e11b1fb2.js +495 -0
  515. package/dist/index-e3zvspqj.js +968 -0
  516. package/dist/index-e4tzzbn9.js +1372 -0
  517. package/dist/index-e5ct1gwb.js +1372 -0
  518. package/dist/index-e7ptcz1a.js +1372 -0
  519. package/dist/index-e7wt0203.js +513 -0
  520. package/dist/{index-61jsjnsv.js → index-ebwsvf9t.js} +110 -25
  521. package/dist/index-ed73jn3d.js +185 -0
  522. package/dist/index-ed7n5d07.js +185 -0
  523. package/dist/index-ejs2a4kd.js +513 -0
  524. package/dist/index-esjrgt3y.js +467 -0
  525. package/dist/index-ev03khsd.js +513 -0
  526. package/dist/index-f1gsqm54.js +168 -0
  527. package/dist/index-f90314kt.js +52 -0
  528. package/dist/index-f9mhsept.js +185 -0
  529. package/dist/index-fa6zwffw.js +70 -0
  530. package/dist/index-fama7kpt.js +52 -0
  531. package/dist/index-fgk87mk2.js +1067 -0
  532. package/dist/index-fkyvxe4b.js +968 -0
  533. package/dist/index-g0h40xke.js +513 -0
  534. package/dist/index-g0rqh52c.js +385 -0
  535. package/dist/{index-0eqksag4.js → index-g170d619.js} +13 -46
  536. package/dist/index-g3qtxkms.js +881 -0
  537. package/dist/index-gactvqcs.js +467 -0
  538. package/dist/index-gaew61v4.js +470 -0
  539. package/dist/index-gba371j7.js +542 -0
  540. package/dist/index-gegyyfnw.js +1372 -0
  541. package/dist/index-get7he2s.js +133 -0
  542. package/dist/index-gn5wy09x.js +205 -0
  543. package/dist/{index-2pb7b9mw.js → index-gtbgzwfs.js} +62 -176
  544. package/dist/index-gtpz0gkz.js +185 -0
  545. package/dist/index-h1s66pmp.js +52 -0
  546. package/dist/{index-11m5a8wd.js → index-h8r2d8y5.js} +112 -26
  547. package/dist/index-heeqwrfd.js +385 -0
  548. package/dist/{index-7g8zyws4.js → index-hheb5dyt.js} +2 -2
  549. package/dist/index-hjz2x9nq.js +441 -0
  550. package/dist/index-hkex7ns5.js +513 -0
  551. package/dist/index-hmbctwv6.js +517 -0
  552. package/dist/index-hpzasdhw.js +513 -0
  553. package/dist/index-hqdr9wdm.js +74 -0
  554. package/dist/index-hrvz8d26.js +1372 -0
  555. package/dist/index-hyvhnf6r.js +971 -0
  556. package/dist/index-j2kc5rbv.js +895 -0
  557. package/dist/index-j2xdxwsz.js +133 -0
  558. package/dist/index-j47hhb3r.js +694 -0
  559. package/dist/index-j5aphr5x.js +185 -0
  560. package/dist/index-j68v36q1.js +188 -0
  561. package/dist/index-j7cf22x7.js +968 -0
  562. package/dist/index-j7xxrbnr.js +694 -0
  563. package/dist/index-jptqxkew.js +470 -0
  564. package/dist/index-jsymy3mb.js +781 -0
  565. package/dist/index-jwvy32xk.js +188 -0
  566. package/dist/index-jxe1b19v.js +133 -0
  567. package/dist/index-jz96ry5g.js +513 -0
  568. package/dist/index-k6wtsgs1.js +971 -0
  569. package/dist/index-kawa49m8.js +371 -0
  570. package/dist/index-key4e5c9.js +168 -0
  571. package/dist/index-khbmdrn2.js +884 -0
  572. package/dist/index-kpzfwex6.js +264 -0
  573. package/dist/index-kse4gn99.js +74 -0
  574. package/dist/index-ktscz0r2.js +264 -0
  575. package/dist/index-kybmjvad.js +1212 -0
  576. package/dist/index-kzm9cea8.js +185 -0
  577. package/dist/index-m2d74gqg.js +808 -0
  578. package/dist/index-m56w7mjt.js +513 -0
  579. package/dist/index-m95ha3n4.js +264 -0
  580. package/dist/index-ma151p8g.js +264 -0
  581. package/dist/index-mg8vwqxf.js +514 -0
  582. package/dist/index-mhdsywhs.js +264 -0
  583. package/dist/index-mjgx910r.js +895 -0
  584. package/dist/index-mkrmaea3.js +185 -0
  585. package/dist/index-mkxnyyjn.js +264 -0
  586. package/dist/index-mp5mrst6.js +1372 -0
  587. package/dist/index-ms15cr86.js +513 -0
  588. package/dist/index-mt99xkc6.js +133 -0
  589. package/dist/index-mttv6k25.js +881 -0
  590. package/dist/index-myxfx52v.js +385 -0
  591. package/dist/index-mzw7732t.js +74 -0
  592. package/dist/index-n3mjwz22.js +188 -0
  593. package/dist/index-n3yksgz0.js +1372 -0
  594. package/dist/{index-9n6djthj.js → index-n4jr3dmk.js} +32 -38
  595. package/dist/index-n5drt64b.js +74 -0
  596. package/dist/index-n8frmffg.js +264 -0
  597. package/dist/index-n8k8chde.js +694 -0
  598. package/dist/index-na796ka6.js +994 -0
  599. package/dist/index-nbs4q0qg.js +1218 -0
  600. package/dist/index-newpq2zf.js +968 -0
  601. package/dist/index-nexg9p7j.js +1271 -0
  602. package/dist/index-nfm8tb5n.js +74 -0
  603. package/dist/index-nga2tg9z.js +1372 -0
  604. package/dist/{index-43dq8yx8.js → index-ngbzr9gz.js} +111 -94
  605. package/dist/index-nh90nk7j.js +380 -0
  606. package/dist/index-njnmfxm5.js +1372 -0
  607. package/dist/index-nqma24j3.js +385 -0
  608. package/dist/index-ntddf5d9.js +993 -0
  609. package/dist/index-nte9n8w9.js +538 -0
  610. package/dist/index-ntxp7ke1.js +264 -0
  611. package/dist/index-nwxnmw41.js +264 -0
  612. package/dist/index-p1xe5eem.js +513 -0
  613. package/dist/{index-wztc9stx.js → index-p477xm52.js} +13 -46
  614. package/dist/index-p8nmkrgw.js +470 -0
  615. package/dist/{index-yqbxjysa.js → index-p97s12vf.js} +50 -43
  616. package/dist/index-p9hvv0yd.js +401 -0
  617. package/dist/index-pac7wv88.js +307 -0
  618. package/dist/index-ptp2pfq1.js +52 -0
  619. package/dist/index-pyeycp3f.js +74 -0
  620. package/dist/index-q23xf3vr.js +479 -0
  621. package/dist/index-q34rvh5a.js +247 -0
  622. package/dist/{index-j185x270.js → index-q5errwrj.js} +53 -46
  623. package/dist/{index-2jnrqbny.js → index-q5nhzc9m.js} +4 -88
  624. package/dist/index-q8f4kawk.js +204 -0
  625. package/dist/index-qer8zv2r.js +997 -0
  626. package/dist/index-qhyy018y.js +467 -0
  627. package/dist/index-qmhdydwy.js +70 -0
  628. package/dist/index-qpmvca5j.js +470 -0
  629. package/dist/index-qr96vaj1.js +52 -0
  630. package/dist/{index-74198nxd.js → index-qtyhg3dn.js} +53 -46
  631. package/dist/index-qye17gq5.js +264 -0
  632. package/dist/index-r0839f5k.js +133 -0
  633. package/dist/index-r1rqg72v.js +1372 -0
  634. package/dist/index-rbckga8p.js +971 -0
  635. package/dist/index-rbxb5x2w.js +1372 -0
  636. package/dist/index-rck779bj.js +739 -0
  637. package/dist/index-rfn2gt5f.js +1658 -0
  638. package/dist/index-rg21w26a.js +470 -0
  639. package/dist/index-rgcz45t0.js +1372 -0
  640. package/dist/index-rhnd376q.js +133 -0
  641. package/dist/index-rjc5z3w6.js +971 -0
  642. package/dist/index-rkhtayd6.js +385 -0
  643. package/dist/index-rm8srzmv.js +371 -0
  644. package/dist/index-rmhk5j03.js +968 -0
  645. package/dist/index-rp4t86bt.js +993 -0
  646. package/dist/index-rpq5ktdy.js +264 -0
  647. package/dist/index-rpsmhdd4.js +1218 -0
  648. package/dist/index-rqpakjyr.js +470 -0
  649. package/dist/index-rttk33x6.js +232 -0
  650. package/dist/index-rwa82e89.js +385 -0
  651. package/dist/index-rz185crv.js +695 -0
  652. package/dist/index-s22verzj.js +1218 -0
  653. package/dist/index-s2s3g1nt.js +133 -0
  654. package/dist/index-s7ytytth.js +781 -0
  655. package/dist/index-sefnpzwa.js +185 -0
  656. package/dist/index-sgxw0xzd.js +513 -0
  657. package/dist/index-stc0caq6.js +1009 -0
  658. package/dist/index-svz82w9h.js +513 -0
  659. package/dist/index-sx49e8x9.js +884 -0
  660. package/dist/index-sxadwvw9.js +185 -0
  661. package/dist/index-sxn223fz.js +1372 -0
  662. package/dist/index-sy0c2mh0.js +1372 -0
  663. package/dist/index-syeh1hca.js +264 -0
  664. package/dist/index-t18wyhgf.js +418 -0
  665. package/dist/index-t4fhcx1n.js +71 -0
  666. package/dist/index-td4hbgj5.js +1372 -0
  667. package/dist/{index-hjy8ctpc.js → index-tkvt9mmq.js} +47 -14
  668. package/dist/index-tmmcf4m6.js +808 -0
  669. package/dist/index-tpgs5v64.js +366 -0
  670. package/dist/index-tt4fsv91.js +412 -0
  671. package/dist/{index-t08te69w.js → index-tte89s31.js} +28 -11
  672. package/dist/index-tvjg7swe.js +1372 -0
  673. package/dist/index-txndxr4w.js +513 -0
  674. package/dist/index-tyh5jc55.js +990 -0
  675. package/dist/index-tyt0wa52.js +470 -0
  676. package/dist/index-tyt3wcfr.js +1372 -0
  677. package/dist/index-v3znz08m.js +968 -0
  678. package/dist/index-v78xbj6n.js +808 -0
  679. package/dist/index-v915brjk.js +1372 -0
  680. package/dist/index-v922fmsx.js +52 -0
  681. package/dist/index-v9w1bbfe.js +842 -0
  682. package/dist/index-vbbgtm8p.js +513 -0
  683. package/dist/{index-k6vq6kkt.js → index-vcjgrmzj.js} +3 -3
  684. package/dist/{index-9ba1etyz.js → index-vdewcg1r.js} +204 -54
  685. package/dist/index-vhqww6tt.js +307 -0
  686. package/dist/index-vse8620z.js +1372 -0
  687. package/dist/index-vtjp46c3.js +52 -0
  688. package/dist/{index-jwd8pcb2.js → index-vxhxk8mf.js} +53 -46
  689. package/dist/index-w3azfsa0.js +695 -0
  690. package/dist/index-w4tq35dn.js +52 -0
  691. package/dist/index-w5qxvxzq.js +991 -0
  692. package/dist/index-w5sedpqn.js +986 -0
  693. package/dist/index-waha3chv.js +1230 -0
  694. package/dist/index-wdxww0kj.js +1006 -0
  695. package/dist/index-wdy5y07x.js +1372 -0
  696. package/dist/index-wf9pnh6j.js +385 -0
  697. package/dist/index-wnnbbbkt.js +1192 -0
  698. package/dist/index-wvcmvtjf.js +1372 -0
  699. package/dist/index-x0jbntp0.js +470 -0
  700. package/dist/index-x6scc3nx.js +70 -0
  701. package/dist/index-x8e2wsbv.js +971 -0
  702. package/dist/index-xec4p3v5.js +560 -0
  703. package/dist/index-xgfyxpfs.js +1218 -0
  704. package/dist/index-xm9hp9xc.js +1372 -0
  705. package/dist/index-xp7zkxcx.js +1372 -0
  706. package/dist/index-xrbj0ebk.js +185 -0
  707. package/dist/index-xskax7r3.js +50 -0
  708. package/dist/index-xvk5n96q.js +694 -0
  709. package/dist/index-xy1jvt4w.js +1229 -0
  710. package/dist/index-xzg9hhf3.js +470 -0
  711. package/dist/index-xzpg0kaz.js +70 -0
  712. package/dist/index-y3q6qvv3.js +316 -0
  713. package/dist/index-y44ts1dk.js +52 -0
  714. package/dist/index-y5nt1wjb.js +971 -0
  715. package/dist/index-y82b8w14.js +1372 -0
  716. package/dist/index-yb07t3c5.js +1372 -0
  717. package/dist/index-yc3xz3vm.js +431 -0
  718. package/dist/index-yeaqrevg.js +1372 -0
  719. package/dist/index-ygwsd1nn.js +438 -0
  720. package/dist/index-yhdavjk7.js +371 -0
  721. package/dist/index-yjhns95b.js +188 -0
  722. package/dist/index-yk23p7he.js +1372 -0
  723. package/dist/index-ykfgpsmm.js +190 -0
  724. package/dist/index-ymz3cfab.js +968 -0
  725. package/dist/index-yq9g1sq7.js +264 -0
  726. package/dist/index-ys5q9ch9.js +366 -0
  727. package/dist/index-yt0n4p46.js +973 -0
  728. package/dist/index-ytq1t9jx.js +232 -0
  729. package/dist/index-ywmtmf3b.js +513 -0
  730. package/dist/index-yzb44q6d.js +1372 -0
  731. package/dist/index-z043xk61.js +133 -0
  732. package/dist/index-z0gsf674.js +431 -0
  733. package/dist/index-z32n0ndp.js +1372 -0
  734. package/dist/index-z4qgk76w.js +1372 -0
  735. package/dist/{index-yc0gcchc.js → index-z8njfj2g.js} +11 -44
  736. package/dist/{index-0w826dsr.js → index-z9fjnwa8.js} +21 -3
  737. package/dist/{index-1xpj0m4r.js → index-z9gy8w6b.js} +1 -1
  738. package/dist/index-zapkc14c.js +264 -0
  739. package/dist/index-zes6w8yr.js +185 -0
  740. package/dist/index-zgrqest7.js +695 -0
  741. package/dist/index-zsngz131.js +1372 -0
  742. package/dist/index-zxhc6sb0.js +192 -0
  743. package/dist/index.d.ts +1 -5
  744. package/dist/index.d.ts.map +1 -1
  745. package/dist/index.js +61 -0
  746. package/dist/{init-r4hnxan3.js → init-wfh63bfz.js} +1 -1
  747. package/dist/{login-5bsxxpvc.js → login-1amyp1jy.js} +10 -10
  748. package/dist/{login-bhaw72zc.js → login-1cdwn1dj.js} +11 -11
  749. package/dist/{login-2hnz4m4n.js → login-456h8jk3.js} +11 -11
  750. package/dist/{login-6tzvczw2.js → login-4n470c4j.js} +11 -11
  751. package/dist/login-4sh7s849.js +77 -0
  752. package/dist/login-5dmkf0pz.js +77 -0
  753. package/dist/login-88tp4gbb.js +77 -0
  754. package/dist/login-b51faqpc.js +77 -0
  755. package/dist/login-bxyjqmbj.js +77 -0
  756. package/dist/login-c4649qss.js +77 -0
  757. package/dist/login-d80a2qxd.js +77 -0
  758. package/dist/login-dp0napaz.js +77 -0
  759. package/dist/login-j3r6z2t4.js +77 -0
  760. package/dist/login-jkfkdjg4.js +77 -0
  761. package/dist/login-kch6f2yj.js +77 -0
  762. package/dist/login-pmqh94ws.js +77 -0
  763. package/dist/login-rc82x5j8.js +77 -0
  764. package/dist/login-tvppwyx2.js +77 -0
  765. package/dist/login-w76jx22q.js +77 -0
  766. package/dist/login-ze7y36rc.js +77 -0
  767. package/dist/{previews-gm3z0syj.js → previews-02jmcwft.js} +140 -94
  768. package/dist/previews-31bq82km.js +1225 -0
  769. package/dist/{previews-j9ymq4ys.js → previews-62pcvvpe.js} +140 -95
  770. package/dist/{previews-3rn8mz2c.js → previews-76fxkp59.js} +140 -94
  771. package/dist/previews-844bp6kf.js +1214 -0
  772. package/dist/previews-8amn46qv.js +1214 -0
  773. package/dist/previews-a5xbkksy.js +1214 -0
  774. package/dist/previews-bgnryzav.js +1214 -0
  775. package/dist/previews-bkhv9dnr.js +1214 -0
  776. package/dist/previews-c2c64z5m.js +1214 -0
  777. package/dist/previews-e4wgscsb.js +1214 -0
  778. package/dist/previews-ew4reetn.js +1214 -0
  779. package/dist/previews-hzqke1fg.js +1214 -0
  780. package/dist/previews-j8wa3sge.js +1214 -0
  781. package/dist/previews-k5n6vhpm.js +1214 -0
  782. package/dist/previews-n4sdyxa5.js +1214 -0
  783. package/dist/previews-npwrwb0b.js +1214 -0
  784. package/dist/previews-q8ph9wbe.js +1214 -0
  785. package/dist/previews-rfswrh7q.js +1214 -0
  786. package/dist/previews-s0y5yp8s.js +1214 -0
  787. package/dist/previews-s5b6mnz5.js +1214 -0
  788. package/dist/{previews-d487qde5.js → previews-sdte4984.js} +23 -23
  789. package/dist/previews-t5tdm6t0.js +1225 -0
  790. package/dist/previews-tk7vpzj9.js +1214 -0
  791. package/dist/previews-tqt4pk27.js +1214 -0
  792. package/dist/previews-vqg4psk2.js +1225 -0
  793. package/dist/{productions-x9p0pym1.js → productions-4abj58kx.js} +12 -12
  794. package/dist/{productions-5ev5qweg.js → productions-4dpec71r.js} +13 -13
  795. package/dist/{productions-120xg0aq.js → productions-4nedsanh.js} +13 -13
  796. package/dist/{productions-p5rbgp2f.js → productions-5c58yafp.js} +13 -13
  797. package/dist/{productions-me3tdvr9.js → productions-5xq5cjhx.js} +13 -13
  798. package/dist/productions-6dr0bmd7.js +505 -0
  799. package/dist/productions-8f6s8dqr.js +505 -0
  800. package/dist/productions-a2hcwwzf.js +505 -0
  801. package/dist/productions-b7svyjp7.js +505 -0
  802. package/dist/productions-bf2cnr05.js +505 -0
  803. package/dist/productions-dkgry3gv.js +505 -0
  804. package/dist/productions-eqh105tk.js +505 -0
  805. package/dist/productions-etvcm7yf.js +505 -0
  806. package/dist/productions-f1zpbmjz.js +505 -0
  807. package/dist/productions-j14pvx93.js +505 -0
  808. package/dist/productions-j7s1ywvg.js +505 -0
  809. package/dist/productions-jp3v3q3p.js +505 -0
  810. package/dist/productions-m9p42amj.js +505 -0
  811. package/dist/productions-mxbneawa.js +505 -0
  812. package/dist/productions-np4exh9p.js +505 -0
  813. package/dist/productions-rr1hqgda.js +505 -0
  814. package/dist/productions-rtf9ksgg.js +505 -0
  815. package/dist/productions-w2nzftcz.js +505 -0
  816. package/dist/productions-wbks5h7e.js +505 -0
  817. package/dist/productions-y99ayk6h.js +505 -0
  818. package/dist/productions-zpqyw5gm.js +505 -0
  819. package/dist/runtime/context-events.d.ts.map +1 -1
  820. package/dist/runtime/context.d.ts +8 -1
  821. package/dist/runtime/context.d.ts.map +1 -1
  822. package/dist/runtime/exports.d.ts +1 -4
  823. package/dist/runtime/exports.d.ts.map +1 -1
  824. package/dist/runtime/index.d.ts +3 -3
  825. package/dist/runtime/index.d.ts.map +1 -1
  826. package/dist/{src/runtime → runtime}/index.js +22 -7
  827. package/dist/runtime/middleware.d.ts +55 -0
  828. package/dist/runtime/middleware.d.ts.map +1 -1
  829. package/dist/runtime/router/index.d.ts +7 -0
  830. package/dist/runtime/router/index.d.ts.map +1 -0
  831. package/dist/runtime/router/types.d.ts +24 -0
  832. package/dist/runtime/router/types.d.ts.map +1 -0
  833. package/dist/runtime/validation.d.ts +9 -1
  834. package/dist/runtime/validation.d.ts.map +1 -1
  835. package/dist/{src/sveltekit → sveltekit}/index.js +36 -71
  836. package/dist/sveltekit/platform.d.ts +10 -0
  837. package/dist/sveltekit/platform.d.ts.map +1 -1
  838. package/dist/test/binding-hints.d.ts +11 -0
  839. package/dist/test/binding-hints.d.ts.map +1 -0
  840. package/dist/test/bridge-context.d.ts +7 -0
  841. package/dist/test/bridge-context.d.ts.map +1 -1
  842. package/dist/test/index.d.ts +0 -1
  843. package/dist/test/index.d.ts.map +1 -1
  844. package/dist/{index-2x53aqjm.js → test/index.js} +836 -774
  845. package/dist/test/simple-context-bindings.d.ts +13 -0
  846. package/dist/test/simple-context-bindings.d.ts.map +1 -0
  847. package/dist/test/simple-context-env.d.ts +35 -0
  848. package/dist/test/simple-context-env.d.ts.map +1 -0
  849. package/dist/test/simple-context-gateway-script.d.ts.map +1 -1
  850. package/dist/test/simple-context-handlers.d.ts +12 -0
  851. package/dist/test/simple-context-handlers.d.ts.map +1 -0
  852. package/dist/test/simple-context-lifecycle.d.ts +32 -0
  853. package/dist/test/simple-context-lifecycle.d.ts.map +1 -0
  854. package/dist/test/simple-context-mfconfig.d.ts +7 -0
  855. package/dist/test/simple-context-mfconfig.d.ts.map +1 -0
  856. package/dist/test/simple-context-multi-worker.d.ts +16 -0
  857. package/dist/test/simple-context-multi-worker.d.ts.map +1 -0
  858. package/dist/test/simple-context-runtime.d.ts +19 -0
  859. package/dist/test/simple-context-runtime.d.ts.map +1 -0
  860. package/dist/test/simple-context-startup.d.ts +11 -0
  861. package/dist/test/simple-context-startup.d.ts.map +1 -0
  862. package/dist/test/simple-context-transport.d.ts +14 -0
  863. package/dist/test/simple-context-transport.d.ts.map +1 -0
  864. package/dist/test/simple-context.d.ts +6 -3
  865. package/dist/test/simple-context.d.ts.map +1 -1
  866. package/dist/test/utilities.d.ts +13 -5
  867. package/dist/test/utilities.d.ts.map +1 -1
  868. package/dist/test/worker.d.ts +1 -1
  869. package/dist/test/worker.d.ts.map +1 -1
  870. package/dist/{token-kedhcret.js → token-3b9wws58.js} +3 -3
  871. package/dist/{token-m8jmnjwk.js → token-47kcz18j.js} +3 -3
  872. package/dist/token-exz78pth.js +419 -0
  873. package/dist/token-fcthx92c.js +419 -0
  874. package/dist/token-grwp8z4q.js +419 -0
  875. package/dist/token-jkmm44z2.js +419 -0
  876. package/dist/token-qxtvzm3b.js +419 -0
  877. package/dist/token-rq8mvtz9.js +419 -0
  878. package/dist/token-sct51r47.js +419 -0
  879. package/dist/token-sfgxcgen.js +419 -0
  880. package/dist/transform/durable-object.d.ts.map +1 -1
  881. package/dist/transform/worker-entrypoint.d.ts +5 -0
  882. package/dist/transform/worker-entrypoint.d.ts.map +1 -1
  883. package/dist/types-0qv4xces.js +572 -0
  884. package/dist/types-2nvrs9jg.js +572 -0
  885. package/dist/types-2pbe8kzw.js +572 -0
  886. package/dist/types-2zyt0m43.js +572 -0
  887. package/dist/types-4xxer9ep.js +572 -0
  888. package/dist/{types-6e5yx6km.js → types-5t5y7a5n.js} +9 -9
  889. package/dist/{types-1gwr2ex6.js → types-5wd2rygw.js} +9 -9
  890. package/dist/types-7j3ykgx7.js +572 -0
  891. package/dist/types-8g78x34n.js +572 -0
  892. package/dist/types-e6d336q3.js +572 -0
  893. package/dist/types-hqh2fx0x.js +572 -0
  894. package/dist/types-j12xmdnd.js +572 -0
  895. package/dist/types-jqn26et3.js +572 -0
  896. package/dist/types-n0mxbq26.js +572 -0
  897. package/dist/types-naz9hvw5.js +572 -0
  898. package/dist/{types-p0gckpn6.js → types-qjcd1jks.js} +7 -7
  899. package/dist/types-r9zb8sw1.js +572 -0
  900. package/dist/types-rv5xwgsn.js +572 -0
  901. package/dist/types-t39njdqx.js +572 -0
  902. package/dist/types-tkgch3xv.js +572 -0
  903. package/dist/{types-0sqwkp7x.js → types-vvtb7rrh.js} +9 -9
  904. package/dist/types-w1grncdj.js +572 -0
  905. package/dist/types-wmw49exb.js +572 -0
  906. package/dist/types-ymxz9jga.js +572 -0
  907. package/dist/utils/resolve-package.d.ts.map +1 -1
  908. package/dist/utils/send-email.js +19 -0
  909. package/dist/vite/config-file.d.ts.map +1 -1
  910. package/dist/{src/vite → vite}/index.js +12 -11
  911. package/dist/vite/plugin-config-hook.d.ts +28 -0
  912. package/dist/vite/plugin-config-hook.d.ts.map +1 -0
  913. package/dist/vite/plugin-context.d.ts +25 -0
  914. package/dist/vite/plugin-context.d.ts.map +1 -0
  915. package/dist/vite/plugin-durable-objects.d.ts +18 -0
  916. package/dist/vite/plugin-durable-objects.d.ts.map +1 -0
  917. package/dist/vite/plugin-programmatic.d.ts +44 -0
  918. package/dist/vite/plugin-programmatic.d.ts.map +1 -0
  919. package/dist/vite/plugin-transform.d.ts +41 -0
  920. package/dist/vite/plugin-transform.d.ts.map +1 -0
  921. package/dist/vite/plugin.d.ts +6 -39
  922. package/dist/vite/plugin.d.ts.map +1 -1
  923. package/dist/{worker-y9ha6g44.js → worker-18ceqscc.js} +11 -11
  924. package/dist/{worker-0srh2jfr.js → worker-1yqpwte2.js} +12 -12
  925. package/dist/{worker-qtam8grz.js → worker-2aw27zxy.js} +12 -12
  926. package/dist/{worker-4xrfd10a.js → worker-45tp4a8f.js} +12 -12
  927. package/dist/worker-68zttchg.js +513 -0
  928. package/dist/worker-729cf3fh.js +513 -0
  929. package/dist/worker-aydzxt4f.js +513 -0
  930. package/dist/worker-ejdxma7k.js +513 -0
  931. package/dist/worker-entry/composed-worker.d.ts +1 -0
  932. package/dist/worker-entry/composed-worker.d.ts.map +1 -1
  933. package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
  934. package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
  935. package/dist/worker-entry/extensions.d.ts +5 -0
  936. package/dist/worker-entry/extensions.d.ts.map +1 -0
  937. package/dist/worker-entry/routes.d.ts +1 -1
  938. package/dist/worker-entry/routes.d.ts.map +1 -1
  939. package/dist/worker-entry/surface-paths.d.ts +13 -4
  940. package/dist/worker-entry/surface-paths.d.ts.map +1 -1
  941. package/dist/worker-entrypoint-4xp7msd7.js +16 -0
  942. package/dist/worker-entrypoint-f1v9y4s8.js +15 -0
  943. package/dist/{worker-qzm0b7br.js → worker-f6xqjg65.js} +12 -12
  944. package/dist/worker-fdnn62de.js +513 -0
  945. package/dist/worker-frnh95rg.js +513 -0
  946. package/dist/worker-k55nfrmp.js +513 -0
  947. package/dist/worker-kqc6w7ry.js +513 -0
  948. package/dist/worker-ksvcq8be.js +513 -0
  949. package/dist/worker-mjzfstv5.js +513 -0
  950. package/dist/worker-p4rtsndj.js +513 -0
  951. package/dist/worker-p6d53qan.js +513 -0
  952. package/dist/worker-qh2qbv97.js +513 -0
  953. package/dist/worker-r234vnv9.js +513 -0
  954. package/dist/worker-r47bv7gt.js +513 -0
  955. package/dist/worker-s4nvbqsm.js +513 -0
  956. package/dist/worker-ttj7vwce.js +513 -0
  957. package/dist/worker-wv4jdneg.js +513 -0
  958. package/dist/worker-xcbscr75.js +513 -0
  959. package/dist/worker-ywwkf3cp.js +513 -0
  960. package/dist/worker-z8wtk0sh.js +513 -0
  961. package/package.json +138 -123
  962. package/dist/account-s66jb15j.js +0 -475
  963. package/dist/browser-shim/worker.d.ts +0 -14
  964. package/dist/browser-shim/worker.d.ts.map +0 -1
  965. package/dist/deploy-7nmzc9r8.js +0 -609
  966. package/dist/deploy-tp0g6qdp.js +0 -609
  967. package/dist/index-091sh1ma.js +0 -1229
  968. package/dist/index-f85s8gj3.js +0 -2649
  969. package/dist/index-fe2ngvh7.js +0 -1229
  970. package/dist/index-hfj1a2c4.js +0 -2649
  971. package/dist/index-maxpsfk8.js +0 -402
  972. package/dist/index-mbdmrner.js +0 -402
  973. package/dist/index-mea5bc45.js +0 -418
  974. package/dist/index-sgb7c8nm.js +0 -402
  975. package/dist/index-vt4yxkmf.js +0 -470
  976. package/dist/index-wyq6c6yj.js +0 -402
  977. package/dist/index-zyt5byt6.js +0 -2649
  978. package/dist/login-x8tgckqm.js +0 -77
  979. package/dist/previews-q031mx34.js +0 -1168
  980. package/dist/src/cli/index.js +0 -12
  981. package/dist/src/index.js +0 -144
  982. package/dist/src/test/index.js +0 -77
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  bundleWorkerEntry,
3
3
  createDOBundler
4
- } from "./index-9fbtk7gv.js";
4
+ } from "./index-5gmf048z.js";
5
5
  import {
6
6
  detectViteProject,
7
+ resolveViteMode,
7
8
  stopSpawnedProcessTree,
8
9
  waitForViteReady
9
- } from "./index-y1d8za14.js";
10
+ } from "./index-gn5wy09x.js";
10
11
  import {
11
12
  createCliTheme,
12
13
  cyanBold,
@@ -25,29 +26,32 @@ import {
25
26
  resolveEffectiveViteProject,
26
27
  resolveWorkerSurfacePaths,
27
28
  writeGeneratedViteConfig
28
- } from "./index-j185x270.js";
29
+ } from "./index-qtyhg3dn.js";
29
30
  import {
30
31
  discoverRoutes,
31
32
  getRouteDirectoryCandidate
32
33
  } from "./index-1p814k7s.js";
33
34
  import"./index-rbht7m9r.js";
34
- import"./index-9wt9x09k.js";
35
+ import"./index-vhqww6tt.js";
36
+ import {
37
+ GATEWAY_RUNTIME_JS
38
+ } from "./index-q34rvh5a.js";
35
39
  import {
36
40
  clearLocalSendEmailBindings,
37
41
  setLocalSendEmailBindings
38
- } from "./index-h18pxvzs.js";
39
- import"./index-thna1tkd.js";
42
+ } from "./index-124e9t4t.js";
43
+ import"./index-n8k8chde.js";
40
44
  import {
41
45
  getLocalD1DatabaseIdentifier,
42
46
  getLocalKVNamespaceIdentifier,
43
47
  getSingleBrowserBindingName,
44
48
  loadConfig,
45
49
  resolveConfigPath
46
- } from "./index-0apbm26n.js";
47
- import"./index-jb75kwa4.js";
48
- import"./index-0w826dsr.js";
49
- import"./index-6jef5emv.js";
50
- import"./index-t08te69w.js";
50
+ } from "./index-dmbdj6va.js";
51
+ import"./index-nte9n8w9.js";
52
+ import"./index-z9fjnwa8.js";
53
+ import"./index-p296ban8.js";
54
+ import"./index-tte89s31.js";
51
55
  import {
52
56
  __require
53
57
  } from "./index-37x76zdn.js";
@@ -71,8 +75,6 @@ import {
71
75
  detectBrowserPlatform,
72
76
  Browser as BrowserType
73
77
  } from "@puppeteer/browsers";
74
- var sessions = new Map;
75
- var history = [];
76
78
  var cachedExecutablePath = null;
77
79
  async function ensureChrome(cacheDir, logger) {
78
80
  if (cachedExecutablePath && existsSync(cachedExecutablePath)) {
@@ -112,8 +114,45 @@ function createBrowserShim(options = {}) {
112
114
  } = options;
113
115
  let server = null;
114
116
  let executablePath = null;
117
+ const sessions = new Map;
118
+ const history = [];
115
119
  let WebSocketServerClass = null;
116
120
  let WebSocketClass = null;
121
+ const maxRequestBodyBytes = 1024 * 1024;
122
+ function getRequestOrigin(req) {
123
+ const origin = req.headers.origin;
124
+ if (typeof origin === "string") {
125
+ return origin;
126
+ }
127
+ if (Array.isArray(origin) && origin[0]) {
128
+ return origin[0];
129
+ }
130
+ return null;
131
+ }
132
+ function isLoopbackOrigin(origin) {
133
+ try {
134
+ const url = new URL(origin);
135
+ return url.hostname === "127.0.0.1" || url.hostname === "localhost" || url.hostname === "::1" || url.hostname === "[::1]";
136
+ } catch {
137
+ return false;
138
+ }
139
+ }
140
+ function applyCorsHeaders(req, res) {
141
+ const origin = getRequestOrigin(req);
142
+ if (!origin) {
143
+ return true;
144
+ }
145
+ if (!isLoopbackOrigin(origin)) {
146
+ res.writeHead(403, { "Content-Type": "application/json" });
147
+ res.end(JSON.stringify({ error: "Forbidden origin" }));
148
+ return false;
149
+ }
150
+ res.setHeader("Access-Control-Allow-Origin", origin);
151
+ res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
152
+ res.setHeader("Access-Control-Allow-Headers", "Content-Type");
153
+ res.setHeader("Vary", "Origin");
154
+ return true;
155
+ }
117
156
  async function acquireSession(acquireOptions) {
118
157
  if (!executablePath) {
119
158
  throw new Error("Chrome not initialized");
@@ -192,9 +231,9 @@ function createBrowserShim(options = {}) {
192
231
  const url = new URL(req.url || "/", `http://${host}:${port}`);
193
232
  const method = req.method || "GET";
194
233
  logger?.debug(`[BrowserShim] ${method} ${url.pathname}${url.search ? url.search : ""}`);
195
- res.setHeader("Access-Control-Allow-Origin", "*");
196
- res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
197
- res.setHeader("Access-Control-Allow-Headers", "Content-Type");
234
+ if (!applyCorsHeaders(req, res)) {
235
+ return;
236
+ }
198
237
  if (method === "OPTIONS") {
199
238
  res.writeHead(204);
200
239
  res.end();
@@ -282,7 +321,16 @@ function createBrowserShim(options = {}) {
282
321
  function readBody(req) {
283
322
  return new Promise((resolve, reject) => {
284
323
  const chunks = [];
285
- req.on("data", (chunk) => chunks.push(chunk));
324
+ let totalBytes = 0;
325
+ req.on("data", (chunk) => {
326
+ totalBytes += chunk.length;
327
+ if (totalBytes > maxRequestBodyBytes) {
328
+ req.destroy();
329
+ reject(new Error(`Request body exceeds ${maxRequestBodyBytes} bytes`));
330
+ return;
331
+ }
332
+ chunks.push(chunk);
333
+ });
286
334
  req.on("end", () => resolve(Buffer.concat(chunks).toString()));
287
335
  req.on("error", reject);
288
336
  });
@@ -316,6 +364,14 @@ function createBrowserShim(options = {}) {
316
364
  if (WebSocketServerClass) {
317
365
  const wss = new WebSocketServerClass({ noServer: true });
318
366
  server.on("upgrade", (request, socket, head) => {
367
+ const origin = getRequestOrigin(request);
368
+ if (origin && !isLoopbackOrigin(origin)) {
369
+ socket.write(`HTTP/1.1 403 Forbidden\r
370
+ \r
371
+ `);
372
+ socket.destroy();
373
+ return;
374
+ }
319
375
  const url = new URL(request.url || "/", `http://${host}:${port}`);
320
376
  if (url.pathname !== "/v1/connectDevtools") {
321
377
  socket.destroy();
@@ -433,7 +489,7 @@ function createBrowserShim(options = {}) {
433
489
  logger?.success(`Browser shim server ready on http://${host}:${port}`);
434
490
  }
435
491
  async function stop() {
436
- for (const sessionId of sessions.keys()) {
492
+ for (const sessionId of Array.from(sessions.keys())) {
437
493
  await closeSession(sessionId, 3, "ServerShutdown");
438
494
  }
439
495
  if (server) {
@@ -879,33 +935,59 @@ async function runD1Migrations(options) {
879
935
  if (!config?.bindings?.d1) {
880
936
  return;
881
937
  }
882
- const { existsSync: existsSync2, readdirSync, readFileSync } = await import("node:fs");
938
+ const { existsSync: existsSync2, readdirSync, readFileSync, statSync } = await import("node:fs");
883
939
  const migrationsDir = resolve(cwd, "migrations");
884
940
  if (!existsSync2(migrationsDir)) {
885
941
  logger?.debug("No migrations/ directory found, skipping D1 migrations");
886
942
  return;
887
943
  }
888
- const files = readdirSync(migrationsDir).filter((file) => file.endsWith(".sql")).sort();
889
- if (files.length === 0) {
890
- logger?.debug("No SQL migration files found");
891
- return;
892
- }
893
- logger?.info(`Running ${files.length} D1 migration(s)...`);
894
- const allStatements = [];
895
- for (const file of files) {
896
- const sql = readFileSync(resolve(migrationsDir, file), "utf-8");
897
- const statements = collectMigrationStatements(sql);
898
- allStatements.push(...statements);
899
- logger?.debug(`File ${file}: ${statements.length} statement(s)`);
900
- }
901
- if (allStatements.length === 0) {
902
- logger?.debug("No executable D1 migration statements found");
903
- return;
944
+ const sharedFiles = readdirSync(migrationsDir).filter((file) => file.endsWith(".sql")).sort();
945
+ let sharedStatements = null;
946
+ if (sharedFiles.length > 0) {
947
+ sharedStatements = [];
948
+ for (const file of sharedFiles) {
949
+ const sql = readFileSync(resolve(migrationsDir, file), "utf-8");
950
+ const fileStatements = collectMigrationStatements(sql);
951
+ sharedStatements.push(...fileStatements);
952
+ logger?.debug(`Shared file ${file}: ${fileStatements.length} statement(s)`);
953
+ }
904
954
  }
905
955
  for (const [bindingName] of Object.entries(config.bindings.d1)) {
956
+ const perBindingDir = resolve(migrationsDir, bindingName);
957
+ const hasPerBindingDir = existsSync2(perBindingDir) && statSync(perBindingDir).isDirectory();
958
+ let statements = [];
959
+ let fileCount = 0;
960
+ let sourceLabel = "";
961
+ if (hasPerBindingDir) {
962
+ const perBindingFiles = readdirSync(perBindingDir).filter((file) => file.endsWith(".sql")).sort();
963
+ if (perBindingFiles.length === 0) {
964
+ logger?.debug(`No SQL migration files in migrations/${bindingName}/, skipping ${bindingName}`);
965
+ continue;
966
+ }
967
+ for (const file of perBindingFiles) {
968
+ const sql = readFileSync(resolve(perBindingDir, file), "utf-8");
969
+ const fileStatements = collectMigrationStatements(sql);
970
+ statements.push(...fileStatements);
971
+ logger?.debug(`File ${bindingName}/${file}: ${fileStatements.length} statement(s)`);
972
+ }
973
+ fileCount = perBindingFiles.length;
974
+ sourceLabel = `migrations/${bindingName}/`;
975
+ } else if (sharedStatements !== null) {
976
+ statements = sharedStatements;
977
+ fileCount = sharedFiles.length;
978
+ sourceLabel = "migrations/ [shared fallback]";
979
+ } else {
980
+ logger?.debug(`No migrations found for ${bindingName}, skipping`);
981
+ continue;
982
+ }
983
+ logger?.info(`Running ${fileCount} D1 migration(s) for ${bindingName} (from ${sourceLabel})`);
984
+ if (statements.length === 0) {
985
+ logger?.debug(`No executable D1 migration statements for ${bindingName}`);
986
+ continue;
987
+ }
906
988
  await applyMigrationsToBinding({
907
989
  bindingName,
908
- statements: allStatements,
990
+ statements,
909
991
  miniflarePort,
910
992
  logger
911
993
  });
@@ -917,18 +999,16 @@ function getGatewayScript(wsRoutes = [], debug = false, appServiceBindingName =
917
999
  const wsRoutesJson = JSON.stringify(wsRoutes);
918
1000
  const appServiceBindingJson = JSON.stringify(appServiceBindingName);
919
1001
  return `
920
- // Bridge Gateway Worker — RPC Handler
921
- // Handles all binding operations via WebSocket RPC
922
- // Also handles WebSocket proxying to Durable Objects
1002
+ ${GATEWAY_RUNTIME_JS}
1003
+
1004
+ // Bridge Gateway Worker Dev Server
1005
+ // Handles WebSocket RPC, DO WS proxying, HTTP transfer, D1 migration, email ingest
923
1006
 
924
1007
  const DEBUG = ${debug}
925
1008
  const log = (...args) => DEBUG && console.log('[Gateway]', ...args)
926
1009
 
927
- const activeStreams = new Map()
928
1010
  const wsProxies = new Map()
929
- const incomingStreams = new Map()
930
1011
 
931
- // WebSocket routes configuration (injected at build time)
932
1012
  const WS_ROUTES = ${wsRoutesJson}
933
1013
  const APP_SERVICE_BINDING = ${appServiceBindingJson}
934
1014
 
@@ -937,32 +1017,26 @@ export default {
937
1017
  const url = new URL(request.url)
938
1018
  const isWebSocket = request.headers.get('Upgrade') === 'websocket'
939
1019
 
940
- // Check if this is a WebSocket request matching a DO route
941
1020
  if (isWebSocket) {
942
1021
  const matchedRoute = matchWsRoute(url.pathname)
943
1022
  if (matchedRoute) {
944
1023
  return handleDoWebSocket(request, env, url, matchedRoute)
945
1024
  }
946
- // Otherwise handle as bridge RPC WebSocket
947
1025
  return handleBridgeWebSocket(request, env, ctx)
948
1026
  }
949
1027
 
950
- // HTTP endpoint for large file transfers
951
1028
  if (url.pathname.startsWith('/_devflare/transfer/')) {
952
1029
  return handleHttpTransfer(request, env, url)
953
1030
  }
954
1031
 
955
- // D1 migration endpoint
956
1032
  if (url.pathname === '/_devflare/migrate' && request.method === 'POST') {
957
1033
  return handleMigration(request, env)
958
1034
  }
959
1035
 
960
- // Email handler endpoint (simulates incoming email)
961
1036
  if (url.pathname === '/cdn-cgi/handler/email' && request.method === 'POST') {
962
1037
  return handleEmailIncoming(request, env, ctx, url)
963
1038
  }
964
1039
 
965
- // Health check
966
1040
  if (url.pathname === '/_devflare/health') {
967
1041
  return new Response(JSON.stringify({
968
1042
  ok: true,
@@ -982,7 +1056,6 @@ export default {
982
1056
  }
983
1057
  }
984
1058
 
985
- // Handle D1 migrations
986
1059
  async function handleMigration(request, env) {
987
1060
  try {
988
1061
  const { bindingName, statements } = await request.json()
@@ -1009,28 +1082,26 @@ async function handleMigration(request, env) {
1009
1082
  }
1010
1083
  }
1011
1084
  }
1012
-
1013
- // Verify table exists after migration
1085
+
1014
1086
  try {
1015
1087
  const tables = await db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all()
1016
1088
  log('Tables after migration:', JSON.stringify(tables))
1017
1089
  } catch (e) {
1018
1090
  log('Error listing tables:', e.message)
1019
1091
  }
1020
-
1092
+
1021
1093
  return Response.json({ success: true, results })
1022
1094
  } catch (error) {
1023
1095
  return Response.json({ error: error?.message || String(error) }, { status: 500 })
1024
1096
  }
1025
1097
  }
1026
1098
 
1027
- // Handle incoming email (simulates email() handler)
1028
1099
  async function handleEmailIncoming(request, env, ctx, url) {
1029
1100
  try {
1030
1101
  const from = url.searchParams.get('from') || 'unknown@example.com'
1031
1102
  const to = url.searchParams.get('to') || 'worker@example.com'
1032
1103
  const rawBody = await request.text()
1033
-
1104
+
1034
1105
  log('Email incoming:', { from, to, bodyLength: rawBody.length })
1035
1106
 
1036
1107
  if (APP_SERVICE_BINDING) {
@@ -1052,7 +1123,7 @@ async function handleEmailIncoming(request, env, ctx, url) {
1052
1123
  }
1053
1124
  }
1054
1125
  }
1055
-
1126
+
1056
1127
  return new Response(JSON.stringify({ ok: true, from, to }), {
1057
1128
  headers: { 'Content-Type': 'application/json' }
1058
1129
  })
@@ -1062,10 +1133,8 @@ async function handleEmailIncoming(request, env, ctx, url) {
1062
1133
  }
1063
1134
  }
1064
1135
 
1065
- // Match URL path against configured WS routes
1066
1136
  function matchWsRoute(pathname) {
1067
1137
  for (const route of WS_ROUTES) {
1068
- // Simple exact match for now (could add glob/regex later)
1069
1138
  if (pathname === route.pattern || pathname.startsWith(route.pattern + '?')) {
1070
1139
  return route
1071
1140
  }
@@ -1073,31 +1142,23 @@ function matchWsRoute(pathname) {
1073
1142
  return null
1074
1143
  }
1075
1144
 
1076
- // Handle WebSocket upgrade that should go to a Durable Object
1077
1145
  async function handleDoWebSocket(request, env, url, route) {
1078
1146
  try {
1079
- // Get the DO namespace
1080
1147
  const namespace = env[route.doNamespace]
1081
1148
  if (!namespace) {
1082
1149
  console.error('[Gateway] DO namespace not found:', route.doNamespace)
1083
1150
  return new Response('DO namespace not found: ' + route.doNamespace, { status: 500 })
1084
1151
  }
1085
1152
 
1086
- // Get the instance ID from query params
1087
1153
  const idValue = url.searchParams.get(route.idParam) || 'default'
1088
-
1089
- // Get or create DO instance
1090
1154
  const doId = namespace.idFromName(idValue)
1091
1155
  const stub = namespace.get(doId)
1092
1156
 
1093
- // Construct the forward URL for the DO
1094
1157
  const forwardUrl = new URL(route.forwardPath, url.origin)
1095
- // Forward all query params
1096
1158
  url.searchParams.forEach((v, k) => forwardUrl.searchParams.set(k, v))
1097
1159
 
1098
1160
  log('Forwarding WebSocket to DO:', route.doNamespace, 'id:', idValue, 'path:', forwardUrl.pathname)
1099
1161
 
1100
- // Forward the request to the DO
1101
1162
  return stub.fetch(forwardUrl.toString(), {
1102
1163
  method: request.method,
1103
1164
  headers: request.headers
@@ -1108,7 +1169,6 @@ async function handleDoWebSocket(request, env, url, route) {
1108
1169
  }
1109
1170
  }
1110
1171
 
1111
- // Handle bridge RPC WebSocket (for Node.js Vite server communication)
1112
1172
  function handleBridgeWebSocket(request, env, ctx) {
1113
1173
  const { 0: client, 1: server } = new WebSocketPair()
1114
1174
  server.accept()
@@ -1124,7 +1184,6 @@ function handleBridgeWebSocket(request, env, ctx) {
1124
1184
  })
1125
1185
 
1126
1186
  server.addEventListener('close', () => {
1127
- activeStreams.clear()
1128
1187
  wsProxies.clear()
1129
1188
  })
1130
1189
 
@@ -1155,180 +1214,11 @@ async function handleRpcCall(msg, ws, env, ctx) {
1155
1214
  ws.send(JSON.stringify({
1156
1215
  t: 'rpc.err',
1157
1216
  id: msg.id,
1158
- error: { code: error.code || 'INTERNAL_ERROR', message: error.message }
1217
+ error: { code: error?.code || 'INTERNAL_ERROR', message: error?.message || String(error) }
1159
1218
  }))
1160
1219
  }
1161
1220
  }
1162
1221
 
1163
- async function executeRpcMethod(method, params, env, ctx) {
1164
- const parts = method.split('.')
1165
- const bindingName = parts[0]
1166
- const operation = parts.slice(1).join('.')
1167
- const binding = env[bindingName]
1168
- const RAW_EMAIL = 'EmailMessage::raw'
1169
-
1170
- if (!binding) throw new Error('Binding not found: ' + bindingName)
1171
-
1172
- // KV operations
1173
- if (operation === 'get') return binding.get(params[0], params[1])
1174
- if (operation === 'put') return binding.put(params[0], params[1], params[2])
1175
- if (operation === 'delete') return binding.delete(params[0])
1176
- if (operation === 'list') return binding.list(params[0])
1177
- if (operation === 'getWithMetadata') return binding.getWithMetadata(params[0], params[1])
1178
-
1179
- // R2 operations
1180
- if (operation === 'head') return serializeR2Object(await binding.head(params[0]))
1181
- if (operation === 'r2.get') {
1182
- const obj = await binding.get(params[0], params[1])
1183
- if (!obj) return null
1184
- const body = await obj.arrayBuffer()
1185
- return serializeR2ObjectBody(obj, arrayBufferToBase64(body))
1186
- }
1187
- if (operation === 'r2.put') {
1188
- // Deserialize the value if it's a serialized ArrayBuffer/Uint8Array
1189
- let value = params[1]
1190
- if (value && typeof value === 'object') {
1191
- if (value.__type === 'ArrayBuffer') {
1192
- value = base64ToArrayBuffer(value.data)
1193
- } else if (value.__type === 'Uint8Array') {
1194
- value = base64ToArrayBuffer(value.data)
1195
- }
1196
- }
1197
- return serializeR2Object(await binding.put(params[0], value, params[2]))
1198
- }
1199
- if (operation === 'r2.delete') return binding.delete(params[0])
1200
- if (operation === 'r2.list') return serializeR2Objects(await binding.list(params[0]))
1201
-
1202
- // D1 operations
1203
- if (operation === 'exec') return binding.exec(params[0])
1204
- if (operation.startsWith('stmt.')) {
1205
- log('D1 RPC:', bindingName, operation, 'sql:', String(params[0]).slice(0, 60))
1206
- const mode = operation.split('.')[1]
1207
- const [sql, ...rest] = params
1208
-
1209
- // For first/raw, the last element is the column/options parameter (may be undefined)
1210
- // For all/run, rest contains only bindings
1211
- let bindings = rest
1212
- let extraParam = undefined
1213
-
1214
- if (mode === 'first' || mode === 'raw') {
1215
- // Last element is the column/options (may be undefined)
1216
- extraParam = rest[rest.length - 1]
1217
- bindings = rest.slice(0, -1)
1218
- }
1219
-
1220
- let stmt = binding.prepare(sql)
1221
- if (bindings.length > 0) stmt = stmt.bind(...bindings)
1222
-
1223
- if (mode === 'first') {
1224
- // Only pass column if it's a non-empty string
1225
- if (typeof extraParam === 'string' && extraParam.length > 0) {
1226
- return stmt.first(extraParam)
1227
- }
1228
- return stmt.first()
1229
- }
1230
- if (mode === 'all') return stmt.all()
1231
- if (mode === 'run') return stmt.run()
1232
- if (mode === 'raw') return stmt.raw(extraParam)
1233
- }
1234
-
1235
- // DO operations
1236
- if (operation === 'idFromName') {
1237
- const id = binding.idFromName(params[0])
1238
- return { __type: 'DOId', hex: id.toString() }
1239
- }
1240
- if (operation === 'idFromString') {
1241
- const id = binding.idFromString(params[0])
1242
- return { __type: 'DOId', hex: id.toString() }
1243
- }
1244
- if (operation === 'newUniqueId') {
1245
- const id = binding.newUniqueId(params[0])
1246
- return { __type: 'DOId', hex: id.toString() }
1247
- }
1248
- if (operation === 'stub.fetch') {
1249
- const [, serializedId, serializedReq] = params
1250
- log('stub.fetch request:', {
1251
- url: serializedReq.url,
1252
- method: serializedReq.method,
1253
- headers: serializedReq.headers,
1254
- hasBody: !!serializedReq.body
1255
- })
1256
- const id = binding.idFromString(serializedId.hex)
1257
- const stub = binding.get(id)
1258
- try {
1259
- const response = await stub.fetch(new Request(serializedReq.url, {
1260
- method: serializedReq.method,
1261
- headers: serializedReq.headers,
1262
- body: serializedReq.body?.type === 'bytes' ? base64ToArrayBuffer(serializedReq.body.data) : undefined
1263
- }))
1264
- // Clone to read body for logging if there's an error
1265
- const cloned = response.clone()
1266
- const serialized = await serializeResponse(response)
1267
- log('stub.fetch response:', {
1268
- status: serialized.status,
1269
- headers: serialized.headers,
1270
- bodyLength: serialized.body?.data?.length || 0
1271
- })
1272
- // If 500, log the body content
1273
- if (response.status >= 400) {
1274
- const errBody = await cloned.text()
1275
- log('Error response body:', errBody)
1276
- }
1277
- return serialized
1278
- } catch (err) {
1279
- console.error('[Gateway] stub.fetch error:', err)
1280
- throw err
1281
- }
1282
- }
1283
- if (operation === 'stub.rpc') {
1284
- const [, serializedId, methodName, args] = params
1285
- const id = binding.idFromString(serializedId.hex)
1286
- const stub = binding.get(id)
1287
- const response = await stub.fetch(new Request('http://do/_rpc', {
1288
- method: 'POST',
1289
- headers: { 'Content-Type': 'application/json' },
1290
- body: JSON.stringify({ method: methodName, params: args })
1291
- }))
1292
- const result = await response.json()
1293
- if (!result.ok) throw new Error(result.error?.message || 'RPC failed')
1294
- return result.result
1295
- }
1296
-
1297
- // Queue operations
1298
- if (operation === 'send') return binding.send(params[0], params[1])
1299
- if (operation === 'sendBatch') return binding.sendBatch(params[0], params[1])
1300
-
1301
- // Email send operations (send_email binding)
1302
- if (operation === 'email.send') {
1303
- const message = params[0]
1304
- log('Email send:', { from: message?.from, to: message?.to })
1305
- if (binding && typeof binding.send === 'function') {
1306
- if (message && typeof message === 'object' && 'from' in message && 'to' in message && 'raw' in message) {
1307
- return binding.send({
1308
- from: message.from,
1309
- to: message.to,
1310
- [RAW_EMAIL]: createEmailMessageRaw(message.raw)
1311
- })
1312
- }
1313
- return binding.send(message)
1314
- }
1315
- // Return success even if no real binding (simulated)
1316
- return { ok: true, simulated: true }
1317
- }
1318
-
1319
- throw new Error('Unknown operation: ' + method)
1320
- }
1321
-
1322
- function createEmailMessageRaw(raw) {
1323
- if (typeof raw === 'string' || raw instanceof ReadableStream) {
1324
- return raw
1325
- }
1326
- if (raw instanceof ArrayBuffer || raw instanceof Uint8Array) {
1327
- return new Response(raw).body
1328
- }
1329
- throw new Error('Unsupported EmailMessage raw payload')
1330
- }
1331
-
1332
1222
  async function handleWsOpen(msg, ws, env) {
1333
1223
  try {
1334
1224
  const binding = env[msg.target.binding]
@@ -1385,7 +1275,7 @@ async function handleHttpTransfer(request, env, url) {
1385
1275
 
1386
1276
  if (request.method === 'PUT' || request.method === 'POST') {
1387
1277
  const result = await bucket.put(key, request.body)
1388
- return new Response(JSON.stringify(result), { headers: { 'Content-Type': 'application/json' } })
1278
+ return new Response(JSON.stringify(serializeR2Object(result)), { headers: { 'Content-Type': 'application/json' } })
1389
1279
  }
1390
1280
 
1391
1281
  if (request.method === 'GET') {
@@ -1401,70 +1291,6 @@ async function handleHttpTransfer(request, env, url) {
1401
1291
 
1402
1292
  return new Response('Method not allowed', { status: 405 })
1403
1293
  }
1404
-
1405
- // Helpers
1406
- function serializeR2Object(obj) {
1407
- if (!obj) return null
1408
- return {
1409
- __type: 'R2Object',
1410
- key: obj.key,
1411
- version: obj.version,
1412
- size: obj.size,
1413
- etag: obj.etag,
1414
- httpEtag: obj.httpEtag,
1415
- checksums: obj.checksums,
1416
- uploaded: obj.uploaded?.toISOString(),
1417
- httpMetadata: obj.httpMetadata,
1418
- customMetadata: obj.customMetadata,
1419
- range: obj.range,
1420
- storageClass: obj.storageClass
1421
- }
1422
- }
1423
- function serializeR2ObjectBody(obj, bodyData) {
1424
- if (!obj) return null
1425
- return {
1426
- __type: 'R2ObjectBody',
1427
- key: obj.key,
1428
- version: obj.version,
1429
- size: obj.size,
1430
- etag: obj.etag,
1431
- httpEtag: obj.httpEtag,
1432
- checksums: obj.checksums,
1433
- uploaded: obj.uploaded?.toISOString(),
1434
- httpMetadata: obj.httpMetadata,
1435
- customMetadata: obj.customMetadata,
1436
- range: obj.range,
1437
- storageClass: obj.storageClass,
1438
- bodyData
1439
- }
1440
- }
1441
- function serializeR2Objects(result) {
1442
- if (!result) return null
1443
- return { objects: result.objects.map(serializeR2Object), truncated: result.truncated, cursor: result.cursor }
1444
- }
1445
- async function serializeResponse(response) {
1446
- // Read body as bytes and encode as base64
1447
- let body = null
1448
- if (response.body) {
1449
- const bytes = await response.arrayBuffer()
1450
- if (bytes.byteLength > 0) {
1451
- body = { type: 'bytes', data: arrayBufferToBase64(bytes) }
1452
- }
1453
- }
1454
- return { status: response.status, statusText: response.statusText, headers: [...response.headers.entries()], body }
1455
- }
1456
- function arrayBufferToBase64(buffer) {
1457
- const bytes = new Uint8Array(buffer)
1458
- let binary = ''
1459
- for (let i = 0; i < bytes.byteLength; i++) binary += String.fromCharCode(bytes[i])
1460
- return btoa(binary)
1461
- }
1462
- function base64ToArrayBuffer(base64) {
1463
- const binary = atob(base64)
1464
- const bytes = new Uint8Array(binary.length)
1465
- for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i)
1466
- return bytes.buffer
1467
- }
1468
1294
  `;
1469
1295
  }
1470
1296
 
@@ -1574,6 +1400,48 @@ async function startViteProcess(options) {
1574
1400
  return viteProcess;
1575
1401
  }
1576
1402
 
1403
+ // src/dev-server/reload-queue.ts
1404
+ function createReloadQueue({ reload, logger }) {
1405
+ let running = null;
1406
+ let pending = null;
1407
+ async function runOnce() {
1408
+ try {
1409
+ await reload();
1410
+ } catch (error) {
1411
+ logger?.error("[devflare dev] reload failed:", error);
1412
+ }
1413
+ }
1414
+ function schedule() {
1415
+ if (!running) {
1416
+ running = runOnce().finally(() => {
1417
+ running = null;
1418
+ });
1419
+ return running;
1420
+ }
1421
+ if (!pending) {
1422
+ const runningSnapshot = running;
1423
+ pending = runningSnapshot.then(() => {
1424
+ pending = null;
1425
+ running = runOnce().finally(() => {
1426
+ running = null;
1427
+ });
1428
+ return running;
1429
+ });
1430
+ }
1431
+ return pending;
1432
+ }
1433
+ async function drain() {
1434
+ while (running || pending) {
1435
+ if (pending) {
1436
+ await pending;
1437
+ } else if (running) {
1438
+ await running;
1439
+ }
1440
+ }
1441
+ }
1442
+ return { schedule, drain };
1443
+ }
1444
+
1577
1445
  // src/dev-server/worker-surface-paths.ts
1578
1446
  import { dirname, resolve as resolve2 } from "pathe";
1579
1447
  var DEFAULT_TRANSPORT_ENTRY_FILES = [
@@ -1719,12 +1587,13 @@ function createDevServer(options) {
1719
1587
  configPath,
1720
1588
  vitePort = 5173,
1721
1589
  miniflarePort = 8787,
1722
- enableVite = true,
1590
+ enableVite: enableViteRequested = true,
1723
1591
  persist = true,
1724
1592
  logger,
1725
1593
  verbose = false,
1726
1594
  debug = process.env.DEVFLARE_DEBUG === "true"
1727
1595
  } = options;
1596
+ let enableVite = enableViteRequested;
1728
1597
  let miniflare = null;
1729
1598
  let doBundler = null;
1730
1599
  let workerSourceWatcher = null;
@@ -1745,7 +1614,20 @@ function createDevServer(options) {
1745
1614
  let currentDoResult = null;
1746
1615
  let mainWorkerRoutes = null;
1747
1616
  let generatedViteConfigPath = null;
1748
- let reloadChain = Promise.resolve();
1617
+ const reloadQueue = createReloadQueue({
1618
+ reload: async () => {
1619
+ if (!miniflare)
1620
+ return;
1621
+ const { Log, LogLevel } = await import("miniflare");
1622
+ const mfConfig = buildMiniflareConfig(currentDoResult);
1623
+ mfConfig.log = createCompatibilityAwareMiniflareLog(Log, LogLevel.DEBUG, logger);
1624
+ mfConfig.handleRuntimeStdio = createRuntimeStdioForwarder(logger);
1625
+ logger?.info("Reloading Miniflare...");
1626
+ await miniflare.setOptions(mfConfig);
1627
+ logger?.success("Miniflare reloaded");
1628
+ },
1629
+ logger
1630
+ });
1749
1631
  async function bundleMainWorker() {
1750
1632
  if (!mainWorkerScriptPath || !config) {
1751
1633
  bundledMainWorkerScriptPath = null;
@@ -2018,19 +1900,7 @@ function createDevServer(options) {
2018
1900
  }
2019
1901
  async function reloadMiniflare(doResult) {
2020
1902
  currentDoResult = doResult;
2021
- const queuedReload = reloadChain.then(async () => {
2022
- if (!miniflare)
2023
- return;
2024
- const { Log, LogLevel } = await import("miniflare");
2025
- const mfConfig = buildMiniflareConfig(currentDoResult);
2026
- mfConfig.log = createCompatibilityAwareMiniflareLog(Log, LogLevel.DEBUG, logger);
2027
- mfConfig.handleRuntimeStdio = createRuntimeStdioForwarder(logger);
2028
- logger?.info("Reloading Miniflare...");
2029
- await miniflare.setOptions(mfConfig);
2030
- logger?.success("Miniflare reloaded");
2031
- });
2032
- reloadChain = queuedReload.catch(() => {});
2033
- await queuedReload;
1903
+ await reloadQueue.schedule();
2034
1904
  }
2035
1905
  async function resolveWorkerConfigWatchPath() {
2036
1906
  if (configPath) {
@@ -2120,14 +1990,19 @@ function createDevServer(options) {
2120
1990
  resolvedWorkerConfigPath = await resolveWorkerConfigWatchPath();
2121
1991
  logger?.debug("Loaded config:", config.name);
2122
1992
  if (enableVite) {
2123
- const viteProject = await detectViteProject(cwd);
2124
- generatedViteConfigPath = await writeGeneratedViteConfig({
2125
- cwd,
2126
- configPath,
2127
- localConfigPath: viteProject.viteConfigPath,
2128
- bridgePort: miniflarePort
2129
- });
2130
- logger?.debug(`Generated Vite config → ${generatedViteConfigPath}`);
1993
+ const viteMode = await resolveViteMode(cwd, { requested: true });
1994
+ if (!viteMode.enableVite) {
1995
+ logger?.info("Vite disabled: no vite config found for this package");
1996
+ enableVite = false;
1997
+ } else {
1998
+ generatedViteConfigPath = await writeGeneratedViteConfig({
1999
+ cwd,
2000
+ configPath,
2001
+ localConfigPath: viteMode.viteConfigPath,
2002
+ bridgePort: miniflarePort
2003
+ });
2004
+ logger?.debug(`Generated Vite config → ${generatedViteConfigPath}`);
2005
+ }
2131
2006
  }
2132
2007
  await refreshWorkerOnlySurfaceState();
2133
2008
  if (!enableVite && (hasWorkerSurfacePaths(mainWorkerSurfacePaths) || Boolean(mainWorkerRoutes?.routes.length))) {