@graphrefly/graphrefly 0.38.0 → 0.39.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 (314) hide show
  1. package/dist/budget-gate-CmmVtasH.d.ts +115 -0
  2. package/dist/budget-gate-DiP_nK0n.d.cts +115 -0
  3. package/dist/{cascading-BsJ4GbnS.d.ts → cascading-BzuxW0_w.d.cts} +2 -2
  4. package/dist/{cascading-B25wxpRa.d.cts → cascading-g2_rhhaM.d.ts} +2 -2
  5. package/dist/chunk-35JTVPOX.js +1 -0
  6. package/dist/chunk-3G5U5QNE.js +5 -0
  7. package/dist/{chunk-PHXZRR6C.js → chunk-4I45FVQS.js} +1 -1
  8. package/dist/chunk-5LK7XMEV.js +1 -0
  9. package/dist/{chunk-FWGIZP3W.js → chunk-5XRI6RM3.js} +1 -1
  10. package/dist/chunk-73PBQNST.js +1 -0
  11. package/dist/chunk-7JRF5YEK.js +3 -0
  12. package/dist/{chunk-4BDQXBXE.js → chunk-7NZMZJMW.js} +1 -1
  13. package/dist/chunk-7QFRK3N3.js +84 -0
  14. package/dist/{chunk-POCWFIJ7.js → chunk-7SD73DS6.js} +1 -1
  15. package/dist/{chunk-NBGPXQSP.js → chunk-A6ZSKGUG.js} +1 -1
  16. package/dist/{chunk-7KZZLWZ6.js → chunk-AU7YTQX7.js} +1 -1
  17. package/dist/chunk-C72GO4IZ.js +1 -0
  18. package/dist/{chunk-B5S7KTGP.js → chunk-CGDMTXSY.js} +1 -1
  19. package/dist/chunk-D27JNOLZ.js +1 -0
  20. package/dist/chunk-D47YVDR5.js +1 -0
  21. package/dist/chunk-EWF7KCDJ.js +61 -0
  22. package/dist/{chunk-IBGE62GZ.js → chunk-GEAO3TL3.js} +1 -1
  23. package/dist/chunk-GX5LSSRE.js +1 -0
  24. package/dist/{chunk-O245YLM5.js → chunk-HAWKGIXM.js} +1 -1
  25. package/dist/chunk-HX3EGQ5Z.js +1 -0
  26. package/dist/{chunk-RZ5HKPGI.js → chunk-IA7DUNGB.js} +1 -1
  27. package/dist/{chunk-K5C67OGE.js → chunk-INH6FS2G.js} +2 -2
  28. package/dist/chunk-INHC33EH.js +1 -0
  29. package/dist/chunk-IUB4NYI2.js +1 -0
  30. package/dist/{chunk-UVLZX2OU.js → chunk-JNMC2WJ6.js} +1 -1
  31. package/dist/{chunk-O2BLVQU4.js → chunk-KD4NHLMU.js} +1 -1
  32. package/dist/chunk-L6NSJVJZ.js +1 -0
  33. package/dist/{chunk-6773HURD.js → chunk-L7WY6TZS.js} +1 -1
  34. package/dist/chunk-LQNOXGET.js +1 -0
  35. package/dist/chunk-MC4UYY2X.js +1 -0
  36. package/dist/{chunk-6KZZ6XQE.js → chunk-N7UIBZCW.js} +1 -1
  37. package/dist/chunk-NQI2C36M.js +1 -0
  38. package/dist/chunk-R75BMDLA.js +1 -0
  39. package/dist/chunk-RF3QZP6D.js +1 -0
  40. package/dist/{chunk-NV63VQHI.js → chunk-S2U57TFC.js} +1 -1
  41. package/dist/{chunk-SP5O2MIX.js → chunk-SC7BQDNP.js} +1 -1
  42. package/dist/{chunk-6VFC334U.js → chunk-TFPZLQ5H.js} +1 -1
  43. package/dist/chunk-VJJLIEAL.js +1 -0
  44. package/dist/{chunk-FAYEMS5M.js → chunk-WHIZM6JV.js} +1 -1
  45. package/dist/chunk-XEUANKBO.js +43 -0
  46. package/dist/{chunk-DSOVKKTI.js → chunk-XQ55HO5N.js} +1 -1
  47. package/dist/chunk-ZJ7SM3G2.js +1 -0
  48. package/dist/{chunk-TMVY7OWG.js → chunk-ZOX3LBRV.js} +1 -1
  49. package/dist/compat/index.cjs +9 -13
  50. package/dist/compat/index.d.cts +16 -16
  51. package/dist/compat/index.d.ts +16 -16
  52. package/dist/compat/index.js +1 -1
  53. package/dist/compat/jotai/index.d.cts +2 -2
  54. package/dist/compat/jotai/index.d.ts +2 -2
  55. package/dist/compat/nanostores/index.d.cts +2 -2
  56. package/dist/compat/nanostores/index.d.ts +2 -2
  57. package/dist/compat/nestjs/index.cjs +7 -11
  58. package/dist/compat/nestjs/index.d.cts +8 -8
  59. package/dist/compat/nestjs/index.d.ts +8 -8
  60. package/dist/compat/nestjs/index.js +1 -1
  61. package/dist/compat/react/index.d.cts +2 -2
  62. package/dist/compat/react/index.d.ts +2 -2
  63. package/dist/compat/solid/index.d.cts +2 -2
  64. package/dist/compat/solid/index.d.ts +2 -2
  65. package/dist/compat/svelte/index.d.cts +2 -2
  66. package/dist/compat/svelte/index.d.ts +2 -2
  67. package/dist/compat/vue/index.d.cts +2 -2
  68. package/dist/compat/vue/index.d.ts +2 -2
  69. package/dist/compat/zustand/index.cjs +3 -7
  70. package/dist/compat/zustand/index.d.cts +4 -4
  71. package/dist/compat/zustand/index.d.ts +4 -4
  72. package/dist/compat/zustand/index.js +1 -1
  73. package/dist/{composite-CgG0MqHm.d.cts → composite-CKd0e2vz.d.cts} +2 -2
  74. package/dist/{composite-DTOlDuch.d.ts → composite-DGatA-JK.d.ts} +2 -2
  75. package/dist/core/index.cjs +1 -1
  76. package/dist/core/index.d.cts +4 -4
  77. package/dist/core/index.d.ts +4 -4
  78. package/dist/core/index.js +1 -1
  79. package/dist/extra/browser.d.cts +1 -1
  80. package/dist/extra/browser.d.ts +1 -1
  81. package/dist/extra/index.cjs +16 -20
  82. package/dist/extra/index.d.cts +11 -9
  83. package/dist/extra/index.d.ts +11 -9
  84. package/dist/extra/index.js +1 -1
  85. package/dist/extra/node.cjs +2 -2
  86. package/dist/extra/node.d.cts +1 -1
  87. package/dist/extra/node.d.ts +1 -1
  88. package/dist/extra/node.js +1 -1
  89. package/dist/extra/operators.cjs +1 -1
  90. package/dist/extra/operators.d.cts +1 -1
  91. package/dist/extra/operators.d.ts +1 -1
  92. package/dist/extra/operators.js +1 -1
  93. package/dist/extra/reactive.cjs +1 -1
  94. package/dist/extra/reactive.d.cts +3 -3
  95. package/dist/extra/reactive.d.ts +3 -3
  96. package/dist/extra/reactive.js +1 -1
  97. package/dist/extra/render/index.cjs +5 -0
  98. package/dist/extra/render/index.d.cts +183 -0
  99. package/dist/extra/render/index.d.ts +183 -0
  100. package/dist/extra/render/index.js +1 -0
  101. package/dist/extra/sources.cjs +1 -1
  102. package/dist/extra/sources.d.cts +1 -1
  103. package/dist/extra/sources.d.ts +1 -1
  104. package/dist/extra/sources.js +1 -1
  105. package/dist/extra/storage-browser.d.cts +1 -1
  106. package/dist/extra/storage-browser.d.ts +1 -1
  107. package/dist/{fallback-axI2cXwt.d.cts → fallback-8JYU8tlT.d.cts} +1 -1
  108. package/dist/{fallback-DuEXfA4F.d.ts → fallback-CMZl39L5.d.ts} +1 -1
  109. package/dist/graph/index.cjs +7 -7
  110. package/dist/graph/index.d.cts +5 -5
  111. package/dist/graph/index.d.ts +5 -5
  112. package/dist/graph/index.js +1 -1
  113. package/dist/{graph-BjW1taJl.d.ts → graph-30XSgtVX.d.ts} +76 -100
  114. package/dist/{graph-CHsVwf9S.d.cts → graph-BUwMAxJI.d.cts} +76 -100
  115. package/dist/{index-CIcu6fIR.d.ts → index-2n8Eai6M.d.ts} +1 -1
  116. package/dist/{index-CrlHFsiT.d.ts → index-89FczVZ_.d.ts} +41 -85
  117. package/dist/{index-CM-i58FY.d.cts → index-8R1vzNOx.d.cts} +9 -9
  118. package/dist/{index-CDvC1m5p.d.ts → index-B2RUoIUz.d.ts} +1 -1
  119. package/dist/{index-BFaALJxR.d.ts → index-B41Asm7D.d.ts} +10 -8
  120. package/dist/{index-D-HZ7sP4.d.ts → index-B9fmw5n2.d.ts} +4 -6
  121. package/dist/{index-Bn0uZEL4.d.ts → index-BAlaVimV.d.ts} +9 -9
  122. package/dist/{index-DJVQ-t07.d.ts → index-BC9VybQs.d.ts} +41 -48
  123. package/dist/{index-5dNRlW7J.d.ts → index-BEHmxORq.d.ts} +11 -11
  124. package/dist/{index-DJNAWzcH.d.cts → index-BJ26eEjs.d.cts} +26 -19
  125. package/dist/{index-BiomL7AW.d.ts → index-BJSZxSFX.d.ts} +1 -1
  126. package/dist/{index-Czk3r0yA.d.cts → index-BKMdnYnk.d.ts} +56 -54
  127. package/dist/{index-BsZk9T8y.d.ts → index-BM9szD8n.d.cts} +14 -6
  128. package/dist/{index-BmWuVdER.d.ts → index-BUPVld1w.d.ts} +2 -2
  129. package/dist/{index-BwOsJfLJ.d.ts → index-BXd6OMEy.d.ts} +3 -3
  130. package/dist/index-BhUaMYm_.d.ts +113 -0
  131. package/dist/{index-BpMZzX9P.d.cts → index-BndG0cpK.d.cts} +3 -3
  132. package/dist/{index-AUqWe_fX.d.ts → index-Br3WnqEn.d.ts} +81 -9
  133. package/dist/{index-BhzwpIJc.d.cts → index-BskfDoZ_.d.ts} +14 -6
  134. package/dist/{index-D9vBTuzo.d.ts → index-C19qqa38.d.ts} +4 -4
  135. package/dist/{index-B-ORMr3k.d.ts → index-C7VV_qOs.d.ts} +4 -4
  136. package/dist/{index-BWUMIt7J.d.cts → index-CIRG8Hxp.d.cts} +11 -11
  137. package/dist/{index-B3D_z0Z6.d.cts → index-CL7oilfm.d.cts} +1 -1
  138. package/dist/{index-ML6vHKXK.d.ts → index-CPhBvRJU.d.ts} +1 -1
  139. package/dist/{index-CQsqqEVz.d.cts → index-CWHtYmSh.d.cts} +1 -1
  140. package/dist/{index-DKrIuF-r.d.ts → index-Cey6VTnX.d.ts} +8 -5
  141. package/dist/{resilience-BWP2c7Af.d.cts → index-CmqiJZKM.d.ts} +141 -23
  142. package/dist/{index-JYtN9uqM.d.ts → index-CoM4rzyB.d.ts} +1 -1
  143. package/dist/{index-C56XZiDe.d.cts → index-CpLpJb6A.d.cts} +8 -5
  144. package/dist/{index-BjWZARLy.d.ts → index-Ctb7_2sG.d.ts} +1 -1
  145. package/dist/index-CusEP3Sv.d.ts +210 -0
  146. package/dist/{resilience-Bys63Cpd.d.ts → index-CwP_KAMS.d.cts} +141 -23
  147. package/dist/{index-BFuVcqL8.d.cts → index-D3ayz3hy.d.cts} +1 -1
  148. package/dist/{index-Bpr0Pwgl.d.cts → index-DCbE8fFM.d.cts} +3 -3
  149. package/dist/{index-CAbHN_rP.d.cts → index-DIHcMLr6.d.cts} +1 -1
  150. package/dist/index-DINuaZlJ.d.cts +210 -0
  151. package/dist/{index-9xhIaM-w.d.cts → index-DOBLxOti.d.cts} +1 -1
  152. package/dist/{index-Di7OdwlO.d.ts → index-DQUVq1_d.d.ts} +37 -90
  153. package/dist/{index-BgzPO43H.d.cts → index-DTtBpuQy.d.cts} +4 -6
  154. package/dist/{index-D_QQ_dTD.d.cts → index-DYTBbF8T.d.cts} +1 -1
  155. package/dist/{index-UsU9ptzs.d.cts → index-DlgHqQxW.d.cts} +81 -9
  156. package/dist/{index-DTDVDzhA.d.ts → index-DlrWu9Hs.d.cts} +56 -54
  157. package/dist/{index-B2IUcH13.d.cts → index-DoYc8BWK.d.cts} +41 -48
  158. package/dist/{index-BUFCHvOR.d.ts → index-DszPlZzK.d.ts} +3 -3
  159. package/dist/{index-BqcgiSQg.d.cts → index-DyM4tFAe.d.cts} +10 -8
  160. package/dist/{index-CAV-3RpJ.d.cts → index-FVoPvhAu.d.cts} +4 -4
  161. package/dist/{index-Ckil6miL.d.cts → index-H_I66pav.d.cts} +2 -2
  162. package/dist/{index-C-3UXnHT.d.cts → index-IwFqHxCs.d.cts} +2 -2
  163. package/dist/index-K-vl_c6A.d.cts +113 -0
  164. package/dist/{index-CijfwEWx.d.ts → index-KlZ_ZUip.d.cts} +3 -3
  165. package/dist/{index-Bub6x_D4.d.cts → index-L8XI8Zql.d.cts} +37 -90
  166. package/dist/{index-DeSsvHDD.d.cts → index-MxYuWOrf.d.cts} +3 -3
  167. package/dist/{index-CpZKtdMw.d.cts → index-PgwvGWa1.d.cts} +1 -1
  168. package/dist/{index-Vz7KPfgz.d.ts → index-PlJ3MraE.d.ts} +1 -1
  169. package/dist/{index-BI1wMfyc.d.ts → index-PqbnoScQ.d.ts} +3 -3
  170. package/dist/{index-BsgxnHN8.d.cts → index-PsVHpPwP.d.cts} +3 -3
  171. package/dist/{index-D-B7U42V.d.cts → index-WyFKER-c.d.ts} +3 -3
  172. package/dist/{index-DY2f2b9z.d.ts → index-eaQuGJnv.d.ts} +3 -3
  173. package/dist/{index-DqICM_I7.d.ts → index-iTX5IqSP.d.ts} +67 -9
  174. package/dist/{index-Byp771zP.d.ts → index-jKLph6cu.d.ts} +2 -2
  175. package/dist/{index-CEVzBWeB.d.ts → index-jr6PuSBt.d.ts} +26 -19
  176. package/dist/{index-BkQqf1EF.d.cts → index-mNwgxC21.d.cts} +67 -9
  177. package/dist/{index-BaSy4L6w.d.cts → index-pVDQcbar.d.cts} +41 -85
  178. package/dist/{index-D7-RSD93.d.cts → index-xZYcDqFH.d.cts} +4 -4
  179. package/dist/{index-8OxXae3g.d.ts → index-yLt-aPMp.d.ts} +1 -1
  180. package/dist/{index-CqSJ25A9.d.cts → index-z8WFPVI8.d.cts} +1 -1
  181. package/dist/index.cjs +63 -59
  182. package/dist/index.d.cts +48 -47
  183. package/dist/index.d.ts +48 -47
  184. package/dist/index.js +1 -1
  185. package/dist/{meta-DreaEM_a.d.cts → meta-Ct9nqQS5.d.cts} +11 -7
  186. package/dist/{meta-BYqlATmg.d.ts → meta-D8OyedKp.d.ts} +11 -7
  187. package/dist/{node-fSc-hCv8.d.cts → node-BYInONRr.d.cts} +3 -3
  188. package/dist/{node-fSc-hCv8.d.ts → node-BYInONRr.d.ts} +3 -3
  189. package/dist/{observable-Cqty11jG.d.cts → observable-DMIlYJV1.d.cts} +1 -1
  190. package/dist/{observable-EAV_rNfM.d.ts → observable-DO8DDEzv.d.ts} +1 -1
  191. package/dist/patterns/ai/browser.cjs +5 -5
  192. package/dist/patterns/ai/browser.d.cts +4 -4
  193. package/dist/patterns/ai/browser.d.ts +4 -4
  194. package/dist/patterns/ai/browser.js +1 -1
  195. package/dist/patterns/ai/index.cjs +16 -20
  196. package/dist/patterns/ai/index.d.cts +17 -17
  197. package/dist/patterns/ai/index.d.ts +17 -17
  198. package/dist/patterns/ai/index.js +1 -1
  199. package/dist/patterns/ai/node.cjs +1 -1
  200. package/dist/patterns/ai/node.d.cts +4 -4
  201. package/dist/patterns/ai/node.d.ts +4 -4
  202. package/dist/patterns/ai/node.js +1 -1
  203. package/dist/patterns/audit/index.cjs +3 -7
  204. package/dist/patterns/audit/index.d.cts +6 -6
  205. package/dist/patterns/audit/index.d.ts +6 -6
  206. package/dist/patterns/audit/index.js +1 -1
  207. package/dist/patterns/cqrs/index.cjs +3 -7
  208. package/dist/patterns/cqrs/index.d.cts +6 -6
  209. package/dist/patterns/cqrs/index.d.ts +6 -6
  210. package/dist/patterns/cqrs/index.js +1 -1
  211. package/dist/patterns/demo-shell/index.cjs +5 -8
  212. package/dist/patterns/demo-shell/index.d.cts +5 -5
  213. package/dist/patterns/demo-shell/index.d.ts +5 -5
  214. package/dist/patterns/demo-shell/index.js +1 -1
  215. package/dist/patterns/domain-templates/index.cjs +3 -7
  216. package/dist/patterns/domain-templates/index.d.cts +4 -4
  217. package/dist/patterns/domain-templates/index.d.ts +4 -4
  218. package/dist/patterns/domain-templates/index.js +1 -1
  219. package/dist/patterns/graphspec/index.cjs +37 -37
  220. package/dist/patterns/graphspec/index.d.cts +5 -5
  221. package/dist/patterns/graphspec/index.d.ts +5 -5
  222. package/dist/patterns/graphspec/index.js +1 -1
  223. package/dist/patterns/guarded-execution/index.cjs +3 -7
  224. package/dist/patterns/guarded-execution/index.d.cts +7 -7
  225. package/dist/patterns/guarded-execution/index.d.ts +7 -7
  226. package/dist/patterns/guarded-execution/index.js +1 -1
  227. package/dist/patterns/harness/index.cjs +8 -12
  228. package/dist/patterns/harness/index.d.cts +12 -12
  229. package/dist/patterns/harness/index.d.ts +12 -12
  230. package/dist/patterns/harness/index.js +1 -1
  231. package/dist/patterns/job-queue/index.cjs +3 -7
  232. package/dist/patterns/job-queue/index.d.cts +6 -6
  233. package/dist/patterns/job-queue/index.d.ts +6 -6
  234. package/dist/patterns/job-queue/index.js +1 -1
  235. package/dist/patterns/lens/index.cjs +3 -7
  236. package/dist/patterns/lens/index.d.cts +6 -6
  237. package/dist/patterns/lens/index.d.ts +6 -6
  238. package/dist/patterns/lens/index.js +1 -1
  239. package/dist/patterns/memory/index.cjs +3 -7
  240. package/dist/patterns/memory/index.d.cts +6 -6
  241. package/dist/patterns/memory/index.d.ts +6 -6
  242. package/dist/patterns/memory/index.js +1 -1
  243. package/dist/patterns/messaging/index.cjs +3 -7
  244. package/dist/patterns/messaging/index.d.cts +5 -5
  245. package/dist/patterns/messaging/index.d.ts +5 -5
  246. package/dist/patterns/messaging/index.js +1 -1
  247. package/dist/patterns/orchestration/index.cjs +3 -7
  248. package/dist/patterns/orchestration/index.d.cts +8 -8
  249. package/dist/patterns/orchestration/index.d.ts +8 -8
  250. package/dist/patterns/orchestration/index.js +1 -1
  251. package/dist/patterns/process/index.cjs +1 -1
  252. package/dist/patterns/process/index.d.cts +7 -7
  253. package/dist/patterns/process/index.d.ts +7 -7
  254. package/dist/patterns/process/index.js +1 -1
  255. package/dist/patterns/reactive-layout/index.cjs +4 -8
  256. package/dist/patterns/reactive-layout/index.d.cts +5 -5
  257. package/dist/patterns/reactive-layout/index.d.ts +5 -5
  258. package/dist/patterns/reactive-layout/index.js +1 -1
  259. package/dist/patterns/reduction/index.cjs +3 -7
  260. package/dist/patterns/reduction/index.d.cts +4 -4
  261. package/dist/patterns/reduction/index.d.ts +4 -4
  262. package/dist/patterns/reduction/index.js +1 -1
  263. package/dist/patterns/refine-loop/index.cjs +5 -9
  264. package/dist/patterns/refine-loop/index.d.cts +6 -6
  265. package/dist/patterns/refine-loop/index.d.ts +6 -6
  266. package/dist/patterns/refine-loop/index.js +1 -1
  267. package/dist/patterns/resilient-pipeline/index.cjs +1 -1
  268. package/dist/patterns/resilient-pipeline/index.d.cts +4 -8
  269. package/dist/patterns/resilient-pipeline/index.d.ts +4 -8
  270. package/dist/patterns/resilient-pipeline/index.js +1 -1
  271. package/dist/patterns/surface/index.cjs +12 -16
  272. package/dist/patterns/surface/index.d.cts +6 -6
  273. package/dist/patterns/surface/index.d.ts +6 -6
  274. package/dist/patterns/surface/index.js +1 -1
  275. package/dist/{pipeline-graph-DuHpXSOn.d.cts → pipeline-graph-BQPr2Lqs.d.cts} +34 -17
  276. package/dist/{pipeline-graph-9JBbmRxA.d.ts → pipeline-graph-D8vKcO_p.d.ts} +34 -17
  277. package/dist/{reactive-layout-BMLDB4Vd.d.cts → reactive-layout-8CSc0tiA.d.cts} +2 -2
  278. package/dist/{reactive-layout-D-tRiNhg.d.ts → reactive-layout-DkTXxtSy.d.ts} +2 -2
  279. package/dist/{reactive-log-BgWSA1fg.d.ts → reactive-log-BlAsPLl2.d.ts} +2 -2
  280. package/dist/{reactive-log-C3IMAGpT.d.cts → reactive-log-_zeEnB9H.d.cts} +2 -2
  281. package/dist/{reactive-map-DmgeADH8.d.cts → reactive-map-B2qfD3hb.d.cts} +1 -1
  282. package/dist/{reactive-map-CHyeCf4D.d.ts → reactive-map-jFIsE6Kt.d.ts} +1 -1
  283. package/dist/resilience-HTF2LBRS.js +1 -0
  284. package/dist/{sugar-D13E2M_z.d.ts → sugar-BhfjgetH.d.ts} +1 -1
  285. package/dist/{sugar-DgaGJcI6.d.cts → sugar-DzePN5-g.d.cts} +1 -1
  286. package/dist/{topology-tree-jrZue3ao.d.cts → topology-tree-B5Ngw3j0.d.cts} +1 -1
  287. package/dist/{topology-tree-D47-nI6Z.d.ts → topology-tree-BtvbgMXJ.d.ts} +1 -1
  288. package/dist/{types-BMSGPlpO.d.cts → types-1Dhoi7HM.d.cts} +1 -1
  289. package/dist/{types-CidcBDuk.d.ts → types-39jk0kaV.d.ts} +1 -1
  290. package/package.json +11 -1
  291. package/dist/chunk-2YFDSYEF.js +0 -1
  292. package/dist/chunk-5BGFS2XH.js +0 -1
  293. package/dist/chunk-CMTN3KPT.js +0 -80
  294. package/dist/chunk-DQJLC6YY.js +0 -1
  295. package/dist/chunk-G7JN6LCB.js +0 -1
  296. package/dist/chunk-KJEAIIIY.js +0 -43
  297. package/dist/chunk-LV3ACS5J.js +0 -1
  298. package/dist/chunk-NN3QPJ6U.js +0 -1
  299. package/dist/chunk-NSAZ6PR6.js +0 -1
  300. package/dist/chunk-O32GJOUJ.js +0 -1
  301. package/dist/chunk-QEVSIVSF.js +0 -1
  302. package/dist/chunk-QMC2PLNM.js +0 -7
  303. package/dist/chunk-QOJFR6GS.js +0 -1
  304. package/dist/chunk-SFK7MN7S.js +0 -1
  305. package/dist/chunk-TB7JKSVS.js +0 -61
  306. package/dist/chunk-UAXFKMAG.js +0 -1
  307. package/dist/chunk-XIMFHEKV.js +0 -1
  308. package/dist/chunk-XLMYQB6F.js +0 -1
  309. package/dist/chunk-XLYF4LBH.js +0 -1
  310. package/dist/imperative-audit-ahAE65a9.d.cts +0 -28
  311. package/dist/imperative-audit-ahAE65a9.d.ts +0 -28
  312. package/dist/index-CpdnP-0y.d.cts +0 -186
  313. package/dist/index-DOU1Ee_k.d.ts +0 -186
  314. package/dist/resilience-LGBK236C.js +0 -1
@@ -0,0 +1,84 @@
1
+ import{b as X}from"./chunk-LQNOXGET.js";import{g as Q,i as U}from"./chunk-7JRF5YEK.js";import{E as z,F as W,G as Y,H as V}from"./chunk-LYCLF26R.js";import{b as ie}from"./chunk-QYADASLV.js";var he={};ie(he,{compileSpec:()=>ue,decompileSpec:()=>me,extractFnFactory:()=>te,extractSourceFactory:()=>ne,generateCatalogPrompt:()=>oe,isRichFnEntry:()=>T,isRichSourceEntry:()=>I,llmCompose:()=>ye,llmRefine:()=>ae,specDiff:()=>ge,validateSpec:()=>q,validateSpecAgainstCatalog:()=>K});function M(n){let e=n.meta?.factory;return typeof e=="string"?e:void 0}function C(n){let e=n.meta?.factoryArgs;return e!=null&&typeof e=="object"?e:{}}function Z(n){let e=C(n);return"initial"in e?e.initial:n.value}function T(n){return typeof n=="object"&&n!==null&&"factory"in n}function I(n){return typeof n=="object"&&n!==null&&"factory"in n}function te(n){return T(n)?n.factory:n}function ne(n){return I(n)?n.factory:n}function oe(n){let e=[];if(n.fns){let o=new Map;for(let[s,f]of Object.entries(n.fns)){let p=T(f)?f.tags?.[0]??"Other":"Other";o.has(p)||o.set(p,[]),o.get(p).push(ce(s,f))}for(let[s,f]of o)e.push(`${s}:
2
+ ${f.join(`
3
+ `)}`)}if(n.sources){let o=[];for(let[s,f]of Object.entries(n.sources))o.push(pe(s,f));o.length>0&&e.push(`Sources:
4
+ ${o.join(`
5
+ `)}`)}return e.join(`
6
+
7
+ `)}function ce(n,e){if(!T(e))return`- ${n}`;let o=`- ${n}: ${e.description}`;if(e.configSchema){let s=Object.entries(e.configSchema).map(([f,p])=>{let u=`${f}: ${p.type}`;return p.enum&&(u+=` (${p.enum.join("|")})`),p.required===!1&&(u+="?"),u});o+=`. Config: { ${s.join(", ")} }`}return o}function pe(n,e){if(!I(e))return`- ${n}`;let o=`- ${n}: ${e.description}`;if(e.configSchema){let s=Object.entries(e.configSchema).map(([f,p])=>{let u=`${f}: ${p.type}`;return p.required===!1&&(u+="?"),u});o+=`. Config: { ${s.join(", ")} }`}return o}function K(n,e){let o=[],s=new Set(Object.keys(e.fns??{})),f=new Set(Object.keys(e.sources??{}));for(let[p,u]of Object.entries(n.nodes)){if(u.type==="template")continue;let i=u,r=M(i);if(r==null)continue;let t=i.type==="producer";if(i.type==="state"&&r==="state")continue;if(t){let h=f.has(r),l=s.has(r);if(!h&&!l&&(f.size>0||s.size>0)){let b=J(r,f)??J(r,s);o.push(`Node "${p}": source "${r}" not found in catalog`+(b?`. Did you mean "${b}"?`:""))}}else if(s.size>0&&!s.has(r))if(f.has(r))o.push(`Node "${p}": fn "${r}" is a source, not a function. Use it as a producer source instead, or use a function from: ${[...s].join(", ")}`);else{let h=J(r,s);o.push(`Node "${p}": fn "${r}" not found in catalog`+(h?`. Did you mean "${h}"?`:""))}let m=C(i);if(!t&&e.fns?.[r]){let h=e.fns[r];if(T(h)&&h.configSchema){for(let[l,b]of Object.entries(h.configSchema))if(b.required!==!1&&!(l in m)&&o.push(`Node "${p}": config missing required field "${l}"`),l in m&&b.enum){let S=m[l];b.enum.includes(S)||o.push(`Node "${p}": config.${l} = ${JSON.stringify(S)}, expected one of: ${b.enum.join(", ")}`)}}}if(t&&e.sources?.[r]){let h=e.sources[r];if(I(h)&&h.configSchema){for(let[l,b]of Object.entries(h.configSchema))if(b.required!==!1&&!(l in m)&&o.push(`Node "${p}": config missing required field "${l}"`),l in m&&b.enum){let S=m[l];b.enum.includes(S)||o.push(`Node "${p}": config.${l} = ${JSON.stringify(S)}, expected one of: ${b.enum.join(", ")}`)}}}}if(n.templates)for(let[p,u]of Object.entries(n.templates))for(let[i,r]of Object.entries(u.nodes)){let t=M(r);if(t!=null&&!(r.type==="state"&&t==="state")&&r.type!=="producer"&&s.size>0&&!s.has(t)){let m=J(t,s);o.push(`Template "${p}" node "${i}": fn "${t}" not found in catalog`+(m?`. Did you mean "${m}"?`:""))}}return{valid:o.length===0,errors:o,warnings:[]}}function J(n,e){let o=null,s=1/0,f=n.toLowerCase();for(let p of e){let u=fe(f,p.toLowerCase());u<s&&u<=Math.max(3,Math.floor(n.length/2))&&(s=u,o=p)}return o}function fe(n,e){let o=n.length,s=e.length,f=Array.from({length:o+1},(p,u)=>Array.from({length:s+1},(i,r)=>u===0?r:r===0?u:0));for(let p=1;p<=o;p++)for(let u=1;u<=s;u++)f[p][u]=n[p-1]===e[u-1]?f[p-1][u-1]:1+Math.min(f[p-1][u],f[p][u-1],f[p-1][u-1]);return f[o][s]}var ee=new Set(["state","producer","derived","effect","operator","template"]),de=new Set(["state","producer","derived","effect","operator"]);function q(n){let e=[],o=[];if(n==null||typeof n!="object")return{valid:!1,errors:["GraphSpec must be a non-null object"],warnings:o};let s=n;if((typeof s.name!="string"||s.name.length===0)&&e.push("Missing or empty 'name' field"),s.nodes==null||typeof s.nodes!="object"||Array.isArray(s.nodes))return e.push("Missing or invalid 'nodes' field (must be an object)"),{valid:!1,errors:e,warnings:o};let f=new Set(Object.keys(s.nodes)),p=new Map,u=new Map;if(s.templates!=null&&typeof s.templates=="object"&&!Array.isArray(s.templates)){for(let[i,r]of Object.entries(s.templates))if(r!=null&&typeof r=="object"){let t=r;u.set(i,{params:Array.isArray(t.params)?t.params:[]})}}if(s.templates!=null)if(typeof s.templates!="object"||Array.isArray(s.templates))e.push("'templates' must be an object");else for(let[i,r]of Object.entries(s.templates)){if(r==null||typeof r!="object"){e.push(`Template "${i}": must be an object`);continue}let t=r;if(Array.isArray(t.params)||e.push(`Template "${i}": missing 'params' array`),t.nodes==null||typeof t.nodes!="object"||Array.isArray(t.nodes))e.push(`Template "${i}": missing or invalid 'nodes' object`);else{let m=new Set(Array.isArray(t.params)?t.params:[]),h=new Set(Object.keys(t.nodes));for(let[l,b]of Object.entries(t.nodes)){if(b==null||typeof b!="object"){e.push(`Template "${i}" node "${l}": must be an object`);continue}let S=b;if((typeof S.type!="string"||!de.has(S.type))&&e.push(`Template "${i}" node "${l}": invalid type`),Array.isArray(S.deps))for(let g of S.deps)!h.has(g)&&!m.has(g)&&e.push(`Template "${i}" node "${l}": dep "${g}" is not an inner node or param`)}typeof t.output!="string"?e.push(`Template "${i}": missing 'output' string`):t.nodes[t.output]||e.push(`Template "${i}": output "${t.output}" is not a declared node`)}}for(let[i,r]of Object.entries(s.nodes)){if(r==null||typeof r!="object"){e.push(`Node "${i}": must be an object`);continue}let t=r;if(typeof t.type!="string"||!ee.has(t.type)){e.push(`Node "${i}": invalid type "${String(t.type)}" (expected: ${[...ee].join(", ")})`);continue}if(p.set(i,t.type),t.type==="template")if(typeof t.template!="string"||!u.has(t.template))e.push(`Node "${i}": template "${String(t.template)}" not found in templates`);else if(t.bind==null||typeof t.bind!="object"||Array.isArray(t.bind))e.push(`Node "${i}": template ref requires 'bind' object`);else{let m=u.get(t.template),h=t.bind;for(let l of m.params)l in h||e.push(`Node "${i}": template param "${l}" is not bound (template "${t.template}")`);for(let[,l]of Object.entries(h))typeof l=="string"&&!f.has(l)&&e.push(`Node "${i}": bind target "${l}" does not reference an existing node`)}else{if(Array.isArray(t.deps))for(let m of t.deps)m===i?e.push(`Node "${i}": self-referencing dep`):f.has(m)||e.push(`Node "${i}": dep "${m}" does not reference an existing node`);(t.type==="derived"||t.type==="effect"||t.type==="operator")&&!Array.isArray(t.deps)&&e.push(`Node "${i}": ${t.type} node should have a 'deps' array`)}}if(s.feedback!=null)if(!Array.isArray(s.feedback))e.push("'feedback' must be an array");else for(let i=0;i<s.feedback.length;i++){let r=s.feedback[i];if(r==null||typeof r!="object"){e.push(`Feedback [${i}]: must be an object`);continue}let t=r;typeof t.from!="string"||!f.has(t.from)?e.push(`Feedback [${i}]: 'from' "${String(t.from)}" does not reference an existing node`):p.get(t.from)==="effect"&&o.push(`Feedback [${i}]: 'from' "${t.from}" is an effect node \u2014 effects emit no DATA, so the feedback edge will never fire. Did you mean a derived/state node upstream?`),typeof t.from=="string"&&t.from===t.to&&e.push(`Feedback [${i}]: 'from' and 'to' must be different nodes`),typeof t.to!="string"||!f.has(t.to)?e.push(`Feedback [${i}]: 'to' "${String(t.to)}" does not reference an existing node`):typeof t.to=="string"&&p.get(t.to)!=="state"&&e.push(`Feedback [${i}]: 'to' node "${t.to}" must be a state node (got "${p.get(t.to)??"unknown"}")`)}return{valid:e.length===0,errors:e,warnings:o}}function ue(n,e){let o=q(n);if(!o.valid)throw new Error(`compileSpec: invalid GraphSpec:
8
+ ${o.errors.join(`
9
+ `)}`);let s=n.factory,f=n.factoryArgs;if(typeof s=="string"){let a=e?.catalog?.graphFactories?.[s];if(a)return a(f)}let p=e?.catalog??{},u=e?.onMissing??"placeholder",i=new U(n.name),r=n.templates??{},t=K(n,p);if(!t.valid)throw new Error(`compileSpec: catalog validation errors:
10
+ ${t.errors.join(`
11
+ `)}`);let m=[],h=(a,d,y)=>{m.push({path:a,kind:d,name:y})},l=a=>{let d=p.fns?.[a];return d?te(d):void 0},b=a=>{let d=p.sources?.[a];return d?ne(d):void 0},S=a=>{if(!a)return;let d={};for(let[y,w]of Object.entries(a))y==="factory"||y==="factoryArgs"||(d[y]=w);return Object.keys(d).length>0?d:void 0},g=new Map,x=[];for(let[a,d]of Object.entries(n.nodes)){if(d.type==="template")continue;let y=d,w=M(y),k=C(y);if(y.type==="state"){let v=Z(y),R=z(v,{name:a,meta:S(y.meta)});i.add(R,{name:a}),g.set(a,R)}else if(y.type==="producer"){let v=w?b(w):void 0,R=w?l(w):void 0;if(v){let N=v(k);i.add(N,{name:a}),g.set(a,N)}else if(R){let N=R([],k);i.add(N,{name:a}),g.set(a,N)}else{w&&h(a,"source",w);let N=W(()=>{},{name:a,meta:{...S(y.meta),_specSource:w}});i.add(N,{name:a}),g.set(a,N)}}else x.push([a,y])}let L=!0,c=new Map(x);for(;c.size>0&&L;){L=!1;for(let[a,d]of[...c.entries()]){let y=d.deps??[];if(!y.every(F=>g.has(F)))continue;let w=y.map(F=>g.get(F)),k=M(d),v=C(d),R=k?l(k):void 0,N;R?N=R(w,v):d.type==="effect"?(k&&h(a,"fn",k),N=V(w,()=>{})):(k&&h(a,"fn",k),N=Y(w,F=>F[0])),i.add(N,{name:a}),g.set(a,N),c.delete(a),L=!0}}if(c.size>0){let a=[...c.keys()].sort().join(", ");throw new Error(`compileSpec: unresolvable deps for nodes: ${a}`)}for(let[a,d]of Object.entries(n.nodes)){if(d.type!=="template")continue;let y=d,w=r[y.template],k=new U(a),v=new Map,R=[];for(let[$,j]of Object.entries(w.nodes)){let P=(j.deps??[]).map(A=>A.startsWith("$")&&y.bind[A]?y.bind[A]:A),H={...j,deps:P},G=M(j),E=C(j);if(j.type==="state"){let A=Z(j),_=z(A,{name:$,meta:S(j.meta)});k.add(_,{name:$}),v.set($,_)}else if(j.type==="producer"){let A=G?b(G):void 0,_=G?l(G):void 0;if(A){let O=A(E);k.add(O,{name:$}),v.set($,O)}else if(_){let O=_([],E);k.add(O,{name:$}),v.set($,O)}else{G&&h(`${a}.${$}`,"source",G);let O=W(()=>{},{name:$,meta:{...S(j.meta),_specSource:G}});k.add(O,{name:$}),v.set($,O)}}else R.push([$,H])}let N=!0,F=new Map(R);for(;F.size>0&&N;){N=!1;for(let[$,j]of[...F.entries()]){let P=j.deps??[];if(!P.every(D=>v.has(D)||g.has(D)))continue;let G=P.map(D=>v.get(D)??g.get(D)),E=M(j),A=C(j),_=E?l(E):void 0,O;_?O=_(G,A):j.type==="effect"?(E&&h(`${a}.${$}`,"fn",E),O=V(G,()=>{})):(E&&h(`${a}.${$}`,"fn",E),O=Y(G,D=>D[0])),k.add(O,{name:$}),v.set($,O),F.delete($),N=!0}}if(F.size>0){let $=[...F.keys()].sort().join(", ");throw new Error(`compileSpec: template "${y.template}" has unresolvable deps: ${$}`)}i.mount(a,k);let B=`${a}::${w.output}`;g.set(a,i.resolve(B));try{let $=i.resolve(B);$.meta._templateName?.emit(y.template),$.meta._templateBind?.emit(y.bind)}catch{}}for(let a of n.feedback??[])X(i,a.from,a.to,{maxIterations:a.maxIterations});if(m.length>0){if(u==="error"){let a=m.map(d=>` - ${d.path}: missing ${d.kind} "${d.name}"`);throw new Error(`compileSpec: ${m.length} catalog entr${m.length===1?"y":"ies"} missing \u2014 pass them via opts.catalog or set opts.onMissing to "warn"/"placeholder":
12
+ ${a.join(`
13
+ `)}`)}if(u==="warn"){let a=e?.onWarn??(d=>console.warn(d));for(let d of m)a(`compileSpec: ${d.path} references missing ${d.kind} "${d.name}" \u2014 substituted placeholder`)}}return i}var le=new Set(["reduction","reduction_type","_specFn","_specSource","_templateName","_templateBind","feedbackFrom","feedbackTo","_internal"]);function me(n){let e=n.describe({detail:"spec"}),o=`::${Q}::`,s=/^__feedback_(?!effect_)(.+)$/,f=[],p=new Set;for(let[r,t]of Object.entries(e.nodes))t.meta?.factory!=null&&!r.includes("::")&&p.add(r);let u={};for(let[r,t]of Object.entries(e.nodes)){if(r.includes(o))continue;let m=r.indexOf("::");if(m>0&&p.has(r.slice(0,m)))continue;if(s.exec(r)){let g=t.meta;g?.feedbackFrom&&g?.feedbackTo&&f.push({from:g.feedbackFrom,to:g.feedbackTo,...g.maxIterations?{maxIterations:g.maxIterations}:{}});continue}if(t.meta?._internal||r.startsWith("__feedback_effect_")||r.startsWith("__bridge_"))continue;let l=t.meta,b=l;if(l&&Object.keys(l).length>0){let g={};for(let[x,L]of Object.entries(l))le.has(x)||(g[x]=L);g.factory==="withStatus"?(delete g.status,delete g.error):g.factory==="withBreaker"?delete g.breakerState:g.factory==="verifiable"&&delete g.sourceVersion,b=Object.keys(g).length>0?g:void 0}let S={...t};b===void 0?delete S.meta:S.meta=b,u[r]=S}let i={...e,nodes:u};return delete i.expand,f.length>0&&(i.feedback=f),i}function ge(n,e){let o=[];n.name!==e.name&&o.push({type:"changed",path:"name",detail:`"${n.name}" \u2192 "${e.name}"`});let s=new Set(Object.keys(n.nodes)),f=new Set(Object.keys(e.nodes));for(let c of f)if(!s.has(c)){let a=e.nodes[c];o.push({type:"added",path:`nodes.${c}`,detail:`type: ${a.type}`})}for(let c of s)f.has(c)||o.push({type:"removed",path:`nodes.${c}`});for(let c of s){if(!f.has(c))continue;let a=n.nodes[c],d=e.nodes[c];if(JSON.stringify(a)!==JSON.stringify(d)){let y=[];a.type!==d.type&&y.push(`type: ${a.type} \u2192 ${d.type}`),JSON.stringify(a.deps)!==JSON.stringify(d.deps)&&y.push("deps changed");let w=a.type==="template"?void 0:M(a),k=d.type==="template"?void 0:M(d);w!==k&&y.push(`fn: ${w} \u2192 ${k}`);let v=a.type==="template"?void 0:C(a),R=d.type==="template"?void 0:C(d);JSON.stringify(v)!==JSON.stringify(R)&&y.push("config changed"),o.push({type:"changed",path:`nodes.${c}`,detail:y.join("; ")||"modified"})}}let p=n.templates??{},u=e.templates??{},i=new Set(Object.keys(p)),r=new Set(Object.keys(u));for(let c of r)i.has(c)||o.push({type:"added",path:`templates.${c}`});for(let c of i)r.has(c)||o.push({type:"removed",path:`templates.${c}`});for(let c of i)r.has(c)&&JSON.stringify(p[c])!==JSON.stringify(u[c])&&o.push({type:"changed",path:`templates.${c}`,detail:"template definition changed"});let t=n.feedback??[],m=e.feedback??[],h=new Set(t.map(c=>`${c.from}->${c.to}`)),l=new Set(m.map(c=>`${c.from}->${c.to}`));for(let c of m){let a=`${c.from}->${c.to}`;h.has(a)||o.push({type:"added",path:`feedback.${a}`,detail:`maxIterations: ${c.maxIterations??10}`})}for(let c of t){let a=`${c.from}->${c.to}`;l.has(a)||o.push({type:"removed",path:`feedback.${a}`})}for(let c of t){let a=`${c.from}->${c.to}`,d=m.find(y=>y.from===c.from&&y.to===c.to);d&&JSON.stringify(c)!==JSON.stringify(d)&&o.push({type:"changed",path:`feedback.${a}`,detail:`maxIterations: ${c.maxIterations??10} \u2192 ${d.maxIterations??10}`})}let b=o.filter(c=>c.type==="added").length,S=o.filter(c=>c.type==="removed").length,g=o.filter(c=>c.type==="changed").length,x=[];b&&x.push(`${b} added`),S&&x.push(`${S} removed`),g&&x.push(`${g} changed`);let L=x.length>0?x.join(", "):"no changes";return{entries:o,summary:L}}var se=`You are a graph architect for GraphReFly, a reactive graph protocol.
14
+
15
+ Given a natural-language description, produce a JSON GraphSpec with this structure:
16
+
17
+ {
18
+ "name": "<graph_name>",
19
+ "nodes": {
20
+ "<node_name>": {
21
+ "type": "state" | "derived" | "producer" | "effect",
22
+ "deps": ["<dep_node_name>", ...],
23
+ "value": <initial_value>,
24
+ "meta": {
25
+ "factory": "<catalog_factory_name>",
26
+ "factoryArgs": { ... },
27
+ "description": "<purpose>"
28
+ }
29
+ },
30
+ "<template_instance>": {
31
+ "type": "template",
32
+ "template": "<template_name>",
33
+ "bind": { "$param": "node_name" }
34
+ }
35
+ },
36
+ "templates": {
37
+ "<template_name>": {
38
+ "params": ["$param1", "$param2"],
39
+ "nodes": { ... },
40
+ "output": "<output_node>"
41
+ }
42
+ },
43
+ "feedback": [
44
+ { "from": "<condition_node>", "to": "<state_node>", "maxIterations": 10 }
45
+ ]
46
+ }
47
+
48
+ Rules:
49
+ - "state" nodes hold user/LLM-writable values (knobs). Stamp the initial value
50
+ in "meta.factoryArgs.initial" (or as the top-level "value" field \u2014 both work).
51
+ - "derived" nodes compute from deps using a catalog function named in
52
+ "meta.factory"; pass any config via "meta.factoryArgs".
53
+ - "effect" nodes produce side effects from deps; same meta.factory shape as derived.
54
+ - "producer" nodes generate values from a catalog source named in "meta.factory";
55
+ pass any config via "meta.factoryArgs".
56
+ - Use "templates" when the same subgraph pattern repeats (e.g., per-source resilience).
57
+ - Use "feedback" for bounded cycles where a derived value writes back to a state node.
58
+ - meta.description is required for every node.
59
+ - Return ONLY valid JSON, no markdown fences or commentary.`;function re(n){let e=n.match(/^```(?:json)?\s*([\s\S]*?)\s*```[\s\S]*$/);return e?e[1]:n}async function ye(n,e,o){let s=se,f=o?.catalogDescription??(o?.catalog?oe(o.catalog):void 0);f&&(s+=`
60
+
61
+ Available catalog (use ONLY these names):
62
+ ${f}`),o?.systemPromptExtra&&(s+=`
63
+
64
+ ${o.systemPromptExtra}`);let p=[{role:"system",content:s},{role:"user",content:n}],r=(await e.invoke(p,{model:o?.model,temperature:o?.temperature??0,maxTokens:o?.maxTokens})).content.trim();r.startsWith("```")&&(r=re(r));let t;try{t=JSON.parse(r)}catch{throw new Error(`llmCompose: LLM response is not valid JSON: ${r.slice(0,200)}`)}let m=q(t);if(!m.valid)throw new Error(`llmCompose: invalid GraphSpec:
65
+ ${m.errors.join(`
66
+ `)}`);let h=t;if(o?.catalog){let l=o.maxAutoRefine??0;for(let b=0;b<=l;b++){let S=K(h,o.catalog);if(S.valid)break;if(b===l)throw new Error(`llmCompose: catalog validation failed after ${l} refine attempts:
67
+ ${S.errors.join(`
68
+ `)}`);h=await ae(h,`Fix these catalog errors:
69
+ ${S.errors.join(`
70
+ `)}
71
+
72
+ Use ONLY functions and sources from the catalog.`,e,{...o,catalogDescription:f})}}return h}async function ae(n,e,o,s){let f=se;s?.catalogDescription&&(f+=`
73
+
74
+ Available catalog:
75
+ ${s.catalogDescription}`),s?.systemPromptExtra&&(f+=`
76
+
77
+ ${s.systemPromptExtra}`);let p=[{role:"system",content:f},{role:"user",content:`Current GraphSpec:
78
+ ${JSON.stringify(n,null,2)}
79
+
80
+ Modification request: ${e}
81
+
82
+ Return the complete modified GraphSpec as JSON.`}],r=(await o.invoke(p,{model:s?.model,temperature:s?.temperature??0,maxTokens:s?.maxTokens})).content.trim();r.startsWith("```")&&(r=re(r));let t;try{t=JSON.parse(r)}catch{throw new Error(`llmRefine: LLM response is not valid JSON: ${r.slice(0,200)}`)}let m=q(t);if(!m.valid)throw new Error(`llmRefine: invalid GraphSpec:
83
+ ${m.errors.join(`
84
+ `)}`);return t}export{T as a,I as b,te as c,ne as d,oe as e,K as f,q as g,ue as h,me as i,ge as j,ye as k,ae as l,he as m};
@@ -1 +1 @@
1
- import{b as G,d as F}from"./chunk-XLMYQB6F.js";import{c as E}from"./chunk-O32GJOUJ.js";import{a as A}from"./chunk-4BDQXBXE.js";import{k as I}from"./chunk-QMC2PLNM.js";import{b as q}from"./chunk-7KZZLWZ6.js";import{C as M}from"./chunk-RZ5HKPGI.js";import{E as d,G as o,H as O,m as S}from"./chunk-LYCLF26R.js";import{b as V}from"./chunk-QYADASLV.js";var $={};V($,{contentModerationGraph:()=>Q,dataQualityGraph:()=>T,issueTrackerGraph:()=>B,observabilityGraph:()=>D});function s(u,a){return E("domain_template",u,a)}function D(u,a){let n=new I(u,a);n.add(a.source,{name:"source"});let h=[{name:"errors",classify:e=>C(e,"error")},{name:"traces",classify:e=>C(e,"trace")},{name:"metrics",classify:e=>C(e,"metric")}],m=a.branches??h,y=m.map(e=>({name:e.name,classify:e.classify})),c=A("stratify",a.source,y);n.mount("stratify",c);let k=m.map(e=>{try{let i=n.resolve(`stratify::branch/${e.name}`);return o([i],([x])=>x,{initial:null})}catch{return d(null)}}),l=a.correlate??(e=>e),_=o(k,e=>l(e),{meta:s("observability",{stage:"correlate"})});n.add(_,{name:"correlate"});let N=a.sloCheck??(()=>({pass:!0})),w=o([_],e=>e[0],{meta:s("observability",{stage:"slo_value"})}),f=o([w],e=>N(e[0]),{meta:s("observability",{stage:"slo_verified"})});n.add(w,{name:"slo_value"}),n.add(f,{name:"slo_verified"});let v=a.weights??m.map(()=>1),b=k.map(e=>o([e],i=>i[0]!=null?1:0)),p=v.map(e=>d(e));for(let e=0;e<b.length;e++)n.add(b[e],{name:`__signal_${e}`}),n.add(p[e],{name:`__weight_${e}`});let t=F(b,p);n.add(t,{name:"alerts"});let g=o([t,f],e=>({scored:e[0],slo:e[1]}),{meta:s("observability",{stage:"output"})});n.add(g,{name:"output"});let R=d(null,{meta:s("observability",{stage:"feedback_reentry"})});n.add(R,{name:"feedback_reentry"});let r=o([f],e=>{let i=e[0];return i&&i.pass===!1?i:null},{meta:s("observability",{stage:"feedback_condition"})});return n.add(r,{name:"feedback_condition"}),G(n,"feedback_condition","feedback_reentry",{maxIterations:a.maxFeedbackIterations??5}),n}function B(u,a){let n=new I(u,a);n.add(a.source,{name:"source"});let h=0,m=e=>({id:`issue-${++h}`,title:String(e),severity:1,source:"unknown",raw:e}),y=a.extract??m,c=o([a.source],e=>y(e[0]),{meta:s("issue_tracker",{stage:"extract"})});n.add(c,{name:"extract"});let k=a.verify??(()=>({valid:!0})),l=o([c],e=>{let i=e[0];return{issue:i,verification:k(i)}},{meta:s("issue_tracker",{stage:"verify"})});n.add(l,{name:"verify"});let _=d([],{meta:s("issue_tracker",{stage:"known_patterns"})});n.add(_,{name:"known_patterns"});let N=a.detectRegression??(()=>({regression:!1})),w=o([c,_],e=>{let i=e[0],x=e[1];return{issue:i,regression:N(i,x)}},{meta:s("issue_tracker",{stage:"regression"})});n.add(w,{name:"regression"});let f=o([c],e=>e[0]?.severity??0),v=o([w],e=>e[0]?.regression?2:0);n.add(f,{name:"__severity_signal"}),n.add(v,{name:"__regression_signal"});let b=d(1),p=d(1.5);n.add(b,{name:"__severity_weight"}),n.add(p,{name:"__regression_weight"});let t=F([f,v],[b,p]);n.add(t,{name:"priority"});let g=o([l,w,t],e=>({verified:e[0],regression:e[1],priority:e[2]}),{meta:s("issue_tracker",{stage:"output"})});n.add(g,{name:"output"});let R=d(null,{meta:s("issue_tracker",{stage:"feedback_reentry"})});n.add(R,{name:"feedback_reentry"});let r=o([l],e=>{let i=e[0];if(i){let x=i.verification;if(x&&x.valid===!1)return i}return null},{meta:s("issue_tracker",{stage:"feedback_condition"})});return n.add(r,{name:"feedback_condition"}),G(n,"feedback_condition","feedback_reentry",{maxIterations:a.maxFeedbackIterations??3}),n}function Q(u,a){let n=new I(u,a);n.add(a.source,{name:"source"});let h=r=>({label:"review",confidence:.5,original:r}),m=a.classify??h,y=o([a.source],r=>m(r[0]),{meta:s("content_moderation",{stage:"classify"})});n.add(y,{name:"classify"});let c=A("stratify",y,[{name:"safe",classify:r=>r.label==="safe"},{name:"review",classify:r=>r.label==="review"},{name:"block",classify:r=>r.label==="block"}]);n.mount("stratify",c);let k=q([],{name:"review_queue",maxSize:a.maxQueueSize});n.add(k.entries,{name:"review_queue"});let l;try{l=n.resolve("stratify::branch/review")}catch{l=d(null),n.add(l,{name:"__review_fallback"})}let _=O([l],r=>{let e=r[0];e&&k.append(e)});n.add(_,{name:"__review_accumulator"}),n.addDisposer(M(_));let N=d({},{meta:s("content_moderation",{stage:"policy",access:"both",description:"Moderation policy rules \u2014 updated via feedback"})});n.add(N,{name:"policy"});let w=a.weights??[.1,1,2],f=o([y],r=>r[0]?.confidence??0),v=o([y],r=>{let e=r[0];return e?e.label==="block"?w[2]:e.label==="review"?w[1]:w[0]:0});n.add(f,{name:"__confidence_signal"}),n.add(v,{name:"__severity_signal"});let b=d(1),p=d(1);n.add(b,{name:"__w_confidence"}),n.add(p,{name:"__w_severity"});let t=F([f,v],[b,p]);n.add(t,{name:"priority"});let g=o([y,t],r=>({classification:r[0],priority:r[1]}),{meta:s("content_moderation",{stage:"output"})});n.add(g,{name:"output"});let R=o([k.entries,N],r=>{let e=r[0];if(e&&e.length>0){let i=e[e.length-1];if(i&&i.falsePositive)return i}return null},{meta:s("content_moderation",{stage:"feedback_condition"})});return n.add(R,{name:"feedback_condition"}),G(n,"feedback_condition","policy",{maxIterations:a.maxFeedbackIterations??5}),n}function T(u,a){let n=new I(u,a);n.add(a.source,{name:"source"});let h=a.validate??(t=>({valid:!0,errors:[],record:t})),m=o([a.source],t=>t[0]!=null?h(t[0]):void 0,{meta:s("data_quality",{stage:"validate"})});n.add(m,{name:"validate"});let y=a.detectAnomaly??(t=>({anomaly:!1,score:0,record:t})),c=o([a.source],t=>t[0]!=null?y(t[0]):void 0,{meta:s("data_quality",{stage:"anomaly"})});n.add(c,{name:"anomaly"});let k=d(null,{meta:s("data_quality",{stage:"baseline",description:"Rolling baseline for drift detection"})});n.add(k,{name:"baseline"});let l=O([m],t=>{let g=t[0];g?.valid&&S(()=>{k.emit(g.record)})});n.add(l,{name:"__baseline_updater"}),M(l);let _=a.detectDrift??(()=>({drift:!1})),N=o([a.source,k],t=>_(t[0],t[1]),{meta:s("data_quality",{stage:"drift"})});n.add(N,{name:"drift"});let w=a.suggest??(()=>null),f=o([m,c],t=>w({validation:t[0],anomaly:t[1]}),{meta:s("data_quality",{stage:"remediate"})});n.add(f,{name:"remediate"});let v=o([m,c,N,f],t=>({validation:t[0],anomaly:t[1],drift:t[2],remediation:t[3]}),{meta:s("data_quality",{stage:"output"})});n.add(v,{name:"output"});let b=d([],{meta:s("data_quality",{stage:"validation_rules"})});n.add(b,{name:"validation_rules"});let p=o([c],t=>{let g=t[0];return g?.anomaly?g:null},{meta:s("data_quality",{stage:"feedback_condition"})});return n.add(p,{name:"feedback_condition"}),G(n,"feedback_condition","validation_rules",{maxIterations:a.maxFeedbackIterations??3}),n}function C(u,a){if(u==null||typeof u!="object")return!1;let n=u;return n.type===a||n.kind===a}export{D as a,B as b,Q as c,T as d,$ as e};
1
+ import{b as G,c as F}from"./chunk-LQNOXGET.js";import{a as A}from"./chunk-7NZMZJMW.js";import{a as q}from"./chunk-L6NSJVJZ.js";import{i as I}from"./chunk-7JRF5YEK.js";import{b as E}from"./chunk-AU7YTQX7.js";import{C as M}from"./chunk-IA7DUNGB.js";import{E as d,G as o,H as O,m as S}from"./chunk-LYCLF26R.js";import{b as V}from"./chunk-QYADASLV.js";var $={};V($,{contentModerationGraph:()=>Q,dataQualityGraph:()=>T,issueTrackerGraph:()=>B,observabilityGraph:()=>D});function r(u,a){return q("domain_template",u,a)}function D(u,a){let n=new I(u,a);n.add(a.source,{name:"source"});let h=[{name:"errors",classify:e=>C(e,"error")},{name:"traces",classify:e=>C(e,"trace")},{name:"metrics",classify:e=>C(e,"metric")}],m=a.branches??h,y=m.map(e=>({name:e.name,classify:e.classify})),c=A("stratify",a.source,y);n.mount("stratify",c);let k=m.map(e=>{try{let i=n.resolve(`stratify::branch/${e.name}`);return o([i],([x])=>x,{initial:null})}catch{return d(null)}}),l=a.correlate??(e=>e),_=o(k,e=>l(e),{meta:r("observability",{stage:"correlate"})});n.add(_,{name:"correlate"});let N=a.sloCheck??(()=>({pass:!0})),w=o([_],e=>e[0],{meta:r("observability",{stage:"slo_value"})}),f=o([w],e=>N(e[0]),{meta:r("observability",{stage:"slo_verified"})});n.add(w,{name:"slo_value"}),n.add(f,{name:"slo_verified"});let v=a.weights??m.map(()=>1),b=k.map(e=>o([e],i=>i[0]!=null?1:0)),p=v.map(e=>d(e));for(let e=0;e<b.length;e++)n.add(b[e],{name:`__signal_${e}`}),n.add(p[e],{name:`__weight_${e}`});let t=F(b,p);n.add(t,{name:"alerts"});let g=o([t,f],e=>({scored:e[0],slo:e[1]}),{meta:r("observability",{stage:"output"})});n.add(g,{name:"output"});let R=d(null,{meta:r("observability",{stage:"feedback_reentry"})});n.add(R,{name:"feedback_reentry"});let s=o([f],e=>{let i=e[0];return i&&i.pass===!1?i:null},{meta:r("observability",{stage:"feedback_condition"})});return n.add(s,{name:"feedback_condition"}),G(n,"feedback_condition","feedback_reentry",{maxIterations:a.maxFeedbackIterations??5}),n}function B(u,a){let n=new I(u,a);n.add(a.source,{name:"source"});let h=0,m=e=>({id:`issue-${++h}`,title:String(e),severity:1,source:"unknown",raw:e}),y=a.extract??m,c=o([a.source],e=>y(e[0]),{meta:r("issue_tracker",{stage:"extract"})});n.add(c,{name:"extract"});let k=a.verify??(()=>({valid:!0})),l=o([c],e=>{let i=e[0];return{issue:i,verification:k(i)}},{meta:r("issue_tracker",{stage:"verify"})});n.add(l,{name:"verify"});let _=d([],{meta:r("issue_tracker",{stage:"known_patterns"})});n.add(_,{name:"known_patterns"});let N=a.detectRegression??(()=>({regression:!1})),w=o([c,_],e=>{let i=e[0],x=e[1];return{issue:i,regression:N(i,x)}},{meta:r("issue_tracker",{stage:"regression"})});n.add(w,{name:"regression"});let f=o([c],e=>e[0]?.severity??0),v=o([w],e=>e[0]?.regression?2:0);n.add(f,{name:"__severity_signal"}),n.add(v,{name:"__regression_signal"});let b=d(1),p=d(1.5);n.add(b,{name:"__severity_weight"}),n.add(p,{name:"__regression_weight"});let t=F([f,v],[b,p]);n.add(t,{name:"priority"});let g=o([l,w,t],e=>({verified:e[0],regression:e[1],priority:e[2]}),{meta:r("issue_tracker",{stage:"output"})});n.add(g,{name:"output"});let R=d(null,{meta:r("issue_tracker",{stage:"feedback_reentry"})});n.add(R,{name:"feedback_reentry"});let s=o([l],e=>{let i=e[0];if(i){let x=i.verification;if(x&&x.valid===!1)return i}return null},{meta:r("issue_tracker",{stage:"feedback_condition"})});return n.add(s,{name:"feedback_condition"}),G(n,"feedback_condition","feedback_reentry",{maxIterations:a.maxFeedbackIterations??3}),n}function Q(u,a){let n=new I(u,a);n.add(a.source,{name:"source"});let h=s=>({label:"review",confidence:.5,original:s}),m=a.classify??h,y=o([a.source],s=>m(s[0]),{meta:r("content_moderation",{stage:"classify"})});n.add(y,{name:"classify"});let c=A("stratify",y,[{name:"safe",classify:s=>s.label==="safe"},{name:"review",classify:s=>s.label==="review"},{name:"block",classify:s=>s.label==="block"}]);n.mount("stratify",c);let k=E([],{name:"review_queue",maxSize:a.maxQueueSize});n.add(k.entries,{name:"review_queue"});let l;try{l=n.resolve("stratify::branch/review")}catch{l=d(null),n.add(l,{name:"__review_fallback"})}let _=O([l],s=>{let e=s[0];e&&k.append(e)});n.add(_,{name:"__review_accumulator"}),n.addDisposer(M(_));let N=d({},{meta:r("content_moderation",{stage:"policy",access:"both",description:"Moderation policy rules \u2014 updated via feedback"})});n.add(N,{name:"policy"});let w=a.weights??[.1,1,2],f=o([y],s=>s[0]?.confidence??0),v=o([y],s=>{let e=s[0];return e?e.label==="block"?w[2]:e.label==="review"?w[1]:w[0]:0});n.add(f,{name:"__confidence_signal"}),n.add(v,{name:"__severity_signal"});let b=d(1),p=d(1);n.add(b,{name:"__w_confidence"}),n.add(p,{name:"__w_severity"});let t=F([f,v],[b,p]);n.add(t,{name:"priority"});let g=o([y,t],s=>({classification:s[0],priority:s[1]}),{meta:r("content_moderation",{stage:"output"})});n.add(g,{name:"output"});let R=o([k.entries,N],s=>{let e=s[0];if(e&&e.length>0){let i=e[e.length-1];if(i&&i.falsePositive)return i}return null},{meta:r("content_moderation",{stage:"feedback_condition"})});return n.add(R,{name:"feedback_condition"}),G(n,"feedback_condition","policy",{maxIterations:a.maxFeedbackIterations??5}),n}function T(u,a){let n=new I(u,a);n.add(a.source,{name:"source"});let h=a.validate??(t=>({valid:!0,errors:[],record:t})),m=o([a.source],t=>t[0]!=null?h(t[0]):void 0,{meta:r("data_quality",{stage:"validate"})});n.add(m,{name:"validate"});let y=a.detectAnomaly??(t=>({anomaly:!1,score:0,record:t})),c=o([a.source],t=>t[0]!=null?y(t[0]):void 0,{meta:r("data_quality",{stage:"anomaly"})});n.add(c,{name:"anomaly"});let k=d(null,{meta:r("data_quality",{stage:"baseline",description:"Rolling baseline for drift detection"})});n.add(k,{name:"baseline"});let l=O([m],t=>{let g=t[0];g?.valid&&S(()=>{k.emit(g.record)})});n.add(l,{name:"__baseline_updater"}),M(l);let _=a.detectDrift??(()=>({drift:!1})),N=o([a.source,k],t=>_(t[0],t[1]),{meta:r("data_quality",{stage:"drift"})});n.add(N,{name:"drift"});let w=a.suggest??(()=>null),f=o([m,c],t=>w({validation:t[0],anomaly:t[1]}),{meta:r("data_quality",{stage:"remediate"})});n.add(f,{name:"remediate"});let v=o([m,c,N,f],t=>({validation:t[0],anomaly:t[1],drift:t[2],remediation:t[3]}),{meta:r("data_quality",{stage:"output"})});n.add(v,{name:"output"});let b=d([],{meta:r("data_quality",{stage:"validation_rules"})});n.add(b,{name:"validation_rules"});let p=o([c],t=>{let g=t[0];return g?.anomaly?g:null},{meta:r("data_quality",{stage:"feedback_condition"})});return n.add(p,{name:"feedback_condition"}),G(n,"feedback_condition","validation_rules",{maxIterations:a.maxFeedbackIterations??3}),n}function C(u,a){if(u==null||typeof u!="object")return!1;let n=u;return n.type===a||n.kind===a}export{D as a,B as b,Q as c,T as d,$ as e};
@@ -1 +1 @@
1
- import{d as n}from"./chunk-XLYF4LBH.js";import{k as a}from"./chunk-QMC2PLNM.js";import{b as c}from"./chunk-QYADASLV.js";var s={};c(s,{GuardedExecutionGraph:()=>o,guardedExecution:()=>p});var o=class extends a{enforcer;violations;_target;_defaultActor;constructor(r,e){super(e.name??`${r.name}_guarded`,e.graph),this._target=r,this._defaultActor=e.actor;let t={mode:e.mode??"enforce",name:"enforcer"};e.violationsLimit!=null&&(t.violationsLimit=e.violationsLimit),this.enforcer=n(r,e.policies,t),this.violations=this.enforcer.violations,this.mount("enforcer",this.enforcer)}scopedDescribe(r){let e=r?.actor??this._defaultActor,t={...r,...e!=null?{actor:e}:{}};return this._target.describe(t)}get target(){return this._target}};function p(i,r){return new o(i,r)}export{o as a,p as b,s as c};
1
+ import{d as n}from"./chunk-GX5LSSRE.js";import{i as a}from"./chunk-7JRF5YEK.js";import{b as c}from"./chunk-QYADASLV.js";var s={};c(s,{GuardedExecutionGraph:()=>o,guardedExecution:()=>p});var o=class extends a{enforcer;violations;_target;_defaultActor;constructor(r,e){super(e.name??`${r.name}_guarded`,e.graph),this._target=r,this._defaultActor=e.actor;let t={mode:e.mode??"enforce",name:"enforcer"};e.violationsLimit!=null&&(t.violationsLimit=e.violationsLimit),this.enforcer=n(r,e.policies,t),this.violations=this.enforcer.violations,this.mount("enforcer",this.enforcer)}scopedDescribe(r){let e=r?.actor??this._defaultActor,t={...r,...e!=null?{actor:e}:{}};return this._target.describe(t)}get target(){return this._target}};function p(i,r){return new o(i,r)}export{o as a,p as b,s as c};
@@ -1 +1 @@
1
- import{C as O}from"./chunk-RZ5HKPGI.js";import{D as H,E as A,G as k,m as D}from"./chunk-LYCLF26R.js";import{b as N,c as $,d as K,i as B,j as E}from"./chunk-CK2E7BTU.js";var C=class{_version=0;_maxSize;_buf;_head=0;_size=0;constructor(n,t){if(t!==void 0&&t<1)throw new RangeError("maxSize must be >= 1");if(this._maxSize=t,t!==void 0){if(this._buf=new Array(t),n&&n.length>0){let s=Math.min(n.length,t),h=n.length-s;for(let o=0;o<s;o++)this._buf[o]=n[h+o];this._size=s}}else this._buf=n?[...n]:[],this._size=this._buf.length}get version(){return this._version}get size(){return this._size}at(n){if(!Number.isInteger(n))return;let t=n>=0?n:this._size+n;if(!(t<0||t>=this._size))return this._maxSize!==void 0?this._buf[(this._head+t)%this._maxSize]:this._buf[t]}append(n){this._rawAppend(n),this._version+=1}appendMany(n){if(n.length===0)return;let t=this._maxSize!==void 0&&n.length>this._maxSize?n.length-this._maxSize:0;for(let s=t;s<n.length;s++)this._rawAppend(n[s]);this._version+=1}clear(){if(this._size===0)return 0;let n=this._size;if(this._maxSize===void 0)this._buf.length=0;else for(let t=0;t<n;t++)this._buf[(this._head+t)%this._maxSize]=void 0;return this._head=0,this._size=0,this._version+=1,n}trimHead(n){if(!Number.isInteger(n)||n<0)throw new RangeError(`trimHead: n must be a non-negative integer (got ${n})`);if(n===0||this._size===0)return 0;let t=Math.min(n,this._size);if(this._maxSize===void 0)this._buf.splice(0,t);else{for(let s=0;s<t;s++)this._buf[(this._head+s)%this._maxSize]=void 0;this._head=(this._head+t)%this._maxSize}return this._size-=t,this._version+=1,t}slice(n,t){if(!Number.isInteger(n)||n<0)throw new RangeError(`slice: start must be a non-negative integer (got ${n})`);if(t!==void 0&&(!Number.isInteger(t)||t<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${t})`);let s=t===void 0?this._size:Math.min(Math.max(t,0),this._size),h=Math.min(n,this._size);if(h>=s)return[];let o=s-h;if(this._maxSize===void 0)return this._buf.slice(h,s);let b=new Array(o);for(let r=0;r<o;r++)b[r]=this._buf[(this._head+h+r)%this._maxSize];return b}tail(n){if(!Number.isInteger(n)||n<0)throw new RangeError(`tail: n must be a non-negative integer (got ${n})`);if(n===0||this._size===0)return[];let t=Math.min(n,this._size);return this.slice(this._size-t,this._size)}toArray(){if(this._maxSize===void 0)return[...this._buf];let n=new Array(this._size);for(let t=0;t<this._size;t++)n[t]=this._buf[(this._head+t)%this._maxSize];return n}snapshot(){return this.toArray()}restore(n){if(this._maxSize===void 0){this._buf.length=0;for(let t=0;t<n.length;t++)this._buf.push(n[t]);this._size=this._buf.length}else{let t=this._maxSize;for(let o=0;o<t;o++)this._buf[o]=void 0;this._head=0;let s=Math.min(n.length,t),h=n.length-s;for(let o=0;o<s;o++)this._buf[o]=n[h+o];this._size=s}this._version+=1}_rawAppend(n){if(this._maxSize===void 0){this._buf.push(n),this._size=this._buf.length;return}this._size<this._maxSize?(this._buf[(this._head+this._size)%this._maxSize]=n,this._size+=1):(this._buf[this._head]=n,this._head=(this._head+1)%this._maxSize)}};function x(g){return g.subscribe(()=>{})}var G=64;function Q(g,n={}){let{name:t,maxSize:s,versioning:h,guard:o,backend:b}=n,r=b??new C(g,s),m=A(r.toArray(),{name:t,describeKind:"state",equals:(e,i)=>e===i,...h!=null?{versioning:h}:{},...o!=null?{guard:o}:{}});function w(){let e=r.toArray();D(()=>{m.down([[$]],{internal:!0}),m.down([[N,e]],{internal:!0})})}let u=new Map,l=new Map,_=new Map;function M(e,i){return`${e}:${i===void 0?"END":i}`}function y(e){if(e.size<G)return;let i=e.keys().next();if(i.done)return;let d=e.get(i.value);d!==void 0&&d.dispose(),e.delete(i.value)}function v(e){let i=r.version;try{return e()}finally{r.version!==i&&w()}}function P(e){if(!Number.isInteger(e)||e<0)throw new RangeError(`tail: n must be a non-negative integer (got ${e})`);let i=u.get(e);if(i!==void 0)return u.delete(e),u.set(e,i),i.node;y(u);let d=k([m],([f])=>{let c=f;return e===0||c.length===0?[]:c.slice(Math.max(0,c.length-e))},{initial:r.tail(e),describeKind:"derived"}),a=x(d);return u.set(e,{node:d,dispose:a}),d}function j(e,i){if(!Number.isInteger(e)||e<0)throw new RangeError(`slice: start must be a non-negative integer (got ${e})`);if(i!==void 0&&(!Number.isInteger(i)||i<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${i})`);let d=M(e,i),a=l.get(d);if(a!==void 0)return l.delete(d),l.set(d,a),a.node;y(l);let f=k([m],([p])=>{let T=p;return i===void 0?T.slice(e):T.slice(e,i)},{initial:r.slice(e,i),describeKind:"derived"}),c=x(f);return l.set(d,{node:f,dispose:c}),f}function q(e){let i=_.get(e);if(i!==void 0)return i.node;let d=k([m,e],([f,c])=>{let p=f,T=Math.max(0,Math.trunc(c??0));return p.slice(T)},{initial:[],describeKind:"derived"}),a=x(d);return _.set(e,{node:d,dispose:a}),d}let L,S;function R(){L===void 0&&(L=H([m],(e,i,d)=>{let a=e[0],c=a!=null&&a.length>0?a.at(-1):d.prevData[0];if(c==null||c.length===0){i.down([[K]]);return}i.emit(c[c.length-1])},{name:t!=null?`${t}::lastValue`:"lastValue",describeKind:"derived",initial:r.size===0?void 0:r.at(r.size-1)}),S=k([m],([e])=>e.length>0,{name:t!=null?`${t}::hasLatest`:"hasLatest",describeKind:"derived",initial:r.size>0}),x(L),x(S))}let I={entries:m,get size(){return r.size},at(e){return r.at(e)},append(e){v(()=>r.append(e))},appendMany(e){e.length!==0&&v(()=>r.appendMany(e))},clear(){v(()=>r.clear())},trimHead(e){v(()=>r.trimHead(e))},withLatest(){return R(),m},get lastValue(){return R(),L},get hasLatest(){return R(),S},view(e){switch(e.kind){case"tail":return P(e.n);case"slice":return j(e.start,e.stop);case"fromCursor":return q(e.cursor)}},attach(e){let i=e.subscribe(d=>{for(let a of d)a[0]===N&&I.append(a[1])});return()=>i()},attachStorage(e){if(e.length===0)return()=>{};let i=new Map;for(let a of e)i.set(a,r.size);(async()=>{for(let a of e)if(typeof a.loadEntries=="function")try{let f=await Promise.resolve(a.loadEntries());f.entries.length>0&&r.size===0&&(r.restore(f.entries),i.set(a,f.entries.length),w());break}catch{}})();let d=m.subscribe(a=>{for(let f of a){if(f[0]!==N)continue;let c=f[1];for(let p of e){let T=i.get(p)??0;if(c.length<T){try{let z=p.appendEntries(c);z instanceof Promise&&z.catch(()=>{})}catch{}i.set(p,c.length);continue}if(c.length===T)continue;let F=c.slice(T);i.set(p,c.length);try{let z=p.appendEntries(F);z instanceof Promise&&z.catch(()=>{})}catch{}}}});return()=>d()},disposeAllViews(){for(let e of u.values())e.dispose();u.clear();for(let e of l.values())e.dispose();l.clear();for(let e of _.values())e.dispose();_.clear()},dispose(){for(let e of u.values())e.dispose();u.clear();for(let e of l.values())e.dispose();l.clear();for(let e of _.values())e.dispose();_.clear()}};return I}var V=new WeakMap;function Z(g){let n=V.get(g);if(n)return n;let t=g.map(u=>u.cache??[]),s=t.flat(),h=A(s,{name:"mergeReactiveLogs",describeKind:"state",equals:(u,l)=>u===l}),o=g.map((u,l)=>[...t[l]??[]]),b=[];for(let u=0;u<g.length;u++){let l=u,_=g[l].subscribe(M=>{for(let y of M)if(y[0]===N)o[l]=[...y[1]],h.emit(o.flat());else if(y[0]===B){o[l]=[];let v=b[l];v!==void 0&&(b[l]=void 0,v())}else y[0]===E&&h.down([[E,y[1]]])});b.push(_)}let r=O(h),m=!1,w={node:h,dispose(){if(!m){m=!0;for(let u of b)u?.();b.length=0,r(),V.delete(g)}}};return V.set(g,w),w}export{C as a,Q as b,Z as c};
1
+ import{C as O}from"./chunk-IA7DUNGB.js";import{D as H,E as A,G as k,m as D}from"./chunk-LYCLF26R.js";import{b as N,c as $,d as K,i as B,j as E}from"./chunk-CK2E7BTU.js";var C=class{_version=0;_maxSize;_buf;_head=0;_size=0;constructor(n,t){if(t!==void 0&&t<1)throw new RangeError("maxSize must be >= 1");if(this._maxSize=t,t!==void 0){if(this._buf=new Array(t),n&&n.length>0){let s=Math.min(n.length,t),h=n.length-s;for(let o=0;o<s;o++)this._buf[o]=n[h+o];this._size=s}}else this._buf=n?[...n]:[],this._size=this._buf.length}get version(){return this._version}get size(){return this._size}at(n){if(!Number.isInteger(n))return;let t=n>=0?n:this._size+n;if(!(t<0||t>=this._size))return this._maxSize!==void 0?this._buf[(this._head+t)%this._maxSize]:this._buf[t]}append(n){this._rawAppend(n),this._version+=1}appendMany(n){if(n.length===0)return;let t=this._maxSize!==void 0&&n.length>this._maxSize?n.length-this._maxSize:0;for(let s=t;s<n.length;s++)this._rawAppend(n[s]);this._version+=1}clear(){if(this._size===0)return 0;let n=this._size;if(this._maxSize===void 0)this._buf.length=0;else for(let t=0;t<n;t++)this._buf[(this._head+t)%this._maxSize]=void 0;return this._head=0,this._size=0,this._version+=1,n}trimHead(n){if(!Number.isInteger(n)||n<0)throw new RangeError(`trimHead: n must be a non-negative integer (got ${n})`);if(n===0||this._size===0)return 0;let t=Math.min(n,this._size);if(this._maxSize===void 0)this._buf.splice(0,t);else{for(let s=0;s<t;s++)this._buf[(this._head+s)%this._maxSize]=void 0;this._head=(this._head+t)%this._maxSize}return this._size-=t,this._version+=1,t}slice(n,t){if(!Number.isInteger(n)||n<0)throw new RangeError(`slice: start must be a non-negative integer (got ${n})`);if(t!==void 0&&(!Number.isInteger(t)||t<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${t})`);let s=t===void 0?this._size:Math.min(Math.max(t,0),this._size),h=Math.min(n,this._size);if(h>=s)return[];let o=s-h;if(this._maxSize===void 0)return this._buf.slice(h,s);let b=new Array(o);for(let r=0;r<o;r++)b[r]=this._buf[(this._head+h+r)%this._maxSize];return b}tail(n){if(!Number.isInteger(n)||n<0)throw new RangeError(`tail: n must be a non-negative integer (got ${n})`);if(n===0||this._size===0)return[];let t=Math.min(n,this._size);return this.slice(this._size-t,this._size)}toArray(){if(this._maxSize===void 0)return[...this._buf];let n=new Array(this._size);for(let t=0;t<this._size;t++)n[t]=this._buf[(this._head+t)%this._maxSize];return n}snapshot(){return this.toArray()}restore(n){if(this._maxSize===void 0){this._buf.length=0;for(let t=0;t<n.length;t++)this._buf.push(n[t]);this._size=this._buf.length}else{let t=this._maxSize;for(let o=0;o<t;o++)this._buf[o]=void 0;this._head=0;let s=Math.min(n.length,t),h=n.length-s;for(let o=0;o<s;o++)this._buf[o]=n[h+o];this._size=s}this._version+=1}_rawAppend(n){if(this._maxSize===void 0){this._buf.push(n),this._size=this._buf.length;return}this._size<this._maxSize?(this._buf[(this._head+this._size)%this._maxSize]=n,this._size+=1):(this._buf[this._head]=n,this._head=(this._head+1)%this._maxSize)}};function x(g){return g.subscribe(()=>{})}var G=64;function Q(g,n={}){let{name:t,maxSize:s,versioning:h,guard:o,backend:b}=n,r=b??new C(g,s),m=A(r.toArray(),{name:t,describeKind:"state",equals:(e,i)=>e===i,...h!=null?{versioning:h}:{},...o!=null?{guard:o}:{}});function w(){let e=r.toArray();D(()=>{m.down([[$]],{internal:!0}),m.down([[N,e]],{internal:!0})})}let u=new Map,l=new Map,_=new Map;function M(e,i){return`${e}:${i===void 0?"END":i}`}function y(e){if(e.size<G)return;let i=e.keys().next();if(i.done)return;let d=e.get(i.value);d!==void 0&&d.dispose(),e.delete(i.value)}function v(e){let i=r.version;try{return e()}finally{r.version!==i&&w()}}function P(e){if(!Number.isInteger(e)||e<0)throw new RangeError(`tail: n must be a non-negative integer (got ${e})`);let i=u.get(e);if(i!==void 0)return u.delete(e),u.set(e,i),i.node;y(u);let d=k([m],([f])=>{let c=f;return e===0||c.length===0?[]:c.slice(Math.max(0,c.length-e))},{initial:r.tail(e),describeKind:"derived"}),a=x(d);return u.set(e,{node:d,dispose:a}),d}function j(e,i){if(!Number.isInteger(e)||e<0)throw new RangeError(`slice: start must be a non-negative integer (got ${e})`);if(i!==void 0&&(!Number.isInteger(i)||i<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${i})`);let d=M(e,i),a=l.get(d);if(a!==void 0)return l.delete(d),l.set(d,a),a.node;y(l);let f=k([m],([p])=>{let T=p;return i===void 0?T.slice(e):T.slice(e,i)},{initial:r.slice(e,i),describeKind:"derived"}),c=x(f);return l.set(d,{node:f,dispose:c}),f}function q(e){let i=_.get(e);if(i!==void 0)return i.node;let d=k([m,e],([f,c])=>{let p=f,T=Math.max(0,Math.trunc(c??0));return p.slice(T)},{initial:[],describeKind:"derived"}),a=x(d);return _.set(e,{node:d,dispose:a}),d}let L,S;function R(){L===void 0&&(L=H([m],(e,i,d)=>{let a=e[0],c=a!=null&&a.length>0?a.at(-1):d.prevData[0];if(c==null||c.length===0){i.down([[K]]);return}i.emit(c[c.length-1])},{name:t!=null?`${t}::lastValue`:"lastValue",describeKind:"derived",initial:r.size===0?void 0:r.at(r.size-1)}),S=k([m],([e])=>e.length>0,{name:t!=null?`${t}::hasLatest`:"hasLatest",describeKind:"derived",initial:r.size>0}),x(L),x(S))}let I={entries:m,get size(){return r.size},at(e){return r.at(e)},append(e){v(()=>r.append(e))},appendMany(e){e.length!==0&&v(()=>r.appendMany(e))},clear(){v(()=>r.clear())},trimHead(e){v(()=>r.trimHead(e))},withLatest(){return R(),m},get lastValue(){return R(),L},get hasLatest(){return R(),S},view(e){switch(e.kind){case"tail":return P(e.n);case"slice":return j(e.start,e.stop);case"fromCursor":return q(e.cursor)}},attach(e){let i=e.subscribe(d=>{for(let a of d)a[0]===N&&I.append(a[1])});return()=>i()},attachStorage(e){if(e.length===0)return()=>{};let i=new Map;for(let a of e)i.set(a,r.size);(async()=>{for(let a of e)if(typeof a.loadEntries=="function")try{let f=await Promise.resolve(a.loadEntries());f.entries.length>0&&r.size===0&&(r.restore(f.entries),i.set(a,f.entries.length),w());break}catch{}})();let d=m.subscribe(a=>{for(let f of a){if(f[0]!==N)continue;let c=f[1];for(let p of e){let T=i.get(p)??0;if(c.length<T){try{let z=p.appendEntries(c);z instanceof Promise&&z.catch(()=>{})}catch{}i.set(p,c.length);continue}if(c.length===T)continue;let F=c.slice(T);i.set(p,c.length);try{let z=p.appendEntries(F);z instanceof Promise&&z.catch(()=>{})}catch{}}}});return()=>d()},disposeAllViews(){for(let e of u.values())e.dispose();u.clear();for(let e of l.values())e.dispose();l.clear();for(let e of _.values())e.dispose();_.clear()},dispose(){for(let e of u.values())e.dispose();u.clear();for(let e of l.values())e.dispose();l.clear();for(let e of _.values())e.dispose();_.clear()}};return I}var V=new WeakMap;function Z(g){let n=V.get(g);if(n)return n;let t=g.map(u=>u.cache??[]),s=t.flat(),h=A(s,{name:"mergeReactiveLogs",describeKind:"state",equals:(u,l)=>u===l}),o=g.map((u,l)=>[...t[l]??[]]),b=[];for(let u=0;u<g.length;u++){let l=u,_=g[l].subscribe(M=>{for(let y of M)if(y[0]===N)o[l]=[...y[1]],h.emit(o.flat());else if(y[0]===B){o[l]=[];let v=b[l];v!==void 0&&(b[l]=void 0,v())}else y[0]===E&&h.down([[E,y[1]]])});b.push(_)}let r=O(h),m=!1,w={node:h,dispose(){if(!m){m=!0;for(let u of b)u?.();b.length=0,r(),V.delete(g)}}};return V.set(g,w),w}export{C as a,Q as b,Z as c};
@@ -0,0 +1 @@
1
+ function n(x){return x>=768&&x<=879||x>=1155&&x<=1161||x>=1425&&x<=1469||x>=1552&&x<=1562||x>=1611&&x<=1631||x>=1648&&x===1648||x>=1750&&x<=1756||x>=1759&&x<=1764||x>=1767&&x<=1768||x>=1770&&x<=1773||x>=1840&&x<=1866||x>=1958&&x<=1968||x>=2304&&x<=2307||x>=2362&&x<=2383||x>=2385&&x<=2391||x>=2402&&x<=2403||x>=2433&&x<=2435||x>=2492&&x<=2509||x>=2561&&x<=2563||x>=2620&&x<=2641||x>=2672&&x<=2673||x>=2677&&x===2677||x>=3633&&x===3633||x>=3636&&x<=3642||x>=3655&&x<=3662||x>=3761&&x===3761||x>=3764&&x<=3772||x>=3784&&x<=3790||x>=7616&&x<=7679||x>=8400&&x<=8447||x>=65024&&x<=65039||x>=65056&&x<=65071||x===8205?0:x>=4352&&x<=4447||x>=8986&&x<=8987||x>=9001&&x<=9002||x>=9193&&x<=9203||x>=9208&&x<=9210||x>=9725&&x<=9726||x>=9748&&x<=9749||x>=9800&&x<=9811||x===9855||x===9875||x===9889||x>=9898&&x<=9899||x>=9917&&x<=9918||x>=9924&&x<=9925||x===9934||x===9940||x===9962||x>=9970&&x<=9971||x===9973||x===9978||x===9981||x===9986||x===9989||x>=9992&&x<=9997||x===9999||x>=10067&&x<=10069||x===10071||x>=10133&&x<=10135||x===10160||x===10175||x>=10548&&x<=10549||x>=11013&&x<=11015||x>=11035&&x<=11036||x===11088||x===11093||x>=11904&&x<=12350||x>=12352&&x<=12447||x>=12448&&x<=12543||x>=12549&&x<=12591||x>=12593&&x<=12686||x>=12688&&x<=12771||x>=12784&&x<=12830||x>=12832&&x<=12871||x>=12880&&x<=19903||x>=19968&&x<=40959||x>=43360&&x<=43388||x>=44032&&x<=55203||x>=63744&&x<=64255||x>=65040&&x<=65049||x>=65072&&x<=65131||x>=65281&&x<=65376||x>=65504&&x<=65510||x>=126980&&x===126980||x===127183||x>=127344&&x<=127345||x===127358||x===127359||x===127374||x>=127377&&x<=127386||x>=127456&&x<=127487||x>=127488&&x<=127490||x===127514||x===127535||x>=127538&&x<=127546||x>=127568&&x<=127569||x>=127744&&x<=129535||x>=129536&&x<=129791||x>=129792&&x<=130047||x>=131072&&x<=196605||x>=196608&&x<=262141?2:1}function u(x){let f=0;for(let a of x)f+=n(a.codePointAt(0));return f}function l(x,f){if(f<=0)return"";let a=0,t="";for(let b of x){let r=n(b.codePointAt(0));if(a+r>f){if(f<=1)return"\u2026";for(;a+1>f&&t.length>0;){let i=[...t].pop();t=t.slice(0,-i.length),a-=n(i.codePointAt(0))}return`${t}\u2026`}t+=b,a+=r}return t}export{u as a,l as b};
@@ -1 +1 @@
1
- import{m as x,x as w}from"./chunk-RZ5HKPGI.js";import{i as g,j as p}from"./chunk-CK2E7BTU.js";async function k(o){let i=typeof o=="string"?new TextEncoder().encode(o):o,c=await globalThis.crypto.subtle.digest("SHA-256",i),t=new Uint8Array(c),n="";for(let r=0;r<t.length;r++)n+=b[t[r]];return n}var b=new Array(256);for(let o=0;o<256;o++)b[o]=o.toString(16).padStart(2,"0");var m=class extends Error{constructor(c,t){super(`content-addressed lookup miss in read-strict mode: ${c}`);this.key=c;this.context=t;this.name="ContentAddressedMissError"}};function T(o){let i=new Set,c=t=>{if(t===null||typeof t!="object")return t;let n=t;if(i.has(n))return{__cycle:!0};i.add(n);try{if(Array.isArray(t))return t.map(c);let r={};for(let d of Object.keys(t).sort())r[d]=c(t[d]);return r}finally{i.delete(n)}};return JSON.stringify(c(o))}function P(o){let{storage:i,keyContext:c,keyPrefix:t,mode:n="read-write"}=o,r=c??(e=>e);async function d(e){let s=T(r(e)),a=await k(s);return t?`${t}:${a}`:a}return{keyFor:d,async lookup(e){if(n==="write")return;let s=await d(e),a=await i.load(s);if(a===void 0){if(n==="read-strict")throw new m(s,e);return}return a},async store(e,s){if(n==="read")return;let a=await d(e);await i.save(a,s)},async forget(e){if(n==="read"||n==="write"||!i.delete)return;let s=await d(e);await i.delete(s)}}}function K(o,i={}){let c=i.keyFn??(n=>String(n)),t=new Map;return n=>{let r=c(n),d=t.get(r);if(d)return d;let e=o(n),s;e!=null&&typeof e.then=="function"?s=Promise.resolve(e):e!=null&&typeof e=="object"&&"subscribe"in e&&"cache"in e?s=w(e):e!=null&&typeof e=="object"&&Symbol.asyncIterator in e?s=(async()=>{let u=e[Symbol.asyncIterator]();try{let{value:l,done:f}=await u.next();if(f)throw new Error("singleFromAny: factory returned empty async iterable");return l}finally{await u.return?.()}})():e!=null&&typeof e=="object"&&Symbol.iterator in e?s=(async()=>{let u=e[Symbol.iterator]();try{let{value:l,done:f}=u.next();if(f)throw new Error("singleFromAny: factory returned empty iterable");return l}finally{u.return?.()}})():s=Promise.resolve(e);let a,y=()=>{t.get(r)===a&&t.delete(r)};return a=s.then(u=>(y(),u),u=>{throw y(),u}),t.set(r,a),a}}function j(o,i={}){let c=i.keyFn??(n=>String(n)),t=new Map;return n=>{let r=c(n),d=t.get(r);if(d)return d;let e=x(o(n));t.set(r,e);let s=e.subscribe(a=>{for(let y of a)if(y[0]===p||y[0]===g){t.get(r)===e&&t.delete(r),s();return}});return e}}export{k as a,m as b,T as c,P as d,K as e,j as f};
1
+ import{m as x,x as w}from"./chunk-IA7DUNGB.js";import{i as g,j as p}from"./chunk-CK2E7BTU.js";async function k(o){let i=typeof o=="string"?new TextEncoder().encode(o):o,c=await globalThis.crypto.subtle.digest("SHA-256",i),t=new Uint8Array(c),n="";for(let r=0;r<t.length;r++)n+=b[t[r]];return n}var b=new Array(256);for(let o=0;o<256;o++)b[o]=o.toString(16).padStart(2,"0");var m=class extends Error{constructor(c,t){super(`content-addressed lookup miss in read-strict mode: ${c}`);this.key=c;this.context=t;this.name="ContentAddressedMissError"}};function T(o){let i=new Set,c=t=>{if(t===null||typeof t!="object")return t;let n=t;if(i.has(n))return{__cycle:!0};i.add(n);try{if(Array.isArray(t))return t.map(c);let r={};for(let d of Object.keys(t).sort())r[d]=c(t[d]);return r}finally{i.delete(n)}};return JSON.stringify(c(o))}function P(o){let{storage:i,keyContext:c,keyPrefix:t,mode:n="read-write"}=o,r=c??(e=>e);async function d(e){let s=T(r(e)),a=await k(s);return t?`${t}:${a}`:a}return{keyFor:d,async lookup(e){if(n==="write")return;let s=await d(e),a=await i.load(s);if(a===void 0){if(n==="read-strict")throw new m(s,e);return}return a},async store(e,s){if(n==="read")return;let a=await d(e);await i.save(a,s)},async forget(e){if(n==="read"||n==="write"||!i.delete)return;let s=await d(e);await i.delete(s)}}}function K(o,i={}){let c=i.keyFn??(n=>String(n)),t=new Map;return n=>{let r=c(n),d=t.get(r);if(d)return d;let e=o(n),s;e!=null&&typeof e.then=="function"?s=Promise.resolve(e):e!=null&&typeof e=="object"&&"subscribe"in e&&"cache"in e?s=w(e):e!=null&&typeof e=="object"&&Symbol.asyncIterator in e?s=(async()=>{let u=e[Symbol.asyncIterator]();try{let{value:l,done:f}=await u.next();if(f)throw new Error("singleFromAny: factory returned empty async iterable");return l}finally{await u.return?.()}})():e!=null&&typeof e=="object"&&Symbol.iterator in e?s=(async()=>{let u=e[Symbol.iterator]();try{let{value:l,done:f}=u.next();if(f)throw new Error("singleFromAny: factory returned empty iterable");return l}finally{u.return?.()}})():s=Promise.resolve(e);let a,y=()=>{t.get(r)===a&&t.delete(r)};return a=s.then(u=>(y(),u),u=>{throw y(),u}),t.set(r,a),a}}function j(o,i={}){let c=i.keyFn??(n=>String(n)),t=new Map;return n=>{let r=c(n),d=t.get(r);if(d)return d;let e=x(o(n));t.set(r,e);let s=e.subscribe(a=>{for(let y of a)if(y[0]===p||y[0]===g){t.get(r)===e&&t.delete(r),s();return}});return e}}export{k as a,m as b,T as c,P as d,K as e,j as f};
@@ -0,0 +1 @@
1
+ import{A as e,n as t}from"./chunk-LYCLF26R.js";import{b as o}from"./chunk-CK2E7BTU.js";function u(r,n){r!=null&&t(i=>r.down(i),[[o,n]],e.tierOf)}function a(r){return r.relatedTo?.[0]??r.summary}export{u as a,a as b};
@@ -0,0 +1 @@
1
+ import{c as O}from"./chunk-VJJLIEAL.js";import{f as B,m as K}from"./chunk-IA7DUNGB.js";import{p as b}from"./chunk-LYCLF26R.js";import{b as M,i as A,j as L}from"./chunk-CK2E7BTU.js";import{b as H}from"./chunk-QYADASLV.js";var Y={};H(Y,{processInstanceKeyOf:()=>J,processManager:()=>X});var J=i=>i.correlationId;function V(i){if(i==null)return Promise.resolve(void 0);let y=K(i);return new Promise((s,v)=>{let u=!1,f,r=()=>{f&&f()};f=y.subscribe(a=>{if(!u)for(let o of a){if(o[0]===M){u=!0,Promise.resolve().then(r),s(o[1]);return}if(o[0]===L){u=!0,Promise.resolve().then(r),v(o[1]);return}if(o[0]===A){u=!0,Promise.resolve().then(r),s(void 0);return}}})})}async function Q(i,y,s,v,u){let f;for(let r=0;r<=v;r++){if(r>0){let a=u[Math.min(r-1,u.length-1)]??0;a>0&&await new Promise(o=>setTimeout(o,a))}try{return await V(i(y,s))}catch(a){f=a}}return{outcome:"failure",error:f}}function X(i,y,s){let v=s.retryMax??0,u=s.backoffMs??[0],f=1024,r=new Map,a=new Set,o=new Map,k=O({name:`${y}_process_instances`,retainedLimit:f,graph:i}),j=0;function $(){return++j}function S(e,t,n){C(e,t,n,void 0)}function C(e,t,n,c){let d=b(),g={correlationId:e,state:t,status:n,startedAt:o.get(e)??d,updatedAt:d,t_ns:d,seq:$(),...s.handlerVersion!==void 0?{handlerVersion:s.handlerVersion}:{},...c!==void 0?{reason:c}:{}};k.append(g)}let _=`_process_${y}_started`;i.event(_),s.persistence?.eventStorage&&i.attachEventStorage(s.persistence.eventStorage);async function x(e,t,n,c){if(a.delete(e),r.delete(e),o.delete(e),s.compensate)try{await V(s.compensate(t,n)),C(e,t,"compensated",c)}catch{S(e,t,"errored")}else S(e,t,"errored")}async function D(e,t){if(a.has(e)){if(t.outcome==="failure"){let n=r.get(e)??s.initial;await x(e,n,t.error);return}if(t.outcome==="success"){if(r.set(e,t.state),t.emit)for(let n of t.emit)try{i._appendEvent(n.type,n.payload,{correlationId:e,aggregateId:e})}catch{}if(S(e,t.state,"running"),s.isTerminal?.(t.state)){a.delete(e),r.delete(e),o.delete(e),S(e,t.state,"terminated");return}if(t.schedule){let{afterMs:n,eventType:c}=t.schedule,d,g=B(n),m=p=>{for(let T of p)if(T[0]===M){if(d?d():queueMicrotask(()=>d?.()),!a.has(e))return;let E=r.get(e);if(E===void 0)return;let l=s.steps[c];if(!l)return;let w={type:c,payload:null,timestampNs:b(),seq:Number.NaN,correlationId:e,aggregateId:e};q(e,l,E,w)}};d=g.subscribe(m)}return}if(t.outcome==="terminate"){if(r.set(e,t.state),t.emit)for(let n of t.emit)try{i._appendEvent(n.type,n.payload,{correlationId:e,aggregateId:e})}catch{}a.delete(e),r.delete(e),o.delete(e),S(e,t.state,"terminated")}}}let h=new Map;function q(e,t,n,c){let g=(h.get(e)??Promise.resolve()).then(async()=>{let m=r.get(e);if(m===void 0||!a.has(e))return;let p;try{p=await Q(t,m,c,v,u)}catch(T){await x(e,r.get(e)??s.initial,T);return}await D(e,p)});h.set(e,g),g.finally(()=>{h.get(e)===g&&h.delete(e)})}let P=!1,R=[];for(let e of s.watching){let t=i.event(e),n=0;n=(t.cache??[]).length;let d=t.subscribe(g=>{for(let m of g){if(m[0]!==M)continue;let p=m[1];if(p.length<=n)continue;let T=p.slice(n);n=p.length;for(let E of T){let l=E.correlationId;if(l===void 0||!a.has(l))continue;let w=s.steps[e];if(!w)continue;let N=r.get(l);N!==void 0&&q(l,w,N,E)}}});R.push(d)}function W(e,t){if(P||a.has(e))return;let n=b();o.set(e,n),r.set(e,s.initial),a.add(e);try{i._appendEvent(_,t??null,{correlationId:e,aggregateId:e})}catch{}S(e,s.initial,"running")}function F(e,t){if(P||!a.has(e))return;let n=r.get(e)??s.initial;x(e,n,new Error(`cancelled: ${t??"no reason given"}`),t)}function U(e){return r.get(e)}function z(){if(!P){P=!0;for(let e of R)try{e()}catch{}R.length=0}}return{instances:k,audit:k,start:W,cancel:F,getState:U,dispose:z}}export{J as a,X as b,Y as c};
@@ -0,0 +1,61 @@
1
+ import{h as Lt}from"./chunk-7QFRK3N3.js";import{a as kt,b as xt,c as Rt,d as wt}from"./chunk-HX3EGQ5Z.js";import{c as vt}from"./chunk-NQI2C36M.js";import{a as zt,b as Zt,c as er,d as tr,e as rr,f as Be,g as nr}from"./chunk-GEAO3TL3.js";import{a as Ge,b as V,c as Le,d as de,e as X,f as U,g as Yt,h as Fe,i as Jt,j as Qt,k as Xt}from"./chunk-TFPZLQ5H.js";import{f as $e}from"./chunk-N7UIBZCW.js";import{b as Tt}from"./chunk-WHIZM6JV.js";import{a as Mt}from"./chunk-ZJ7SM3G2.js";import{b as ut,c as Re,d as mt,f as _e}from"./chunk-IUB4NYI2.js";import{a as dt}from"./chunk-L6NSJVJZ.js";import{i as se}from"./chunk-7JRF5YEK.js";import{a as Q}from"./chunk-ESMPEKEV.js";import{R as bt,b as yt,s as ht,x as $}from"./chunk-L7WY6TZS.js";import{b as xe,c as J}from"./chunk-35JTVPOX.js";import{b as we}from"./chunk-TZQPPQEQ.js";import{b as pe}from"./chunk-AU7YTQX7.js";import{A as gt,C as _,f as ct,k as je,l as pt,m as L,x as ae,z as ft}from"./chunk-IA7DUNGB.js";import{D as le,E as w,F as oe,G as v,H as te,m as Y,o as q,p as Te}from"./chunk-LYCLF26R.js";import{b as B,d as ce,i as ee,j as W}from"./chunk-CK2E7BTU.js";import{b as Ht}from"./chunk-QYADASLV.js";var en={};Ht(en,{AgentLoopGraph:()=>Pe,AllTiersExhaustedError:()=>rr,BudgetExhaustedError:()=>Ce,ChatStreamGraph:()=>Oe,CircuitOpenError:()=>Re,DEFAULT_DECAY_RATE:()=>ot,FallbackMissError:()=>Qt,LLMTimeoutError:()=>ge,ReplayCacheMissError:()=>Yt,ToolRegistryGraph:()=>De,admissionFilter3D:()=>Vr,admissionScored:()=>Ft,agentLoop:()=>$r,agentMemory:()=>qr,anthropicAdapter:()=>zt,canonicalJson:()=>Jt,cascadingLlmAdapter:()=>Be,chatStream:()=>Ze,composePricing:()=>dr,computePrice:()=>We,contentGate:()=>jr,costMeterExtractor:()=>Er,createAdapter:()=>tr,createCapabilitiesRegistry:()=>or,createPricingRegistry:()=>ir,dryRunAdapter:()=>Ge,fallbackAdapter:()=>Xt,frozenContext:()=>wr,gatedStream:()=>Ar,gaugesAsContext:()=>Hr,googleAdapter:()=>Zt,graphFromSpec:()=>Wt,graphFromSpecReactive:()=>zr,handoff:()=>Wr,keywordFlagExtractor:()=>Or,knobsAsTools:()=>Jr,llmConsolidator:()=>nt,llmExtractor:()=>rt,memoryRetrieval:()=>lt,memoryWithKG:()=>st,memoryWithTiers:()=>it,memoryWithVectors:()=>at,observableAdapter:()=>ar,openAICompatAdapter:()=>er,parseRateLimitFromError:()=>qe,pricingFor:()=>ur,promptNode:()=>Xe,redactor:()=>Gr,registryPricing:()=>lr,resilientAdapter:()=>vr,streamExtractor:()=>Dr,streamingPromptNode:()=>Nr,suggestStrategy:()=>Kt,suggestStrategyReactive:()=>Xr,systemPromptBuilder:()=>Cr,tier:()=>nr,toolCallExtractor:()=>_r,toolExecution:()=>et,toolRegistry:()=>tt,toolSelector:()=>Kr,validateGraphDef:()=>Zr,withBreaker:()=>Ke,withBudgetGate:()=>Ue,withDryRun:()=>cr,withRateLimiter:()=>ze,withReplayCache:()=>Fe,withRetry:()=>Ye,withTimeout:()=>Je,zeroPrice:()=>Ae});function Me(t,e){return`${t}::${e}`}function or(t){let e=we({name:"capabilitiesRegistry"}),r=i=>{e.set(Me(i.provider,i.id),i)};if(t)for(let i of t)r(i);let n=(i,d)=>{let m=e.get(Me(i,d));if(m)return m;let c=e.entries.cache;if(!c)return;let p;for(let[,g]of c){if(g.provider!==i)continue;let y=g.id;d.startsWith(y)&&(!p||y.length>p.id.length)&&(p=g)}return p},o=128,a=new Map,s=new Map,l=(i,d,m,c)=>{for(i.has(d)&&i.delete(d),i.set(d,m);i.size>c;){let p=i.keys().next().value;if(p===void 0)break;i.delete(p)}},u=v([e.entries],([i])=>Array.from(i.values()),{name:"capabilitiesRegistry/entries",initial:[]});return{register:r,lookup:n,remove(i,d){let m=e.has(Me(i,d));return m&&e.delete(Me(i,d)),m},entries(){let i=e.entries.cache;return(function*(){if(i)for(let d of i.values())yield d})()},lookupNode(i,d){let m=Me(i,d),c=a.get(m);if(c)return a.delete(m),a.set(m,c),c;let p=v([e.entries],()=>n(i,d),{name:`capabilitiesRegistry/lookup/${i}::${d}`,initial:void 0});return l(a,m,p,o),p},entriesNode:u,byProvider(i){let d=s.get(i);if(d)return s.delete(i),s.set(i,d),d;let m=v([u],([c])=>c.filter(p=>p.provider===i),{name:`capabilitiesRegistry/byProvider/${i}`,initial:[]});return l(s,i,m,o),m}}}function H(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 re(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 ar(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+H(h.usage),0),{name:"adapterStats/totalInputTokens",initial:0}),l=v([n.entries],([y])=>y.reduce((f,h)=>f+re(h.usage),0),{name:"adapterStats/totalOutputTokens",initial:0}),u=[_(a),_(s),_(l)],i=y=>{n.append(y),o.emit(y)},d=()=>{n.clear(),o.emit(null)},m=V(t,{invoke(y,f){let h=q(),b=Te(),k=t.model??f?.model??"",x=A=>(i(de({provider:t.provider,model:t.model??f?.model??A.model??"",tier:f?.tier??A.tier,usage:A.usage??X(),startNs:h,startWallClockNs:b,method:"invoke"})),A),C=A=>{let D=A;i(de({provider:t.provider,model:k,tier:f?.tier,usage:X(),startNs:h,startWallClockNs:b,method:"invoke",error:{type:D?.name??"Error",message:D?.message??String(A)}}))};return Le(t.invoke(y,f),{onResp:x,onError:C,name:"adapterStats/invokeTap"})},async*stream(y,f){let h=q(),b=Te(),k=t.model??f?.model??"",x;try{for await(let C of t.stream(y,f))C.type==="usage"&&(x=C.usage),yield C;i(de({provider:t.provider,model:k,tier:f?.tier,usage:x??X(),startNs:h,startWallClockNs:b,method:"stream"}))}catch(C){let A=C;throw i(de({provider:t.provider,model:k,tier:f?.tier,usage:x??X(),startNs:h,startWallClockNs:b,method:"stream",error:{type:A?.name??"Error",message:A?.message??String(C)}})),C}}});U(m,"observableAdapter",t);let c=!1;return{adapter:m,stats:{lastCall:o,allCalls:n,totalCalls:a,totalInputTokens:s,totalOutputTokens:l,reset:d,dispose:()=>{if(!c){c=!0;for(let y of u)y();u.length=0}}}}}function sr(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=H(t),o=e.currency??"USD",a=r?.withBreakdown===!0,s=a?{}:null,l=0,u=(f,h,b)=>{if(!h||b==null)return;let k=sr(b,n),x=h*k/1e6;l+=x,a&&(s[f]=(s[f]??0)+x)},i=t.input,d=e.input;if(d&&(u("input.regular",i.regular,d.regular),u("input.cacheRead",i.cacheRead??0,d.cacheRead),u("input.cacheWrite5m",i.cacheWrite5m??0,d.cacheWrite5m),u("input.cacheWrite1h",i.cacheWrite1h??0,d.cacheWrite1h),u("input.cacheWriteOther",i.cacheWriteOther??0,d.cacheWriteOther),u("input.audio",i.audio??0,d.audio),u("input.image",i.image??0,d.image),u("input.video",i.video??0,d.video),u("input.toolUse",i.toolUse??0,d.toolUse),i.extensions&&d.extensions))for(let[f,h]of Object.entries(i.extensions))u(`input.ext.${f}`,h,d.extensions[f]);let m=t.output,c=e.output;if(c&&(u("output.regular",m.regular,c.regular),u("output.reasoning",m.reasoning??0,c.reasoning),u("output.audio",m.audio??0,c.audio),u("output.predictionAccepted",m.predictionAccepted??0,c.predictionAccepted),u("output.predictionRejected",m.predictionRejected??0,c.predictionRejected),m.extensions&&c.extensions))for(let[f,h]of Object.entries(m.extensions))u(`output.ext.${f}`,h,c.extensions[f]);let p=r?.tier;if(p&&e.tierMultipliers){let f=e.tierMultipliers[p];if(f!=null&&(l*=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 k=h*b;l+=k,a&&(s[`auxiliary.${f}`]=k)}return a?{total:l,currency:o,breakdown:s}:{total:l,currency:o}}function Ne(t,e){return`${t}::${e}`}function ir(t){let e=new Map,r=new Map,n=(o,a,s)=>{e.set(Ne(o,a),{provider:o,model:a,pricing:s});let l=r.get(o);l||(l=new Set,r.set(o,l)),l.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 l=r.get(o);if(!l)return;let u;for(let i of l)if(a.startsWith(i)&&(!u||i.length>u.key.length)){let d=e.get(Ne(o,i));d&&(u={key:i,pricing:d.pricing})}return u?.pricing},remove(o,a){let s=e.delete(Ne(o,a));if(s){let l=r.get(o);l?.delete(a),l&&l.size===0&&r.delete(o)}return s},entries(){let o=e.values();return(function*(){for(let{provider:a,model:s,pricing:l}of o)yield[a,s,l]})()}}}function lr(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 dr(...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 ur(t,e,r){return t?.pricing?We(e,t.pricing,r):Ae()}function Ke(t,e={}){let r=e.breaker??mt(e),n=V(t,{async invoke(o,a){if(!r.canExecute())throw new Re;try{let s=await ae(L(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],([i])=>{let d=i;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(_(o),e.onExhausted!=null){let i=e.onExhausted,d=!1,m=!0;o.subscribe(c=>{for(let p of c)if(p[0]===B){let g=p[1];if(d&&m&&g===!1){let y=Ct(n.cache??Ve,e.caps);y&&i(y)}m=g,d=!0}})}let a=()=>{if(o.cache===!1){let i=n.cache??Ve,d=Ct(i,e.caps);return new Ce(d??"budget",e.caps[d??"calls"]??0,mr(i,d??"calls"))}},s=(i,d)=>{let m=t.provider,c=de({provider:m,model:d.model,tier:d.tier,usage:i,startNs:d.startNs,method:d.method,...d.error?{error:d.error}:{}});r.append(c);let p=n.cache??Ve,g=e.pricingFn?p.usd+e.pricingFn(i,{model:d.model,provider:m,tier:d.tier}).total:p.usd;n.emit({calls:p.calls+1,inputTokens:p.inputTokens+H(i),outputTokens:p.outputTokens+re(i),usd:g})},l=()=>{r.clear(),n.emit(At())},u=V(t,{invoke(i,d){let m=a();if(m)return Promise.reject(m);let c=q(),p=t.model??d?.model??"",g=f=>(s(f.usage??X(),{model:t.model??d?.model??f.model??"",tier:d?.tier??f.tier,startNs:c,method:"invoke"}),f),y=f=>{let h=f;s(X(),{model:p,tier:d?.tier,startNs:c,method:"invoke",error:{type:h?.name??"Error",message:h?.message??String(f)}})};return Le(t.invoke(i,d),{onResp:g,onError:y,name:"budgetGate/invokeTap"})},async*stream(i,d){let m=a();if(m)throw m;let c=q(),p;try{for await(let g of t.stream(i,d))g.type==="usage"&&(p=g.usage),yield g;s(p??X(),{model:t.model??d?.model??"",tier:d?.tier,startNs:c,method:"stream"})}catch(g){let y=g;throw s(p??X(),{model:t.model??d?.model??"",tier:d?.tier,startNs:c,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:l}}}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 mr(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 cr(t,e){let r=e.mock??Ge({provider:t.provider,model:t.model}),n=typeof e.enabled=="boolean"?e.enabled:void 0,o=n===void 0?L(e.enabled):void 0,a;o&&(a=_(o));let s=()=>n!==void 0?n:!!o?.cache,l=V(t,{invoke(i,d){return s()?r.invoke(i,d):t.invoke(i,d)},stream(i,d){return s()?r.stream(i,d):t.stream(i,d)}});return U(l,"withDryRun",t),{adapter:l,dispose:()=>{a&&(a(),a=void 0)}}}function qe(t){if(t==null||typeof t!="object")return;let e=t,r=e.status,n=pr(e.headers);if(r!==429&&r!==503&&!Tr(e.message))return;let o={},a=n("retry-after"),s=gr(a);s!=null&&(o.retryAfterMs=s);let l=n("anthropic-ratelimit-requests-reset");if(l){let p=St(l);p!=null&&(o.retryAfterMs=Math.max(o.retryAfterMs??0,p))}let u=n("anthropic-ratelimit-tokens-reset");if(u){let p=St(u);p!=null&&(o.retryAfterMs=Math.max(o.retryAfterMs??0,p))}let i=Se(n,"x-ratelimit-limit-requests");i!=null&&(o.rpmCap=i);let d=Se(n,"x-ratelimit-limit-tokens");d!=null&&(o.tpmCap=d);let m=Se(n,"x-ratelimit-remaining-requests"),c=Se(n,"x-ratelimit-remaining-tokens");if(m!=null&&i!=null&&i>0&&(o.usageHint??={},o.usageHint.rpm=1-m/i),c!=null&&d!=null&&d>0&&(o.usageHint??={},o.usageHint.tpm=1-c/d),o.retryAfterMs==null&&e.message){let p=hr(e.message);p!=null&&(o.retryAfterMs=p)}return e.headers&&(o.metadata={headers:fr(e.headers)}),o.retryAfterMs==null&&o.rpmCap==null&&o.tpmCap==null&&o.usageHint==null?o.metadata?o:void 0:o}function pr(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 fr(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 gr(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 yr=/retry\s+(?:in|after)\s+(\d+(?:\.\d+)?)\s*(ms|s|sec|seconds?|m|min|minutes?)/i;function hr(t){let e=yr.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 br=/rate\s*limit|too\s*many\s*requests|quota|429/i;function Tr(t){return!!t&&br.test(t)}function He(t){let e=new Error(t);return e.name="AbortError",e}function It(t={}){let e=Math.max(1,t.burstMultiplier??1),r=t.clampCooldownMs??6e4,n=t.rpm!=null?L(t.rpm):w(Number.POSITIVE_INFINITY),o=t.tpm!=null?L(t.tpm):w(Number.POSITIVE_INFINITY),a=w(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/signalRpmCap"}),s=w(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/signalTpmCap"}),l=w({},{name:"adaptiveRateLimiter/lastSignal"}),u=v([n,a],([T,O])=>Math.min(Number(T??1/0),Number(O??1/0)),{name:"adaptiveRateLimiter/effectiveRpm"}),i=v([o,s],([T,O])=>Math.min(Number(T??1/0),Number(O??1/0)),{name:"adaptiveRateLimiter/effectiveTpm"}),d=fe(Number(n.cache??Number.POSITIVE_INFINITY),e),m=fe(Number(o.cache??Number.POSITIVE_INFINITY),e),c=!1,p=!1,g=u.subscribe(T=>{for(let O of T)if(O[0]===B){let P=Number(O[1]);Number.isFinite(P)&&P>0?(d=fe(P,e),c=!1):P===1/0?(d=fe(1/0,e),c=!1):P<=0&&(c=!0)}}),y=i.subscribe(T=>{for(let O of T)if(O[0]===B){let P=Number(O[1]);Number.isFinite(P)&&P>0?(m=fe(P,e),p=!1):P===1/0?(m=fe(1/0,e),p=!1):P<=0&&(p=!0)}}),f=0,h=new Q,b=new Q,k;t.adaptation!=null&&(k=L(t.adaptation).subscribe(O=>{for(let P of O)P[0]===B&&x(P[1])}));function x(T){if(l.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 O=q()+T.retryAfterMs*1e6;O>f&&(f=O)}}let C=w(0,{name:"adaptiveRateLimiter/pending"}),A=w(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/rpmAvailable"}),D=w(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/tpmAvailable"}),j=T=>{C.emit((C.cache??0)+T)},E=()=>{A.emit(d.available()),D.emit(m.available())};async function I(T={}){let O=T.requestCost??1,P=T.tokenCost??0,K=T.signal;j(1);try{for(;;){if(K?.aborted)throw He("AdaptiveRateLimiter.acquire aborted");let Z=q();if(f>Z){let M=Math.ceil((f-Z)/1e6);await Ee(M,K);continue}if(O>0&&c||P>0&&p){await Ee(250,K);continue}let ie=d,ue=m;if(!ie.tryConsume(O)){await Ee(Et(ie,O),K);continue}if(!(P>0?ue.tryConsume(P):!0)){ie.putBack(O),await Ee(Et(ue,P),K);continue}E();return}}finally{j(-1)}}function S(T){T>0?m.tryConsume(T):T<0&&m.putBack(-T),E()}function G(){g(),y(),k?.(),h.cancel(),b.cancel()}return{effectiveRpm:u,effectiveTpm:i,lastSignal:l,pending:C,rpmAvailable:A,tpmAvailable:D,acquire:I,recordUsage:S,recordSignal:x,dispose:G}}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 Q,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??It({name:e.name??"rateLimiter",rpm:e.rpm,tpm:e.tpm,adaptation:e.adaptation,burstMultiplier:e.burstMultiplier}),n=(s,l)=>e.costFn?e.costFn(s,l):0,o=s=>{let l=qe(s);l&&r.recordSignal(l)},a=V(t,{async invoke(s,l){let u=n(s,l);await r.acquire({requestCost:1,tokenCost:u,signal:l?.signal});try{let i=await ae(L(t.invoke(s,l))),d=i.usage??Nt(),c=H(d)+re(d)-u;return c>0&&r.recordUsage(c),i}catch(i){throw o(i),i}},async*stream(s,l){let u=n(s,l);await r.acquire({requestCost:1,tokenCost:u,signal:l?.signal});try{let i=0;for await(let m of t.stream(s,l))m.type==="usage"&&(i=H(m.usage)+re(m.usage)),yield m;let d=i-u;d>0&&r.recordUsage(d)}catch(i){throw o(i),i}}});return U(a,"withRateLimiter",t),{adapter:a,limiter:r}}function Ie(t="aborted"){let e=new Error(t);return e.name="AbortError",e}function Ot(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(Ie()):new Promise((r,n)=>{let o=new Q,a,s=()=>{o.cancel(),e&&a&&e.removeEventListener("abort",a)};o.start(t,()=>{s(),r()}),e&&(a=()=>{s(),n(Ie())},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,l=e.shouldRetry??Mr,u=e.retryStreaming??!0,i=(m,c)=>{if(a==="decorrelated"){let f=Math.min(o,Math.max(n,c*3));return n+Math.random()*(f-n)}let p=a==="exp"?n*2**(m-1):n*m,g=Math.min(o,p);if(!s)return g;let y=g*(.5+Math.random());return Math.min(o,y)},d=V(t,{async invoke(m,c){if(c?.signal?.aborted)throw Ie();let p,g=n;for(let y=1;y<=r;y++)try{return await ae(L(t.invoke(m,c)))}catch(f){if(p=f,y>=r||!l(f,y))throw f;let h=i(y,g);g=h,await Ot(h,c?.signal)}throw p},async*stream(m,c){if(c?.signal?.aborted)throw Ie();if(!u){for await(let y of t.stream(m,c))yield y;return}let p,g=n;for(let y=1;y<=r;y++){let f=!1;try{for await(let h of t.stream(m,c))f=!0,yield h;return}catch(h){if(p=h,f||y>=r||!l(h,y))throw h;let b=i(y,g);g=b,await Ot(b,c?.signal)}}throw p}});return U(d,"withRetry",t),d}function Mr(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,l=!1,u,i=new Q;return a&&(a.aborted?s.abort(a.reason):(u=()=>{i.cancel(),s.abort(a.reason)},a.addEventListener("abort",u,{once:!0}))),i.start(e,()=>{l=!0,s.abort(new ge(e))}),{signal:s.signal,cancel:()=>{i.cancel(),a&&u&&a.removeEventListener("abort",u)},timedOut:()=>l}},n=(a,s)=>{if(!s||a instanceof ge)throw a;let l=a;if(l?.name==="AbortError"||l?.name==="DOMException"&&Number(l.code)===20||a?.message==="aborted"){let i=new ge(e);throw i.cause=a,i}throw a},o=V(t,{async invoke(a,s){let{signal:l,cancel:u,timedOut:i}=r(s?.signal);try{return await ae(L(t.invoke(a,{...s,signal:l})))}catch(d){return n(d,i())}finally{u()}},async*stream(a,s){let{signal:l,cancel:u,timedOut:i}=r(s?.signal);try{for await(let d of t.stream(a,{...s,signal:l}))yield d}catch(d){n(d,i())}finally{u()}}});return U(o,"withTimeout",t),o}function vr(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=Fe(n,e.cache)),r.adapter=n,r}function N(t,e){return dt("ai",t,e)}function kr(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 xr(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 Q,s=t.subscribe(l=>{for(let u of l){if(u[0]===B){a.cancel(),s(),n(u[1]);return}if(u[0]===W){a.cancel(),s(),o(u[1]);return}if(u[0]===ee){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 ve(t){return kr(t)?ve(await t):Qe(t)?Dt(t):xr(t)?Dt(L(t)):t}function ye(t){let e=t.match(/^```(?:json)?\s*([\s\S]*?)\s*```[\s\S]*$/);return e?e[1]:t}function wr(t,e){let r=L(t),n=e?.refreshTrigger!=null?L(e.refreshTrigger):null,o=e?.name!==void 0?{name:e.name}:void 0,a=J("frozenContext",o);return n==null?le([r],(s,l,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,l.emit(m),{invalidate:()=>{u.store.emitted=!1}}},{name:e?.name??"frozenContext",describeKind:"derived",initial:null,meta:N("frozen_context",{...a})}):le([r,n],(s,l,u)=>{let i=s[1];if(!(i!=null&&i.length>0))return;let m=s[0],c=m!=null&&m.length>0?m.at(-1):u.prevData[0];l.emit(c)},{name:e?.name??"frozenContext",describeKind:"derived",initial:null,meta:N("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 Lr(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=v(e,u=>{if(u.some(d=>d==null))return[];let i=typeof r=="string"?r:r(...u);return i?[{role:"user",content:i}]:[]},{name:`${a}::messages`,meta:N("prompt_node")});return $(s,u=>!u||u.length===0?w(null):oe(i=>{let d=!1,m=!1,c,p={model:n?.model,temperature:n?.temperature,maxTokens:n?.maxTokens,systemPrompt:n?.systemPrompt,...n?.tools!==void 0?{tools:n.tools}:{}};if(n?.abort){let h=gt(n.abort);p.signal=h.signal,c=h.dispose}let g;try{g=t.invoke(u,p)}catch(h){return d=!0,i.down([[W,h]]),()=>{c?.()}}let f=L(g).subscribe(h=>{if(!(m||d))for(let b of h){if(d)return;if(b[0]===B){let k=b[1];if(o==="raw")i.emit(k);else try{let x=Pt(k),C=o==="json"?JSON.parse(ye(x)):x;i.emit(C)}catch(x){let C=Pt(k),A=new Error(`promptNode: failed to parse LLM response as JSON: ${x.message}
2
+ Raw content (first 200 chars): ${Lr(C)}`);d=!0,i.down([[W,A]]);return}}else if(b[0]===W){d=!0,i.down([[W,b[1]]]);return}else if(b[0]===ee){d=!0,i.down([[ee]]);return}else i.down([b])}});return()=>{m=!0,f(),c?.()}},{name:`${a}::call`,meta:N("prompt_node::call")}),{name:`${a}::output`,meta:n?.meta?{...N("prompt_node::output"),...n.meta}:N("prompt_node::output")})}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:Te()}),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 Gt(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:N("accumulated_text"),initial:""})}function Nr(t,e,r,n){let o=n?.name??"llm",a=n?.format??"text",s=$e(`${o}/stream`,{...n?.retainedLimit!=null?{retainedLimit:n.retainedLimit}:{}}),l=v(e,m=>{if(m.some(p=>p==null))return[];let c=typeof r=="string"?r:r(...m);return c?[{role:"user",content:c}]:[]},{name:`${o}::messages`,meta:N("prompt_node::messages"),initial:[]}),u=$(l,m=>{let c=m;if(!c||c.length===0)return w(null);let p=new AbortController;async function*g(){try{let y=await _t(t,c,{model:n?.model,temperature:n?.temperature,maxTokens:n?.maxTokens,systemPrompt:n?.systemPrompt,signal:p.signal},s);yield jt(y,a)}finally{p.abort()}}return L(g())},{meta:J("streamingPromptNode")}),i=Gt(s,`${o}::accumulatedText`),d=_(u);return{output:u,deltaTopic:s,accumulatedText:i,dispose:()=>{d(),s.destroy()}}}function Ar(t,e,r,n,o,a){let s=w(0,{name:`${e}/cancel`}),l=0,u=[...n,s],i=a?.name??e,d=a?.format??"text",m=$e(`${i}/stream`,{...a?.retainedLimit!=null?{retainedLimit:a.retainedLimit}:{}}),c=v(u,D=>{let j=D.slice(0,-1);if(j.some(I=>I==null))return[];let E=typeof o=="string"?o:o(...j);return E?[{role:"user",content:E}]:[]},{name:`${i}::messages`,meta:N("prompt_node::messages"),initial:[]}),p=$(c,D=>{let j=D;if(!j||j.length===0)return w(null);let E=new AbortController;async function*I(){try{let S=await _t(r,j,{model:a?.model,temperature:a?.temperature,maxTokens:a?.maxTokens,systemPrompt:a?.systemPrompt,signal:E.signal},m);yield jt(S,d)}finally{E.abort()}}return L(I())},{meta:J("gatedStream")}),g=Gt(m,`${i}::accumulatedText`),y=yt(p,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=_(p),k=_(h.node),x=_(g);t.addDisposer(b),t.addDisposer(k),t.addDisposer(x);let C=h.reject.bind(h),A={...h,reject(D=1){Y(()=>{C(D),s.emit(++l)})}};return{output:h.node,deltaTopic:m,accumulatedText:g,gate:A,dispose:()=>{b(),k(),x(),m.destroy()}}}function Cr(t,e){let r=e?.separator??`
3
+
4
+ `,n=t.map(s=>typeof s=="string"?w(s):L(s)),o=v(n,s=>s.filter(l=>l!=null&&l!=="").join(r),{name:e?.name??"systemPrompt",describeKind:"derived",meta:N("system_prompt"),initial:""}),a=_(o);return Object.assign(o,{dispose:a})}var Sr=(t,e)=>t===e?!0:t.chunkCount===e.chunkCount&&t.charCount===e.charCount&&t.estimatedTokens===e.estimatedTokens&&t.estimated===e.estimated;function Er(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 l=a.store;s.type==="token"?(l.chunkCount+=1,l.charCount+=s.delta.length):s.type==="usage"&&(l.sawUsage=!0,l.usageTokens=H(s.usage)+re(s.usage));let u=l.sawUsage?l.usageTokens:Math.ceil(l.charCount/r);return{chunkCount:l.chunkCount,charCount:l.charCount,estimatedTokens:u,estimated:!l.sawUsage}},{name:e?.name??"cost-meter",describeKind:"derived",initial:n,meta:N("cost_meter_extractor"),equals:Sr})}var Ir=(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 l=a.store.flags,u=a.store.scannedTo,i=Math.max(0,u-r),d=s.slice(i),m=!1;for(let{pattern:c,label:p,compiled:g}of n){g.lastIndex=0;for(let y of d.matchAll(g)){let f=i+(y.index??0);f+y[0].length<=u||(l.push({label:p,pattern:c,match:y[0],position:f}),m=!0)}}return a.store.scannedTo=s.length,m?[...l]:l.slice()},{name:e.name??"keyword-flag-extractor",describeKind:"derived",initial:[],meta:N("keyword_flag_extractor"),equals:Ir})}function Dr(t,e,r){return v([t],([n])=>n==null?null:e(n),{name:r?.name??"extractor",describeKind:"derived",initial:null,meta:N("stream_extractor"),...r?.equals?{equals:r.equals}:{}})}var Pr=(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 _r(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,l=!1;for(;s<o.length;){let u=o.indexOf("{",s);if(u===-1){n.store.scanFrom=o.length;break}let i=0,d=-1,m=!1;for(let p=u;p<o.length;p++){let g=o[p];if(m)g==="\\"&&p+1<o.length?p++:g==='"'&&(m=!1);else if(g==='"')m=!0;else if(g==="{")i++;else if(g==="}"&&(i--,i===0)){d=p;break}}if(d===-1){n.store.scanFrom=u;break}let c=o.slice(u,d+1);try{let p=JSON.parse(c);typeof p.name=="string"&&p.arguments!=null&&typeof p.arguments=="object"&&(a.push({name:p.name,arguments:p.arguments,raw:c,startIndex:u}),l=!0)}catch{}s=d+1,n.store.scanFrom=s}return l?[...a]:a.slice()},{name:e?.name??"tool-call-extractor",describeKind:"derived",initial:[],meta:N("tool_call_extractor"),equals:Pr})}function jr(t,e,r,n){let o=r*(n?.hardMultiplier??1.5),a=typeof e!="function",s=[t];return a&&s.push(e),v(s,l=>{let u=l[0]??"";if(u.length===0)return"allow";let i=a?l[1]??0:e(u);return i>=o?"block":i>=r?"review":"allow"},{name:n?.name??"content-gate",initial:"allow"})}function Gr(t,e,r,n){let o=r??(()=>"[REDACTED]");function a(s){let l=s;for(let u of e){let i=u.global?u:new RegExp(u.source,`${u.flags}g`);l=l.replace(i,d=>o(d,u))}return l}return v([t],([s])=>a(s??""),{name:n?.name??"redactor",initial:""})}var Oe=class extends se{_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:N("chat_latest")}),this.add(this.latest,{name:"latest"}),this.addDisposer(_(this.latest)),this.messageCount=v([this.messages],([n])=>n.length,{name:"messageCount",describeKind:"derived",meta:N("chat_message_count"),initial:0}),this.add(this.messageCount,{name:"messageCount"}),this.addDisposer(_(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 Ze(t,e){return new Oe(t,e)}function et(t){let{toolCalls:e,tools:r}=t,n=t.retryCount??1,o=t.onError??"rescue",a=(s,l)=>{if(s===l)return!0;if(s.length!==l.length)return!1;for(let u=0;u<s.length;u++){let i=s[u],d=l[u];if(i?.id!==d?.id||i?.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 l=s.map(u=>Fr(u,r,n,o));return v(l,u=>u,{name:"toolExecution::batch",equals:a})})}function Fr(t,e,r,n){let o=ut(()=>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:bt(a,s=>({id:t.id,content:JSON.stringify({error:String(s)})}))}var De=class extends se{definitions;schemas;_bundle;constructor(e,r={}){super(e,r.graph),this._bundle=we({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:N("tool_schemas"),initial:[]}),this.add(this.schemas,{name:"schemas"}),this.addDisposer(_(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 oe(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 l=s.subscribe(u=>{o.down(u)});return()=>{a.abort(),l()}},{name:`executeReactive::${e}`,meta:N("tool_execute_reactive")})}getDefinition(e){return this._bundle.entries.cache?.get(e)}};function tt(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?pt(t,{signal:e}):je(Promise.resolve(t),{signal:e})}var Pe=class extends se{chat;tools;status;turn;aborted;lastResponse;toolCalls;toolResults;_terminalResult;_disposeRunWiring;_running=!1;_currentAbortController=null;constructor(e,r){if(super(e,r.graph),this.chat=Ze(`${e}-chat`,{maxMessages:r.maxMessages}),this.mount("chat",this.chat),this.tools=tt(`${e}-tools`),this.mount("tools",this.tools),r.tools)for(let R of r.tools)this.tools.register(R);this.status=w("idle",{name:"status",describeKind:"state",meta:N("agent_status")}),this.add(this.status,{name:"status"}),this.turn=w(0,{name:"turn",describeKind:"state",meta:N("agent_turn_count")}),this.add(this.turn,{name:"turn"}),this.aborted=w(!1,{name:"aborted",describeKind:"state",meta:N("agent_aborted")}),this.add(this.aborted,{name:"aborted"});let n=0,o=this.turn.subscribe(R=>{for(let M of R)M[0]===B&&(n=M[1])}),a=!1,s=this.aborted.subscribe(R=>{for(let M of R)M[0]===B&&(a=M[1])}),l=this.chat.messages.cache??[],u=this.chat.messages.subscribe(R=>{for(let M of R)M[0]===B&&(l=M[1])}),i=this.tools.schemas.cache??[],d=this.tools.schemas.subscribe(R=>{for(let M of R)M[0]===B&&(i=M[1])}),m=r.adapter,c=r.systemPrompt,p=r.model,g=r.temperature,y=r.maxTokens,f=r.maxTurns??10,h=r.stopWhen,b=this.chat,k=this.tools,x=this.status,C=this.turn,A=this.aborted,D=le([x],(R,M,F)=>{if(ke(R,F.prevData,0,"idle")!=="thinking"||a||n>=f){M.down([[ce]]);return}if(l.length===0){M.down([[ce]]);return}M.emit({messages:l,tools:i})},{name:"promptInput",describeKind:"derived",meta:N("agent_prompt_input",{closureReads:["aborted","turn","chat.messages","tools.schemas"]})}),j=$(D,R=>{let M=new AbortController;return this._currentAbortController=M,a&&M.abort(new Error("agentLoop: aborted")),L(m.invoke(R.messages,{tools:R.tools.length>0?R.tools:void 0,systemPrompt:c,model:p,temperature:g,maxTokens:y,signal:M.signal}),{signal:M.signal})},{equals:()=>!1}),E=w(null,{name:"lastResponse",describeKind:"state",meta:N("agent_last_response")});this.lastResponse=E;let I=le([E,x],(R,M,F)=>{let z=ke(R,F.prevData,0,null);if(ke(R,F.prevData,1,"idle")!=="acting"){M.down([[ce]]);return}let ne=z?.toolCalls;if(ne==null||ne.length===0){M.down([[ce]]);return}M.emit(ne)},{name:"toolCallsRaw",describeKind:"derived",meta:N("agent_tool_calls_raw")}),S=r.interceptToolCalls?r.interceptToolCalls(I):I;this.toolCalls=S;let G=et({toolCalls:S,tools:k,retryCount:1});this.toolResults=G;let T=te([j],([R])=>{if(a)return;let M=R,F=n+1,z=M.toolCalls!=null&&M.toolCalls.length>0,be=M.finishReason==="end_turn"&&(!M.toolCalls||M.toolCalls.length===0),ne=h?.(M)===!0,Ut=F>=f,qt=ne||be||!z||Ut?"done":"acting";Y(()=>{E.emit(M),x.emit(qt),C.emit(F),b.append("assistant",M.content,{toolCalls:M.toolCalls})})}),O=te([G],([R])=>{if(a)return;let M=R;if(M.length===0)return;let F=n>=f?"done":"thinking";Y(()=>{x.emit(F);for(let z of M)b.appendToolResult(z.id,z.content)})}),P=x.cache??"idle",K=x.subscribe(R=>{for(let M of R)M[0]===B&&(P=M[1])}),Z=te([A],([R])=>{R===!0&&(this._currentAbortController?.abort(new Error("agentLoop: aborted")),P!=="done"&&x.emit("done"))}),ie=_(T),ue=_(O),me=_(Z);this._terminalResult=le([x,E],(R,M,F)=>{let z=ke(R,F.prevData,0,"idle"),be=ke(R,F.prevData,1,null);if(z==="done"){if(be!=null){M.emit(be);return}let ne=new Error("agentLoop: aborted");ne.name="AbortError",M.down([[W,ne]]);return}if(z==="error"){M.down([[W,new Error("agentLoop: errored")]]);return}M.down([[ce]])},{name:"terminalResult",describeKind:"derived",meta:N("agent_terminal_result")}),this.add(D,{name:"promptInput"}),this.add(j,{name:"llmResponse"}),this.add(this.lastResponse,{name:"lastResponse"}),this.toolCalls===I?this.add(this.toolCalls,{name:"toolCalls"}):(this.add(I,{name:"toolCallsRaw"}),this.add(this.toolCalls,{name:"toolCalls"})),this.add(G,{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{Y(()=>{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=ft(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 ke(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 $r(t,e){let r=new Pe(t,e);return r.tagFactory("agentLoop",xe(e)),r}function Wr(t,e,r){let n=L(t),o=r?.condition!=null?L(r.condition):null,a=w(null,{name:r?.name?`${r.name}::null`:"handoff::null"});if(o==null)return $(n,l=>{if(l==null)return a;let u=w(l);return e(u)},{meta:J("handoff")});let s=v([n,o],([l,u])=>({v:l,open:u===!0}),{name:r?.name?`${r.name}::router`:"handoff::router",describeKind:"derived"});return $(s,({v:l,open:u})=>{if(l==null)return a;if(!u)return w(l);let i=w(l);return e(i)},{meta:J("handoff")})}function Kr(t,e,r){let n=L(t),o=e.map(s=>L(s)),a=[n,...o];return v(a,s=>{let l=s[0]??[],u=s.slice(1);return l.filter(i=>{for(let d of u)if(d!=null&&!d(i))return!1;return!0})},{name:r?.name??"tool-selector",describeKind:"derived",meta:{...N("tool_selector"),...J("toolSelector")},equals:(s,l)=>{let u=s,i=l;if(u.length!==i.length)return!1;for(let d=0;d<u.length;d++)if(u[d]!==i[d])return!1;return!0}})}function Ft(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 Vr(t){let e={persistence:t.persistenceThreshold??.3,personalValue:t.personalValueThreshold??.3},r=Ft({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 Bt(t,e,r,n){let o=r.name??n;return a=>{let s=w(a);return Xe(r.adapter,[s],l=>e(l),{name:o,format:"json",systemPrompt:t,model:r.model,temperature:r.temperature??0,maxTokens:r.maxTokens})}}function rt(t,e){let r=e.maxExistingKeys??100,n=Bt(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 nt(t,e){let r=Bt(t,n=>JSON.stringify({memories:n}),e,"llmConsolidator");return n=>{let o=[...n.entries()].map(([a,s])=>({key:a,value:s}));return r(o)}}var ot=Math.LN2/604800;function he(t){return t instanceof Map?t:new Map}function at(t,e,r){let n=Rt({dimension:r.dimension});t.add(n.entries,{name:"vectorIndex"});let a=te([e.store.entries],([s])=>{let l=he(s);for(let[u,i]of l){let d=r.embedFn(i);d&&n.upsert(u,d,i)}}).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=te([e.store.entries],([i])=>{let d=he(i);for(let[m,c]of d){let p=s(m,c);if(p){for(let g of p.entities??[])a.upsertEntity(g.id,g.value);for(let g of p.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??ot,o=r.maxActive??1e3,a=r.archiveThreshold??.1,s=r.permanentFilter??(()=>!1),l=xt("permanent",{ranked:!1});t.mount("permanent",l);let u=new Set,i=b=>u.has(b)?"permanent":he(e.store.entries.cache).has(b)?"active":"archived",d=(b,k)=>{u.add(b),l.upsert(b,k)},m=new Map,c=e.store.entries,p=r.context?L(r.context):w(null),y=te([c,p],([b,k])=>{let x=he(b),C=q(),A=[],D=[];for(let[E,I]of x){if(m.has(E)||m.set(E,C),s(E,I)){D.push({key:E,value:I});continue}let S=r.score(I,k),G=m.get(E)??C,T=Number(C-G)/1e9;Mt(S,T,n)<a&&A.push(E)}for(let E of m.keys())x.has(E)||m.delete(E);for(let{key:E,value:I}of D)u.has(E)||d(E,I);let j=x.size-u.size;if(j>o){let E=[...x.entries()].filter(([S])=>!u.has(S)).map(([S,G])=>({key:S,score:r.score(G,k)})).sort((S,G)=>S.score-G.score),I=j-o;for(let S=0;S<I&&S<E.length;S++){let G=E[S].key;A.includes(G)||A.push(G)}}A.length>0&&Y(()=>{for(let E of A)e.store.delete(E)})}).subscribe(()=>{}),f=null;r.archiveTier&&(f=t.attachSnapshotStorage([r.archiveTier],r.archiveStorageOptions??{}));let h=()=>{y(),f?.dispose()};return t.addDisposer(h),{tiers:{permanent:l,activeEntries:c,archiveHandle:f,tierOf:i,markPermanent:d},dispose:h}}function Ur(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,l=o.budget??2e3,u=o.contextWeight??0,i=o.context?L(o.context):w(null),d=(f,h,b)=>{let k=new Map,x=[];if(r&&b.vector){let I=b.vector,S=r.entries.cache;if(S&&S.size>0&&a>0){x=[...S.values()].map(T=>({id:T.id,score:kt(I,T.vector),...T.meta!==void 0?{meta:T.meta}:{}})).sort((T,O)=>O.score-T.score).slice(0,a);for(let T of x){let O=f.get(T.id);O&&k.set(T.id,{value:O,sources:new Set(["vector"])})}}}let C=[];if(n){let I=n.adjacencyOut.cache,S=n.adjacencyIn.cache,G=[...b.entityIds??[],...k.keys()],T=new Set,O=G;for(let P=0;P<s;P++){let K=[];for(let Z of O){if(T.has(Z))continue;T.add(Z);let ie=I?.get(Z)??[],ue=S?.get(Z)??[];for(let me of ie){let R=me.to;if(!T.has(R)){K.push(R);let M=f.get(R);if(M){let F=k.get(R);F?F.sources.add("graph"):k.set(R,{value:M,sources:new Set(["graph"])}),C.push(R)}}}for(let me of ue){let R=me.from;if(!T.has(R)){K.push(R);let M=f.get(R);if(M){let F=k.get(R);F?F.sources.add("graph"):k.set(R,{value:M,sources:new Set(["graph"])}),C.push(R)}}}}O=K}}for(let[I,S]of f)k.has(I)||k.set(I,{value:S,sources:new Set(["store"])});let A=b.context?.length??0,D=[];for(let[I,{value:S,sources:G}]of k){let T=o.contextOf?o.contextOf(S):void 0,O=o.score(S,h);if(u>0&&A>0){let K=Ur(b.context,T);K>0&&(O=O*(1+u*K/A))}let P=T?{key:I,value:S,score:O,sources:[...G],context:T}:{key:I,value:S,score:O,sources:[...G]};D.push(P)}D.sort((I,S)=>S.score-I.score);let j=[],E=0;for(let I of D){let S=o.cost(I.value);if(E+S>l&&j.length>0)break;j.push(I),E+=S}return{packed:j,trace:{vectorCandidates:x,graphExpanded:C,ranked:D,packed:j}}},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},c=w([],{name:"retrieval",describeKind:"state",meta:N("retrieval_pipeline"),equals:m});t.add(c,{name:"retrieval"});let p=w(null,{name:"retrievalTrace",describeKind:"state",meta:N("retrieval_trace")});return t.add(p,{name:"retrievalTrace"}),{retrieval:c,retrievalTrace:p,retrieve:f=>{let h=he(e.store.entries.cache),{packed:b,trace:k}=d(h,i.cache,f);return Y(()=>{c.emit(b),p.emit(k)}),b},retrieveReactive:f=>{let h=L(f),b=v([e.store.entries,i,h],([C,A,D])=>{if(D==null)return{packed:[],trace:null};let j=he(C),{packed:E,trace:I}=d(j,A,D);return{packed:E,trace:I}},{name:"retrievalReactive::result",describeKind:"derived",meta:N("retrieval_reactive_result"),initial:{packed:[],trace:null}}),x=te([b],([C])=>{let A=C;Y(()=>{c.emit(A.packed),A.trace&&p.emit(A.trace)})}).subscribe(()=>{});return t.addDisposer(x),v([b],([C])=>C.packed,{name:"retrievalReactive",describeKind:"derived",meta:N("retrieval_reactive"),initial:[],equals:m})}}}function qr(t,e,r){let n=new se(t,r.graph);n.tagFactory("agentMemory",xe(r));let o;if(r.extractFn)o=r.extractFn;else if(r.adapter&&r.extractPrompt)o=rt(r.extractPrompt,{adapter:r.adapter});else throw new Error("agentMemory: provide either extractFn or adapter + extractPrompt");let a=(b,k)=>{let x=k.cache??new Map,C=k.subscribe(A=>{for(let D of A)D[0]===B&&(x=D[1])});return n.addDisposer(C),$(b,A=>A==null?{upsert:[]}:o(A,x))},s=e;if(r.admissionFilter){let b=L(e),k=r.admissionFilter;s=v([b],([x])=>{if(k(x))return x},{name:"admissionFilter",describeKind:"derived"})}let l;r.consolidateFn?l=r.consolidateFn:r.adapter&&r.consolidatePrompt&&(l=nt(r.consolidatePrompt,{adapter:r.adapter}));let u=r.consolidateTrigger;if(!u&&l&&r.reflection?.enabled!==!1){let b=r.reflection?.interval??3e5;u=ct(b,{period:b})}let i={score:r.score,cost:r.cost,budget:r.budget??2e3,context:r.context,consolidate:l,consolidateTrigger:u},d=Tt(s,a,i);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 c=null;r.enableKnowledgeGraph&&(c=st(n,d,t,{mountPath:"kg",entityFn:r.entityFn}).kg);let p=null;r.tiers&&(p=it(n,d,{...r.tiers,score:r.score,context:r.context}).tiers);let g=null,y=null,f=null,h=null;if(m||c){let b=lt(n,d,m,c,{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:c,memoryTiers:p,retrieval:g,retrievalTrace:y,retrieve:f,retrieveReactive:h})}function Hr(t,e,r){let n=t.describe({actor:e,detail:"full"}),o=r?.groupByTags??!0,a=r?.separator??`
5
+ `,s=[],l=r?.sinceVersion;for(let[u,i]of Object.entries(n.nodes)){let d=i.meta??{},m=d.description,c=d.format;if(!m&&!c)continue;if(l!=null&&i.v!=null){let h=l.get(u);if(h!=null&&h.id===i.v.id&&i.v.version<=h.version)continue}let p=m??u,g=i.value,y=d.unit,f;c==="currency"&&typeof g=="number"?f=`$${g.toFixed(2)}`:c==="percentage"&&typeof g=="number"?f=`${(g*100).toFixed(1)}%`:g==null?f="(no value)":f=String(g),y&&c!=="currency"&&c!=="percentage"&&(f=`${f} ${y}`),s.push({path:u,description:p,formatted:f})}if(s.length===0)return"";if(o){let u=new Map,i=[];for(let m of s){let p=n.nodes[m.path].meta?.tags;if(p&&p.length>0){let g=p[0],y=u.get(g);y||(y=[],u.set(g,y)),y.push(m)}else i.push(m)}if(u.size===0)return s.map(m=>`- ${m.description}: ${m.formatted}`).join(a);let d=[];for(let[m,c]of[...u.entries()].sort((p,g)=>p[0].localeCompare(g[0])))d.push(`[${m}]${a}${c.map(p=>`- ${p.description}: ${p.formatted}`).join(a)}`);return i.length>0&&d.push(i.map(m=>`- ${m.description}: ${m.formatted}`).join(a)),d.join(a+a)}return s.map(u=>`- ${u.description}: ${u.formatted}`).join(a)}var $t=`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 Wt(t,e,r){let o=[{role:"system",content:r?.systemPromptExtra?`${$t}
39
+
40
+ ${r.systemPromptExtra}`:$t},{role:"user",content:t}],a=e.invoke(o,{model:r?.model,temperature:r?.temperature??0,maxTokens:r?.maxTokens,signal:r?.signal}),l=(await ve(a)).content.trim();l.startsWith("```")&&(l=ye(l));let u;try{u=JSON.parse(l)}catch{throw new Error(`graphFromSpec: LLM response is not valid JSON: ${l.slice(0,200)}`)}return Lt(u,{catalog:r?.catalog})}function zr(t,e,r){let n=L(t);return $(n,o=>!o||typeof o!="string"||o.trim().length===0?w(null):oe(a=>{let s=new AbortController,l=!1;return Wt(o,e,{...r,signal:s.signal}).then(u=>{if(l){u.destroy();return}a.emit(u),a.down([[ee]])}).catch(u=>{l||a.down([[W,u]])}),()=>{l=!0,s.abort()}},{name:"graphFromSpec::call"}))}function Yr(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 Jr(t,e){let r=t.describe({actor:e,detail:"full"}),n=[],o=[],a=[];for(let[s,l]of Object.entries(r.nodes)){if(l.type!=="state"||s.includes("::__meta__::")||l.status==="completed"||l.status==="errored")continue;let u=l.meta??{},i=u.access;if(i==="human"||i==="system")continue;let d=u.description??`Set the value of ${s}`,m=Yr(u),c={type:"object",required:["value"],properties:{value:m},additionalProperties:!1},p=s.replace(/::/g,"__");n.push({type:"function",function:{name:p,description:d,parameters:c}}),o.push({name:s,description:d,inputSchema:c});let g=t,y=e,f=l.v;a.push({name:s,description:d,parameters:c,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 Qr=`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 Kt(t,e,r,n){let{expand:o,...a}=t.describe({actor:n?.actor,detail:"standard"}),s=[{role:"system",content:Qr},{role:"user",content:JSON.stringify({graph:a,problem:e})}],l=r.invoke(s,{model:n?.model,temperature:n?.temperature??0,maxTokens:n?.maxTokens,signal:n?.signal}),i=(await ve(l)).content.trim();i.startsWith("```")&&(i=i.replace(/^```(?:json)?\s*/,"").replace(/\s*```$/,""));let d;try{d=JSON.parse(i)}catch{throw new Error(`suggestStrategy: LLM response is not valid JSON: ${i.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 Xr(t,e,r,n){let o=L(e),a=ht(o,t);return $(a,s=>{if(s==null)return w(null);let[l,u]=s;return!u||!l||typeof l!="string"||l.trim().length===0?w(null):u.destroyed?w(null):oe(i=>{let d=new AbortController,m=!1;return Kt(u,l,r,{...n,signal:d.signal}).then(c=>{m||(i.emit(c),i.down([[ee]]))}).catch(c=>{m||i.down([[W,c]])}),()=>{m=!0,d.abort()}},{name:"suggestStrategy::call"})})}var Vt=new Set(["state","derived","producer","operator","effect"]);function Zr(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"||!Vt.has(s.type))&&e.push(`Node "${o}": invalid type "${String(s.type)}" (expected: ${[...Vt].join(", ")})`),Array.isArray(s.deps))for(let l of s.deps)typeof l=="string"&&!n.has(l)&&e.push(`Node "${o}": dep "${l}" 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 l=s;(typeof l.from!="string"||!n.has(l.from))&&e.push(`Edge [${a}]: 'from' "${String(l.from)}" does not reference an existing node`),(typeof l.to!="string"||!n.has(l.to))&&e.push(`Edge [${a}]: 'to' "${String(l.to)}" does not reference an existing node`);let u=`${l.from}->${l.to}`;o.has(u)&&e.push(`Edge [${a}]: duplicate edge ${u}`),o.add(u)}}return{valid:e.length===0,errors:e}}export{or as a,ar as b,Ae as c,We as d,ir as e,lr as f,dr as g,ur as h,Ke as i,Ce as j,Ue as k,cr as l,qe as m,ze as n,Ye as o,ge as p,Je as q,vr as r,wr as s,Xe as t,Nr as u,Ar as v,Cr as w,Er as x,Or as y,Dr as z,_r as A,jr as B,Gr as C,Oe as D,Ze as E,et as F,De as G,tt as H,Pe as I,$r as J,Wr as K,Kr as L,Ft as M,Vr as N,rt as O,nt as P,ot as Q,at as R,st as S,it as T,lt as U,qr as V,Hr as W,Wt as X,zr as Y,Jr as Z,Kt as _,Xr as $,Zr as aa,en as ba};
@@ -1,4 +1,4 @@
1
- import{a as O,f as v,k as P}from"./chunk-6VFC334U.js";import{ba as _,k as A}from"./chunk-K5C67OGE.js";import{c as E}from"./chunk-XIMFHEKV.js";import{m as U,x as T}from"./chunk-RZ5HKPGI.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-TFPZLQ5H.js";import{ba as _,k as A}from"./chunk-INH6FS2G.js";import{d as E}from"./chunk-IUB4NYI2.js";import{m as U,x as T}from"./chunk-IA7DUNGB.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
 
@@ -0,0 +1 @@
1
+ import{a as q}from"./chunk-N7UIBZCW.js";import{a as K}from"./chunk-R75BMDLA.js";import{a as M}from"./chunk-L6NSJVJZ.js";import{i as S}from"./chunk-7JRF5YEK.js";import{b as L}from"./chunk-35JTVPOX.js";import{b as z}from"./chunk-AU7YTQX7.js";import{C as x}from"./chunk-IA7DUNGB.js";import{C as j,E as V,G as T,m as $,o as v,p as R,u as N,w as C}from"./chunk-LYCLF26R.js";import{b as k}from"./chunk-CK2E7BTU.js";import{b as B}from"./chunk-QYADASLV.js";var tt={};B(tt,{AuditTrailGraph:()=>D,PolicyGateGraph:()=>E,auditTrail:()=>J,complianceSnapshot:()=>W,policyGate:()=>Q});function U(i,t){return M("audit",i,t)}var H=new Set(["data","error","complete","teardown"]),D=class extends S{entries;count;_log;_target;constructor(t,n){super(n.name??`${t.name}_audit`,n.graph),this._target=t,this._log=z([],{name:"entries",...n.maxSize!=null?{maxSize:n.maxSize}:{}}),this.entries=this._log.entries,this.add(this.entries,{name:"entries"}),this.count=T([this.entries],([d])=>d.length,{name:"count",describeKind:"derived",meta:U("count")}),this.add(this.count,{name:"count"}),this.addDisposer(x(this.count));let e=n.includeTypes!=null?new Set(n.includeTypes):H,p=n.filter,r=0,_=t.observe({timeline:!0,structured:!0}),m=_.onEvent(d=>{if(d.type==="derived")return;let u=d.type;if(!e.has(u))return;let b=d.path??"",w={seq:r++,timestamp_ns:d.timestamp_ns??v(),wall_clock_ns:R(),path:b,type:u},P=(b?O(t,b):void 0)?.lastMutation;P!=null&&(w.actor=P.actor),u==="data"&&(w.value=d.data),u==="error"&&(w.error=d.data);let o=b?Y(t,b):void 0;o!=null&&(w.annotation=o),!(p!=null&&!p(w))&&this._log.append(w)});this.addDisposer(()=>{m(),_.dispose()}),this.addDisposer(()=>this._log.disposeAllViews())}all(){return this.entries.cache??[]}byNode(t){return this.all().filter(n=>n.path===t)}byActor(t){return this.all().filter(n=>n.actor?.id===t)}byActorType(t){return this.all().filter(n=>n.actor?.type===t)}byTimeRange(t,n){return this.all().filter(e=>!(e.timestamp_ns<t||n!=null&&e.timestamp_ns>=n))}get target(){return this._target}};function J(i,t={}){return new D(i,t)}var E=class extends S{policies;violations;violationCount;_target;_mode;_currentGuard;constructor(t,n,e){super(e.name??`${t.name}_policy`,e.graph),this._target=t,this._mode=e.mode??"audit";let p=F(n)?n:V(n,{name:"policies"});this.policies=p,this.add(this.policies,{name:"policies"}),this.violations=new q("violations",{retainedLimit:e.violationsLimit??1e3}),this.mount("violations",this.violations),this.violationCount=T([this.violations.events],([o])=>o.length,{name:"violationCount",describeKind:"derived",meta:U("policy_violation_count")}),this.add(this.violationCount,{name:"violationCount"}),this.addDisposer(x(this.violationCount));let _=p.cache??[];this._currentGuard=N(_);let m=p.subscribe(o=>{for(let g of o)g[0]===k&&(_=g[1]??[],this._currentGuard=N(_))});this.addDisposer(m);let d=e.paths,u=F(d)?d:void 0,b=d!=null,A=u!=null?u.cache??[]:b?[...d]:void 0,P=A??I(t);if(this._mode!=="enforce"&&u!=null){let o=u.subscribe(g=>{for(let a of g)a[0]===k&&(A=a[1]??[])});this.addDisposer(o)}if(this._mode==="enforce"){let o=new Map,g=a=>{if(o.has(a))return;let s=O(t,a);if(!(s instanceof j))return;let f=(l,c)=>{let h=this._currentGuard(l,c);return h||this._publishViolation(l,c,a,"blocked"),h};o.set(a,s._pushGuard(f))};for(let a of P)g(a);if(u!=null){let a=u.subscribe(s=>{for(let f of s){if(f[0]!==k)continue;let l=f[1]??[],c=new Set(l),h=new Set(A??[]);$(()=>{for(let y of h){if(c.has(y))continue;let G=o.get(y);G!=null&&(G(),o.delete(y))}for(let y of c)h.has(y)||g(y);A=l})}});this.addDisposer(a)}if(b){let a=t.topology.subscribe(s=>{for(let f of s){if(f[0]!==k)continue;let l=f[1];if(l.kind!=="removed"||l.nodeKind!=="node")continue;let c=o.get(l.name);c!=null&&(c(),o.delete(l.name))}});this.addDisposer(a)}else{let a=K(t,(s,f,l)=>{if(s.kind==="added")if(s.nodeKind==="node")g(`${l}${s.name}`);else{let c=f._mounts.get(s.name);if(!(c instanceof S))return;let h=`${l}${s.name}::`,y=I(c);for(let G of y)g(G===""?`${l}${s.name}`:`${h}${G}`)}else if(s.kind==="removed")if(s.nodeKind==="node"){let c=`${l}${s.name}`,h=o.get(c);h!=null&&(h(),o.delete(c))}else{let c=`${l}${s.name}`,h=`${c}::`;for(let[y,G]of o)(y===c||y.startsWith(h))&&(G(),o.delete(y))}});this.addDisposer(a)}this.addDisposer(()=>{for(let a of o.values())a();o.clear()})}else{let o=t.observe({timeline:!0,structured:!0}),g=o.onEvent(a=>{if(a.type!=="data"&&a.type!=="error")return;let s=a.path??"";if(!s||A!=null&&!A.includes(s))return;let f=a.actor??O(t,s)?.lastMutation?.actor;if(f==null)return;let l="write";this._currentGuard(f,l)||this._publishViolation(f,l,s,"observed")});this.addDisposer(()=>{g(),o.dispose()})}}_publishViolation(t,n,e,p){this.violations.publish({timestamp_ns:v(),wall_clock_ns:R(),path:e,actor:t,action:n,mode:this._mode,result:p})}all(){return this.violations.retained()}get mode(){return this._mode}get target(){return this._target}};function Q(i,t,n={}){let e=new E(i,t,n);return e.tagFactory("policyGate",L(n)),e}function W(i,t={}){let n={format_version:1,timestamp_ns:v(),wall_clock_ns:R(),graph:i.snapshot()};if(t.actor!=null&&(n.actor=t.actor),t.audit!=null){let p=[...t.audit.all()];n.audit={count:p.length,entries:p}}if(t.policies!=null){let p=t.policies.policies.cache??[];n.policies={mode:t.policies.mode,rules:p,violations:[...t.policies.all()]}}let e=X(n);return{...n,fingerprint:e}}function F(i){return typeof i=="object"&&i!==null&&"subscribe"in i}function O(i,t){try{return i.node(t)}catch{return}}function Y(i,t){try{return i.annotation(t)}catch{return}}function I(i){let t=i.describe({detail:"minimal"});return Object.keys(t.nodes)}function X(i){return C(JSON.stringify(Z(i)))}function Z(i){let t=new Set,n=e=>{if(e===void 0)return{__undefined:!0};if(e===null)return null;let p=typeof e;if(p==="bigint")return{__bigint:e.toString()};if(p!=="object")return e;let r=e;if(t.has(r))return{__circular:!0};t.add(r);try{if(Array.isArray(r))return r.map(n);if(r instanceof Date)return{__date:r.toISOString()};if(r instanceof RegExp)return{__regexp:{source:r.source,flags:r.flags}};if(r instanceof Map)return{__map:[...r.entries()].map(([d,u])=>[n(d),n(u)])};if(r instanceof Set)return{__set:[...r].map(n)};if(ArrayBuffer.isView(r)){let m=r,d=new Array(m.length);for(let u=0;u<m.length;u++)d[u]=m[u]??0;return{__typed_array:{ctor:r.constructor.name,data:d}}}let _={};for(let m of Object.keys(r).sort())_[m]=n(r[m]);return _}finally{t.delete(r)}};return n(i)}export{D as a,J as b,E as c,Q as d,W as e,tt as f};
@@ -1,3 +1,3 @@
1
- import{g as he}from"./chunk-6KZZ6XQE.js";import{k as fe}from"./chunk-QMC2PLNM.js";import{x as ye}from"./chunk-6773HURD.js";import{D as be,E as T,G as v,H as q,m as ee,o as z}from"./chunk-LYCLF26R.js";import{b as P,j as Z}from"./chunk-CK2E7BTU.js";import{b as Ne}from"./chunk-QYADASLV.js";var we={};Ne(we,{blindVariation:()=>De,errorCritique:()=>Re,refineLoop:()=>Se});function Ie(n){if(typeof n!="object"||n===null)return!1;let l=n;return typeof l.subscribe=="function"&&typeof l.down=="function"&&typeof l.emit=="function"}function pe(n,l){if(n.length===0)return{best:null,bestScore:Number.NEGATIVE_INFINITY};if(n.length===1){let e=ne(l);return{best:n[0],bestScore:e}}if(l.some(e=>typeof e.candidateIndex=="number")){let e=new Array(n.length);for(let i=0;i<n.length;i++)e[i]={sum:0,count:0};for(let i of l){let d=i.candidateIndex;typeof d=="number"&&d>=0&&d<n.length&&(e[d].sum+=i.score,e[d].count+=1)}let s=n[0],o=e[0].count>0?e[0].sum/e[0].count:Number.NEGATIVE_INFINITY;for(let i=1;i<n.length;i++){let d=e[i].count>0?e[i].sum/e[i].count:Number.NEGATIVE_INFINITY;d>o&&(o=d,s=n[i])}return{best:s,bestScore:o}}let t=n[0],m=l[0]?.score??Number.NEGATIVE_INFINITY;for(let e=1;e<n.length;e++){let s=l[e]?.score??Number.NEGATIVE_INFINITY;s>m&&(m=s,t=n[e])}return{best:t,bestScore:m}}function ne(n){if(n.length===0)return Number.NEGATIVE_INFINITY;let l=0;for(let x of n)l+=x.score;return l/n.length}function Se(n,l,x,t){let m=t.name??"refine-loop",e=new fe(m,t.graph),s=Ie(t.dataset)?t.dataset:T(t.dataset,{name:"dataset"});e.add(s,{name:"dataset"});let o=T(0,{name:"iteration"});e.add(o,{name:"iteration"});let i=T(x,{name:"strategy",equals:()=>!1});e.add(i,{name:"strategy"});let d=T(null,{name:"lastFeedback"});e.add(d,{name:"lastFeedback"});let k=T([],{name:"prevCandidates"});e.add(k,{name:"prevCandidates"});let y=T(!1,{name:"paused"});e.add(y,{name:"paused"});let b=T("running",{name:"status"});e.add(b,{name:"status"});let E=T([],{name:"history",equals:()=>!1});e.add(E,{name:"history"});let h=T(null,{name:"best"});e.add(h,{name:"best"});let N=T(Number.NEGATIVE_INFINITY,{name:"score"});e.add(N,{name:"score"});let C=T(0,{name:"budget-used"});e.add(C,{name:"budget-used"});let R=he("stages");e.mount("stages",R);let A=R.topic("generate"),p=R.topic("evaluate"),G=R.topic("analyze"),te=R.topic("decide"),$=x,B=null,re=[];e.addDisposer(i.subscribe(r=>{for(let a of r)a[0]===P&&($=a[1])})),e.addDisposer(d.subscribe(r=>{for(let a of r)a[0]===P&&(B=a[1])})),e.addDisposer(k.subscribe(r=>{for(let a of r)a[0]===P&&(re=a[1])}));let I=ye(o,r=>{let a=$,c=r===0||B==null;return be([],(u,f)=>{let S=!1;try{let D=c?a.seed(n):a.generate(B,re);if(D instanceof Promise)return D.then(_=>{S||f.emit(_)},_=>{S||f.down([[Z,_]])}),()=>{S=!0};f.emit(D)}catch(D){S=!0,f.down([[Z,D]])}},{describeKind:"producer"})},{name:"candidates"});e.add(I,{name:"candidates"});let ae=q([I],(r,a,c)=>{let u=c.terminalDeps[0];u!==void 0&&u!==!0&&b.emit("errored")},{name:"error-watcher",errorWhenDepsError:!1});e.add(ae,{name:"error-watcher"}),e.addDisposer(ae.subscribe(()=>{}));let Y=v([I,o],([r,a])=>({iteration:a,candidates:r,timestamp_ns:z()}),{name:"generate-event"});e.add(Y,{name:"generate-event"}),e.addDisposer(Y.subscribe(()=>{}));let oe=q([Y],([r])=>{A.publish(r)},{name:"generate-publish"});e.add(oe,{name:"generate-publish"}),e.addDisposer(oe.subscribe(()=>{}));let ie=q([I],([r])=>{k.emit(r)},{name:"generate-mirror"});e.add(ie,{name:"generate-mirror"}),e.addDisposer(ie.subscribe(()=>{}));let V=l(I,s);e.add(V,{name:"scores"});let j=v([V,I,o],([r,a,c])=>({iteration:c,candidates:a,scores:r,timestamp_ns:z()}),{name:"evaluate-event"});e.add(j,{name:"evaluate-event"}),e.addDisposer(j.subscribe(()=>{}));let se=q([j],([r])=>{p.publish(r)},{name:"evaluate-publish"});e.add(se,{name:"evaluate-publish"}),e.addDisposer(se.subscribe(()=>{}));let L=v([V,I],([r,a])=>$.analyze(r,a),{name:"feedback"});e.add(L,{name:"feedback"});let M=v([L,I,o],([r,a,c])=>({iteration:c,candidates:a,feedback:r,timestamp_ns:z()}),{name:"analyze-event"});e.add(M,{name:"analyze-event"}),e.addDisposer(M.subscribe(()=>{}));let de=q([M],([r])=>{G.publish(r)},{name:"analyze-publish"});e.add(de,{name:"analyze-publish"}),e.addDisposer(de.subscribe(()=>{}));let H=v([E],([r])=>{let a=r;if(t.patience==null||a.length<=t.patience)return!1;let c=a.slice(-(t.patience+1)),u=c[0].bestScore;return c.slice(1).every(f=>f.bestScore<=u)},{name:"patience-check"});e.add(H,{name:"patience-check"});let W=v([N],([r])=>t.minScore!=null&&r>=t.minScore,{name:"min-score-check"});e.add(W,{name:"min-score-check"});let K=v([E],([r])=>{let a=r;if(t.minDelta==null||a.length<2)return!1;let c=a[a.length-2].bestScore,u=a[a.length-1].bestScore;return Math.abs(u-c)<t.minDelta},{name:"min-delta-check"});e.add(K,{name:"min-delta-check"});let U=v([C],([r])=>t.maxEvaluations!=null&&r>=t.maxEvaluations,{name:"max-evaluations-check"});e.add(U,{name:"max-evaluations-check"});let J=v([o],([r])=>t.maxIterations!=null&&r>=t.maxIterations,{name:"max-iterations-check"});e.add(J,{name:"max-iterations-check"});let le=v([C],([r])=>t.budget!=null&&r>=t.budget,{name:"budget-exhausted-check"});e.add(le,{name:"budget-exhausted-check"}),e.addDisposer(H.subscribe(()=>{})),e.addDisposer(W.subscribe(()=>{})),e.addDisposer(K.subscribe(()=>{})),e.addDisposer(U.subscribe(()=>{})),e.addDisposer(J.subscribe(()=>{})),e.addDisposer(le.subscribe(()=>{}));let ce=v([H,W,K,U,J],([r,a,c,u,f])=>r?{converged:!0,reason:"patience"}:a?{converged:!0,reason:"min-score"}:c?{converged:!0,reason:"min-delta"}:u?{converged:!0,reason:"max-evaluations"}:f?{converged:!0,reason:"max-iterations"}:{converged:!1},{name:"converged"});e.add(ce,{name:"converged"}),e.addDisposer(ce.subscribe(()=>{}));let ue=-1,me=q([L,V,I],([r,a,c])=>{let u=o.cache,f=r,S=c,D=a;if(u<=ue)return;ue=u;let{best:_,bestScore:ge}=pe(S,D),Te=E.cache,ve={n:u,candidates:S,scores:D,feedback:f,best:_,bestScore:ge,timestamp_ns:z()},F=[...Te,ve],Q=C.cache+S.length,g="continue",w,Ee=t.budget!=null&&Q>=t.budget,ke=y.cache;if(Ee)g="budget",w="budget";else if(t.minScore!=null&&f.score>=t.minScore)g="converged",w="min-score";else if(t.maxIterations!=null&&u>=t.maxIterations)g="converged",w="max-iterations";else if(t.maxEvaluations!=null&&Q>=t.maxEvaluations)g="converged",w="max-evaluations";else if(t.minDelta!=null&&F.length>=2){let O=F[F.length-2].bestScore,X=F[F.length-1].bestScore;Math.abs(X-O)<t.minDelta&&(g="converged",w="min-delta")}else if(t.patience!=null&&F.length>t.patience){let O=F.slice(-(t.patience+1)),X=O[0].bestScore;O.slice(1).every(xe=>xe.bestScore<=X)&&(g="converged",w="patience")}g==="continue"&&ke&&(g="paused"),ee(()=>{h.emit(_),N.emit(f.score),E.emit(F),C.emit(Q),d.emit(f),te.publish({iteration:u,decision:g,reason:w,timestamp_ns:z()}),g==="continue"?o.emit(u+1):b.emit(g==="converged"?"converged":g==="budget"?"budget":"paused")})},{name:"decide-bridge"});return e.add(me,{name:"decide-bridge"}),e.addDisposer(me.subscribe(()=>{})),Object.assign(e,{best:h,score:N,status:b,history:E,strategy:i,iteration:o,generate:A,evaluate:p,analyze:G,decide:te,setStrategy(r){i.emit(r)},pause(){y.emit(!0)},resume(){b.cache==="paused"&&ee(()=>{y.emit(!1),b.emit("running"),o.emit(o.cache+1)})}})}function De(n){let l=n.width??4;return{name:n.name??"blindVariation",seed(t){return[t]},analyze(t,m){let e=ne(t),s=null;for(let o of t)(!s||o.score<s.score)&&(s=o);return{summary:`blindVariation iteration: mean=${e.toFixed(3)}, n=${t.length}`,score:e,weakTasks:s?[s.taskId]:[]}},async generate(t,m){if(m.length===0)throw new Error("blindVariation.generate: empty candidate batch \u2014 cannot derive prior for teacher");let e=m[m.length-1],s=0,i={prior:e,reportCost:d=>{s+=d}};try{if(n.parallel!==!1)return await Promise.all(Array.from({length:l},()=>n.teacher(i)));let d=[];for(let k=0;k<l;k++)d.push(await n.teacher(i));return d}finally{if(n.tokens!=null&&s>0){let d=n.tokens.cache??0;n.tokens.emit(d+s)}}}}}function Fe(n){return typeof n=="object"&&n!==null&&n.kind==="errorCritique"}function Ce(n,l){return n.length===0?`No task scored below the batch mean (${l.score.toFixed(3)}). Reinforce the current direction.`:`Failures below threshold:
1
+ import{g as he}from"./chunk-N7UIBZCW.js";import{i as fe}from"./chunk-7JRF5YEK.js";import{x as ye}from"./chunk-L7WY6TZS.js";import{D as be,E as T,G as v,H as q,m as ee,o as z}from"./chunk-LYCLF26R.js";import{b as P,j as Z}from"./chunk-CK2E7BTU.js";import{b as Ne}from"./chunk-QYADASLV.js";var we={};Ne(we,{blindVariation:()=>De,errorCritique:()=>Re,refineLoop:()=>Se});function Ie(n){if(typeof n!="object"||n===null)return!1;let l=n;return typeof l.subscribe=="function"&&typeof l.down=="function"&&typeof l.emit=="function"}function pe(n,l){if(n.length===0)return{best:null,bestScore:Number.NEGATIVE_INFINITY};if(n.length===1){let e=ne(l);return{best:n[0],bestScore:e}}if(l.some(e=>typeof e.candidateIndex=="number")){let e=new Array(n.length);for(let i=0;i<n.length;i++)e[i]={sum:0,count:0};for(let i of l){let d=i.candidateIndex;typeof d=="number"&&d>=0&&d<n.length&&(e[d].sum+=i.score,e[d].count+=1)}let s=n[0],o=e[0].count>0?e[0].sum/e[0].count:Number.NEGATIVE_INFINITY;for(let i=1;i<n.length;i++){let d=e[i].count>0?e[i].sum/e[i].count:Number.NEGATIVE_INFINITY;d>o&&(o=d,s=n[i])}return{best:s,bestScore:o}}let t=n[0],m=l[0]?.score??Number.NEGATIVE_INFINITY;for(let e=1;e<n.length;e++){let s=l[e]?.score??Number.NEGATIVE_INFINITY;s>m&&(m=s,t=n[e])}return{best:t,bestScore:m}}function ne(n){if(n.length===0)return Number.NEGATIVE_INFINITY;let l=0;for(let x of n)l+=x.score;return l/n.length}function Se(n,l,x,t){let m=t.name??"refine-loop",e=new fe(m,t.graph),s=Ie(t.dataset)?t.dataset:T(t.dataset,{name:"dataset"});e.add(s,{name:"dataset"});let o=T(0,{name:"iteration"});e.add(o,{name:"iteration"});let i=T(x,{name:"strategy",equals:()=>!1});e.add(i,{name:"strategy"});let d=T(null,{name:"lastFeedback"});e.add(d,{name:"lastFeedback"});let k=T([],{name:"prevCandidates"});e.add(k,{name:"prevCandidates"});let y=T(!1,{name:"paused"});e.add(y,{name:"paused"});let b=T("running",{name:"status"});e.add(b,{name:"status"});let E=T([],{name:"history",equals:()=>!1});e.add(E,{name:"history"});let h=T(null,{name:"best"});e.add(h,{name:"best"});let N=T(Number.NEGATIVE_INFINITY,{name:"score"});e.add(N,{name:"score"});let C=T(0,{name:"budget-used"});e.add(C,{name:"budget-used"});let R=he("stages");e.mount("stages",R);let A=R.topic("generate"),p=R.topic("evaluate"),G=R.topic("analyze"),te=R.topic("decide"),$=x,B=null,re=[];e.addDisposer(i.subscribe(r=>{for(let a of r)a[0]===P&&($=a[1])})),e.addDisposer(d.subscribe(r=>{for(let a of r)a[0]===P&&(B=a[1])})),e.addDisposer(k.subscribe(r=>{for(let a of r)a[0]===P&&(re=a[1])}));let I=ye(o,r=>{let a=$,c=r===0||B==null;return be([],(u,f)=>{let S=!1;try{let D=c?a.seed(n):a.generate(B,re);if(D instanceof Promise)return D.then(_=>{S||f.emit(_)},_=>{S||f.down([[Z,_]])}),()=>{S=!0};f.emit(D)}catch(D){S=!0,f.down([[Z,D]])}},{describeKind:"producer"})},{name:"candidates"});e.add(I,{name:"candidates"});let ae=q([I],(r,a,c)=>{let u=c.terminalDeps[0];u!==void 0&&u!==!0&&b.emit("errored")},{name:"error-watcher",errorWhenDepsError:!1});e.add(ae,{name:"error-watcher"}),e.addDisposer(ae.subscribe(()=>{}));let Y=v([I,o],([r,a])=>({iteration:a,candidates:r,timestamp_ns:z()}),{name:"generate-event"});e.add(Y,{name:"generate-event"}),e.addDisposer(Y.subscribe(()=>{}));let oe=q([Y],([r])=>{A.publish(r)},{name:"generate-publish"});e.add(oe,{name:"generate-publish"}),e.addDisposer(oe.subscribe(()=>{}));let ie=q([I],([r])=>{k.emit(r)},{name:"generate-mirror"});e.add(ie,{name:"generate-mirror"}),e.addDisposer(ie.subscribe(()=>{}));let V=l(I,s);e.add(V,{name:"scores"});let j=v([V,I,o],([r,a,c])=>({iteration:c,candidates:a,scores:r,timestamp_ns:z()}),{name:"evaluate-event"});e.add(j,{name:"evaluate-event"}),e.addDisposer(j.subscribe(()=>{}));let se=q([j],([r])=>{p.publish(r)},{name:"evaluate-publish"});e.add(se,{name:"evaluate-publish"}),e.addDisposer(se.subscribe(()=>{}));let L=v([V,I],([r,a])=>$.analyze(r,a),{name:"feedback"});e.add(L,{name:"feedback"});let M=v([L,I,o],([r,a,c])=>({iteration:c,candidates:a,feedback:r,timestamp_ns:z()}),{name:"analyze-event"});e.add(M,{name:"analyze-event"}),e.addDisposer(M.subscribe(()=>{}));let de=q([M],([r])=>{G.publish(r)},{name:"analyze-publish"});e.add(de,{name:"analyze-publish"}),e.addDisposer(de.subscribe(()=>{}));let H=v([E],([r])=>{let a=r;if(t.patience==null||a.length<=t.patience)return!1;let c=a.slice(-(t.patience+1)),u=c[0].bestScore;return c.slice(1).every(f=>f.bestScore<=u)},{name:"patience-check"});e.add(H,{name:"patience-check"});let W=v([N],([r])=>t.minScore!=null&&r>=t.minScore,{name:"min-score-check"});e.add(W,{name:"min-score-check"});let K=v([E],([r])=>{let a=r;if(t.minDelta==null||a.length<2)return!1;let c=a[a.length-2].bestScore,u=a[a.length-1].bestScore;return Math.abs(u-c)<t.minDelta},{name:"min-delta-check"});e.add(K,{name:"min-delta-check"});let U=v([C],([r])=>t.maxEvaluations!=null&&r>=t.maxEvaluations,{name:"max-evaluations-check"});e.add(U,{name:"max-evaluations-check"});let J=v([o],([r])=>t.maxIterations!=null&&r>=t.maxIterations,{name:"max-iterations-check"});e.add(J,{name:"max-iterations-check"});let le=v([C],([r])=>t.budget!=null&&r>=t.budget,{name:"budget-exhausted-check"});e.add(le,{name:"budget-exhausted-check"}),e.addDisposer(H.subscribe(()=>{})),e.addDisposer(W.subscribe(()=>{})),e.addDisposer(K.subscribe(()=>{})),e.addDisposer(U.subscribe(()=>{})),e.addDisposer(J.subscribe(()=>{})),e.addDisposer(le.subscribe(()=>{}));let ce=v([H,W,K,U,J],([r,a,c,u,f])=>r?{converged:!0,reason:"patience"}:a?{converged:!0,reason:"min-score"}:c?{converged:!0,reason:"min-delta"}:u?{converged:!0,reason:"max-evaluations"}:f?{converged:!0,reason:"max-iterations"}:{converged:!1},{name:"converged"});e.add(ce,{name:"converged"}),e.addDisposer(ce.subscribe(()=>{}));let ue=-1,me=q([L,V,I],([r,a,c])=>{let u=o.cache,f=r,S=c,D=a;if(u<=ue)return;ue=u;let{best:_,bestScore:ge}=pe(S,D),Te=E.cache,ve={n:u,candidates:S,scores:D,feedback:f,best:_,bestScore:ge,timestamp_ns:z()},F=[...Te,ve],Q=C.cache+S.length,g="continue",w,Ee=t.budget!=null&&Q>=t.budget,ke=y.cache;if(Ee)g="budget",w="budget";else if(t.minScore!=null&&f.score>=t.minScore)g="converged",w="min-score";else if(t.maxIterations!=null&&u>=t.maxIterations)g="converged",w="max-iterations";else if(t.maxEvaluations!=null&&Q>=t.maxEvaluations)g="converged",w="max-evaluations";else if(t.minDelta!=null&&F.length>=2){let O=F[F.length-2].bestScore,X=F[F.length-1].bestScore;Math.abs(X-O)<t.minDelta&&(g="converged",w="min-delta")}else if(t.patience!=null&&F.length>t.patience){let O=F.slice(-(t.patience+1)),X=O[0].bestScore;O.slice(1).every(xe=>xe.bestScore<=X)&&(g="converged",w="patience")}g==="continue"&&ke&&(g="paused"),ee(()=>{h.emit(_),N.emit(f.score),E.emit(F),C.emit(Q),d.emit(f),te.publish({iteration:u,decision:g,reason:w,timestamp_ns:z()}),g==="continue"?o.emit(u+1):b.emit(g==="converged"?"converged":g==="budget"?"budget":"paused")})},{name:"decide-bridge"});return e.add(me,{name:"decide-bridge"}),e.addDisposer(me.subscribe(()=>{})),Object.assign(e,{best:h,score:N,status:b,history:E,strategy:i,iteration:o,generate:A,evaluate:p,analyze:G,decide:te,setStrategy(r){i.emit(r)},pause(){y.emit(!0)},resume(){b.cache==="paused"&&ee(()=>{y.emit(!1),b.emit("running"),o.emit(o.cache+1)})}})}function De(n){let l=n.width??4;return{name:n.name??"blindVariation",seed(t){return[t]},analyze(t,m){let e=ne(t),s=null;for(let o of t)(!s||o.score<s.score)&&(s=o);return{summary:`blindVariation iteration: mean=${e.toFixed(3)}, n=${t.length}`,score:e,weakTasks:s?[s.taskId]:[]}},async generate(t,m){if(m.length===0)throw new Error("blindVariation.generate: empty candidate batch \u2014 cannot derive prior for teacher");let e=m[m.length-1],s=0,i={prior:e,reportCost:d=>{s+=d}};try{if(n.parallel!==!1)return await Promise.all(Array.from({length:l},()=>n.teacher(i)));let d=[];for(let k=0;k<l;k++)d.push(await n.teacher(i));return d}finally{if(n.tokens!=null&&s>0){let d=n.tokens.cache??0;n.tokens.emit(d+s)}}}}}function Fe(n){return typeof n=="object"&&n!==null&&n.kind==="errorCritique"}function Ce(n,l){return n.length===0?`No task scored below the batch mean (${l.score.toFixed(3)}). Reinforce the current direction.`:`Failures below threshold:
2
2
  ${n.map(t=>{let m=t.error!=null?` | error: ${t.error}`:"";return`- ${t.taskId} (score=${t.score.toFixed(3)})${m}`}).join(`
3
3
  `)}`}function Re(n){let l=n.width??4,x=n.name??"errorCritique",t=n.maxFailureSamples??5,m=n.formatCritique??Ce;return{name:x,seed(e){return[e]},analyze(e,s){let o=ne(e),i=typeof n.failureThreshold=="function"?n.failureThreshold(e):n.failureThreshold,d=i===void 0&&!Number.isFinite(o),k=i??o,y=d?[...e].sort((p,G)=>p.score-G.score):e.filter(p=>p.score<k).slice().sort((p,G)=>p.score-G.score),b=y.slice(0,t),{best:E,bestScore:h}=pe(s,e),N={summary:"",score:o,weakTasks:b.map(p=>p.taskId)},C=m(b,N),R={kind:"errorCritique",best:E,failures:b,critiqueText:C},A=y.length>b.length?` (top ${b.length} retained)`:"";return{summary:`errorCritique iteration: mean=${o.toFixed(3)}, failures=${y.length}${A}/${e.length}, bestScore=${h.toFixed(3)}`,critique:R,weakTasks:b.map(p=>p.taskId),score:o}},async generate(e,s){if(s.length===0)throw new Error("errorCritique.generate: empty candidate batch \u2014 cannot derive prior for teacher");let o=Fe(e.critique)?e.critique:void 0,i=o!==void 0?o.best:s[s.length-1],d=o?.critiqueText??e.summary,k=o?.failures??[],y=0,E={prior:i,critique:d,failures:k,reportCost:h=>{y+=h}};try{if(n.parallel!==!1)return await Promise.all(Array.from({length:l},()=>n.teacher(E)));let h=[];for(let N=0;N<l;N++)h.push(await n.teacher(E));return h}finally{if(n.tokens!=null&&y>0){let h=n.tokens.cache??0;n.tokens.emit(h+y)}}}}}export{Se as a,De as b,Re as c,we as d};
@@ -0,0 +1 @@
1
+ import{a as ne}from"./chunk-ZJ7SM3G2.js";import{c as W,d as ee,f as N,h as J}from"./chunk-VJJLIEAL.js";import{a as te}from"./chunk-L6NSJVJZ.js";import{i as P}from"./chunk-7JRF5YEK.js";import{b as L}from"./chunk-TZQPPQEQ.js";import{C as I,f as oe}from"./chunk-IA7DUNGB.js";import{C as Y,E as Z,G as x,o as V,p as X}from"./chunk-LYCLF26R.js";import{b as ce}from"./chunk-QYADASLV.js";var pe={};ce(pe,{collection:()=>fe,cosineSimilarity:()=>de,knowledgeGraph:()=>me,vectorIndex:()=>ye});var le=1e9;function S(o,t){return te("memory",o,t)}function $(o,t){return o instanceof Y?o:Z(o,t?{name:t}:void 0)}function re(o,t){return(o-t)/le}function de(o,t){let g=Math.max(o.length,t.length),r=0,d=0,f=0;for(let y=0;y<g;y+=1){let R=o[y]??0,k=t[y]??0;r+=R*k,d+=R*R,f+=k*k}if(d===0||f===0)return 0;let l=r/Math.sqrt(d*f);return Number.isFinite(l)?l:0}function ue(o,t){if(o===t)return!0;if(o==null||t==null||o.length!==t.length)return!1;for(let g=0;g<o.length;g+=1){let r=o[g],d=t[g];if(r.id!==d.id||r.score!==d.score||r.meta!==d.meta)return!1}return!0}function ge(o,t){if(o===t)return!0;if(o==null||t==null||o.length!==t.length)return!1;for(let g=0;g<o.length;g+=1){let r=o[g],d=t[g];if(r.id!==d.id||r.score!==d.score||r.lastAccessNs!==d.lastAccessNs||r.value!==d.value)return!1}return!0}function fe(o,t={}){let g=t.maxSize,r=t.ranked??!0,d=r?t.decayRate??0:0,f=t.minScore??0;if(g!==void 0&&g<1)throw new RangeError("collection: maxSize must be >= 1");let l=()=>r?1:0,y=t.score??l,R=r&&y instanceof Y?y:void 0,k=()=>R?R.cache??l:y,v=new P(o),p=L({name:"items",...g!==void 0?{retention:{score:(n,c)=>r?ne(c.baseScore,re(V(),c.lastAccessNs),d,f):c.lastAccessNs,maxSize:g}}:{}});v.add(p.entries,{name:"items"});let E;if(r&&d>0){let n=t.refreshIntervalMs??Math.max(1,1e3*Math.LN2/(10*d)),c=oe(n,{period:n});E=x([c],()=>V(),{name:"refresh_tick_ns",describeKind:"derived",initial:V(),meta:S("clock")}),v.add(E,{name:"refresh_tick_ns"})}let w;if(r){let n=[p.entries];E&&n.push(E),R&&n.push(R),w=x(n,c=>{let u=c[0],m;if(E){let M=c[1];m=typeof M=="number"?M:V()}else m=V();if(!u||u.size===0)return[];let h=[];for(let M of u.values())h.push({...M,score:ne(M.baseScore,re(m,M.lastAccessNs),d,f)});return h.sort((M,b)=>b.score-M.score||b.lastAccessNs-M.lastAccessNs),h},{name:"ranked",describeKind:"derived",equals:ge,meta:S("ranked")}),v.add(w,{name:"ranked"})}else w=Z([],{name:"ranked",describeKind:"state",meta:S("ranked_disabled")}),v.add(w,{name:"ranked"});let z=x([p.entries],([n])=>(n??new Map).size,{name:"size",describeKind:"derived",initial:0,meta:S("size")});v.add(z,{name:"size"}),v.addDisposer(I(z));let q=W({name:"events",retainedLimit:1024,graph:v}),K=J(v,"seq",0),O=(n,c,u)=>{let m=V(),h=p.get(n),M=u?.score??k()(c);p.set(n,{id:n,value:c,baseScore:M,createdAtNs:h?.createdAtNs??m,lastAccessNs:m})},G=n=>{p.has(n)&&p.delete(n)},j=()=>{p.size!==0&&p.clear()},D=()=>{if(!r)return;let n=k(),c=p.entries.cache;if(!c||c.size===0)return;let u=[];for(let m of c.values())u.push([m.id,{...m,baseScore:n(m.value)}]);p.setMany(u)},F=N(O,{audit:q,seq:K,onSuccess:([n],c,u)=>({action:"upsert",id:n,t_ns:u.t_ns,seq:u.seq})}),H=N(G,{audit:q,seq:K,onSuccess:([n],c,u)=>({action:"remove",id:n,t_ns:u.t_ns,seq:u.seq})}),i=N(j,{audit:q,seq:K,onSuccess:(n,c,u)=>({action:"clear",t_ns:u.t_ns,seq:u.seq})}),e=N(D,{audit:q,seq:K,onSuccess:(n,c,u)=>({action:"rescore",t_ns:u.t_ns,seq:u.seq})});function s(n){let c=$(n,"id");return x([p.entries,c],([u,m])=>u?.get(m),{describeKind:"derived",meta:S("collection_item")})}function a(n){let c=$(n,"id");return x([p.entries,c],([u,m])=>u?.has(m)??!1,{describeKind:"derived",meta:S("collection_has")})}return Object.assign(v,{events:q,items:p.entries,ranked:w,size:z,upsert:F,remove:H,clear:i,rescore:e,itemNode:s,hasNode:a})}function ye(o={}){let t=o.backend??"flat",g=o.dimension,r=o.strictDimension??!0,d=o.maxSize,f=o.retentionScore,l;if(t==="hnsw"&&(l=o.hnswFactory?.(),!l))throw new Error('vectorIndex backend "hnsw" requires an optional dependency adapter; install your HNSW package and provide `hnswFactory`.');let y=new P(o.name??"vector_index"),R;function k(e){if(g!==void 0){if(e.length!==g)throw new RangeError(`vector dimension mismatch: expected ${g}, got ${e.length}`);return}if(r){if(R===void 0){R=e.length;return}if(e.length!==R)throw new RangeError(`vector dimension mismatch: inferred ${R} from first upsert, got ${e.length}. Pass \`strictDimension: false\` to opt into zero-pad behavior, or set an explicit \`dimension\`.`)}}let v=f??(e=>e.upsertedAtNs),C=!1,p=W({name:"events",retainedLimit:1024,graph:y}),E=J(y,"seq",0),w=L({name:"entries",...d!==void 0?{retention:{score:(e,s)=>v(s),maxSize:d,onArchive:e=>{C||(t==="hnsw"&&l.remove(e),p.append({action:"evict",id:e,t_ns:X(),seq:ee(E)}))}}}:{}});if(y.add(w.entries,{name:"entries"}),y.addDisposer(I(w.entries)),l?.dispose){let e=l.dispose.bind(l);y.addDisposer(()=>e())}let z=(e,s,a)=>{k(s),t==="hnsw"&&l.upsert(e,s,a);let T=(()=>{if(a!==void 0)return a===null||typeof a!="object"?a:Array.isArray(a)?[...a]:{...a}})(),n={id:e,vector:[...s],...T!==void 0?{meta:T}:{},upsertedAtNs:V()};w.set(e,n)},q=e=>{w.has(e)&&(t==="hnsw"&&l.remove(e),w.delete(e))},K=()=>{if(w.size!==0){C=!0;try{w.clear(),t==="hnsw"&&l.clear()}finally{C=!1}R=void 0}},O=()=>{if(t!=="hnsw")return;let e=w.entries.cache;if(e){l.clear();for(let s of e.values())l.upsert(s.id,s.vector,s.meta)}},G=N(z,{audit:p,freeze:!1,seq:E,onSuccess:([e],s,a)=>({action:"upsert",id:e,t_ns:a.t_ns,seq:a.seq})}),j=N(q,{audit:p,seq:E,onSuccess:([e],s,a)=>({action:"remove",id:e,t_ns:a.t_ns,seq:a.seq})}),D=N(K,{audit:p,seq:E,onSuccess:(e,s,a)=>({action:"clear",t_ns:a.t_ns,seq:a.seq})}),F=N(O,{audit:p,seq:E,onSuccess:(e,s,a)=>({action:"reindex",t_ns:a.t_ns,seq:a.seq})});function H(e,s=5){let a=$(s,"k");return x([w.entries,e,a],T=>{let n=T[0],c=T[1],u=T[2],m=Number.isFinite(u)?Math.max(0,Math.floor(u)):0;if(!n||n.size===0||m<=0)return[];if(c==null||c.length===0)return[];let h=g??(r?R:void 0);return h!==void 0&&c.length!==h?[]:t==="hnsw"?[...l.search(c,m)]:[...n.values()].map(b=>({id:b.id,score:de(c,b.vector),...b.meta!==void 0?{meta:b.meta}:{}})).sort((b,A)=>A.score-b.score).slice(0,m)},{describeKind:"derived",equals:(T,n)=>ue(T,n),meta:S("vector_search")})}return Object.assign(y,{backend:t,events:p,entries:w.entries,upsert:G,remove:j,clear:D,reindex:F,searchNode:H})}var se="\0";function Q(o,t,g){return`${o}${se}${t}${se}${g}`}function ie(o,t){if(!o||o.size===0)return new Map;let g=new Map;for(let d of o.values()){let f=t==="from"?d.from:d.to,l=g.get(f);l||(l=[],g.set(f,l)),l.push(d)}let r=new Map;for(let[d,f]of g)r.set(d,Object.freeze(f));return r}function ae(o,t){if(o===t)return!0;if(o==null||t==null||o.size!==t.size)return!1;for(let[g,r]of o){let d=t.get(g);if(!d||r.length!==d.length)return!1;for(let f=0;f<r.length;f+=1){let l=r[f],y=d[f];if(l.from!==y.from||l.to!==y.to||l.relation!==y.relation||l.weight!==y.weight)return!1}}return!0}function me(o,t={}){let g=t.orphanGC??"keep";if(t.entitiesMaxSize!==void 0&&t.entitiesMaxSize<1)throw new RangeError("knowledgeGraph: entitiesMaxSize must be >= 1");if(t.edgesMaxSize!==void 0&&t.edgesMaxSize<1)throw new RangeError("knowledgeGraph: edgesMaxSize must be >= 1");let r=new P(o),d=L({name:"entities",...t.entitiesMaxSize!==void 0?{maxSize:t.entitiesMaxSize}:{}}),f=L({name:"edges",...t.edgesMaxSize!==void 0?{maxSize:t.edgesMaxSize}:{}});r.add(d.entries,{name:"entities"}),r.add(f.entries,{name:"edges"});let l=x([f.entries],([i])=>ie(i,"from"),{name:"adjacencyOut",describeKind:"derived",initial:new Map,equals:ae,meta:S("adjacency_out")}),y=x([f.entries],([i])=>ie(i,"to"),{name:"adjacencyIn",describeKind:"derived",initial:new Map,equals:ae,meta:S("adjacency_in")});r.add(l,{name:"adjacencyOut"}),r.add(y,{name:"adjacencyIn"}),r.addDisposer(I(l)),r.addDisposer(I(y));let R=x([d.entries],([i])=>(i??new Map).size,{name:"entityCount",describeKind:"derived",initial:0,meta:S("entity_count")}),k=x([f.entries],([i])=>(i??new Map).size,{name:"edgeCount",describeKind:"derived",initial:0,meta:S("edge_count")});r.add(R,{name:"entityCount"}),r.add(k,{name:"edgeCount"}),r.addDisposer(I(R)),r.addDisposer(I(k));let v=W({name:"events",retainedLimit:1024,graph:r}),C=J(r,"seq",0);function p(i){let e=l.cache,s=y.cache;return(e?.get(i)?.length??0)>0||(s?.get(i)?.length??0)>0}function E(i){if(g==="remove")for(let e of i)d.has(e)&&(p(e)||(d.delete(e),v.append({action:"orphanRemove",id:e,t_ns:X(),seq:ee(C)})))}let w=(i,e)=>{d.set(i,e)},z=i=>{let e=f.entries.cache,s=new Set;if(e){let a=[];for(let[T,n]of e)(n.from===i||n.to===i)&&(a.push(T),n.from!==i&&s.add(n.from),n.to!==i&&s.add(n.to));a.length>0&&f.deleteMany(a)}d.has(i)&&d.delete(i),E([...s])},q=(i,e,s,a=1)=>{f.set(Q(i,e,s),{from:i,to:e,relation:s,weight:a})},K=(i,e,s)=>{if(s!==void 0)f.delete(Q(i,e,s));else{let a=f.entries.cache;if(!a)return;let T=[];for(let[n,c]of a)c.from===i&&c.to===e&&T.push(n);T.length>0&&f.deleteMany(T)}E([i,e])},O=N(w,{audit:v,seq:C,onSuccess:([i],e,s)=>({action:"upsertEntity",id:i,t_ns:s.t_ns,seq:s.seq})}),G=N(z,{audit:v,seq:C,onSuccess:([i],e,s)=>({action:"removeEntity",id:i,t_ns:s.t_ns,seq:s.seq})}),j=N(q,{audit:v,seq:C,onSuccess:([i,e,s,a],T,n)=>({action:"link",from:i,to:e,relation:s,weight:a??1,t_ns:n.t_ns,seq:n.seq})}),D=N(K,{audit:v,seq:C,onSuccess:([i,e,s],a,T)=>({action:"unlink",from:i,to:e,...s!==void 0?{relation:s}:{},t_ns:T.t_ns,seq:T.seq})});function F(i,e){let s=$(i,"id"),a=e!==void 0?$(e,"relation"):void 0;return x(a?[l,y,s,a]:[l,y,s],n=>{let c=n[0],u=n[1],m=n[2],h=a?n[3]:void 0,M=c.get(m)??[],b=u.get(m)??[],A=new Set,U=[];for(let _ of M){let B=Q(_.from,_.to,_.relation);A.has(B)||h!==void 0&&_.relation!==h||(A.add(B),U.push(_))}for(let _ of b){let B=Q(_.from,_.to,_.relation);A.has(B)||h!==void 0&&_.relation!==h||(A.add(B),U.push(_))}return U},{describeKind:"derived",equals:(n,c)=>{let u=n,m=c;if(u===m)return!0;if(u==null||m==null||u.length!==m.length)return!1;for(let h=0;h<u.length;h+=1){let M=u[h],b=m[h];if(M.from!==b.from||M.to!==b.to||M.relation!==b.relation||M.weight!==b.weight)return!1}return!0},meta:S("related")})}return Object.assign(r,{events:v,entities:d.entries,edges:f.entries,adjacencyOut:l,adjacencyIn:y,entityCount:R,edgeCount:k,upsertEntity:O,removeEntity:G,link:j,unlink:D,relatedNode:F})}export{de as a,fe as b,ye as c,me as d,pe as e};