@graphrefly/graphrefly 0.41.0 → 0.43.0

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 (296) hide show
  1. package/dist/{cascading-Cxs1eztH.d.cts → cascading-CH-_VwG9.d.cts} +2 -2
  2. package/dist/{cascading-BNfxffgc.d.ts → cascading-OgKQZjsa.d.ts} +2 -2
  3. package/dist/chunk-3XDYJRYU.js +1 -0
  4. package/dist/{chunk-AI7QC7J6.js → chunk-4YAN45KM.js} +1 -1
  5. package/dist/chunk-626TESAC.js +3 -0
  6. package/dist/chunk-6HOSXQKF.js +1 -0
  7. package/dist/{chunk-G3M3IMEV.js → chunk-CUNIRONA.js} +1 -1
  8. package/dist/chunk-EBW4V6JN.js +1 -0
  9. package/dist/chunk-FDQGFWLF.js +1 -0
  10. package/dist/{chunk-33N4TU3X.js → chunk-FG4TKHMC.js} +1 -1
  11. package/dist/{chunk-YQRN4CIV.js → chunk-I7IGYPSL.js} +1 -1
  12. package/dist/chunk-INQD2KRQ.js +1 -0
  13. package/dist/{chunk-7PQLZMOG.js → chunk-JNWRYDJN.js} +1 -1
  14. package/dist/{chunk-TT4C7DXW.js → chunk-JQFH2DV6.js} +1 -1
  15. package/dist/{chunk-M3FQSXEW.js → chunk-K2Q24F5T.js} +1 -1
  16. package/dist/chunk-KVV66NN2.js +1 -0
  17. package/dist/chunk-NON4NLIC.js +45 -0
  18. package/dist/{chunk-CYOSWFT2.js → chunk-O2BLLH7M.js} +3 -3
  19. package/dist/{chunk-OV5AA6HJ.js → chunk-OCKEEPRJ.js} +1 -1
  20. package/dist/{chunk-X7QKTXXC.js → chunk-OFZG3TB3.js} +3 -3
  21. package/dist/chunk-OYJKFY7V.js +1 -0
  22. package/dist/{chunk-SC27WTSG.js → chunk-P6C4WHZO.js} +1 -1
  23. package/dist/{chunk-VV62MIG4.js → chunk-PT7W5FCD.js} +1 -1
  24. package/dist/{chunk-UISPDFJ3.js → chunk-Q4U3A3L5.js} +1 -1
  25. package/dist/chunk-QE4IGY7I.js +61 -0
  26. package/dist/{chunk-5VEZLQFN.js → chunk-QYVXF7GW.js} +1 -1
  27. package/dist/{chunk-ZAJ7J7TO.js → chunk-S3EEIPO7.js} +1 -1
  28. package/dist/{chunk-GI4Q7PNY.js → chunk-SUWT3ZON.js} +1 -1
  29. package/dist/{chunk-CGNOWGV6.js → chunk-TPKQW72B.js} +1 -1
  30. package/dist/{chunk-L77I47VU.js → chunk-V5A7M7RJ.js} +1 -1
  31. package/dist/chunk-VNC3TMVY.js +1 -0
  32. package/dist/{chunk-AK5RHMC5.js → chunk-VOPGGIL7.js} +1 -1
  33. package/dist/chunk-VQ4A6T2A.js +1 -0
  34. package/dist/{chunk-KNVCCBIU.js → chunk-XG62INFA.js} +1 -1
  35. package/dist/{chunk-F7VUYPP6.js → chunk-Y4NI3X7O.js} +1 -1
  36. package/dist/compat/index.cjs +5 -5
  37. package/dist/compat/index.d.cts +16 -16
  38. package/dist/compat/index.d.ts +16 -16
  39. package/dist/compat/index.js +1 -1
  40. package/dist/compat/jotai/index.d.cts +2 -2
  41. package/dist/compat/jotai/index.d.ts +2 -2
  42. package/dist/compat/nanostores/index.d.cts +2 -2
  43. package/dist/compat/nanostores/index.d.ts +2 -2
  44. package/dist/compat/nestjs/index.cjs +5 -5
  45. package/dist/compat/nestjs/index.d.cts +8 -8
  46. package/dist/compat/nestjs/index.d.ts +8 -8
  47. package/dist/compat/nestjs/index.js +1 -1
  48. package/dist/compat/react/index.d.cts +2 -2
  49. package/dist/compat/react/index.d.ts +2 -2
  50. package/dist/compat/solid/index.d.cts +2 -2
  51. package/dist/compat/solid/index.d.ts +2 -2
  52. package/dist/compat/svelte/index.d.cts +2 -2
  53. package/dist/compat/svelte/index.d.ts +2 -2
  54. package/dist/compat/vue/index.d.cts +2 -2
  55. package/dist/compat/vue/index.d.ts +2 -2
  56. package/dist/compat/zustand/index.cjs +3 -3
  57. package/dist/compat/zustand/index.d.cts +4 -4
  58. package/dist/compat/zustand/index.d.ts +4 -4
  59. package/dist/compat/zustand/index.js +1 -1
  60. package/dist/core/index.d.cts +4 -4
  61. package/dist/core/index.d.ts +4 -4
  62. package/dist/{decay-C25AyNAj.d.cts → decay-2ZukgQ4o.d.cts} +2 -2
  63. package/dist/{decay-BnrlbxSv.d.ts → decay-CdEBmDIs.d.ts} +2 -2
  64. package/dist/extra/browser.d.cts +1 -1
  65. package/dist/extra/browser.d.ts +1 -1
  66. package/dist/extra/index.cjs +14 -14
  67. package/dist/extra/index.d.cts +10 -11
  68. package/dist/extra/index.d.ts +10 -11
  69. package/dist/extra/index.js +1 -1
  70. package/dist/extra/node.cjs +2 -2
  71. package/dist/extra/node.d.cts +1 -1
  72. package/dist/extra/node.d.ts +1 -1
  73. package/dist/extra/node.js +1 -1
  74. package/dist/extra/operators.cjs +1 -1
  75. package/dist/extra/operators.d.cts +1 -1
  76. package/dist/extra/operators.d.ts +1 -1
  77. package/dist/extra/operators.js +1 -1
  78. package/dist/extra/reactive.d.cts +3 -3
  79. package/dist/extra/reactive.d.ts +3 -3
  80. package/dist/extra/reactive.js +1 -1
  81. package/dist/extra/render/index.d.cts +3 -3
  82. package/dist/extra/render/index.d.ts +3 -3
  83. package/dist/extra/sources.cjs +3 -1
  84. package/dist/extra/sources.d.cts +1 -1
  85. package/dist/extra/sources.d.ts +1 -1
  86. package/dist/extra/sources.js +1 -1
  87. package/dist/extra/storage-browser.d.cts +1 -1
  88. package/dist/extra/storage-browser.d.ts +1 -1
  89. package/dist/{fallback-CMZl39L5.d.ts → fallback-CqYVLL6X.d.ts} +1 -1
  90. package/dist/{fallback-8JYU8tlT.d.cts → fallback-Ctlj2tMY.d.cts} +1 -1
  91. package/dist/graph/index.cjs +7 -7
  92. package/dist/graph/index.d.cts +5 -5
  93. package/dist/graph/index.d.ts +5 -5
  94. package/dist/graph/index.js +1 -1
  95. package/dist/{graph-BkIkog4h.d.ts → graph-7VguS7a4.d.ts} +3 -3
  96. package/dist/{graph-E6likq7w.d.cts → graph-C4SHb3Ly.d.cts} +3 -3
  97. package/dist/{index-DgJc8Zgc.d.cts → index-0rKFCVFp.d.cts} +90 -5
  98. package/dist/{index-BAQrjuZF.d.ts → index-B-i4_g3k.d.ts} +2 -2
  99. package/dist/{index-DpiGqtrs.d.cts → index-B5iz82A3.d.cts} +441 -381
  100. package/dist/{index-Bd91Nmf4.d.cts → index-BAOD98JD.d.cts} +4 -4
  101. package/dist/{index-2n8Eai6M.d.ts → index-BG0BN3PB.d.ts} +1 -1
  102. package/dist/{index-z8WFPVI8.d.cts → index-BJX94aud.d.cts} +1 -1
  103. package/dist/{index-DhLyOHYZ.d.ts → index-BP8a88zx.d.ts} +11 -4
  104. package/dist/{index-Cnr1WrlX.d.cts → index-BTQtTb_H.d.cts} +14 -3
  105. package/dist/{index-DOBLxOti.d.cts → index-BVpm6noz.d.cts} +1 -1
  106. package/dist/{index-Cczxgd2D.d.ts → index-Bc41FuHp.d.cts} +3 -3
  107. package/dist/{index-BiHUBEKq.d.cts → index-BdGtBX-X.d.cts} +3 -3
  108. package/dist/{index-da2V5vPy.d.ts → index-Bf7eqeSF.d.ts} +2 -2
  109. package/dist/{index-DuRsN9ae.d.cts → index-BiX1Nkgx.d.cts} +383 -18
  110. package/dist/{index-DGTo1yka.d.cts → index-BoLv_OfD.d.cts} +2 -2
  111. package/dist/{index-DVAlsmEU.d.cts → index-BojK2fwH.d.cts} +3 -3
  112. package/dist/{index-B72TQQHd.d.cts → index-BsT7F2et.d.ts} +3 -3
  113. package/dist/{index-DGD4_fj6.d.cts → index-BwLvVVsy.d.cts} +8 -5
  114. package/dist/{index-CQtWm7jS.d.ts → index-C59mYFKp.d.ts} +9 -9
  115. package/dist/{index-C6ZUaos7.d.ts → index-C7O6r5fV.d.ts} +1 -1
  116. package/dist/{index-CL7oilfm.d.cts → index-C9kSENB4.d.cts} +1 -1
  117. package/dist/{index-DVDapw2k.d.cts → index-C9pjcz3l.d.cts} +35 -36
  118. package/dist/{index-CG33HeBW.d.ts → index-CAC_rNzm.d.ts} +8 -5
  119. package/dist/{index-yLt-aPMp.d.ts → index-CCq87F7t.d.ts} +1 -1
  120. package/dist/{index-D4uimgee.d.cts → index-CDXc9zKM.d.cts} +1 -1
  121. package/dist/{index-B2RUoIUz.d.ts → index-CJK1JkYy.d.ts} +1 -1
  122. package/dist/{index-DktLSZOc.d.cts → index-CLon-IWF.d.cts} +4 -4
  123. package/dist/{index-DQQCOIt8.d.cts → index-COD1kVoS.d.cts} +10 -5
  124. package/dist/{index-bXXLSvor.d.ts → index-CPT7C_f1.d.ts} +4 -4
  125. package/dist/{index-CD2dBMet.d.ts → index-CQG3D1cp.d.ts} +10 -5
  126. package/dist/{index-BQ1fR4li.d.ts → index-CZQXo5tH.d.ts} +35 -36
  127. package/dist/{index-A3U3CSve.d.cts → index-CZjOhcBy.d.cts} +2 -2
  128. package/dist/{index-DYTBbF8T.d.cts → index-ChOyVLKm.d.cts} +1 -1
  129. package/dist/{index-BJSZxSFX.d.ts → index-CvrqGfNS.d.ts} +1 -1
  130. package/dist/{index-DhnsQfa3.d.ts → index-D-AEQVLo.d.ts} +441 -381
  131. package/dist/{index-CAP3UGsq.d.ts → index-D4Y1cMG0.d.ts} +1 -1
  132. package/dist/{index-40ZT4MHj.d.ts → index-DBHK8O6H.d.ts} +14 -3
  133. package/dist/{index-3k4Gg6-n.d.ts → index-DBevwHj_.d.ts} +3 -3
  134. package/dist/{index-Ctb7_2sG.d.ts → index-DIOoAZUX.d.ts} +1 -1
  135. package/dist/{index-WSlcjhQF.d.ts → index-DSZ3ZCHF.d.ts} +124 -13
  136. package/dist/{index-DH4fm2Ck.d.ts → index-Dgs8zcj7.d.ts} +2 -2
  137. package/dist/{index-BaA-xpSw.d.ts → index-Dh_HJ82K.d.ts} +3 -3
  138. package/dist/{index-CtFNGe-m.d.cts → index-Dhc7a7Xo.d.cts} +2 -2
  139. package/dist/{index-CoM4rzyB.d.ts → index-Dmqp7KjD.d.ts} +1 -1
  140. package/dist/{index-B6iTqKtJ.d.ts → index-Dn-wI9g4.d.ts} +2 -2
  141. package/dist/{index-C-dkXOpB.d.cts → index-Du7u1lSf.d.cts} +11 -4
  142. package/dist/{index-DfOK_oL5.d.ts → index-DwigL4lY.d.ts} +383 -18
  143. package/dist/index-DyR7eU5S.d.cts +779 -0
  144. package/dist/index-JZUPJIJy.d.ts +779 -0
  145. package/dist/{index-I1cCY3ZI.d.ts → index-K0_0eR8g.d.ts} +90 -5
  146. package/dist/{index-BilOa6AE.d.cts → index-O16yXPK4.d.cts} +124 -13
  147. package/dist/{index-CRm0YIzC.d.cts → index-O7fucFrU.d.cts} +9 -9
  148. package/dist/{index-MxYuWOrf.d.cts → index-RV_yDjOX.d.cts} +3 -3
  149. package/dist/{index-C5cQ7Gfx.d.ts → index-cm1GNcWE.d.ts} +4 -4
  150. package/dist/{index-CgnCFhr2.d.cts → index-f5IivDUX.d.cts} +1 -1
  151. package/dist/{index-PgwvGWa1.d.cts → index-hHcaFlJX.d.cts} +1 -1
  152. package/dist/{index-tV3AA9hI.d.cts → index-tJoTcnHh.d.cts} +2 -2
  153. package/dist/{index-eaQuGJnv.d.ts → index-wAzD9yVj.d.ts} +3 -3
  154. package/dist/{index-D3ayz3hy.d.cts → index-z96luz5O.d.cts} +1 -1
  155. package/dist/index.cjs +48 -48
  156. package/dist/index.d.cts +45 -50
  157. package/dist/index.d.ts +45 -50
  158. package/dist/index.js +1 -1
  159. package/dist/{meta-D8OyedKp.d.ts → meta-BgVAsg9j.d.ts} +1 -1
  160. package/dist/{meta-Ct9nqQS5.d.cts → meta-vE8bxW1E.d.cts} +1 -1
  161. package/dist/{node-BYInONRr.d.cts → node-ClS5yC-B.d.cts} +1 -1
  162. package/dist/{node-BYInONRr.d.ts → node-ClS5yC-B.d.ts} +1 -1
  163. package/dist/{observable-DO8DDEzv.d.ts → observable-BsBzUrcI.d.ts} +1 -1
  164. package/dist/{observable-DMIlYJV1.d.cts → observable-DLGPPtb8.d.cts} +1 -1
  165. package/dist/patterns/ai/browser.d.cts +4 -4
  166. package/dist/patterns/ai/browser.d.ts +4 -4
  167. package/dist/patterns/ai/browser.js +1 -1
  168. package/dist/patterns/ai/index.cjs +17 -17
  169. package/dist/patterns/ai/index.d.cts +17 -17
  170. package/dist/patterns/ai/index.d.ts +17 -17
  171. package/dist/patterns/ai/index.js +1 -1
  172. package/dist/patterns/ai/node.d.cts +4 -4
  173. package/dist/patterns/ai/node.d.ts +4 -4
  174. package/dist/patterns/ai/node.js +1 -1
  175. package/dist/patterns/cqrs/index.cjs +3 -3
  176. package/dist/patterns/cqrs/index.d.cts +6 -6
  177. package/dist/patterns/cqrs/index.d.ts +6 -6
  178. package/dist/patterns/cqrs/index.js +1 -1
  179. package/dist/patterns/demo-shell/index.cjs +5 -5
  180. package/dist/patterns/demo-shell/index.d.cts +5 -5
  181. package/dist/patterns/demo-shell/index.d.ts +5 -5
  182. package/dist/patterns/demo-shell/index.js +1 -1
  183. package/dist/patterns/domain-templates/index.cjs +3 -3
  184. package/dist/patterns/domain-templates/index.d.cts +4 -4
  185. package/dist/patterns/domain-templates/index.d.ts +4 -4
  186. package/dist/patterns/domain-templates/index.js +1 -1
  187. package/dist/patterns/graphspec/index.cjs +12 -12
  188. package/dist/patterns/graphspec/index.d.cts +5 -5
  189. package/dist/patterns/graphspec/index.d.ts +5 -5
  190. package/dist/patterns/graphspec/index.js +1 -1
  191. package/dist/patterns/harness/index.cjs +10 -8
  192. package/dist/patterns/harness/index.d.cts +11 -12
  193. package/dist/patterns/harness/index.d.ts +11 -12
  194. package/dist/patterns/harness/index.js +1 -1
  195. package/dist/patterns/inspect/index.cjs +3 -0
  196. package/dist/patterns/inspect/index.d.cts +9 -0
  197. package/dist/patterns/inspect/index.d.ts +9 -0
  198. package/dist/patterns/inspect/index.js +1 -0
  199. package/dist/patterns/job-queue/index.cjs +3 -3
  200. package/dist/patterns/job-queue/index.d.cts +6 -6
  201. package/dist/patterns/job-queue/index.d.ts +6 -6
  202. package/dist/patterns/job-queue/index.js +1 -1
  203. package/dist/patterns/memory/index.cjs +3 -3
  204. package/dist/patterns/memory/index.d.cts +6 -6
  205. package/dist/patterns/memory/index.d.ts +6 -6
  206. package/dist/patterns/memory/index.js +1 -1
  207. package/dist/patterns/messaging/index.cjs +3 -3
  208. package/dist/patterns/messaging/index.d.cts +5 -5
  209. package/dist/patterns/messaging/index.d.ts +5 -5
  210. package/dist/patterns/messaging/index.js +1 -1
  211. package/dist/patterns/orchestration/index.cjs +3 -3
  212. package/dist/patterns/orchestration/index.d.cts +7 -7
  213. package/dist/patterns/orchestration/index.d.ts +7 -7
  214. package/dist/patterns/orchestration/index.js +1 -1
  215. package/dist/patterns/process/index.cjs +1 -1
  216. package/dist/patterns/process/index.d.cts +7 -7
  217. package/dist/patterns/process/index.d.ts +7 -7
  218. package/dist/patterns/process/index.js +1 -1
  219. package/dist/patterns/reactive-layout/index.cjs +4 -4
  220. package/dist/patterns/reactive-layout/index.d.cts +5 -5
  221. package/dist/patterns/reactive-layout/index.d.ts +5 -5
  222. package/dist/patterns/reactive-layout/index.js +1 -1
  223. package/dist/patterns/reduction/index.cjs +3 -3
  224. package/dist/patterns/reduction/index.d.cts +4 -4
  225. package/dist/patterns/reduction/index.d.ts +4 -4
  226. package/dist/patterns/reduction/index.js +1 -1
  227. package/dist/patterns/surface/index.cjs +8 -8
  228. package/dist/patterns/surface/index.d.cts +6 -6
  229. package/dist/patterns/surface/index.d.ts +6 -6
  230. package/dist/patterns/surface/index.js +1 -1
  231. package/dist/{pipeline-graph-MWrQZXCq.d.cts → pipeline-graph-DPqKDk59.d.cts} +5 -5
  232. package/dist/{pipeline-graph-CB4La-UW.d.ts → pipeline-graph-loP57TBA.d.ts} +5 -5
  233. package/dist/{reactive-layout-BtZfUKuL.d.cts → reactive-layout-Dsvob4zD.d.cts} +2 -2
  234. package/dist/{reactive-layout-KJj4E2dT.d.ts → reactive-layout-v7KPvxoc.d.ts} +2 -2
  235. package/dist/{reactive-log-_zeEnB9H.d.cts → reactive-log-B00laMSQ.d.cts} +1 -1
  236. package/dist/{reactive-log-BlAsPLl2.d.ts → reactive-log-BezYsbA_.d.ts} +1 -1
  237. package/dist/{reactive-map-6P_k3AQM.d.cts → reactive-map-48mnZ-nu.d.cts} +1 -1
  238. package/dist/{reactive-map-CjXByDV-.d.ts → reactive-map-BVVPdvmi.d.ts} +1 -1
  239. package/dist/resilience-YIWPK4YC.js +1 -0
  240. package/dist/{sugar-DzePN5-g.d.cts → sugar-DLwvMr3F.d.ts} +24 -4
  241. package/dist/{sugar-BhfjgetH.d.ts → sugar-DyVGtczU.d.cts} +24 -4
  242. package/dist/{topology-tree-mF7Emqzm.d.ts → topology-tree-BNGvuG82.d.ts} +1 -1
  243. package/dist/{topology-tree-3LBKFsUo.d.cts → topology-tree-BSdfSwMi.d.cts} +1 -1
  244. package/dist/{types-1Dhoi7HM.d.cts → types-B1jDWVsM.d.cts} +1 -1
  245. package/dist/{types-39jk0kaV.d.ts → types-DkzUUs0H.d.ts} +1 -1
  246. package/package.json +11 -51
  247. package/dist/budget-gate-CmmVtasH.d.ts +0 -115
  248. package/dist/budget-gate-DiP_nK0n.d.cts +0 -115
  249. package/dist/chunk-2W553JJC.js +0 -1
  250. package/dist/chunk-4MKL6Q3K.js +0 -1
  251. package/dist/chunk-5B3JDG5F.js +0 -1
  252. package/dist/chunk-5QSXEMXG.js +0 -1
  253. package/dist/chunk-5TEFC2ZX.js +0 -1
  254. package/dist/chunk-5TOPVRN6.js +0 -1
  255. package/dist/chunk-EC2WNSZ7.js +0 -1
  256. package/dist/chunk-ELAASRBT.js +0 -3
  257. package/dist/chunk-H5SCWHWP.js +0 -1
  258. package/dist/chunk-OLIKJUKI.js +0 -1
  259. package/dist/chunk-POXANAJ6.js +0 -3
  260. package/dist/chunk-RSMEXK53.js +0 -43
  261. package/dist/chunk-SGS4OJGS.js +0 -1
  262. package/dist/chunk-URJ2VFNC.js +0 -1
  263. package/dist/chunk-VXPLLA4P.js +0 -1
  264. package/dist/chunk-WZYB3JQS.js +0 -1
  265. package/dist/chunk-Z6X7B6A4.js +0 -61
  266. package/dist/index-8s-Qm-gz.d.ts +0 -218
  267. package/dist/index-BgjS2b8N.d.ts +0 -366
  268. package/dist/index-BmSQLAZo.d.cts +0 -244
  269. package/dist/index-CGhMJNHb.d.cts +0 -128
  270. package/dist/index-CUIkE1l9.d.cts +0 -230
  271. package/dist/index-Ck35nA-T.d.ts +0 -244
  272. package/dist/index-CuPUehFa.d.cts +0 -218
  273. package/dist/index-D1Gc7wV5.d.ts +0 -230
  274. package/dist/index-N2MAxt7_.d.ts +0 -128
  275. package/dist/index-t6L2qpHh.d.cts +0 -366
  276. package/dist/patterns/audit/index.cjs +0 -3
  277. package/dist/patterns/audit/index.d.cts +0 -8
  278. package/dist/patterns/audit/index.d.ts +0 -8
  279. package/dist/patterns/audit/index.js +0 -1
  280. package/dist/patterns/guarded-execution/index.cjs +0 -3
  281. package/dist/patterns/guarded-execution/index.d.cts +0 -9
  282. package/dist/patterns/guarded-execution/index.d.ts +0 -9
  283. package/dist/patterns/guarded-execution/index.js +0 -1
  284. package/dist/patterns/lens/index.cjs +0 -3
  285. package/dist/patterns/lens/index.d.cts +0 -7
  286. package/dist/patterns/lens/index.d.ts +0 -7
  287. package/dist/patterns/lens/index.js +0 -1
  288. package/dist/patterns/refine-loop/index.cjs +0 -5
  289. package/dist/patterns/refine-loop/index.d.cts +0 -9
  290. package/dist/patterns/refine-loop/index.d.ts +0 -9
  291. package/dist/patterns/refine-loop/index.js +0 -1
  292. package/dist/patterns/resilient-pipeline/index.cjs +0 -3
  293. package/dist/patterns/resilient-pipeline/index.d.cts +0 -8
  294. package/dist/patterns/resilient-pipeline/index.d.ts +0 -8
  295. package/dist/patterns/resilient-pipeline/index.js +0 -1
  296. package/dist/resilience-JISHQD2F.js +0 -1
@@ -1,4 +1,4 @@
1
- import{b as Re,i as Pe}from"./chunk-4MKL6Q3K.js";import{a as Ne}from"./chunk-SGS4OJGS.js";import{x as fe}from"./chunk-AK5RHMC5.js";import{a as Z,b as le,i as Oe}from"./chunk-4VVTGLXJ.js";import{f as pe}from"./chunk-L77I47VU.js";import{A as ee,D as be,E as U,F as B,m as J,p as D}from"./chunk-LYCLF26R.js";import{b as E,c as ye,d as ke,h as de,i as P,j as x}from"./chunk-CK2E7BTU.js";function Ce(r){return{describeKind:"producer",...r}}function oe(r,n){return B(i=>{let s=!0,u={emit(t){s&&i.emit(t)},error(t){s&&(s=!1,i.down([[x,t]]))},complete(){s&&(s=!1,i.down([[P]]))}},o;try{let t=r(u);o=typeof t=="function"?t:void 0}catch(t){return u.error(t),()=>{s=!1}}return()=>{s=!1;try{o?.()}catch{}}},Ce(n))}function Me(r,n,i){let s=!0,u,o=0,t=0,e={},a=[],c=()=>{let l=u;u=void 0;try{l?.()}catch{}};for(let l of n){let m=i?.name?`${i.name}::${l}`:l,g=i?.channelOpts?.[l],y=B(T=>(o++,()=>{t++,o>0&&t>=o&&t>=n.length&&c()}),Ce({...g,name:m}));e[l]=y,a.push(y)}let f={};for(let l of n)f[l]=m=>{s&&e[l].down([[E,m]])};f.error=l=>{s&&(s=!1,J(()=>{for(let m of a)m.down([[x,l]])}),c())},f.complete=()=>{s&&(s=!1,J(()=>{for(let l of a)l.down([[P]])}),c())};let p=r(f);return u=typeof p=="function"?p:void 0,Object.assign(e,{dispose:()=>{s&&(s=!1,J(()=>{for(let l of a)try{l.down([[P]])}catch{}}),c())}})}var he=class{ring;arr;constructor(n){n===Number.POSITIVE_INFINITY||n<=0?(this.arr=[],this.ring=null):(this.ring=new Ne(n),this.arr=null)}get length(){return this.ring!=null?this.ring.size:this.arr.length}push(n){this.ring!=null?this.ring.push(n):this.arr.push(n)}shift(){return this.ring!=null?this.ring.shift():this.arr.shift()}drain(){if(this.ring!=null){let i=this.ring.toArray();return this.ring.clear(),i}let n=this.arr;return this.arr=[],n}};function se(r){return r instanceof Error?r:new Error(String(r))}function De(r){return r===void 0?null:typeof r=="string"?Oe(r):r}function z(r,n){let{name:i,onTransportError:s,retry:u,backpressure:o,batchSize:t=Number.POSITIVE_INFINITY,flushIntervalMs:e=0,serialize:a,stopOn:c,onUpstreamMessage:f,onDispose:p,send:d,sendBatch:l,ctx:m}=n;if(!d&&!l)throw new Error("reactiveSink: `send` or `sendBatch` must be provided");let g=m,y=Math.max(1,u?.maxAttempts??1),T=De(u?.backoff??(y>1?"exponential":void 0)),h=u?.shouldRetry??(()=>!0),b=l!==void 0||t<Number.POSITIVE_INFINITY||e>0,w=k=>i?`${i}::${k}`:void 0,v=U(void 0,{equals:()=>!1,name:w("sent")}),S=U(null,{name:w("failed")}),L=U(0,{name:w("inFlight")}),F=U(null,{name:w("errors")}),K=b?U(0,{name:w("buffered")}):void 0,Y=o?U(!1,{name:w("paused")}):void 0,ie=0,Q=k=>{ie+=k,L.down([[E,ie]])},O=k=>{try{s?.(k)}catch{}try{F.down([[E,k]])}catch{}},q=new Set,V=k=>{q.add(k);let N=()=>q.delete(k);k.then(N,N)},I=(k,N,C)=>{let A=T?T(N-1,C,null):0,H=A==null?0:typeof A=="number"&&A>0?A:0,j=Math.max(1,Math.ceil(H/1e6));return new Promise(M=>{setTimeout(()=>M(k()),j)})},$=k=>k!=null&&typeof k=="object"&&typeof k.then=="function",_=k=>{let N;try{N=a?a(k):k}catch(M){let R=se(M);return O({stage:"serialize",error:R,value:k}),S.down([[E,{value:k,error:R,attempts:0}]]),Promise.resolve()}let C=0,A=M=>{Q(-1);let R=se(M);if(O({stage:"send",error:R,value:k,attempt:C}),!(C<y&&h(R,C))){S.down([[E,{value:k,error:R,attempts:C}]]);return}return I(j,C,R)},H=()=>{Q(-1),v.down([[E,k]])};function j(){C+=1,Q(1);let M;try{M=d(N,g)}catch(R){return A(R)??Promise.resolve()}return $(M)?M.then(H,R=>A(R)):(H(),Promise.resolve())}return j()},te=o?.maxBuffer??Number.POSITIVE_INFINITY,X=new he(te),G,ae=!1,me=()=>{K?.down([[E,X.length]])},ue=k=>{Y&&Y.down([[E,k]])},we=o?.strategy??"drop-oldest",Be=(k,N)=>{let C={value:k,payload:N};if(X.length<te)return X.push(C),me(),!0;if(we==="drop-oldest"){let H=X.shift();return X.push(C),me(),ue(!0),S.down([[E,{value:H.value,error:new Error("backpressure: buffer overflow \u2014 dropped oldest"),attempts:0}]]),!0}if(we==="drop-newest")return ue(!0),S.down([[E,{value:k,error:new Error("backpressure: buffer overflow \u2014 dropped newest"),attempts:0}]]),!1;let A=new Error("backpressure: buffer overflow");return O({stage:"send",error:A,value:k}),S.down([[E,{value:k,error:A,attempts:0}]]),ue(!0),!1},Fe=k=>{let N=0,C=k.map(M=>M.payload),A=M=>{Q(-1);let R=se(M);if(O({stage:"send",error:R,value:k.map(ge=>ge.value),attempt:N}),!(N<y&&h(R,N))){for(let{value:ge}of k)S.down([[E,{value:ge,error:R,attempts:N}]]);return}return I(j,N,R)},H=()=>{Q(-1);for(let{value:M}of k)v.down([[E,M]])};function j(){N+=1,Q(1);let M;try{M=l(C,g)}catch(R){return A(R)??Promise.resolve()}return $(M)?M.then(H,R=>A(R)):(H(),Promise.resolve())}return j()},He=async k=>{for(let N of k)await ze(N.value,N.payload)},ze=(k,N)=>{let C=0,A=M=>{Q(-1);let R=se(M);if(O({stage:"send",error:R,value:k,attempt:C}),!(C<y&&h(R,C))){S.down([[E,{value:k,error:R,attempts:C}]]);return}return I(j,C,R)},H=()=>{Q(-1),v.down([[E,k]])};function j(){C+=1,Q(1);let M;try{M=d(N,g)}catch(R){return A(R)??Promise.resolve()}return $(M)?M.then(H,R=>A(R)):(H(),Promise.resolve())}return j()},ne=()=>{if(ae||X.length===0)return Promise.resolve();let k=X.drain();if(me(),ue(!1),l!==void 0){let C=Fe(k);return V(C),C}let N=He(k);return V(N),N},qe=()=>{G!==void 0||ae||e<=0||(G=setTimeout(()=>{G=void 0,ne()},e))},Ue=r.subscribe(k=>{for(let N of k){let C=N[0];if(C!==E)try{f?.(N)}catch{}if(C===E){let A=N[1];if(b){let H;if(a)try{H=a(A)}catch(M){let R=se(M);O({stage:"serialize",error:R,value:A}),S.down([[E,{value:A,error:R,attempts:0}]]);continue}else H=A;if(!Be(A,H))continue;X.length>=t?ne():qe()}else{let H=_(A);V(H)}}else ee.messageTier(C)>=3&&b&&(G!==void 0&&(clearTimeout(G),G=void 0),ne())}}),Se;if(c){let k=!1;Se=c.subscribe(N=>{if(!k){k=!0;return}N.length>0&&!Te&&Ee()})}let Te=!1,Ee=()=>{if(Te)return;Te=!0,G!==void 0&&(clearTimeout(G),G=void 0),b&&ne(),ae=!0,Se?.(),Ue();let k=N=>{try{N.down([[de]])}catch{}};k(F),k(S),k(v),k(L),K&&k(K),Y&&k(Y);try{p?.()}catch{}},ce={dispose:Ee,sent:v,failed:S,inFlight:L,errors:F};return b&&(ce.buffered=K,ce.flush=async()=>{ae||(await ne(),await Promise.all(q))}),Y&&(ce.paused=Y),ce}function W(r){return{describeKind:"producer",...r}}function Ke(r,n){let{parse:i,closeOnTeardown:s=!1,...u}=n??{};return B(o=>{let t=!0,e,a=()=>{let T=e;e=void 0,T?.()},c=T=>{t&&(t=!1,o.down([T]),a())},f=(T,h=T)=>{if(t)try{let b=T!==null&&typeof T=="object"&&"data"in T?T.data:T,w=i?i(b,h):b;o.emit(w)}catch(b){c([x,b])}},p=T=>{c([x,T])},d=()=>{c([P])};if(typeof r=="function"){try{if(e=r(f,p,d),typeof e!="function")throw new Error("fromWebSocket register contract violation: register must return cleanup callable")}catch(T){c([x,T])}return()=>{t=!1,a()}}let l=r,m=T=>f(T,T),g=T=>p(T),y=()=>d();return l.addEventListener("message",m),l.addEventListener("error",g),l.addEventListener("close",y),e=()=>{l.removeEventListener("message",m),l.removeEventListener("error",g),l.removeEventListener("close",y),s&&l.close()},()=>{t=!1,a()}},W(u))}function Tr(r,n){return oe(r,n)}function $e(r,n){let{method:i="GET",headers:s,body:u,transform:o=b=>b.json(),timeoutNs:t=30*1e9,signal:e,completeAfterFetch:a=!1,refetchOnSubscribe:c=!1,...f}=n??{},p=U(0,{name:`${f.name??"http"}/fetchCount`}),d=U(0,{name:`${f.name??"http"}/lastUpdated`}),l=U(!1,{name:`${f.name??"http"}/fetched`}),m=0,g=u!==void 0?typeof u=="string"?u:JSON.stringify(u):void 0,y=b=>{let w=new AbortController,v=!0;if(e?.aborted)return v=!1,b.down([[x,e.reason??new Error("Aborted")]]),()=>{};e?.addEventListener("abort",()=>w.abort(e.reason),{once:!0});let S=setTimeout(()=>w.abort(new Error("Request timeout")),Math.ceil(t/1e6));return fetch(r,{method:i,headers:s,body:g,signal:w.signal}).then(async L=>{if(clearTimeout(S),!v)return;if(!L.ok)throw new Error(`HTTP ${L.status}: ${L.statusText}`);let F=await o(L);v&&(J(()=>{m+=1,p.down([[E,m]]),d.down([[E,D()]]),l.down([[E,!0]]),b.emit(F)}),a&&b.down([[P]]))}).catch(L=>{clearTimeout(S),v&&(L&&L.name==="AbortError"||b.down([[x,L]]))}),()=>{v=!1,w.abort()}},T=B(b=>y({emit:w=>b.emit(w),down:w=>b.down(w)}),{...W(f),resubscribable:c});return{...Pe(T),fetchCount:p,lastUpdated:d,fetched:l}}function gr(r,n,i){let{method:s="POST",headers:u={"Content-Type":"application/json"},serialize:o=m=>JSON.stringify(m),timeoutNs:t,batchFormat:e="json-array",batchSize:a,flushIntervalMs:c,retry:f,onTransportError:p}=i??{},d=async m=>{let g=t!==void 0?new AbortController:void 0,y;g&&t!==void 0&&(y=setTimeout(()=>g.abort(new Error("Request timeout")),Math.ceil(t/1e6)));try{let T=await fetch(n,{method:s,headers:u,body:m,signal:g?.signal}),h=async()=>{try{await T.arrayBuffer?.()}catch{}};if(!T.ok)throw await h(),new Error(`HTTP ${T.status}: ${T.statusText}`);await h()}finally{y!==void 0&&clearTimeout(y)}};return a!==void 0||c!==void 0?z(r,{onTransportError:p,retry:f,batchSize:a,flushIntervalMs:c,sendBatch:async m=>{let g;e==="ndjson"?g=m.map(y=>{let T=o(y);return typeof T=="string"?T:new TextDecoder().decode(T)}).join(`
1
+ import{d as Re,k as Pe}from"./chunk-VNC3TMVY.js";import{f as Oe}from"./chunk-626TESAC.js";import{x as pe}from"./chunk-VOPGGIL7.js";import{a as Z,b as le,i as Ne}from"./chunk-4VVTGLXJ.js";import{f as fe}from"./chunk-V5A7M7RJ.js";import{A as ee,D as be,E as U,F as B,m as J,p as D}from"./chunk-LYCLF26R.js";import{b as E,c as ye,d as ke,h as de,i as P,j as x}from"./chunk-CK2E7BTU.js";function Ce(r){return{describeKind:"producer",...r}}function oe(r,n){return B(i=>{let s=!0,u={emit(t){s&&i.emit(t)},error(t){s&&(s=!1,i.down([[x,t]]))},complete(){s&&(s=!1,i.down([[P]]))}},o;try{let t=r(u);o=typeof t=="function"?t:void 0}catch(t){return u.error(t),()=>{s=!1}}return()=>{s=!1;try{o?.()}catch{}}},Ce(n))}function Me(r,n,i){let s=!0,u,o=0,t=0,e={},a=[],c=()=>{let l=u;u=void 0;try{l?.()}catch{}};for(let l of n){let m=i?.name?`${i.name}::${l}`:l,g=i?.channelOpts?.[l],y=B(T=>(o++,()=>{t++,o>0&&t>=o&&t>=n.length&&c()}),Ce({...g,name:m}));e[l]=y,a.push(y)}let f={};for(let l of n)f[l]=m=>{s&&e[l].down([[E,m]])};f.error=l=>{s&&(s=!1,J(()=>{for(let m of a)m.down([[x,l]])}),c())},f.complete=()=>{s&&(s=!1,J(()=>{for(let l of a)l.down([[P]])}),c())};let p=r(f);return u=typeof p=="function"?p:void 0,Object.assign(e,{dispose:()=>{s&&(s=!1,J(()=>{for(let l of a)try{l.down([[P]])}catch{}}),c())}})}var he=class{ring;arr;constructor(n){n===Number.POSITIVE_INFINITY||n<=0?(this.arr=[],this.ring=null):(this.ring=new Oe(n),this.arr=null)}get length(){return this.ring!=null?this.ring.size:this.arr.length}push(n){this.ring!=null?this.ring.push(n):this.arr.push(n)}shift(){return this.ring!=null?this.ring.shift():this.arr.shift()}drain(){if(this.ring!=null){let i=this.ring.toArray();return this.ring.clear(),i}let n=this.arr;return this.arr=[],n}};function se(r){return r instanceof Error?r:new Error(String(r))}function De(r){return r===void 0?null:typeof r=="string"?Ne(r):r}function z(r,n){let{name:i,onTransportError:s,retry:u,backpressure:o,batchSize:t=Number.POSITIVE_INFINITY,flushIntervalMs:e=0,serialize:a,stopOn:c,onUpstreamMessage:f,onDispose:p,send:d,sendBatch:l,ctx:m}=n;if(!d&&!l)throw new Error("reactiveSink: `send` or `sendBatch` must be provided");let g=m,y=Math.max(1,u?.maxAttempts??1),T=De(u?.backoff??(y>1?"exponential":void 0)),h=u?.shouldRetry??(()=>!0),b=l!==void 0||t<Number.POSITIVE_INFINITY||e>0,w=k=>i?`${i}::${k}`:void 0,v=U(void 0,{equals:()=>!1,name:w("sent")}),S=U(null,{name:w("failed")}),L=U(0,{name:w("inFlight")}),F=U(null,{name:w("errors")}),K=b?U(0,{name:w("buffered")}):void 0,Y=o?U(!1,{name:w("paused")}):void 0,ie=0,Q=k=>{ie+=k,L.down([[E,ie]])},O=k=>{try{s?.(k)}catch{}try{F.down([[E,k]])}catch{}},q=new Set,V=k=>{q.add(k);let N=()=>q.delete(k);k.then(N,N)},I=(k,N,C)=>{let A=T?T(N-1,C,null):0,H=A==null?0:typeof A=="number"&&A>0?A:0,j=Math.max(1,Math.ceil(H/1e6));return new Promise(M=>{setTimeout(()=>M(k()),j)})},$=k=>k!=null&&typeof k=="object"&&typeof k.then=="function",_=k=>{let N;try{N=a?a(k):k}catch(M){let R=se(M);return O({stage:"serialize",error:R,value:k}),S.down([[E,{value:k,error:R,attempts:0}]]),Promise.resolve()}let C=0,A=M=>{Q(-1);let R=se(M);if(O({stage:"send",error:R,value:k,attempt:C}),!(C<y&&h(R,C))){S.down([[E,{value:k,error:R,attempts:C}]]);return}return I(j,C,R)},H=()=>{Q(-1),v.down([[E,k]])};function j(){C+=1,Q(1);let M;try{M=d(N,g)}catch(R){return A(R)??Promise.resolve()}return $(M)?M.then(H,R=>A(R)):(H(),Promise.resolve())}return j()},te=o?.maxBuffer??Number.POSITIVE_INFINITY,X=new he(te),G,ae=!1,me=()=>{K?.down([[E,X.length]])},ue=k=>{Y&&Y.down([[E,k]])},we=o?.strategy??"drop-oldest",Be=(k,N)=>{let C={value:k,payload:N};if(X.length<te)return X.push(C),me(),!0;if(we==="drop-oldest"){let H=X.shift();return X.push(C),me(),ue(!0),S.down([[E,{value:H.value,error:new Error("backpressure: buffer overflow \u2014 dropped oldest"),attempts:0}]]),!0}if(we==="drop-newest")return ue(!0),S.down([[E,{value:k,error:new Error("backpressure: buffer overflow \u2014 dropped newest"),attempts:0}]]),!1;let A=new Error("backpressure: buffer overflow");return O({stage:"send",error:A,value:k}),S.down([[E,{value:k,error:A,attempts:0}]]),ue(!0),!1},Fe=k=>{let N=0,C=k.map(M=>M.payload),A=M=>{Q(-1);let R=se(M);if(O({stage:"send",error:R,value:k.map(ge=>ge.value),attempt:N}),!(N<y&&h(R,N))){for(let{value:ge}of k)S.down([[E,{value:ge,error:R,attempts:N}]]);return}return I(j,N,R)},H=()=>{Q(-1);for(let{value:M}of k)v.down([[E,M]])};function j(){N+=1,Q(1);let M;try{M=l(C,g)}catch(R){return A(R)??Promise.resolve()}return $(M)?M.then(H,R=>A(R)):(H(),Promise.resolve())}return j()},He=async k=>{for(let N of k)await ze(N.value,N.payload)},ze=(k,N)=>{let C=0,A=M=>{Q(-1);let R=se(M);if(O({stage:"send",error:R,value:k,attempt:C}),!(C<y&&h(R,C))){S.down([[E,{value:k,error:R,attempts:C}]]);return}return I(j,C,R)},H=()=>{Q(-1),v.down([[E,k]])};function j(){C+=1,Q(1);let M;try{M=d(N,g)}catch(R){return A(R)??Promise.resolve()}return $(M)?M.then(H,R=>A(R)):(H(),Promise.resolve())}return j()},ne=()=>{if(ae||X.length===0)return Promise.resolve();let k=X.drain();if(me(),ue(!1),l!==void 0){let C=Fe(k);return V(C),C}let N=He(k);return V(N),N},qe=()=>{G!==void 0||ae||e<=0||(G=setTimeout(()=>{G=void 0,ne()},e))},Ue=r.subscribe(k=>{for(let N of k){let C=N[0];if(C!==E)try{f?.(N)}catch{}if(C===E){let A=N[1];if(b){let H;if(a)try{H=a(A)}catch(M){let R=se(M);O({stage:"serialize",error:R,value:A}),S.down([[E,{value:A,error:R,attempts:0}]]);continue}else H=A;if(!Be(A,H))continue;X.length>=t?ne():qe()}else{let H=_(A);V(H)}}else ee.messageTier(C)>=3&&b&&(G!==void 0&&(clearTimeout(G),G=void 0),ne())}}),Se;if(c){let k=!1;Se=c.subscribe(N=>{if(!k){k=!0;return}N.length>0&&!Te&&Ee()})}let Te=!1,Ee=()=>{if(Te)return;Te=!0,G!==void 0&&(clearTimeout(G),G=void 0),b&&ne(),ae=!0,Se?.(),Ue();let k=N=>{try{N.down([[de]])}catch{}};k(F),k(S),k(v),k(L),K&&k(K),Y&&k(Y);try{p?.()}catch{}},ce={dispose:Ee,sent:v,failed:S,inFlight:L,errors:F};return b&&(ce.buffered=K,ce.flush=async()=>{ae||(await ne(),await Promise.all(q))}),Y&&(ce.paused=Y),ce}function W(r){return{describeKind:"producer",...r}}function Ke(r,n){let{parse:i,closeOnTeardown:s=!1,...u}=n??{};return B(o=>{let t=!0,e,a=()=>{let T=e;e=void 0,T?.()},c=T=>{t&&(t=!1,o.down([T]),a())},f=(T,h=T)=>{if(t)try{let b=T!==null&&typeof T=="object"&&"data"in T?T.data:T,w=i?i(b,h):b;o.emit(w)}catch(b){c([x,b])}},p=T=>{c([x,T])},d=()=>{c([P])};if(typeof r=="function"){try{if(e=r(f,p,d),typeof e!="function")throw new Error("fromWebSocket register contract violation: register must return cleanup callable")}catch(T){c([x,T])}return()=>{t=!1,a()}}let l=r,m=T=>f(T,T),g=T=>p(T),y=()=>d();return l.addEventListener("message",m),l.addEventListener("error",g),l.addEventListener("close",y),e=()=>{l.removeEventListener("message",m),l.removeEventListener("error",g),l.removeEventListener("close",y),s&&l.close()},()=>{t=!1,a()}},W(u))}function Tr(r,n){return oe(r,n)}function $e(r,n){let{method:i="GET",headers:s,body:u,transform:o=b=>b.json(),timeoutNs:t=30*1e9,signal:e,completeAfterFetch:a=!1,refetchOnSubscribe:c=!1,...f}=n??{},p=U(0,{name:`${f.name??"http"}/fetchCount`}),d=U(0,{name:`${f.name??"http"}/lastUpdated`}),l=U(!1,{name:`${f.name??"http"}/fetched`}),m=0,g=u!==void 0?typeof u=="string"?u:JSON.stringify(u):void 0,y=b=>{let w=new AbortController,v=!0;if(e?.aborted)return v=!1,b.down([[x,e.reason??new Error("Aborted")]]),()=>{};e?.addEventListener("abort",()=>w.abort(e.reason),{once:!0});let S=setTimeout(()=>w.abort(new Error("Request timeout")),Math.ceil(t/1e6));return fetch(r,{method:i,headers:s,body:g,signal:w.signal}).then(async L=>{if(clearTimeout(S),!v)return;if(!L.ok)throw new Error(`HTTP ${L.status}: ${L.statusText}`);let F=await o(L);v&&(J(()=>{m+=1,p.down([[E,m]]),d.down([[E,D()]]),l.down([[E,!0]]),b.emit(F)}),a&&b.down([[P]]))}).catch(L=>{clearTimeout(S),v&&(L&&L.name==="AbortError"||b.down([[x,L]]))}),()=>{v=!1,w.abort()}},T=B(b=>y({emit:w=>b.emit(w),down:w=>b.down(w)}),{...W(f),resubscribable:c});return{...Pe(T),fetchCount:p,lastUpdated:d,fetched:l}}function gr(r,n,i){let{method:s="POST",headers:u={"Content-Type":"application/json"},serialize:o=m=>JSON.stringify(m),timeoutNs:t,batchFormat:e="json-array",batchSize:a,flushIntervalMs:c,retry:f,onTransportError:p}=i??{},d=async m=>{let g=t!==void 0?new AbortController:void 0,y;g&&t!==void 0&&(y=setTimeout(()=>g.abort(new Error("Request timeout")),Math.ceil(t/1e6)));try{let T=await fetch(n,{method:s,headers:u,body:m,signal:g?.signal}),h=async()=>{try{await T.arrayBuffer?.()}catch{}};if(!T.ok)throw await h(),new Error(`HTTP ${T.status}: ${T.statusText}`);await h()}finally{y!==void 0&&clearTimeout(y)}};return a!==void 0||c!==void 0?z(r,{onTransportError:p,retry:f,batchSize:a,flushIntervalMs:c,sendBatch:async m=>{let g;e==="ndjson"?g=m.map(y=>{let T=o(y);return typeof T=="string"?T:new TextDecoder().decode(T)}).join(`
2
2
  `):g=JSON.stringify(m),await d(g)}}):z(r,{onTransportError:p,retry:f,serialize:o,send:async m=>{await d(m)}})}function Ae(r){return Symbol.keyFor(r)??r.description??"message"}function re(r,n){return typeof r=="string"?r:n(r)}function Le(r,n){let i=`event: ${r}
3
3
  `;if(n!==void 0){let s=n.split(/\r?\n/);for(let u of s)i+=`data: ${u}
4
4
  `}return`${i}
@@ -7,8 +7,8 @@ import{b as Re,i as Pe}from"./chunk-4MKL6Q3K.js";import{a as Ne}from"./chunk-SGS
7
7
  `))},a)),c?.aborted?b():c?.addEventListener("abort",b,{once:!0})},cancel(){d?.()}})}function kr(r,n){let{serialize:i=d=>{if(d instanceof Error)return d.message;try{return JSON.stringify(d)}catch{return String(d)}},dataEvent:s="data",errorEvent:u="error",completeEvent:o="complete",includeResolved:t=!1,includeDirty:e=!1,keepAliveMs:a,signal:c,eventNameResolver:f=Ae}=n??{},p=new TextEncoder;return B(d=>{let l=!0,m,g=(h,b)=>{l&&d.emit(p.encode(Le(h,b)))},y=()=>{l&&(l=!1,d.down([[P]]))},T=r.subscribe(h=>{if(l)for(let b of h){let w=b[0];if(!(ee.isLocalOnly(w)&&!(w===ye&&e))){if(w===E){g(s,re(b[1],i));continue}if(w===x){g(u,re(b[1],i)),l=!1,d.down([[P]]);return}if(w===P){g(o),l=!1,d.down([[P]]);return}!t&&w===ke||g(f(w),b.length>1?re(b[1],i):void 0)}}});return a!==void 0&&a>0&&(m=setInterval(()=>{l&&d.emit(p.encode(`: keepalive
8
8
 
9
9
  `))},a)),c?.aborted?y():c?.addEventListener("abort",y,{once:!0}),()=>{l=!1,m!==void 0&&clearInterval(m),c?.removeEventListener("abort",y),T()}})}function br(r){let n,i=!1;return new ReadableStream({start(s){n=r.subscribe(u=>{for(let o of u){let t=o[0];if(i)return;if(t===E)try{s.enqueue(o[1])}catch{i=!0,n?.()}else if(t===x){i=!0;try{s.error(o[1])}catch{}return}else if(t===P){i=!0;try{s.close()}catch{}return}}})},cancel(){i=!0,n?.()}})}async function*je(r,n){let i=n?.parse??(v=>v),s=n?.signal,u=new TextDecoder,o="",t="message",e=[],a,c,f=[],p=()=>{if(e.length===0&&t==="message"&&a===void 0){e=[];return}let v=e.join(`
10
- `);f.push({event:t,data:i(v),id:a,retry:c}),t="message",e=[],a=void 0,c=void 0},d=v=>{if(v===""){p();return}if(v.startsWith(":"))return;let S=v.indexOf(":"),L=S<0?v:v.slice(0,S),F=S<0?"":v.slice(S+1);switch(F.startsWith(" ")&&(F=F.slice(1)),L){case"event":t=F;break;case"data":e.push(F);break;case"id":F.includes("\0")||(a=F);break;case"retry":{let K=Number(F);Number.isFinite(K)&&(c=K);break}}},l=(v,S)=>{o+=u.decode(v,{stream:!S});let L=o.split(/\r?\n/);o=L.pop()??"";for(let F of L)d(F)},m=r,g=r instanceof ReadableStream?r:m&&typeof m=="object"&&m.body instanceof ReadableStream?m.body:null,y,T,h=!1,b=()=>{h||(h=!0,y&&y.cancel().catch(()=>{}),T&&typeof T.return=="function"&&Promise.resolve(T.return()).catch(()=>{}))},w=()=>{b()};if(s){if(s.aborted)return;s.addEventListener("abort",w,{once:!0})}try{if(g){for(y=g.getReader();!s?.aborted;){let{value:v,done:S}=await y.read();if(S)break;for(l(v,!1);f.length>0;)yield f.shift()}l(new Uint8Array,!0)}else{for(T=r[Symbol.asyncIterator]();!s?.aborted;){let S=await T.next();if(S.done)break;for(l(S.value,!1);f.length>0;)yield f.shift()}l(new Uint8Array,!0)}if(o.trim()){for(let v of o.split(/\r?\n/))d(v);p()}for(;f.length>0;)yield f.shift()}finally{s&&s.removeEventListener("abort",w),b()}}function hr(r,n){let{parse:i,...s}=n??{};return B(u=>{let o=!0,t=new AbortController;return(async()=>{try{for await(let a of je(r,{parse:i,signal:t.signal})){if(!o)return;u.emit(a)}o&&u.down([[P]])}catch(a){o&&u.down([[x,a]])}})(),()=>{o=!1,t.abort()}},W(s))}function vr(r,n){let{method:i="GET",headers:s,body:u,signal:o,...t}=n??{};return B(e=>{let a=!0,c=new AbortController;if(o?.aborted)return e.down([[x,o.reason??new Error("Aborted")]]),()=>{};o?.addEventListener("abort",()=>c.abort(o.reason),{once:!0});let f=u!==void 0?typeof u=="string"?u:JSON.stringify(u):void 0;return(async()=>{try{let d=await fetch(r,{method:i,headers:s,body:f,signal:c.signal});if(!a)return;if(!d.ok)throw new Error(`HTTP ${d.status}: ${d.statusText}`);if(!d.body)throw new Error("HTTP response has no body");let l=d.body.getReader();for(;a;){let{value:m,done:g}=await l.read();if(g)break;m&&e.emit(m)}a&&e.down([[P]])}catch(d){if(!a||d&&d.name==="AbortError")return;e.down([[x,d]])}})(),()=>{a=!1,c.abort()}},W(t))}function wr(r,n){let{intervalMs:i=5e3,...s}=n??{};return fe(pe(i,{period:i}),()=>$e(r,{...s,completeAfterFetch:!0}).node)}function Sr(r,n,i){let{serialize:s=T=>{if(typeof T=="string"||T instanceof Blob||T instanceof ArrayBuffer||ArrayBuffer.isView(T))return T;try{return JSON.stringify(T)}catch{return String(T)}},closeOnComplete:u=!0,closeOnError:o=!0,closeCode:t,closeReason:e,onTransportError:a,retry:c,backpressure:f,stopOn:p}=i??{},d=!1,l=T=>{if(!d){d=!0;try{n.close(t,e)}catch(h){let b=h instanceof Error?h:new Error(String(h));try{a?.({stage:"close",error:b,value:void 0,message:T})}catch{}}}},m=null,y=z(r,{onTransportError:a,serialize:T=>{let h=s(T);if(h===void 0)throw new Error("serialize returned undefined");return h},retry:c,backpressure:f,stopOn:p,onDispose:()=>{if(m){try{n.removeEventListener("close",m)}catch{}m=null}},send:T=>{n.send(T)},onUpstreamMessage:T=>{(T[0]===P&&u||T[0]===x&&o)&&l(T)}});return m=()=>{d=!0,y.dispose()},n.addEventListener("close",m),y}function Er(r,n){let{parse:i,maxRetries:s,backoff:u="exponential",closeOnTeardown:o=!0,...t}=n??{};return Re(()=>Ke(r(),{parse:i,closeOnTeardown:o,...t}),{count:s,backoff:u})}function xr(r,n){let{method:i="notifications/message",onDisconnect:s,...u}=n??{};return oe(({emit:o,error:t})=>(r.setNotificationHandler(i,e=>o(e)),s?.(e=>t(e??new Error("MCP client disconnected"))),()=>r.setNotificationHandler(i,()=>{})),u)}function Or(r,n){return Me(({traces:s,metrics:u,logs:o,error:t})=>r({onTraces:e=>{J(()=>{for(let a of e)s(a)})},onMetrics:e=>{J(()=>{for(let a of e)u(a)})},onLogs:e=>{J(()=>{for(let a of e)o(a)})},onError:t})??void 0,["traces","metrics","logs"],n?.name?{name:n.name}:void 0)}function Nr(r,n){return oe(r,n)}function Rr(r){let n=r.match(/^<(\d{1,3})>\d?\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s*(.*)/s);if(!n){let s=D();return{facility:1,severity:6,timestamp:new Date(Math.floor(s/1e6)).toISOString(),hostname:"-",appName:"-",procId:"-",msgId:"-",message:r.trim(),timestampNs:s}}let i=Number(n[1]);return{facility:i>>3,severity:i&7,timestamp:n[2],hostname:n[3],appName:n[4],procId:n[5],msgId:n[6],message:(n[7]??"").trim(),timestampNs:D()}}function Pr(r,n){return oe(r,n)}var We={c:"counter",g:"gauge",ms:"timer",h:"histogram",s:"set",d:"distribution"};function Cr(r){let n=r.split("|"),[i,s]=(n[0]??"").split(":");if(!i||s===void 0)throw new Error(`Invalid StatsD line: ${r}`);let u=n[1]?.trim()??"c",o=We[u]??"counter",t=o==="set"?0:Number(s),e,a={};for(let c=2;c<n.length;c++){let f=n[c].trim();if(f.startsWith("@"))e=Number(f.slice(1));else if(f.startsWith("#"))for(let p of f.slice(1).split(",")){let[d,l]=p.split(":");d&&(a[d]=l??"")}}return{name:i.trim(),value:t,type:o,sampleRate:e,tags:a,timestampNs:D()}}function Mr(r,n){let{intervalNs:i=15*1e9,headers:s,timeoutNs:u=10*1e9,signal:o,maxConsecutiveErrors:t=1}=n??{},e=Math.ceil(i/1e6),a=0;return fe(pe(0,{period:e,signal:o}),()=>B(c=>{let f=!0,p=new AbortController,d=setTimeout(()=>p.abort(new Error("Scrape timeout")),Math.ceil(u/1e6));return(async()=>{try{let m=await fetch(r,{headers:{Accept:"text/plain",...s},signal:p.signal});if(clearTimeout(d),!f)return;if(!m.ok)throw new Error(`Prometheus scrape ${m.status}: ${m.statusText}`);let g=await m.text();if(!f)return;let y=Qe(g);for(let T of y)c.emit(T);a=0,c.down([[P]])}catch(m){if(clearTimeout(d),!f||m instanceof Error&&m.name==="AbortError")return;a+=1,a>=t&&c.down([[x,m]])}})(),()=>{f=!1,clearTimeout(d),p.abort()}}))}function Qe(r){let n=[],i=new Map,s=new Map;for(let u of r.split(`
11
- `)){let o=u.trim();if(!o)continue;if(o.startsWith("# TYPE ")){let d=o.slice(7),l=d.indexOf(" ");l>0&&i.set(d.slice(0,l),d.slice(l+1).trim());continue}if(o.startsWith("# HELP ")){let d=o.slice(7),l=d.indexOf(" ");l>0&&s.set(d.slice(0,l),d.slice(l+1).trim());continue}if(o.startsWith("#"))continue;let t,e={},a,c,f=o.indexOf("{");if(f>=0){t=o.slice(0,f);let d=o.indexOf("}",f);if(d<0)continue;let l=o.slice(f+1,d);e=Je(l);let m=o.slice(d+1).trim().split(/\s+/);a=m[0]??"",c=m[1]}else{let d=o.split(/\s+/);t=d[0]??"",a=d[1]??"",c=d[2]}if(!t||!a)continue;let p=t.replace(/(_total|_count|_sum|_bucket|_created|_info)$/,"");n.push({name:t,labels:e,value:Number(a),timestampMs:c?Number(c):void 0,type:i.get(p)??i.get(t),help:s.get(p)??s.get(t),timestampNs:D()})}return n}function Je(r){let n={},i=/(\w+)="((?:[^"\\]|\\.)*)"/g,s=i.exec(r);for(;s!==null;)n[s[1]]=s[2].replace(/\\(.)/g,"$1"),s=i.exec(r);return n}function Ar(r,n,i){let{fromBeginning:s=!1,deserialize:u=t=>{if(t===null)return null;try{return JSON.parse(t.toString())}catch{return t.toString()}},...o}=i??{};return B(t=>{let e=!0;return(async()=>{try{await r.subscribe({topic:n,fromBeginning:s}),await r.run({eachMessage:async({topic:c,partition:f,message:p})=>{if(!e)return;let d={};if(p.headers)for(let[l,m]of Object.entries(p.headers))m!==void 0&&(d[l]=typeof m=="string"?m:m.toString());t.emit({topic:c,partition:f,key:p.key?.toString()??null,value:u(p.value),headers:d,offset:p.offset,timestamp:p.timestamp,timestampNs:D()})}})}catch(c){e&&t.down([[x,c]])}})(),()=>{e=!1}},W(o))}function Lr(r,n,i,s){let{serialize:u=e=>JSON.stringify(e),keyExtractor:o,onTransportError:t}=s??{};return z(r,{onTransportError:t,send:async e=>{let a=o?.(e)??null,c=u(e);await n.send({topic:i,messages:[{key:a,value:Buffer.from(c)}]})}})}function Ir(r,n,i){let{blockMs:s=5e3,startId:u="$",parse:o=e=>{for(let c=0;c<e.length;c+=2)if(e[c]==="data")try{return JSON.parse(e[c+1])}catch{return e[c+1]}let a={};for(let c=0;c<e.length;c+=2)a[e[c]]=e[c+1];return a},...t}=i??{};return B(e=>{let a=!0,c=u;return(async()=>{for(;a;)try{let p=await r.xread("BLOCK",s,"STREAMS",n,c);if(!a)return;if(p)for(let[d,l]of p)for(let[m,g]of l)c=m,e.emit({id:m,key:n,data:o(g),timestampNs:D()})}catch(p){if(!a)return;e.down([[x,p]]);return}})(),()=>{a=!1}},W(t))}function Br(r,n,i,s){let{serialize:u=e=>["data",JSON.stringify(e)],maxLen:o,onTransportError:t}=s??{};return z(r,{onTransportError:t,send:async e=>{let a=u(e);await(o!==void 0?n.xadd(i,"MAXLEN","~",String(o),"*",...a):n.xadd(i,"*",...a))}})}function Fr(r,n){let{delimiter:i=",",hasHeader:s=!0,columns:u,parseLine:o,...t}=n??{},e=o??(a=>Ie(a,i));return B(a=>{let c=!1;return(async()=>{try{let p=u,d="";for await(let l of r){if(c)return;d+=l;let m=d.split(/\r?\n/);d=m.pop()??"";for(let g of m){if(c)return;if(!g.trim())continue;let y=e(g);if(!p&&s){p=y;continue}p||(p=y.map((h,b)=>`col${b}`));let T={};for(let h=0;h<p.length;h++)T[p[h]]=y[h]??"";a.emit(T)}}if(!c&&d.trim()){let l=e(d);if(p){let m={};for(let g=0;g<p.length;g++)m[p[g]]=l[g]??"";a.emit(m)}}c||a.down([[P]])}catch(p){c||a.down([[x,p]])}})(),()=>{c=!0}},W(t))}function Hr(r,n){let{delimiter:i=",",hasHeader:s=!0,columns:u,parseLine:o,...t}=n??{},e=o??(a=>Ie(a,i));return be([r],(a,c,f)=>{let p=a[0];if(p==null||p.length===0)return;let d=f.store;typeof d.buffer!="string"&&(d.buffer=""),d.headers===void 0&&u&&(d.headers=u.slice());for(let l of p){d.buffer=d.buffer+l;let m=d.buffer.split(/\r?\n/);d.buffer=m.pop()??"";for(let g of m){if(!g.trim())continue;let y=e(g);if(!d.headers&&s){d.headers=y;continue}d.headers||(d.headers=y.map((h,b)=>`col${b}`));let T={};for(let h=0;h<d.headers.length;h++)T[d.headers[h]]=y[h]??"";c.emit(T)}}},{describeKind:"derived",...t})}function zr(r,n){return be([r],(i,s,u)=>{let o=i[0];if(o==null||o.length===0)return;let t=u.store;typeof t.buffer!="string"&&(t.buffer="");for(let e of o){t.buffer=t.buffer+e;let a=t.buffer.split(/\r?\n/);t.buffer=a.pop()??"";for(let c of a)if(c.trim())try{s.emit(JSON.parse(c))}catch(f){s.down([[x,f]]);return}}},{describeKind:"derived",...n??{}})}function Ie(r,n){let i=[],s="",u=!1;for(let o=0;o<r.length;o++){let t=r[o];u?t==='"'?r[o+1]==='"'?(s+='"',o++):u=!1:s+=t:t==='"'?u=!0:t===n?(i.push(s),s=""):s+=t}return i.push(s),i}function qr(r,n){return B(i=>{let s=!1;return(async()=>{try{let o="";for await(let t of r){if(s)return;o+=t;let e=o.split(/\r?\n/);o=e.pop()??"";for(let a of e){if(s)return;let c=a.trim();c&&i.emit(JSON.parse(c))}}!s&&o.trim()&&i.emit(JSON.parse(o.trim())),s||i.down([[P]])}catch(o){s||i.down([[x,o]])}})(),()=>{s=!0}},W(n))}function Ur(r,n,i){let{intervalNs:s=5*1e9,format:u="JSONEachRow",signal:o,maxConsecutiveErrors:t=1}=i??{},e=Math.ceil(s/1e6),a=0;return fe(pe(0,{period:e,signal:o}),()=>B(c=>{let f=!0;return(async()=>{try{let d=await r.query({query:n,format:u});if(!f)return;let l=await d.json();if(!f)return;for(let m of l)c.emit(m);a=0,c.down([[P]])}catch(d){if(!f)return;a+=1,a>=t&&c.down([[x,d]])}})(),()=>{f=!1}}))}function Dr(r,n){let{autoAck:i=!0,deserialize:s=e=>{try{return JSON.parse(e.toString())}catch{return e.toString()}},onAckError:u,...o}=n??{},t=e=>{if(u)try{u(e instanceof Error?e:new Error(String(e)))}catch{}};return B(e=>{let a=!0;return(async()=>{for(;a;)try{let f=await r.receive();if(!a)return;let p={topic:f.getTopicName(),messageId:f.getMessageId().toString(),key:f.getPartitionKey(),value:s(f.getData()),properties:f.getProperties(),publishTime:f.getPublishTimestamp(),eventTime:f.getEventTimestamp(),timestampNs:D()};if(i)e.emit(p),r.acknowledge(f).catch(t);else{let d=!1,l={value:p,ack(){d||(d=!0,r.acknowledge(f).catch(t))},nack(m){if(d)return;d=!0;let g=r;try{let y=g.negativeAcknowledge?.(f);y&&typeof y.then=="function"&&y.catch(t)}catch(y){t(y)}}};e.emit(l)}}catch(f){a&&e.down([[x,f]]);return}})(),()=>{a=!1}},W(o))}function Kr(r,n,i){let{serialize:s=e=>Buffer.from(JSON.stringify(e)),keyExtractor:u,propertiesExtractor:o,onTransportError:t}=i??{};return z(r,{onTransportError:t,send:async e=>{await n.send({data:s(e),partitionKey:u?.(e),properties:o?.(e)})}})}function $r(r,n,i){let s=new TextDecoder,{queue:u,deserialize:o=e=>{let a=s.decode(e);try{return JSON.parse(a)}catch{return a}},...t}=i??{};return B(e=>{let a=!0,c=r.subscribe(n,u?{queue:u}:void 0);return(async()=>{try{for await(let p of c){if(!a)return;let d={};if(p.headers)for(let l of p.headers.keys())d[l]=p.headers.get(l);e.emit({subject:p.subject,data:o(p.data),headers:d,reply:p.reply,sid:p.sid,timestampNs:D()})}a&&e.down([[P]])}catch(p){a&&e.down([[x,p]])}})(),()=>{a=!1}},W(t))}function jr(r,n,i,s){let u=new TextEncoder,{serialize:o=e=>u.encode(JSON.stringify(e)),onTransportError:t}=s??{};return z(r,{onTransportError:t,send:e=>{n.publish(i,o(e))}})}function Wr(r,n,i){let{autoAck:s=!0,deserialize:u=a=>{try{return JSON.parse(a.toString())}catch{return a.toString()}},onAckError:o,...t}=i??{},e=a=>{if(o)try{o(a instanceof Error?a:new Error(String(a)))}catch{}};return B(a=>{let c=!0,f;return(async()=>{try{f=(await r.consume(n,l=>{if(!c)return;if(l===null){c&&a.down([[x,new Error("Consumer cancelled by broker")]]);return}let m={queue:n,routingKey:l.fields.routingKey,exchange:l.fields.exchange,content:u(l.content),properties:l.properties,deliveryTag:l.fields.deliveryTag,redelivered:l.fields.redelivered,timestampNs:D()};if(s){a.emit(m);try{r.ack(l)}catch(g){e(g)}}else{let g=!1,y=r,T={value:m,ack(){if(!g){g=!0;try{r.ack(l)}catch(h){e(h)}}},nack(h){if(g)return;g=!0;let b=h?.requeue;if(!y.nack){e(new Error("RabbitMQ channel does not expose `nack`; cannot negative-ack"));return}try{y.nack(l,!1,b)}catch(w){e(w)}}};a.emit(T)}},{noAck:!1})).consumerTag}catch(d){c&&a.down([[x,d]])}})(),()=>{c=!1,f!==void 0&&r.cancel(f)}},W(t))}function Qr(r,n,i,s){let{serialize:u=e=>Buffer.from(JSON.stringify(e)),routingKeyExtractor:o=()=>"",onTransportError:t}=s??{};return z(r,{onTransportError:t,send:e=>{let a=o(e),c=u(e);n.publish(i,a,c)}})}function Ve(r,n,i){let{serialize:s=p=>`${JSON.stringify(p)}
10
+ `);f.push({event:t,data:i(v),id:a,retry:c}),t="message",e=[],a=void 0,c=void 0},d=v=>{if(v===""){p();return}if(v.startsWith(":"))return;let S=v.indexOf(":"),L=S<0?v:v.slice(0,S),F=S<0?"":v.slice(S+1);switch(F.startsWith(" ")&&(F=F.slice(1)),L){case"event":t=F;break;case"data":e.push(F);break;case"id":F.includes("\0")||(a=F);break;case"retry":{let K=Number(F);Number.isFinite(K)&&(c=K);break}}},l=(v,S)=>{o+=u.decode(v,{stream:!S});let L=o.split(/\r?\n/);o=L.pop()??"";for(let F of L)d(F)},m=r,g=r instanceof ReadableStream?r:m&&typeof m=="object"&&m.body instanceof ReadableStream?m.body:null,y,T,h=!1,b=()=>{h||(h=!0,y&&y.cancel().catch(()=>{}),T&&typeof T.return=="function"&&Promise.resolve(T.return()).catch(()=>{}))},w=()=>{b()};if(s){if(s.aborted)return;s.addEventListener("abort",w,{once:!0})}try{if(g){for(y=g.getReader();!s?.aborted;){let{value:v,done:S}=await y.read();if(S)break;for(l(v,!1);f.length>0;)yield f.shift()}l(new Uint8Array,!0)}else{for(T=r[Symbol.asyncIterator]();!s?.aborted;){let S=await T.next();if(S.done)break;for(l(S.value,!1);f.length>0;)yield f.shift()}l(new Uint8Array,!0)}if(o.trim()){for(let v of o.split(/\r?\n/))d(v);p()}for(;f.length>0;)yield f.shift()}finally{s&&s.removeEventListener("abort",w),b()}}function hr(r,n){let{parse:i,...s}=n??{};return B(u=>{let o=!0,t=new AbortController;return(async()=>{try{for await(let a of je(r,{parse:i,signal:t.signal})){if(!o)return;u.emit(a)}o&&u.down([[P]])}catch(a){o&&u.down([[x,a]])}})(),()=>{o=!1,t.abort()}},W(s))}function vr(r,n){let{method:i="GET",headers:s,body:u,signal:o,...t}=n??{};return B(e=>{let a=!0,c=new AbortController;if(o?.aborted)return e.down([[x,o.reason??new Error("Aborted")]]),()=>{};o?.addEventListener("abort",()=>c.abort(o.reason),{once:!0});let f=u!==void 0?typeof u=="string"?u:JSON.stringify(u):void 0;return(async()=>{try{let d=await fetch(r,{method:i,headers:s,body:f,signal:c.signal});if(!a)return;if(!d.ok)throw new Error(`HTTP ${d.status}: ${d.statusText}`);if(!d.body)throw new Error("HTTP response has no body");let l=d.body.getReader();for(;a;){let{value:m,done:g}=await l.read();if(g)break;m&&e.emit(m)}a&&e.down([[P]])}catch(d){if(!a||d&&d.name==="AbortError")return;e.down([[x,d]])}})(),()=>{a=!1,c.abort()}},W(t))}function wr(r,n){let{intervalMs:i=5e3,...s}=n??{};return pe(fe(i,{period:i}),()=>$e(r,{...s,completeAfterFetch:!0}).node)}function Sr(r,n,i){let{serialize:s=T=>{if(typeof T=="string"||T instanceof Blob||T instanceof ArrayBuffer||ArrayBuffer.isView(T))return T;try{return JSON.stringify(T)}catch{return String(T)}},closeOnComplete:u=!0,closeOnError:o=!0,closeCode:t,closeReason:e,onTransportError:a,retry:c,backpressure:f,stopOn:p}=i??{},d=!1,l=T=>{if(!d){d=!0;try{n.close(t,e)}catch(h){let b=h instanceof Error?h:new Error(String(h));try{a?.({stage:"close",error:b,value:void 0,message:T})}catch{}}}},m=null,y=z(r,{onTransportError:a,serialize:T=>{let h=s(T);if(h===void 0)throw new Error("serialize returned undefined");return h},retry:c,backpressure:f,stopOn:p,onDispose:()=>{if(m){try{n.removeEventListener("close",m)}catch{}m=null}},send:T=>{n.send(T)},onUpstreamMessage:T=>{(T[0]===P&&u||T[0]===x&&o)&&l(T)}});return m=()=>{d=!0,y.dispose()},n.addEventListener("close",m),y}function Er(r,n){let{parse:i,maxRetries:s,backoff:u="exponential",closeOnTeardown:o=!0,...t}=n??{};return Re(()=>Ke(r(),{parse:i,closeOnTeardown:o,...t}),{count:s,backoff:u})}function xr(r,n){let{method:i="notifications/message",onDisconnect:s,...u}=n??{};return oe(({emit:o,error:t})=>(r.setNotificationHandler(i,e=>o(e)),s?.(e=>t(e??new Error("MCP client disconnected"))),()=>r.setNotificationHandler(i,()=>{})),u)}function Or(r,n){return Me(({traces:s,metrics:u,logs:o,error:t})=>r({onTraces:e=>{J(()=>{for(let a of e)s(a)})},onMetrics:e=>{J(()=>{for(let a of e)u(a)})},onLogs:e=>{J(()=>{for(let a of e)o(a)})},onError:t})??void 0,["traces","metrics","logs"],n?.name?{name:n.name}:void 0)}function Nr(r,n){return oe(r,n)}function Rr(r){let n=r.match(/^<(\d{1,3})>\d?\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s*(.*)/s);if(!n){let s=D();return{facility:1,severity:6,timestamp:new Date(Math.floor(s/1e6)).toISOString(),hostname:"-",appName:"-",procId:"-",msgId:"-",message:r.trim(),timestampNs:s}}let i=Number(n[1]);return{facility:i>>3,severity:i&7,timestamp:n[2],hostname:n[3],appName:n[4],procId:n[5],msgId:n[6],message:(n[7]??"").trim(),timestampNs:D()}}function Pr(r,n){return oe(r,n)}var We={c:"counter",g:"gauge",ms:"timer",h:"histogram",s:"set",d:"distribution"};function Cr(r){let n=r.split("|"),[i,s]=(n[0]??"").split(":");if(!i||s===void 0)throw new Error(`Invalid StatsD line: ${r}`);let u=n[1]?.trim()??"c",o=We[u]??"counter",t=o==="set"?0:Number(s),e,a={};for(let c=2;c<n.length;c++){let f=n[c].trim();if(f.startsWith("@"))e=Number(f.slice(1));else if(f.startsWith("#"))for(let p of f.slice(1).split(",")){let[d,l]=p.split(":");d&&(a[d]=l??"")}}return{name:i.trim(),value:t,type:o,sampleRate:e,tags:a,timestampNs:D()}}function Mr(r,n){let{intervalNs:i=15*1e9,headers:s,timeoutNs:u=10*1e9,signal:o,maxConsecutiveErrors:t=1}=n??{},e=Math.ceil(i/1e6),a=0;return pe(fe(0,{period:e,signal:o}),()=>B(c=>{let f=!0,p=new AbortController,d=setTimeout(()=>p.abort(new Error("Scrape timeout")),Math.ceil(u/1e6));return(async()=>{try{let m=await fetch(r,{headers:{Accept:"text/plain",...s},signal:p.signal});if(clearTimeout(d),!f)return;if(!m.ok)throw new Error(`Prometheus scrape ${m.status}: ${m.statusText}`);let g=await m.text();if(!f)return;let y=Qe(g);for(let T of y)c.emit(T);a=0,c.down([[P]])}catch(m){if(clearTimeout(d),!f||m instanceof Error&&m.name==="AbortError")return;a+=1,a>=t&&c.down([[x,m]])}})(),()=>{f=!1,clearTimeout(d),p.abort()}}))}function Qe(r){let n=[],i=new Map,s=new Map;for(let u of r.split(`
11
+ `)){let o=u.trim();if(!o)continue;if(o.startsWith("# TYPE ")){let d=o.slice(7),l=d.indexOf(" ");l>0&&i.set(d.slice(0,l),d.slice(l+1).trim());continue}if(o.startsWith("# HELP ")){let d=o.slice(7),l=d.indexOf(" ");l>0&&s.set(d.slice(0,l),d.slice(l+1).trim());continue}if(o.startsWith("#"))continue;let t,e={},a,c,f=o.indexOf("{");if(f>=0){t=o.slice(0,f);let d=o.indexOf("}",f);if(d<0)continue;let l=o.slice(f+1,d);e=Je(l);let m=o.slice(d+1).trim().split(/\s+/);a=m[0]??"",c=m[1]}else{let d=o.split(/\s+/);t=d[0]??"",a=d[1]??"",c=d[2]}if(!t||!a)continue;let p=t.replace(/(_total|_count|_sum|_bucket|_created|_info)$/,"");n.push({name:t,labels:e,value:Number(a),timestampMs:c?Number(c):void 0,type:i.get(p)??i.get(t),help:s.get(p)??s.get(t),timestampNs:D()})}return n}function Je(r){let n={},i=/(\w+)="((?:[^"\\]|\\.)*)"/g,s=i.exec(r);for(;s!==null;)n[s[1]]=s[2].replace(/\\(.)/g,"$1"),s=i.exec(r);return n}function Ar(r,n,i){let{fromBeginning:s=!1,deserialize:u=t=>{if(t===null)return null;try{return JSON.parse(t.toString())}catch{return t.toString()}},...o}=i??{};return B(t=>{let e=!0;return(async()=>{try{await r.subscribe({topic:n,fromBeginning:s}),await r.run({eachMessage:async({topic:c,partition:f,message:p})=>{if(!e)return;let d={};if(p.headers)for(let[l,m]of Object.entries(p.headers))m!==void 0&&(d[l]=typeof m=="string"?m:m.toString());t.emit({topic:c,partition:f,key:p.key?.toString()??null,value:u(p.value),headers:d,offset:p.offset,timestamp:p.timestamp,timestampNs:D()})}})}catch(c){e&&t.down([[x,c]])}})(),()=>{e=!1}},W(o))}function Lr(r,n,i,s){let{serialize:u=e=>JSON.stringify(e),keyExtractor:o,onTransportError:t}=s??{};return z(r,{onTransportError:t,send:async e=>{let a=o?.(e)??null,c=u(e);await n.send({topic:i,messages:[{key:a,value:Buffer.from(c)}]})}})}function Ir(r,n,i){let{blockMs:s=5e3,startId:u="$",parse:o=e=>{for(let c=0;c<e.length;c+=2)if(e[c]==="data")try{return JSON.parse(e[c+1])}catch{return e[c+1]}let a={};for(let c=0;c<e.length;c+=2)a[e[c]]=e[c+1];return a},...t}=i??{};return B(e=>{let a=!0,c=u;return(async()=>{for(;a;)try{let p=await r.xread("BLOCK",s,"STREAMS",n,c);if(!a)return;if(p)for(let[d,l]of p)for(let[m,g]of l)c=m,e.emit({id:m,key:n,data:o(g),timestampNs:D()})}catch(p){if(!a)return;e.down([[x,p]]);return}})(),()=>{a=!1}},W(t))}function Br(r,n,i,s){let{serialize:u=e=>["data",JSON.stringify(e)],maxLen:o,onTransportError:t}=s??{};return z(r,{onTransportError:t,send:async e=>{let a=u(e);await(o!==void 0?n.xadd(i,"MAXLEN","~",String(o),"*",...a):n.xadd(i,"*",...a))}})}function Fr(r,n){let{delimiter:i=",",hasHeader:s=!0,columns:u,parseLine:o,...t}=n??{},e=o??(a=>Ie(a,i));return B(a=>{let c=!1;return(async()=>{try{let p=u,d="";for await(let l of r){if(c)return;d+=l;let m=d.split(/\r?\n/);d=m.pop()??"";for(let g of m){if(c)return;if(!g.trim())continue;let y=e(g);if(!p&&s){p=y;continue}p||(p=y.map((h,b)=>`col${b}`));let T={};for(let h=0;h<p.length;h++)T[p[h]]=y[h]??"";a.emit(T)}}if(!c&&d.trim()){let l=e(d);if(p){let m={};for(let g=0;g<p.length;g++)m[p[g]]=l[g]??"";a.emit(m)}}c||a.down([[P]])}catch(p){c||a.down([[x,p]])}})(),()=>{c=!0}},W(t))}function Hr(r,n){let{delimiter:i=",",hasHeader:s=!0,columns:u,parseLine:o,...t}=n??{},e=o??(a=>Ie(a,i));return be([r],(a,c,f)=>{let p=a[0];if(p==null||p.length===0)return;let d=f.store;typeof d.buffer!="string"&&(d.buffer=""),d.headers===void 0&&u&&(d.headers=u.slice());for(let l of p){d.buffer=d.buffer+l;let m=d.buffer.split(/\r?\n/);d.buffer=m.pop()??"";for(let g of m){if(!g.trim())continue;let y=e(g);if(!d.headers&&s){d.headers=y;continue}d.headers||(d.headers=y.map((h,b)=>`col${b}`));let T={};for(let h=0;h<d.headers.length;h++)T[d.headers[h]]=y[h]??"";c.emit(T)}}},{describeKind:"derived",...t})}function zr(r,n){return be([r],(i,s,u)=>{let o=i[0];if(o==null||o.length===0)return;let t=u.store;typeof t.buffer!="string"&&(t.buffer="");for(let e of o){t.buffer=t.buffer+e;let a=t.buffer.split(/\r?\n/);t.buffer=a.pop()??"";for(let c of a)if(c.trim())try{s.emit(JSON.parse(c))}catch(f){s.down([[x,f]]);return}}},{describeKind:"derived",...n??{}})}function Ie(r,n){let i=[],s="",u=!1;for(let o=0;o<r.length;o++){let t=r[o];u?t==='"'?r[o+1]==='"'?(s+='"',o++):u=!1:s+=t:t==='"'?u=!0:t===n?(i.push(s),s=""):s+=t}return i.push(s),i}function qr(r,n){return B(i=>{let s=!1;return(async()=>{try{let o="";for await(let t of r){if(s)return;o+=t;let e=o.split(/\r?\n/);o=e.pop()??"";for(let a of e){if(s)return;let c=a.trim();c&&i.emit(JSON.parse(c))}}!s&&o.trim()&&i.emit(JSON.parse(o.trim())),s||i.down([[P]])}catch(o){s||i.down([[x,o]])}})(),()=>{s=!0}},W(n))}function Ur(r,n,i){let{intervalNs:s=5*1e9,format:u="JSONEachRow",signal:o,maxConsecutiveErrors:t=1}=i??{},e=Math.ceil(s/1e6),a=0;return pe(fe(0,{period:e,signal:o}),()=>B(c=>{let f=!0;return(async()=>{try{let d=await r.query({query:n,format:u});if(!f)return;let l=await d.json();if(!f)return;for(let m of l)c.emit(m);a=0,c.down([[P]])}catch(d){if(!f)return;a+=1,a>=t&&c.down([[x,d]])}})(),()=>{f=!1}}))}function Dr(r,n){let{autoAck:i=!0,deserialize:s=e=>{try{return JSON.parse(e.toString())}catch{return e.toString()}},onAckError:u,...o}=n??{},t=e=>{if(u)try{u(e instanceof Error?e:new Error(String(e)))}catch{}};return B(e=>{let a=!0;return(async()=>{for(;a;)try{let f=await r.receive();if(!a)return;let p={topic:f.getTopicName(),messageId:f.getMessageId().toString(),key:f.getPartitionKey(),value:s(f.getData()),properties:f.getProperties(),publishTime:f.getPublishTimestamp(),eventTime:f.getEventTimestamp(),timestampNs:D()};if(i)e.emit(p),r.acknowledge(f).catch(t);else{let d=!1,l={value:p,ack(){d||(d=!0,r.acknowledge(f).catch(t))},nack(m){if(d)return;d=!0;let g=r;try{let y=g.negativeAcknowledge?.(f);y&&typeof y.then=="function"&&y.catch(t)}catch(y){t(y)}}};e.emit(l)}}catch(f){a&&e.down([[x,f]]);return}})(),()=>{a=!1}},W(o))}function Kr(r,n,i){let{serialize:s=e=>Buffer.from(JSON.stringify(e)),keyExtractor:u,propertiesExtractor:o,onTransportError:t}=i??{};return z(r,{onTransportError:t,send:async e=>{await n.send({data:s(e),partitionKey:u?.(e),properties:o?.(e)})}})}function $r(r,n,i){let s=new TextDecoder,{queue:u,deserialize:o=e=>{let a=s.decode(e);try{return JSON.parse(a)}catch{return a}},...t}=i??{};return B(e=>{let a=!0,c=r.subscribe(n,u?{queue:u}:void 0);return(async()=>{try{for await(let p of c){if(!a)return;let d={};if(p.headers)for(let l of p.headers.keys())d[l]=p.headers.get(l);e.emit({subject:p.subject,data:o(p.data),headers:d,reply:p.reply,sid:p.sid,timestampNs:D()})}a&&e.down([[P]])}catch(p){a&&e.down([[x,p]])}})(),()=>{a=!1}},W(t))}function jr(r,n,i,s){let u=new TextEncoder,{serialize:o=e=>u.encode(JSON.stringify(e)),onTransportError:t}=s??{};return z(r,{onTransportError:t,send:e=>{n.publish(i,o(e))}})}function Wr(r,n,i){let{autoAck:s=!0,deserialize:u=a=>{try{return JSON.parse(a.toString())}catch{return a.toString()}},onAckError:o,...t}=i??{},e=a=>{if(o)try{o(a instanceof Error?a:new Error(String(a)))}catch{}};return B(a=>{let c=!0,f;return(async()=>{try{f=(await r.consume(n,l=>{if(!c)return;if(l===null){c&&a.down([[x,new Error("Consumer cancelled by broker")]]);return}let m={queue:n,routingKey:l.fields.routingKey,exchange:l.fields.exchange,content:u(l.content),properties:l.properties,deliveryTag:l.fields.deliveryTag,redelivered:l.fields.redelivered,timestampNs:D()};if(s){a.emit(m);try{r.ack(l)}catch(g){e(g)}}else{let g=!1,y=r,T={value:m,ack(){if(!g){g=!0;try{r.ack(l)}catch(h){e(h)}}},nack(h){if(g)return;g=!0;let b=h?.requeue;if(!y.nack){e(new Error("RabbitMQ channel does not expose `nack`; cannot negative-ack"));return}try{y.nack(l,!1,b)}catch(w){e(w)}}};a.emit(T)}},{noAck:!1})).consumerTag}catch(d){c&&a.down([[x,d]])}})(),()=>{c=!1,f!==void 0&&r.cancel(f)}},W(t))}function Qr(r,n,i,s){let{serialize:u=e=>Buffer.from(JSON.stringify(e)),routingKeyExtractor:o=()=>"",onTransportError:t}=s??{};return z(r,{onTransportError:t,send:e=>{let a=o(e),c=u(e);n.publish(i,a,c)}})}function Ve(r,n,i){let{serialize:s=p=>`${JSON.stringify(p)}
12
12
  `,flushIntervalMs:u=0,batchSize:o=Number.POSITIVE_INFINITY,onTransportError:t,mode:e}=i??{},c=u>0||o<Number.POSITIVE_INFINITY?z(r,{onTransportError:t,batchSize:o,flushIntervalMs:u,serialize:s,sendBatch:p=>{n.write(p.join(""))}}):z(r,{onTransportError:t,serialize:s,send:p=>{n.write(p)}}),f=c.dispose;return c.dispose=()=>{f();try{n.end()}catch{}},c}function ve(r,n){return r.includes(n)||r.includes('"')||r.includes(`
13
13
  `)?`"${r.replace(/"/g,'""')}"`:r}function Jr(r,n,i){let{columns:s,delimiter:u=",",writeHeader:o=!0,cellExtractor:t=(l,m)=>String(l[m]??""),flushIntervalMs:e=0,batchSize:a=Number.POSITIVE_INFINITY,onTransportError:c,...f}=i,p=!1;return Ve(r,n,{serialize:l=>{if(!p&&o){p=!0;let m=s.map(y=>ve(y,u)).join(u),g=s.map(y=>ve(t(l,y),u)).join(u);return`${m}
14
14
  ${g}
@@ -1,2 +1,2 @@
1
- import{a as G}from"./chunk-D27JNOLZ.js";import{i as z}from"./chunk-POXANAJ6.js";import{D as H,E as M,G as N,o as R}from"./chunk-LYCLF26R.js";function q(t){for(let c of t){let m=c.codePointAt(0);if(m>=19968&&m<=40959||m>=13312&&m<=19903||m>=12288&&m<=12351||m>=12352&&m<=12447||m>=12448&&m<=12543||m>=44032&&m<=55215||m>=65280&&m<=65519)return!0}return!1}var E=new Set(["\uFF0C","\uFF0E","\uFF01","\uFF1A","\uFF1B","\uFF1F","\u3001","\u3002","\u30FB","\uFF09","\u3015","\u3009","\u300B","\u300D","\u300F","\u3011"]),F=new Set([".",",","!","?",":",";",")","]","}","%",'"',"\u201D","\u2019","\xBB","\u203A","\u2026"]);function D(t){return t.replace(/[\t\n\r\f ]+/g," ").replace(/^ | $/g,"")}function O(t){let c=new Intl.Segmenter(void 0,{granularity:"word"}),m=[];for(let f of c.segment(t)){let h=f.segment,w=f.isWordLike??!1,u=[],s=[],r=[],p="",n=null;for(let i of h){let S;i===" "?S="space":i==="\u200B"?S="zero-width-break":i==="\xAD"?S="soft-hyphen":i===`
1
+ import{a as G}from"./chunk-D27JNOLZ.js";import{j as z}from"./chunk-626TESAC.js";import{D as H,E as M,G as N,o as R}from"./chunk-LYCLF26R.js";function q(t){for(let c of t){let m=c.codePointAt(0);if(m>=19968&&m<=40959||m>=13312&&m<=19903||m>=12288&&m<=12351||m>=12352&&m<=12447||m>=12448&&m<=12543||m>=44032&&m<=55215||m>=65280&&m<=65519)return!0}return!1}var E=new Set(["\uFF0C","\uFF0E","\uFF01","\uFF1A","\uFF1B","\uFF1F","\u3001","\u3002","\u30FB","\uFF09","\u3015","\u3009","\u300B","\u300D","\u300F","\u3011"]),F=new Set([".",",","!","?",":",";",")","]","}","%",'"',"\u201D","\u2019","\xBB","\u203A","\u2026"]);function D(t){return t.replace(/[\t\n\r\f ]+/g," ").replace(/^ | $/g,"")}function O(t){let c=new Intl.Segmenter(void 0,{granularity:"word"}),m=[];for(let f of c.segment(t)){let h=f.segment,w=f.isWordLike??!1,u=[],s=[],r=[],p="",n=null;for(let i of h){let S;i===" "?S="space":i==="\u200B"?S="zero-width-break":i==="\xAD"?S="soft-hyphen":i===`
2
2
  `?S="hard-break":S="text",n!==null&&S===n?p+=i:(n!==null&&(u.push(p),s.push(n==="text"&&w),r.push(n)),p=i,n=S)}n!==null&&(u.push(p),s.push(n==="text"&&w),r.push(n)),m.push({texts:u,isWordLike:s,kinds:r})}return m}function V(t,c,m,f,h){let w=D(t);if(w.length===0)return[];let u=O(w),s=new Intl.Segmenter(void 0,{granularity:"grapheme"}),r=[],p=[],n=[];for(let g of u)for(let o=0;o<g.texts.length;o++)r.push(g.texts[o]),p.push(g.kinds[o]),n.push(g.isWordLike[o]);let i=[],S=[],B=[];for(let g=0;g<r.length;g++){let o=r[g],y=p[g],I=n[g];if(y==="text"&&!I&&i.length>0&&S[S.length-1]==="text"&&o.length===1&&(F.has(o)||E.has(o))){i[i.length-1]+=o;continue}if(o==="-"&&i.length>0&&S[S.length-1]==="text"&&B[B.length-1]){i[i.length-1]+=o;continue}i.push(o),S.push(y),B.push(I)}let l=f.get(c);l||(l=new Map,f.set(c,l));function b(g){let o=l.get(g);if(o===void 0){h&&(h.misses+=1);let y=m.measureSegment(g,c).width;o=Number.isFinite(y)&&y>=0?y:0,l.set(g,o)}else h&&(h.hits+=1);return o}let d=[];for(let g=0;g<i.length;g++){let o=i[g],y=S[g];if(y!=="text"){d.push({text:o,width:y==="space"?b(" ")*o.length:0,kind:y,graphemeWidths:null});continue}if(q(o)){let a="";for(let x of s.segment(o)){let k=x.segment;if(a.length>0&&E.has(k)){a+=k;continue}if(a.length>0){let L=b(a);d.push({text:a,width:L,kind:"text",graphemeWidths:null})}a=k}if(a.length>0){let x=b(a);d.push({text:a,width:x,kind:"text",graphemeWidths:null})}continue}let I=b(o),e=null;if(B[g]&&o.length>1){let a=[];for(let x of s.segment(o))a.push(b(x.segment));a.length>1&&(e=a)}d.push({text:o,width:I,kind:"text",graphemeWidths:e})}return d}function J(t,c,m,f,h){if(t.length===0)return{lines:[],lineCount:0};let w=[],u=0,s=!1,r=0,p=0,n=0,i=0,S=-1,B=0,l=h.get(f);l||(l=new Map,h.set(f,l));let b=l.get("-");b===void 0&&(b=m.measureSegment("-",f).width,l.set("-",b));function d(e=n,a=i,x=u){let k="";for(let L=r;L<e;L++){let W=t[L];if(!(W.kind==="soft-hyphen"||W.kind==="hard-break"))if(L===r&&p>0&&W.graphemeWidths){let P=[...new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(W.text)].map(K=>K.segment);k+=P.slice(p).join("")}else k+=W.text}if(a>0&&e<t.length){let L=t[e],v=[...new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(L.text)].map(K=>K.segment),P=r===e?p:0;k+=v.slice(P,a).join("")}e>0&&t[e-1]?.kind==="soft-hyphen"&&!(r===e&&p>0)&&(k+="-"),w.push({text:k,width:x,startSegment:r,startGrapheme:p,endSegment:e,endGrapheme:a}),u=0,s=!1,S=-1,B=0}function g(e){return e==="space"||e==="zero-width-break"||e==="soft-hyphen"}function o(e,a,x){s=!0,r=e,p=a,n=e+1,i=0,u=x}function y(e,a,x){s=!0,r=e,p=a,n=e,i=a+1,u=x}for(let e=0;e<t.length;e++){let a=t[e];if(a.kind==="hard-break"){s?d():w.push({text:"",width:0,startSegment:e,startGrapheme:0,endSegment:e,endGrapheme:0}),r=e+1,p=0;continue}let x=a.width;if(!s){x>c&&a.graphemeWidths?I(e,0,a.graphemeWidths):o(e,0,x),g(a.kind)&&(S=e+1,B=a.kind==="space"?u-x:u);continue}let k=u+x;if(k>c+.005){if(g(a.kind)){u+=x,n=e+1,i=0,d(e+1,0,a.kind==="space"?u-x:u);continue}if(S>=0){d(S,0,B),e--;continue}if(x>c&&a.graphemeWidths){d(),I(e,0,a.graphemeWidths);continue}d(),e--;continue}u=k,n=e+1,i=0,g(a.kind)&&(S=e+1,B=a.kind==="space"?u-x:u)}return s&&d(),{lines:w,lineCount:w.length};function I(e,a,x){for(let k=a;k<x.length;k++){let L=x[k];if(!s){y(e,k,L);continue}u+L>c+.005?(d(),y(e,k,L)):(u+=L,n=e,i=k+1)}s&&n===e&&i===x.length&&(n=e+1,i=0)}}function A(t){return t==="space"||t==="zero-width-break"||t==="soft-hyphen"}var T=null;function _(){return T===null&&(T=new Intl.Segmenter(void 0,{granularity:"grapheme"})),T}function j(t,c,m){if(c===0&&m<0)return t.text;let f=[..._().segment(t.text)].map(w=>w.segment),h=m<0?f.length:m;return f.slice(c,h).join("")}function C(t,c,m,f,h,w){let u="";for(let s=c;s<f;s++){let r=t[s];r.kind==="soft-hyphen"||r.kind==="hard-break"||(s===c&&m>0?u+=j(r,m,-1):u+=r.text)}if(h>0&&f<t.length){let s=t[f];u+=j(s,c===f?m:0,h)}return w&&(u+="-"),u}function $(t){if(!t?.adapter||!t.font)return 0;let c=t.cache;if(c){let m=c.get(t.font);m||(m=new Map,c.set(t.font,m));let f=m.get("-");return f===void 0&&(f=t.adapter.measureSegment("-",t.font).width,m.set("-",f)),f}return t.adapter.measureSegment("-",t.font).width}function te(t,c,m,f){let h=c.segmentIndex,w=c.graphemeIndex;if(h>=t.length)return null;if(w===0){for(;h<t.length;){let e=t[h];if(e.kind==="hard-break")return{text:"",width:0,start:{segmentIndex:c.segmentIndex,graphemeIndex:0},end:{segmentIndex:h+1,graphemeIndex:0}};if(e.kind==="space"||e.kind==="zero-width-break"||e.kind==="soft-hyphen"){h+=1;continue}break}if(h>=t.length)return null}let u=$(f),s=h,r=h===c.segmentIndex?w:0,p=0,n=s,i=0,S=!1,B=-1,l=0,b=0,d=!1,g=(e,a,x,k)=>{B=e,l=a,b=x,d=k==="soft-hyphen"},o=(e,a,x)=>{for(let k=a;k<x.length;k++){let L=x[k];if(!S){p=L,n=e,i=k+1,S=!0;continue}if(p+L>m+.005)return!0;p+=L,n=e,i=k+1}return n===e&&i===x.length&&(n=e+1,i=0),!1};if(r>0&&s<t.length){let e=t[s];if(e.graphemeWidths){if(o(s,r,e.graphemeWidths))return{text:C(t,s,r,n,i,!1),width:p,start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:n,graphemeIndex:i}};h=n}}for(;h<t.length;){let e=t[h];if(e.kind==="hard-break"){if(S){let k=n>0&&t[n-1]?.kind==="soft-hyphen";return{text:C(t,s,r,n,i,k),width:p+(k?u:0),start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:n,graphemeIndex:i}}}return{text:"",width:0,start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:h+1,graphemeIndex:0}}}let a=e.width;if(!S){if(a>m&&e.graphemeWidths){if(o(h,0,e.graphemeWidths))return{text:C(t,s,r,n,i,!1),width:p,start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:n,graphemeIndex:i}};h=n;continue}p=a,n=h+1,i=0,S=!0,A(e.kind)&&g(h+1,0,e.kind==="space"?p-a:p,e.kind),h+=1;continue}let x=p+a;if(x>m+.005){if(A(e.kind)){n=h+1,i=0;let L=e.kind==="soft-hyphen",W=e.kind==="space"?p:p+(L?u:0);return{text:C(t,s,r,n,i,L),width:W,start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:n,graphemeIndex:i}}}return B>=0?{text:C(t,s,r,B,l,d),width:b+(d?u:0),start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:B,graphemeIndex:l}}:a>m&&e.graphemeWidths?{text:C(t,s,r,n,i,!1),width:p,start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:n,graphemeIndex:i}}:{text:C(t,s,r,n,i,!1),width:p,start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:n,graphemeIndex:i}}}p=x,n=h+1,i=0,A(e.kind)&&g(h+1,0,e.kind==="space"?p-a:p,e.kind),h+=1}if(!S)return null;let y=n>0&&t[n-1]?.kind==="soft-hyphen";return{text:C(t,s,r,n,i,y),width:p+(y?u:0),start:{segmentIndex:s,graphemeIndex:r},end:{segmentIndex:n,graphemeIndex:i}}}function ne(t,c,m=0){let f=[t];for(let h=0;h<c.length;h++){let w=c[h],u=[];for(let s=0;s<f.length;s++){let r=f[s];if(w.right<=r.left||w.left>=r.right){u.push(r);continue}w.left>r.left&&u.push({left:r.left,right:w.left}),w.right<r.right&&u.push({left:w.right,right:r.right})}f=u}return m>0?f.filter(h=>h.right-h.left>=m):f}function Q(t,c,m){let f=[],h=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(let w=0;w<t.lines.length;w++){let u=t.lines[w],s=w*m,r=0;for(let p=u.startSegment;p<c.length;p++){let n=c[p];if(n.kind==="soft-hyphen"||n.kind==="hard-break"){if(p>=u.endSegment&&u.endGrapheme===0)break;continue}let i=[...h.segment(n.text)].map(l=>l.segment);if(i.length===0)continue;let S=p===u.startSegment?u.startGrapheme:0,B;if(p<u.endSegment)B=i.length;else if(p===u.endSegment&&u.endGrapheme>0)B=u.endGrapheme;else break;for(let l=S;l<B;l++){let b=n.graphemeWidths?n.graphemeWidths[l]:n.width/i.length;f.push({x:r,y:s,width:b,height:m,line:w}),r+=b}}}return f}function re(t){let{adapter:c,name:m="reactive-layout"}=t,f=new z(m),h=new Map,w=M(t.text??"",{name:"text"}),u=M(t.font??"16px sans-serif",{name:"font"}),s=M(t.lineHeight??20,{name:"line-height"}),r=M(Math.max(0,t.maxWidth??800),{name:"max-width"});function p(l,b){if(l===null||b===null)return l===b;if(l.length!==b.length)return!1;for(let d=0;d<l.length;d++)if(l[d]!==b[d])return!1;return!0}let n=H([w,u],(l,b,d)=>{let g=l[0],o=g!=null&&g.length>0?g.at(-1):d.prevData[0],y=l[1],I=y!=null&&y.length>0?y.at(-1):d.prevData[1],e=R(),a={hits:0,misses:0},x=V(o,I,c,h,a),k=R()-e,L=a.hits+a.misses,W=L===0?1:a.hits/L,v=n.meta;v&&(G(v["cache-hit-rate"],W),G(v["segment-count"],x.length),G(v["layout-time-ns"],k)),b.emit(x);let P=()=>{h.clear(),c.clearCache?.()};return{deactivate:P,invalidate:P}},{name:"segments",describeKind:"derived",meta:{"cache-hit-rate":0,"segment-count":0,"layout-time-ns":0},equals:(l,b)=>{let d=l,g=b;if(d==null||g==null)return d===g;if(d.length!==g.length)return!1;for(let o=0;o<d.length;o++){let y=d[o],I=g[o];if(y.text!==I.text||y.width!==I.width||y.kind!==I.kind||!p(y.graphemeWidths??null,I.graphemeWidths??null))return!1}return!0}}),i=N([n,r,u],([l,b,d])=>J(l,b,c,d,h),{name:"line-breaks",equals:(l,b)=>{let d=l,g=b;if(d==null||g==null)return d===g;if(d.lineCount!==g.lineCount)return!1;for(let o=0;o<d.lines.length;o++){let y=d.lines[o],I=g.lines[o];if(y.text!==I.text||y.width!==I.width||y.startSegment!==I.startSegment||y.startGrapheme!==I.startGrapheme||y.endSegment!==I.endSegment||y.endGrapheme!==I.endGrapheme)return!1}return!0}}),S=N([i,s],([l,b])=>l.lineCount*b,{name:"height"}),B=N([i,n,s],([l,b,d])=>Q(l,b,d),{name:"char-positions",equals:(l,b)=>{let d=l,g=b;if(d==null||g==null)return d===g;if(d.length!==g.length)return!1;for(let o=0;o<d.length;o++)if(d[o].x!==g[o].x||d[o].y!==g[o].y||d[o].width!==g[o].width)return!1;return!0}});return f.add(w,{name:"text"}),f.add(u,{name:"font"}),f.add(s,{name:"line-height"}),f.add(r,{name:"max-width"}),f.add(n,{name:"segments"}),f.add(i,{name:"line-breaks"}),f.add(S,{name:"height"}),f.add(B,{name:"char-positions"}),{graph:f,setText:l=>f.set("text",l),setFont:l=>f.set("font",l),setLineHeight:l=>f.set("line-height",l),setMaxWidth:l=>f.set("max-width",Math.max(0,l)),segments:n,lineBreaks:i,height:S,charPositions:B}}export{V as a,J as b,te as c,ne as d,Q as e,re as f};
@@ -1,9 +1,9 @@
1
- import{e as ce}from"./chunk-H5SCWHWP.js";import{a as se,b as P}from"./chunk-5QDBSZBV.js";import{i as L}from"./chunk-POXANAJ6.js";import{f as ae,h as ie}from"./chunk-L77I47VU.js";import{i as ne,j as U}from"./chunk-LYCLF26R.js";import{b,h as _,i as T,j as W}from"./chunk-CK2E7BTU.js";import{b as Oe,c as re,d as te,e as oe}from"./chunk-QYADASLV.js";var ke={};Oe(ke,{ACTOR_KEY:()=>F,COMMAND_HANDLERS:()=>A,CQRS_EVENT_HANDLERS:()=>S,CRON_HANDLERS:()=>D,CommandHandler:()=>me,EVENT_HANDLERS:()=>G,EventHandler:()=>ve,GRAPHREFLY_REQUEST_GRAPH:()=>R,GRAPHREFLY_ROOT_GRAPH:()=>v,GraphCron:()=>fe,GraphInterval:()=>he,GraphReflyEventExplorer:()=>x,GraphReflyGuard:()=>Re,GraphReflyGuardImpl:()=>I,GraphReflyModule:()=>Q,INTERVAL_HANDLERS:()=>O,InjectCqrsGraph:()=>de,InjectGraph:()=>ue,InjectNode:()=>pe,ObserveGateway:()=>B,OnGraphEvent:()=>le,QUERY_HANDLERS:()=>H,QueryHandler:()=>ye,SAGA_HANDLERS:()=>N,SagaHandler:()=>ge,fromHeader:()=>Ee,fromJwtPayload:()=>V,getActor:()=>we,getGraphToken:()=>m,getNodeToken:()=>y,observeSSE:()=>Me,observeSubscription:()=>Ce,toObservable:()=>se});import{Inject as j}from"@nestjs/common";var v=Symbol.for("graphrefly:root-graph");var R=Symbol.for("graphrefly:request-graph");function m(s){return Symbol.for(`graphrefly:graph:${s}`)}function y(s){return Symbol.for(`graphrefly:node:${s}`)}var G=new Map,O=new Map,D=new Map,A=new Map,S=new Map,H=new Map,N=new Map;function ue(s){return s==="request"?j(R):j(s?m(s):v)}function de(s){return j(m(s))}function pe(s){return j(y(s))}function le(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=G.get(o)??[];n.push({nodeName:s,methodKey:t}),G.set(o,n)})}}function he(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=O.get(o)??[];n.push({ms:s,methodKey:t}),O.set(o,n)})}}function fe(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=D.get(o)??[];n.push({expr:s,methodKey:t}),D.set(o,n)})}}function me(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=A.get(n)??[];a.push({cqrsName:s,commandName:e,methodKey:o}),A.set(n,a)})}}function ve(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=S.get(n)??[];a.push({cqrsName:s,eventName:e,methodKey:o}),S.set(n,a)})}}function ye(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=H.get(n)??[];a.push({cqrsName:s,projectionName:e,methodKey:o}),H.set(n,a)})}}function ge(s,e,r){return(t,o)=>{let n=o.name;o.addInitializer(function(){let a=this.constructor,c=N.get(a)??[];c.push({cqrsName:s,eventNames:r,sagaName:e,methodKey:n}),N.set(a,c)})}}var be=0,x=class{constructor(e,r){this.graph=e;this.moduleRef=r}disposers=[];scheduleNodeNames=[];onModuleInit(){this.wireEvents(),this.wireIntervals(),this.wireCrons(),this.wireCqrsCommands(),this.wireCqrsEvents(),this.wireCqrsQueries(),this.wireCqrsSagas()}onModuleDestroy(){for(let e of this.disposers)e();this.disposers.length=0;for(let e of this.scheduleNodeNames)try{this.graph.remove(e)}catch{}this.scheduleNodeNames.length=0}wireEvents(){for(let[e,r]of G){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireEventHandler(t,o)}}wireEventHandler(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),a=this.observeNode(r.nodeName).subscribe(c=>{for(let l of c)l[0]===b&&o(l[1])});this.disposers.push(a)}wireIntervals(){for(let[e,r]of O){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireIntervalHandler(t,e,o)}}wireIntervalHandler(e,r,t){let o=e[t.methodKey];if(typeof o!="function")return;let n=o.bind(e),c=`__schedule__.${r.name??"anonymous"}.${String(t.methodKey)}.${be++}`,l=ae(t.ms,{period:t.ms,name:c});this.graph.add(l),this.scheduleNodeNames.push(c);let p=this.observeNode(c).subscribe(u=>{for(let d of u)d[0]===b&&n(d[1])});this.disposers.push(p)}wireCrons(){for(let[e,r]of D){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCronHandler(t,e,o)}}wireCronHandler(e,r,t){let o=e[t.methodKey];if(typeof o!="function")return;let n=o.bind(e),c=`__schedule__.${r.name??"anonymous"}.${String(t.methodKey)}.${be++}`,l=ie(t.expr,{name:c});this.graph.add(l),this.scheduleNodeNames.push(c);let p=this.observeNode(c).subscribe(u=>{for(let d of u)d[0]===b&&n(d[1])});this.disposers.push(p)}wireCqrsCommands(){for(let[e,r]of A){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsCommand(t,o)}}wireCqrsCommand(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);n&&n.command(r.commandName,o)}wireCqrsEvents(){for(let[e,r]of S){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsEventHandler(t,o)}}wireCqrsEventHandler(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);if(!n)return;n.event(r.eventName);let c=n.resolve(r.eventName).cache,l=c&&c.length>0?c[c.length-1].seq:0,p=this.observeNodeOn(n,r.eventName).subscribe(u=>{for(let d of u)if(d[0]===b){let g=d[1];for(let i of g)i.seq>l&&(o(i),l=i.seq)}});this.disposers.push(p)}wireCqrsQueries(){for(let[e,r]of H){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsQuery(t,o)}}wireCqrsQuery(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);if(!n)return;let c=this.observeNodeOn(n,r.projectionName).subscribe(l=>{for(let f of l)f[0]===b&&o(f[1])});this.disposers.push(c)}wireCqrsSagas(){for(let[e,r]of N){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsSaga(t,o)}}wireCqrsSaga(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);n&&n.saga(r.sagaName,r.eventNames,o)}observeNode(e){return this.graph.observe(e)}observeNodeOn(e,r){return e.observe(r)}resolveCqrsGraph(e){try{return this.moduleRef.get(m(e),{strict:!1})}catch{return console.warn(`[GraphReFly] CqrsGraph "${e}" not found in DI \u2014 did you import GraphReflyModule.forCqrs({ name: "${e}" })?`),null}}resolveInstance(e){try{return this.moduleRef.get(e,{strict:!1})}catch{return null}}};function Me(s,e,r){let{actor:t,serialize:o=De,keepAliveMs:n,signal:a}=r??{},c=new TextEncoder,l,f=r?.highWaterMark!=null,p,u,d=[],g=!1;return new ReadableStream({start(i){let h,w=()=>{},M=()=>{if(!g){g=!0,h!==void 0&&clearInterval(h),a?.removeEventListener("abort",K),w(),p?.dispose(),u?.(),u=void 0;for(let k of d)i.enqueue(k.frame);d.length=0,i.close()}};l=M;let K=()=>M(),ee=s.observe(e,{actor:t});f&&(p=P(k=>ee.up(k),{highWaterMark:r.highWaterMark,lowWaterMark:r.lowWaterMark??Math.floor(r.highWaterMark/2)})),w=ee.subscribe(k=>{for(let $ of k){if(g)return;let q=$[0];if(q===b){let C=c.encode(Y("data",o($[1])));f?(d.push({frame:C,counted:!0}),p.onEnqueue(),u?.(),u=void 0):i.enqueue(C)}else if(q===W){let C=c.encode(Y("error",o($[1])));f?(d.push({frame:C,counted:!1}),u?.(),u=void 0):i.enqueue(C),M();return}else if(q===T||q===_){if(q===T){let C=c.encode(Y("complete"));f?(d.push({frame:C,counted:!1}),u?.(),u=void 0):i.enqueue(C)}M();return}}}),n!==void 0&&n>0&&(h=setInterval(()=>{g||(f?(d.push({frame:c.encode(`: keepalive
1
+ import{e as ce}from"./chunk-VQ4A6T2A.js";import{a as se,b as L}from"./chunk-5QDBSZBV.js";import{j as P}from"./chunk-626TESAC.js";import{f as ae,h as ie}from"./chunk-V5A7M7RJ.js";import{i as ne,j as U}from"./chunk-LYCLF26R.js";import{b,h as _,i as T,j as W}from"./chunk-CK2E7BTU.js";import{b as Oe,c as re,d as te,e as oe}from"./chunk-QYADASLV.js";var ke={};Oe(ke,{ACTOR_KEY:()=>F,COMMAND_HANDLERS:()=>A,CQRS_EVENT_HANDLERS:()=>S,CRON_HANDLERS:()=>D,CommandHandler:()=>me,EVENT_HANDLERS:()=>G,EventHandler:()=>ve,GRAPHREFLY_REQUEST_GRAPH:()=>R,GRAPHREFLY_ROOT_GRAPH:()=>v,GraphCron:()=>fe,GraphInterval:()=>he,GraphReflyEventExplorer:()=>x,GraphReflyGuard:()=>Re,GraphReflyGuardImpl:()=>I,GraphReflyModule:()=>Q,INTERVAL_HANDLERS:()=>O,InjectCqrsGraph:()=>de,InjectGraph:()=>ue,InjectNode:()=>pe,ObserveGateway:()=>B,OnGraphEvent:()=>le,QUERY_HANDLERS:()=>H,QueryHandler:()=>ye,SAGA_HANDLERS:()=>N,SagaHandler:()=>ge,fromHeader:()=>Ee,fromJwtPayload:()=>V,getActor:()=>we,getGraphToken:()=>m,getNodeToken:()=>y,observeSSE:()=>Me,observeSubscription:()=>Ce,toObservable:()=>se});import{Inject as j}from"@nestjs/common";var v=Symbol.for("graphrefly:root-graph");var R=Symbol.for("graphrefly:request-graph");function m(s){return Symbol.for(`graphrefly:graph:${s}`)}function y(s){return Symbol.for(`graphrefly:node:${s}`)}var G=new Map,O=new Map,D=new Map,A=new Map,S=new Map,H=new Map,N=new Map;function ue(s){return s==="request"?j(R):j(s?m(s):v)}function de(s){return j(m(s))}function pe(s){return j(y(s))}function le(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=G.get(o)??[];n.push({nodeName:s,methodKey:t}),G.set(o,n)})}}function he(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=O.get(o)??[];n.push({ms:s,methodKey:t}),O.set(o,n)})}}function fe(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=D.get(o)??[];n.push({expr:s,methodKey:t}),D.set(o,n)})}}function me(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=A.get(n)??[];a.push({cqrsName:s,commandName:e,methodKey:o}),A.set(n,a)})}}function ve(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=S.get(n)??[];a.push({cqrsName:s,eventName:e,methodKey:o}),S.set(n,a)})}}function ye(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=H.get(n)??[];a.push({cqrsName:s,projectionName:e,methodKey:o}),H.set(n,a)})}}function ge(s,e,r){return(t,o)=>{let n=o.name;o.addInitializer(function(){let a=this.constructor,c=N.get(a)??[];c.push({cqrsName:s,eventNames:r,sagaName:e,methodKey:n}),N.set(a,c)})}}var be=0,x=class{constructor(e,r){this.graph=e;this.moduleRef=r}disposers=[];scheduleNodeNames=[];onModuleInit(){this.wireEvents(),this.wireIntervals(),this.wireCrons(),this.wireCqrsCommands(),this.wireCqrsEvents(),this.wireCqrsQueries(),this.wireCqrsSagas()}onModuleDestroy(){for(let e of this.disposers)e();this.disposers.length=0;for(let e of this.scheduleNodeNames)try{this.graph.remove(e)}catch{}this.scheduleNodeNames.length=0}wireEvents(){for(let[e,r]of G){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireEventHandler(t,o)}}wireEventHandler(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),a=this.observeNode(r.nodeName).subscribe(c=>{for(let l of c)l[0]===b&&o(l[1])});this.disposers.push(a)}wireIntervals(){for(let[e,r]of O){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireIntervalHandler(t,e,o)}}wireIntervalHandler(e,r,t){let o=e[t.methodKey];if(typeof o!="function")return;let n=o.bind(e),c=`__schedule__.${r.name??"anonymous"}.${String(t.methodKey)}.${be++}`,l=ae(t.ms,{period:t.ms,name:c});this.graph.add(l),this.scheduleNodeNames.push(c);let p=this.observeNode(c).subscribe(u=>{for(let d of u)d[0]===b&&n(d[1])});this.disposers.push(p)}wireCrons(){for(let[e,r]of D){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCronHandler(t,e,o)}}wireCronHandler(e,r,t){let o=e[t.methodKey];if(typeof o!="function")return;let n=o.bind(e),c=`__schedule__.${r.name??"anonymous"}.${String(t.methodKey)}.${be++}`,l=ie(t.expr,{name:c});this.graph.add(l),this.scheduleNodeNames.push(c);let p=this.observeNode(c).subscribe(u=>{for(let d of u)d[0]===b&&n(d[1])});this.disposers.push(p)}wireCqrsCommands(){for(let[e,r]of A){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsCommand(t,o)}}wireCqrsCommand(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);n&&n.command(r.commandName,o)}wireCqrsEvents(){for(let[e,r]of S){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsEventHandler(t,o)}}wireCqrsEventHandler(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);if(!n)return;n.event(r.eventName);let c=n.resolve(r.eventName).cache,l=c&&c.length>0?c[c.length-1].seq:0,p=this.observeNodeOn(n,r.eventName).subscribe(u=>{for(let d of u)if(d[0]===b){let g=d[1];for(let i of g)i.seq>l&&(o(i),l=i.seq)}});this.disposers.push(p)}wireCqrsQueries(){for(let[e,r]of H){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsQuery(t,o)}}wireCqrsQuery(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);if(!n)return;let c=this.observeNodeOn(n,r.projectionName).subscribe(l=>{for(let f of l)f[0]===b&&o(f[1])});this.disposers.push(c)}wireCqrsSagas(){for(let[e,r]of N){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsSaga(t,o)}}wireCqrsSaga(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);n&&n.saga(r.sagaName,r.eventNames,o)}observeNode(e){return this.graph.observe(e)}observeNodeOn(e,r){return e.observe(r)}resolveCqrsGraph(e){try{return this.moduleRef.get(m(e),{strict:!1})}catch{return console.warn(`[GraphReFly] CqrsGraph "${e}" not found in DI \u2014 did you import GraphReflyModule.forCqrs({ name: "${e}" })?`),null}}resolveInstance(e){try{return this.moduleRef.get(e,{strict:!1})}catch{return null}}};function Me(s,e,r){let{actor:t,serialize:o=De,keepAliveMs:n,signal:a}=r??{},c=new TextEncoder,l,f=r?.highWaterMark!=null,p,u,d=[],g=!1;return new ReadableStream({start(i){let h,w=()=>{},M=()=>{if(!g){g=!0,h!==void 0&&clearInterval(h),a?.removeEventListener("abort",K),w(),p?.dispose(),u?.(),u=void 0;for(let k of d)i.enqueue(k.frame);d.length=0,i.close()}};l=M;let K=()=>M(),ee=s.observe(e,{actor:t});f&&(p=L(k=>ee.up(k),{highWaterMark:r.highWaterMark,lowWaterMark:r.lowWaterMark??Math.floor(r.highWaterMark/2)})),w=ee.subscribe(k=>{for(let $ of k){if(g)return;let q=$[0];if(q===b){let C=c.encode(Y("data",o($[1])));f?(d.push({frame:C,counted:!0}),p.onEnqueue(),u?.(),u=void 0):i.enqueue(C)}else if(q===W){let C=c.encode(Y("error",o($[1])));f?(d.push({frame:C,counted:!1}),u?.(),u=void 0):i.enqueue(C),M();return}else if(q===T||q===_){if(q===T){let C=c.encode(Y("complete"));f?(d.push({frame:C,counted:!1}),u?.(),u=void 0):i.enqueue(C)}M();return}}}),n!==void 0&&n>0&&(h=setInterval(()=>{g||(f?(d.push({frame:c.encode(`: keepalive
2
2
 
3
3
  `),counted:!1}),u?.(),u=void 0):i.enqueue(c.encode(`: keepalive
4
4
 
5
- `)))},n)),a?.aborted?K():a?.addEventListener("abort",K,{once:!0})},pull(i){if(f&&!g){if(d.length>0){let h=d.shift();i.enqueue(h.frame),h.counted&&p.onDequeue();return}return new Promise(h=>{u=h})}},cancel(){try{l?.()}catch{}}})}function Ce(s,e,r){let{actor:t,filter:o}=r??{},n=[],a=[],c=!1,l=s.observe(e,{actor:t}),f=r?.highWaterMark!=null?P(i=>l.up(i),{highWaterMark:r.highWaterMark,lowWaterMark:r.lowWaterMark??Math.floor(r.highWaterMark/2)}):void 0,p=()=>{c||(c=!0,f?.dispose(),d())},u=i=>{if(!c)if(a.length>0){let h=a.shift();i.done&&i.error?h.reject(i.error):i.done?h.resolve({done:!0,value:void 0}):h.resolve({done:!1,value:i.value})}else n.push(i),i.done||f?.onEnqueue()},d=l.subscribe(i=>{for(let h of i){let w=h[0];if(w===b){let M=h[1];if(o&&!o(M))continue;u({done:!1,value:M})}else if(w===W){let M=h[1]instanceof Error?h[1]:new Error(String(h[1]));u({done:!0,error:M}),p();return}else if(w===T||w===_){u({done:!0}),p();return}}});return{next(){if(n.length>0){let i=n.shift();return i.done||f?.onDequeue(),i.done&&i.error?Promise.reject(i.error):Promise.resolve(i.done?{done:!0,value:void 0}:{done:!1,value:i.value})}return c?Promise.resolve({done:!0,value:void 0}):new Promise((i,h)=>{a.push({resolve:i,reject:h})})},return(){p();for(let i of a)i.resolve({done:!0,value:void 0});return a.length=0,Promise.resolve({done:!0,value:void 0})},throw(i){return p(),Promise.reject(i)},[Symbol.asyncIterator](){return this}}}var B=class{constructor(e,r){this.graph=e;this.extractActor=r?.extractActor??(()=>{}),this.parse=r?.parse??Ae,this.highWaterMark=r?.highWaterMark,this.lowWaterMark=r?.lowWaterMark}clients=new Map;extractActor;parse;highWaterMark;lowWaterMark;handleConnection(e){this.clients.has(e)||this.clients.set(e,new Map)}handleDisconnect(e){let r=this.clients.get(e);if(r){for(let t of r.values())t.wm?.dispose(),t.unsub();this.clients.delete(e)}}handleMessage(e,r,t){let o=t??Se.bind(null,e),n;try{n=typeof r=="string"?this.parse(r):r}catch{o({type:"err",message:"invalid command"});return}n.type==="subscribe"?this.subscribe(e,n.path,o):n.type==="unsubscribe"?this.unsubscribe(e,n.path,o):n.type==="ack"?this.ack(e,n.path,n.count??1):o({type:"err",message:`unknown command type: ${n.type}`})}subscriptionCount(e){return this.clients.get(e)?.size??0}destroy(){for(let[e]of this.clients)this.handleDisconnect(e)}subscribe(e,r,t){let o=this.clients.get(e);if(o||(o=new Map,this.clients.set(e,o)),o.has(r)){t({type:"subscribed",path:r});return}let n=this.extractActor(e),a;try{a=this.graph.observe(r,{actor:n})}catch(p){let u=p instanceof Error?p.message:String(p);t({type:"err",message:u});return}let c=this.highWaterMark!=null?P(p=>a.up(p),{highWaterMark:this.highWaterMark,lowWaterMark:this.lowWaterMark??Math.floor(this.highWaterMark/2)}):void 0,l=()=>{c?.dispose(),f(),o.delete(r)},f=a.subscribe(p=>{for(let u of p){let d=u[0];if(d===b)c?.onEnqueue(),z(t,{type:"data",path:r,value:u[1]});else if(d===W){let g=u[1]instanceof Error?u[1].message:String(u[1]);z(t,{type:"error",path:r,error:g}),l();return}else if(d===T||d===_){z(t,{type:"complete",path:r}),l();return}}});o.set(r,{unsub:f,wm:c}),t({type:"subscribed",path:r})}unsubscribe(e,r,t){let o=this.clients.get(e),n=o?.get(r);n&&(n.wm?.dispose(),n.unsub(),o.delete(r)),t({type:"unsubscribed",path:r})}ack(e,r,t){let o=this.clients.get(e)?.get(r);if(!o?.wm)return;let n=Math.min(Math.max(0,Math.floor(t)),1024);for(let a=0;a<n;a++)o.wm.onDequeue()}};function De(s){if(s instanceof Error)return s.message;try{return JSON.stringify(s)}catch{return String(s)}}function Y(s,e){let r=`event: ${s}
5
+ `)))},n)),a?.aborted?K():a?.addEventListener("abort",K,{once:!0})},pull(i){if(f&&!g){if(d.length>0){let h=d.shift();i.enqueue(h.frame),h.counted&&p.onDequeue();return}return new Promise(h=>{u=h})}},cancel(){try{l?.()}catch{}}})}function Ce(s,e,r){let{actor:t,filter:o}=r??{},n=[],a=[],c=!1,l=s.observe(e,{actor:t}),f=r?.highWaterMark!=null?L(i=>l.up(i),{highWaterMark:r.highWaterMark,lowWaterMark:r.lowWaterMark??Math.floor(r.highWaterMark/2)}):void 0,p=()=>{c||(c=!0,f?.dispose(),d())},u=i=>{if(!c)if(a.length>0){let h=a.shift();i.done&&i.error?h.reject(i.error):i.done?h.resolve({done:!0,value:void 0}):h.resolve({done:!1,value:i.value})}else n.push(i),i.done||f?.onEnqueue()},d=l.subscribe(i=>{for(let h of i){let w=h[0];if(w===b){let M=h[1];if(o&&!o(M))continue;u({done:!1,value:M})}else if(w===W){let M=h[1]instanceof Error?h[1]:new Error(String(h[1]));u({done:!0,error:M}),p();return}else if(w===T||w===_){u({done:!0}),p();return}}});return{next(){if(n.length>0){let i=n.shift();return i.done||f?.onDequeue(),i.done&&i.error?Promise.reject(i.error):Promise.resolve(i.done?{done:!0,value:void 0}:{done:!1,value:i.value})}return c?Promise.resolve({done:!0,value:void 0}):new Promise((i,h)=>{a.push({resolve:i,reject:h})})},return(){p();for(let i of a)i.resolve({done:!0,value:void 0});return a.length=0,Promise.resolve({done:!0,value:void 0})},throw(i){return p(),Promise.reject(i)},[Symbol.asyncIterator](){return this}}}var B=class{constructor(e,r){this.graph=e;this.extractActor=r?.extractActor??(()=>{}),this.parse=r?.parse??Ae,this.highWaterMark=r?.highWaterMark,this.lowWaterMark=r?.lowWaterMark}clients=new Map;extractActor;parse;highWaterMark;lowWaterMark;handleConnection(e){this.clients.has(e)||this.clients.set(e,new Map)}handleDisconnect(e){let r=this.clients.get(e);if(r){for(let t of r.values())t.wm?.dispose(),t.unsub();this.clients.delete(e)}}handleMessage(e,r,t){let o=t??Se.bind(null,e),n;try{n=typeof r=="string"?this.parse(r):r}catch{o({type:"err",message:"invalid command"});return}n.type==="subscribe"?this.subscribe(e,n.path,o):n.type==="unsubscribe"?this.unsubscribe(e,n.path,o):n.type==="ack"?this.ack(e,n.path,n.count??1):o({type:"err",message:`unknown command type: ${n.type}`})}subscriptionCount(e){return this.clients.get(e)?.size??0}destroy(){for(let[e]of this.clients)this.handleDisconnect(e)}subscribe(e,r,t){let o=this.clients.get(e);if(o||(o=new Map,this.clients.set(e,o)),o.has(r)){t({type:"subscribed",path:r});return}let n=this.extractActor(e),a;try{a=this.graph.observe(r,{actor:n})}catch(p){let u=p instanceof Error?p.message:String(p);t({type:"err",message:u});return}let c=this.highWaterMark!=null?L(p=>a.up(p),{highWaterMark:this.highWaterMark,lowWaterMark:this.lowWaterMark??Math.floor(this.highWaterMark/2)}):void 0,l=()=>{c?.dispose(),f(),o.delete(r)},f=a.subscribe(p=>{for(let u of p){let d=u[0];if(d===b)c?.onEnqueue(),z(t,{type:"data",path:r,value:u[1]});else if(d===W){let g=u[1]instanceof Error?u[1].message:String(u[1]);z(t,{type:"error",path:r,error:g}),l();return}else if(d===T||d===_){z(t,{type:"complete",path:r}),l();return}}});o.set(r,{unsub:f,wm:c}),t({type:"subscribed",path:r})}unsubscribe(e,r,t){let o=this.clients.get(e),n=o?.get(r);n&&(n.wm?.dispose(),n.unsub(),o.delete(r)),t({type:"unsubscribed",path:r})}ack(e,r,t){let o=this.clients.get(e)?.get(r);if(!o?.wm)return;let n=Math.min(Math.max(0,Math.floor(t)),1024);for(let a=0;a<n;a++)o.wm.onDequeue()}};function De(s){if(s instanceof Error)return s.message;try{return JSON.stringify(s)}catch{return String(s)}}function Y(s,e){let r=`event: ${s}
6
6
  `;if(e!==void 0)for(let t of e.split(`
7
7
  `))r+=`data: ${t}
8
8
  `;return r+=`
9
- `,r}function Ae(s){return JSON.parse(s)}function Se(s,e){try{s.send(JSON.stringify(e))}catch{}}function z(s,e){try{s(e)}catch{}}var F="graphReflyActor";function V(s){return e=>{let t=e.switchToHttp().getRequest()?.user;if(t!=null)return s?s(t):t}}function Ee(s="x-graphrefly-actor"){return e=>{let t=e.switchToHttp().getRequest()?.headers?.[s.toLowerCase()];if(!(typeof t!="string"||t.length===0))try{return JSON.parse(t)}catch{return}}}function we(s){let e=s?.[F];return e!=null?U(e):ne}var I=class{constructor(e){this.extractor=e}canActivate(e){let r=U(this.extractor(e)),t=e.switchToHttp().getRequest();return t!=null&&(t[F]=r),!0}};function Re(s){return new I(s??V())}import{Module as He,Scope as xe}from"@nestjs/common";import{ModuleRef as Ne}from"@nestjs/core";var X=class{constructor(e){this.graph=e}onModuleDestroy(){this.graph.destroy()}},Z=class{graph=new L("request");onModuleDestroy(){this.graph.destroy()}},Ge,J;Ge=[He({})];var E=class E{static forRoot(e){let r=e??{},t=r.name??"root",o=[{provide:v,useFactory:()=>{let n=new L(t);return r.build&&r.build(n),r.snapshot&&n.restore(r.snapshot),n}},{provide:Symbol.for("graphrefly:root-lifecycle"),useFactory:n=>new X(n),inject:[v]},{provide:x,useFactory:(n,a)=>new x(n,a),inject:[v,Ne]}];if(r.nodes)for(let n of r.nodes)o.push({provide:y(n),useFactory:a=>a.resolve(n),inject:[v]});return r.requestScope&&o.push({provide:Symbol.for("graphrefly:request-lifecycle"),useFactory:()=>new Z,scope:xe.REQUEST},{provide:R,useFactory:n=>n.graph,inject:[Symbol.for("graphrefly:request-lifecycle")],scope:xe.REQUEST}),{module:E,global:!0,providers:o,exports:[v,...(r.nodes??[]).map(y),...r.requestScope?[R]:[]]}}static forFeature(e){let r=[{provide:m(e.name),useFactory:t=>{let o=new L(e.name);return e.build&&e.build(o),e.snapshot&&o.restore(e.snapshot),t.mount(e.name,o),o},inject:[v]}];if(e.nodes)for(let t of e.nodes)r.push({provide:y(`${e.name}::${t}`),useFactory:o=>o.resolve(t),inject:[m(e.name)]});return{module:E,providers:r,exports:[m(e.name),...(e.nodes??[]).map(t=>y(`${e.name}::${t}`))]}}static forCqrs(e){let r=[{provide:m(e.name),useFactory:t=>{let o=ce(e.name,e.cqrs);return e.eventStorage&&o.attachEventStorage(e.eventStorage),e.build&&e.build(o),t.mount(e.name,o),o},inject:[v]}];if(e.nodes)for(let t of e.nodes)r.push({provide:y(`${e.name}::${t}`),useFactory:o=>o.resolve(t),inject:[m(e.name)]});return{module:E,providers:r,exports:[m(e.name),...(e.nodes??[]).map(t=>y(`${e.name}::${t}`))]}}};J=re(null),E=oe(J,0,"GraphReflyModule",Ge,E),te(J,1,E);var Q=E;export{v as a,R as b,m as c,y as d,G as e,O as f,D as g,A as h,S as i,H as j,N as k,ue as l,de as m,pe as n,le as o,he as p,fe as q,me as r,ve as s,ye as t,ge as u,x as v,Me as w,Ce as x,B as y,F as z,V as A,Ee as B,we as C,I as D,Re as E,Q as F,ke as G};
9
+ `,r}function Ae(s){return JSON.parse(s)}function Se(s,e){try{s.send(JSON.stringify(e))}catch{}}function z(s,e){try{s(e)}catch{}}var F="graphReflyActor";function V(s){return e=>{let t=e.switchToHttp().getRequest()?.user;if(t!=null)return s?s(t):t}}function Ee(s="x-graphrefly-actor"){return e=>{let t=e.switchToHttp().getRequest()?.headers?.[s.toLowerCase()];if(!(typeof t!="string"||t.length===0))try{return JSON.parse(t)}catch{return}}}function we(s){let e=s?.[F];return e!=null?U(e):ne}var I=class{constructor(e){this.extractor=e}canActivate(e){let r=U(this.extractor(e)),t=e.switchToHttp().getRequest();return t!=null&&(t[F]=r),!0}};function Re(s){return new I(s??V())}import{Module as He,Scope as xe}from"@nestjs/common";import{ModuleRef as Ne}from"@nestjs/core";var X=class{constructor(e){this.graph=e}onModuleDestroy(){this.graph.destroy()}},Z=class{graph=new P("request");onModuleDestroy(){this.graph.destroy()}},Ge,J;Ge=[He({})];var E=class E{static forRoot(e){let r=e??{},t=r.name??"root",o=[{provide:v,useFactory:()=>{let n=new P(t);return r.build&&r.build(n),r.snapshot&&n.restore(r.snapshot),n}},{provide:Symbol.for("graphrefly:root-lifecycle"),useFactory:n=>new X(n),inject:[v]},{provide:x,useFactory:(n,a)=>new x(n,a),inject:[v,Ne]}];if(r.nodes)for(let n of r.nodes)o.push({provide:y(n),useFactory:a=>a.resolve(n),inject:[v]});return r.requestScope&&o.push({provide:Symbol.for("graphrefly:request-lifecycle"),useFactory:()=>new Z,scope:xe.REQUEST},{provide:R,useFactory:n=>n.graph,inject:[Symbol.for("graphrefly:request-lifecycle")],scope:xe.REQUEST}),{module:E,global:!0,providers:o,exports:[v,...(r.nodes??[]).map(y),...r.requestScope?[R]:[]]}}static forFeature(e){let r=[{provide:m(e.name),useFactory:t=>{let o=new P(e.name);return e.build&&e.build(o),e.snapshot&&o.restore(e.snapshot),t.mount(e.name,o),o},inject:[v]}];if(e.nodes)for(let t of e.nodes)r.push({provide:y(`${e.name}::${t}`),useFactory:o=>o.resolve(t),inject:[m(e.name)]});return{module:E,providers:r,exports:[m(e.name),...(e.nodes??[]).map(t=>y(`${e.name}::${t}`))]}}static forCqrs(e){let r=[{provide:m(e.name),useFactory:t=>{let o=ce(e.name,e.cqrs);return e.eventStorage&&o.attachEventStorage(e.eventStorage),e.build&&e.build(o),t.mount(e.name,o),o},inject:[v]}];if(e.nodes)for(let t of e.nodes)r.push({provide:y(`${e.name}::${t}`),useFactory:o=>o.resolve(t),inject:[m(e.name)]});return{module:E,providers:r,exports:[m(e.name),...(e.nodes??[]).map(t=>y(`${e.name}::${t}`))]}}};J=re(null),E=oe(J,0,"GraphReflyModule",Ge,E),te(J,1,E);var Q=E;export{v as a,R as b,m as c,y as d,G as e,O as f,D as g,A as h,S as i,H as j,N as k,ue as l,de as m,pe as n,le as o,he as p,fe as q,me as r,ve as s,ye as t,ge as u,x as v,Me as w,Ce as x,B as y,F as z,V as A,Ee as B,we as C,I as D,Re as E,Q as F,ke as G};
@@ -0,0 +1 @@
1
+ import{f as b}from"./chunk-FDQGFWLF.js";import{a as S}from"./chunk-L6NSJVJZ.js";import{j as T}from"./chunk-626TESAC.js";import{b as D}from"./chunk-JQFH2DV6.js";import{C as d}from"./chunk-V5A7M7RJ.js";import{D as N,E as _,G as y,m as P}from"./chunk-LYCLF26R.js";import{b as M,i as A}from"./chunk-CK2E7BTU.js";import{b as C}from"./chunk-QYADASLV.js";var $={};C($,{MessagingHubGraph:()=>k,SubscriptionGraph:()=>f,TopicBridgeGraph:()=>O,TopicGraph:()=>g,TopicRegistry:()=>I,messagingHub:()=>F,subscription:()=>R,topic:()=>H,topicBridge:()=>U});var z=256;function l(r,e){if(!Number.isFinite(r)||!Number.isInteger(r)||r<0)throw new Error(`${e} must be a non-negative integer`);return r}function p(r,e){return S("messaging",r,e)}var B=1024,g=class extends T{_log;_publishImpl;events;latest;hasLatest;constructor(e,n={}){super(e,n.graph),this._log=D([],{name:"events",maxSize:n.retainedLimit??B}),this._log.withLatest(),this.events=this._log.entries,this.add(this.events,{name:"events"}),this.latest=y([this.events],([t])=>{let i=t;return i.length===0?null:i[i.length-1]},{name:"latest",describeKind:"derived",meta:p("topic_latest")}),this.add(this.latest,{name:"latest"}),this.addDisposer(d(this.latest)),this.hasLatest=y([this.events],([t])=>t.length>0,{name:"hasLatest",describeKind:"derived",meta:p("topic_has_latest")}),this.add(this.hasLatest,{name:"hasLatest"}),this.addDisposer(d(this.hasLatest)),this.addDisposer(()=>{this.events.down([[A]])}),this.addDisposer(()=>this._log.disposeAllViews()),this._publishImpl=b(t=>{this._log.append(t)},{freeze:!1})}publish(e){if(e===void 0)throw new TypeError(`TopicGraph "${this.name}": publish(undefined) is not allowed (spec \xA75.12 SENTINEL).`);this._publishImpl(e)}attachEventStorage(e){return this._log.attachStorage(e)}retained(){return this.events.cache}get _logBundle(){return this._log}},f=class extends T{cursor;available;topic;_disposed=!1;_ackImpl;_pullAndAckImpl;constructor(e,n,t={}){super(e,t.graph),this.topic=n;let i;if(t.from!==void 0?t.from==="retained"?i=0:t.from==="now"?i=n.events.cache.length:i=l(t.from,"subscription from"):i=l(t.cursor??0,"subscription cursor"),this.cursor=_(i,{name:"cursor",describeKind:"state",meta:p("subscription_cursor")}),this.add(this.cursor,{name:"cursor"}),this.available=n._logBundle.view({kind:"fromCursor",cursor:this.cursor}),this.add(this.available,{name:"available"}),this.addDisposer(d(this.available)),t.advanceOn!==void 0){let s=t.advanceOn,a=!1,c=N([s],()=>{if(!a){a=!0;return}if(this._disposed)return;let o=this.available.cache;if(o.length===0)return;let u=this.cursor.cache+o.length;this.cursor.emit(u)},{name:"advancePump",describeKind:"effect",meta:p("subscription_advance_pump")});this.add(c,{name:"advancePump"}),this.addDisposer(d(c))}this._ackImpl=b(s=>{let a=this.available.cache,c=s===void 0?a.length:l(s,"subscription ack count"),o=Math.min(c,a.length);if(o<=0)return this.cursor.cache;let u=this.cursor.cache+o;return this.cursor.emit(u),u},{freeze:!1}),this._pullAndAckImpl=b(s=>{let a=this.available.cache,c=s===void 0?a.length:l(s,"subscription pullAndAck limit"),o=a.slice(0,c);if(o.length===0)return{items:o,cursor:this.cursor.cache};let u=this.cursor.cache+o.length;return this.cursor.emit(u),{items:o,cursor:u}},{freeze:!1})}ack(e){return this._disposed?this.cursor.cache:this._ackImpl(e)}pull(e){if(this._disposed)return[];let n=this.available.cache,t=e===void 0?n.length:l(e,"subscription pull limit");return n.slice(0,t)}pullAndAck(e){return this._disposed?{items:[],cursor:this.cursor.cache}:this._pullAndAckImpl(e)}dispose(){this._disposed||(this._disposed=!0,this.cursor.down([[A]]),this.destroy())}},O=class extends T{_sourceSub;bridgedCount;output;constructor(e,n,t,i={}){super(e,i.graph),this._sourceSub=R(`${e}-subscription`,n,{cursor:i.cursor}),this.mount("subscription",this._sourceSub);let s=Math.max(1,l(i.maxPerPump??z,"topic bridge maxPerPump")),a=i.map??(h=>h);this.output=y([this._sourceSub.available],([h])=>{let v=h,m=[],w=Math.min(v.length,s);for(let x=0;x<w;x++){let L=a(v[x]);L!==void 0&&m.push(L)}return m},{name:"output",describeKind:"derived",meta:p("topic_bridge_output",{targetRef:t.name}),initial:[]}),this.add(this.output,{name:"output"}),this.addDisposer(d(this.output)),this.bridgedCount=_(0,{name:"bridgedCount",describeKind:"state",meta:p("topic_bridge_count")}),this.add(this.bridgedCount,{name:"bridgedCount"}),this.addDisposer(d(this.bridgedCount));let c=this.output,o=this._sourceSub,u=this.bridgedCount,G=N([c],()=>{let h=c.cache;if(h.length===0)return;let v=o.available.cache.length,m=Math.min(v,s);if(m>0){o.ack(m);let w=u.cache??0;u.emit(w+h.length)}},{name:"ackPump",describeKind:"effect",meta:p("topic_bridge_ack_pump")});this.add(G,{name:"ackPump"}),this.addDisposer(d(G));let E=K(this.output,t);this.addDisposer(E)}};function K(r,e){return r.subscribe(n=>{for(let t of n){if(t[0]!==M)continue;let i=t[1];i.length!==0&&P(()=>{for(let s of i)e.publish(s)})}})}var I=class{_map=new Map;version;constructor(e){this.version=e}get size(){return this._map.size}has(e){return this._map.has(e)}get(e){return this._map.get(e)}set(e,n){this._map.set(e,n)}delete(e){return this._map.delete(e)}keys(){return this._map.keys()}},k=class extends T{_registry;version;_defaultTopicOptions;_removeTopicImpl;constructor(e,n={}){super(e,n.graph);let t=_(0,{name:"version",describeKind:"state",meta:p("hub_version")});this.add(t,{name:"version"}),this.version=t,this._registry=new I(t),this._defaultTopicOptions={...n.defaultTopicOptions??{}},this._removeTopicImpl=b(i=>{try{this.remove(i)}finally{this._registry.delete(i);let s=this.version.cache??0;this.version.emit(s+1)}},{freeze:!1})}get size(){return this._registry.size}has(e){return this._registry.has(e)}topicNames(){return this._registry.keys()}topic(e,n){let t=this._registry.get(e);if(t===void 0){let i={...this._defaultTopicOptions,...n??{}};t=new g(e,i),this._registry.set(e,t),this.mount(e,t);let s=this.version.cache??0;this.version.emit(s+1)}return t}publish(e,n){this.topic(e).publish(n)}publishMany(e){P(()=>{for(let[n,t]of e)this.topic(n).publish(t)})}subscribe(e,n,t){let i=this.topic(n);return new f(e,i,t)}removeTopic(e){return this._registry.has(e)?(this._removeTopicImpl(e),!0):!1}};function H(r,e){return new g(r,e)}function F(r,e){return new k(r,e)}function R(r,e,n){return new f(r,e,n)}function U(r,e,n,t){return new O(r,e,n,t)}export{g as a,f as b,O as c,I as d,k as e,H as f,F as g,R as h,U as i,$ as j};
@@ -1,4 +1,4 @@
1
- import{f as F,g as j,h as A}from"./chunk-F7VUYPP6.js";import{h as b,i as x}from"./chunk-POXANAJ6.js";import{p as _}from"./chunk-LYCLF26R.js";import{b as C,d as $,i as T,j as N}from"./chunk-CK2E7BTU.js";import{b as J}from"./chunk-QYADASLV.js";var Y={};J(Y,{SNAPSHOT_WIRE_VERSION:()=>v,SurfaceError:()=>o,asSurfaceError:()=>K,createGraph:()=>R,deleteSnapshot:()=>L,diffSnapshots:()=>V,listSnapshots:()=>W,restoreSnapshot:()=>U,runReduction:()=>D,saveSnapshot:()=>M});var o=class extends Error{code;details;constructor(t,r,n){super(r),this.name="SurfaceError",this.code=t,n!==void 0&&(this.details=n)}toJSON(){let t={code:this.code,message:this.message};if(this.details!==void 0){let r=q(this.details);r!==void 0&&(t.details=r)}return t}};function q(e){try{return JSON.parse(JSON.stringify(e))}catch{return}}function K(e,t="internal-error"){if(e instanceof o)return e;let r=e instanceof Error?e.message:String(e);return new o(t,r)}function R(e,t){let r=j(e);if(!r.valid)throw new o("invalid-spec",`GraphSpec validation failed:
1
+ import{f as F,g as j,h as A}from"./chunk-Y4NI3X7O.js";import{i as b,j as x}from"./chunk-626TESAC.js";import{p as _}from"./chunk-LYCLF26R.js";import{b as C,d as $,i as T,j as N}from"./chunk-CK2E7BTU.js";import{b as J}from"./chunk-QYADASLV.js";var Y={};J(Y,{SNAPSHOT_WIRE_VERSION:()=>v,SurfaceError:()=>o,asSurfaceError:()=>K,createGraph:()=>R,deleteSnapshot:()=>L,diffSnapshots:()=>V,listSnapshots:()=>W,restoreSnapshot:()=>U,runReduction:()=>D,saveSnapshot:()=>M});var o=class extends Error{code;details;constructor(t,r,n){super(r),this.name="SurfaceError",this.code=t,n!==void 0&&(this.details=n)}toJSON(){let t={code:this.code,message:this.message};if(this.details!==void 0){let r=q(this.details);r!==void 0&&(t.details=r)}return t}};function q(e){try{return JSON.parse(JSON.stringify(e))}catch{return}}function K(e,t="internal-error"){if(e instanceof o)return e;let r=e instanceof Error?e.message:String(e);return new o(t,r)}function R(e,t){let r=j(e);if(!r.valid)throw new o("invalid-spec",`GraphSpec validation failed:
2
2
  ${r.errors.join(`
3
3
  `)}`,{errors:r.errors});let n=t?.catalog??{},s=F(e,n);if(!s.valid)throw new o("catalog-error",`Catalog validation failed:
4
4
  ${s.errors.join(`
@@ -1,4 +1,4 @@
1
- import{a as O,f as v,k as P}from"./chunk-UISPDFJ3.js";import{ba as _,k as A}from"./chunk-CYOSWFT2.js";import{d as E}from"./chunk-4MKL6Q3K.js";import{m as U,x as T}from"./chunk-L77I47VU.js";import{o as y}from"./chunk-LYCLF26R.js";function G(e={}){return e.sdk?V(e):H(e)}function b(e,t,o,r){let s=t?.model??o;if(!s)throw new Error("anthropicAdapter: model must be set via options.model or invokeOpts.model");let{system:n,chat:i}=J(e,t?.systemPrompt),a={model:s,messages:i.map(F),max_tokens:t?.maxTokens??4096};return n&&(a.system=n),t?.temperature!=null&&(a.temperature=t.temperature),t?.tools&&t.tools.length>0&&(a.tools=t.tools.map(Y)),t?.maxReasoningTokens!=null&&(a.thinking={type:"enabled",budget_tokens:t.maxReasoningTokens}),t?.cacheHint,r&&(a.stream=!0),t?.providerExtras&&Object.assign(a,t.providerExtras),a}function J(e,t){let o=[];t&&o.push(t);let r=[];for(let s of e)s.role==="system"?o.push(s.content):r.push(s);return{system:o.length>0?o.join(`
1
+ import{a as O,f as v,k as P}from"./chunk-Q4U3A3L5.js";import{ba as _,k as A}from"./chunk-O2BLLH7M.js";import{f as E}from"./chunk-VNC3TMVY.js";import{m as U,x as T}from"./chunk-V5A7M7RJ.js";import{o as y}from"./chunk-LYCLF26R.js";function G(e={}){return e.sdk?V(e):H(e)}function b(e,t,o,r){let s=t?.model??o;if(!s)throw new Error("anthropicAdapter: model must be set via options.model or invokeOpts.model");let{system:n,chat:i}=J(e,t?.systemPrompt),a={model:s,messages:i.map(F),max_tokens:t?.maxTokens??4096};return n&&(a.system=n),t?.temperature!=null&&(a.temperature=t.temperature),t?.tools&&t.tools.length>0&&(a.tools=t.tools.map(Y)),t?.maxReasoningTokens!=null&&(a.thinking={type:"enabled",budget_tokens:t.maxReasoningTokens}),t?.cacheHint,r&&(a.stream=!0),t?.providerExtras&&Object.assign(a,t.providerExtras),a}function J(e,t){let o=[];t&&o.push(t);let r=[];for(let s of e)s.role==="system"?o.push(s.content):r.push(s);return{system:o.length>0?o.join(`
2
2
 
3
3
  `):void 0,chat:r}}function F(e){if(e.role==="tool")return{role:"user",content:[{type:"tool_result",tool_use_id:e.toolCallId,content:e.content}]};if(e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0){let t=[];e.content&&t.push({type:"text",text:e.content});for(let o of e.toolCalls)t.push({type:"tool_use",id:o.id,name:o.name,input:o.arguments});return{role:"assistant",content:t}}return{role:e.role,content:e.content}}function Y(e){return{name:e.name,description:e.description,input_schema:e.parameters}}function R(e,t){if(!e)return{...t};let o={...e};return t.input_tokens!=null&&(o.input_tokens=t.input_tokens),t.output_tokens!=null&&(o.output_tokens=t.output_tokens),t.cache_read_input_tokens!=null&&(o.cache_read_input_tokens=t.cache_read_input_tokens),t.cache_creation_input_tokens!=null&&(o.cache_creation_input_tokens=t.cache_creation_input_tokens),t.cache_creation&&(o.cache_creation={...e.cache_creation??{},...t.cache_creation}),t.server_tool_use&&(o.server_tool_use={...e.server_tool_use??{},...t.server_tool_use}),o}function x(e){let t={input:{regular:e?.input_tokens??0},output:{regular:e?.output_tokens??0},raw:e};return e?.cache_read_input_tokens&&(t.input.cacheRead=e.cache_read_input_tokens),e?.cache_creation?(e.cache_creation.ephemeral_5m_input_tokens&&(t.input.cacheWrite5m=e.cache_creation.ephemeral_5m_input_tokens),e.cache_creation.ephemeral_1h_input_tokens&&(t.input.cacheWrite1h=e.cache_creation.ephemeral_1h_input_tokens)):e?.cache_creation_input_tokens&&(t.input.cacheWrite5m=e.cache_creation_input_tokens),e?.server_tool_use?.web_search_requests&&(t.auxiliary={webSearchRequests:e.server_tool_use.web_search_requests}),t}function K(e,t){let o=[],r=[];for(let s of e.content)if(s.type==="text"&&typeof s.text=="string")o.push(s.text);else if(s.type==="tool_use"){let n=s;r.push({id:n.id,name:n.name,arguments:n.input??{}})}return{content:o.join(""),toolCalls:r.length>0?r:void 0,usage:x(e.usage),finishReason:e.stop_reason,latencyMs:t,model:e.model,provider:"anthropic"}}function H(e){let t=e.apiKey??globalThis.process?.env?.ANTHROPIC_API_KEY,o=e.baseURL??"https://api.anthropic.com",r=e.anthropicVersion??"2023-06-01",s=e.fetchImpl??fetch,n=()=>{if(!t)throw new Error("anthropicAdapter: apiKey required for invoke/stream (or provide opts.sdk)");return{"x-api-key":t,"anthropic-version":r,"content-type":"application/json",...e.headers??{}}};return{provider:"anthropic",model:e.model,async invoke(i,a){let d=b(i,a,e.model,!1),g=y(),l=await s(`${o}/v1/messages`,{method:"POST",headers:n(),body:JSON.stringify(d),signal:a?.signal});if(!l.ok)throw await _(l,"Anthropic");let c=await l.json(),p=Math.max(0,(y()-g)/1e6);return K(c,p)},async*stream(i,a){let d=b(i,a,e.model,!0),g=await s(`${o}/v1/messages`,{method:"POST",headers:{...n(),accept:"text/event-stream"},body:JSON.stringify(d),signal:a?.signal});if(!g.ok)throw await _(g,"Anthropic");if(!g.body)throw new Error("anthropicAdapter: streaming response has no body");let l,c,p=new Map;for await(let m of A(g.body,{signal:a?.signal})){let h=m.data;if(!h)continue;let k;try{k=JSON.parse(h)}catch{continue}switch(k.type){case"message_start":{l=R(l,k.message.usage);break}case"content_block_start":{let u=k,f=u.content_block;f.type==="tool_use"&&(p.set(u.index,{id:String(f.id??""),name:String(f.name??""),argBuf:""}),yield{type:"tool-call-delta",delta:{id:String(f.id??""),name:String(f.name??"")}});break}case"content_block_delta":{let u=k,f=u.delta;if(f.type==="text_delta"&&typeof f.text=="string")yield{type:"token",delta:f.text};else if(f.type==="input_json_delta"&&typeof f.partial_json=="string"){let S=p.get(u.index);S&&(S.argBuf+=f.partial_json),yield{type:"tool-call-delta",delta:{argumentsDelta:f.partial_json}}}else f.type==="thinking_delta"&&typeof f.thinking=="string"&&(yield{type:"thinking",delta:f.thinking});break}case"message_delta":{let u=k;u.delta.stop_reason&&(c=u.delta.stop_reason),u.delta.usage&&(l=R(l,u.delta.usage));break}case"message_stop":break}}l&&(yield{type:"usage",usage:x(l)}),yield{type:"finish",reason:c??"stop"}}}}function V(e){let t=e.sdk;if(!t)throw new Error("sdkBackedAnthropic: sdk instance required");return{provider:"anthropic",model:e.model,async invoke(o,r){let s=b(o,r,e.model,!1),n=y(),i=await t.messages.create(s,{signal:r?.signal}),a=Math.max(0,(y()-n)/1e6);return K(i,a)},async*stream(o,r){if(!t.messages.stream)throw new Error("sdkBackedAnthropic: SDK instance does not expose .messages.stream");let s=b(o,r,e.model,!0),n,i;for await(let a of t.messages.stream(s,{signal:r?.signal}))switch(a.type){case"message_start":n=R(n,a.message.usage);break;case"content_block_delta":{let d=a.delta;d?.type==="text_delta"&&typeof d.text=="string"?yield{type:"token",delta:d.text}:d?.type==="input_json_delta"&&typeof d.partial_json=="string"?yield{type:"tool-call-delta",delta:{argumentsDelta:d.partial_json}}:d?.type==="thinking_delta"&&typeof d.thinking=="string"&&(yield{type:"thinking",delta:d.thinking});break}case"message_delta":{let d=a;d.delta.stop_reason&&(i=d.delta.stop_reason),d.delta.usage&&(n=R(n,d.delta.usage));break}}n&&(yield{type:"usage",usage:x(n)}),yield{type:"finish",reason:i??"stop"}}}}function D(e={}){return e.sdk?X(e):Q(e)}function w(e,t){let o=[],r=[];t?.systemPrompt&&o.push(t.systemPrompt);for(let i of e){if(i.role==="system"){o.push(i.content);continue}if(i.role==="tool"){r.push({role:"user",parts:[{functionResponse:{name:i.name??i.toolCallId??"tool",response:{result:i.content}}}]});continue}if(i.role==="assistant"&&i.toolCalls&&i.toolCalls.length>0){let a=[];i.content&&a.push({text:i.content});for(let d of i.toolCalls)a.push({functionCall:{name:d.name,args:d.arguments}});r.push({role:"model",parts:a});continue}r.push({role:i.role==="assistant"?"model":"user",parts:[{text:i.content}]})}let s={contents:r};o.length>0&&(s.systemInstruction={role:"system",parts:[{text:o.join(`
4
4
 
@@ -1 +1 @@
1
- import{a as D,c as j,d as V,e as $}from"./chunk-KNVCCBIU.js";import{a as v}from"./chunk-ESMPEKEV.js";import{i as S}from"./chunk-D5RFJOZ2.js";import{n as T}from"./chunk-AK5RHMC5.js";import{m as R,x as N}from"./chunk-L77I47VU.js";import{G as K,o as b,p as L}from"./chunk-LYCLF26R.js";import{j as O}from"./chunk-CK2E7BTU.js";function w(){let e=new Error("aborted");return e.name="AbortError",e}function W(e,r){return e<=0?Promise.resolve():r?.aborted?Promise.reject(w()):new Promise((t,s)=>{let p=new v,u,y=()=>{p.cancel(),r&&u&&r.removeEventListener("abort",u)};p.start(e,()=>{y(),t()}),r&&(u=()=>{y(),s(w())},r.addEventListener("abort",u,{once:!0}))})}function U(e={}){let r=e.provider??"dry-run",t=e.model??"dry-run-v1",s=e.latencyMs??0,p=Math.max(1,e.streamChunkSize??16),u=e.respond??(d=>{let o=[...d].reverse().find(n=>n.role==="user");return o?`echo: ${o.content}`:"dry-run: no user message"}),y=e.usage??((d,o)=>{let n=d.reduce((a,l)=>a+l.content.length,0);return{input:{regular:Math.ceil(n/4)},output:{regular:Math.ceil(o.length/4)}}});return{provider:r,model:t,async invoke(d,o){if(await W(s,o?.signal),o?.signal?.aborted)throw w();let n=u(d,o),a=y(d,n);return{content:n,usage:a,finishReason:"stop",model:o?.model??t,provider:r,tier:o?.tier,metadata:{dryRun:!0}}},async*stream(d,o){let n=u(d,o),a=y(d,n),l=Math.ceil(n.length/p)||1,i=s>0?s/l:0;for(let c=0;c<n.length;c+=p){if(o?.signal?.aborted)throw w();await W(i,o?.signal),yield{type:"token",delta:n.slice(c,c+p)}}yield{type:"usage",usage:a},yield{type:"finish",reason:"stop"}}}}function _(e){let{storage:r,mode:t="read-write",keyFn:s,keyPrefix:p="llm-replay"}=e,y=V({storage:r,keyPrefix:p,mode:t==="read-strict"?"read":t,keyContext:({messages:o,opts:n})=>{let{signal:a,keyContext:l,...i}=n??{};return{messages:o,opts:i}}});async function d(o,n){if(s){if(s.length<=1){let l={messages:o,opts:n,context:n?.keyContext},i=await s(l);return`${p}:${i}`}let a=await s(o,n);return`${p}:${a}`}return y.keyFor({messages:o,opts:n})}return{keyFor:d,async lookup(o,n){if(t!=="write"){if(s){let a=await d(o,n),l=await r.load(a);return l===void 0?void 0:l}return y.lookup({messages:o,opts:n})}},async store(o,n,a){if(t!=="read"){if(s){let l=await d(o,n);await r.save(l,a);return}await y.store({messages:o,opts:n},a)}},async forget(o,n){if(!(t==="read"||t==="write")&&r.delete){if(s){let a=await d(o,n);await r.delete(a);return}await y.forget({messages:o,opts:n})}}}}function z(e,r,t){return{provider:t?.provider??e.provider,model:t?.model??e.model,capabilities:t?.capabilities??e.capabilities?.bind(e),invoke:r.invoke,stream:r.stream}}function ce(e,r){let{onResp:t,onError:s,name:p}=r;if(e!=null&&typeof e.then=="function"){let n=e;return s?n.then(t).catch(a=>{throw s(a),a}):n.then(t)}if(e!=null&&typeof e=="object"&&"content"in e)return t(e);let u=R(e);if(s){let n=!1;u.subscribe(a=>{for(let l of a){if(n)return;l[0]===O&&(n=!0,s(l[1]))}})}let y,d=!1,o=T(u,n=>{y=t(n),d=!0});return K([o],([n])=>n==null?null:d?y:t(n),{name:p??"adapt/invokeTap"})}function pe(e){let r=e.endNs??b();return{timestamp:r,wallClock:e.startWallClockNs??L(),provider:e.provider,model:e.model,tier:e.tier,usage:e.usage,latencyMs:Math.max(0,(r-e.startNs)/1e6),method:e.method,...e.error?{error:e.error}:{}}}function ye(){return{input:{regular:0},output:{regular:0}}}var G=Symbol.for("graphrefly.adapter.middlewareLayers");function J(e,r,t){let p=[...t?Q(t):[],r];return Object.defineProperty(e,G,{value:Object.freeze(p),enumerable:!1,writable:!1,configurable:!1}),e}function Q(e){let r=e[G];return Array.isArray(r)?r:[]}var M=class extends Error{constructor(t,s){super(`withReplayCache: no cached response for ${s} (key=${t}, mode=read-strict)`);this.key=t;this.method=s}name="ReplayCacheMissError"};function q(e,r){let t=r.mode??"read-write",s=r.cacheStreaming??!1,p=r.captureStreamCadence??!1,u=r.replaySpeed??1,y=r.keyPrefix??"llm-replay",d=t==="read"||t==="read-strict",o=_({storage:r.storage,mode:t==="write-only"?"write":t,keyFn:r.keyFn,keyPrefix:y}),n=i=>i<=0?Promise.resolve():new Promise(c=>{new v().start(i,()=>c())}),a=$(async({messages:i,invokeOpts:c})=>await N(R(e.invoke(i,c))),{keyFn:({_precomputedKey:i})=>i}),l=z(e,{async invoke(i,c){let C=await o.keyFor(i,c),f=await o.lookup(i,c);if(f?.response){let k=f.response;return{...k,metadata:{...k.metadata??{},replayCache:"hit"}}}if(t==="read-strict")throw new M(C,"invoke");let h=await a({messages:i,invokeOpts:c,_precomputedKey:C});return d||await o.store(i,c,{response:h,storedAtNs:L()}),h},async*stream(i,c){if(!s){for await(let m of e.stream(i,c))yield m;return}let C=await o.keyFor(i,c),f=await o.lookup(i,c);if(f){let m=f.response;if(f.streamChunks&&f.streamCadenceMs)for(let g=0;g<f.streamChunks.length;g++){let A=f.streamCadenceMs[g]??0,E=u>0?A/u:0;E>0&&await n(E),yield{type:"token",delta:f.streamChunks[g]?.delta??""}}else m.content&&(yield{type:"token",delta:m.content});m.usage&&(yield{type:"usage",usage:m.usage}),yield{type:"finish",reason:m.finishReason??"stop"};return}if(t==="read-strict")throw new M(C,"stream");let h="",k,P,F=[],I=[],x;for await(let m of e.stream(i,c)){if(m.type==="token"&&(h+=m.delta,p)){let g=b(),A=x===void 0?0:(g-x)/1e6;I.push(A),x=g,F.push({delta:m.delta})}m.type==="usage"&&(k=m.usage),m.type==="finish"&&(P=m.reason),yield m}if((h||k)&&!d){let g={response:{content:h,usage:k??{input:{regular:0},output:{regular:0}},finishReason:P,model:e.model??c?.model??"",provider:e.provider},storedAtNs:L(),...p?{streamChunks:F,streamCadenceMs:I}:{}};await o.store(i,c,g)}}});return J(l,"withReplayCache",e),l}var B=j;var Ae=M;function H(e,r){return{content:"[fallback: no cached response available for this request]",usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:r,provider:e,metadata:{degraded:!0,reason:"no-fixture"}}}function Y(e,r,t){return typeof e=="string"?{content:e,usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:t,provider:r,metadata:{degraded:!0,reason:"respond"}}:e}async function X(e,r){if("key"in e)return e.key;let t=B({messages:e.messages,opts:e.invokeOpts??{}}),s=await D(t);return`${r}:${s}`}function Z(e){let r={response:e.response,storedAtNs:L()};if("key"in e&&e.stream){let t=e.stream.chunks.filter(s=>s.type==="token");return{...r,streamChunks:t.map(s=>({delta:s.delta})),streamCadenceMs:e.stream.delaysMs??t.map(()=>0)}}return r}function ee(e,r){let t=[];if(e.fixtures!=null&&t.push("fixtures"),e.fixturesStorage!=null&&t.push("fixturesStorage"),t.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\` and \`fixturesStorage\` are mutually exclusive; got both ${t.join(" and ")}. Pick one source. For filesystem directories use the node subpath's \`fallbackAdapter\`.`);if(e.fixtures){let s=S(),p=e.fixtures,u=(async()=>{for(let y of p){let d=await X(y,r);await s.save(d,Z(y))}})();return u.catch(()=>{}),{tier:s,seedReady:u}}return e.fixturesStorage?{tier:e.fixturesStorage,seedReady:Promise.resolve()}:{tier:void 0,seedReady:Promise.resolve()}}function Se(e={}){let r=e.provider??"fallback",t=e.model??"fallback",s=e.onMiss??"respond",p=e.keyPrefix??"fallback",u=e.record?e.record.adapter:s==="throw"?U({provider:r,model:t,respond:()=>"[unreachable: read-strict mode throws on miss]"}):{provider:r,model:t,async invoke(a,l){let i=e.respond?e.respond(a,l):H(r,t);return Y(i,r,t)},async*stream(a,l){let i=e.respond?e.respond(a,l):H(r,t),c=Y(i,r,t);yield{type:"token",delta:c.content},c.usage&&(yield{type:"usage",usage:c.usage}),yield{type:"finish",reason:c.finishReason??"stop"}}},y,d=Promise.resolve();if(e.record){if(!e.record.storage)throw new TypeError("fallbackAdapter: `record.storage` is required in record mode. For filesystem `record.dir` convenience, use the node subpath's `fallbackAdapter`.");y=e.record.storage}else{let a=ee(e,p);y=a.tier??S(),d=a.seedReady}let o=e.record?"read-write":s==="throw"?"read-strict":"read",n=q(u,{storage:y,mode:o,keyPrefix:p,cacheStreaming:!0,captureStreamCadence:!0,replaySpeed:e.replaySpeed,...e.keyFn?{keyFn:e.keyFn}:{}});return{provider:r,model:t,capabilities:n.capabilities?.bind(n),async invoke(a,l){return await d,n.invoke(a,l)},async*stream(a,l){await d;for await(let i of n.stream(a,l))yield i}}}export{U as a,z as b,ce as c,pe as d,ye as e,J as f,M as g,q as h,B as i,Ae as j,Se as k};
1
+ import{a as D,c as j,d as V,e as $}from"./chunk-XG62INFA.js";import{a as v}from"./chunk-ESMPEKEV.js";import{i as S}from"./chunk-D5RFJOZ2.js";import{n as N}from"./chunk-VOPGGIL7.js";import{m as R,x as T}from"./chunk-V5A7M7RJ.js";import{G as K,o as b,p as L}from"./chunk-LYCLF26R.js";import{j as O}from"./chunk-CK2E7BTU.js";function w(){let e=new Error("aborted");return e.name="AbortError",e}function W(e,r){return e<=0?Promise.resolve():r?.aborted?Promise.reject(w()):new Promise((t,s)=>{let p=new v,u,y=()=>{p.cancel(),r&&u&&r.removeEventListener("abort",u)};p.start(e,()=>{y(),t()}),r&&(u=()=>{y(),s(w())},r.addEventListener("abort",u,{once:!0}))})}function U(e={}){let r=e.provider??"dry-run",t=e.model??"dry-run-v1",s=e.latencyMs??0,p=Math.max(1,e.streamChunkSize??16),u=e.respond??(d=>{let o=[...d].reverse().find(n=>n.role==="user");return o?`echo: ${o.content}`:"dry-run: no user message"}),y=e.usage??((d,o)=>{let n=d.reduce((a,l)=>a+l.content.length,0);return{input:{regular:Math.ceil(n/4)},output:{regular:Math.ceil(o.length/4)}}});return{provider:r,model:t,async invoke(d,o){if(await W(s,o?.signal),o?.signal?.aborted)throw w();let n=u(d,o),a=y(d,n);return{content:n,usage:a,finishReason:"stop",model:o?.model??t,provider:r,tier:o?.tier,metadata:{dryRun:!0}}},async*stream(d,o){let n=u(d,o),a=y(d,n),l=Math.ceil(n.length/p)||1,i=s>0?s/l:0;for(let c=0;c<n.length;c+=p){if(o?.signal?.aborted)throw w();await W(i,o?.signal),yield{type:"token",delta:n.slice(c,c+p)}}yield{type:"usage",usage:a},yield{type:"finish",reason:"stop"}}}}function _(e){let{storage:r,mode:t="read-write",keyFn:s,keyPrefix:p="llm-replay"}=e,y=V({storage:r,keyPrefix:p,mode:t==="read-strict"?"read":t,keyContext:({messages:o,opts:n})=>{let{signal:a,keyContext:l,...i}=n??{};return{messages:o,opts:i}}});async function d(o,n){if(s){if(s.length<=1){let l={messages:o,opts:n,context:n?.keyContext},i=await s(l);return`${p}:${i}`}let a=await s(o,n);return`${p}:${a}`}return y.keyFor({messages:o,opts:n})}return{keyFor:d,async lookup(o,n){if(t!=="write"){if(s){let a=await d(o,n),l=await r.load(a);return l===void 0?void 0:l}return y.lookup({messages:o,opts:n})}},async store(o,n,a){if(t!=="read"){if(s){let l=await d(o,n);await r.save(l,a);return}await y.store({messages:o,opts:n},a)}},async forget(o,n){if(!(t==="read"||t==="write")&&r.delete){if(s){let a=await d(o,n);await r.delete(a);return}await y.forget({messages:o,opts:n})}}}}function z(e,r,t){return{provider:t?.provider??e.provider,model:t?.model??e.model,capabilities:t?.capabilities??e.capabilities?.bind(e),invoke:r.invoke,stream:r.stream}}function ce(e,r){let{onResp:t,onError:s,name:p}=r;if(e!=null&&typeof e.then=="function"){let n=e;return s?n.then(t).catch(a=>{throw s(a),a}):n.then(t)}if(e!=null&&typeof e=="object"&&"content"in e)return t(e);let u=R(e);if(s){let n=!1;u.subscribe(a=>{for(let l of a){if(n)return;l[0]===O&&(n=!0,s(l[1]))}})}let y,d=!1,o=N(u,n=>{y=t(n),d=!0});return K([o],([n])=>n==null?null:d?y:t(n),{name:p??"adapt/invokeTap"})}function pe(e){let r=e.endNs??b();return{timestamp:r,wallClock:e.startWallClockNs??L(),provider:e.provider,model:e.model,tier:e.tier,usage:e.usage,latencyMs:Math.max(0,(r-e.startNs)/1e6),method:e.method,...e.error?{error:e.error}:{}}}function ye(){return{input:{regular:0},output:{regular:0}}}var G=Symbol.for("graphrefly.adapter.middlewareLayers");function J(e,r,t){let p=[...t?Q(t):[],r];return Object.defineProperty(e,G,{value:Object.freeze(p),enumerable:!1,writable:!1,configurable:!1}),e}function Q(e){let r=e[G];return Array.isArray(r)?r:[]}var M=class extends Error{constructor(t,s){super(`withReplayCache: no cached response for ${s} (key=${t}, mode=read-strict)`);this.key=t;this.method=s}name="ReplayCacheMissError"};function q(e,r){let t=r.mode??"read-write",s=r.cacheStreaming??!1,p=r.captureStreamCadence??!1,u=r.replaySpeed??1,y=r.keyPrefix??"llm-replay",d=t==="read"||t==="read-strict",o=_({storage:r.storage,mode:t==="write-only"?"write":t,keyFn:r.keyFn,keyPrefix:y}),n=i=>i<=0?Promise.resolve():new Promise(c=>{new v().start(i,()=>c())}),a=$(async({messages:i,invokeOpts:c})=>await T(R(e.invoke(i,c))),{keyFn:({_precomputedKey:i})=>i}),l=z(e,{async invoke(i,c){let C=await o.keyFor(i,c),f=await o.lookup(i,c);if(f?.response){let k=f.response;return{...k,metadata:{...k.metadata??{},replayCache:"hit"}}}if(t==="read-strict")throw new M(C,"invoke");let h=await a({messages:i,invokeOpts:c,_precomputedKey:C});return d||await o.store(i,c,{response:h,storedAtNs:L()}),h},async*stream(i,c){if(!s){for await(let m of e.stream(i,c))yield m;return}let C=await o.keyFor(i,c),f=await o.lookup(i,c);if(f){let m=f.response;if(f.streamChunks&&f.streamCadenceMs)for(let g=0;g<f.streamChunks.length;g++){let A=f.streamCadenceMs[g]??0,E=u>0?A/u:0;E>0&&await n(E),yield{type:"token",delta:f.streamChunks[g]?.delta??""}}else m.content&&(yield{type:"token",delta:m.content});m.usage&&(yield{type:"usage",usage:m.usage}),yield{type:"finish",reason:m.finishReason??"stop"};return}if(t==="read-strict")throw new M(C,"stream");let h="",k,P,F=[],I=[],x;for await(let m of e.stream(i,c)){if(m.type==="token"&&(h+=m.delta,p)){let g=b(),A=x===void 0?0:(g-x)/1e6;I.push(A),x=g,F.push({delta:m.delta})}m.type==="usage"&&(k=m.usage),m.type==="finish"&&(P=m.reason),yield m}if((h||k)&&!d){let g={response:{content:h,usage:k??{input:{regular:0},output:{regular:0}},finishReason:P,model:e.model??c?.model??"",provider:e.provider},storedAtNs:L(),...p?{streamChunks:F,streamCadenceMs:I}:{}};await o.store(i,c,g)}}});return J(l,"withReplayCache",e),l}var B=j;var Ae=M;function H(e,r){return{content:"[fallback: no cached response available for this request]",usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:r,provider:e,metadata:{degraded:!0,reason:"no-fixture"}}}function Y(e,r,t){return typeof e=="string"?{content:e,usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:t,provider:r,metadata:{degraded:!0,reason:"respond"}}:e}async function X(e,r){if("key"in e)return e.key;let t=B({messages:e.messages,opts:e.invokeOpts??{}}),s=await D(t);return`${r}:${s}`}function Z(e){let r={response:e.response,storedAtNs:L()};if("key"in e&&e.stream){let t=e.stream.chunks.filter(s=>s.type==="token");return{...r,streamChunks:t.map(s=>({delta:s.delta})),streamCadenceMs:e.stream.delaysMs??t.map(()=>0)}}return r}function ee(e,r){let t=[];if(e.fixtures!=null&&t.push("fixtures"),e.fixturesStorage!=null&&t.push("fixturesStorage"),t.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\` and \`fixturesStorage\` are mutually exclusive; got both ${t.join(" and ")}. Pick one source. For filesystem directories use the node subpath's \`fallbackAdapter\`.`);if(e.fixtures){let s=S(),p=e.fixtures,u=(async()=>{for(let y of p){let d=await X(y,r);await s.save(d,Z(y))}})();return u.catch(()=>{}),{tier:s,seedReady:u}}return e.fixturesStorage?{tier:e.fixturesStorage,seedReady:Promise.resolve()}:{tier:void 0,seedReady:Promise.resolve()}}function Se(e={}){let r=e.provider??"fallback",t=e.model??"fallback",s=e.onMiss??"respond",p=e.keyPrefix??"fallback",u=e.record?e.record.adapter:s==="throw"?U({provider:r,model:t,respond:()=>"[unreachable: read-strict mode throws on miss]"}):{provider:r,model:t,async invoke(a,l){let i=e.respond?e.respond(a,l):H(r,t);return Y(i,r,t)},async*stream(a,l){let i=e.respond?e.respond(a,l):H(r,t),c=Y(i,r,t);yield{type:"token",delta:c.content},c.usage&&(yield{type:"usage",usage:c.usage}),yield{type:"finish",reason:c.finishReason??"stop"}}},y,d=Promise.resolve();if(e.record){if(!e.record.storage)throw new TypeError("fallbackAdapter: `record.storage` is required in record mode. For filesystem `record.dir` convenience, use the node subpath's `fallbackAdapter`.");y=e.record.storage}else{let a=ee(e,p);y=a.tier??S(),d=a.seedReady}let o=e.record?"read-write":s==="throw"?"read-strict":"read",n=q(u,{storage:y,mode:o,keyPrefix:p,cacheStreaming:!0,captureStreamCadence:!0,replaySpeed:e.replaySpeed,...e.keyFn?{keyFn:e.keyFn}:{}});return{provider:r,model:t,capabilities:n.capabilities?.bind(n),async invoke(a,l){return await d,n.invoke(a,l)},async*stream(a,l){await d;for await(let i of n.stream(a,l))yield i}}}export{U as a,z as b,ce as c,pe as d,ye as e,J as f,M as g,q as h,B as i,Ae as j,Se as k};
@@ -0,0 +1,61 @@
1
+ import{a as kt,b as Rt,c as xt,d as wt}from"./chunk-SUWT3ZON.js";import{f as $e}from"./chunk-OYJKFY7V.js";import{c as vt}from"./chunk-JNWRYDJN.js";import{a as Ht,b as Xt,c as Zt,d as er,e as tr,f as Be,g as rr}from"./chunk-PT7W5FCD.js";import{a as Fe,b as V,c as Le,d as de,e as ee,f as U,g as zt,h as Ge,i as Yt,j as Jt,k as Qt}from"./chunk-Q4U3A3L5.js";import{h as Lt}from"./chunk-Y4NI3X7O.js";import{b as Tt}from"./chunk-6HOSXQKF.js";import{a as we,b as Mt}from"./chunk-TSOYJ743.js";import{d as pt,e as Re,f as ft,h as _e}from"./chunk-VNC3TMVY.js";import{a as dt}from"./chunk-L6NSJVJZ.js";import{j as ae}from"./chunk-626TESAC.js";import{a as Z}from"./chunk-ESMPEKEV.js";import{R as ct,b as ut,s as mt,x as $}from"./chunk-VOPGGIL7.js";import{b as ke,c as X}from"./chunk-35JTVPOX.js";import{b as xe}from"./chunk-TZQPPQEQ.js";import{b as pe}from"./chunk-JQFH2DV6.js";import{A as bt,C as j,f as gt,k as je,l as yt,m as k,x as se,z as ht}from"./chunk-V5A7M7RJ.js";import{D as le,E as w,F as Q,G as v,H as re,m as J,o as H,p as be}from"./chunk-LYCLF26R.js";import{b as G,d as ce,i as q,j as W}from"./chunk-CK2E7BTU.js";import{b as qt}from"./chunk-QYADASLV.js";var Zr={};qt(Zr,{AgentLoopGraph:()=>Pe,AllTiersExhaustedError:()=>tr,BudgetExhaustedError:()=>Ce,ChatStreamGraph:()=>Ie,CircuitOpenError:()=>Re,DEFAULT_DECAY_RATE:()=>we,FallbackMissError:()=>Jt,LLMTimeoutError:()=>ge,ReplayCacheMissError:()=>zt,ToolRegistryGraph:()=>De,admissionFilter3D:()=>Wr,admissionScored:()=>Gt,agentLoop:()=>Vr,agentMemory:()=>Ur,anthropicAdapter:()=>Ht,canonicalJson:()=>Yt,cascadingLlmAdapter:()=>Be,chatStream:()=>rt,composePricing:()=>lr,computePrice:()=>We,contentGate:()=>_r,costMeterExtractor:()=>Sr,createAdapter:()=>er,createCapabilitiesRegistry:()=>nr,createPricingRegistry:()=>sr,dryRunAdapter:()=>Fe,fallbackAdapter:()=>Qt,frozenContext:()=>xr,gatedStream:()=>Nr,gaugesAsContext:()=>qr,googleAdapter:()=>Xt,graphFromSpec:()=>$t,graphFromSpecReactive:()=>Hr,handoff:()=>Fr,keywordFlagExtractor:()=>Or,knobsAsTools:()=>Yr,llmConsolidator:()=>tt,llmExtractor:()=>et,memoryRetrieval:()=>lt,memoryWithKG:()=>st,memoryWithTiers:()=>it,memoryWithVectors:()=>at,observableAdapter:()=>or,openAICompatAdapter:()=>Zt,parseRateLimitFromError:()=>qe,pricingFor:()=>dr,promptCall:()=>Ze,promptNode:()=>Xe,redactor:()=>jr,registryPricing:()=>ir,resilientAdapter:()=>Mr,streamExtractor:()=>Ir,streamingPromptNode:()=>Lr,suggestStrategy:()=>Wt,suggestStrategyReactive:()=>Qr,systemPromptBuilder:()=>Ar,tier:()=>rr,toolCallExtractor:()=>Pr,toolExecution:()=>nt,toolRegistry:()=>ot,toolSelector:()=>$r,validateGraphDef:()=>Xr,withBreaker:()=>Ke,withBudgetGate:()=>Ue,withDryRun:()=>mr,withRateLimiter:()=>ze,withReplayCache:()=>Ge,withRetry:()=>Ye,withTimeout:()=>Je,zeroPrice:()=>Ae});function Te(t,e){return`${t}::${e}`}function nr(t){let e=xe({name:"capabilitiesRegistry"}),r=l=>{e.set(Te(l.provider,l.id),l)};if(t)for(let l of t)r(l);let n=(l,d)=>{let m=e.get(Te(l,d));if(m)return m;let p=e.entries.cache;if(!p)return;let c;for(let[,g]of p){if(g.provider!==l)continue;let y=g.id;d.startsWith(y)&&(!c||y.length>c.id.length)&&(c=g)}return c},o=128,a=new Map,s=new Map,i=(l,d,m,p)=>{for(l.has(d)&&l.delete(d),l.set(d,m);l.size>p;){let c=l.keys().next().value;if(c===void 0)break;l.delete(c)}},u=v([e.entries],([l])=>l instanceof Map?Array.from(l.values()):[],{name:"capabilitiesRegistry/entries",initial:[]});return{register:r,lookup:n,remove(l,d){let m=e.has(Te(l,d));return m&&e.delete(Te(l,d)),m},entries(){let l=e.entries.cache;return(function*(){if(l)for(let d of l.values())yield d})()},lookupNode(l,d){let m=Te(l,d),p=a.get(m);if(p)return a.delete(m),a.set(m,p),p;let c=v([e.entries],()=>n(l,d),{name:`capabilitiesRegistry/lookup/${l}::${d}`,initial:void 0});return i(a,m,c,o),c},entriesNode:u,byProvider(l){let d=s.get(l);if(d)return s.delete(l),s.set(l,d),d;let m=v([u],([p])=>p.filter(c=>c.provider===l),{name:`capabilitiesRegistry/byProvider/${l}`,initial:[]});return i(s,l,m,o),m}}}function z(t){let e=t.input,r=e.regular+(e.cacheRead??0)+(e.cacheWrite5m??0)+(e.cacheWrite1h??0)+(e.cacheWriteOther??0)+(e.audio??0)+(e.image??0)+(e.video??0)+(e.toolUse??0);if(!e.extensions)return r;let n=0;for(let o of Object.values(e.extensions))n+=o;return r+n}function ne(t){let e=t.output,r=e.regular+(e.reasoning??0)+(e.audio??0)+(e.predictionAccepted??0)+(e.predictionRejected??0);if(!e.extensions)return r;let n=0;for(let o of Object.values(e.extensions))n+=o;return r+n}function Nt(){return{input:{regular:0},output:{regular:0}}}function or(t,e){let r=e?.logMax??1e3,n=pe(void 0,{name:e?.name?`${e.name}/stats`:"adapterStats",maxSize:r}),o=w(null,{name:"adapterStats/lastCall"}),a=v([n.entries],([y])=>y.length,{name:"adapterStats/totalCalls",initial:0}),s=v([n.entries],([y])=>y.reduce((f,h)=>f+z(h.usage),0),{name:"adapterStats/totalInputTokens",initial:0}),i=v([n.entries],([y])=>y.reduce((f,h)=>f+ne(h.usage),0),{name:"adapterStats/totalOutputTokens",initial:0}),u=[j(a),j(s),j(i)],l=y=>{n.append(y),o.emit(y)},d=()=>{n.clear(),o.emit(null)},m=V(t,{invoke(y,f){let h=H(),b=be(),N=t.model??f?.model??"",A=R=>(l(de({provider:t.provider,model:t.model??f?.model??R.model??"",tier:f?.tier??R.tier,usage:R.usage??ee(),startNs:h,startWallClockNs:b,method:"invoke"})),R),C=R=>{let D=R;l(de({provider:t.provider,model:N,tier:f?.tier,usage:ee(),startNs:h,startWallClockNs:b,method:"invoke",error:{type:D?.name??"Error",message:D?.message??String(R)}}))};return Le(t.invoke(y,f),{onResp:A,onError:C,name:"adapterStats/invokeTap"})},async*stream(y,f){let h=H(),b=be(),N=t.model??f?.model??"",A;try{for await(let C of t.stream(y,f))C.type==="usage"&&(A=C.usage),yield C;l(de({provider:t.provider,model:N,tier:f?.tier,usage:A??ee(),startNs:h,startWallClockNs:b,method:"stream"}))}catch(C){let R=C;throw l(de({provider:t.provider,model:N,tier:f?.tier,usage:A??ee(),startNs:h,startWallClockNs:b,method:"stream",error:{type:R?.name??"Error",message:R?.message??String(C)}})),C}}});U(m,"observableAdapter",t);let p=!1;return{adapter:m,stats:{lastCall:o,allCalls:n,totalCalls:a,totalInputTokens:s,totalOutputTokens:i,reset:d,dispose:()=>{if(!p){p=!0;for(let y of u)y();u.length=0}}}}}function ar(t,e){return t==null?0:typeof t=="number"?t:t.thresholdTokens!=null&&t.pricePerMillionAbove!=null&&e>t.thresholdTokens?t.pricePerMillionAbove:t.pricePerMillion}function Ae(t="USD"){return{total:0,currency:t}}function We(t,e,r){let n=z(t),o=e.currency??"USD",a=r?.withBreakdown===!0,s=a?{}:null,i=0,u=(f,h,b)=>{if(!h||b==null)return;let N=ar(b,n),A=h*N/1e6;i+=A,a&&(s[f]=(s[f]??0)+A)},l=t.input,d=e.input;if(d&&(u("input.regular",l.regular,d.regular),u("input.cacheRead",l.cacheRead??0,d.cacheRead),u("input.cacheWrite5m",l.cacheWrite5m??0,d.cacheWrite5m),u("input.cacheWrite1h",l.cacheWrite1h??0,d.cacheWrite1h),u("input.cacheWriteOther",l.cacheWriteOther??0,d.cacheWriteOther),u("input.audio",l.audio??0,d.audio),u("input.image",l.image??0,d.image),u("input.video",l.video??0,d.video),u("input.toolUse",l.toolUse??0,d.toolUse),l.extensions&&d.extensions))for(let[f,h]of Object.entries(l.extensions))u(`input.ext.${f}`,h,d.extensions[f]);let m=t.output,p=e.output;if(p&&(u("output.regular",m.regular,p.regular),u("output.reasoning",m.reasoning??0,p.reasoning),u("output.audio",m.audio??0,p.audio),u("output.predictionAccepted",m.predictionAccepted??0,p.predictionAccepted),u("output.predictionRejected",m.predictionRejected??0,p.predictionRejected),m.extensions&&p.extensions))for(let[f,h]of Object.entries(m.extensions))u(`output.ext.${f}`,h,p.extensions[f]);let c=r?.tier;if(c&&e.tierMultipliers){let f=e.tierMultipliers[c];if(f!=null&&(i*=f,a))for(let h of Object.keys(s))s[h]*=f}let g=t.auxiliary,y=e.auxiliary;if(g&&y)for(let[f,h]of Object.entries(g)){let b=y[f];if(b==null||!h)continue;let N=h*b;i+=N,a&&(s[`auxiliary.${f}`]=N)}return a?{total:i,currency:o,breakdown:s}:{total:i,currency:o}}function Ne(t,e){return`${t}::${e}`}function sr(t){let e=new Map,r=new Map,n=(o,a,s)=>{e.set(Ne(o,a),{provider:o,model:a,pricing:s});let i=r.get(o);i||(i=new Set,r.set(o,i)),i.add(a)};if(t)for(let[o,a,s]of t)n(o,a,s);return{register:n,lookup(o,a){let s=e.get(Ne(o,a));if(s)return s.pricing;let i=r.get(o);if(!i)return;let u;for(let l of i)if(a.startsWith(l)&&(!u||l.length>u.key.length)){let d=e.get(Ne(o,l));d&&(u={key:l,pricing:d.pricing})}return u?.pricing},remove(o,a){let s=e.delete(Ne(o,a));if(s){let i=r.get(o);i?.delete(a),i&&i.size===0&&r.delete(o)}return s},entries(){let o=e.values();return(function*(){for(let{provider:a,model:s,pricing:i}of o)yield[a,s,i]})()}}}function ir(t,e="USD"){return(r,n)=>{let o=t.lookup(n.provider,n.model);return o?We(r,o,{tier:n.tier,withBreakdown:n.withBreakdown}):Ae(e)}}function lr(...t){return(e,r)=>{for(let n of t){let o=n(e,r);if(o.total!==0)return o}return t.length>0?t[0](e,r):Ae()}}function dr(t,e,r){return t?.pricing?We(e,t.pricing,r):Ae()}function Ke(t,e={}){let r=e.breaker??ft(e),n=V(t,{async invoke(o,a){if(!r.canExecute())throw new Re;try{let s=await se(k(t.invoke(o,a)));return r.recordSuccess(),s}catch(s){throw r.recordFailure(s),s}},async*stream(o,a){if(!r.canExecute())throw new Re;try{for await(let s of t.stream(o,a))yield s;r.recordSuccess()}catch(s){throw r.recordFailure(s),s}}});return U(n,"withBreaker",t),{adapter:n,breaker:r}}var Ce=class extends Error{constructor(r,n,o){super(`Budget exhausted: ${r} (limit=${n}, observed=${o})`);this.which=r;this.limit=n;this.observed=o}name="BudgetExhaustedError"},Ve=Object.freeze({calls:0,inputTokens:0,outputTokens:0,usd:0}),At=()=>({calls:0,inputTokens:0,outputTokens:0,usd:0});function Ue(t,e){let r=pe(void 0,{name:e.name?`${e.name}/log`:"budgetGate/log",maxSize:e.logMax??1e3}),n=w(At(),{name:e.name?`${e.name}/totals`:"budgetGate/totals"}),o=v([n],([l])=>{let d=l;return!(e.caps.calls!=null&&d.calls>=e.caps.calls||e.caps.inputTokens!=null&&d.inputTokens>=e.caps.inputTokens||e.caps.outputTokens!=null&&d.outputTokens>=e.caps.outputTokens||e.caps.usd!=null&&d.usd>=e.caps.usd)},{name:e.name?`${e.name}/isOpen`:"budgetGate/isOpen",initial:!0});if(j(o),e.onExhausted!=null){let l=e.onExhausted,d=!1,m=!0;o.subscribe(p=>{for(let c of p)if(c[0]===G){let g=c[1];if(d&&m&&g===!1){let y=Ct(n.cache??Ve,e.caps);y&&l(y)}m=g,d=!0}})}let a=()=>{if(o.cache===!1){let l=n.cache??Ve,d=Ct(l,e.caps);return new Ce(d??"budget",e.caps[d??"calls"]??0,ur(l,d??"calls"))}},s=(l,d)=>{let m=t.provider,p=de({provider:m,model:d.model,tier:d.tier,usage:l,startNs:d.startNs,method:d.method,...d.error?{error:d.error}:{}});r.append(p);let c=n.cache??Ve,g=e.pricingFn?c.usd+e.pricingFn(l,{model:d.model,provider:m,tier:d.tier}).total:c.usd;n.emit({calls:c.calls+1,inputTokens:c.inputTokens+z(l),outputTokens:c.outputTokens+ne(l),usd:g})},i=()=>{r.clear(),n.emit(At())},u=V(t,{invoke(l,d){let m=a();if(m)return Promise.reject(m);let p=H(),c=t.model??d?.model??"",g=f=>(s(f.usage??ee(),{model:t.model??d?.model??f.model??"",tier:d?.tier??f.tier,startNs:p,method:"invoke"}),f),y=f=>{let h=f;s(ee(),{model:c,tier:d?.tier,startNs:p,method:"invoke",error:{type:h?.name??"Error",message:h?.message??String(f)}})};return Le(t.invoke(l,d),{onResp:g,onError:y,name:"budgetGate/invokeTap"})},async*stream(l,d){let m=a();if(m)throw m;let p=H(),c;try{for await(let g of t.stream(l,d))g.type==="usage"&&(c=g.usage),yield g;s(c??ee(),{model:t.model??d?.model??"",tier:d?.tier,startNs:p,method:"stream"})}catch(g){let y=g;throw s(c??ee(),{model:t.model??d?.model??"",tier:d?.tier,startNs:p,method:"stream",error:{type:y?.name??"Error",message:y?.message??String(g)}}),g}}});return U(u,"withBudgetGate",t),{adapter:u,budget:{totals:n,isOpen:o,log:r,reset:i}}}function Ct(t,e){if(e.calls!=null&&t.calls>=e.calls)return"calls";if(e.inputTokens!=null&&t.inputTokens>=e.inputTokens)return"inputTokens";if(e.outputTokens!=null&&t.outputTokens>=e.outputTokens)return"outputTokens";if(e.usd!=null&&t.usd>=e.usd)return"usd"}function ur(t,e){switch(e){case"calls":return t.calls;case"inputTokens":return t.inputTokens;case"outputTokens":return t.outputTokens;case"usd":return t.usd}}function mr(t,e){let r=e.mock??Fe({provider:t.provider,model:t.model}),n=typeof e.enabled=="boolean"?e.enabled:void 0,o=n===void 0?k(e.enabled):void 0,a;o&&(a=j(o));let s=()=>n!==void 0?n:!!o?.cache,i=V(t,{invoke(l,d){return s()?r.invoke(l,d):t.invoke(l,d)},stream(l,d){return s()?r.stream(l,d):t.stream(l,d)}});return U(i,"withDryRun",t),{adapter:i,dispose:()=>{a&&(a(),a=void 0)}}}function qe(t){if(t==null||typeof t!="object")return;let e=t,r=e.status,n=cr(e.headers);if(r!==429&&r!==503&&!br(e.message))return;let o={},a=n("retry-after"),s=fr(a);s!=null&&(o.retryAfterMs=s);let i=n("anthropic-ratelimit-requests-reset");if(i){let c=St(i);c!=null&&(o.retryAfterMs=Math.max(o.retryAfterMs??0,c))}let u=n("anthropic-ratelimit-tokens-reset");if(u){let c=St(u);c!=null&&(o.retryAfterMs=Math.max(o.retryAfterMs??0,c))}let l=Se(n,"x-ratelimit-limit-requests");l!=null&&(o.rpmCap=l);let d=Se(n,"x-ratelimit-limit-tokens");d!=null&&(o.tpmCap=d);let m=Se(n,"x-ratelimit-remaining-requests"),p=Se(n,"x-ratelimit-remaining-tokens");if(m!=null&&l!=null&&l>0&&(o.usageHint??={},o.usageHint.rpm=1-m/l),p!=null&&d!=null&&d>0&&(o.usageHint??={},o.usageHint.tpm=1-p/d),o.retryAfterMs==null&&e.message){let c=yr(e.message);c!=null&&(o.retryAfterMs=c)}return e.headers&&(o.metadata={headers:pr(e.headers)}),o.retryAfterMs==null&&o.rpmCap==null&&o.tpmCap==null&&o.usageHint==null?o.metadata?o:void 0:o}function cr(t){if(!t)return()=>{};if(typeof t.get=="function"){let n=t;return o=>n.get(o)??n.get(o.toLowerCase())??void 0}let e=t,r={};for(let[n,o]of Object.entries(e)){let a=Array.isArray(o)?o.join(", "):o;a!=null&&(r[n.toLowerCase()]=a)}return n=>r[n.toLowerCase()]}function pr(t){let e={};if(typeof t.forEach=="function")return t.forEach((r,n)=>{e[n]=r}),e;for(let[r,n]of Object.entries(t))n!=null&&(e[r]=Array.isArray(n)?n.join(", "):n);return e}function Se(t,e){let r=t(e);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function fr(t){if(!t)return;let e=t.trim(),r=Number(e);if(Number.isFinite(r)&&r>=0)return r*1e3;let n=Date.parse(e);if(Number.isFinite(n)){let o=n-Date.now();if(o>0)return o}}function St(t){if(!t)return;let e=Date.parse(t);if(Number.isFinite(e))return Math.max(0,e-Date.now())}var gr=/retry\s+(?:in|after)\s+(\d+(?:\.\d+)?)\s*(ms|s|sec|seconds?|m|min|minutes?)/i;function yr(t){let e=gr.exec(t);if(!e)return;let r=Number(e[1]);if(!Number.isFinite(r))return;let n=(e[2]??"s").toLowerCase();if(n==="ms")return r;if(n.startsWith("s"))return r*1e3;if(n.startsWith("m"))return r*6e4}var hr=/rate\s*limit|too\s*many\s*requests|quota|429/i;function br(t){return!!t&&hr.test(t)}function He(t){let e=new Error(t);return e.name="AbortError",e}function Ot(t={}){let e=Math.max(1,t.burstMultiplier??1),r=t.clampCooldownMs??6e4,n=t.rpm!=null?k(t.rpm):w(Number.POSITIVE_INFINITY),o=t.tpm!=null?k(t.tpm):w(Number.POSITIVE_INFINITY),a=w(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/signalRpmCap"}),s=w(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/signalTpmCap"}),i=w({},{name:"adaptiveRateLimiter/lastSignal"}),u=v([n,a],([T,I])=>Math.min(Number(T??1/0),Number(I??1/0)),{name:"adaptiveRateLimiter/effectiveRpm"}),l=v([o,s],([T,I])=>Math.min(Number(T??1/0),Number(I??1/0)),{name:"adaptiveRateLimiter/effectiveTpm"}),d=fe(Number(n.cache??Number.POSITIVE_INFINITY),e),m=fe(Number(o.cache??Number.POSITIVE_INFINITY),e),p=!1,c=!1,g=u.subscribe(T=>{for(let I of T)if(I[0]===G){let _=Number(I[1]);Number.isFinite(_)&&_>0?(d=fe(_,e),p=!1):_===1/0?(d=fe(1/0,e),p=!1):_<=0&&(p=!0)}}),y=l.subscribe(T=>{for(let I of T)if(I[0]===G){let _=Number(I[1]);Number.isFinite(_)&&_>0?(m=fe(_,e),c=!1):_===1/0?(m=fe(1/0,e),c=!1):_<=0&&(c=!0)}}),f=0,h=new Z,b=new Z,N;t.adaptation!=null&&(N=k(t.adaptation).subscribe(I=>{for(let _ of I)_[0]===G&&A(_[1])}));function A(T){if(i.emit(T),T.rpmCap!=null&&Number.isFinite(T.rpmCap)&&T.rpmCap>=0&&(a.emit(T.rpmCap),Number.isFinite(r)&&r>0&&h.start(r,()=>a.emit(Number.POSITIVE_INFINITY))),T.tpmCap!=null&&Number.isFinite(T.tpmCap)&&T.tpmCap>=0&&(s.emit(T.tpmCap),Number.isFinite(r)&&r>0&&b.start(r,()=>s.emit(Number.POSITIVE_INFINITY))),T.retryAfterMs!=null&&T.retryAfterMs>0){let I=H()+T.retryAfterMs*1e6;I>f&&(f=I)}}let C=w(0,{name:"adaptiveRateLimiter/pending"}),R=w(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/rpmAvailable"}),D=w(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/tpmAvailable"}),P=T=>{C.emit((C.cache??0)+T)},S=()=>{R.emit(d.available()),D.emit(m.available())};async function E(T={}){let I=T.requestCost??1,_=T.tokenCost??0,K=T.signal;P(1);try{for(;;){if(K?.aborted)throw He("AdaptiveRateLimiter.acquire aborted");let te=H();if(f>te){let M=Math.ceil((f-te)/1e6);await Ee(M,K);continue}if(I>0&&p||_>0&&c){await Ee(250,K);continue}let ie=d,ue=m;if(!ie.tryConsume(I)){await Ee(Et(ie,I),K);continue}if(!(_>0?ue.tryConsume(_):!0)){ie.putBack(I),await Ee(Et(ue,_),K);continue}S();return}}finally{P(-1)}}function O(T){T>0?m.tryConsume(T):T<0&&m.putBack(-T),S()}function F(){g(),y(),N?.(),h.cancel(),b.cancel()}return{effectiveRpm:u,effectiveTpm:l,lastSignal:i,pending:C,rpmAvailable:R,tpmAvailable:D,acquire:E,recordUsage:O,recordSignal:A,dispose:F}}function fe(t,e){if(!Number.isFinite(t)||t===1/0)return _e(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);let r=Math.max(1,t*e),n=t/60;return _e(r,n)}function Et(t,e){let r=t.available(),n=Math.max(0,e-r);return n<=0?25:Math.min(5e3,Math.max(50,n*100))}function Ee(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(He("AdaptiveRateLimiter.acquire aborted")):new Promise((r,n)=>{let o=new Z,a,s=()=>{o.cancel(),e&&a&&e.removeEventListener("abort",a)};o.start(t,()=>{s(),r()}),e&&(a=()=>{s(),n(He("AdaptiveRateLimiter.acquire aborted"))},e.addEventListener("abort",a,{once:!0}))})}function ze(t,e={}){let r=e.limiter??Ot({name:e.name??"rateLimiter",rpm:e.rpm,tpm:e.tpm,adaptation:e.adaptation,burstMultiplier:e.burstMultiplier}),n=(s,i)=>e.costFn?e.costFn(s,i):0,o=s=>{let i=qe(s);i&&r.recordSignal(i)},a=V(t,{async invoke(s,i){let u=n(s,i);await r.acquire({requestCost:1,tokenCost:u,signal:i?.signal});try{let l=await se(k(t.invoke(s,i))),d=l.usage??Nt(),p=z(d)+ne(d)-u;return p>0&&r.recordUsage(p),l}catch(l){throw o(l),l}},async*stream(s,i){let u=n(s,i);await r.acquire({requestCost:1,tokenCost:u,signal:i?.signal});try{let l=0;for await(let m of t.stream(s,i))m.type==="usage"&&(l=z(m.usage)+ne(m.usage)),yield m;let d=l-u;d>0&&r.recordUsage(d)}catch(l){throw o(l),l}}});return U(a,"withRateLimiter",t),{adapter:a,limiter:r}}function Oe(t="aborted"){let e=new Error(t);return e.name="AbortError",e}function It(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(Oe()):new Promise((r,n)=>{let o=new Z,a,s=()=>{o.cancel(),e&&a&&e.removeEventListener("abort",a)};o.start(t,()=>{s(),r()}),e&&(a=()=>{s(),n(Oe())},e.addEventListener("abort",a,{once:!0}))})}function Ye(t,e={}){let r=e.attempts??3,n=e.baseDelayMs??500,o=e.maxDelayMs??1e4,a=e.strategy??"decorrelated",s=e.jitter??!0,i=e.shouldRetry??Tr,u=e.retryStreaming??!0,l=(m,p)=>{if(a==="decorrelated"){let f=Math.min(o,Math.max(n,p*3));return n+Math.random()*(f-n)}let c=a==="exp"?n*2**(m-1):n*m,g=Math.min(o,c);if(!s)return g;let y=g*(.5+Math.random());return Math.min(o,y)},d=V(t,{async invoke(m,p){if(p?.signal?.aborted)throw Oe();let c,g=n;for(let y=1;y<=r;y++)try{return await se(k(t.invoke(m,p)))}catch(f){if(c=f,y>=r||!i(f,y))throw f;let h=l(y,g);g=h,await It(h,p?.signal)}throw c},async*stream(m,p){if(p?.signal?.aborted)throw Oe();if(!u){for await(let y of t.stream(m,p))yield y;return}let c,g=n;for(let y=1;y<=r;y++){let f=!1;try{for await(let h of t.stream(m,p))f=!0,yield h;return}catch(h){if(c=h,f||y>=r||!i(h,y))throw h;let b=l(y,g);g=b,await It(b,p?.signal)}}throw c}});return U(d,"withRetry",t),d}function Tr(t,e){if(t==null)return!1;let r=t;return r.name==="LLMTimeoutError"?!0:r.name==="AbortError"||r.message==="aborted"||r.name==="DOMException"&&r.code!=null&&Number(r.code)===20||r.name==="BudgetExhaustedError"||r.name==="CircuitOpenError"?!1:r.status!=null?r.status===429||r.status>=500&&r.status<600:r.code&&typeof r.code=="string"&&/^E[A-Z]+$/.test(r.code)?!0:r.message?/network|timeout|socket|fetch|econn|eai_/i.test(r.message):!1}var ge=class extends Error{constructor(r){super(`LLM call timed out after ${r}ms`);this.ms=r}name="LLMTimeoutError"};function Je(t,e){if(e<=0)throw new RangeError("withTimeout: ms must be > 0");let r=a=>{let s=new AbortController,i=!1,u,l=new Z;return a&&(a.aborted?s.abort(a.reason):(u=()=>{l.cancel(),s.abort(a.reason)},a.addEventListener("abort",u,{once:!0}))),l.start(e,()=>{i=!0,s.abort(new ge(e))}),{signal:s.signal,cancel:()=>{l.cancel(),a&&u&&a.removeEventListener("abort",u)},timedOut:()=>i}},n=(a,s)=>{if(!s||a instanceof ge)throw a;let i=a;if(i?.name==="AbortError"||i?.name==="DOMException"&&Number(i.code)===20||a?.message==="aborted"){let l=new ge(e);throw l.cause=a,l}throw a},o=V(t,{async invoke(a,s){let{signal:i,cancel:u,timedOut:l}=r(s?.signal);try{return await se(k(t.invoke(a,{...s,signal:i})))}catch(d){return n(d,l())}finally{u()}},async*stream(a,s){let{signal:i,cancel:u,timedOut:l}=r(s?.signal);try{for await(let d of t.stream(a,{...s,signal:i}))yield d}catch(d){n(d,l())}finally{u()}}});return U(o,"withTimeout",t),o}function Mr(t,e={}){let r={adapter:t},n=t;if(e.rateLimit){let o=ze(n,e.rateLimit);n=o.adapter,r.rateLimiter=o.limiter}if(e.budget){let o=Ue(n,e.budget);n=o.adapter,r.budget=o.budget}if(e.breaker){let o=Ke(n,e.breaker);n=o.adapter,r.breaker=o.breaker}if(e.timeoutMs!=null&&(n=Je(n,e.timeoutMs)),e.retry&&(n=Ye(n,e.retry)),e.fallback){if(e.name==="fallback")throw new RangeError('resilientAdapter: `name` cannot be "fallback" \u2014 collides with the secondary tier label.');let o={};e.onFallback&&(o.onFallback=e.onFallback),e.onExhausted&&(o.onExhausted=e.onExhausted),n=Be([{name:e.name??"primary",adapter:n},{name:"fallback",adapter:e.fallback}],o)}return e.cache&&(n=Ge(n,e.cache)),r.adapter=n,r}function L(t,e){return dt("ai",t,e)}function vr(t){return t!=null&&typeof t.then=="function"}function Qe(t){return typeof t=="object"&&t!==null&&"subscribe"in t&&typeof t.subscribe=="function"&&"cache"in t}function kr(t){return t!=null&&typeof t=="object"&&Symbol.asyncIterator in t&&typeof t[Symbol.asyncIterator]=="function"}var Rr=3e4;function Dt(t,e){if(t.status==="settled"){let n=t.cache;if(n!==void 0)return Promise.resolve(n)}let r=e?.timeoutMs??Rr;return new Promise((n,o)=>{let a=new Z,s=t.subscribe(i=>{for(let u of i){if(u[0]===G){a.cancel(),s(),n(u[1]);return}if(u[0]===W){a.cancel(),s(),o(u[1]);return}if(u[0]===q){a.cancel(),s(),o(new Error("firstDataFromNode: completed without producing a value"));return}}});a.start(r,()=>{s(),o(new Error(`firstDataFromNode: timed out after ${r}ms`))})})}async function Me(t){return vr(t)?Me(await t):Qe(t)?Dt(t):kr(t)?Dt(k(t)):t}function ye(t){let e=t.match(/^```(?:json)?\s*([\s\S]*?)\s*```[\s\S]*$/);return e?e[1]:t}function co(t,e,r){return Q(n=>{let o=new AbortController,a=!1,s=null,i=d=>{a||(a=!0,n.down([[G,d],[q]]),s?.(),s=null)},u;try{u=t.invoke(e,{...r.invokeOpts,signal:o.signal})}catch(d){return i(r.onFailure("throw",d)),()=>o.abort()}return s=k(u,{signal:o.signal}).subscribe(d=>{for(let m of d){if(a)return;if(m[0]===G){try{i(r.onSuccess(m[1]))}catch(p){i(r.onFailure("onSuccess-threw",p))}return}if(m[0]===W){i(r.onFailure("error",m[1]));return}if(m[0]===q){i(r.onFailure("complete",void 0));return}}}),a&&s&&(s(),s=null),()=>{o.abort(),s?.(),s=null}})}function xr(t,e){let r=k(t),n=e?.refreshTrigger!=null?k(e.refreshTrigger):null,o=e?.name!==void 0?{name:e.name}:void 0,a=X("frozenContext",o);return n==null?le([r],(s,i,u)=>{if(u.store.emitted===!0)return;let d=s[0],m=d!=null&&d.length>0?d.at(-1):u.prevData[0];if(m!==void 0)return u.store.emitted=!0,i.emit(m),{invalidate:()=>{u.store.emitted=!1}}},{name:e?.name??"frozenContext",describeKind:"derived",initial:null,meta:L("frozen_context",{...a})}):le([r,n],(s,i,u)=>{let l=s[1];if(!(l!=null&&l.length>0))return;let m=s[0],p=m!=null&&m.length>0?m.at(-1):u.prevData[0];i.emit(p)},{name:e?.name??"frozenContext",describeKind:"derived",initial:null,meta:L("frozen_context",{...a})})}function Pt(t){return t!=null&&typeof t=="object"&&"content"in t?String(t.content):typeof t=="string"?t:String(t)}function wr(t,e=200){return t.length<=e?t:`${t.slice(0,e)}\u2026`}function Xe(t,e,r,n){let o=n?.format??"text",a=n?.name??"prompt_node";n?.tools!==void 0&&o!=="raw"&&console.warn("promptNode: `tools` is set but `format !== 'raw'`. Tool calls in the response will be silently dropped \u2014 set `format: 'raw'` to receive the full LLMResponse with `toolCalls`.");let s=e.length,i=n?.tools!==void 0?[...e,n.tools]:e,u=v(i,d=>{let m=d.slice(0,s),p=n?.tools!==void 0?d[s]:void 0;if(m.some(g=>g==null))return{messages:[],tools:p};let c=typeof r=="string"?r:r(...m);return c?{messages:[{role:"user",content:c}],tools:p}:{messages:[],tools:p}},{name:`${a}::messages`,meta:L("prompt_node")});return $(u,d=>{let{messages:m,tools:p}=d;return!m||m.length===0?w(null):Q(c=>{let g=!1,y=!1,f,h={model:n?.model,temperature:n?.temperature,maxTokens:n?.maxTokens,systemPrompt:n?.systemPrompt,...p!==void 0?{tools:p}:{}};if(n?.abort){let C=bt(n.abort);h.signal=C.signal,f=C.dispose}let b;try{b=t.invoke(m,h)}catch(C){return g=!0,c.down([[W,C]]),()=>{f?.()}}let A=k(b).subscribe(C=>{if(!(y||g))for(let R of C){if(g)return;if(R[0]===G){let D=R[1];if(o==="raw")c.emit(D);else try{let P=Pt(D),S=o==="json"?JSON.parse(ye(P)):P;c.emit(S)}catch(P){let S=Pt(D),E=new Error(`promptNode: failed to parse LLM response as JSON: ${P.message}
2
+ Raw content (first 200 chars): ${wr(S)}`);g=!0,c.down([[W,E]]);return}}else if(R[0]===W){g=!0,c.down([[W,R[1]]]);return}else if(R[0]===q){g=!0,c.down([[q]]);return}else c.down([R])}});return()=>{y=!0,A(),f?.()}},{name:`${a}::call`,meta:L("prompt_node::call")})},{name:`${a}::output`,meta:n?.meta?{...L("prompt_node::output"),...n.meta}:L("prompt_node::output")})}function Ze(t,e,r,n){let o=r.name??n;return a=>{let s=w(a);return Xe(r.adapter,[s],i=>e(i),{name:o,format:"json",systemPrompt:t,model:r.model,temperature:r.temperature??0,maxTokens:r.maxTokens})}}function et(t,e){let r=e.maxExistingKeys??100,n=Ze(t,o=>JSON.stringify({input:o.raw,existingKeys:o.existingKeys}),e,"llmExtractor");return(o,a)=>{let s=r===Number.POSITIVE_INFINITY?[...a.keys()]:[...a.keys()].slice(0,r);return n({raw:o,existingKeys:s})}}function tt(t,e){let r=Ze(t,n=>JSON.stringify({memories:n}),e,"llmConsolidator");return n=>{let o=[...n.entries()].map(([a,s])=>({key:a,value:s}));return r(o)}}async function _t(t,e,r,n){let o="",a=0;for await(let s of t.stream(e,r))n.publish({...s,seq:a++,ts:be()}),s.type==="token"&&(o+=s.delta);return o}function jt(t,e){if(e==="json")try{return JSON.parse(ye(t))}catch(r){let n=t.slice(0,160);throw new Error(`streamingPromptNode: format:"json" \u2014 failed to parse accumulated text as JSON: ${r.message}; content preview: ${n}`)}return t}function Ft(t,e){return v([t.latest],([r],n)=>{let o=n.store;if(r==null)return o.acc??"";let a=r;return a.seq===0&&(o.acc=""),a.type==="token"&&(o.acc=(o.acc??"")+a.delta),o.acc??""},{name:e,meta:L("accumulated_text"),initial:""})}function Lr(t,e,r,n){let o=n?.name??"llm",a=n?.format??"text",s=$e(`${o}/stream`,{...n?.retainedLimit!=null?{retainedLimit:n.retainedLimit}:{}}),i=v(e,m=>{if(m.some(c=>c==null))return[];let p=typeof r=="string"?r:r(...m);return p?[{role:"user",content:p}]:[]},{name:`${o}::messages`,meta:L("prompt_node::messages"),initial:[]}),u=$(i,m=>{let p=m;if(!p||p.length===0)return w(null);let c=new AbortController;async function*g(){try{let y=await _t(t,p,{model:n?.model,temperature:n?.temperature,maxTokens:n?.maxTokens,systemPrompt:n?.systemPrompt,signal:c.signal},s);yield jt(y,a)}finally{c.abort()}}return k(g())},{meta:X("streamingPromptNode")}),l=Ft(s,`${o}::accumulatedText`),d=j(u);return{output:u,deltaTopic:s,accumulatedText:l,dispose:()=>{d(),s.destroy()}}}function Nr(t,e,r,n,o,a){let s=w(0,{name:`${e}/cancel`}),i=0,u=[...n,s],l=a?.name??e,d=a?.format??"text",m=$e(`${l}/stream`,{...a?.retainedLimit!=null?{retainedLimit:a.retainedLimit}:{}}),p=v(u,D=>{let P=D.slice(0,-1);if(P.some(E=>E==null))return[];let S=typeof o=="string"?o:o(...P);return S?[{role:"user",content:S}]:[]},{name:`${l}::messages`,meta:L("prompt_node::messages"),initial:[]}),c=$(p,D=>{let P=D;if(!P||P.length===0)return w(null);let S=new AbortController;async function*E(){try{let O=await _t(r,P,{model:a?.model,temperature:a?.temperature,maxTokens:a?.maxTokens,systemPrompt:a?.systemPrompt,signal:S.signal},m);yield jt(O,d)}finally{S.abort()}}return k(E())},{meta:X("gatedStream")}),g=Ft(m,`${l}::accumulatedText`),y=ut(c,D=>D!=null);t.add(y,{name:`${e}/raw`});let f=vt(`${e}/gate-graph`);t.mount(`${e}/gate-graph`,f),f.add(y,{name:`${e}/raw`});let h=f.approvalGate(`${e}/gate`,`${e}/raw`,a?.gate),b=j(c),N=j(h.node),A=j(g);t.addDisposer(b),t.addDisposer(N),t.addDisposer(A);let C=h.reject.bind(h),R={...h,reject(D=1){J(()=>{C(D),s.emit(++i)})}};return{output:h.node,deltaTopic:m,accumulatedText:g,gate:R,dispose:()=>{b(),N(),A(),m.destroy()}}}function Ar(t,e){let r=e?.separator??`
3
+
4
+ `,n=t.map(s=>typeof s=="string"?w(s):k(s)),o=v(n,s=>s.filter(i=>i!=null&&i!=="").join(r),{name:e?.name??"systemPrompt",describeKind:"derived",meta:L("system_prompt"),initial:""}),a=j(o);return Object.assign(o,{dispose:a})}var Cr=(t,e)=>t===e?!0:t.chunkCount===e.chunkCount&&t.charCount===e.charCount&&t.estimatedTokens===e.estimatedTokens&&t.estimated===e.estimated;function Sr(t,e){let r=e?.charsPerToken??4,n={chunkCount:0,charCount:0,estimatedTokens:0,estimated:!0};return v([t.latest],([o],a)=>{if(o==null)return n;let s=o;"chunkCount"in a.store||(a.store.chunkCount=0,a.store.charCount=0,a.store.usageTokens=0,a.store.sawUsage=!1);let i=a.store;s.type==="token"?(i.chunkCount+=1,i.charCount+=s.delta.length):s.type==="usage"&&(i.sawUsage=!0,i.usageTokens=z(s.usage)+ne(s.usage));let u=i.sawUsage?i.usageTokens:Math.ceil(i.charCount/r);return{chunkCount:i.chunkCount,charCount:i.charCount,estimatedTokens:u,estimated:!i.sawUsage}},{name:e?.name??"cost-meter",describeKind:"derived",initial:n,meta:L("cost_meter_extractor"),equals:Cr})}var Er=(t,e)=>{if(t===e)return!0;if(t==null||e==null)return t===e;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r];if(n.label!==o.label||n.pattern!==o.pattern||n.match!==o.match||n.position!==o.position)return!1}return!0};function Or(t,e){let r=e.maxPatternLength??128;for(let o of e.patterns)if(o.pattern.source.length>r)throw new Error(`keywordFlagExtractor: pattern "${o.label}" literal exceeds maxPatternLength (${o.pattern.source.length} > ${r}); raise the option or shorten the pattern.`);let n=e.patterns.map(o=>({label:o.label,pattern:o.pattern,compiled:new RegExp(o.pattern.source,`${o.pattern.flags.replace("g","")}g`)}));return v([t],([o],a)=>{if(o==null)return[];let s=o;"flags"in a.store||(a.store.flags=[],a.store.scannedTo=0);let i=a.store.flags,u=a.store.scannedTo,l=Math.max(0,u-r),d=s.slice(l),m=!1;for(let{pattern:p,label:c,compiled:g}of n){g.lastIndex=0;for(let y of d.matchAll(g)){let f=l+(y.index??0);f+y[0].length<=u||(i.push({label:c,pattern:p,match:y[0],position:f}),m=!0)}}return a.store.scannedTo=s.length,m?[...i]:i.slice()},{name:e.name??"keyword-flag-extractor",describeKind:"derived",initial:[],meta:L("keyword_flag_extractor"),equals:Er})}function Ir(t,e,r){return v([t],([n])=>n==null?null:e(n),{name:r?.name??"extractor",describeKind:"derived",initial:null,meta:L("stream_extractor"),...r?.equals?{equals:r.equals}:{}})}var Dr=(t,e)=>{if(t===e)return!0;if(t==null||e==null)return t===e;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r];if(n.startIndex!==o.startIndex||n.name!==o.name||n.raw!==o.raw)return!1}return!0};function Pr(t,e){return v([t],([r],n)=>{if(r==null)return[];let o=r;"calls"in n.store||(n.store.calls=[],n.store.scanFrom=0);let a=n.store.calls,s=n.store.scanFrom,i=!1;for(;s<o.length;){let u=o.indexOf("{",s);if(u===-1){n.store.scanFrom=o.length;break}let l=0,d=-1,m=!1;for(let c=u;c<o.length;c++){let g=o[c];if(m)g==="\\"&&c+1<o.length?c++:g==='"'&&(m=!1);else if(g==='"')m=!0;else if(g==="{")l++;else if(g==="}"&&(l--,l===0)){d=c;break}}if(d===-1){n.store.scanFrom=u;break}let p=o.slice(u,d+1);try{let c=JSON.parse(p);typeof c.name=="string"&&c.arguments!=null&&typeof c.arguments=="object"&&(a.push({name:c.name,arguments:c.arguments,raw:p,startIndex:u}),i=!0)}catch{}s=d+1,n.store.scanFrom=s}return i?[...a]:a.slice()},{name:e?.name??"tool-call-extractor",describeKind:"derived",initial:[],meta:L("tool_call_extractor"),equals:Dr})}function _r(t,e,r,n){let o=r*(n?.hardMultiplier??1.5),a=typeof e!="function",s=[t];return a&&s.push(e),v(s,i=>{let u=i[0]??"";if(u.length===0)return"allow";let l=a?i[1]??0:e(u);return l>=o?"block":l>=r?"review":"allow"},{name:n?.name??"content-gate",initial:"allow"})}function jr(t,e,r,n){let o=r??(()=>"[REDACTED]");function a(s){let i=s;for(let u of e){let l=u.global?u:new RegExp(u.source,`${u.flags}g`);i=i.replace(l,d=>o(d,u))}return i}return v([t],([s])=>a(s??""),{name:n?.name??"redactor",initial:""})}var Ie=class extends ae{_log;messages;latest;messageCount;constructor(e,r={}){super(e,r.graph),this._log=pe([],{name:"messages",maxSize:r.maxMessages}),this.messages=this._log.entries,this.add(this.messages,{name:"messages"}),this.latest=v([this.messages],([n])=>{let o=n;return o.length===0?null:o[o.length-1]},{name:"latest",describeKind:"derived",meta:L("chat_latest")}),this.add(this.latest,{name:"latest"}),this.addDisposer(j(this.latest)),this.messageCount=v([this.messages],([n])=>n.length,{name:"messageCount",describeKind:"derived",meta:L("chat_message_count"),initial:0}),this.add(this.messageCount,{name:"messageCount"}),this.addDisposer(j(this.messageCount))}append(e,r,n){this._log.append({role:e,content:r,...n})}appendToolResult(e,r){this._log.append({role:"tool",content:r,toolCallId:e})}clear(){this._log.clear()}allMessages(){return this.messages.cache}};function rt(t,e){return new Ie(t,e)}function Fr(t,e,r){let n=k(t),o=r?.condition!=null?k(r.condition):null,a=w(null,{name:r?.name?`${r.name}::null`:"handoff::null"});if(o==null)return $(n,i=>{if(i==null)return a;let u=w(i);return e(u)},{meta:X("handoff")});let s=v([n,o],([i,u])=>({v:i,open:u===!0}),{name:r?.name?`${r.name}::router`:"handoff::router",describeKind:"derived"});return $(s,({v:i,open:u})=>{if(i==null)return a;if(!u)return w(i);let l=w(i);return e(l)},{meta:X("handoff")})}function nt(t){let{toolCalls:e,tools:r}=t,n=t.retryCount??1,o=t.onError??"rescue",a=(s,i)=>{if(s===i)return!0;if(s.length!==i.length)return!1;for(let u=0;u<s.length;u++){let l=s[u],d=i[u];if(l?.id!==d?.id||l?.content!==d?.content)return!1}return!0};return $(e,s=>{if(s==null||s.length===0)throw new Error("toolExecution: received an empty tool-call batch as DATA \u2014 callers must upstream-filter empty batches (emit RESOLVED) so switchMap is only dispatched for non-empty batches.");let i=s.map(u=>Gr(u,r,n,o));return v(i,u=>u,{name:"toolExecution::batch",equals:a})})}function Gr(t,e,r,n){let o=pt(()=>e.executeReactive(t.name,t.arguments),{count:r}),a=v([o],([s])=>({id:t.id,content:typeof s=="string"?s:JSON.stringify(s)}));return n==="propagate"?a:ct(a,s=>({id:t.id,content:JSON.stringify({error:String(s)})}))}var De=class extends ae{definitions;schemas;_bundle;constructor(e,r={}){super(e,r.graph),this._bundle=xe({name:"definitions"}),this.definitions=this._bundle.entries,this.add(this.definitions,{name:"definitions"}),this.schemas=v([this.definitions],([n])=>[...(n??new Map).values()],{name:"schemas",describeKind:"derived",meta:L("tool_schemas"),initial:[]}),this.add(this.schemas,{name:"schemas"}),this.addDisposer(j(this.schemas))}register(e){this._bundle.set(e.name,e)}unregister(e){this._bundle.delete(e)}executeReactive(e,r){let n=this._bundle.get(e);if(!n)throw new Error(`toolRegistry: unknown tool "${e}"`);return Q(o=>{let a=new AbortController,s;try{let u=n.handler(r,{signal:a.signal});s=Br(u,a.signal)}catch(u){return o.down([[W,u]]),()=>{a.abort()}}let i=s.subscribe(u=>{o.down(u)});return()=>{a.abort(),i()}},{name:`executeReactive::${e}`,meta:L("tool_execute_reactive")})}getDefinition(e){return this._bundle.entries.cache?.get(e)}};function ot(t,e){return new De(t,e)}function Br(t,e){return Qe(t)?t:t!=null&&typeof t.then=="function"?je(t,{signal:e}):t!=null&&typeof t=="object"&&Symbol.asyncIterator in t?yt(t,{signal:e}):je(Promise.resolve(t),{signal:e})}function $r(t,e,r){let n=k(t),o=e.map(s=>k(s)),a=[n,...o];return v(a,s=>{let i=s[0]??[],u=s.slice(1);return i.filter(l=>{for(let d of u)if(d!=null&&!d(l))return!1;return!0})},{name:r?.name??"tool-selector",describeKind:"derived",meta:{...L("tool_selector"),...X("toolSelector")},equals:(s,i)=>{let u=s,l=i;if(u.length!==l.length)return!1;for(let d=0;d<u.length;d++)if(u[d]!==l[d])return!1;return!0}})}function Gt(t){let e=t.thresholds??{};return r=>{let n=t.scoreFn(r);for(let o of Object.keys(e)){let a=e[o];if(a===void 0)continue;let s=n[o];if((Number.isFinite(s)?s:Number.NEGATIVE_INFINITY)<a)return!1}return!0}}function Wr(t){let e={persistence:t.persistenceThreshold??.3,personalValue:t.personalValueThreshold??.3},r=Gt({scoreFn:t.scoreFn,thresholds:e});return t.requireStructured?n=>{if(!r(n))return!1;let o=t.scoreFn(n).structure;return Number.isFinite(o)&&o>0}:r}function at(t,e,r){let n=xt({dimension:r.dimension});t.add(n.entries,{name:"vectorIndex"});let a=re([e.store.entries],([s])=>{let i=s??new Map;for(let[u,l]of i){let d=r.embedFn(l);d&&n.upsert(u,d,l)}}).subscribe(()=>{});return t.addDisposer(a),{vectors:n,dispose:()=>a()}}function st(t,e,r,n){let o=n.mountPath??r,a=wt(`${r}-kg`);if(t.mount(o,a),!n.entityFn)return{kg:a,dispose:()=>{}};let s=n.entityFn,u=re([e.store.entries],([l])=>{let d=l??new Map;for(let[m,p]of d){let c=s(m,p);if(c){for(let g of c.entities??[])a.upsertEntity(g.id,g.value);for(let g of c.relations??[])a.link(g.from,g.to,g.relation,g.weight)}}}).subscribe(()=>{});return t.addDisposer(u),{kg:a,dispose:()=>u()}}function it(t,e,r){let n=r.decayRate??we,o=r.maxActive??1e3,a=r.archiveThreshold??.1,s=r.permanentFilter??(()=>!1),i=Rt("permanent",{ranked:!1});t.mount("permanent",i);let u=new Set,l=b=>u.has(b)?"permanent":(e.store.entries.cache??new Map).has(b)?"active":"archived",d=(b,N)=>{u.add(b),i.upsert(b,N)},m=new Map,p=e.store.entries,c=r.context?k(r.context):w(null),y=re([p,c],([b,N])=>{let A=b??new Map,C=H(),R=[],D=[];for(let[S,E]of A){if(m.has(S)||m.set(S,C),s(S,E)){D.push({key:S,value:E});continue}let O=r.score(E,N),F=m.get(S)??C,T=Number(C-F)/1e9;Mt(O,T,n)<a&&R.push(S)}for(let S of m.keys())A.has(S)||m.delete(S);for(let{key:S,value:E}of D)u.has(S)||d(S,E);let P=A.size-u.size;if(P>o){let S=[...A.entries()].filter(([O])=>!u.has(O)).map(([O,F])=>({key:O,score:r.score(F,N)})).sort((O,F)=>O.score-F.score),E=P-o;for(let O=0;O<E&&O<S.length;O++){let F=S[O].key;R.includes(F)||R.push(F)}}R.length>0&&J(()=>{for(let S of R)e.store.delete(S)})}).subscribe(()=>{}),f=null;r.archiveTier&&(f=t.attachSnapshotStorage([r.archiveTier],r.archiveStorageOptions??{}));let h=()=>{y(),f?.dispose()};return t.addDisposer(h),{tiers:{permanent:i,activeEntries:p,archiveHandle:f,tierOf:l,markPermanent:d},dispose:h}}function Kr(t,e){if(!t||!e)return 0;let r=Math.min(t.length,e.length),n=0;for(;n<r&&t[n]===e[n];)n++;return n}function lt(t,e,r,n,o){let a=o.topK??20,s=o.graphDepth??1,i=o.budget??2e3,u=o.contextWeight??0,l=o.context?k(o.context):w(null),d=(f,h,b)=>{let N=new Map,A=[];if(r&&b.vector){let E=b.vector,O=r.entries.cache;if(O&&O.size>0&&a>0){A=[...O.values()].map(T=>({id:T.id,score:kt(E,T.vector),...T.meta!==void 0?{meta:T.meta}:{}})).sort((T,I)=>I.score-T.score).slice(0,a);for(let T of A){let I=f.get(T.id);I&&N.set(T.id,{value:I,sources:new Set(["vector"])})}}}let C=[];if(n){let E=n.adjacencyOut.cache,O=n.adjacencyIn.cache,F=[...b.entityIds??[],...N.keys()],T=new Set,I=F;for(let _=0;_<s;_++){let K=[];for(let te of I){if(T.has(te))continue;T.add(te);let ie=E?.get(te)??[],ue=O?.get(te)??[];for(let me of ie){let x=me.to;if(!T.has(x)){K.push(x);let M=f.get(x);if(M){let B=N.get(x);B?B.sources.add("graph"):N.set(x,{value:M,sources:new Set(["graph"])}),C.push(x)}}}for(let me of ue){let x=me.from;if(!T.has(x)){K.push(x);let M=f.get(x);if(M){let B=N.get(x);B?B.sources.add("graph"):N.set(x,{value:M,sources:new Set(["graph"])}),C.push(x)}}}}I=K}}for(let[E,O]of f)N.has(E)||N.set(E,{value:O,sources:new Set(["store"])});let R=b.context?.length??0,D=[];for(let[E,{value:O,sources:F}]of N){let T=o.contextOf?o.contextOf(O):void 0,I=o.score(O,h);if(u>0&&R>0){let K=Kr(b.context,T);K>0&&(I=I*(1+u*K/R))}let _=T?{key:E,value:O,score:I,sources:[...F],context:T}:{key:E,value:O,score:I,sources:[...F]};D.push(_)}D.sort((E,O)=>O.score-E.score);let P=[],S=0;for(let E of D){let O=o.cost(E.value);if(S+O>i&&P.length>0)break;P.push(E),S+=O}return{packed:P,trace:{vectorCandidates:A,graphExpanded:C,ranked:D,packed:P}}},m=(f,h)=>{if(f===h)return!0;if(f.length!==h.length)return!1;for(let b=0;b<f.length;b++)if(f[b]!==h[b])return!1;return!0},p=w([],{name:"retrieval",describeKind:"state",meta:L("retrieval_pipeline"),equals:m});t.add(p,{name:"retrieval"});let c=w(null,{name:"retrievalTrace",describeKind:"state",meta:L("retrieval_trace")});return t.add(c,{name:"retrievalTrace"}),{retrieval:p,retrievalTrace:c,retrieve:f=>{let h=e.store.entries.cache??new Map,{packed:b,trace:N}=d(h,l.cache,f);return J(()=>{p.emit(b),c.emit(N)}),b},retrieveReactive:f=>{let h=k(f),b=v([e.store.entries,l,h],([C,R,D])=>{if(D==null)return{packed:[],trace:null};let P=C??new Map,{packed:S,trace:E}=d(P,R,D);return{packed:S,trace:E}},{name:"retrievalReactive::result",describeKind:"derived",meta:L("retrieval_reactive_result"),initial:{packed:[],trace:null}}),A=re([b],([C])=>{let R=C;J(()=>{p.emit(R.packed),R.trace&&c.emit(R.trace)})}).subscribe(()=>{});return t.addDisposer(A),v([b],([C])=>C.packed,{name:"retrievalReactive",describeKind:"derived",meta:L("retrieval_reactive"),initial:[],equals:m})}}}var Pe=class extends ae{chat;tools;status;turn;aborted;lastResponse;toolCalls;toolResults;_terminalResult;_disposeRunWiring;_running=!1;_currentAbortController=null;constructor(e,r){if(super(e,r.graph),this.chat=rt(`${e}-chat`,{maxMessages:r.maxMessages}),this.mount("chat",this.chat),this.tools=ot(`${e}-tools`),this.mount("tools",this.tools),r.tools)for(let x of r.tools)this.tools.register(x);this.status=w("idle",{name:"status",describeKind:"state",meta:L("agent_status")}),this.add(this.status,{name:"status"}),this.turn=w(0,{name:"turn",describeKind:"state",meta:L("agent_turn_count")}),this.add(this.turn,{name:"turn"}),this.aborted=w(!1,{name:"aborted",describeKind:"state",meta:L("agent_aborted")}),this.add(this.aborted,{name:"aborted"});let n=0,o=this.turn.subscribe(x=>{for(let M of x)M[0]===G&&(n=M[1])}),a=!1,s=this.aborted.subscribe(x=>{for(let M of x)M[0]===G&&(a=M[1])}),i=this.chat.messages.cache??[],u=this.chat.messages.subscribe(x=>{for(let M of x)M[0]===G&&(i=M[1])}),l=this.tools.schemas.cache??[],d=this.tools.schemas.subscribe(x=>{for(let M of x)M[0]===G&&(l=M[1])}),m=r.adapter,p=r.systemPrompt,c=r.model,g=r.temperature,y=r.maxTokens,f=r.maxTurns??10,h=r.stopWhen,b=this.chat,N=this.tools,A=this.status,C=this.turn,R=this.aborted,D=le([A],(x,M,B)=>{if(ve(x,B.prevData,0,"idle")!=="thinking"||a||n>=f){M.down([[ce]]);return}if(i.length===0){M.down([[ce]]);return}M.emit({messages:i,tools:l})},{name:"promptInput",describeKind:"derived",meta:L("agent_prompt_input",{closureReads:["aborted","turn","chat.messages","tools.schemas"]})}),P=$(D,x=>{let M=new AbortController;return this._currentAbortController=M,a&&M.abort(new Error("agentLoop: aborted")),k(m.invoke(x.messages,{tools:x.tools.length>0?x.tools:void 0,systemPrompt:p,model:c,temperature:g,maxTokens:y,signal:M.signal}),{signal:M.signal})},{equals:()=>!1}),S=w(null,{name:"lastResponse",describeKind:"state",meta:L("agent_last_response")});this.lastResponse=S;let E=le([S,A],(x,M,B)=>{let Y=ve(x,B.prevData,0,null);if(ve(x,B.prevData,1,"idle")!=="acting"){M.down([[ce]]);return}let oe=Y?.toolCalls;if(oe==null||oe.length===0){M.down([[ce]]);return}M.emit(oe)},{name:"toolCallsRaw",describeKind:"derived",meta:L("agent_tool_calls_raw")}),O=r.interceptToolCalls?r.interceptToolCalls(E):E;this.toolCalls=O;let F=nt({toolCalls:O,tools:N,retryCount:1});this.toolResults=F;let T=re([P],([x])=>{if(a)return;let M=x,B=n+1,Y=M.toolCalls!=null&&M.toolCalls.length>0,he=M.finishReason==="end_turn"&&(!M.toolCalls||M.toolCalls.length===0),oe=h?.(M)===!0,Vt=B>=f,Ut=oe||he||!Y||Vt?"done":"acting";J(()=>{S.emit(M),A.emit(Ut),C.emit(B),b.append("assistant",M.content,{toolCalls:M.toolCalls})})}),I=re([F],([x])=>{if(a)return;let M=x;if(M.length===0)return;let B=n>=f?"done":"thinking";J(()=>{A.emit(B);for(let Y of M)b.appendToolResult(Y.id,Y.content)})}),_=A.cache??"idle",K=A.subscribe(x=>{for(let M of x)M[0]===G&&(_=M[1])}),te=re([R],([x])=>{x===!0&&(this._currentAbortController?.abort(new Error("agentLoop: aborted")),_!=="done"&&A.emit("done"))}),ie=j(T),ue=j(I),me=j(te);this._terminalResult=le([A,S],(x,M,B)=>{let Y=ve(x,B.prevData,0,"idle"),he=ve(x,B.prevData,1,null);if(Y==="done"){if(he!=null){M.emit(he);return}let oe=new Error("agentLoop: aborted");oe.name="AbortError",M.down([[W,oe]]);return}if(Y==="error"){M.down([[W,new Error("agentLoop: errored")]]);return}M.down([[ce]])},{name:"terminalResult",describeKind:"derived",meta:L("agent_terminal_result")}),this.add(D,{name:"promptInput"}),this.add(P,{name:"llmResponse"}),this.add(this.lastResponse,{name:"lastResponse"}),this.toolCalls===E?this.add(this.toolCalls,{name:"toolCalls"}):(this.add(E,{name:"toolCallsRaw"}),this.add(this.toolCalls,{name:"toolCalls"})),this.add(F,{name:"toolResults"}),this.add(this._terminalResult,{name:"terminalResult"}),this.addDisposer(o),this.addDisposer(s),this.addDisposer(K),this.addDisposer(u),this.addDisposer(d),this.addDisposer(ie),this.addDisposer(ue),this.addDisposer(me),this._disposeRunWiring=()=>{}}async run(e,r){if(this._running)throw new RangeError(`agentLoop "${this.name}": run() called while a previous run() is still pending \u2014 await the previous run before starting another, or call abort() first`);this._running=!0;let n;try{J(()=>{this.turn.emit(0),this.aborted.emit(!1),this.status.emit("idle"),this.lastResponse.emit(null)}),e!=null&&this.chat.append("user",e);let o=ht(this._terminalResult,{skipCurrent:!0});if(r!=null)if(r.aborted)this.aborted.emit(!0);else{let a=()=>this.aborted.emit(!0);r.addEventListener("abort",a,{once:!0}),n=()=>r.removeEventListener("abort",a)}return r?.aborted!==!0&&this.status.emit("thinking"),await o}finally{n?.(),this._running=!1,this._currentAbortController=null}}abort(){this.aborted.emit(!0)}destroy(){try{this._disposeRunWiring()}catch{}super.destroy()}};function ve(t,e,r,n){let o=t[r];if(o!=null&&o.length>0)return o[o.length-1];let a=e[r];return a!==void 0?a:n}function Vr(t,e){let r=new Pe(t,e);return r.tagFactory("agentLoop",ke(e)),r}function Ur(t,e,r){let n=new ae(t,r.graph);n.tagFactory("agentMemory",ke(r));let o;if(r.extractFn)o=r.extractFn;else if(r.adapter&&r.extractPrompt)o=et(r.extractPrompt,{adapter:r.adapter});else throw new Error("agentMemory: provide either extractFn or adapter + extractPrompt");let a=(b,N)=>{let A=N.cache??new Map,C=N.subscribe(R=>{for(let D of R)D[0]===G&&(A=D[1])});return n.addDisposer(C),$(b,R=>R==null?{upsert:[]}:o(R,A))},s=e;if(r.admissionFilter){let b=k(e),N=r.admissionFilter;s=v([b],([A])=>{if(N(A))return A},{name:"admissionFilter",describeKind:"derived"})}let i;r.consolidateFn?i=r.consolidateFn:r.adapter&&r.consolidatePrompt&&(i=tt(r.consolidatePrompt,{adapter:r.adapter}));let u=r.consolidateTrigger;if(!u&&i&&r.reflection?.enabled!==!1){let b=r.reflection?.interval??3e5;u=gt(b,{period:b})}let l={score:r.score,cost:r.cost,budget:r.budget??2e3,context:r.context,consolidate:i,consolidateTrigger:u},d=Tt(s,a,l);n.add(d.store.entries,{name:"store"}),n.add(d.compact,{name:"compact"}),n.add(d.size,{name:"size"});let m=null;r.vectorDimensions&&r.vectorDimensions>0&&r.embedFn&&(m=at(n,d,{dimension:r.vectorDimensions,embedFn:r.embedFn}).vectors);let p=null;r.enableKnowledgeGraph&&(p=st(n,d,t,{mountPath:"kg",entityFn:r.entityFn}).kg);let c=null;r.tiers&&(c=it(n,d,{...r.tiers,score:r.score,context:r.context}).tiers);let g=null,y=null,f=null,h=null;if(m||p){let b=lt(n,d,m,p,{score:r.score,cost:r.cost,budget:r.budget,topK:r.retrieval?.topK,graphDepth:r.retrieval?.graphDepth,contextOf:r.contextOf,contextWeight:r.contextWeight,context:r.context});g=b.retrieval,y=b.retrievalTrace,f=b.retrieve,h=b.retrieveReactive}return Object.assign(n,{distillBundle:d,compact:d.compact,size:d.size,vectors:m,kg:p,memoryTiers:c,retrieval:g,retrievalTrace:y,retrieve:f,retrieveReactive:h})}function qr(t,e,r){let n=t.describe({actor:e,detail:"full"}),o=r?.groupByTags??!0,a=r?.separator??`
5
+ `,s=[],i=r?.sinceVersion;for(let[u,l]of Object.entries(n.nodes)){let d=l.meta??{},m=d.description,p=d.format;if(!m&&!p)continue;if(i!=null&&l.v!=null){let h=i.get(u);if(h!=null&&h.id===l.v.id&&l.v.version<=h.version)continue}let c=m??u,g=l.value,y=d.unit,f;p==="currency"&&typeof g=="number"?f=`$${g.toFixed(2)}`:p==="percentage"&&typeof g=="number"?f=`${(g*100).toFixed(1)}%`:g==null?f="(no value)":f=String(g),y&&p!=="currency"&&p!=="percentage"&&(f=`${f} ${y}`),s.push({path:u,description:c,formatted:f})}if(s.length===0)return"";if(o){let u=new Map,l=[];for(let m of s){let c=n.nodes[m.path].meta?.tags;if(c&&c.length>0){let g=c[0],y=u.get(g);y||(y=[],u.set(g,y)),y.push(m)}else l.push(m)}if(u.size===0)return s.map(m=>`- ${m.description}: ${m.formatted}`).join(a);let d=[];for(let[m,p]of[...u.entries()].sort((c,g)=>c[0].localeCompare(g[0])))d.push(`[${m}]${a}${p.map(c=>`- ${c.description}: ${c.formatted}`).join(a)}`);return l.length>0&&d.push(l.map(m=>`- ${m.description}: ${m.formatted}`).join(a)),d.join(a+a)}return s.map(u=>`- ${u.description}: ${u.formatted}`).join(a)}var Bt=`You are a graph architect for GraphReFly, a reactive graph protocol.
6
+
7
+ Given a natural-language description, produce a JSON graph specification with this structure:
8
+
9
+ {
10
+ "name": "<graph_name>",
11
+ "nodes": {
12
+ "<node_name>": {
13
+ "type": "state" | "derived" | "producer" | "effect" | "operator",
14
+ "initial": <initial_value_for_state_nodes>,
15
+ "deps": ["<dep_node_name>", ...],
16
+ "meta": {
17
+ "description": "<human-readable purpose>",
18
+ "type": "string" | "number" | "boolean" | "integer" | "enum",
19
+ "range": [min, max],
20
+ "values": ["a", "b"],
21
+ "format": "currency" | "percentage" | "status",
22
+ "access": "human" | "llm" | "both" | "system",
23
+ "unit": "<unit>",
24
+ "tags": ["<tag>"]
25
+ }
26
+ }
27
+ }
28
+ }
29
+
30
+ Rules:
31
+ - "state" nodes have no deps and hold user/LLM-writable values (knobs). Use "initial" for the starting value.
32
+ - "derived" nodes have deps and compute from them (pure, no side effects).
33
+ - "effect" nodes have deps but produce side effects (no return value).
34
+ - "producer" nodes have no deps but generate values asynchronously.
35
+ - "operator" nodes are parameterized transformations with deps.
36
+ - Use "deps" inside each node to declare dependencies \u2014 no separate "edges" array.
37
+ - meta.description is required for every node.
38
+ - Return ONLY valid JSON, no markdown fences or commentary.`;async function $t(t,e,r){let o=[{role:"system",content:r?.systemPromptExtra?`${Bt}
39
+
40
+ ${r.systemPromptExtra}`:Bt},{role:"user",content:t}],a=e.invoke(o,{model:r?.model,temperature:r?.temperature??0,maxTokens:r?.maxTokens,signal:r?.signal}),i=(await Me(a)).content.trim();i.startsWith("```")&&(i=ye(i));let u;try{u=JSON.parse(i)}catch{throw new Error(`graphFromSpec: LLM response is not valid JSON: ${i.slice(0,200)}`)}return Lt(u,{catalog:r?.catalog})}function Hr(t,e,r){let n=k(t);return $(n,o=>!o||typeof o!="string"||o.trim().length===0?w(null):Q(a=>{let s=new AbortController,i=!1;return $t(o,e,{...r,signal:s.signal}).then(u=>{if(i){u.destroy();return}a.emit(u),a.down([[q]])}).catch(u=>{i||a.down([[W,u]])}),()=>{i=!0,s.abort()}},{name:"graphFromSpec::call"}))}function zr(t){let e={},r=t.type;return r==="enum"&&Array.isArray(t.values)?(e.type="string",e.enum=t.values):r==="integer"?e.type="integer":r==="number"?e.type="number":r==="boolean"?e.type="boolean":r==="string"?e.type="string":e.type=["string","number","boolean"],Array.isArray(t.range)&&t.range.length===2&&(e.minimum=t.range[0],e.maximum=t.range[1]),typeof t.format=="string"&&(e.description=`Format: ${t.format}`),typeof t.unit=="string"&&(e.description?e.description+=` (${t.unit})`:e.description=`Unit: ${t.unit}`),e}function Yr(t,e){let r=t.describe({actor:e,detail:"full"}),n=[],o=[],a=[];for(let[s,i]of Object.entries(r.nodes)){if(i.type!=="state"||s.includes("::__meta__::")||i.status==="completed"||i.status==="errored")continue;let u=i.meta??{},l=u.access;if(l==="human"||l==="system")continue;let d=u.description??`Set the value of ${s}`,m=zr(u),p={type:"object",required:["value"],properties:{value:m},additionalProperties:!1},c=s.replace(/::/g,"__");n.push({type:"function",function:{name:c,description:d,parameters:p}}),o.push({name:s,description:d,inputSchema:p});let g=t,y=e,f=i.v;a.push({name:s,description:d,parameters:p,handler(h){return g.set(s,h.value,y?{actor:y}:void 0),h.value},...f!=null?{version:{id:f.id,version:f.version}}:{}})}return{openai:n,mcp:o,definitions:a}}var Jr=`You are a reactive graph optimizer for GraphReFly.
41
+
42
+ Given a graph's current structure (from describe()) and a problem statement, suggest topology and parameter changes to solve the problem.
43
+
44
+ Return ONLY valid JSON with this structure:
45
+ {
46
+ "summary": "<one-line summary of the strategy>",
47
+ "reasoning": "<explanation of why these changes help>",
48
+ "operations": [
49
+ { "type": "add_node", "name": "<name>", "nodeType": "state|derived|effect|producer|operator", "meta": {...}, "initial": <value> },
50
+ { "type": "remove_node", "name": "<name>" },
51
+ { "type": "connect", "from": "<source>", "to": "<target>" },
52
+ { "type": "disconnect", "from": "<source>", "to": "<target>" },
53
+ { "type": "set_value", "name": "<name>", "value": <new_value> },
54
+ { "type": "update_meta", "name": "<name>", "key": "<meta_key>", "value": <new_value> }
55
+ ]
56
+ }
57
+
58
+ Rules:
59
+ - Only suggest operations that reference existing nodes (for remove/disconnect/set_value/update_meta) or new nodes you define (for add_node).
60
+ - Keep changes minimal \u2014 prefer the smallest set of operations that solves the problem.
61
+ - Return ONLY valid JSON, no markdown fences or commentary.`;async function Wt(t,e,r,n){let{expand:o,...a}=t.describe({actor:n?.actor,detail:"standard"}),s=[{role:"system",content:Jr},{role:"user",content:JSON.stringify({graph:a,problem:e})}],i=r.invoke(s,{model:n?.model,temperature:n?.temperature??0,maxTokens:n?.maxTokens,signal:n?.signal}),l=(await Me(i)).content.trim();l.startsWith("```")&&(l=l.replace(/^```(?:json)?\s*/,"").replace(/\s*```$/,""));let d;try{d=JSON.parse(l)}catch{throw new Error(`suggestStrategy: LLM response is not valid JSON: ${l.slice(0,200)}`)}let m=d;if(typeof m.summary!="string")throw new Error("suggestStrategy: missing 'summary' in response");if(typeof m.reasoning!="string")throw new Error("suggestStrategy: missing 'reasoning' in response");if(!Array.isArray(m.operations))throw new Error("suggestStrategy: missing 'operations' array in response");return{summary:m.summary,reasoning:m.reasoning,operations:m.operations}}function Qr(t,e,r,n){let o=k(e),a=mt(o,t);return $(a,s=>{if(s==null)return w(null);let[i,u]=s;return!u||!i||typeof i!="string"||i.trim().length===0?w(null):u.destroyed?w(null):Q(l=>{let d=new AbortController,m=!1;return Wt(u,i,r,{...n,signal:d.signal}).then(p=>{m||(l.emit(p),l.down([[q]]))}).catch(p=>{m||l.down([[W,p]])}),()=>{m=!0,d.abort()}},{name:"suggestStrategy::call"})})}var Kt=new Set(["state","derived","producer","operator","effect"]);function Xr(t){let e=[];if(t==null||typeof t!="object")return{valid:!1,errors:["Definition must be a non-null object"]};let r=t;if((typeof r.name!="string"||r.name.length===0)&&e.push("Missing or empty 'name' field"),r.nodes==null||typeof r.nodes!="object"||Array.isArray(r.nodes))return e.push("Missing or invalid 'nodes' field (must be an object)"),{valid:!1,errors:e};let n=new Set(Object.keys(r.nodes));for(let[o,a]of Object.entries(r.nodes)){if(a==null||typeof a!="object"){e.push(`Node "${o}": must be an object`);continue}let s=a;if((typeof s.type!="string"||!Kt.has(s.type))&&e.push(`Node "${o}": invalid type "${String(s.type)}" (expected: ${[...Kt].join(", ")})`),Array.isArray(s.deps))for(let i of s.deps)typeof i=="string"&&!n.has(i)&&e.push(`Node "${o}": dep "${i}" does not reference an existing node`)}if(!Array.isArray(r.edges))r.edges!==void 0&&e.push("'edges' must be an array");else{let o=new Set;for(let a=0;a<r.edges.length;a++){let s=r.edges[a];if(s==null||typeof s!="object"){e.push(`Edge [${a}]: must be an object`);continue}let i=s;(typeof i.from!="string"||!n.has(i.from))&&e.push(`Edge [${a}]: 'from' "${String(i.from)}" does not reference an existing node`),(typeof i.to!="string"||!n.has(i.to))&&e.push(`Edge [${a}]: 'to' "${String(i.to)}" does not reference an existing node`);let u=`${i.from}->${i.to}`;o.has(u)&&e.push(`Edge [${a}]: duplicate edge ${u}`),o.add(u)}}return{valid:e.length===0,errors:e}}export{nr as a,or as b,Ae as c,We as d,sr as e,ir as f,lr as g,dr as h,Ke as i,Ce as j,Ue as k,mr as l,qe as m,ze as n,Ye as o,ge as p,Je as q,Mr as r,ye as s,co as t,xr as u,Xe as v,Ze as w,et as x,tt as y,Lr as z,Nr as A,Ar as B,Sr as C,Or as D,Ir as E,Pr as F,_r as G,jr as H,Ie as I,rt as J,Fr as K,nt as L,De as M,ot as N,$r as O,Gt as P,Wr as Q,at as R,st as S,it as T,lt as U,Pe as V,Vr as W,Ur as X,qr as Y,$t as Z,Hr as _,Yr as $,Wt as aa,Qr as ba,Xr as ca,Zr as da};