devflare 1.0.0-next.14 → 1.0.0-next.16

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 (380) hide show
  1. package/LLM.md +9360 -1784
  2. package/README.md +391 -32
  3. package/bin/devflare.js +17 -7
  4. package/dist/account-0w8wdzjv.js +475 -0
  5. package/dist/account-eygq6qx7.js +475 -0
  6. package/dist/account-fw8nafav.js +475 -0
  7. package/dist/account-pzq69nys.js +475 -0
  8. package/dist/account-s66jb15j.js +475 -0
  9. package/dist/api-d6ekexs5.js +25 -0
  10. package/dist/bridge/index.d.ts +1 -1
  11. package/dist/bridge/index.d.ts.map +1 -1
  12. package/dist/bridge/miniflare.d.ts.map +1 -1
  13. package/dist/bridge/protocol.d.ts +1 -1
  14. package/dist/bridge/protocol.d.ts.map +1 -1
  15. package/dist/bridge/proxy.d.ts +0 -4
  16. package/dist/bridge/proxy.d.ts.map +1 -1
  17. package/dist/bridge/serialization.d.ts.map +1 -1
  18. package/dist/bridge/server.d.ts +1 -1
  19. package/dist/bridge/server.d.ts.map +1 -1
  20. package/dist/browser-shim/handler.d.ts +1 -1
  21. package/dist/browser-shim/handler.d.ts.map +1 -1
  22. package/dist/browser.d.ts +1651 -34
  23. package/dist/browser.d.ts.map +1 -1
  24. package/dist/build-1kmkwqgh.js +53 -0
  25. package/dist/build-506kjhcm.js +53 -0
  26. package/dist/build-66866ahs.js +53 -0
  27. package/dist/build-g1adm3ww.js +53 -0
  28. package/dist/build-p3r3117t.js +53 -0
  29. package/dist/bundler/do-bundler.d.ts.map +1 -1
  30. package/dist/bundler/rolldown-shared.d.ts +24 -0
  31. package/dist/bundler/rolldown-shared.d.ts.map +1 -0
  32. package/dist/bundler/worker-bundler.d.ts +0 -1
  33. package/dist/bundler/worker-bundler.d.ts.map +1 -1
  34. package/dist/cli/command-utils.d.ts +18 -0
  35. package/dist/cli/command-utils.d.ts.map +1 -0
  36. package/dist/cli/commands/account.d.ts +1 -1
  37. package/dist/cli/commands/account.d.ts.map +1 -1
  38. package/dist/cli/commands/build-artifacts.d.ts +27 -0
  39. package/dist/cli/commands/build-artifacts.d.ts.map +1 -0
  40. package/dist/cli/commands/build.d.ts.map +1 -1
  41. package/dist/cli/commands/config.d.ts +4 -0
  42. package/dist/cli/commands/config.d.ts.map +1 -0
  43. package/dist/cli/commands/deploy.d.ts.map +1 -1
  44. package/dist/cli/commands/dev.d.ts.map +1 -1
  45. package/dist/cli/commands/doctor.d.ts.map +1 -1
  46. package/dist/cli/commands/init.d.ts.map +1 -1
  47. package/dist/cli/commands/login.d.ts +4 -0
  48. package/dist/cli/commands/login.d.ts.map +1 -0
  49. package/dist/cli/commands/previews-support/cleanup.d.ts +9 -0
  50. package/dist/cli/commands/previews-support/cleanup.d.ts.map +1 -0
  51. package/dist/cli/commands/previews-support/family.d.ts +10 -0
  52. package/dist/cli/commands/previews-support/family.d.ts.map +1 -0
  53. package/dist/cli/commands/previews-support/render.d.ts +8 -0
  54. package/dist/cli/commands/previews-support/render.d.ts.map +1 -0
  55. package/dist/cli/commands/previews-support/theme.d.ts +10 -0
  56. package/dist/cli/commands/previews-support/theme.d.ts.map +1 -0
  57. package/dist/cli/commands/previews-support/types.d.ts +70 -0
  58. package/dist/cli/commands/previews-support/types.d.ts.map +1 -0
  59. package/dist/cli/commands/previews.d.ts +4 -0
  60. package/dist/cli/commands/previews.d.ts.map +1 -0
  61. package/dist/cli/commands/productions.d.ts +4 -0
  62. package/dist/cli/commands/productions.d.ts.map +1 -0
  63. package/dist/cli/commands/token.d.ts +4 -0
  64. package/dist/cli/commands/token.d.ts.map +1 -0
  65. package/dist/cli/commands/type-generation/discovery.d.ts +7 -0
  66. package/dist/cli/commands/type-generation/discovery.d.ts.map +1 -0
  67. package/dist/cli/commands/type-generation/generator.d.ts +44 -0
  68. package/dist/cli/commands/type-generation/generator.d.ts.map +1 -0
  69. package/dist/cli/commands/type-generation/models.d.ts +27 -0
  70. package/dist/cli/commands/type-generation/models.d.ts.map +1 -0
  71. package/dist/cli/commands/types.d.ts.map +1 -1
  72. package/dist/cli/commands/worker.d.ts +4 -0
  73. package/dist/cli/commands/worker.d.ts.map +1 -0
  74. package/dist/cli/config-path.d.ts +2 -1
  75. package/dist/cli/config-path.d.ts.map +1 -1
  76. package/dist/cli/deploy-strategy.d.ts +17 -0
  77. package/dist/cli/deploy-strategy.d.ts.map +1 -0
  78. package/dist/cli/deploy-target.d.ts +17 -0
  79. package/dist/cli/deploy-target.d.ts.map +1 -0
  80. package/dist/cli/generated-artifacts.d.ts +12 -0
  81. package/dist/cli/generated-artifacts.d.ts.map +1 -0
  82. package/dist/cli/help-pages/pages/account.d.ts +3 -0
  83. package/dist/cli/help-pages/pages/account.d.ts.map +1 -0
  84. package/dist/cli/help-pages/pages/core.d.ts +4 -0
  85. package/dist/cli/help-pages/pages/core.d.ts.map +1 -0
  86. package/dist/cli/help-pages/pages/index.d.ts +3 -0
  87. package/dist/cli/help-pages/pages/index.d.ts.map +1 -0
  88. package/dist/cli/help-pages/pages/misc.d.ts +3 -0
  89. package/dist/cli/help-pages/pages/misc.d.ts.map +1 -0
  90. package/dist/cli/help-pages/pages/previews.d.ts +3 -0
  91. package/dist/cli/help-pages/pages/previews.d.ts.map +1 -0
  92. package/dist/cli/help-pages/pages/productions.d.ts +3 -0
  93. package/dist/cli/help-pages/pages/productions.d.ts.map +1 -0
  94. package/dist/cli/help-pages/render.d.ts +12 -0
  95. package/dist/cli/help-pages/render.d.ts.map +1 -0
  96. package/dist/cli/help-pages/shared.d.ts +15 -0
  97. package/dist/cli/help-pages/shared.d.ts.map +1 -0
  98. package/dist/cli/help-pages/types.d.ts +23 -0
  99. package/dist/cli/help-pages/types.d.ts.map +1 -0
  100. package/dist/cli/help.d.ts +6 -0
  101. package/dist/cli/help.d.ts.map +1 -0
  102. package/dist/cli/index.d.ts +1 -0
  103. package/dist/cli/index.d.ts.map +1 -1
  104. package/dist/cli/preview-bindings.d.ts +42 -0
  105. package/dist/cli/preview-bindings.d.ts.map +1 -0
  106. package/dist/cli/preview.d.ts +11 -0
  107. package/dist/cli/preview.d.ts.map +1 -0
  108. package/dist/cli/ui.d.ts +37 -0
  109. package/dist/cli/ui.d.ts.map +1 -0
  110. package/dist/cli/workspace-build-guard.d.ts +14 -0
  111. package/dist/cli/workspace-build-guard.d.ts.map +1 -0
  112. package/dist/cloudflare/account-core.d.ts +6 -0
  113. package/dist/cloudflare/account-core.d.ts.map +1 -0
  114. package/dist/cloudflare/account-resources.d.ts +40 -0
  115. package/dist/cloudflare/account-resources.d.ts.map +1 -0
  116. package/dist/cloudflare/account-status.d.ts +11 -0
  117. package/dist/cloudflare/account-status.d.ts.map +1 -0
  118. package/dist/cloudflare/account-workers.d.ts +14 -0
  119. package/dist/cloudflare/account-workers.d.ts.map +1 -0
  120. package/dist/cloudflare/account.d.ts +7 -64
  121. package/dist/cloudflare/account.d.ts.map +1 -1
  122. package/dist/cloudflare/api.d.ts +4 -0
  123. package/dist/cloudflare/api.d.ts.map +1 -1
  124. package/dist/cloudflare/index.d.ts +57 -2
  125. package/dist/cloudflare/index.d.ts.map +1 -1
  126. package/dist/cloudflare/kv-namespace.d.ts +3 -0
  127. package/dist/cloudflare/kv-namespace.d.ts.map +1 -0
  128. package/dist/cloudflare/preferences.d.ts.map +1 -1
  129. package/dist/cloudflare/preview-registry-cache.d.ts +6 -0
  130. package/dist/cloudflare/preview-registry-cache.d.ts.map +1 -0
  131. package/dist/cloudflare/preview-registry-records.d.ts +61 -0
  132. package/dist/cloudflare/preview-registry-records.d.ts.map +1 -0
  133. package/dist/cloudflare/preview-registry-store.d.ts +14 -0
  134. package/dist/cloudflare/preview-registry-store.d.ts.map +1 -0
  135. package/dist/cloudflare/preview-registry-types.d.ts +103 -0
  136. package/dist/cloudflare/preview-registry-types.d.ts.map +1 -0
  137. package/dist/cloudflare/preview-registry.d.ts +42 -0
  138. package/dist/cloudflare/preview-registry.d.ts.map +1 -0
  139. package/dist/cloudflare/registry-schema.d.ts +253 -0
  140. package/dist/cloudflare/registry-schema.d.ts.map +1 -0
  141. package/dist/cloudflare/tokens.d.ts +18 -0
  142. package/dist/cloudflare/tokens.d.ts.map +1 -0
  143. package/dist/cloudflare/types.d.ts +122 -5
  144. package/dist/cloudflare/types.d.ts.map +1 -1
  145. package/dist/cloudflare/usage.d.ts.map +1 -1
  146. package/dist/config/compiler.d.ts +4 -0
  147. package/dist/config/compiler.d.ts.map +1 -1
  148. package/dist/config/framework-providers.d.ts +9 -0
  149. package/dist/config/framework-providers.d.ts.map +1 -0
  150. package/dist/config/index.d.ts +5 -3
  151. package/dist/config/index.d.ts.map +1 -1
  152. package/dist/config/loader.d.ts +1 -0
  153. package/dist/config/loader.d.ts.map +1 -1
  154. package/dist/config/preview-resources.d.ts +77 -0
  155. package/dist/config/preview-resources.d.ts.map +1 -0
  156. package/dist/config/preview.d.ts +31 -0
  157. package/dist/config/preview.d.ts.map +1 -0
  158. package/dist/config/ref.d.ts +0 -22
  159. package/dist/config/ref.d.ts.map +1 -1
  160. package/dist/config/resolve.d.ts +1 -0
  161. package/dist/config/resolve.d.ts.map +1 -1
  162. package/dist/config/resource-resolution.d.ts +60 -0
  163. package/dist/config/resource-resolution.d.ts.map +1 -0
  164. package/dist/config/schema-bindings.d.ts +693 -0
  165. package/dist/config/schema-bindings.d.ts.map +1 -0
  166. package/dist/config/schema-build.d.ts +67 -0
  167. package/dist/config/schema-build.d.ts.map +1 -0
  168. package/dist/config/schema-env.d.ts +1341 -0
  169. package/dist/config/schema-env.d.ts.map +1 -0
  170. package/dist/config/schema-normalization.d.ts +64 -0
  171. package/dist/config/schema-normalization.d.ts.map +1 -0
  172. package/dist/config/schema-runtime.d.ts +230 -0
  173. package/dist/config/schema-runtime.d.ts.map +1 -0
  174. package/dist/config/schema.d.ts +640 -3669
  175. package/dist/config/schema.d.ts.map +1 -1
  176. package/dist/config-entry.d.ts +5 -0
  177. package/dist/config-entry.d.ts.map +1 -0
  178. package/dist/config-fjwke42y.js +59 -0
  179. package/dist/config-hwdqjse7.js +59 -0
  180. package/dist/config-pxvewrhv.js +59 -0
  181. package/dist/config-q0g5qdga.js +59 -0
  182. package/dist/decorators/durable-object.d.ts.map +1 -1
  183. package/dist/deploy-7nmzc9r8.js +609 -0
  184. package/dist/deploy-csfhdr64.js +691 -0
  185. package/dist/deploy-ex4g5avz.js +621 -0
  186. package/dist/deploy-jnb0bhka.js +609 -0
  187. package/dist/deploy-tp0g6qdp.js +609 -0
  188. package/dist/deploy-ykpcjkc2.js +690 -0
  189. package/dist/{dev-c1xc1gq9.js → dev-2pd33m28.js} +392 -348
  190. package/dist/dev-7ef5e2j1.js +2409 -0
  191. package/dist/dev-8nssqatr.js +2409 -0
  192. package/dist/dev-grznx8fn.js +2409 -0
  193. package/dist/dev-server/d1-migrations.d.ts +14 -0
  194. package/dist/dev-server/d1-migrations.d.ts.map +1 -0
  195. package/dist/dev-server/gateway-script.d.ts +8 -0
  196. package/dist/dev-server/gateway-script.d.ts.map +1 -0
  197. package/dist/dev-server/runtime-stdio.d.ts.map +1 -1
  198. package/dist/dev-server/server.d.ts.map +1 -1
  199. package/dist/dev-server/vite-process.d.ts +14 -0
  200. package/dist/dev-server/vite-process.d.ts.map +1 -0
  201. package/dist/dev-server/vite-utils.d.ts +1 -1
  202. package/dist/dev-server/vite-utils.d.ts.map +1 -1
  203. package/dist/dev-server/worker-source-watcher.d.ts +11 -0
  204. package/dist/dev-server/worker-source-watcher.d.ts.map +1 -0
  205. package/dist/dev-server/worker-surface-paths.d.ts +6 -0
  206. package/dist/dev-server/worker-surface-paths.d.ts.map +1 -0
  207. package/dist/{doctor-z4ffybce.js → doctor-04ammrrh.js} +67 -31
  208. package/dist/doctor-fmjj65mc.js +245 -0
  209. package/dist/doctor-fzkznce1.js +245 -0
  210. package/dist/doctor-sa5xv1bz.js +245 -0
  211. package/dist/index-091sh1ma.js +1229 -0
  212. package/dist/index-0apbm26n.js +788 -0
  213. package/dist/index-0eqksag4.js +418 -0
  214. package/dist/{index-dr6sbp8d.js → index-0kfzdywd.js} +15 -2
  215. package/dist/index-0w826dsr.js +379 -0
  216. package/dist/{index-rfhx0yd5.js → index-11m5a8wd.js} +110 -32
  217. package/dist/{index-xxwbb2nt.js → index-1sp39f2f.js} +114 -58
  218. package/dist/index-2jnrqbny.js +1301 -0
  219. package/dist/index-2pb7b9mw.js +378 -0
  220. package/dist/{index-0kzg8wed.js → index-2x53aqjm.js} +1071 -890
  221. package/dist/index-3ke5d2vn.js +1229 -0
  222. package/dist/index-43dq8yx8.js +788 -0
  223. package/dist/index-4rrttqj5.js +378 -0
  224. package/dist/index-4v9bc2pc.js +1367 -0
  225. package/dist/index-61jsjnsv.js +280 -0
  226. package/dist/index-6jef5emv.js +176 -0
  227. package/dist/index-6psz1h4c.js +788 -0
  228. package/dist/index-72mve6vh.js +168 -0
  229. package/dist/{index-zbvmtcn2.js → index-74198nxd.js} +179 -77
  230. package/dist/index-7g8zyws4.js +192 -0
  231. package/dist/index-7kcxjhta.js +456 -0
  232. package/dist/index-7v583xan.js +418 -0
  233. package/dist/index-7x0ybbtx.js +133 -0
  234. package/dist/index-816krz9p.js +52 -0
  235. package/dist/index-82f1z98k.js +41 -0
  236. package/dist/index-8t5nb4qx.js +133 -0
  237. package/dist/index-9az6s7ad.js +52 -0
  238. package/dist/{index-59df49vn.js → index-9ba1etyz.js} +29 -51
  239. package/dist/{index-001mw014.js → index-9fbtk7gv.js} +134 -248
  240. package/dist/index-9n6djthj.js +490 -0
  241. package/dist/index-aabgympv.js +39 -0
  242. package/dist/index-b8m6883k.js +74 -0
  243. package/dist/{index-5yxg30va.js → index-cgbvmse6.js} +15 -6
  244. package/dist/index-d8etnfef.js +1229 -0
  245. package/dist/index-e9yw4d6y.js +133 -0
  246. package/dist/index-epw1jxz5.js +1204 -0
  247. package/dist/index-f85s8gj3.js +2649 -0
  248. package/dist/index-fe2ngvh7.js +1229 -0
  249. package/dist/index-fvsadj32.js +192 -0
  250. package/dist/index-gs4y9gdf.js +456 -0
  251. package/dist/{index-fef08w43.js → index-h18pxvzs.js} +7 -6
  252. package/dist/index-hfj1a2c4.js +2649 -0
  253. package/dist/{index-8gtqgb3q.js → index-hjy8ctpc.js} +14 -92
  254. package/dist/index-htzf0py1.js +1204 -0
  255. package/dist/index-j185x270.js +897 -0
  256. package/dist/index-jb75kwa4.js +519 -0
  257. package/dist/index-jwd8pcb2.js +897 -0
  258. package/dist/index-k29yjhv0.js +52 -0
  259. package/dist/index-k6vq6kkt.js +456 -0
  260. package/dist/{index-vky23txa.js → index-m3fmw6mx.js} +2 -2
  261. package/dist/index-maxpsfk8.js +402 -0
  262. package/dist/index-mbdmrner.js +402 -0
  263. package/dist/index-mea5bc45.js +418 -0
  264. package/dist/index-mqekt778.js +185 -0
  265. package/dist/index-na3mnm1k.js +74 -0
  266. package/dist/index-p03n4qet.js +1367 -0
  267. package/dist/index-p296ban8.js +191 -0
  268. package/dist/index-pnbs1b8k.js +280 -0
  269. package/dist/index-q4kaz181.js +1207 -0
  270. package/dist/index-ry131z23.js +378 -0
  271. package/dist/index-sgb7c8nm.js +402 -0
  272. package/dist/index-sqrksgb2.js +133 -0
  273. package/dist/index-stgn34cr.js +148 -0
  274. package/dist/{index-v8vvsn9x.js → index-t08te69w.js} +1 -18
  275. package/dist/index-thna1tkd.js +280 -0
  276. package/dist/index-v5nmqthy.js +74 -0
  277. package/dist/{index-n932ytmq.js → index-vt4yxkmf.js} +2 -2
  278. package/dist/index-wyq6c6yj.js +402 -0
  279. package/dist/index-wztc9stx.js +418 -0
  280. package/dist/index-x9cwdxw5.js +456 -0
  281. package/dist/index-xk9djfjp.js +519 -0
  282. package/dist/index-yc0gcchc.js +418 -0
  283. package/dist/index-yqbxjysa.js +897 -0
  284. package/dist/index-yzddwp02.js +788 -0
  285. package/dist/index-zfhq6s96.js +74 -0
  286. package/dist/index-zt22fe2j.js +54 -0
  287. package/dist/index-zyt5byt6.js +2649 -0
  288. package/dist/index.d.ts +2 -2
  289. package/dist/index.d.ts.map +1 -1
  290. package/dist/{init-na2atvz2.js → init-r4hnxan3.js} +24 -17
  291. package/dist/login-2hnz4m4n.js +77 -0
  292. package/dist/login-5bsxxpvc.js +77 -0
  293. package/dist/login-6tzvczw2.js +77 -0
  294. package/dist/login-bhaw72zc.js +77 -0
  295. package/dist/login-x8tgckqm.js +77 -0
  296. package/dist/previews-3rn8mz2c.js +1168 -0
  297. package/dist/previews-d487qde5.js +1200 -0
  298. package/dist/previews-gm3z0syj.js +1168 -0
  299. package/dist/previews-j9ymq4ys.js +1169 -0
  300. package/dist/previews-q031mx34.js +1168 -0
  301. package/dist/productions-120xg0aq.js +505 -0
  302. package/dist/productions-5ev5qweg.js +505 -0
  303. package/dist/productions-me3tdvr9.js +505 -0
  304. package/dist/productions-p5rbgp2f.js +505 -0
  305. package/dist/productions-x9p0pym1.js +505 -0
  306. package/dist/runtime/context-events.d.ts +13 -0
  307. package/dist/runtime/context-events.d.ts.map +1 -0
  308. package/dist/runtime/context-types.d.ts +82 -0
  309. package/dist/runtime/context-types.d.ts.map +1 -0
  310. package/dist/runtime/context.d.ts +6 -267
  311. package/dist/runtime/context.d.ts.map +1 -1
  312. package/dist/runtime/exports.d.ts +3 -3
  313. package/dist/runtime/index.d.ts +1 -1
  314. package/dist/runtime/index.d.ts.map +1 -1
  315. package/dist/runtime/middleware.d.ts +8 -38
  316. package/dist/runtime/middleware.d.ts.map +1 -1
  317. package/dist/src/browser.js +23 -14
  318. package/dist/src/cli/index.js +3 -1
  319. package/dist/src/cloudflare/index.js +49 -2
  320. package/dist/src/config-entry.js +14 -0
  321. package/dist/src/index.js +33 -20
  322. package/dist/src/runtime/index.js +3 -9
  323. package/dist/src/sveltekit/index.js +10 -7
  324. package/dist/src/test/index.js +16 -18
  325. package/dist/src/vite/index.js +7 -4
  326. package/dist/sveltekit/platform.d.ts +1 -1
  327. package/dist/sveltekit/platform.d.ts.map +1 -1
  328. package/dist/test/cf.d.ts +10 -10
  329. package/dist/test/email.d.ts.map +1 -1
  330. package/dist/test/index.d.ts +1 -6
  331. package/dist/test/index.d.ts.map +1 -1
  332. package/dist/test/queue.d.ts.map +1 -1
  333. package/dist/test/remote-ai.d.ts.map +1 -1
  334. package/dist/test/remote-cloudflare.d.ts +13 -0
  335. package/dist/test/remote-cloudflare.d.ts.map +1 -0
  336. package/dist/test/remote-vectorize.d.ts.map +1 -1
  337. package/dist/test/resolve-service-bindings.d.ts.map +1 -1
  338. package/dist/test/scheduled.d.ts.map +1 -1
  339. package/dist/test/should-skip.d.ts +0 -18
  340. package/dist/test/should-skip.d.ts.map +1 -1
  341. package/dist/test/simple-context-durable-objects.d.ts +6 -0
  342. package/dist/test/simple-context-durable-objects.d.ts.map +1 -0
  343. package/dist/test/simple-context-gateway-script.d.ts +2 -0
  344. package/dist/test/simple-context-gateway-script.d.ts.map +1 -0
  345. package/dist/test/simple-context-paths.d.ts +40 -0
  346. package/dist/test/simple-context-paths.d.ts.map +1 -0
  347. package/dist/test/simple-context.d.ts +1 -23
  348. package/dist/test/simple-context.d.ts.map +1 -1
  349. package/dist/test/tail.d.ts.map +1 -1
  350. package/dist/test/worker.d.ts.map +1 -1
  351. package/dist/token-kedhcret.js +419 -0
  352. package/dist/token-m8jmnjwk.js +419 -0
  353. package/dist/{types-sffr9681.js → types-0sqwkp7x.js} +244 -139
  354. package/dist/types-1gwr2ex6.js +572 -0
  355. package/dist/types-6e5yx6km.js +572 -0
  356. package/dist/types-p0gckpn6.js +572 -0
  357. package/dist/utils/send-email.d.ts.map +1 -1
  358. package/dist/vite/config-file.d.ts.map +1 -1
  359. package/dist/vite/plugin.d.ts.map +1 -1
  360. package/dist/worker-0srh2jfr.js +513 -0
  361. package/dist/worker-4xrfd10a.js +513 -0
  362. package/dist/worker-entry/composed-worker.d.ts +0 -7
  363. package/dist/worker-entry/composed-worker.d.ts.map +1 -1
  364. package/dist/worker-entry/surface-paths.d.ts +15 -0
  365. package/dist/worker-entry/surface-paths.d.ts.map +1 -0
  366. package/dist/worker-qtam8grz.js +513 -0
  367. package/dist/worker-qzm0b7br.js +513 -0
  368. package/dist/worker-y9ha6g44.js +513 -0
  369. package/package.json +17 -10
  370. package/R2.md +0 -200
  371. package/dist/account-8psavtg6.js +0 -420
  372. package/dist/build-n639efmn.js +0 -101
  373. package/dist/deploy-zvnq6xh7.js +0 -117
  374. package/dist/index-2q3pmzrx.js +0 -90
  375. package/dist/index-f4q0jbnj.js +0 -195
  376. package/dist/index-n7rs26ft.js +0 -77
  377. package/dist/index-tfyxa77h.js +0 -850
  378. package/dist/index-wyf3s77s.js +0 -343
  379. package/dist/test/multi-worker-context.d.ts +0 -114
  380. package/dist/test/multi-worker-context.d.ts.map +0 -1
@@ -0,0 +1,490 @@
1
+ import {
2
+ createFetchEvent,
3
+ getContextOrNull,
4
+ runWithEventContext
5
+ } from "./index-cgbvmse6.js";
6
+
7
+ // src/runtime/validation.ts
8
+ class ContextAccessError extends Error {
9
+ contextName;
10
+ propertyName;
11
+ constructor(contextName, propertyName) {
12
+ super(`Cannot access ${contextName}.${propertyName} outside of an active Devflare handler trail.
13
+
14
+ ` + `This typically happens when:
15
+ ` + ` 1. Accessing ${contextName} at module top-level (during import)
16
+ ` + ` 2. Accessing ${contextName} in a callback that runs after the handler ends
17
+ ` + ` 3. Accessing ${contextName} in a setTimeout/setInterval callback
18
+
19
+ ` + `Move the access inside your handler function or middleware.`);
20
+ this.name = "ContextAccessError";
21
+ this.contextName = contextName;
22
+ this.propertyName = propertyName;
23
+ }
24
+ }
25
+ function createContextProxy(getter, name) {
26
+ return new Proxy({}, {
27
+ get(_target, prop) {
28
+ const ctx = getter();
29
+ if (ctx === undefined) {
30
+ throw new ContextAccessError(name, String(prop));
31
+ }
32
+ return ctx[prop];
33
+ },
34
+ set(_target, prop, value) {
35
+ const ctx = getter();
36
+ if (ctx === undefined) {
37
+ throw new ContextAccessError(name, String(prop));
38
+ }
39
+ ctx[prop] = value;
40
+ return true;
41
+ },
42
+ has(_target, prop) {
43
+ const ctx = getter();
44
+ if (ctx === undefined) {
45
+ return false;
46
+ }
47
+ return prop in ctx;
48
+ },
49
+ ownKeys(_target) {
50
+ const ctx = getter();
51
+ if (ctx === undefined) {
52
+ return [];
53
+ }
54
+ return Reflect.ownKeys(ctx);
55
+ },
56
+ getOwnPropertyDescriptor(_target, prop) {
57
+ const ctx = getter();
58
+ if (ctx === undefined) {
59
+ return;
60
+ }
61
+ return Reflect.getOwnPropertyDescriptor(ctx, prop);
62
+ }
63
+ });
64
+ }
65
+
66
+ // src/runtime/exports.ts
67
+ function createReadonlyProxy(getter, name) {
68
+ return new Proxy({}, {
69
+ get(_target, prop) {
70
+ const ctx = getter();
71
+ if (ctx === undefined || ctx === null) {
72
+ throw new ContextAccessError(name, String(prop));
73
+ }
74
+ return ctx[prop];
75
+ },
76
+ set(_target, prop) {
77
+ throw new TypeError(`Cannot assign to '${String(prop)}' on '${name}' because it is read-only.
78
+ ` + `Use 'locals' for mutable request-scoped data.`);
79
+ },
80
+ deleteProperty(_target, prop) {
81
+ throw new TypeError(`Cannot delete property '${String(prop)}' from '${name}' because it is read-only.`);
82
+ },
83
+ has(_target, prop) {
84
+ const ctx = getter();
85
+ if (ctx === undefined || ctx === null) {
86
+ return false;
87
+ }
88
+ return prop in ctx;
89
+ },
90
+ ownKeys(_target) {
91
+ const ctx = getter();
92
+ if (ctx === undefined || ctx === null) {
93
+ return [];
94
+ }
95
+ return Reflect.ownKeys(ctx);
96
+ },
97
+ getOwnPropertyDescriptor(_target, prop) {
98
+ const ctx = getter();
99
+ if (ctx === undefined || ctx === null) {
100
+ return;
101
+ }
102
+ const descriptor = Reflect.getOwnPropertyDescriptor(ctx, prop);
103
+ if (descriptor) {
104
+ return { ...descriptor, writable: false };
105
+ }
106
+ return;
107
+ }
108
+ });
109
+ }
110
+ var env = createReadonlyProxy(() => getContextOrNull()?.env, "env");
111
+ var ctx = createReadonlyProxy(() => getContextOrNull()?.ctx, "ctx");
112
+ var event = createReadonlyProxy(() => getContextOrNull()?.event, "event");
113
+ var locals = createContextProxy(() => getContextOrNull()?.locals, "locals");
114
+ // src/runtime/middleware.ts
115
+ var FETCH_SEQUENCE_SYMBOL = Symbol.for("devflare.fetch-sequence");
116
+ var FETCH_RESOLVE_STYLE_SYMBOL = Symbol.for("devflare.fetch-resolve-style");
117
+ function createNotFoundResponse() {
118
+ return new Response("Not Found", { status: 404 });
119
+ }
120
+ function isFunction(value) {
121
+ return typeof value === "function";
122
+ }
123
+ function markResolveStyle(handler) {
124
+ Object.defineProperty(handler, FETCH_RESOLVE_STYLE_SYMBOL, {
125
+ value: true,
126
+ enumerable: false,
127
+ configurable: true,
128
+ writable: false
129
+ });
130
+ return handler;
131
+ }
132
+ function splitParameterList(source) {
133
+ const parameters = [];
134
+ let current = "";
135
+ let depth = 0;
136
+ for (const char of source) {
137
+ if (char === "," && depth === 0) {
138
+ if (current.trim()) {
139
+ parameters.push(current.trim());
140
+ }
141
+ current = "";
142
+ continue;
143
+ }
144
+ if (char === "(" || char === "[" || char === "{" || char === "<") {
145
+ depth += 1;
146
+ } else if (char === ")" || char === "]" || char === "}" || char === ">") {
147
+ depth = Math.max(0, depth - 1);
148
+ }
149
+ current += char;
150
+ }
151
+ if (current.trim()) {
152
+ parameters.push(current.trim());
153
+ }
154
+ return parameters;
155
+ }
156
+ function getFunctionParameterNames(handler) {
157
+ const source = handler.toString().trim();
158
+ const parenthesizedMatch = source.match(/^[^(]*\(([^)]*)\)/);
159
+ if (parenthesizedMatch) {
160
+ return splitParameterList(parenthesizedMatch[1]);
161
+ }
162
+ const singleParameterArrowMatch = source.match(/^(?:async\s+)?([^=()\s]+)\s*=>/);
163
+ if (singleParameterArrowMatch) {
164
+ return [singleParameterArrowMatch[1].trim()];
165
+ }
166
+ return [];
167
+ }
168
+ function isResolveStyleFunction(handler) {
169
+ if (handler[FETCH_RESOLVE_STYLE_SYMBOL]) {
170
+ return true;
171
+ }
172
+ if (handler[FETCH_SEQUENCE_SYMBOL]) {
173
+ return true;
174
+ }
175
+ if (handler.length !== 2) {
176
+ return false;
177
+ }
178
+ const parameterNames = getFunctionParameterNames(handler);
179
+ const secondParameter = parameterNames[1]?.trim().toLowerCase() ?? "";
180
+ return secondParameter === "resolve" || secondParameter.endsWith("resolve");
181
+ }
182
+ function normalizeParameterName(parameterName) {
183
+ return parameterName?.trim().toLowerCase() ?? "";
184
+ }
185
+ function isParamsStyleFunction(handler) {
186
+ if (handler.length !== 2) {
187
+ return false;
188
+ }
189
+ const parameterNames = getFunctionParameterNames(handler);
190
+ const secondParameter = normalizeParameterName(parameterNames[1]);
191
+ return secondParameter === "params" || secondParameter.endsWith("params");
192
+ }
193
+ function isRequestStyleParameterName(parameterName) {
194
+ if (!parameterName || parameterName.startsWith("{") || parameterName.startsWith("[")) {
195
+ return false;
196
+ }
197
+ return parameterName === "request" || parameterName === "req" || parameterName.endsWith("request") || parameterName.endsWith("req");
198
+ }
199
+ function isWorkerStyleFetchFunction(handler) {
200
+ if (isResolveStyleFunction(handler)) {
201
+ return false;
202
+ }
203
+ if (handler.length >= 3) {
204
+ return true;
205
+ }
206
+ if (handler.length === 2) {
207
+ return !isParamsStyleFunction(handler);
208
+ }
209
+ if (handler.length === 1) {
210
+ const parameterNames = getFunctionParameterNames(handler);
211
+ return isRequestStyleParameterName(normalizeParameterName(parameterNames[0]));
212
+ }
213
+ return false;
214
+ }
215
+ function invokeWorkerStyleFetchFunction(handler, event2) {
216
+ return handler(event2.request, event2.env, event2.ctx);
217
+ }
218
+ function bindMethod(target, key) {
219
+ if (!target || typeof target !== "object") {
220
+ return null;
221
+ }
222
+ const value = target[key];
223
+ if (!isFunction(value)) {
224
+ return null;
225
+ }
226
+ const boundHandler = value.bind(target);
227
+ return isResolveStyleFunction(value) ? markResolveStyle(boundHandler) : boundHandler;
228
+ }
229
+ function createFetchSequence(middlewares) {
230
+ return async (event2, resolve = async () => createNotFoundResponse()) => {
231
+ const executeMiddleware = async (index, activeEvent) => {
232
+ if (index >= middlewares.length) {
233
+ return resolve(activeEvent);
234
+ }
235
+ const middleware = middlewares[index];
236
+ return middleware(activeEvent, async (nextEvent = activeEvent) => {
237
+ return executeMiddleware(index + 1, nextEvent);
238
+ });
239
+ };
240
+ return executeMiddleware(0, event2);
241
+ };
242
+ }
243
+ function sequence(...middlewares) {
244
+ const composed = createFetchSequence(middlewares);
245
+ Object.defineProperty(composed, FETCH_SEQUENCE_SYMBOL, {
246
+ value: true,
247
+ enumerable: false,
248
+ configurable: false,
249
+ writable: false
250
+ });
251
+ return markResolveStyle(composed);
252
+ }
253
+ function getDefaultHandleHandler(module) {
254
+ return bindMethod(module.default, "handle");
255
+ }
256
+ function getDefaultFetchHandler(module) {
257
+ const defaultExport = module.default;
258
+ if (isFunction(defaultExport)) {
259
+ return defaultExport;
260
+ }
261
+ return bindMethod(defaultExport, "fetch");
262
+ }
263
+ function getPrimaryFetchEntryCandidates(module) {
264
+ const candidates = [];
265
+ const namedHandle = isFunction(module.handle) ? module.handle : null;
266
+ if (namedHandle) {
267
+ candidates.push({
268
+ name: "handle",
269
+ handler: namedHandle
270
+ });
271
+ }
272
+ const namedFetch = isFunction(module.fetch) ? module.fetch : null;
273
+ if (namedFetch) {
274
+ candidates.push({
275
+ name: "fetch",
276
+ handler: namedFetch
277
+ });
278
+ }
279
+ const defaultHandle = getDefaultHandleHandler(module);
280
+ if (defaultHandle) {
281
+ candidates.push({
282
+ name: "default.handle",
283
+ handler: defaultHandle
284
+ });
285
+ }
286
+ const defaultFetch = getDefaultFetchHandler(module);
287
+ if (defaultFetch) {
288
+ candidates.push({
289
+ name: isFunction(module.default) ? "default" : "default.fetch",
290
+ handler: defaultFetch
291
+ });
292
+ }
293
+ return candidates;
294
+ }
295
+ function assertSinglePrimaryFetchEntry(candidates) {
296
+ if (candidates.length <= 1) {
297
+ return;
298
+ }
299
+ const foundEntries = candidates.map(({ name }) => `"${name}"`).join(", ");
300
+ throw new Error(`Ambiguous fetch entry module. Export exactly one primary fetch entry per module. ` + `Use either "fetch" or "handle" (or one default equivalent), not both. ` + `Found: ${foundEntries}`);
301
+ }
302
+ function resolveMethodHandler(module, method) {
303
+ const normalizedMethod = method.toUpperCase();
304
+ const directHandler = isFunction(module[normalizedMethod]) ? module[normalizedMethod] : bindMethod(module.default, normalizedMethod);
305
+ if (directHandler) {
306
+ return {
307
+ handler: directHandler,
308
+ stripBody: false
309
+ };
310
+ }
311
+ if (normalizedMethod === "HEAD") {
312
+ const getHandler = isFunction(module.GET) ? module.GET : bindMethod(module.default, "GET");
313
+ if (getHandler) {
314
+ return {
315
+ handler: getHandler,
316
+ stripBody: true
317
+ };
318
+ }
319
+ }
320
+ const allHandler = isFunction(module.ALL) ? module.ALL : bindMethod(module.default, "ALL");
321
+ if (allHandler) {
322
+ return {
323
+ handler: allHandler,
324
+ stripBody: false
325
+ };
326
+ }
327
+ return null;
328
+ }
329
+ async function invokeResolvedFetchHandler(handler, event2) {
330
+ if (isResolveStyleFunction(handler)) {
331
+ return handler(event2, async () => createNotFoundResponse());
332
+ }
333
+ if (isParamsStyleFunction(handler)) {
334
+ return handler(event2, event2.params);
335
+ }
336
+ if (isWorkerStyleFetchFunction(handler)) {
337
+ return invokeWorkerStyleFetchFunction(handler, event2);
338
+ }
339
+ return handler(event2);
340
+ }
341
+ function resolveFetchHandler(module) {
342
+ const candidates = getPrimaryFetchEntryCandidates(module);
343
+ assertSinglePrimaryFetchEntry(candidates);
344
+ return candidates[0]?.handler ?? null;
345
+ }
346
+ async function invokeFetchHandler(handler, event2, resolve = async () => createNotFoundResponse()) {
347
+ if (!isFunction(handler)) {
348
+ return resolve(event2);
349
+ }
350
+ if (isResolveStyleFunction(handler)) {
351
+ const response2 = await handler(event2, resolve);
352
+ return response2 ?? createNotFoundResponse();
353
+ }
354
+ const response = await (isWorkerStyleFetchFunction(handler) ? invokeWorkerStyleFetchFunction(handler, event2) : handler(event2));
355
+ return response ?? createNotFoundResponse();
356
+ }
357
+ function createResolveFetch(module, _currentEntry, initialEvent, options = {}) {
358
+ return async (nextEvent = initialEvent) => {
359
+ return runWithEventContext(nextEvent, async () => {
360
+ const methodResolution = resolveMethodHandler(module, nextEvent.request.method);
361
+ if (methodResolution) {
362
+ const response = await invokeResolvedFetchHandler(methodResolution.handler, nextEvent);
363
+ const finalResponse = response ?? createNotFoundResponse();
364
+ if (methodResolution.stripBody) {
365
+ return new Response(null, finalResponse);
366
+ }
367
+ return finalResponse;
368
+ }
369
+ if (options.fallbackResolve) {
370
+ return options.fallbackResolve(nextEvent);
371
+ }
372
+ return createNotFoundResponse();
373
+ });
374
+ };
375
+ }
376
+ async function invokeFetchModule(module, event2, fallbackResolve) {
377
+ const handler = resolveFetchHandler(module);
378
+ if (!handler) {
379
+ return createResolveFetch(module, null, event2, { fallbackResolve })(event2);
380
+ }
381
+ return invokeFetchHandler(handler, event2, createResolveFetch(module, handler, event2, { fallbackResolve }));
382
+ }
383
+ // src/runtime/router.ts
384
+ function normalizePathname(pathname) {
385
+ if (!pathname || pathname === "/") {
386
+ return "/";
387
+ }
388
+ const normalized = pathname.startsWith("/") ? pathname : `/${pathname}`;
389
+ const trimmed = normalized.replace(/\/+$|\/+$/g, "");
390
+ return trimmed === "" ? "/" : trimmed;
391
+ }
392
+ function decodePathSegment(segment) {
393
+ try {
394
+ return decodeURIComponent(segment);
395
+ } catch {
396
+ return segment;
397
+ }
398
+ }
399
+ function getPathSegments(pathname) {
400
+ const normalizedPathname = normalizePathname(pathname);
401
+ if (normalizedPathname === "/") {
402
+ return [];
403
+ }
404
+ return normalizedPathname.slice(1).split("/").filter(Boolean).map(decodePathSegment);
405
+ }
406
+ function getMatchPathname(input) {
407
+ if (input instanceof Request) {
408
+ return new URL(input.url).pathname;
409
+ }
410
+ if (input instanceof URL) {
411
+ return input.pathname;
412
+ }
413
+ if (input.includes("://")) {
414
+ return new URL(input).pathname;
415
+ }
416
+ return input;
417
+ }
418
+ function matchRouteSegments(routeSegments, pathnameSegments) {
419
+ if (routeSegments.length === 0) {
420
+ return pathnameSegments.length === 0 ? {} : null;
421
+ }
422
+ const params = {};
423
+ let routeIndex = 0;
424
+ let pathIndex = 0;
425
+ while (routeIndex < routeSegments.length) {
426
+ const routeSegment = routeSegments[routeIndex];
427
+ if (routeSegment.type === "optional-rest") {
428
+ params[routeSegment.name] = pathnameSegments.slice(pathIndex).join("/");
429
+ pathIndex = pathnameSegments.length;
430
+ routeIndex += 1;
431
+ continue;
432
+ }
433
+ if (routeSegment.type === "rest") {
434
+ if (pathIndex >= pathnameSegments.length) {
435
+ return null;
436
+ }
437
+ params[routeSegment.name] = pathnameSegments.slice(pathIndex).join("/");
438
+ pathIndex = pathnameSegments.length;
439
+ routeIndex += 1;
440
+ continue;
441
+ }
442
+ const pathnameSegment = pathnameSegments[pathIndex];
443
+ if (pathnameSegment === undefined) {
444
+ return null;
445
+ }
446
+ if (routeSegment.type === "static") {
447
+ if (pathnameSegment !== routeSegment.value) {
448
+ return null;
449
+ }
450
+ } else {
451
+ params[routeSegment.name] = pathnameSegment;
452
+ }
453
+ pathIndex += 1;
454
+ routeIndex += 1;
455
+ }
456
+ if (pathIndex !== pathnameSegments.length) {
457
+ return null;
458
+ }
459
+ return params;
460
+ }
461
+ function matchFetchRoute(routes, input) {
462
+ const pathnameSegments = getPathSegments(getMatchPathname(input));
463
+ for (const route of routes) {
464
+ const params = matchRouteSegments(route.segments, pathnameSegments);
465
+ if (params) {
466
+ return {
467
+ route,
468
+ params
469
+ };
470
+ }
471
+ }
472
+ return null;
473
+ }
474
+ async function invokeRouteModules(routes, event2) {
475
+ const match = matchFetchRoute(routes, event2.request);
476
+ if (!match) {
477
+ return new Response("Not Found", { status: 404 });
478
+ }
479
+ const routeEvent = createFetchEvent(event2.request, event2.env, event2.ctx, {
480
+ params: match.params,
481
+ locals: event2.locals
482
+ });
483
+ return runWithEventContext(routeEvent, () => invokeFetchModule(match.route.module, routeEvent));
484
+ }
485
+ function createRouteResolve(routes, initialEvent) {
486
+ return async (nextEvent = initialEvent) => {
487
+ return invokeRouteModules(routes, nextEvent);
488
+ };
489
+ }
490
+ export { ContextAccessError, createContextProxy, env, ctx, event, locals, sequence, resolveFetchHandler, invokeFetchHandler, createResolveFetch, invokeFetchModule, matchFetchRoute, invokeRouteModules, createRouteResolve };
@@ -0,0 +1,39 @@
1
+ import {
2
+ __require
3
+ } from "./index-37x76zdn.js";
4
+
5
+ // src/cli/generated-artifacts.ts
6
+ import { resolve } from "pathe";
7
+ var DEVFLARE_DIR = [".devflare"];
8
+ var DEVFLARE_BUILD_DIR = [".devflare", "build"];
9
+ var WRANGLER_DEPLOY_DIR = [".wrangler", "deploy"];
10
+ function getGeneratedArtifactPaths(cwd) {
11
+ const devflareDir = resolve(cwd, ...DEVFLARE_DIR);
12
+ const buildDir = resolve(cwd, ...DEVFLARE_BUILD_DIR);
13
+ const deployDir = resolve(cwd, ...WRANGLER_DEPLOY_DIR);
14
+ return {
15
+ devflareDir,
16
+ devWranglerConfigPath: resolve(devflareDir, "wrangler.jsonc"),
17
+ buildDir,
18
+ buildWorkerPath: resolve(buildDir, "worker.js"),
19
+ buildWranglerConfigPath: resolve(buildDir, "wrangler.jsonc"),
20
+ deployDir,
21
+ deployRedirectPath: resolve(deployDir, "config.json")
22
+ };
23
+ }
24
+ async function ensureGeneratedDirectory(dirPath, writeGitignore = false) {
25
+ const fs = await import("node:fs/promises");
26
+ await fs.mkdir(dirPath, { recursive: true });
27
+ if (!writeGitignore) {
28
+ return;
29
+ }
30
+ const gitignorePath = resolve(dirPath, ".gitignore");
31
+ try {
32
+ await fs.access(gitignorePath);
33
+ } catch {
34
+ await fs.writeFile(gitignorePath, `*
35
+ `, "utf-8");
36
+ }
37
+ }
38
+
39
+ export { getGeneratedArtifactPaths, ensureGeneratedDirectory };
@@ -0,0 +1,74 @@
1
+ import {
2
+ loadConfig,
3
+ resolveConfigPath
4
+ } from "./index-yzddwp02.js";
5
+ import {
6
+ getEffectiveAccountId,
7
+ getPrimaryAccount,
8
+ getWorkspaceAccountId
9
+ } from "./index-jb75kwa4.js";
10
+
11
+ // src/cli/command-utils.ts
12
+ function asOptionalString(value) {
13
+ return typeof value === "string" && value.trim() ? value.trim() : undefined;
14
+ }
15
+ function resolveNamedSelection(options) {
16
+ if (options.explicitValue) {
17
+ return {
18
+ value: options.explicitValue,
19
+ source: "option"
20
+ };
21
+ }
22
+ if (options.fallbackValue) {
23
+ return {
24
+ value: options.fallbackValue,
25
+ source: "arg"
26
+ };
27
+ }
28
+ if (options.configuredValue) {
29
+ return {
30
+ value: options.configuredValue,
31
+ source: "config"
32
+ };
33
+ }
34
+ return {
35
+ value: undefined,
36
+ source: "none"
37
+ };
38
+ }
39
+ async function getConfiguredAccountId(cwd) {
40
+ const workspaceAccountId = getWorkspaceAccountId();
41
+ if (workspaceAccountId) {
42
+ return workspaceAccountId;
43
+ }
44
+ const envAccountId = process.env.CLOUDFLARE_ACCOUNT_ID?.trim();
45
+ if (envAccountId) {
46
+ return envAccountId;
47
+ }
48
+ const configPath = await resolveConfigPath(cwd);
49
+ if (!configPath) {
50
+ return;
51
+ }
52
+ try {
53
+ const config = await loadConfig({ cwd });
54
+ return config.accountId;
55
+ } catch {
56
+ return;
57
+ }
58
+ }
59
+ async function resolveCloudflareAccountId(options) {
60
+ if (options.explicitAccountId) {
61
+ return options.explicitAccountId;
62
+ }
63
+ if (options.configuredAccountId) {
64
+ return options.configuredAccountId;
65
+ }
66
+ const primaryAccount = await getPrimaryAccount(options.apiOptions);
67
+ if (!primaryAccount) {
68
+ return;
69
+ }
70
+ const effective = await getEffectiveAccountId(primaryAccount.id);
71
+ return effective.accountId;
72
+ }
73
+
74
+ export { asOptionalString, resolveNamedSelection, getConfiguredAccountId, resolveCloudflareAccountId };
@@ -1,10 +1,8 @@
1
1
  import {
2
2
  wrapEnvSendEmailBindings
3
- } from "./index-fef08w43.js";
3
+ } from "./index-h18pxvzs.js";
4
4
 
5
- // src/runtime/context.ts
6
- import { AsyncLocalStorage } from "node:async_hooks";
7
- var storage = new AsyncLocalStorage;
5
+ // src/runtime/context-events.ts
8
6
  function createLocals(locals) {
9
7
  return locals ?? {};
10
8
  }
@@ -59,6 +57,7 @@ function createFetchEvent(request, env, ctx, options = {}) {
59
57
  env: runtimeEnv,
60
58
  ctx,
61
59
  locals,
60
+ url: new URL(request.url),
62
61
  request,
63
62
  params: options.params ?? {}
64
63
  });
@@ -178,13 +177,23 @@ function createDefaultEvent(env, ctx, request, type, locals) {
178
177
  if (type === "durable-object-fetch" && request && ctx) {
179
178
  return createDurableObjectFetchEvent(request, env, ctx, { locals });
180
179
  }
180
+ if (type === "durable-object-alarm" && ctx) {
181
+ return createDurableObjectAlarmEvent(env, ctx, { locals });
182
+ }
181
183
  return createBaseEvent(type, env, ctx, {
182
184
  locals,
183
185
  request
184
186
  });
185
187
  }
188
+
189
+ // src/runtime/context.ts
190
+ import { AsyncLocalStorage } from "node:async_hooks";
191
+ var storage = new AsyncLocalStorage;
192
+ function createLocals2() {
193
+ return {};
194
+ }
186
195
  function runWithContext(env, ctx, request, fn, type = "fetch") {
187
- const locals = createLocals();
196
+ const locals = createLocals2();
188
197
  const event = createDefaultEvent(env, ctx, request, type, locals);
189
198
  return runWithEventContext(event, fn);
190
199
  }
@@ -261,7 +270,7 @@ function isDurableObjectFetchEvent(event) {
261
270
  return event.type === "durable-object-fetch" && event.request instanceof Request;
262
271
  }
263
272
  function isDurableObjectAlarmEvent(event) {
264
- return event.type === "durable-object-alarm";
273
+ return event.type === "durable-object-alarm" && "state" in event;
265
274
  }
266
275
  function isDurableObjectWebSocketMessageEvent(event) {
267
276
  return event.type === "durable-object-websocket-message" && "ws" in event && "message" in event;