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,881 @@
1
+ import {
2
+ discoverDurableObjectFiles
3
+ } from "./index-2a2g4fwp.js";
4
+ import {
5
+ findFiles
6
+ } from "./index-rbht7m9r.js";
7
+ import {
8
+ transformDurableObject
9
+ } from "./index-vhqww6tt.js";
10
+ import {
11
+ __require
12
+ } from "./index-37x76zdn.js";
13
+
14
+ // src/bundler/worker-bundler.ts
15
+ import { fileURLToPath } from "node:url";
16
+ import { dirname, resolve as resolve2 } from "pathe";
17
+
18
+ // src/bundler/rolldown-shared.ts
19
+ import { existsSync } from "node:fs";
20
+ import { resolve } from "pathe";
21
+
22
+ // src/bundler/worker-compat.ts
23
+ import MagicString from "magic-string";
24
+ import ts from "typescript";
25
+ var WORKER_DYNAMIC_IMPORT_ERROR = "Devflare worker bundles cannot contain unresolved dynamic import() expressions because Miniflare/workerd reject dynamic module specifiers";
26
+ function getScriptKind(id) {
27
+ if (id.endsWith(".tsx")) {
28
+ return ts.ScriptKind.TSX;
29
+ }
30
+ if (id.endsWith(".ts") || id.endsWith(".mts") || id.endsWith(".cts")) {
31
+ return ts.ScriptKind.TS;
32
+ }
33
+ if (id.endsWith(".jsx")) {
34
+ return ts.ScriptKind.JSX;
35
+ }
36
+ return ts.ScriptKind.JS;
37
+ }
38
+ function createSourceFile(code, id) {
39
+ return ts.createSourceFile(id, code, ts.ScriptTarget.Latest, true, getScriptKind(id));
40
+ }
41
+ function hasExportModifier(node) {
42
+ if (!ts.canHaveModifiers(node)) {
43
+ return false;
44
+ }
45
+ return ts.getModifiers(node)?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword) ?? false;
46
+ }
47
+ function isConstVariableStatement(statement) {
48
+ return ts.isVariableStatement(statement) && (statement.declarationList.flags & ts.NodeFlags.Const) !== 0;
49
+ }
50
+ function quoteString(value) {
51
+ return `'${value.replace(/\\/g, "\\\\").replace(/'/g, `\\'`)}'`;
52
+ }
53
+ function resolveLiteralImportSpecifier(expression, constStrings) {
54
+ if (ts.isStringLiteral(expression) || ts.isNoSubstitutionTemplateLiteral(expression)) {
55
+ return expression.text;
56
+ }
57
+ if (ts.isParenthesizedExpression(expression)) {
58
+ return resolveLiteralImportSpecifier(expression.expression, constStrings);
59
+ }
60
+ if (ts.isIdentifier(expression)) {
61
+ return constStrings.get(expression.text) ?? null;
62
+ }
63
+ return null;
64
+ }
65
+ function collectTopLevelConstStrings(sourceFile) {
66
+ const constStrings = new Map;
67
+ for (const statement of sourceFile.statements) {
68
+ if (!isConstVariableStatement(statement)) {
69
+ continue;
70
+ }
71
+ for (const declaration of statement.declarationList.declarations) {
72
+ if (!ts.isIdentifier(declaration.name) || !declaration.initializer) {
73
+ continue;
74
+ }
75
+ const literal = resolveLiteralImportSpecifier(declaration.initializer, constStrings);
76
+ if (literal !== null) {
77
+ constStrings.set(declaration.name.text, literal);
78
+ }
79
+ }
80
+ }
81
+ return constStrings;
82
+ }
83
+ function unwrapDynamicImportExpression(expression) {
84
+ if (ts.isParenthesizedExpression(expression)) {
85
+ return unwrapDynamicImportExpression(expression.expression);
86
+ }
87
+ if (ts.isAwaitExpression(expression)) {
88
+ return unwrapDynamicImportExpression(expression.expression);
89
+ }
90
+ if (!ts.isCallExpression(expression) || expression.expression.kind !== ts.SyntaxKind.ImportKeyword) {
91
+ return null;
92
+ }
93
+ return expression;
94
+ }
95
+ function getWrapperBodyExpression(body) {
96
+ if (!body) {
97
+ return null;
98
+ }
99
+ if (!ts.isBlock(body)) {
100
+ return body;
101
+ }
102
+ if (body.statements.length !== 1) {
103
+ return null;
104
+ }
105
+ const [statement] = body.statements;
106
+ if (!ts.isReturnStatement(statement) || !statement.expression) {
107
+ return null;
108
+ }
109
+ return statement.expression;
110
+ }
111
+ function createImportWrapper(name, parameterName, body, sourceFile) {
112
+ const bodyExpression = getWrapperBodyExpression(body);
113
+ if (!bodyExpression) {
114
+ return null;
115
+ }
116
+ const importExpression = unwrapDynamicImportExpression(bodyExpression);
117
+ if (!importExpression || importExpression.arguments.length < 1) {
118
+ return null;
119
+ }
120
+ const [importArgument] = importExpression.arguments;
121
+ if (!ts.isIdentifier(importArgument) || importArgument.text !== parameterName || !body) {
122
+ return null;
123
+ }
124
+ return {
125
+ name,
126
+ parameterName,
127
+ bodyStart: body.getStart(sourceFile),
128
+ bodyEnd: body.getEnd(),
129
+ specifiers: new Set,
130
+ hasUnsupportedCalls: false
131
+ };
132
+ }
133
+ function collectImportWrappers(sourceFile) {
134
+ const wrappers = new Map;
135
+ for (const statement of sourceFile.statements) {
136
+ if (ts.isFunctionDeclaration(statement) && statement.name && !hasExportModifier(statement) && statement.parameters.length === 1 && ts.isIdentifier(statement.parameters[0]?.name)) {
137
+ const wrapper = createImportWrapper(statement.name.text, statement.parameters[0].name.text, statement.body, sourceFile);
138
+ if (wrapper) {
139
+ wrappers.set(wrapper.name, wrapper);
140
+ }
141
+ }
142
+ if (!isConstVariableStatement(statement) || hasExportModifier(statement)) {
143
+ continue;
144
+ }
145
+ for (const declaration of statement.declarationList.declarations) {
146
+ if (!ts.isIdentifier(declaration.name) || !declaration.initializer) {
147
+ continue;
148
+ }
149
+ if (!ts.isArrowFunction(declaration.initializer) && !ts.isFunctionExpression(declaration.initializer)) {
150
+ continue;
151
+ }
152
+ if (declaration.initializer.parameters.length !== 1 || !ts.isIdentifier(declaration.initializer.parameters[0]?.name)) {
153
+ continue;
154
+ }
155
+ const wrapper = createImportWrapper(declaration.name.text, declaration.initializer.parameters[0].name.text, declaration.initializer.body, sourceFile);
156
+ if (wrapper) {
157
+ wrappers.set(wrapper.name, wrapper);
158
+ }
159
+ }
160
+ }
161
+ return wrappers;
162
+ }
163
+ function collectWrapperCallSpecifiers(sourceFile, wrappers, constStrings) {
164
+ function visit(node) {
165
+ if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {
166
+ const wrapper = wrappers.get(node.expression.text);
167
+ if (wrapper) {
168
+ if (node.arguments.length !== 1) {
169
+ wrapper.hasUnsupportedCalls = true;
170
+ } else {
171
+ const specifier = resolveLiteralImportSpecifier(node.arguments[0], constStrings);
172
+ if (specifier === null) {
173
+ wrapper.hasUnsupportedCalls = true;
174
+ } else {
175
+ wrapper.specifiers.add(specifier);
176
+ }
177
+ }
178
+ }
179
+ }
180
+ ts.forEachChild(node, visit);
181
+ }
182
+ visit(sourceFile);
183
+ }
184
+ function createImportIdentifier(specifierToIdentifier, specifier) {
185
+ const existing = specifierToIdentifier.get(specifier);
186
+ if (existing) {
187
+ return existing;
188
+ }
189
+ const identifier = `__devflareDynamicImport${specifierToIdentifier.size}`;
190
+ specifierToIdentifier.set(specifier, identifier);
191
+ return identifier;
192
+ }
193
+ function buildWrapperBody(wrapper, specifierToIdentifier) {
194
+ const cases = Array.from(wrapper.specifiers).sort((left, right) => left.localeCompare(right)).map((specifier) => {
195
+ const identifier = createImportIdentifier(specifierToIdentifier, specifier);
196
+ return ` case ${quoteString(specifier)}:
197
+ return Promise.resolve(${identifier})`;
198
+ }).join(`
199
+ `);
200
+ return `{
201
+ switch (${wrapper.parameterName}) {
202
+ ${cases}
203
+ default:
204
+ return Promise.reject(new Error(\`Unsupported dynamic import in Devflare worker bundle: \${${wrapper.parameterName}}\`))
205
+ }
206
+ }`;
207
+ }
208
+ function findContainingWrapper(callExpression, wrappers, sourceFile) {
209
+ const start = callExpression.getStart(sourceFile);
210
+ const end = callExpression.getEnd();
211
+ for (const wrapper of wrappers) {
212
+ if (start >= wrapper.bodyStart && end <= wrapper.bodyEnd) {
213
+ return wrapper;
214
+ }
215
+ }
216
+ return null;
217
+ }
218
+ function transformWorkerDynamicImports(code, id) {
219
+ const sourceFile = createSourceFile(code, id);
220
+ const constStrings = collectTopLevelConstStrings(sourceFile);
221
+ const wrappers = collectImportWrappers(sourceFile);
222
+ collectWrapperCallSpecifiers(sourceFile, wrappers, constStrings);
223
+ const transformableWrappers = Array.from(wrappers.values()).filter((wrapper) => {
224
+ return !wrapper.hasUnsupportedCalls && wrapper.specifiers.size > 0;
225
+ });
226
+ const replacements = [];
227
+ const specifierToIdentifier = new Map;
228
+ function visit(node) {
229
+ if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {
230
+ const containingWrapper = findContainingWrapper(node, transformableWrappers, sourceFile);
231
+ if (containingWrapper && node.arguments.length === 1 && ts.isIdentifier(node.arguments[0]) && node.arguments[0].text === containingWrapper.parameterName) {
232
+ return;
233
+ }
234
+ const [argument] = node.arguments;
235
+ if (!argument) {
236
+ return;
237
+ }
238
+ const specifier = resolveLiteralImportSpecifier(argument, constStrings);
239
+ if (specifier !== null) {
240
+ replacements.push({
241
+ start: node.getStart(sourceFile),
242
+ end: node.getEnd(),
243
+ text: `Promise.resolve(${createImportIdentifier(specifierToIdentifier, specifier)})`
244
+ });
245
+ }
246
+ }
247
+ ts.forEachChild(node, visit);
248
+ }
249
+ visit(sourceFile);
250
+ if (replacements.length === 0 && transformableWrappers.length === 0) {
251
+ return null;
252
+ }
253
+ const s = new MagicString(code);
254
+ for (const replacement of replacements.sort((left, right) => right.start - left.start)) {
255
+ s.overwrite(replacement.start, replacement.end, replacement.text);
256
+ }
257
+ for (const wrapper of transformableWrappers.sort((left, right) => right.bodyStart - left.bodyStart)) {
258
+ s.overwrite(wrapper.bodyStart, wrapper.bodyEnd, buildWrapperBody(wrapper, specifierToIdentifier));
259
+ }
260
+ if (specifierToIdentifier.size > 0) {
261
+ const importBlock = Array.from(specifierToIdentifier.entries()).map(([specifier, identifier]) => `import * as ${identifier} from ${quoteString(specifier)}`).join(`
262
+ `);
263
+ if (code.startsWith("#!")) {
264
+ const newlineIndex = code.indexOf(`
265
+ `);
266
+ if (newlineIndex === -1) {
267
+ s.appendRight(code.length, `
268
+ ${importBlock}
269
+ `);
270
+ } else {
271
+ s.appendLeft(newlineIndex + 1, `${importBlock}
272
+ `);
273
+ }
274
+ } else {
275
+ s.appendLeft(0, `${importBlock}
276
+ `);
277
+ }
278
+ }
279
+ return {
280
+ code: s.toString(),
281
+ map: s.generateMap({
282
+ source: id,
283
+ file: `${id}.map`,
284
+ includeContent: true
285
+ })
286
+ };
287
+ }
288
+ function findDynamicImportCalls(sourceFile) {
289
+ const calls = [];
290
+ function visit(node) {
291
+ if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {
292
+ calls.push(node);
293
+ }
294
+ ts.forEachChild(node, visit);
295
+ }
296
+ visit(sourceFile);
297
+ return calls;
298
+ }
299
+ async function assertWorkerBundleHasNoDynamicImports(bundlePath) {
300
+ const fs = await import("node:fs/promises");
301
+ const code = await fs.readFile(bundlePath, "utf-8");
302
+ const sourceFile = createSourceFile(code, bundlePath);
303
+ const dynamicImports = findDynamicImportCalls(sourceFile);
304
+ if (dynamicImports.length === 0) {
305
+ return;
306
+ }
307
+ const examples = dynamicImports.slice(0, 3).map((callExpression) => {
308
+ const start = callExpression.getStart(sourceFile);
309
+ const { line, character } = sourceFile.getLineAndCharacterOfPosition(start);
310
+ const snippet = code.slice(start, callExpression.getEnd()).replace(/\s+/g, " ").trim();
311
+ return `- ${line + 1}:${character + 1} ${snippet}`;
312
+ }).join(`
313
+ `);
314
+ throw new Error([
315
+ WORKER_DYNAMIC_IMPORT_ERROR,
316
+ `Bundle: ${bundlePath}`,
317
+ `Examples:
318
+ ${examples}`,
319
+ "Devflare can normalize literal import() calls and simple helper wrappers whose call sites are literal strings, but truly runtime-computed specifiers must be converted to static imports for worker bundles."
320
+ ].join(`
321
+
322
+ `));
323
+ }
324
+ function createWorkerDynamicImportPlugin() {
325
+ return {
326
+ name: "devflare-worker-dynamic-imports",
327
+ transform(code, id) {
328
+ const result = transformWorkerDynamicImports(code, id);
329
+ return result ?? null;
330
+ }
331
+ };
332
+ }
333
+
334
+ // src/bundler/rolldown-shared.ts
335
+ var DEFAULT_EXTERNAL_MODULES = [
336
+ /^cloudflare:/,
337
+ /^node:/,
338
+ "buffer",
339
+ "crypto",
340
+ "events",
341
+ "http",
342
+ "https",
343
+ "net",
344
+ "os",
345
+ "path",
346
+ "stream",
347
+ "tls",
348
+ "url",
349
+ "util",
350
+ "zlib",
351
+ "fs",
352
+ "child_process",
353
+ "async_hooks",
354
+ "querystring",
355
+ "string_decoder",
356
+ "assert",
357
+ "dns"
358
+ ];
359
+ function toArray(value) {
360
+ return Array.isArray(value) ? value : [value];
361
+ }
362
+ function matchesExternalPattern(pattern, id) {
363
+ if (pattern instanceof RegExp) {
364
+ pattern.lastIndex = 0;
365
+ return pattern.test(id);
366
+ }
367
+ return pattern === id;
368
+ }
369
+ function matchesExternalOption(option, id, parentId, isResolved) {
370
+ if (!option) {
371
+ return false;
372
+ }
373
+ if (typeof option === "function") {
374
+ return option(id, parentId, isResolved) ?? false;
375
+ }
376
+ return toArray(option).some((pattern) => matchesExternalPattern(pattern, id));
377
+ }
378
+ function mergeExternalOptions(base, user) {
379
+ if (!base) {
380
+ return user;
381
+ }
382
+ if (!user) {
383
+ return base;
384
+ }
385
+ if (typeof base !== "function" && typeof user !== "function") {
386
+ return [...toArray(base), ...toArray(user)];
387
+ }
388
+ return (id, parentId, isResolved) => {
389
+ return matchesExternalOption(base, id, parentId, isResolved) || matchesExternalOption(user, id, parentId, isResolved) || false;
390
+ };
391
+ }
392
+ function mergePluginOptions(base, user) {
393
+ if (!base) {
394
+ return user;
395
+ }
396
+ if (!user) {
397
+ return base;
398
+ }
399
+ return [base, user];
400
+ }
401
+ function aliasKey(find) {
402
+ return find instanceof RegExp ? `re:${find.source}:${find.flags}` : `str:${find}`;
403
+ }
404
+ function normalizeAliasEntries(input) {
405
+ if (!input) {
406
+ return [];
407
+ }
408
+ if (Array.isArray(input)) {
409
+ return input.filter((entry) => {
410
+ return Boolean(entry) && typeof entry.replacement === "string";
411
+ });
412
+ }
413
+ return Object.entries(input).filter(([, replacement]) => typeof replacement === "string").map(([find, replacement]) => ({ find, replacement }));
414
+ }
415
+ function mergeAliases(userAliases, frameworkDefaults) {
416
+ const userKeys = new Set(userAliases.map((entry) => aliasKey(entry.find)));
417
+ const frameworkFiltered = frameworkDefaults.filter((entry) => {
418
+ return !userKeys.has(aliasKey(entry.find));
419
+ });
420
+ const seenUserKeys = new Set;
421
+ const dedupedUser = [];
422
+ for (let index = userAliases.length - 1;index >= 0; index--) {
423
+ const entry = userAliases[index];
424
+ const key = aliasKey(entry.find);
425
+ if (seenUserKeys.has(key)) {
426
+ continue;
427
+ }
428
+ seenUserKeys.add(key);
429
+ dedupedUser.unshift(entry);
430
+ }
431
+ return [...frameworkFiltered, ...dedupedUser];
432
+ }
433
+ function aliasEntriesToRolldownRecord(entries) {
434
+ const record = {};
435
+ for (const entry of entries) {
436
+ if (entry.find instanceof RegExp) {
437
+ continue;
438
+ }
439
+ record[entry.find] = entry.replacement;
440
+ }
441
+ return record;
442
+ }
443
+ function mergeResolveOptions(base, user) {
444
+ if (!base && !user) {
445
+ return;
446
+ }
447
+ const frameworkEntries = normalizeAliasEntries(base?.alias);
448
+ const userEntries = normalizeAliasEntries(user?.alias);
449
+ const mergedEntries = mergeAliases(userEntries, frameworkEntries);
450
+ const mergedAlias = aliasEntriesToRolldownRecord(mergedEntries);
451
+ return {
452
+ ...user ?? {},
453
+ ...base ?? {},
454
+ ...mergedEntries.length > 0 ? { alias: mergedAlias } : {}
455
+ };
456
+ }
457
+ function resolveTsconfigOption(options) {
458
+ if (options.userTsconfig) {
459
+ return { tsconfig: options.userTsconfig };
460
+ }
461
+ const defaultTsconfigPath = resolve(options.cwd, "tsconfig.json");
462
+ if (options.defaultMode === "always" || existsSync(defaultTsconfigPath)) {
463
+ return { tsconfig: defaultTsconfigPath };
464
+ }
465
+ return {};
466
+ }
467
+ async function ensureDebugShim(outDir) {
468
+ const fs = await import("node:fs/promises");
469
+ const debugShimCode = `
470
+ // Debug module shim for local development
471
+ const createDebug = (namespace) => {
472
+ const logger = (...args) => {
473
+ if (createDebug.enabled) console.debug(\`[\${namespace}]\`, ...args)
474
+ }
475
+ logger.enabled = false
476
+ logger.namespace = namespace
477
+ logger.extend = (sub) => createDebug(\`\${namespace}:\${sub}\`)
478
+ return logger
479
+ }
480
+ createDebug.enabled = false
481
+ createDebug.formatters = {}
482
+ export default createDebug
483
+ `;
484
+ const debugShimPath = resolve(outDir, "_debug_shim.js");
485
+ await fs.writeFile(debugShimPath, debugShimCode, "utf-8");
486
+ return debugShimPath;
487
+ }
488
+ function resolveWorkerCompatibleRolldownConfig(options) {
489
+ const {
490
+ output: userOutputOptions,
491
+ input: _ignoredInput,
492
+ cwd: _ignoredCwd,
493
+ platform: _ignoredPlatform,
494
+ target: _ignoredTarget,
495
+ watch: _ignoredWatch,
496
+ external: userExternal,
497
+ plugins: userPlugins,
498
+ resolve: userResolve,
499
+ tsconfig: userTsconfig,
500
+ ...userInputOptions
501
+ } = options.rolldownOptions ?? {};
502
+ const {
503
+ codeSplitting: _ignoredCodeSplitting,
504
+ dir: _ignoredDir,
505
+ file: _ignoredFile,
506
+ format: _ignoredFormat,
507
+ inlineDynamicImports: _ignoredInlineDynamicImports,
508
+ ...safeUserOutputOptions
509
+ } = userOutputOptions ?? {};
510
+ return {
511
+ inputOptions: {
512
+ ...userInputOptions,
513
+ input: options.inputFile,
514
+ cwd: options.cwd,
515
+ platform: options.platform,
516
+ ...resolveTsconfigOption({
517
+ cwd: options.cwd,
518
+ userTsconfig,
519
+ defaultMode: options.defaultTsconfigMode
520
+ }),
521
+ external: mergeExternalOptions(DEFAULT_EXTERNAL_MODULES, userExternal),
522
+ plugins: mergePluginOptions(createWorkerDynamicImportPlugin(), userPlugins),
523
+ resolve: mergeResolveOptions(options.alias ? {
524
+ alias: options.alias
525
+ } : undefined, userResolve)
526
+ },
527
+ outputOptions: {
528
+ ...safeUserOutputOptions,
529
+ file: options.outFile,
530
+ format: "esm",
531
+ sourcemap: safeUserOutputOptions.sourcemap ?? options.sourcemap ?? false,
532
+ minify: safeUserOutputOptions.minify ?? options.minify,
533
+ codeSplitting: false,
534
+ ...options.inlineDynamicImports !== undefined ? { inlineDynamicImports: options.inlineDynamicImports } : {}
535
+ }
536
+ };
537
+ }
538
+ async function writeWorkerCompatibleBundle(options) {
539
+ const { rolldown } = await import("rolldown");
540
+ const bundle = await rolldown(options.inputOptions);
541
+ try {
542
+ await bundle.write(options.outputOptions);
543
+ await assertWorkerBundleHasNoDynamicImports(options.outFile);
544
+ } finally {
545
+ await bundle.close();
546
+ }
547
+ }
548
+
549
+ // src/bundler/worker-bundler.ts
550
+ async function resolveInternalModuleEntry(relativeCandidates) {
551
+ const fs = await import("node:fs/promises");
552
+ const currentFileDir = dirname(fileURLToPath(import.meta.url));
553
+ for (const candidate of relativeCandidates) {
554
+ const absolutePath = resolve2(currentFileDir, candidate);
555
+ try {
556
+ await fs.access(absolutePath);
557
+ return absolutePath;
558
+ } catch {
559
+ continue;
560
+ }
561
+ }
562
+ return null;
563
+ }
564
+ async function resolveInternalAliasMap(outDir) {
565
+ const debugShimPath = await ensureDebugShim(outDir);
566
+ const runtimeEntry = await resolveInternalModuleEntry([
567
+ "../runtime/index.ts",
568
+ "../runtime/index.js"
569
+ ]);
570
+ const packageEntry = await resolveInternalModuleEntry([
571
+ "../browser.ts",
572
+ "../browser.js"
573
+ ]);
574
+ return {
575
+ debug: debugShimPath,
576
+ ...runtimeEntry ? { "devflare/runtime": runtimeEntry } : {},
577
+ ...packageEntry ? { devflare: packageEntry } : {}
578
+ };
579
+ }
580
+ async function bundleWorkerEntry(options) {
581
+ const fs = await import("node:fs/promises");
582
+ const outDir = dirname(options.outFile);
583
+ await fs.mkdir(outDir, { recursive: true });
584
+ await fs.rm(options.outFile, { force: true });
585
+ await fs.rm(`${options.outFile}.map`, { force: true });
586
+ const alias = await resolveInternalAliasMap(outDir);
587
+ const { inputOptions, outputOptions } = resolveWorkerCompatibleRolldownConfig({
588
+ cwd: options.cwd,
589
+ inputFile: options.inputFile,
590
+ outFile: options.outFile,
591
+ alias,
592
+ platform: "browser",
593
+ rolldownOptions: options.rolldownOptions,
594
+ sourcemap: options.sourcemap,
595
+ minify: options.minify,
596
+ defaultTsconfigMode: "if-present"
597
+ });
598
+ options.logger?.debug(`Bundling main worker → ${options.outFile}`);
599
+ await writeWorkerCompatibleBundle({
600
+ inputOptions,
601
+ outputOptions,
602
+ outFile: options.outFile
603
+ });
604
+ return options.outFile;
605
+ }
606
+
607
+ // src/bundler/do-bundler.ts
608
+ import { resolve as resolve3, dirname as dirname2, relative } from "pathe";
609
+ import picomatch from "picomatch";
610
+ function classToBindingName(className) {
611
+ return className.replace(/([a-z0-9])([A-Z])/g, "$1_$2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").toUpperCase();
612
+ }
613
+ async function discoverDOs(cwd, pattern) {
614
+ const discovered = [];
615
+ const files = await discoverDurableObjectFiles(cwd, pattern);
616
+ for (const [filePath, classNames] of files) {
617
+ for (const className of classNames) {
618
+ discovered.push({
619
+ filePath,
620
+ className,
621
+ bindingName: classToBindingName(className)
622
+ });
623
+ }
624
+ }
625
+ return discovered;
626
+ }
627
+ function stripDecoratorSyntax(code) {
628
+ let result = code;
629
+ result = result.replace(/@durableObject\s*\([^)]*\)\s*\n?\s*(?=export\s+class)/g, "");
630
+ result = result.replace(/import\s*\{([^}]*)\bdurableObject\b[^}]*\}\s*from\s*['"]devflare\/runtime['"]\s*;?/g, (match, imports) => {
631
+ const cleanedImports = imports.split(",").map((s) => s.trim()).filter((s) => !s.startsWith("durableObject")).join(", ");
632
+ if (cleanedImports.trim() === "") {
633
+ return "";
634
+ }
635
+ return `import { ${cleanedImports} } from 'devflare/runtime'`;
636
+ });
637
+ return result;
638
+ }
639
+ async function bundleDOFile(sourcePath, className, outDir, cwd, bundleOptions) {
640
+ const fs = await import("node:fs/promises");
641
+ await fs.mkdir(outDir, { recursive: true });
642
+ const sourceCode = await fs.readFile(sourcePath, "utf-8");
643
+ const transformedCode = (await transformDurableObject(sourceCode, sourcePath))?.code ?? stripDecoratorSyntax(sourceCode);
644
+ const entryCode = `${transformedCode}
645
+
646
+ // Default export for worker (required by Miniflare)
647
+ export default {
648
+ async fetch(request) {
649
+ return new Response('DO Worker for ${className}', { status: 200 });
650
+ }
651
+ };
652
+ `;
653
+ const virtualEntryId = resolve3(dirname2(sourcePath), `.devflare-do-${className}.virtual.ts`);
654
+ const classOutDir = resolve3(outDir, className);
655
+ try {
656
+ await fs.rm(classOutDir, { recursive: true, force: true });
657
+ } catch {}
658
+ await fs.mkdir(classOutDir, { recursive: true });
659
+ const debugShimPath = await ensureDebugShim(outDir);
660
+ const virtualEntryPlugin = {
661
+ name: "devflare-do-virtual-entry",
662
+ resolveId(id) {
663
+ if (id === virtualEntryId) {
664
+ return virtualEntryId;
665
+ }
666
+ return null;
667
+ },
668
+ load(id) {
669
+ if (id === virtualEntryId) {
670
+ return entryCode;
671
+ }
672
+ return null;
673
+ }
674
+ };
675
+ const userRolldownOptions = bundleOptions?.rolldownOptions;
676
+ const userPlugins = userRolldownOptions?.plugins;
677
+ const mergedPlugins = userPlugins === undefined ? [virtualEntryPlugin] : Array.isArray(userPlugins) ? [virtualEntryPlugin, ...userPlugins] : [virtualEntryPlugin, userPlugins];
678
+ const outFile = resolve3(classOutDir, "index.js");
679
+ const { inputOptions, outputOptions } = resolveWorkerCompatibleRolldownConfig({
680
+ cwd,
681
+ inputFile: virtualEntryId,
682
+ outFile,
683
+ platform: "neutral",
684
+ alias: {
685
+ debug: debugShimPath
686
+ },
687
+ rolldownOptions: {
688
+ ...userRolldownOptions,
689
+ plugins: mergedPlugins
690
+ },
691
+ sourcemap: bundleOptions?.sourcemap,
692
+ minify: bundleOptions?.minify,
693
+ inlineDynamicImports: true,
694
+ defaultTsconfigMode: "always"
695
+ });
696
+ await writeWorkerCompatibleBundle({
697
+ inputOptions,
698
+ outputOptions,
699
+ outFile
700
+ });
701
+ return resolve3(classOutDir, "index.js");
702
+ }
703
+ async function bundleAllDOs(discovered, outDir, cwd, logger, bundleOptions) {
704
+ const fs = await import("node:fs/promises");
705
+ const bundles = new Map;
706
+ const classes = new Map;
707
+ const sourceFiles = new Map;
708
+ const errors = [];
709
+ for (const do_ of discovered) {
710
+ const existing = sourceFiles.get(do_.filePath) || [];
711
+ existing.push(do_.className);
712
+ sourceFiles.set(do_.filePath, existing);
713
+ }
714
+ for (const do_ of discovered) {
715
+ try {
716
+ logger?.debug(`Bundling ${do_.className} from ${do_.filePath}`);
717
+ const outFile = await bundleDOFile(do_.filePath, do_.className, outDir, cwd, bundleOptions);
718
+ bundles.set(do_.bindingName, outFile);
719
+ classes.set(do_.bindingName, do_.className);
720
+ logger?.debug(` → ${outFile}`);
721
+ } catch (error) {
722
+ const err = error instanceof Error ? error : new Error(String(error));
723
+ errors.push(err);
724
+ logger?.error(`Failed to bundle ${do_.className}:`, err.message);
725
+ }
726
+ }
727
+ return { bundles, classes, sourceFiles, errors };
728
+ }
729
+ function createDOBundler(options) {
730
+ const { cwd, pattern, outDir, logger, onRebuild, rolldownOptions, sourcemap, minify } = options;
731
+ let result = {
732
+ bundles: new Map,
733
+ classes: new Map,
734
+ sourceFiles: new Map,
735
+ errors: []
736
+ };
737
+ let watcher = null;
738
+ let chokidarWatcher = null;
739
+ async function build() {
740
+ const discovered = await discoverDOs(cwd, pattern);
741
+ if (discovered.length === 0) {
742
+ logger?.debug("No DOs found matching pattern:", pattern);
743
+ return result;
744
+ }
745
+ logger?.info(`Found ${discovered.length} Durable Object(s)`);
746
+ for (const do_ of discovered) {
747
+ logger?.info(` • ${do_.className} → ${do_.bindingName}`);
748
+ }
749
+ result = await bundleAllDOs(discovered, outDir, cwd, logger, {
750
+ rolldownOptions,
751
+ sourcemap,
752
+ minify
753
+ });
754
+ if (result.errors.length === 0) {
755
+ logger?.success(`Bundled ${result.bundles.size} DO(s) to ${outDir}`);
756
+ }
757
+ return result;
758
+ }
759
+ async function watch() {
760
+ const chokidar = await import("chokidar");
761
+ const files = await findFiles(pattern, { cwd });
762
+ let dirsToWatch;
763
+ if (files.length > 0) {
764
+ dirsToWatch = [...new Set(files.map((f) => dirname2(f)))];
765
+ } else {
766
+ const patternDir = dirname2(pattern);
767
+ const absolutePatternDir = resolve3(cwd, patternDir === "." ? "" : patternDir) || cwd;
768
+ dirsToWatch = [absolutePatternDir];
769
+ logger?.debug(`No DO files yet, watching pattern directory: ${absolutePatternDir}`);
770
+ }
771
+ logger?.info(`Watching ${files.length} DO file(s) in ${dirsToWatch.length} director(ies)...`);
772
+ const isWindows = process.platform === "win32";
773
+ chokidarWatcher = chokidar.watch(dirsToWatch, {
774
+ ignoreInitial: true,
775
+ usePolling: isWindows,
776
+ interval: isWindows ? 300 : undefined,
777
+ awaitWriteFinish: {
778
+ stabilityThreshold: 100,
779
+ pollInterval: 50
780
+ },
781
+ depth: 0
782
+ });
783
+ const normalizePath = (p) => {
784
+ let normalized = p.replace(/\\/g, "/");
785
+ if (isWindows && /^[a-zA-Z]:/.test(normalized)) {
786
+ normalized = normalized[0].toLowerCase() + normalized.slice(1);
787
+ }
788
+ return normalized;
789
+ };
790
+ const isMatch = picomatch(pattern, {
791
+ dot: true,
792
+ matchBase: false
793
+ });
794
+ const matchesPattern = (filePath) => {
795
+ const normalizedPath = normalizePath(filePath);
796
+ const relativePath = relative(normalizePath(cwd), normalizedPath);
797
+ return isMatch(relativePath);
798
+ };
799
+ let isRebuilding = false;
800
+ let pendingRebuild = null;
801
+ let rebuildTimeout = null;
802
+ const scheduleRebuild = (changedPath) => {
803
+ if (rebuildTimeout) {
804
+ clearTimeout(rebuildTimeout);
805
+ }
806
+ rebuildTimeout = setTimeout(() => {
807
+ triggerRebuild(changedPath);
808
+ }, 150);
809
+ };
810
+ const triggerRebuild = async (changedPath) => {
811
+ if (isRebuilding) {
812
+ pendingRebuild = changedPath;
813
+ logger?.debug(`Rebuild already in progress, queuing: ${changedPath}`);
814
+ return;
815
+ }
816
+ isRebuilding = true;
817
+ try {
818
+ logger?.info(`DO file changed: ${changedPath}`);
819
+ logger?.info("Rebuilding DOs...");
820
+ const startTime = Date.now();
821
+ result = await build();
822
+ const elapsed = Date.now() - startTime;
823
+ logger?.success(`DO rebuild complete (${elapsed}ms)`);
824
+ await onRebuild?.(result);
825
+ } catch (error) {
826
+ logger?.error("DO rebuild failed:", error);
827
+ } finally {
828
+ isRebuilding = false;
829
+ if (pendingRebuild) {
830
+ const nextPath = pendingRebuild;
831
+ pendingRebuild = null;
832
+ triggerRebuild(nextPath);
833
+ }
834
+ }
835
+ };
836
+ chokidarWatcher.on("change", (filePath) => {
837
+ if (matchesPattern(filePath)) {
838
+ logger?.debug(`File changed: ${filePath}`);
839
+ scheduleRebuild(filePath);
840
+ }
841
+ });
842
+ chokidarWatcher.on("add", (filePath) => {
843
+ if (matchesPattern(filePath)) {
844
+ logger?.debug(`File added: ${filePath}`);
845
+ scheduleRebuild(filePath);
846
+ }
847
+ });
848
+ chokidarWatcher.on("unlink", (filePath) => {
849
+ if (matchesPattern(filePath)) {
850
+ logger?.debug(`File removed: ${filePath}`);
851
+ scheduleRebuild(filePath);
852
+ }
853
+ });
854
+ chokidarWatcher.on("ready", () => {
855
+ logger?.info("DO file watcher ready");
856
+ });
857
+ chokidarWatcher.on("error", (error) => {
858
+ logger?.error("DO file watcher error:", error);
859
+ });
860
+ }
861
+ async function close() {
862
+ if (watcher) {
863
+ await watcher.close();
864
+ watcher = null;
865
+ }
866
+ if (chokidarWatcher) {
867
+ await chokidarWatcher.close();
868
+ chokidarWatcher = null;
869
+ }
870
+ }
871
+ function getResult() {
872
+ return result;
873
+ }
874
+ return {
875
+ build,
876
+ watch,
877
+ close,
878
+ getResult
879
+ };
880
+ }
881
+ export { createDOBundler, bundleWorkerEntry };