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
@@ -0,0 +1,993 @@
1
+ import {
2
+ discoverRoutes
3
+ } from "./index-3e7by9sy.js";
4
+ import {
5
+ DEFAULT_DO_PATTERN,
6
+ findFiles
7
+ } from "./index-rbht7m9r.js";
8
+ import {
9
+ SUPPORTED_WORKER_EXTENSIONS
10
+ } from "./index-65e7xx1a.js";
11
+ import {
12
+ findDurableObjectClasses
13
+ } from "./index-vhqww6tt.js";
14
+ import {
15
+ compileBuildConfig,
16
+ compileConfig,
17
+ compileToProgrammaticConfig,
18
+ isolateViteBuildOutputPaths,
19
+ rebaseWranglerConfigPaths,
20
+ writeWranglerConfig
21
+ } from "./index-ys5q9ch9.js";
22
+ import {
23
+ loadConfig,
24
+ loadResolvedConfig,
25
+ normalizeDOBinding,
26
+ resolveConfigForEnvironment,
27
+ resolveConfigPath,
28
+ resolveResources
29
+ } from "./index-xy1jvt4w.js";
30
+ import {
31
+ __require
32
+ } from "./index-37x76zdn.js";
33
+
34
+ // src/vite/plugin.ts
35
+ import { resolve as resolve4 } from "pathe";
36
+
37
+ // src/vite/plugin-durable-objects.ts
38
+ var VIRTUAL_DO_ENTRY = "virtual:devflare-do-entry";
39
+ var RESOLVED_VIRTUAL_DO_ENTRY = "\x00" + VIRTUAL_DO_ENTRY;
40
+ async function discoverDurableObjects(projectRoot, pattern, workerName) {
41
+ const files = new Map;
42
+ const matchedFiles = await findFiles(pattern, { cwd: projectRoot });
43
+ const fs = await import("node:fs/promises");
44
+ for (const filePath of matchedFiles) {
45
+ try {
46
+ const code = await fs.readFile(filePath, "utf-8");
47
+ const classNames = findDurableObjectClasses(code);
48
+ if (classNames.length > 0) {
49
+ files.set(filePath, classNames);
50
+ }
51
+ } catch (error) {
52
+ console.warn(`[devflare] Failed to read DO file: ${filePath}`, error);
53
+ }
54
+ }
55
+ return { files, workerName };
56
+ }
57
+ function generateVirtualDOEntry(discovery) {
58
+ const lines = [
59
+ "// Auto-generated by devflare — DO entry module",
60
+ "// Re-exports all Durable Object classes discovered from files.durableObjects pattern",
61
+ ""
62
+ ];
63
+ for (const [filePath, classNames] of discovery.files) {
64
+ const normalizedPath = filePath.replace(/\\/g, "/");
65
+ lines.push(`export { ${classNames.join(", ")} } from '${normalizedPath}'`);
66
+ }
67
+ lines.push("");
68
+ lines.push("// Default fetch handler for DO worker");
69
+ lines.push("export default {");
70
+ lines.push("\tasync fetch(request: Request): Promise<Response> {");
71
+ lines.push('\t\treturn new Response("Devflare DO Worker", { status: 200 })');
72
+ lines.push("\t}");
73
+ lines.push("}");
74
+ return lines.join(`
75
+ `);
76
+ }
77
+ function createAuxiliaryWorkerConfig(wranglerConfig, discovery) {
78
+ const doBindings = wranglerConfig.durable_objects?.bindings?.map((binding) => ({
79
+ name: binding.name,
80
+ class_name: binding.class_name
81
+ })) ?? [];
82
+ return {
83
+ config: {
84
+ name: discovery.workerName,
85
+ main: VIRTUAL_DO_ENTRY,
86
+ compatibility_date: wranglerConfig.compatibility_date,
87
+ compatibility_flags: wranglerConfig.compatibility_flags,
88
+ durable_objects: { bindings: doBindings },
89
+ migrations: wranglerConfig.migrations,
90
+ kv_namespaces: wranglerConfig.kv_namespaces,
91
+ d1_databases: wranglerConfig.d1_databases,
92
+ r2_buckets: wranglerConfig.r2_buckets,
93
+ browser: wranglerConfig.browser
94
+ }
95
+ };
96
+ }
97
+ function logDiscoveredDurableObjects(projectRoot, discovery) {
98
+ if (!discovery || discovery.files.size === 0) {
99
+ return;
100
+ }
101
+ console.log(`[devflare] Discovered ${discovery.files.size} DO file(s):`);
102
+ for (const [filePath, classes] of discovery.files) {
103
+ console.log(` • ${filePath.replace(projectRoot, ".")} → ${classes.join(", ")}`);
104
+ }
105
+ }
106
+
107
+ // src/vite/plugin-context.ts
108
+ import { isAbsolute, relative as relative2, resolve as resolve3 } from "pathe";
109
+
110
+ // src/worker-entry/composed-worker.ts
111
+ import { dirname, relative, resolve as resolve2 } from "pathe";
112
+
113
+ // src/worker-entry/surface-paths.ts
114
+ import { resolve } from "pathe";
115
+ var defaultEntriesFor = (surface) => SUPPORTED_WORKER_EXTENSIONS.map((ext) => `src/${surface}${ext}`);
116
+ var DEFAULT_FETCH_ENTRY_FILES = defaultEntriesFor("fetch");
117
+ var DEFAULT_QUEUE_ENTRY_FILES = defaultEntriesFor("queue");
118
+ var DEFAULT_SCHEDULED_ENTRY_FILES = defaultEntriesFor("scheduled");
119
+ var DEFAULT_EMAIL_ENTRY_FILES = defaultEntriesFor("email");
120
+ async function resolveWorkerHandlerPath(cwd, configuredPath, defaultEntries, surfaceName = "worker") {
121
+ if (configuredPath === false) {
122
+ return null;
123
+ }
124
+ const fs = await import("node:fs/promises");
125
+ if (typeof configuredPath === "string" && configuredPath) {
126
+ const absolutePath = resolve(cwd, configuredPath);
127
+ try {
128
+ await fs.access(absolutePath);
129
+ return absolutePath;
130
+ } catch {
131
+ throw new Error(`Configured ${surfaceName} handler "${configuredPath}" was not found`);
132
+ }
133
+ }
134
+ for (const defaultEntry of defaultEntries) {
135
+ const absolutePath = resolve(cwd, defaultEntry);
136
+ try {
137
+ await fs.access(absolutePath);
138
+ return absolutePath;
139
+ } catch {
140
+ continue;
141
+ }
142
+ }
143
+ return null;
144
+ }
145
+ async function resolveWorkerSurfacePaths(cwd, config) {
146
+ return {
147
+ fetch: await resolveWorkerHandlerPath(cwd, config.files?.fetch, DEFAULT_FETCH_ENTRY_FILES, "fetch"),
148
+ queue: await resolveWorkerHandlerPath(cwd, config.files?.queue, DEFAULT_QUEUE_ENTRY_FILES, "queue"),
149
+ scheduled: await resolveWorkerHandlerPath(cwd, config.files?.scheduled, DEFAULT_SCHEDULED_ENTRY_FILES, "scheduled"),
150
+ email: await resolveWorkerHandlerPath(cwd, config.files?.email, DEFAULT_EMAIL_ENTRY_FILES, "email")
151
+ };
152
+ }
153
+ function hasWorkerSurfacePaths(surfacePaths) {
154
+ return Object.values(surfacePaths).some((surfacePath) => typeof surfacePath === "string" && surfacePath.length > 0);
155
+ }
156
+
157
+ // src/worker-entry/composed-worker.ts
158
+ class CodeBuilder {
159
+ sections = [];
160
+ importStatement(specifiers, from) {
161
+ this.sections.push(`import { ${specifiers.join(", ")} } from '${from}'`);
162
+ return this;
163
+ }
164
+ importNamespace(identifier, from) {
165
+ this.sections.push(`import * as ${identifier} from '${from}'`);
166
+ return this;
167
+ }
168
+ reExport(names, from) {
169
+ this.sections.push(`export { ${names.join(", ")} } from '${from}'`);
170
+ return this;
171
+ }
172
+ constDeclaration(name, value) {
173
+ this.sections.push(`const ${name} = ${value}`);
174
+ return this;
175
+ }
176
+ classDeclaration(body) {
177
+ this.sections.push(body);
178
+ return this;
179
+ }
180
+ exportDefault(body) {
181
+ this.sections.push(`export default ${body}`);
182
+ return this;
183
+ }
184
+ raw(text) {
185
+ this.sections.push(text);
186
+ return this;
187
+ }
188
+ blank() {
189
+ this.sections.push("");
190
+ return this;
191
+ }
192
+ toString() {
193
+ return this.sections.join(`
194
+ `);
195
+ }
196
+ }
197
+ var DEV_ONLY_EMAIL_HOOKS_SOURCE = `
198
+ function __devflareCreateEmailHeaders(rawBody) {
199
+ const headers = new Headers()
200
+ const lines = rawBody.split(/\\r?\\n/)
201
+
202
+ for (const line of lines) {
203
+ if (line.trim() === '') {
204
+ break
205
+ }
206
+
207
+ const colonIndex = line.indexOf(':')
208
+ if (colonIndex <= 0) {
209
+ continue
210
+ }
211
+
212
+ headers.append(line.slice(0, colonIndex).trim(), line.slice(colonIndex + 1).trim())
213
+ }
214
+
215
+ return headers
216
+ }
217
+
218
+ function __devflareCreateEmailRawStream(rawBody) {
219
+ return new ReadableStream({
220
+ start(controller) {
221
+ controller.enqueue(new TextEncoder().encode(rawBody))
222
+ controller.close()
223
+ }
224
+ })
225
+ }
226
+
227
+ async function __devflareHandleInternalEmail(request, env, ctx) {
228
+ if (!__devflareEmailHandler) {
229
+ return new Response('Email handler not configured', { status: 501 })
230
+ }
231
+
232
+ const from = request.headers.get('x-devflare-email-from') || 'unknown@example.com'
233
+ const to = request.headers.get('x-devflare-email-to') || 'worker@example.com'
234
+ const rawBody = await request.text()
235
+ const emailMessage = {
236
+ from,
237
+ to,
238
+ headers: __devflareCreateEmailHeaders(rawBody),
239
+ raw: __devflareCreateEmailRawStream(rawBody),
240
+ rawSize: rawBody.length,
241
+ setReject(reason) {
242
+ console.warn('[Devflare email rejected]', reason)
243
+ },
244
+ async forward(rcptTo) {
245
+ console.log('[Devflare email forwarded]', rcptTo)
246
+ return Promise.resolve()
247
+ },
248
+ async reply(message) {
249
+ console.log('[Devflare email reply sent]', message?.from)
250
+ return Promise.resolve()
251
+ }
252
+ }
253
+
254
+ const __devflareEvent = createEmailEvent(emailMessage, env, ctx)
255
+
256
+ await runWithEventContext(
257
+ __devflareEvent,
258
+ () => __devflareEmailHandler(__devflareEvent, env, ctx)
259
+ )
260
+
261
+ return new Response(JSON.stringify({ ok: true, from, to }), {
262
+ headers: { 'Content-Type': 'application/json' }
263
+ })
264
+ }
265
+ `;
266
+ function emitDevOnlyEmailHooks(builder, options) {
267
+ if (!options.enabled) {
268
+ return;
269
+ }
270
+ builder.raw(DEV_ONLY_EMAIL_HOOKS_SOURCE);
271
+ }
272
+ var RESOLVE_HANDLER_DECLARATION = `const __devflareResolveHandler = (module, namedExport) => {
273
+ const defaultExport = module.default
274
+
275
+ if (typeof defaultExport === 'function') {
276
+ return defaultExport
277
+ }
278
+
279
+ if (defaultExport && typeof defaultExport[namedExport] === 'function') {
280
+ return defaultExport[namedExport].bind(defaultExport)
281
+ }
282
+
283
+ if (typeof module[namedExport] === 'function') {
284
+ return module[namedExport]
285
+ }
286
+
287
+ return null
288
+ }`;
289
+ function buildDefaultExportBody(options) {
290
+ const devOnlyEmailEntry = options.includeDevOnlyHooks ? `const url = new URL(request.url)
291
+
292
+ if (
293
+ request.headers.get('x-devflare-event') === 'email'
294
+ && url.pathname === '/_devflare/internal/email'
295
+ ) {
296
+ return __devflareHandleInternalEmail(request, env, ctx)
297
+ }
298
+
299
+ ` : "";
300
+ return `{
301
+ ...(${options.hasFetchDispatch ? "true" : "false"}
302
+ ? {
303
+ async fetch(request, env, ctx) {
304
+ ${devOnlyEmailEntry}const __devflareInitialRouteMatch = __devflareHasRoutes ? matchFetchRoute(__devflareRoutes, request) : null
305
+ const __devflareEvent = createFetchEvent(request, env, ctx, {
306
+ params: __devflareInitialRouteMatch?.params ?? {}
307
+ })
308
+ return runWithEventContext(
309
+ __devflareEvent,
310
+ () => invokeFetchModule(
311
+ __devflareFetchModule,
312
+ __devflareEvent,
313
+ __devflareHasRoutes
314
+ ? createRouteResolve(__devflareRoutes, __devflareEvent)
315
+ : undefined
316
+ )
317
+ )
318
+ }
319
+ }
320
+ : {}),
321
+ ...(__devflareQueueHandler
322
+ ? {
323
+ async queue(batch, env, ctx) {
324
+ const __devflareEvent = createQueueEvent(batch, env, ctx)
325
+ return runWithEventContext(
326
+ __devflareEvent,
327
+ () => __devflareQueueHandler(__devflareEvent, env, ctx)
328
+ )
329
+ }
330
+ }
331
+ : {}),
332
+ ...(__devflareScheduledHandler
333
+ ? {
334
+ async scheduled(controller, env, ctx) {
335
+ const __devflareEvent = createScheduledEvent(controller, env, ctx)
336
+ return runWithEventContext(
337
+ __devflareEvent,
338
+ () => __devflareScheduledHandler(__devflareEvent, env, ctx)
339
+ )
340
+ }
341
+ }
342
+ : {}),
343
+ ...(__devflareEmailHandler
344
+ ? {
345
+ async email(message, env, ctx) {
346
+ const __devflareEvent = createEmailEvent(message, env, ctx)
347
+ return runWithEventContext(
348
+ __devflareEvent,
349
+ () => __devflareEmailHandler(__devflareEvent, env, ctx)
350
+ )
351
+ }
352
+ }
353
+ : {})
354
+ }`;
355
+ }
356
+ function getComposedWorkerEntrypointSource(surfaceImportPaths, configuredLocalSendEmailBindings = {}, durableObjectExports = [], routeImports = [], options = {}) {
357
+ const includeDevOnlyHooks = options.includeDevOnlyHooks ?? options.devInternalEmail === true;
358
+ const importsBuilder = new CodeBuilder;
359
+ importsBuilder.importStatement([
360
+ "createEmailEvent",
361
+ "createFetchEvent",
362
+ "createQueueEvent",
363
+ "createRouteResolve",
364
+ "createScheduledEvent",
365
+ "invokeFetchModule",
366
+ "matchFetchRoute",
367
+ "runWithEventContext",
368
+ "setLocalSendEmailBindings"
369
+ ], "devflare/runtime");
370
+ const fallbackModules = [
371
+ { identifier: "__devflareFetchModule", importPath: surfaceImportPaths.fetch },
372
+ { identifier: "__devflareQueueModule", importPath: surfaceImportPaths.queue },
373
+ { identifier: "__devflareScheduledModule", importPath: surfaceImportPaths.scheduled },
374
+ { identifier: "__devflareEmailModule", importPath: surfaceImportPaths.email }
375
+ ];
376
+ const fallbacksBuilder = new CodeBuilder;
377
+ for (const { identifier, importPath } of fallbackModules) {
378
+ if (importPath) {
379
+ importsBuilder.importNamespace(identifier, importPath);
380
+ } else {
381
+ fallbacksBuilder.constDeclaration(identifier, "{}");
382
+ }
383
+ }
384
+ for (const routeImport of routeImports) {
385
+ importsBuilder.importNamespace(routeImport.identifier, routeImport.importPath);
386
+ }
387
+ const reExportsBuilder = new CodeBuilder;
388
+ for (const { classNames, importPath } of durableObjectExports) {
389
+ reExportsBuilder.reExport(classNames, importPath);
390
+ }
391
+ const routeManifestEntries = routeImports.map(({ identifier, filePath, routePath, segmentsJson }) => {
392
+ return ` { filePath: ${JSON.stringify(filePath)}, routePath: ${JSON.stringify(routePath)}, segments: ${segmentsJson}, module: ${identifier} }`;
393
+ });
394
+ const builder = new CodeBuilder;
395
+ builder.raw(importsBuilder.toString());
396
+ builder.raw(fallbacksBuilder.toString());
397
+ builder.raw(reExportsBuilder.toString());
398
+ builder.blank();
399
+ builder.raw(`setLocalSendEmailBindings(${JSON.stringify(configuredLocalSendEmailBindings)})`);
400
+ builder.blank();
401
+ builder.constDeclaration("__devflareHasFetchModule", surfaceImportPaths.fetch ? "true" : "false");
402
+ builder.raw(`const __devflareRoutes = [
403
+ ${routeManifestEntries.join(`,
404
+ `)}
405
+ ]`);
406
+ builder.constDeclaration("__devflareHasRoutes", "__devflareRoutes.length > 0");
407
+ builder.blank();
408
+ builder.raw(RESOLVE_HANDLER_DECLARATION);
409
+ builder.blank();
410
+ builder.constDeclaration("__devflareQueueHandler", "__devflareResolveHandler(__devflareQueueModule, 'queue')");
411
+ builder.constDeclaration("__devflareScheduledHandler", "__devflareResolveHandler(__devflareScheduledModule, 'scheduled')");
412
+ builder.constDeclaration("__devflareEmailHandler", "__devflareResolveHandler(__devflareEmailModule, 'email')");
413
+ emitDevOnlyEmailHooks(builder, { enabled: includeDevOnlyHooks });
414
+ builder.blank();
415
+ builder.exportDefault(buildDefaultExportBody({
416
+ hasFetchDispatch: Boolean(surfaceImportPaths.fetch) || routeImports.length > 0 || includeDevOnlyHooks,
417
+ includeDevOnlyHooks
418
+ }));
419
+ builder.raw("");
420
+ return builder.toString();
421
+ }
422
+ function toImportSpecifier(fromFilePath, toFilePath) {
423
+ const specifier = relative(dirname(fromFilePath), toFilePath).replace(/\\/g, "/");
424
+ return specifier.startsWith(".") ? specifier : `./${specifier}`;
425
+ }
426
+ function createGeneratedRouteModuleImports(entryPath, routeDiscovery) {
427
+ if (!routeDiscovery) {
428
+ return [];
429
+ }
430
+ return routeDiscovery.routes.map((route, index) => ({
431
+ identifier: `__devflareRouteModule${index}`,
432
+ importPath: toImportSpecifier(entryPath, route.absolutePath),
433
+ filePath: route.filePath,
434
+ routePath: route.routePath,
435
+ segmentsJson: JSON.stringify(route.segments)
436
+ }));
437
+ }
438
+ async function createGeneratedDurableObjectExports(entryPath, cwd, config) {
439
+ if (config.files?.durableObjects === false || !config.bindings?.durableObjects) {
440
+ return [];
441
+ }
442
+ const localClassNames = new Set(Object.values(config.bindings.durableObjects).map((binding) => normalizeDOBinding(binding)).filter((binding) => !binding.scriptName).map((binding) => binding.className));
443
+ if (localClassNames.size === 0) {
444
+ return [];
445
+ }
446
+ const fs = await import("node:fs/promises");
447
+ const pattern = typeof config.files?.durableObjects === "string" ? config.files.durableObjects : DEFAULT_DO_PATTERN;
448
+ const matchedFiles = await findFiles(pattern, { cwd });
449
+ const exports = [];
450
+ const discoveredClassNames = new Set;
451
+ for (const filePath of matchedFiles) {
452
+ try {
453
+ const code = await fs.readFile(filePath, "utf-8");
454
+ const classNames = findDurableObjectClasses(code).filter((className) => localClassNames.has(className));
455
+ if (classNames.length === 0) {
456
+ continue;
457
+ }
458
+ for (const className of classNames) {
459
+ discoveredClassNames.add(className);
460
+ }
461
+ exports.push({
462
+ importPath: toImportSpecifier(entryPath, filePath),
463
+ filePath,
464
+ classNames
465
+ });
466
+ } catch {
467
+ continue;
468
+ }
469
+ }
470
+ const missingClassNames = Array.from(localClassNames).filter((className) => !discoveredClassNames.has(className));
471
+ if (missingClassNames.length > 0) {
472
+ throw new Error(`Failed to discover local Durable Object class${missingClassNames.length === 1 ? "" : "es"} ${missingClassNames.join(", ")} for worker composition. Ensure files.durableObjects matches the source file pattern for your do.* files.`);
473
+ }
474
+ return exports;
475
+ }
476
+ function needsComposedWorkerEntrypoint(cwd, surfacePaths, config, routeDiscovery) {
477
+ const hasAdditionalWorkerSurfaces = Boolean(surfacePaths.queue || surfacePaths.scheduled || surfacePaths.email || routeDiscovery?.routes.length);
478
+ if (hasAdditionalWorkerSurfaces) {
479
+ return true;
480
+ }
481
+ if (!surfacePaths.fetch) {
482
+ return false;
483
+ }
484
+ const assetsDirectory = config.assets?.directory;
485
+ if (assetsDirectory) {
486
+ const generatedAssetsWorkerPath = resolve2(cwd, assetsDirectory, "_worker.js");
487
+ if (surfacePaths.fetch === generatedAssetsWorkerPath) {
488
+ return false;
489
+ }
490
+ }
491
+ return Boolean(surfacePaths.fetch);
492
+ }
493
+ async function prepareComposedWorkerEntrypoint(cwd, config, environment, options = {}) {
494
+ const resolvedConfig = resolveConfigForEnvironment(config, environment);
495
+ if (resolvedConfig.wrangler?.passthrough && Object.prototype.hasOwnProperty.call(resolvedConfig.wrangler.passthrough, "main")) {
496
+ return null;
497
+ }
498
+ const surfacePaths = await resolveWorkerSurfacePaths(cwd, resolvedConfig);
499
+ const routeDiscovery = await discoverRoutes(cwd, resolvedConfig);
500
+ if (!needsComposedWorkerEntrypoint(cwd, surfacePaths, resolvedConfig, routeDiscovery)) {
501
+ return null;
502
+ }
503
+ const fs = await import("node:fs/promises");
504
+ const entryDir = resolve2(cwd, ".devflare", "worker-entrypoints");
505
+ const entryPath = resolve2(entryDir, "main.ts");
506
+ await fs.mkdir(entryDir, { recursive: true });
507
+ const surfaceImportPaths = {
508
+ fetch: surfacePaths.fetch ? toImportSpecifier(entryPath, surfacePaths.fetch) : null,
509
+ queue: surfacePaths.queue ? toImportSpecifier(entryPath, surfacePaths.queue) : null,
510
+ scheduled: surfacePaths.scheduled ? toImportSpecifier(entryPath, surfacePaths.scheduled) : null,
511
+ email: surfacePaths.email ? toImportSpecifier(entryPath, surfacePaths.email) : null
512
+ };
513
+ const durableObjectExports = await createGeneratedDurableObjectExports(entryPath, cwd, resolvedConfig);
514
+ const routeImports = createGeneratedRouteModuleImports(entryPath, routeDiscovery);
515
+ await fs.writeFile(entryPath, getComposedWorkerEntrypointSource(surfaceImportPaths, resolvedConfig.bindings?.sendEmail ?? {}, durableObjectExports, routeImports, options));
516
+ return entryPath;
517
+ }
518
+
519
+ // src/vite/plugin-context.ts
520
+ var CONFIG_DIR = ".devflare";
521
+ async function buildPluginContextState(projectRoot, devflareConfig, environment, mode = "serve") {
522
+ const effectiveConfig = mode === "build" ? await resolveResources(devflareConfig, { phase: "build", environment }) : await resolveResources(devflareConfig, { phase: "local", environment });
523
+ const compiledWranglerConfig = mode === "build" ? compileBuildConfig(effectiveConfig) : compileConfig(effectiveConfig);
524
+ const wranglerConfig = mode === "build" ? isolateViteBuildOutputPaths(projectRoot, compiledWranglerConfig) : compiledWranglerConfig;
525
+ const cloudflareConfig = {
526
+ ...mode === "build" ? isolateViteBuildOutputPaths(projectRoot, compileToProgrammaticConfig(effectiveConfig, environment, { preserveNamedBindings: true })) : compileToProgrammaticConfig(effectiveConfig, environment)
527
+ };
528
+ const composedMainEntry = mode === "build" ? null : await prepareComposedWorkerEntrypoint(projectRoot, effectiveConfig, environment);
529
+ if (composedMainEntry) {
530
+ const relativeMain = relative2(projectRoot, composedMainEntry);
531
+ wranglerConfig.main = relativeMain;
532
+ cloudflareConfig.main = relativeMain;
533
+ }
534
+ let durableObjects = null;
535
+ let auxiliaryWorkerConfig = null;
536
+ const doPatternConfig = effectiveConfig.files?.durableObjects;
537
+ const doPattern = typeof doPatternConfig === "string" ? doPatternConfig : DEFAULT_DO_PATTERN;
538
+ if (doPatternConfig !== false) {
539
+ const doWorkerName = `${wranglerConfig.name}-do`;
540
+ const discovery = await discoverDurableObjects(projectRoot, doPattern, doWorkerName);
541
+ if (discovery.files.size > 0) {
542
+ durableObjects = discovery;
543
+ if (wranglerConfig.durable_objects?.bindings) {
544
+ for (const binding of wranglerConfig.durable_objects.bindings) {
545
+ binding.script_name = doWorkerName;
546
+ }
547
+ }
548
+ if (cloudflareConfig.durable_objects) {
549
+ const doConfig = cloudflareConfig.durable_objects;
550
+ for (const binding of doConfig.bindings) {
551
+ binding.script_name = doWorkerName;
552
+ }
553
+ }
554
+ auxiliaryWorkerConfig = createAuxiliaryWorkerConfig(wranglerConfig, discovery);
555
+ }
556
+ }
557
+ return {
558
+ wranglerConfig,
559
+ cloudflareConfig,
560
+ durableObjects,
561
+ auxiliaryWorkerConfig
562
+ };
563
+ }
564
+ async function ensureGeneratedConfigDir(projectRoot) {
565
+ const configDir = resolve3(projectRoot, CONFIG_DIR);
566
+ const fs = await import("node:fs/promises");
567
+ await fs.mkdir(configDir, { recursive: true });
568
+ const gitignorePath = resolve3(configDir, ".gitignore");
569
+ try {
570
+ await fs.access(gitignorePath);
571
+ } catch {
572
+ await fs.writeFile(gitignorePath, `*
573
+ `, "utf-8");
574
+ }
575
+ return configDir;
576
+ }
577
+ async function writeGeneratedWranglerConfig(projectRoot, wranglerConfig) {
578
+ const configDir = await ensureGeneratedConfigDir(projectRoot);
579
+ const wranglerFileConfig = rebaseWranglerConfigPaths(projectRoot, configDir, wranglerConfig);
580
+ await writeWranglerConfig(configDir, wranglerFileConfig, "wrangler.jsonc");
581
+ }
582
+ async function resolvePluginConfigPath(projectRoot, configPath) {
583
+ if (configPath) {
584
+ return isAbsolute(configPath) ? configPath : resolve3(projectRoot, configPath);
585
+ }
586
+ return await resolveConfigPath(projectRoot) ?? null;
587
+ }
588
+
589
+ // src/vite/plugin-config-hook.ts
590
+ async function tryLoadDevflareConfig(cwd, configPath, command) {
591
+ try {
592
+ return await loadConfig({ cwd, configFile: configPath });
593
+ } catch (error) {
594
+ if (command === "build") {
595
+ console.warn("[devflare] Could not load config:", error);
596
+ }
597
+ return null;
598
+ }
599
+ }
600
+ function buildWorkerNameDefine(lfConfig, existing) {
601
+ const workerNameValue = lfConfig.name ?? "unknown";
602
+ return {
603
+ ...existing,
604
+ __DEVFLARE_WORKER_NAME__: JSON.stringify(workerNameValue)
605
+ };
606
+ }
607
+ function buildWebSocketProxyConfig(lfConfig, bridgePort, wsProxyPatterns) {
608
+ const patterns = [...wsProxyPatterns];
609
+ if (lfConfig.wsRoutes && lfConfig.wsRoutes.length > 0) {
610
+ for (const route of lfConfig.wsRoutes) {
611
+ if (!patterns.includes(route.pattern)) {
612
+ patterns.push(route.pattern);
613
+ }
614
+ }
615
+ }
616
+ if (patterns.length === 0)
617
+ return null;
618
+ const proxyConfig = {};
619
+ for (const pattern of patterns) {
620
+ proxyConfig[pattern] = {
621
+ target: `http://127.0.0.1:${bridgePort}`,
622
+ changeOrigin: true,
623
+ ws: true,
624
+ configure: (proxy) => {
625
+ proxy.on("error", (err) => {
626
+ console.error(`[devflare] Proxy error: ${err.message}`);
627
+ });
628
+ }
629
+ };
630
+ }
631
+ if (Object.keys(proxyConfig).length === 0)
632
+ return null;
633
+ console.log(`[devflare] WebSocket proxy configured for: ${patterns.join(", ")}`);
634
+ return proxyConfig;
635
+ }
636
+ async function buildPluginConfigHookResult(cwd, options, command, existingDefine) {
637
+ const lfConfig = await tryLoadDevflareConfig(cwd, options.configPath, command);
638
+ const returnConfig = {};
639
+ if (lfConfig) {
640
+ returnConfig.define = buildWorkerNameDefine(lfConfig, existingDefine);
641
+ }
642
+ if (command === "serve" && process.env.DEVFLARE_DEV && lfConfig) {
643
+ const port = options.bridgePort ?? 8787;
644
+ const proxyConfig = buildWebSocketProxyConfig(lfConfig, port, options.wsProxyPatterns);
645
+ if (proxyConfig) {
646
+ returnConfig.server = { proxy: proxyConfig };
647
+ }
648
+ }
649
+ return Object.keys(returnConfig).length > 0 ? returnConfig : undefined;
650
+ }
651
+
652
+ // src/vite/plugin-transform.ts
653
+ var TRANSFORMABLE_EXTENSIONS = [".ts", ".tsx", ".js"];
654
+ function isTransformCandidate(id) {
655
+ if (id.includes("node_modules"))
656
+ return false;
657
+ return TRANSFORMABLE_EXTENSIONS.some((ext) => id.endsWith(ext));
658
+ }
659
+ async function runWorkerEntryTransform(code, id) {
660
+ if (!id.endsWith("worker.ts") && !id.endsWith("worker.js")) {
661
+ return null;
662
+ }
663
+ const {
664
+ shouldTransformWorker,
665
+ transformWorkerEntrypoint
666
+ } = await import("./worker-entrypoint-4xp7msd7.js");
667
+ if (!shouldTransformWorker(code, id)) {
668
+ return null;
669
+ }
670
+ const result = transformWorkerEntrypoint(code, id);
671
+ if (!result)
672
+ return null;
673
+ return {
674
+ code: result.code,
675
+ map: result.map
676
+ };
677
+ }
678
+ async function runDurableObjectTransform(code, id, options) {
679
+ if (!options.doTransforms)
680
+ return null;
681
+ if (!code.includes("DurableObject") && !code.includes("@durableObject")) {
682
+ return null;
683
+ }
684
+ const { transformDurableObject } = await import("./durable-object-v3gsnybk.js");
685
+ return transformDurableObject(code, id);
686
+ }
687
+ async function runDevflareTransform(code, id, options) {
688
+ if (!isTransformCandidate(id))
689
+ return null;
690
+ const workerResult = await runWorkerEntryTransform(code, id);
691
+ if (workerResult)
692
+ return workerResult;
693
+ return await runDurableObjectTransform(code, id, options);
694
+ }
695
+
696
+ // src/vite/plugin-programmatic.ts
697
+ import { relative as relative3 } from "pathe";
698
+ async function loadProgrammaticDevflareConfig(options) {
699
+ const cwd = options.cwd ?? process.cwd();
700
+ const strategy = options.resolve ?? "offline-local";
701
+ const devflareConfig = strategy === "remote" ? await loadResolvedConfig({
702
+ cwd,
703
+ configFile: options.configPath,
704
+ environment: options.environment
705
+ }) : await resolveResources(await loadConfig({ cwd, configFile: options.configPath }), { phase: "local", environment: options.environment });
706
+ return { cwd, devflareConfig };
707
+ }
708
+ async function buildProgrammaticArtifacts(options, mode) {
709
+ const { cwd, devflareConfig } = await loadProgrammaticDevflareConfig(options);
710
+ const composedMainEntry = await prepareComposedWorkerEntrypoint(cwd, devflareConfig);
711
+ const wranglerConfig = compileConfig(devflareConfig);
712
+ const cloudflareConfig = mode === "programmatic" ? compileToProgrammaticConfig(devflareConfig) : { ...wranglerConfig };
713
+ if (composedMainEntry) {
714
+ const relativeMain = relative3(cwd, composedMainEntry);
715
+ wranglerConfig.main = relativeMain;
716
+ cloudflareConfig.main = relativeMain;
717
+ }
718
+ const auxiliaryWorkers = [];
719
+ const doPatternConfig = devflareConfig.files?.durableObjects;
720
+ const doPattern = typeof doPatternConfig === "string" ? doPatternConfig : DEFAULT_DO_PATTERN;
721
+ if (doPatternConfig !== false) {
722
+ const doWorkerName = `${wranglerConfig.name}-do`;
723
+ const discovery = await discoverDurableObjects(cwd, doPattern, doWorkerName);
724
+ if (discovery.files.size > 0) {
725
+ if (cloudflareConfig.durable_objects) {
726
+ const doConfig = cloudflareConfig.durable_objects;
727
+ for (const binding of doConfig.bindings) {
728
+ binding.script_name = doWorkerName;
729
+ }
730
+ }
731
+ auxiliaryWorkers.push(createAuxiliaryWorkerConfig(wranglerConfig, discovery));
732
+ }
733
+ }
734
+ return { cwd, devflareConfig, composedMainEntry, wranglerConfig, cloudflareConfig, auxiliaryWorkers };
735
+ }
736
+ async function getCloudflareConfig(options = {}) {
737
+ const { cloudflareConfig } = await buildProgrammaticArtifacts(options, "programmatic");
738
+ return cloudflareConfig;
739
+ }
740
+ async function getDevflareConfigs(options = {}) {
741
+ const { cloudflareConfig, auxiliaryWorkers } = await buildProgrammaticArtifacts(options, "wrangler");
742
+ return { cloudflareConfig, auxiliaryWorkers };
743
+ }
744
+
745
+ // src/vite/plugin.ts
746
+ var CONFIG_DIR2 = ".devflare";
747
+ function createPluginState() {
748
+ return {
749
+ context: {
750
+ wranglerConfig: null,
751
+ cloudflareConfig: null,
752
+ projectRoot: process.cwd(),
753
+ auxiliaryWorkerConfig: null,
754
+ durableObjects: null
755
+ },
756
+ projectRoot: process.cwd(),
757
+ devflareConfig: null,
758
+ resolvedPluginConfigPath: null
759
+ };
760
+ }
761
+ async function loadAndApplyConfig(state, options, mode, onContextUpdated) {
762
+ state.devflareConfig = await loadConfig({
763
+ cwd: state.projectRoot,
764
+ configFile: options.configPath
765
+ });
766
+ const pluginState = await buildPluginContextState(state.projectRoot, state.devflareConfig, options.environment, mode);
767
+ Object.assign(state.context, {
768
+ projectRoot: state.projectRoot,
769
+ ...pluginState
770
+ });
771
+ onContextUpdated(state.context);
772
+ logDiscoveredDurableObjects(state.projectRoot, pluginState.durableObjects);
773
+ await writeGeneratedWranglerConfig(state.projectRoot, pluginState.wranglerConfig);
774
+ }
775
+ var lastPluginContext = createPluginState().context;
776
+ function getPluginContext() {
777
+ return lastPluginContext;
778
+ }
779
+ function devflarePlugin(options = {}) {
780
+ const {
781
+ configPath,
782
+ environment,
783
+ doTransforms = true,
784
+ watchConfig = true,
785
+ bridgePort = process.env.DEVFLARE_BRIDGE_PORT ? parseInt(process.env.DEVFLARE_BRIDGE_PORT, 10) : undefined,
786
+ wsProxyPatterns = []
787
+ } = options;
788
+ const state = createPluginState();
789
+ return {
790
+ name: "devflare",
791
+ enforce: "pre",
792
+ async config(config, { command }) {
793
+ const cwd = config.root ?? process.cwd();
794
+ return buildPluginConfigHookResult(cwd, { configPath, bridgePort, wsProxyPatterns }, command, config.define ?? {});
795
+ },
796
+ resolveId(id) {
797
+ if (id === VIRTUAL_DO_ENTRY) {
798
+ return RESOLVED_VIRTUAL_DO_ENTRY;
799
+ }
800
+ return null;
801
+ },
802
+ async load(id) {
803
+ if (id === RESOLVED_VIRTUAL_DO_ENTRY) {
804
+ if (!state.context.durableObjects) {
805
+ return `// No Durable Objects configured
806
+ export default { fetch: () => new Response("No DOs") }`;
807
+ }
808
+ return generateVirtualDOEntry(state.context.durableObjects);
809
+ }
810
+ return null;
811
+ },
812
+ async configResolved(config) {
813
+ state.projectRoot = config.root;
814
+ state.context.projectRoot = state.projectRoot;
815
+ state.resolvedPluginConfigPath = await resolvePluginConfigPath(state.projectRoot, configPath);
816
+ try {
817
+ await loadAndApplyConfig(state, { configPath, environment }, config.command === "build" ? "build" : "serve", (ctx) => {
818
+ lastPluginContext = ctx;
819
+ });
820
+ if (config.command === "serve") {
821
+ console.log("[devflare] Config generated to .devflare/wrangler.jsonc");
822
+ if (state.context.auxiliaryWorkerConfig) {
823
+ console.log("[devflare] ✓ Auxiliary DO worker configured");
824
+ }
825
+ }
826
+ if (config.command === "build") {
827
+ console.log(`[devflare] Generated ${CONFIG_DIR2}/wrangler.jsonc`);
828
+ }
829
+ } catch (error) {
830
+ if (error instanceof Error) {
831
+ console.error("[devflare] Config error:", error.message);
832
+ }
833
+ throw error;
834
+ }
835
+ },
836
+ configureServer(server) {
837
+ if (!watchConfig)
838
+ return;
839
+ const fullConfigPath = state.resolvedPluginConfigPath ?? resolve4(state.projectRoot, configPath || "devflare.config.ts");
840
+ server.watcher.add(fullConfigPath);
841
+ server.watcher.on("change", async (changedPath) => {
842
+ if (changedPath === fullConfigPath) {
843
+ console.log("[devflare] Config changed, reloading...");
844
+ try {
845
+ await loadAndApplyConfig(state, { configPath, environment }, "serve", (ctx) => {
846
+ lastPluginContext = ctx;
847
+ });
848
+ console.log("[devflare] Config reloaded");
849
+ server.ws.send({
850
+ type: "full-reload",
851
+ path: "*"
852
+ });
853
+ } catch (error) {
854
+ console.error("[devflare] Failed to reload config:", error);
855
+ }
856
+ }
857
+ });
858
+ },
859
+ async transform(code, id) {
860
+ return runDevflareTransform(code, id, { doTransforms });
861
+ }
862
+ };
863
+ }
864
+ // src/vite/config-file.ts
865
+ var CONFIG_DIR3 = ".devflare";
866
+ var GENERATED_VITE_CONFIG_FILENAME = "vite.config.mjs";
867
+ function hasInlineViteConfig(viteConfig) {
868
+ return Boolean(viteConfig && Object.keys(viteConfig).length > 0);
869
+ }
870
+ function resolveEffectiveViteProject(detection, config, environment) {
871
+ const resolvedConfig = resolveConfigForEnvironment(config, environment);
872
+ const hasDevflareConfig = hasInlineViteConfig(resolvedConfig.vite);
873
+ return {
874
+ ...detection,
875
+ hasDevflareViteConfig: hasDevflareConfig,
876
+ shouldStartVite: detection.shouldStartVite || hasDevflareConfig,
877
+ wantsViteIntegration: detection.wantsViteIntegration || hasDevflareConfig
878
+ };
879
+ }
880
+ function isPromiseLike(value) {
881
+ return (typeof value === "object" || typeof value === "function") && value !== null && typeof value.then === "function";
882
+ }
883
+ function normalizePluginOptions(pluginOption) {
884
+ if (typeof pluginOption === "undefined") {
885
+ return [];
886
+ }
887
+ return Array.isArray(pluginOption) ? pluginOption : [pluginOption];
888
+ }
889
+ function removePluginByName(pluginOption, pluginName) {
890
+ if (Array.isArray(pluginOption)) {
891
+ const filteredPlugins = pluginOption.map((nestedPlugin) => removePluginByName(nestedPlugin, pluginName)).filter((nestedPlugin) => typeof nestedPlugin !== "undefined");
892
+ return filteredPlugins.length > 0 ? filteredPlugins : undefined;
893
+ }
894
+ if (!pluginOption || typeof pluginOption === "boolean" || isPromiseLike(pluginOption)) {
895
+ return pluginOption;
896
+ }
897
+ return pluginOption.name === pluginName ? undefined : pluginOption;
898
+ }
899
+ function withInjectedDevflarePlugin(config, pluginOptions) {
900
+ const existingPlugins = normalizePluginOptions(config.plugins).map((pluginOption) => removePluginByName(pluginOption, "devflare")).filter((pluginOption) => typeof pluginOption !== "undefined");
901
+ return {
902
+ ...config,
903
+ plugins: [devflarePlugin(pluginOptions), ...existingPlugins]
904
+ };
905
+ }
906
+ async function resolveViteUserConfig(configEnv, options = {}) {
907
+ const { loadConfigFromFile, mergeConfig } = await import("vite");
908
+ const cwd = options.cwd ?? process.cwd();
909
+ const devflareConfig = await loadConfig({
910
+ cwd,
911
+ configFile: options.configPath
912
+ });
913
+ const resolvedDevflareConfig = resolveConfigForEnvironment(devflareConfig, options.environment);
914
+ const inlineViteConfig = resolvedDevflareConfig.vite ?? {};
915
+ const localConfig = options.localConfigPath ? (await loadConfigFromFile(configEnv, options.localConfigPath, cwd))?.config ?? {} : {};
916
+ const mergedConfig = mergeConfig(localConfig, inlineViteConfig);
917
+ const normalizedConfig = mergedConfig.root ? mergedConfig : {
918
+ ...mergedConfig,
919
+ root: cwd
920
+ };
921
+ return withInjectedDevflarePlugin(normalizedConfig, {
922
+ configPath: options.configPath,
923
+ environment: options.environment,
924
+ bridgePort: options.bridgePort
925
+ });
926
+ }
927
+ async function ensureGeneratedConfigDir2(cwd) {
928
+ const fs = await import("node:fs/promises");
929
+ const { resolve: resolve5 } = await import("pathe");
930
+ const configDir = resolve5(cwd, CONFIG_DIR3);
931
+ await fs.mkdir(configDir, { recursive: true });
932
+ const gitignorePath = resolve5(configDir, ".gitignore");
933
+ try {
934
+ await fs.access(gitignorePath);
935
+ } catch {
936
+ await fs.writeFile(gitignorePath, `*
937
+ `, "utf-8");
938
+ }
939
+ return configDir;
940
+ }
941
+ async function resolveDevflarePackageRoot(currentFilePath) {
942
+ const fs = await import("node:fs/promises");
943
+ const { dirname: dirname2, resolve: resolve5 } = await import("pathe");
944
+ let currentDir = dirname2(currentFilePath);
945
+ while (true) {
946
+ const packageJsonPath = resolve5(currentDir, "package.json");
947
+ try {
948
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, "utf-8"));
949
+ if (packageJson.name === "devflare") {
950
+ return currentDir;
951
+ }
952
+ } catch {}
953
+ const parentDir = dirname2(currentDir);
954
+ if (parentDir === currentDir) {
955
+ break;
956
+ }
957
+ currentDir = parentDir;
958
+ }
959
+ throw new Error("Could not resolve the devflare package root for generated Vite config imports.");
960
+ }
961
+ async function resolveGeneratedViteImportPath(configDir) {
962
+ const { fileURLToPath } = await import("node:url");
963
+ const { extname, normalize, relative: relative4, resolve: resolve5 } = await import("pathe");
964
+ const currentFilePath = normalize(fileURLToPath(import.meta.url));
965
+ const currentExtension = extname(currentFilePath);
966
+ const packageRoot = await resolveDevflarePackageRoot(currentFilePath);
967
+ const viteEntryPath = currentFilePath.includes("/dist/") ? resolve5(packageRoot, "dist/vite/index.js") : resolve5(packageRoot, `src/vite/index${currentExtension}`);
968
+ const relativeImportPath = relative4(configDir, viteEntryPath);
969
+ return relativeImportPath.startsWith(".") ? relativeImportPath : `./${relativeImportPath}`;
970
+ }
971
+ async function writeGeneratedViteConfig(options) {
972
+ const fs = await import("node:fs/promises");
973
+ const { resolve: resolve5 } = await import("pathe");
974
+ const configDir = await ensureGeneratedConfigDir2(options.cwd);
975
+ const generatedConfigPath = resolve5(configDir, GENERATED_VITE_CONFIG_FILENAME);
976
+ const viteImportPath = await resolveGeneratedViteImportPath(configDir);
977
+ const content = `import { defineConfig } from 'vite'
978
+ import { resolveViteUserConfig } from ${JSON.stringify(viteImportPath)}
979
+
980
+ export default defineConfig(async (env) => {
981
+ return await resolveViteUserConfig(env, {
982
+ cwd: ${JSON.stringify(options.cwd)},
983
+ configPath: ${JSON.stringify(options.configPath)},
984
+ environment: ${JSON.stringify(options.environment)},
985
+ localConfigPath: ${JSON.stringify(options.localConfigPath)},
986
+ bridgePort: ${JSON.stringify(options.bridgePort)}
987
+ })
988
+ })
989
+ `;
990
+ await fs.writeFile(generatedConfigPath, content, "utf-8");
991
+ return generatedConfigPath;
992
+ }
993
+ export { DEFAULT_FETCH_ENTRY_FILES, DEFAULT_QUEUE_ENTRY_FILES, DEFAULT_SCHEDULED_ENTRY_FILES, DEFAULT_EMAIL_ENTRY_FILES, resolveWorkerSurfacePaths, hasWorkerSurfacePaths, prepareComposedWorkerEntrypoint, getCloudflareConfig, getDevflareConfigs, getPluginContext, devflarePlugin, hasInlineViteConfig, resolveEffectiveViteProject, resolveViteUserConfig, writeGeneratedViteConfig };