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,505 @@
1
+ import {
2
+ collectConfiguredWorkerFamilies
3
+ } from "./index-mqekt778.js";
4
+ import {
5
+ asOptionalString,
6
+ resolveCloudflareAccountId,
7
+ resolveNamedSelection
8
+ } from "./index-b8m6883k.js";
9
+ import {
10
+ account
11
+ } from "./index-7x0ybbtx.js";
12
+ import"./index-72mve6vh.js";
13
+ import"./index-2jnrqbny.js";
14
+ import {
15
+ getDependencies
16
+ } from "./index-1xpj0m4r.js";
17
+ import {
18
+ bold,
19
+ createCliTheme,
20
+ cyanBold,
21
+ dim,
22
+ formatLabelValue,
23
+ green,
24
+ logLine,
25
+ logTable,
26
+ red,
27
+ whiteDim,
28
+ yellow
29
+ } from "./index-stgn34cr.js";
30
+ import"./index-3t6rypgc.js";
31
+ import"./index-fvsadj32.js";
32
+ import {
33
+ findFiles
34
+ } from "./index-rbht7m9r.js";
35
+ import"./index-11m5a8wd.js";
36
+ import {
37
+ ConfigNotFoundError,
38
+ loadConfig
39
+ } from "./index-yzddwp02.js";
40
+ import"./index-jb75kwa4.js";
41
+ import"./index-0w826dsr.js";
42
+ import"./index-p296ban8.js";
43
+ import"./index-t08te69w.js";
44
+ import"./index-37x76zdn.js";
45
+
46
+ // src/cli/commands/productions.ts
47
+ var CLI_API_OPTIONS = { timeout: 1e4 };
48
+ var PRODUCTION_SUBCOMMANDS = ["list", "versions", "rollback", "delete"];
49
+ var VERSION_LIST_LIMIT = 10;
50
+ function isProductionSubcommand(value) {
51
+ return PRODUCTION_SUBCOMMANDS.includes(value);
52
+ }
53
+ function shortenVersionId(versionId, length = 12) {
54
+ return versionId.length <= length ? versionId : `${versionId.slice(0, length)}…`;
55
+ }
56
+ function selectDeploymentVersionId(deployment) {
57
+ return deployment.versions.find((version) => version.percentage === 100)?.versionId ?? deployment.versions[0]?.versionId;
58
+ }
59
+ function getWorkerVersionTimestamp(version) {
60
+ return version.metadata.modifiedOn ?? version.metadata.createdOn;
61
+ }
62
+ function formatRecordDate(date) {
63
+ return date ? date.toISOString().slice(0, 19).replace("T", " ") : "N/A";
64
+ }
65
+ function formatWorkerStatus(status, theme) {
66
+ switch (status) {
67
+ case "active":
68
+ return green(status, theme);
69
+ case "undeployed":
70
+ return yellow(status, theme);
71
+ case "missing":
72
+ default:
73
+ return red(status, theme);
74
+ }
75
+ }
76
+ function formatVersionStatus(status, theme) {
77
+ switch (status) {
78
+ case "active":
79
+ return green(status, theme);
80
+ case "stored":
81
+ default:
82
+ return whiteDim(status, theme);
83
+ }
84
+ }
85
+ function shouldReplaceConfiguredWorkerFamily(existing, candidate) {
86
+ return !existing || candidate.role === "primary" && existing.role !== "primary";
87
+ }
88
+ function mergeConfiguredWorkerFamily(families, candidate) {
89
+ if (shouldReplaceConfiguredWorkerFamily(families.get(candidate.baseName), candidate)) {
90
+ families.set(candidate.baseName, candidate);
91
+ }
92
+ }
93
+ async function discoverProductionConfigs(cwd, configFile, environment) {
94
+ const families = new Map;
95
+ const primaryFamilyNames = new Set;
96
+ const accountIds = new Set;
97
+ let defaultWorkerName;
98
+ let defaultWorkerNameSource = "none";
99
+ const loadAndCollect = async (candidateConfigFile) => {
100
+ try {
101
+ const config = await loadConfig({ cwd, configFile: candidateConfigFile });
102
+ const resolvedFamilies = collectConfiguredWorkerFamilies(config, environment);
103
+ for (const family of resolvedFamilies) {
104
+ mergeConfiguredWorkerFamily(families, family);
105
+ if (family.role === "primary") {
106
+ primaryFamilyNames.add(family.baseName);
107
+ }
108
+ }
109
+ if (config.accountId?.trim()) {
110
+ accountIds.add(config.accountId.trim());
111
+ }
112
+ if (!defaultWorkerName) {
113
+ defaultWorkerName = resolvedFamilies.find((family) => family.role === "primary")?.baseName;
114
+ defaultWorkerNameSource = defaultWorkerName ? "config" : "none";
115
+ }
116
+ return true;
117
+ } catch (error) {
118
+ if (error instanceof ConfigNotFoundError) {
119
+ return false;
120
+ }
121
+ throw error;
122
+ }
123
+ };
124
+ if (configFile) {
125
+ await loadAndCollect(configFile);
126
+ } else {
127
+ const loadedDirectly = await loadAndCollect();
128
+ if (!loadedDirectly) {
129
+ const configPaths = (await findFiles("**/devflare.config.{ts,js,mjs,cjs}", {
130
+ cwd,
131
+ absolute: true
132
+ })).sort((left, right) => left.localeCompare(right));
133
+ for (const configPath of configPaths) {
134
+ await loadAndCollect(configPath);
135
+ }
136
+ }
137
+ }
138
+ if (accountIds.size > 1) {
139
+ throw new Error("Multiple Cloudflare account ids were discovered across local Devflare configs. Pass --account to select one account explicitly for `devflare productions`.");
140
+ }
141
+ return {
142
+ accountId: Array.from(accountIds)[0],
143
+ defaultWorkerName,
144
+ defaultWorkerNameSource,
145
+ families: Array.from(families.values()).sort((left, right) => {
146
+ if (left.role === "primary" && right.role !== "primary") {
147
+ return -1;
148
+ }
149
+ if (left.role !== "primary" && right.role === "primary") {
150
+ return 1;
151
+ }
152
+ return left.baseName.localeCompare(right.baseName);
153
+ }),
154
+ primaryFamilyNames: Array.from(primaryFamilyNames).sort((left, right) => left.localeCompare(right))
155
+ };
156
+ }
157
+ async function resolveAccountId(parsed, discovery) {
158
+ return resolveCloudflareAccountId({
159
+ explicitAccountId: asOptionalString(parsed.options.account),
160
+ configuredAccountId: discovery.accountId,
161
+ apiOptions: CLI_API_OPTIONS
162
+ });
163
+ }
164
+ function resolveWorkerName(parsed, discovery, fallbackArg) {
165
+ const selection = resolveNamedSelection({
166
+ explicitValue: asOptionalString(parsed.options.worker),
167
+ fallbackValue: fallbackArg,
168
+ configuredValue: discovery.defaultWorkerName
169
+ });
170
+ return {
171
+ workerName: selection.value,
172
+ source: selection.value === discovery.defaultWorkerName ? discovery.defaultWorkerNameSource : selection.source
173
+ };
174
+ }
175
+ async function resolveContext(parsed, options, subcommand, fallbackArg) {
176
+ const cwd = options.cwd ?? process.cwd();
177
+ const configFile = asOptionalString(parsed.options.config);
178
+ const environment = asOptionalString(parsed.options.env) ?? "production";
179
+ const explicitAccountId = asOptionalString(parsed.options.account);
180
+ const explicitWorkerName = asOptionalString(parsed.options.worker) ?? fallbackArg;
181
+ const shouldDiscoverConfigs = Boolean(configFile) || !explicitAccountId || !explicitWorkerName;
182
+ const discovery = shouldDiscoverConfigs ? await discoverProductionConfigs(cwd, configFile, environment) : {
183
+ accountId: undefined,
184
+ defaultWorkerName: undefined,
185
+ defaultWorkerNameSource: "none",
186
+ families: [],
187
+ primaryFamilyNames: []
188
+ };
189
+ const accountId = await resolveAccountId(parsed, discovery);
190
+ const workerSelection = resolveWorkerName(parsed, discovery, fallbackArg);
191
+ if (!accountId) {
192
+ throw new Error("No Cloudflare account could be resolved. Use --account or configure accountId in devflare.config.*.");
193
+ }
194
+ if ((subcommand === "rollback" || subcommand === "delete") && !workerSelection.workerName) {
195
+ throw new Error(`A worker name is required for productions ${subcommand}. Use --worker or run inside a configured package with a single primary worker.`);
196
+ }
197
+ return {
198
+ accountId,
199
+ workerName: workerSelection.workerName,
200
+ workerNameSource: workerSelection.source,
201
+ discovery
202
+ };
203
+ }
204
+ function getProductionUrl(workerName, workersSubdomain) {
205
+ if (!workersSubdomain) {
206
+ return;
207
+ }
208
+ const normalizedSubdomain = workersSubdomain.trim().replace(/^https?:\/\//i, "").replace(/\.workers\.dev\/?$/i, "");
209
+ return `https://${workerName}.${normalizedSubdomain}.workers.dev`;
210
+ }
211
+ async function buildProductionRows(accountId, families, apiOptions) {
212
+ const [liveWorkers, workersSubdomain] = await Promise.all([
213
+ account.workers(accountId, apiOptions),
214
+ account.workersSubdomain(accountId, apiOptions)
215
+ ]);
216
+ const workersByName = new Map(liveWorkers.map((worker) => [worker.name, worker]));
217
+ return Promise.all(families.map(async (family) => {
218
+ const worker = workersByName.get(family.baseName);
219
+ if (!worker) {
220
+ return {
221
+ workerName: family.baseName,
222
+ role: family.roleLabel,
223
+ status: "missing",
224
+ url: getProductionUrl(family.baseName, workersSubdomain)
225
+ };
226
+ }
227
+ const deployments = await account.workerDeployments(accountId, family.baseName, apiOptions);
228
+ const latestDeployment = [...deployments].sort((left, right) => {
229
+ return right.createdOn.getTime() - left.createdOn.getTime();
230
+ })[0];
231
+ const activeVersionId = latestDeployment ? selectDeploymentVersionId(latestDeployment) : undefined;
232
+ return {
233
+ workerName: family.baseName,
234
+ role: family.roleLabel,
235
+ status: latestDeployment ? "active" : "undeployed",
236
+ deployedAt: latestDeployment?.createdOn ?? worker.modifiedOn,
237
+ versionId: activeVersionId,
238
+ source: latestDeployment?.source,
239
+ url: getProductionUrl(family.baseName, workersSubdomain)
240
+ };
241
+ }));
242
+ }
243
+ function buildProductionColumns(theme) {
244
+ return [
245
+ {
246
+ label: "Worker",
247
+ width: 34,
248
+ value: (row) => row.workerName
249
+ },
250
+ {
251
+ label: "Role",
252
+ width: 18,
253
+ value: (row) => row.role
254
+ },
255
+ {
256
+ label: "Status",
257
+ width: 10,
258
+ value: (row) => formatWorkerStatus(row.status, theme)
259
+ },
260
+ {
261
+ label: "Deployed",
262
+ width: 19,
263
+ value: (row) => whiteDim(formatRecordDate(row.deployedAt), theme)
264
+ },
265
+ {
266
+ label: "Version",
267
+ width: 13,
268
+ value: (row) => row.versionId ? shortenVersionId(row.versionId) : dim("N/A", theme)
269
+ },
270
+ {
271
+ label: "Source",
272
+ width: 14,
273
+ value: (row) => row.source ?? dim("N/A", theme)
274
+ },
275
+ {
276
+ label: "URL",
277
+ value: (row) => row.url ?? "N/A"
278
+ }
279
+ ];
280
+ }
281
+ function buildVersionColumns(theme) {
282
+ return [
283
+ {
284
+ label: "Version",
285
+ width: 13,
286
+ value: (row) => shortenVersionId(row.versionId)
287
+ },
288
+ {
289
+ label: "Status",
290
+ width: 8,
291
+ value: (row) => formatVersionStatus(row.status, theme)
292
+ },
293
+ {
294
+ label: "Updated",
295
+ width: 19,
296
+ value: (row) => whiteDim(formatRecordDate(row.updatedAt), theme)
297
+ },
298
+ {
299
+ label: "Last deployed",
300
+ width: 19,
301
+ value: (row) => whiteDim(formatRecordDate(row.deployedAt), theme)
302
+ },
303
+ {
304
+ label: "Source",
305
+ value: (row) => row.source ?? dim("N/A", theme)
306
+ }
307
+ ];
308
+ }
309
+ async function loadWorkerVersionOverview(accountId, workerName, apiOptions) {
310
+ const [versions, deployments] = await Promise.all([
311
+ account.workerVersions(accountId, workerName, apiOptions),
312
+ account.workerDeployments(accountId, workerName, apiOptions)
313
+ ]);
314
+ const productionVersions = versions.filter((version) => version.id).filter((version) => version.metadata.hasPreview !== true).sort((left, right) => {
315
+ const leftTime = getWorkerVersionTimestamp(left)?.getTime() ?? 0;
316
+ const rightTime = getWorkerVersionTimestamp(right)?.getTime() ?? 0;
317
+ return rightTime - leftTime;
318
+ }).slice(0, VERSION_LIST_LIMIT);
319
+ const activeVersionIds = new Set((deployments[0]?.versions ?? []).map((version) => version.versionId));
320
+ const latestDeploymentByVersionId = new Map;
321
+ for (const deployment of deployments) {
322
+ for (const version of deployment.versions) {
323
+ const existing = latestDeploymentByVersionId.get(version.versionId);
324
+ if (!existing || deployment.createdOn.getTime() > existing.getTime()) {
325
+ latestDeploymentByVersionId.set(version.versionId, deployment.createdOn);
326
+ }
327
+ }
328
+ }
329
+ return {
330
+ workerName,
331
+ rows: productionVersions.map((version) => ({
332
+ versionId: version.id,
333
+ status: activeVersionIds.has(version.id) ? "active" : "stored",
334
+ updatedAt: getWorkerVersionTimestamp(version),
335
+ deployedAt: latestDeploymentByVersionId.get(version.id),
336
+ source: version.metadata.source
337
+ }))
338
+ };
339
+ }
340
+ function showProductionOverview(logger, context, rows, theme) {
341
+ logLine(logger);
342
+ if (context.discovery.primaryFamilyNames.length === 1) {
343
+ logLine(logger, formatLabelValue("worker family", green(context.discovery.primaryFamilyNames[0], theme), theme));
344
+ logLine(logger, formatLabelValue("related", whiteDim(String(Math.max(context.discovery.families.length - 1, 0)), theme), theme));
345
+ } else if (context.discovery.primaryFamilyNames.length > 1) {
346
+ logLine(logger, formatLabelValue("configured", whiteDim(`${context.discovery.primaryFamilyNames.length} primary workers`, theme), theme));
347
+ logLine(logger, formatLabelValue("tracked", whiteDim(`${context.discovery.families.length} workers`, theme), theme));
348
+ } else if (context.workerName) {
349
+ logLine(logger, formatLabelValue("worker", green(context.workerName, theme), theme));
350
+ }
351
+ if (rows.length === 0) {
352
+ logLine(logger);
353
+ logLine(logger, dim("No production Workers matched the current selection.", theme));
354
+ logLine(logger);
355
+ return;
356
+ }
357
+ logLine(logger);
358
+ logTable(logger, {
359
+ title: "Productions",
360
+ rows,
361
+ columns: buildProductionColumns(theme),
362
+ theme,
363
+ titleAccent: "green"
364
+ });
365
+ logLine(logger);
366
+ logLine(logger, dim("Use `devflare productions versions` for recent production versions, or `rollback` / `delete` to mutate one Worker.", theme));
367
+ logLine(logger);
368
+ }
369
+ function showWorkerVersions(logger, overviews, theme) {
370
+ logLine(logger);
371
+ if (overviews.length === 0) {
372
+ logLine(logger, dim("No production versions were found for the current selection.", theme));
373
+ logLine(logger);
374
+ return;
375
+ }
376
+ for (const [index, overview] of overviews.entries()) {
377
+ if (index > 0) {
378
+ logLine(logger);
379
+ }
380
+ logLine(logger, `${bold("worker", theme)} ${green(overview.workerName, theme)}`);
381
+ if (overview.rows.length === 0) {
382
+ logLine(logger, dim("No stored production versions were found for this Worker.", theme));
383
+ continue;
384
+ }
385
+ logTable(logger, {
386
+ title: "Versions",
387
+ rows: overview.rows,
388
+ columns: buildVersionColumns(theme),
389
+ theme,
390
+ titleAccent: "cyan"
391
+ });
392
+ }
393
+ logLine(logger);
394
+ }
395
+ async function runRollback(context, parsed, options, logger, theme) {
396
+ if (!context.workerName) {
397
+ logger.error("A worker name is required for production rollback.");
398
+ return { exitCode: 1 };
399
+ }
400
+ const versionId = asOptionalString(parsed.options.version) || asOptionalString(parsed.options["version-id"]);
401
+ const apply = parsed.options.apply === true;
402
+ if (!apply) {
403
+ logger.success(`Production rollback dry run complete for ${context.workerName}`);
404
+ logger.info(versionId ? `Would roll back ${context.workerName} to version ${versionId}` : `Would roll back ${context.workerName} to the previously deployed production version`);
405
+ return { exitCode: 0 };
406
+ }
407
+ const rollbackMessage = asOptionalString(parsed.options.message) ?? `Rolled back ${context.workerName} via devflare productions rollback`;
408
+ const rollbackArgs = ["wrangler", "rollback"];
409
+ if (versionId) {
410
+ rollbackArgs.push(versionId);
411
+ }
412
+ rollbackArgs.push("--name", context.workerName, "--message", rollbackMessage);
413
+ logLine(logger);
414
+ logLine(logger, `${cyanBold("productions rollback", theme)} ${dim(`Rolling back ${context.workerName}`, theme)}`);
415
+ const deps = await getDependencies();
416
+ const cwd = options.cwd ?? process.cwd();
417
+ const rollbackResult = await deps.exec.exec("bunx", rollbackArgs, {
418
+ cwd,
419
+ stdio: "inherit"
420
+ });
421
+ if (rollbackResult.exitCode !== 0) {
422
+ logger.error(`Rollback failed for ${context.workerName}`);
423
+ return { exitCode: 1 };
424
+ }
425
+ const deployments = await account.workerDeployments(context.accountId, context.workerName, CLI_API_OPTIONS);
426
+ const activeVersionId = deployments[0] ? selectDeploymentVersionId(deployments[0]) : undefined;
427
+ logger.success(`Rolled back production deployment for ${context.workerName}`);
428
+ if (activeVersionId) {
429
+ logger.info(`Active version: ${activeVersionId}`);
430
+ }
431
+ return { exitCode: 0 };
432
+ }
433
+ async function runDelete(context, parsed, logger) {
434
+ if (!context.workerName) {
435
+ logger.error("A worker name is required for production deletion.");
436
+ return { exitCode: 1 };
437
+ }
438
+ const apply = parsed.options.apply === true;
439
+ if (!apply) {
440
+ logger.success(`Production delete dry run complete for ${context.workerName}`);
441
+ logger.info(`Would delete Worker script ${context.workerName}`);
442
+ logger.warn("Deleting a production Worker script does not automatically delete KV, D1, R2, queue, or other account resources.");
443
+ return { exitCode: 0 };
444
+ }
445
+ await account.deleteWorker(context.accountId, context.workerName, CLI_API_OPTIONS);
446
+ logger.success(`Deleted production Worker script ${context.workerName}`);
447
+ logger.warn("Devflare deleted the Worker script only. Review any shared account resources separately before cleaning them up.");
448
+ return { exitCode: 0 };
449
+ }
450
+ async function runProductionsCommand(parsed, logger, options) {
451
+ const isAuth = await account.isAuthenticated();
452
+ if (!isAuth) {
453
+ logger.error("Not authenticated with Cloudflare");
454
+ logger.info("Run `devflare login` first.");
455
+ return { exitCode: 1 };
456
+ }
457
+ const rawSubcommand = parsed.args[0];
458
+ const fallbackWorkerArg = rawSubcommand && !isProductionSubcommand(rawSubcommand) ? rawSubcommand : parsed.args[1];
459
+ const subcommand = rawSubcommand && isProductionSubcommand(rawSubcommand) ? rawSubcommand : "list";
460
+ const theme = createCliTheme(parsed.options);
461
+ if (rawSubcommand && !isProductionSubcommand(rawSubcommand) && parsed.args.length > 2) {
462
+ logger.error(`Unknown productions subcommand: ${rawSubcommand}`);
463
+ logger.info(`Available productions subcommands: ${PRODUCTION_SUBCOMMANDS.join(", ")}`);
464
+ return { exitCode: 1 };
465
+ }
466
+ try {
467
+ const context = await resolveContext(parsed, options, subcommand, fallbackWorkerArg);
468
+ const selectedFamilies = context.discovery.families.length > 0 ? context.discovery.families : context.workerName ? [{ baseName: context.workerName, roleLabel: "selected worker", role: "primary" }] : [];
469
+ switch (subcommand) {
470
+ case "versions": {
471
+ const workerNames = Array.from(new Set(context.workerName ? [context.workerName] : selectedFamilies.map((family) => family.baseName))).sort((left, right) => left.localeCompare(right));
472
+ if (workerNames.length === 0) {
473
+ logger.error("No production Workers could be resolved. Use --worker or run inside a configured package.");
474
+ return { exitCode: 1 };
475
+ }
476
+ const overviews = await Promise.all(workerNames.map((workerName) => loadWorkerVersionOverview(context.accountId, workerName, CLI_API_OPTIONS)));
477
+ showWorkerVersions(logger, overviews, theme);
478
+ return { exitCode: 0 };
479
+ }
480
+ case "rollback":
481
+ return runRollback(context, parsed, options, logger, theme);
482
+ case "delete":
483
+ return runDelete(context, parsed, logger);
484
+ case "list":
485
+ default: {
486
+ if (selectedFamilies.length === 0) {
487
+ logger.error("No production Workers could be resolved. Use --worker, --config, or run inside a configured package.");
488
+ return { exitCode: 1 };
489
+ }
490
+ const rows = await buildProductionRows(context.accountId, selectedFamilies, CLI_API_OPTIONS);
491
+ showProductionOverview(logger, context, rows, theme);
492
+ return { exitCode: 0 };
493
+ }
494
+ }
495
+ } catch (error) {
496
+ if (error instanceof Error) {
497
+ logger.error(error.message);
498
+ return { exitCode: 1 };
499
+ }
500
+ throw error;
501
+ }
502
+ }
503
+ export {
504
+ runProductionsCommand
505
+ };
@@ -0,0 +1,13 @@
1
+ import type { DurableObjectAlarmEvent, DurableObjectFetchEvent, DurableObjectWebSocketCloseEvent, DurableObjectWebSocketErrorEvent, DurableObjectWebSocketMessageEvent, EmailEvent, EventContext, EventInitOptions, FetchEvent, FetchEventInit, QueueEvent, RuntimeContextValue, RuntimeEventType, ScheduledEvent, TailEvent } from './context-types';
2
+ export declare function createFetchEvent<TEnv = unknown, TParams extends Record<string, string> = Record<string, string>, TLocals extends Record<string, unknown> = Record<string, unknown>>(request: Request, env: TEnv, ctx: ExecutionContext, options?: FetchEventInit<TParams, TLocals>): FetchEvent<TEnv, TParams, TLocals>;
3
+ export declare function createQueueEvent<TMessage = unknown, TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(batch: MessageBatch<TMessage>, env: TEnv, ctx: ExecutionContext, options?: EventInitOptions<TLocals>): QueueEvent<TMessage, TEnv, TLocals>;
4
+ export declare function createScheduledEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(controller: ScheduledController, env: TEnv, ctx: ExecutionContext, options?: EventInitOptions<TLocals>): ScheduledEvent<TEnv, TLocals>;
5
+ export declare function createEmailEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(message: ForwardableEmailMessage, env: TEnv, ctx: ExecutionContext, options?: EventInitOptions<TLocals>): EmailEvent<TEnv, TLocals>;
6
+ export declare function createTailEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(events: TraceItem[], env: TEnv, ctx: ExecutionContext, options?: EventInitOptions<TLocals>): TailEvent<TEnv, TLocals>;
7
+ export declare function createDurableObjectFetchEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(request: Request, env: TEnv, state: DurableObjectState, options?: EventInitOptions<TLocals>): DurableObjectFetchEvent<TEnv, TLocals>;
8
+ export declare function createDurableObjectAlarmEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(env: TEnv, state: DurableObjectState, options?: EventInitOptions<TLocals>): DurableObjectAlarmEvent<TEnv, TLocals>;
9
+ export declare function createDurableObjectWebSocketMessageEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(ws: WebSocket, message: string | ArrayBuffer, env: TEnv, state: DurableObjectState, options?: EventInitOptions<TLocals>): DurableObjectWebSocketMessageEvent<TEnv, TLocals>;
10
+ export declare function createDurableObjectWebSocketCloseEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(ws: WebSocket, code: number, reason: string, wasClean: boolean, env: TEnv, state: DurableObjectState, options?: EventInitOptions<TLocals>): DurableObjectWebSocketCloseEvent<TEnv, TLocals>;
11
+ export declare function createDurableObjectWebSocketErrorEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(ws: WebSocket, error: unknown, env: TEnv, state: DurableObjectState, options?: EventInitOptions<TLocals>): DurableObjectWebSocketErrorEvent<TEnv, TLocals>;
12
+ export declare function createDefaultEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>>(env: TEnv, ctx: RuntimeContextValue, request: Request | null, type: RuntimeEventType, locals: TLocals): EventContext<TEnv, TLocals>;
13
+ //# sourceMappingURL=context-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-events.d.ts","sourceRoot":"","sources":["../../src/runtime/context-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,MAAM,iBAAiB,CAAA;AAyExB,wBAAgB,gBAAgB,CAC/B,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/D,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAM,GAC5C,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAapC;AAED,wBAAgB,gBAAgB,CAC/B,QAAQ,GAAG,OAAO,EAClB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAWrC;AAED,wBAAgB,oBAAoB,CACnC,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,UAAU,EAAE,mBAAmB,EAC/B,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAW/B;AAED,wBAAgB,gBAAgB,CAC/B,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAW3B;AAED,wBAAgB,eAAe,CAC9B,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,MAAM,EAAE,SAAS,EAAE,EACnB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAW1B;AAED,wBAAgB,6BAA6B,CAC5C,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAYxC;AAED,wBAAgB,6BAA6B,CAC5C,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAWxC;AAED,wBAAgB,wCAAwC,CACvD,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,GAAG,WAAW,EAC7B,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,kCAAkC,CAAC,IAAI,EAAE,OAAO,CAAC,CAanD;AAED,wBAAgB,sCAAsC,CACrD,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,gCAAgC,CAAC,IAAI,EAAE,OAAO,CAAC,CAejD;AAED,wBAAgB,sCAAsC,CACrD,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,gBAAgB,CAAC,OAAO,CAAM,GACrC,gCAAgC,CAAC,IAAI,EAAE,OAAO,CAAC,CAajD;AAED,wBAAgB,kBAAkB,CACjC,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,OAAO,GACb,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAiB7B"}
@@ -0,0 +1,82 @@
1
+ export type RuntimeEventType = 'fetch' | 'scheduled' | 'queue' | 'email' | 'tail' | 'durable-object-fetch' | 'durable-object-alarm' | 'durable-object-websocket-message' | 'durable-object-websocket-close' | 'durable-object-websocket-error';
2
+ export type RuntimeContextValue = ExecutionContext | DurableObjectState | null;
3
+ export interface EventContext<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> {
4
+ readonly type: RuntimeEventType;
5
+ readonly env: TEnv;
6
+ readonly ctx: RuntimeContextValue;
7
+ readonly locals: TLocals;
8
+ readonly request?: Request | null;
9
+ readonly params?: Record<string, string>;
10
+ }
11
+ export type FetchEvent<TEnv = unknown, TParams extends Record<string, string> = Record<string, string>, TLocals extends Record<string, unknown> = Record<string, unknown>> = Omit<Request, 'url'> & EventContext<TEnv, TLocals> & {
12
+ readonly type: 'fetch';
13
+ readonly url: URL;
14
+ readonly request: Request;
15
+ readonly ctx: ExecutionContext;
16
+ readonly params: TParams;
17
+ };
18
+ export interface QueueEvent<TMessage = unknown, TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends MessageBatch<TMessage>, EventContext<TEnv, TLocals> {
19
+ readonly type: 'queue';
20
+ readonly batch: MessageBatch<TMessage>;
21
+ readonly ctx: ExecutionContext;
22
+ }
23
+ export interface ScheduledEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends ScheduledController, EventContext<TEnv, TLocals> {
24
+ readonly type: 'scheduled';
25
+ readonly controller: ScheduledController;
26
+ readonly ctx: ExecutionContext;
27
+ }
28
+ export interface EmailEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends ForwardableEmailMessage, EventContext<TEnv, TLocals> {
29
+ readonly type: 'email';
30
+ readonly message: ForwardableEmailMessage;
31
+ readonly ctx: ExecutionContext;
32
+ }
33
+ export interface TailEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends Array<TraceItem>, EventContext<TEnv, TLocals> {
34
+ readonly type: 'tail';
35
+ readonly events: TraceItem[];
36
+ readonly ctx: ExecutionContext;
37
+ }
38
+ export interface DurableObjectEventContext<TType extends Extract<RuntimeEventType, `durable-object-${string}`>, TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends EventContext<TEnv, TLocals> {
39
+ readonly type: TType;
40
+ readonly ctx: DurableObjectState;
41
+ readonly state: DurableObjectState;
42
+ }
43
+ export interface DurableObjectFetchEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends Request, DurableObjectEventContext<'durable-object-fetch', TEnv, TLocals> {
44
+ readonly request: Request;
45
+ }
46
+ export interface DurableObjectAlarmEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends DurableObjectEventContext<'durable-object-alarm', TEnv, TLocals> {
47
+ }
48
+ export interface DurableObjectWebSocketMessageEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends WebSocket, DurableObjectEventContext<'durable-object-websocket-message', TEnv, TLocals> {
49
+ readonly ws: WebSocket;
50
+ readonly message: string | ArrayBuffer;
51
+ }
52
+ export interface DurableObjectWebSocketCloseEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends WebSocket, DurableObjectEventContext<'durable-object-websocket-close', TEnv, TLocals> {
53
+ readonly ws: WebSocket;
54
+ readonly code: number;
55
+ readonly reason: string;
56
+ readonly wasClean: boolean;
57
+ }
58
+ export interface DurableObjectWebSocketErrorEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> extends WebSocket, DurableObjectEventContext<'durable-object-websocket-error', TEnv, TLocals> {
59
+ readonly ws: WebSocket;
60
+ readonly error: unknown;
61
+ }
62
+ export type DurableObjectEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> = DurableObjectFetchEvent<TEnv, TLocals> | DurableObjectAlarmEvent<TEnv, TLocals> | DurableObjectWebSocketMessageEvent<TEnv, TLocals> | DurableObjectWebSocketCloseEvent<TEnv, TLocals> | DurableObjectWebSocketErrorEvent<TEnv, TLocals>;
63
+ export type WorkerEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> = FetchEvent<TEnv, Record<string, string>, TLocals> | QueueEvent<unknown, TEnv, TLocals> | ScheduledEvent<TEnv, TLocals> | EmailEvent<TEnv, TLocals> | TailEvent<TEnv, TLocals>;
64
+ export type AnyEvent<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> = WorkerEvent<TEnv, TLocals> | DurableObjectEvent<TEnv, TLocals>;
65
+ export interface RequestContext<TEnv = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> {
66
+ env: TEnv;
67
+ ctx: RuntimeContextValue;
68
+ request: Request | null;
69
+ locals: TLocals;
70
+ type: RuntimeEventType;
71
+ event: EventContext<TEnv, TLocals>;
72
+ }
73
+ export type EventAccessor<TEvent> = (() => TEvent) & {
74
+ safe: () => TEvent | null;
75
+ };
76
+ export interface EventInitOptions<TLocals extends Record<string, unknown> = Record<string, unknown>> {
77
+ locals?: TLocals;
78
+ }
79
+ export interface FetchEventInit<TParams extends Record<string, string> = Record<string, string>, TLocals extends Record<string, unknown> = Record<string, unknown>> extends EventInitOptions<TLocals> {
80
+ params?: TParams;
81
+ }
82
+ //# sourceMappingURL=context-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-types.d.ts","sourceRoot":"","sources":["../../src/runtime/context-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACzB,OAAO,GACP,WAAW,GACX,OAAO,GACP,OAAO,GACP,MAAM,GACN,sBAAsB,GACtB,sBAAsB,GACtB,kCAAkC,GAClC,gCAAgC,GAChC,gCAAgC,CAAA;AAEnC,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,IAAI,CAAA;AAE9E,MAAM,WAAW,YAAY,CAC5B,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEjE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAA;IAClB,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACxC;AAED,MAAM,MAAM,UAAU,CACrB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/D,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC9D,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;IACxD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,WAAW,UAAU,CAC1B,QAAQ,GAAG,OAAO,EAClB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc,CAC9B,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,mBAAmB,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;IACzD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAA;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;CAC9B;AAED,MAAM,WAAW,UAAU,CAC1B,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,uBAAuB,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;IACzC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;CAC9B;AAED,MAAM,WAAW,SAAS,CACzB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,KAAK,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;CAC9B;AAED,MAAM,WAAW,yBAAyB,CACzC,KAAK,SAAS,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,MAAM,EAAE,CAAC,EACnE,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;CAClC;AAED,MAAM,WAAW,uBAAuB,CACvC,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,OAAO,EAAE,yBAAyB,CAAC,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC;IAClF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,uBAAuB,CACvC,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,yBAAyB,CAAC,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC;CAAI;AAE9E,MAAM,WAAW,kCAAkC,CAClD,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,SAAS,EAAE,yBAAyB,CAAC,kCAAkC,EAAE,IAAI,EAAE,OAAO,CAAC;IAChG,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;CACtC;AAED,MAAM,WAAW,gCAAgC,CAChD,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,SAAS,EAAE,yBAAyB,CAAC,gCAAgC,EAAE,IAAI,EAAE,OAAO,CAAC;IAC9F,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,gCAAgC,CAChD,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,SAAS,EAAE,yBAAyB,CAAC,gCAAgC,EAAE,IAAI,EAAE,OAAO,CAAC;IAC9F,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,kBAAkB,CAC7B,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAE/D,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,GACtC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,GACtC,kCAAkC,CAAC,IAAI,EAAE,OAAO,CAAC,GACjD,gCAAgC,CAAC,IAAI,EAAE,OAAO,CAAC,GAC/C,gCAAgC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAElD,MAAM,MAAM,WAAW,CACtB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAE/D,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GACjD,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,GAClC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,GAC7B,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GACzB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAE3B,MAAM,MAAM,QAAQ,CACnB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC9D,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAElE,MAAM,WAAW,cAAc,CAC9B,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEjE,GAAG,EAAE,IAAI,CAAA;IACT,GAAG,EAAE,mBAAmB,CAAA;IACxB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,gBAAgB,CAAA;IACtB,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,GAAG;IACpD,IAAI,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClG,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,cAAc,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/D,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAChE,SAAQ,gBAAgB,CAAC,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB"}