@graphrefly/graphrefly 0.29.0 → 0.31.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 (298) hide show
  1. package/dist/{cascading-CcAgRacD.d.cts → cascading-BfQmSmjU.d.cts} +22 -3
  2. package/dist/{cascading-Bp99ckMJ.d.ts → cascading-D3sapjue.d.ts} +22 -3
  3. package/dist/{chunk-JYOUF6UQ.js → chunk-3JRKP4BH.js} +1 -1
  4. package/dist/{chunk-GJR3P6JG.js → chunk-3Q2WXM6X.js} +1 -1
  5. package/dist/chunk-4KAUNEKV.js +3 -0
  6. package/dist/{chunk-SLMYTGTU.js → chunk-4UUDNFYG.js} +1 -1
  7. package/dist/chunk-4VXL3UZK.js +1 -0
  8. package/dist/{chunk-AV3PIDFQ.js → chunk-4ZPO2EL5.js} +1 -1
  9. package/dist/{chunk-VWPRPPKR.js → chunk-5LJAQTSS.js} +1 -1
  10. package/dist/{chunk-W4TSQ6RJ.js → chunk-7AJKUA36.js} +1 -1
  11. package/dist/{chunk-RD52SNH2.js → chunk-7EJTWGKW.js} +1 -1
  12. package/dist/{chunk-GNCBXARM.js → chunk-7EQPXQ7H.js} +1 -1
  13. package/dist/chunk-7QMVU3IX.js +1 -0
  14. package/dist/{chunk-BA5URFYW.js → chunk-A4JT4SAD.js} +1 -1
  15. package/dist/chunk-ASDKRNOJ.js +60 -0
  16. package/dist/{chunk-Y32RJO24.js → chunk-CZVYLXFK.js} +1 -1
  17. package/dist/{chunk-567NWZ3T.js → chunk-DWIAG62L.js} +1 -1
  18. package/dist/{chunk-Y53B6NS4.js → chunk-EBQ6FXKW.js} +1 -1
  19. package/dist/chunk-FTA5TB2A.js +1 -0
  20. package/dist/{chunk-E3AXATVZ.js → chunk-GF5T7PGC.js} +1 -1
  21. package/dist/{chunk-HSIEYSDY.js → chunk-I4U3TPK2.js} +1 -1
  22. package/dist/{chunk-AMG5VBHW.js → chunk-JMGGCSIC.js} +1 -1
  23. package/dist/chunk-JXRZXP3N.js +1 -0
  24. package/dist/{chunk-5Z4HDCO6.js → chunk-K54OKWNY.js} +1 -1
  25. package/dist/{chunk-63FFOHLA.js → chunk-KN4Q5MQO.js} +1 -1
  26. package/dist/chunk-LWGLBCMU.js +1 -0
  27. package/dist/{chunk-TWMEGG45.js → chunk-N2KKISCE.js} +1 -1
  28. package/dist/{chunk-4OFIQ66T.js → chunk-OKQUPJRY.js} +1 -1
  29. package/dist/chunk-PNTBXOQ6.js +5 -0
  30. package/dist/chunk-PSQNYY72.js +7 -0
  31. package/dist/{chunk-22F4K3G7.js → chunk-PZP4MEXK.js} +1 -1
  32. package/dist/{chunk-7TDOES3L.js → chunk-Q2SY7M7K.js} +1 -1
  33. package/dist/{chunk-OL33ZI6R.js → chunk-RWGJQQLT.js} +1 -1
  34. package/dist/chunk-SGS4OJGS.js +1 -0
  35. package/dist/chunk-UMH3HSP7.js +1 -0
  36. package/dist/{chunk-BZP5T4X6.js → chunk-W6FQIFVE.js} +1 -1
  37. package/dist/{chunk-A7IAQQ63.js → chunk-WLPVGXQ6.js} +1 -1
  38. package/dist/chunk-WQ7I7JVU.js +1 -0
  39. package/dist/{chunk-LGSNR4LU.js → chunk-WYJTXYWX.js} +1 -1
  40. package/dist/{chunk-PGMUCUHG.js → chunk-X2VHDT26.js} +1 -1
  41. package/dist/{chunk-PCZ35NXD.js → chunk-XEFAMCEA.js} +1 -1
  42. package/dist/{chunk-AUY2YKCO.js → chunk-XRSHMHEG.js} +1 -1
  43. package/dist/chunk-Y26UN6J5.js +18 -0
  44. package/dist/{chunk-BKPLTBL5.js → chunk-YQJPYEAL.js} +1 -1
  45. package/dist/{chunk-UVJQ35G2.js → chunk-YZ6VYLFD.js} +1 -1
  46. package/dist/{chunk-4JJCCD5S.js → chunk-YZKGGMPT.js} +1 -1
  47. package/dist/chunk-Z3UWIJ3A.js +1 -0
  48. package/dist/{chunk-CSJE2EKV.js → chunk-ZM7C2FUM.js} +1 -1
  49. package/dist/compat/index.cjs +1 -1
  50. package/dist/compat/index.d.cts +14 -14
  51. package/dist/compat/index.d.ts +14 -14
  52. package/dist/compat/index.js +1 -1
  53. package/dist/compat/jotai/index.cjs +1 -1
  54. package/dist/compat/jotai/index.d.cts +2 -2
  55. package/dist/compat/jotai/index.d.ts +2 -2
  56. package/dist/compat/jotai/index.js +1 -1
  57. package/dist/compat/nanostores/index.cjs +1 -1
  58. package/dist/compat/nanostores/index.d.cts +2 -2
  59. package/dist/compat/nanostores/index.d.ts +2 -2
  60. package/dist/compat/nanostores/index.js +1 -1
  61. package/dist/compat/nestjs/index.cjs +5 -5
  62. package/dist/compat/nestjs/index.d.cts +6 -6
  63. package/dist/compat/nestjs/index.d.ts +6 -6
  64. package/dist/compat/nestjs/index.js +1 -1
  65. package/dist/compat/react/index.d.cts +2 -2
  66. package/dist/compat/react/index.d.ts +2 -2
  67. package/dist/compat/solid/index.d.cts +2 -2
  68. package/dist/compat/solid/index.d.ts +2 -2
  69. package/dist/compat/svelte/index.d.cts +2 -2
  70. package/dist/compat/svelte/index.d.ts +2 -2
  71. package/dist/compat/vue/index.d.cts +2 -2
  72. package/dist/compat/vue/index.d.ts +2 -2
  73. package/dist/compat/zustand/index.cjs +1 -1
  74. package/dist/compat/zustand/index.d.cts +4 -4
  75. package/dist/compat/zustand/index.d.ts +4 -4
  76. package/dist/compat/zustand/index.js +1 -1
  77. package/dist/{composite-BL-llbnE.d.ts → composite-BY9hMxN7.d.ts} +2 -2
  78. package/dist/{composite-Dze--DaA.d.cts → composite-CH0S8DFn.d.cts} +2 -2
  79. package/dist/content-addressed-storage-BUiREIuj.d.ts +124 -0
  80. package/dist/content-addressed-storage-DqIWCmZG.d.cts +124 -0
  81. package/dist/core/index.cjs +1 -1
  82. package/dist/core/index.d.cts +4 -4
  83. package/dist/core/index.d.ts +4 -4
  84. package/dist/core/index.js +1 -1
  85. package/dist/extra/browser.cjs +1 -1
  86. package/dist/extra/browser.d.cts +1 -1
  87. package/dist/extra/browser.d.ts +1 -1
  88. package/dist/extra/browser.js +1 -1
  89. package/dist/extra/index.cjs +18 -18
  90. package/dist/extra/index.d.cts +12 -11
  91. package/dist/extra/index.d.ts +12 -11
  92. package/dist/extra/index.js +1 -1
  93. package/dist/extra/node.cjs +2 -2
  94. package/dist/extra/node.d.cts +1 -1
  95. package/dist/extra/node.d.ts +1 -1
  96. package/dist/extra/node.js +1 -1
  97. package/dist/extra/operators.cjs +1 -1
  98. package/dist/extra/operators.d.cts +42 -2
  99. package/dist/extra/operators.d.ts +42 -2
  100. package/dist/extra/operators.js +1 -1
  101. package/dist/extra/reactive.cjs +1 -1
  102. package/dist/extra/reactive.d.cts +3 -3
  103. package/dist/extra/reactive.d.ts +3 -3
  104. package/dist/extra/reactive.js +1 -1
  105. package/dist/extra/sources.cjs +1 -1
  106. package/dist/extra/sources.d.cts +63 -3
  107. package/dist/extra/sources.d.ts +63 -3
  108. package/dist/extra/sources.js +1 -1
  109. package/dist/extra/storage-browser.cjs +1 -1
  110. package/dist/extra/storage-browser.d.cts +1 -1
  111. package/dist/extra/storage-browser.d.ts +1 -1
  112. package/dist/extra/storage-browser.js +1 -1
  113. package/dist/{fallback-BaTS7vVY.d.cts → fallback-Cb3GH1O7.d.cts} +6 -14
  114. package/dist/{fallback-eOm3LNxP.d.ts → fallback-DRjJ_ZM8.d.ts} +6 -14
  115. package/dist/graph/index.cjs +4 -4
  116. package/dist/graph/index.d.cts +5 -5
  117. package/dist/graph/index.d.ts +5 -5
  118. package/dist/graph/index.js +1 -1
  119. package/dist/{graph-DgohqXK-.d.cts → graph-C4Uxwv0T.d.cts} +2 -2
  120. package/dist/{graph-Qjg9gWHI.d.ts → graph-CWeI0aHd.d.ts} +2 -2
  121. package/dist/{index-DX8xS-yB.d.cts → index-9iguV3bF.d.cts} +2 -2
  122. package/dist/{index-BanNUILp.d.cts → index-B-z8WaSd.d.cts} +2 -2
  123. package/dist/{index-C66RJiX8.d.ts → index-B5iVOD7w.d.ts} +2 -2
  124. package/dist/{index-CcWOJ6F0.d.ts → index-BANwzwBV.d.ts} +3 -3
  125. package/dist/{index-CiaVoZGo.d.ts → index-BBINVimG.d.ts} +3 -3
  126. package/dist/{index-B-gqvYel.d.ts → index-BEpRsvhg.d.ts} +4 -4
  127. package/dist/{index-C8RfjffH.d.ts → index-BMe3pCom.d.cts} +3 -3
  128. package/dist/{index-gsT79Xu9.d.ts → index-BX22kvjh.d.ts} +1 -1
  129. package/dist/{index-CA1Cu7Ud.d.ts → index-BXzl1NDD.d.ts} +6 -6
  130. package/dist/{index-BqZ6vB2A.d.ts → index-Bd6oFZqO.d.ts} +230 -122
  131. package/dist/{index-kykKWwV-.d.cts → index-BpFWP7Bq.d.cts} +3 -3
  132. package/dist/{index-iKkyJosF.d.cts → index-Bs3-LC83.d.cts} +3 -3
  133. package/dist/{index-CJ45TW-h.d.ts → index-Bvi5uJxX.d.ts} +1 -1
  134. package/dist/{index-IMAHq-ia.d.ts → index-ByPnK85n.d.ts} +1 -1
  135. package/dist/{index-CABbltIu.d.cts → index-BydMDMf7.d.cts} +1 -1
  136. package/dist/{index-D5XJ2tSx.d.ts → index-C5Ghnp5B.d.ts} +3 -3
  137. package/dist/{index-BiyjsZ0m.d.ts → index-C6NBfXj-.d.ts} +3 -3
  138. package/dist/{index-D9HKAH_-.d.cts → index-C98oJsEs.d.cts} +2 -2
  139. package/dist/{index-CHEBsnYv.d.cts → index-CDK5RsV5.d.cts} +1 -1
  140. package/dist/{index-DJ5oNBc8.d.ts → index-CFW32Dy1.d.ts} +3 -3
  141. package/dist/{index-D80do5jX.d.cts → index-CIXaiYDE.d.cts} +1 -1
  142. package/dist/{index-2BVuRCI4.d.ts → index-CJymKyzT.d.ts} +86 -11
  143. package/dist/{index-H_oxVec5.d.cts → index-CRAkoq-y.d.cts} +1 -1
  144. package/dist/{index-DiZejfCI.d.cts → index-CZChc85Q.d.cts} +230 -122
  145. package/dist/{index-DDy8eeXS.d.ts → index-CcS0t-l2.d.ts} +3 -3
  146. package/dist/{index-B2PRuolf.d.cts → index-CcpEvuPl.d.cts} +2 -2
  147. package/dist/{index-DwjJGKxV.d.ts → index-CfFYyLR8.d.ts} +3 -3
  148. package/dist/{index-A65LZhoM.d.ts → index-CotRMjtJ.d.ts} +2 -2
  149. package/dist/{index-BQaEnxBf.d.ts → index-CrC7urhX.d.ts} +1 -1
  150. package/dist/{index-DuB5aO4-.d.ts → index-CvS9IuTG.d.ts} +2 -2
  151. package/dist/{index-BUi57v_p.d.ts → index-CwhcFzTA.d.ts} +4 -4
  152. package/dist/{index-BUVtw1Ay.d.cts → index-Cy7eFeIX.d.cts} +2 -2
  153. package/dist/{index-C08QPDcV.d.cts → index-D-kHVedZ.d.cts} +3 -3
  154. package/dist/{index-Ct5CWc4E.d.ts → index-D0C_USMR.d.ts} +1 -1
  155. package/dist/{index-y1RllPn4.d.cts → index-D7XxY1Ff.d.cts} +1 -1
  156. package/dist/{index-BJqt9EwW.d.ts → index-D9HrBx2J.d.ts} +2 -2
  157. package/dist/{index-DP0_O3ls.d.cts → index-D9Y_u6BG.d.cts} +3 -3
  158. package/dist/{index-DoWMs-Kk.d.cts → index-DBQUKh59.d.cts} +4 -4
  159. package/dist/{index-dig-r2tQ.d.cts → index-DD7RhHNJ.d.cts} +6 -6
  160. package/dist/{index-U1nir7MX.d.cts → index-DDo-eqQ4.d.cts} +1 -1
  161. package/dist/{index-2NvguqQA.d.ts → index-DGb1awva.d.ts} +4 -4
  162. package/dist/{index-i99Ka8s7.d.cts → index-DR3gf_DG.d.cts} +9 -9
  163. package/dist/{index-DBe_8XW5.d.cts → index-DVNLe3pS.d.cts} +3 -3
  164. package/dist/{index-DknyJ2Fu.d.cts → index-Dm3_D5Ta.d.cts} +4 -4
  165. package/dist/{index-DCeTyFlB.d.ts → index-DnrZghBB.d.ts} +2 -2
  166. package/dist/{index-Byh-xTyp.d.ts → index-Docdiu9a.d.ts} +3 -3
  167. package/dist/{index-BTSkeCZs.d.cts → index-DxMS0cHM.d.ts} +3 -3
  168. package/dist/{index-D38duMCv.d.cts → index-DylQCKEL.d.cts} +3 -3
  169. package/dist/{index-jleeotBT.d.cts → index-FBqTfL_S.d.cts} +1 -1
  170. package/dist/{index-Vg7tORgk.d.ts → index-FrYrV-Vf.d.ts} +2 -2
  171. package/dist/{index-BSfwiy5B.d.ts → index-IZ3l_vQ9.d.ts} +2 -2
  172. package/dist/{index-CX2tFJL1.d.ts → index-Ip3q9T9x.d.ts} +1 -1
  173. package/dist/{index-CI0yDnLp.d.ts → index-RQg6lTrN.d.ts} +9 -9
  174. package/dist/{index-vgcLF5TH.d.cts → index-SSGqF8mI.d.cts} +2 -2
  175. package/dist/{index-CJZKZoo4.d.cts → index-UZO988ox.d.cts} +3 -3
  176. package/dist/{index-BKjT5DiZ.d.cts → index-gJQqJTKx.d.cts} +86 -11
  177. package/dist/{index-BayHDRx6.d.cts → index-iBp74eGU.d.cts} +3 -3
  178. package/dist/{index-BuVidq3D.d.cts → index-lKuLYmHO.d.cts} +2 -2
  179. package/dist/{index-BM8BU4q6.d.ts → index-wIx1Jisk.d.ts} +1 -1
  180. package/dist/{index-B-8FCEua.d.cts → index-yIdWFo2b.d.cts} +4 -4
  181. package/dist/index.cjs +99 -121
  182. package/dist/index.d.cts +47 -46
  183. package/dist/index.d.ts +47 -46
  184. package/dist/index.js +1 -1
  185. package/dist/{meta-CckhhFRd.d.ts → meta-BMwx3ExI.d.ts} +1 -1
  186. package/dist/{meta-CX7YsOzp.d.cts → meta-COtmHLwT.d.cts} +1 -1
  187. package/dist/{node-Dd6wHSib.d.cts → node-BVV7G1bq.d.cts} +24 -0
  188. package/dist/{node-Dd6wHSib.d.ts → node-BVV7G1bq.d.ts} +24 -0
  189. package/dist/{observable-kwzpLvbi.d.cts → observable-BrUAPeH_.d.cts} +1 -1
  190. package/dist/{observable-BZJgo616.d.ts → observable-ITikPXz3.d.ts} +1 -1
  191. package/dist/patterns/ai/browser.cjs +5 -22
  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 +27 -44
  196. package/dist/patterns/ai/index.d.cts +17 -15
  197. package/dist/patterns/ai/index.d.ts +17 -15
  198. package/dist/patterns/ai/index.js +1 -1
  199. package/dist/patterns/ai/node.cjs +2 -2
  200. package/dist/patterns/ai/node.d.cts +5 -4
  201. package/dist/patterns/ai/node.d.ts +5 -4
  202. package/dist/patterns/ai/node.js +1 -1
  203. package/dist/patterns/audit/index.cjs +3 -3
  204. package/dist/patterns/audit/index.d.cts +5 -5
  205. package/dist/patterns/audit/index.d.ts +5 -5
  206. package/dist/patterns/audit/index.js +1 -1
  207. package/dist/patterns/cqrs/index.cjs +6 -6
  208. package/dist/patterns/cqrs/index.d.cts +4 -4
  209. package/dist/patterns/cqrs/index.d.ts +4 -4
  210. package/dist/patterns/cqrs/index.js +1 -1
  211. package/dist/patterns/demo-shell/index.cjs +1 -1
  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 +4 -4
  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 +6 -6
  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 +7 -7
  224. package/dist/patterns/guarded-execution/index.d.cts +6 -6
  225. package/dist/patterns/guarded-execution/index.d.ts +6 -6
  226. package/dist/patterns/guarded-execution/index.js +1 -1
  227. package/dist/patterns/harness/index.cjs +11 -11
  228. package/dist/patterns/harness/index.d.cts +9 -9
  229. package/dist/patterns/harness/index.d.ts +9 -9
  230. package/dist/patterns/harness/index.js +1 -1
  231. package/dist/patterns/job-queue/index.cjs +5 -5
  232. package/dist/patterns/job-queue/index.d.cts +4 -4
  233. package/dist/patterns/job-queue/index.d.ts +4 -4
  234. package/dist/patterns/job-queue/index.js +1 -1
  235. package/dist/patterns/lens/index.cjs +5 -5
  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 +4 -4
  240. package/dist/patterns/memory/index.d.cts +4 -4
  241. package/dist/patterns/memory/index.d.ts +4 -4
  242. package/dist/patterns/memory/index.js +1 -1
  243. package/dist/patterns/messaging/index.cjs +5 -5
  244. package/dist/patterns/messaging/index.d.cts +4 -4
  245. package/dist/patterns/messaging/index.d.ts +4 -4
  246. package/dist/patterns/messaging/index.js +1 -1
  247. package/dist/patterns/orchestration/index.cjs +1 -1
  248. package/dist/patterns/orchestration/index.d.cts +5 -5
  249. package/dist/patterns/orchestration/index.d.ts +5 -5
  250. package/dist/patterns/orchestration/index.js +1 -1
  251. package/dist/patterns/reactive-layout/index.cjs +1 -1
  252. package/dist/patterns/reactive-layout/index.d.cts +5 -5
  253. package/dist/patterns/reactive-layout/index.d.ts +5 -5
  254. package/dist/patterns/reactive-layout/index.js +1 -1
  255. package/dist/patterns/reduction/index.cjs +5 -5
  256. package/dist/patterns/reduction/index.d.cts +4 -4
  257. package/dist/patterns/reduction/index.d.ts +4 -4
  258. package/dist/patterns/reduction/index.js +1 -1
  259. package/dist/patterns/refine-loop/index.cjs +8 -8
  260. package/dist/patterns/refine-loop/index.d.cts +5 -5
  261. package/dist/patterns/refine-loop/index.d.ts +5 -5
  262. package/dist/patterns/refine-loop/index.js +1 -1
  263. package/dist/patterns/resilient-pipeline/index.cjs +1 -1
  264. package/dist/patterns/resilient-pipeline/index.d.cts +6 -6
  265. package/dist/patterns/resilient-pipeline/index.d.ts +6 -6
  266. package/dist/patterns/resilient-pipeline/index.js +1 -1
  267. package/dist/patterns/surface/index.cjs +7 -7
  268. package/dist/patterns/surface/index.d.cts +6 -6
  269. package/dist/patterns/surface/index.d.ts +6 -6
  270. package/dist/patterns/surface/index.js +1 -1
  271. package/dist/{reactive-layout-PiFwVaWS.d.cts → reactive-layout-5oEn8lHM.d.cts} +2 -2
  272. package/dist/{reactive-layout-BkBwVvwm.d.ts → reactive-layout-BAr6-_o5.d.ts} +2 -2
  273. package/dist/{reactive-log-BiVoSxke.d.cts → reactive-log-5jFeNRmd.d.cts} +1 -1
  274. package/dist/{reactive-log-1QTyx10a.d.ts → reactive-log-BOJDCI5x.d.ts} +1 -1
  275. package/dist/{reactive-map-CwO_COHy.d.cts → reactive-map-CtRaCddO.d.ts} +60 -2
  276. package/dist/{reactive-map-FeuTVAJb.d.ts → reactive-map-IJIfZxoh.d.cts} +60 -2
  277. package/dist/{resilience-CBfYJW5C.d.ts → resilience-CludlzcP.d.ts} +1 -1
  278. package/dist/{resilience-XRUF267O.js → resilience-IVNDYORD.js} +1 -1
  279. package/dist/{resilience-uBz4yvYB.d.cts → resilience-Q6Bt_7y0.d.cts} +1 -1
  280. package/dist/{sugar-CY-MCfZ9.d.ts → sugar-BHbAACDG.d.ts} +1 -1
  281. package/dist/{sugar-DHttV0LX.d.cts → sugar-CqR6DJ7v.d.cts} +1 -1
  282. package/dist/{topology-tree-CVjt2gp7.d.cts → topology-tree-CVREibAc.d.cts} +1 -1
  283. package/dist/{topology-tree-one6oSKY.d.ts → topology-tree-CkjojcB6.d.ts} +1 -1
  284. package/dist/{types-O3GzJY2U.d.cts → types-BgMqbc7N.d.cts} +41 -14
  285. package/dist/{types-u64Ose53.d.ts → types-CdfO2QTt.d.ts} +41 -14
  286. package/package.json +1 -1
  287. package/dist/chunk-22SVXUPB.js +0 -64
  288. package/dist/chunk-2GQREQ6C.js +0 -1
  289. package/dist/chunk-4V4C7K56.js +0 -1
  290. package/dist/chunk-5JDE5JHE.js +0 -1
  291. package/dist/chunk-7JDLFI6N.js +0 -1
  292. package/dist/chunk-ISCENNXS.js +0 -1
  293. package/dist/chunk-KASHOCF5.js +0 -1
  294. package/dist/chunk-LVGBLZM2.js +0 -1
  295. package/dist/chunk-MGKAO4EK.js +0 -7
  296. package/dist/chunk-NSG4C6BF.js +0 -23
  297. package/dist/chunk-VGTCGNRX.js +0 -18
  298. package/dist/chunk-WM7H7WTY.js +0 -3
@@ -1,25 +1,24 @@
1
- import { T as TokenUsage, L as LLMAdapter, P as PricingFn, C as ChatMessage, a as LLMInvokeOptions, d as ToolDefinition, b as LLMResponse, c as ToolCall, e as CapabilitiesRegistry, M as ModelCapabilities, f as ModelFeatures, g as ModelLimits, h as ModelPricing, i as PriceBreakdown, j as PricingRegistry, R as Rate, S as StreamDelta, k as TieredRate, l as composePricing, m as computePrice, n as createCapabilitiesRegistry, o as createPricingRegistry, r as registryPricing, z as zeroPrice } from './types-u64Ose53.js';
2
- import { a as CascadeExhaustionReport, A as AdapterProvider, b as AdapterTier, d as AllTiersExhaustedError, C as CascadingLlmAdapterOptions, e as CreateAdapterOptions, O as OpenAICompatAdapterOptions, f as OpenAICompatPreset, g as OpenAISdkLike, h as cascadingLlmAdapter, c as createAdapter, o as openAICompatAdapter } from './cascading-Bp99ckMJ.js';
3
- import { a as Node, A as Actor } from './node-Dd6wHSib.js';
4
- import { R as ReactiveLogBundle } from './reactive-log-1QTyx10a.js';
5
- import { a as CircuitBreakerOptions, e as CircuitBreaker, f as CircuitOpenError } from './resilience-CBfYJW5C.js';
1
+ import { T as TokenUsage, L as LLMAdapter, P as PricingFn, C as ChatMessage, a as LLMInvokeOptions, d as ToolDefinition, b as LLMResponse, S as StreamDelta, c as ToolCall, e as CapabilitiesRegistry, M as ModelCapabilities, f as ModelFeatures, g as ModelLimits, h as ModelPricing, i as PriceBreakdown, j as PricingRegistry, R as Rate, k as TieredRate, l as composePricing, m as computePrice, n as createCapabilitiesRegistry, o as createPricingRegistry, p as pricingFor, r as registryPricing, z as zeroPrice } from './types-CdfO2QTt.js';
2
+ import { a as CascadeExhaustionReport, A as AdapterProvider, b as AdapterTier, d as AllTiersExhaustedError, C as CascadingLlmAdapterOptions, e as CreateAdapterOptions, O as OpenAICompatAdapterOptions, f as OpenAICompatPreset, g as OpenAISdkLike, h as cascadingLlmAdapter, c as createAdapter, o as openAICompatAdapter, t as tier } from './cascading-D3sapjue.js';
3
+ import { a as Node, A as Actor } from './node-BVV7G1bq.js';
4
+ import { R as ReactiveLogBundle } from './reactive-log-BOJDCI5x.js';
5
+ import { a as CircuitBreakerOptions, e as CircuitBreaker, f as CircuitOpenError } from './resilience-CludlzcP.js';
6
6
  import { NodeInput } from './extra/sources.js';
7
- import { F as FallbackAdapterOptions, a as FallbackFixture, b as FallbackMissError, c as FallbackMissPolicy, R as ReplayCacheKeyContext, d as ReplayCacheMissError, e as ReplayCacheMode, W as WithReplayCacheOptions, f as canonicalJson, g as fallbackAdapter, w as withReplayCache } from './fallback-eOm3LNxP.js';
8
- import { G as Graph, a as GraphOptions, h as GraphAttachStorageOptions } from './graph-Qjg9gWHI.js';
9
- import { T as TopicGraph } from './index-DuB5aO4-.js';
10
- import { G as GateController, a as GateOptions } from './index-DJ5oNBc8.js';
11
- import { D as DistillBundle, E as Extraction } from './composite-BL-llbnE.js';
12
- import { V as VectorSearchResult, L as LightCollectionBundle, a as VectorIndexBundle, K as KnowledgeGraphGraph } from './index-DCeTyFlB.js';
7
+ import { W as WithReplayCacheOptions, F as FallbackAdapterOptions, a as FallbackFixture, b as FallbackMissError, c as FallbackMissPolicy, R as ReplayCacheKeyContext, d as ReplayCacheMissError, e as ReplayCacheMode, f as canonicalJson, g as fallbackAdapter, w as withReplayCache } from './fallback-DRjJ_ZM8.js';
8
+ import { G as Graph, a as GraphOptions, h as GraphAttachStorageOptions } from './graph-CWeI0aHd.js';
9
+ import { T as TopicGraph } from './index-CvS9IuTG.js';
10
+ import { G as GateController, a as GateOptions } from './index-CFW32Dy1.js';
11
+ import { D as DistillBundle, E as Extraction } from './composite-BY9hMxN7.js';
12
+ import { V as VectorSearchResult, L as LightCollectionBundle, a as VectorIndexBundle, K as KnowledgeGraphGraph } from './index-DnrZghBB.js';
13
13
  import { StorageHandle, StorageTier } from './extra/storage-core.js';
14
+ import { c as GraphSpecCatalog } from './index-CcS0t-l2.js';
14
15
 
15
16
  /**
16
17
  * Observable adapter wrapper — the "inverted statistics" surface.
17
18
  *
18
19
  * The library emits structured facts (token counts, latency, timestamps)
19
20
  * as reactive nodes. Users compose interpretation (pricing, dashboards,
20
- * telemetry, budget breakers) as derived layers on top. Rationale lives in
21
- * `archive/docs/SESSION-rigor-infrastructure-plan.md` §"v2: reactive LLM
22
- * statistics + pluggable pricing".
21
+ * telemetry, budget breakers) as derived layers on top.
23
22
  */
24
23
 
25
24
  /** One call's structured statistics — emitted after `invoke()` / `stream()` settles. */
@@ -58,20 +57,28 @@ interface AdapterStats {
58
57
  readonly totalOutputTokens: Node<number>;
59
58
  /** Reset all counters + clear the log. */
60
59
  reset(): void;
60
+ /**
61
+ * Release the internal keepalive subscriptions on the three counter
62
+ * derives (`totalCalls` / `totalInputTokens` / `totalOutputTokens`) so the
63
+ * bundle can be GC'd when the caller discards it. Idempotent. Long-lived
64
+ * adapter bundles (module-level singletons) can ignore; transient bundles
65
+ * (per-request / per-user) should call on teardown.
66
+ */
67
+ dispose(): void;
61
68
  }
62
69
  /**
63
70
  * Wrap any {@link LLMAdapter} with a reactive stats bundle.
64
71
  *
65
- * Implementation:
66
- * - `stats.lastCall` is a `state<CallStatsEvent | undefined>` exposed via a
67
- * null-filtering derived so consumers see a typed `Node<CallStatsEvent>`.
72
+ * Implementation (Unit 10 B):
73
+ * - `stats.lastCall` is a `state<CallStatsEvent | null>`.
68
74
  * - Counters (`totalCalls` / `totalInputTokens` / `totalOutputTokens`) are
69
- * plain state nodes updated via `.emit()`.
75
+ * **derived views** over `allCalls.entries` self-maintaining, no manual
76
+ * `.cache + 1 + emit` pattern, visible topology in `describe()`.
70
77
  * - `stats.allCalls` is a `reactiveLog<CallStatsEvent>` — bounded, supports
71
78
  * `tail(n)` / `slice(start, stop)` for dashboard views.
72
- * - The wrapped adapter passes DATA through via a `derived` tap that writes
73
- * to the stats nodes as a side-effect. No pricing — users compose pricing
74
- * as a derived on top of `stats.lastCall`.
79
+ * - The wrapped adapter passes DATA through via `adaptInvokeResult`, which
80
+ * uses `onFirstData` internally to guard against re-subscription double-fire
81
+ * and wires `.catch` for Promise-path error recording (Unit 10 A).
75
82
  */
76
83
  declare function observableAdapter(inner: LLMAdapter, opts?: {
77
84
  logMax?: number;
@@ -115,6 +122,11 @@ declare function withBreaker(inner: LLMAdapter, opts?: WithBreakerOptions): {
115
122
  * throws `BudgetExhaustedError` without hitting the wrapped adapter. On
116
123
  * success, the call's usage is appended to the log AND debits the running
117
124
  * totals in a single synchronous update.
125
+ *
126
+ * Wave A Unit 11 Q4: rejected-Promise path now wires `.catch` (via
127
+ * `adaptInvokeResult.onError`) so failed invoke calls record a CallStatsEvent
128
+ * with `error` populated. Prior code silently dropped rejection from the
129
+ * `totals` / `log` surface.
118
130
  */
119
131
 
120
132
  declare class BudgetExhaustedError extends Error {
@@ -489,6 +501,14 @@ interface ResilientAdapterOptions {
489
501
  * is set. Threaded directly to the inner {@link cascadingLlmAdapter}.
490
502
  */
491
503
  onExhausted?: (report: CascadeExhaustionReport) => void;
504
+ /**
505
+ * Content-addressed replay cache wrapped OUTERMOST — a cache HIT short-
506
+ * circuits the entire stack (rate-limit / budget / breaker / retry /
507
+ * fallback), saving money and latency. Cache MISSes flow through the
508
+ * normal stack; the successful result is stored on success. See
509
+ * {@link withReplayCache}.
510
+ */
511
+ cache?: WithReplayCacheOptions;
492
512
  }
493
513
  /** Output bundle of {@link resilientAdapter}. */
494
514
  interface ResilientAdapterBundle {
@@ -767,23 +787,6 @@ interface GeminiUsage {
767
787
  }
768
788
  declare function googleAdapter(opts?: GoogleAdapterOptions): LLMAdapter;
769
789
 
770
- /**
771
- * Curated `cascadingLlmAdapter` presets — Node/browser-safe subset.
772
- *
773
- * Thin compositions over `cascadingLlmAdapter` + `createAdapter`. No new
774
- * logic — just convenient defaults. Users needing finer control call
775
- * `cascadingLlmAdapter` directly.
776
- *
777
- * Presets that depend on browser-only adapters (WebLLM, Chrome Nano) have
778
- * been split out to [`./browser-presets.ts`](./browser-presets.ts) and are
779
- * exported from the `@graphrefly/graphrefly/patterns/ai/browser`
780
- * subpath so they don't leak into Node bundles.
781
- *
782
- * @module
783
- */
784
-
785
- declare function dryRunPreset(): LLMAdapter;
786
-
787
790
  /**
788
791
  * `fromLLM` — reactive LLM invocation sugar.
789
792
  *
@@ -889,34 +892,56 @@ type PromptNodeOptions = {
889
892
  declare function promptNode<T = string>(adapter: LLMAdapter, deps: readonly Node<unknown>[], prompt: string | ((...depValues: unknown[]) => string), opts?: PromptNodeOptions): Node<T | null>;
890
893
 
891
894
  /**
892
- * `streamingPromptNode` + `gatedStream` — streaming LLM transforms, plus the
893
- * shared `StreamChunk` shape.
895
+ * `streamingPromptNode` + `gatedStream` — streaming LLM transforms.
896
+ *
897
+ * **Wave A Unit 2 rewrite:**
898
+ * - `StreamChunk` retired. The live stream surface is now `deltaTopic:
899
+ * TopicGraph<StreamDelta & {seq, ts}>` — every adapter delta (token,
900
+ * thinking, tool-call, usage, finish) is published in order. The previous
901
+ * shape retained the accumulated text per-chunk, producing O(N²) memory;
902
+ * the new shape stores only per-delta payloads (O(N)).
903
+ * - New `accumulatedText: Node<string>` on the bundle — lazy-built via
904
+ * `ctx.store` over token-type deltas. Text-only extractors (`streamExtractor`,
905
+ * `keywordFlagExtractor`, `toolCallExtractor`) consume this node.
906
+ * - `retainedLimit?: number` option exposed for the delta topic (no default —
907
+ * session scale is domain-specific per Unit 2 Q2).
908
+ * - Unconditional `keepalive(output)` removed — callers subscribe as needed.
909
+ * - System-prompt double-send fixed (matches promptNode Unit 1 fix).
910
+ * - `format: "json"` throws on parse error with a content-preview diagnostic
911
+ * (parity with `promptNode`).
912
+ * - Shared body between `streamingPromptNode` and `gatedStream` extracted
913
+ * into `streamingInvoke` per Unit 2 locked scope.
894
914
  *
895
915
  * @module
896
916
  */
897
917
 
898
918
  /**
899
- * A single chunk from any streaming source (LLM tokens, WebSocket, SSE, file tail).
900
- * Generic enough for any streaming source, not just LLM.
919
+ * A single delta published to the `deltaTopic`. Every adapter emission is
920
+ * forwarded not just token deltas so consumers see the full event log
921
+ * (thinking, tool-call-delta, usage, finish).
901
922
  */
902
- type StreamChunk = {
903
- /** Identifier for the stream source (adapter name, URL, etc.). */
904
- readonly source: string;
905
- /** This chunk's content. */
906
- readonly token: string;
907
- /** Full accumulated text so far. */
908
- readonly accumulated: string;
909
- /** 0-based chunk counter. */
910
- readonly index: number;
923
+ type StampedDelta = StreamDelta & {
924
+ /** Monotonic per-stream counter starting at 0. */
925
+ readonly seq: number;
926
+ /** Wall-clock nanoseconds at publish time (spec §5.11 central timer). */
927
+ readonly ts: number;
911
928
  };
912
929
  type StreamingPromptNodeOptions = {
913
930
  name?: string;
914
931
  model?: string;
915
932
  temperature?: number;
916
933
  maxTokens?: number;
917
- /** Output format — `"json"` attempts JSON.parse on the final accumulated text. Default: `"text"`. */
934
+ /** Output format — `"json"` attempts JSON.parse on accumulated text. Throws on parse failure. Default: `"text"`. */
918
935
  format?: "text" | "json";
919
936
  systemPrompt?: string;
937
+ meta?: Record<string, unknown>;
938
+ /**
939
+ * Optional retention cap on the delta topic. Omit for unbounded retention
940
+ * (the topic grows until `dispose()`). Recommended values: `8_192` for
941
+ * single-shot 8K-token responses, `1_000_000` for persistent session
942
+ * topics, or explicit `dispose()` for worker-pool patterns.
943
+ */
944
+ retainedLimit?: number;
920
945
  };
921
946
  /**
922
947
  * Bundle returned by {@link streamingPromptNode}.
@@ -924,9 +949,15 @@ type StreamingPromptNodeOptions = {
924
949
  type StreamingPromptNodeHandle<T> = {
925
950
  /** Final parsed result (emits once per invocation, after stream completes). */
926
951
  output: Node<T | null>;
927
- /** Live stream topic — subscribe to `stream.latest` or `stream.events` for chunks. */
928
- stream: TopicGraph<StreamChunk>;
929
- /** Tear down the keepalive subscription and release resources. */
952
+ /** Live delta topic — every adapter delta in order, stamped with `seq` + `ts`. */
953
+ deltaTopic: TopicGraph<StampedDelta>;
954
+ /**
955
+ * Reactive accumulated-text view — lazy-built over `deltaTopic.latest`
956
+ * filtered on `type === "token"`. Text-only extractors compose on this.
957
+ * Emits the empty string before any token arrives.
958
+ */
959
+ accumulatedText: Node<string>;
960
+ /** Tear down the delta topic and release resources. */
930
961
  dispose: () => void;
931
962
  };
932
963
  /**
@@ -934,12 +965,12 @@ type StreamingPromptNodeHandle<T> = {
934
965
  * streaming pipeline. Re-invokes the LLM whenever any dep changes; the
935
966
  * previous in-flight stream is canceled automatically via `switchMap`.
936
967
  *
937
- * Each token chunk is published to a {@link TopicGraph} as a {@link StreamChunk}.
938
- * Extractors can mount on the topic independently (see `streamExtractor`).
939
- * Zero overhead if nobody subscribes to the stream topic.
968
+ * Every adapter delta is published to `deltaTopic` stamped with `seq` + `ts`.
969
+ * Text consumers subscribe to `accumulatedText` (auto-maintained). Delta-
970
+ * specific consumers (`costMeterExtractor` on `usage` deltas) subscribe to
971
+ * `deltaTopic` directly and filter by `delta.type`.
940
972
  *
941
- * The `output` node emits the final parsed result (like `promptNode`).
942
- * The async boundary is handled by `fromAny` (spec §5.10 compliant).
973
+ * The async boundary is handled by `fromAny(asyncGenerator)` (spec §5.10).
943
974
  */
944
975
  declare function streamingPromptNode<T = string>(adapter: LLMAdapter, deps: readonly Node<unknown>[], prompt: string | ((...depValues: unknown[]) => string), opts?: StreamingPromptNodeOptions): StreamingPromptNodeHandle<T>;
945
976
  type GatedStreamOptions = StreamingPromptNodeOptions & {
@@ -952,11 +983,13 @@ type GatedStreamOptions = StreamingPromptNodeOptions & {
952
983
  type GatedStreamHandle<T> = {
953
984
  /** Final parsed result (after gate approval). */
954
985
  output: Node<T | null>;
955
- /** Live stream topic — subscribe to `stream.latest` for chunks. */
956
- stream: TopicGraph<StreamChunk>;
986
+ /** Live delta topic — every adapter delta in order, stamped with `seq` + `ts`. */
987
+ deltaTopic: TopicGraph<StampedDelta>;
988
+ /** Reactive accumulated-text view. */
989
+ accumulatedText: Node<string>;
957
990
  /** Gate controller — approve, reject (aborts in-flight stream), modify. */
958
991
  gate: GateController<T | null>;
959
- /** Tear down everything. */
992
+ /** Tear down the delta topic + gate keepalive. */
960
993
  dispose: () => void;
961
994
  };
962
995
  /**
@@ -964,14 +997,13 @@ type GatedStreamHandle<T> = {
964
997
  *
965
998
  * Composes {@link streamingPromptNode} with `gate` so that:
966
999
  * - `gate.reject()` discards the pending value **and** aborts the in-flight
967
- * stream (cancels the `AbortController`).
1000
+ * stream (toggles an internal cancel signal → switchMap restart → abort).
968
1001
  * - `gate.modify()` transforms the pending value before forwarding downstream.
969
1002
  * - `gate.approve()` forwards the final result as normal.
970
1003
  *
971
- * The abort-on-reject works by toggling an internal cancel signal that causes
972
- * the `switchMap` inside `streamingPromptNode` to restart with an empty message
973
- * list, which triggers the `AbortController.abort()` in the async generator's
974
- * `finally` block.
1004
+ * Wave A Unit 2 defers full `gatedStream` review to Wave B Unit 17 (the
1005
+ * `gate()` primitive itself is reviewed there). This implementation retains
1006
+ * the existing gate API while adopting the Unit 2 delta-topic shape.
975
1007
  */
976
1008
  declare function gatedStream<T = string>(graph: Graph, name: string, adapter: LLMAdapter, deps: readonly Node<unknown>[], prompt: string | ((...depValues: unknown[]) => string), opts?: GatedStreamOptions): GatedStreamHandle<T>;
977
1009
 
@@ -994,7 +1026,15 @@ declare function systemPromptBuilder(sections: readonly NodeInput<string>[], opt
994
1026
  }): SystemPromptHandle;
995
1027
 
996
1028
  /**
997
- * Cost meter extractor — counts chunks, characters, and estimates token usage.
1029
+ * Cost meter extractor — derives live cost readings from the delta topic.
1030
+ *
1031
+ * **Wave A Unit 3 rewrite:** signature takes `deltaTopic: TopicGraph<StampedDelta>`
1032
+ * instead of the old `TopicGraph<StreamChunk>`. The meter prefers real
1033
+ * `usage` deltas from the adapter; when no `usage` has been seen yet it
1034
+ * falls back to a char-based estimate over token deltas and stamps
1035
+ * `estimated: true` on the reading. Chunk count is the count of
1036
+ * token-type deltas seen (was `chunk.index + 1`).
1037
+ *
998
1038
  * @module
999
1039
  */
1000
1040
 
@@ -1003,6 +1043,12 @@ type CostMeterReading = {
1003
1043
  readonly chunkCount: number;
1004
1044
  readonly charCount: number;
1005
1045
  readonly estimatedTokens: number;
1046
+ /**
1047
+ * `true` when no adapter `usage` delta has been observed yet —
1048
+ * `estimatedTokens` is a char-based heuristic and should be treated as an
1049
+ * approximation. Flips to `false` once a real `usage` delta arrives.
1050
+ */
1051
+ readonly estimated: boolean;
1006
1052
  };
1007
1053
  type CostMeterOptions = {
1008
1054
  /** Characters per token approximation. Default: 4 (GPT-family). */
@@ -1010,14 +1056,14 @@ type CostMeterOptions = {
1010
1056
  name?: string;
1011
1057
  };
1012
1058
  /**
1013
- * Mounts a cost meter on a streaming topic. Counts chunks, characters, and
1014
- * estimates token count. Compose with `budgetGate` for hard-stop when LLM
1015
- * output exceeds budget mid-generation.
1059
+ * Mounts a cost meter on the delta topic. Prefers real `usage` deltas from
1060
+ * the provider; falls back to char-based estimation on token deltas alone
1061
+ * (with `meta.estimated: true` on the reading).
1016
1062
  *
1017
1063
  * Default structural equals suppresses DATA emission when two consecutive
1018
- * readings are identical (same chunk count + char count + token estimate).
1064
+ * readings are identical.
1019
1065
  */
1020
- declare function costMeterExtractor(streamTopic: TopicGraph<StreamChunk>, opts?: CostMeterOptions): Node<CostMeterReading>;
1066
+ declare function costMeterExtractor(deltaTopic: TopicGraph<StampedDelta>, opts?: CostMeterOptions): Node<CostMeterReading>;
1021
1067
 
1022
1068
  /**
1023
1069
  * Keyword-flag extractor — scans accumulated stream text for configured patterns.
@@ -1045,38 +1091,52 @@ type KeywordFlagExtractorOptions = {
1045
1091
  maxPatternLength?: number;
1046
1092
  };
1047
1093
  /**
1048
- * Mounts a keyword-flag extractor on a streaming topic. Scans accumulated text
1049
- * for all configured patterns and emits an array of matches.
1094
+ * Mounts a keyword-flag extractor on accumulated text. Scans for all
1095
+ * configured patterns and emits an array of matches.
1096
+ *
1097
+ * **Wave A Unit 3 rewrite:** signature takes `accumulatedText: Node<string>`
1098
+ * instead of the old `TopicGraph<StreamChunk>`. Patterns are compiled once
1099
+ * at factory time (was per-chunk). `maxPatternLength` is validated at
1100
+ * factory time — any pattern whose source exceeds the window throws
1101
+ * immediately.
1050
1102
  *
1051
1103
  * Use cases: design invariant violations (`setTimeout`, `EventEmitter`), PII
1052
1104
  * detection (SSN, email, phone), toxicity keywords, off-track reasoning.
1053
1105
  *
1054
- * **Streaming optimization.** Maintains a cursor across chunks in `ctx.store`
1055
- * so each chunk scans only the delta region `accumulated.slice(scannedTo -
1056
- * maxPatternLength)` — not the full string. Default structural equals
1057
- * suppresses DATA emission when no new flags were found this chunk.
1106
+ * **Streaming optimization.** Maintains a cursor across waves in `ctx.store`
1107
+ * so each emission scans only the delta region `accumulated.slice(scannedTo -
1108
+ * maxPatternLength)` — not the full string. Reactivation clears `ctx.store`
1109
+ * and resumes from offset 0 (COMPOSITION-GUIDE §20 RAM semantics).
1110
+ *
1111
+ * Default structural equals suppresses DATA emission when no new flags were
1112
+ * found this wave.
1058
1113
  */
1059
- declare function keywordFlagExtractor(streamTopic: TopicGraph<StreamChunk>, opts: KeywordFlagExtractorOptions): Node<readonly KeywordFlag[]>;
1114
+ declare function keywordFlagExtractor(accumulatedText: Node<string>, opts: KeywordFlagExtractorOptions): Node<readonly KeywordFlag[]>;
1060
1115
 
1061
1116
  /**
1062
- * Generic stream extractor — mounts an extract function on a streaming topic.
1117
+ * Generic stream extractor — mounts an extract function on accumulated text.
1118
+ *
1119
+ * **Wave A Unit 3 rewrite:** signature changed from
1120
+ * `streamExtractor(topic: TopicGraph<StreamChunk>, fn)` to
1121
+ * `streamExtractor(accumulatedText: Node<string>, fn)`. The Unit 2 delta-
1122
+ * topic redesign removed the per-chunk `accumulated` field; callers pass
1123
+ * `streamingPromptNode(...).accumulatedText` (or any other `Node<string>`
1124
+ * source of accumulated text). Source-agnostic — the extractor doesn't care
1125
+ * whether the text came from an LLM, WebSocket, SSE tail, or file reader.
1126
+ *
1063
1127
  * @module
1064
1128
  */
1065
1129
 
1066
1130
  /**
1067
- * Mounts an extractor function on a streaming topic. Returns a derived node
1068
- * that emits extracted values as chunks arrive.
1069
- *
1070
- * `extractFn` receives the accumulated text from the latest chunk and returns
1071
- * the extracted value, or `null` if nothing detected yet. This is the building
1072
- * block for keyword flags, tool call detection, cost metering, etc.
1131
+ * Mounts an extractor function on a reactive accumulated-text source. Returns
1132
+ * a derived node that emits extracted values as the text grows.
1073
1133
  *
1074
- * @param streamTopic - The stream topic to extract from.
1134
+ * @param accumulatedText - Reactive `Node<string>` of accumulated text.
1075
1135
  * @param extractFn - `(accumulated: string) => T | null`.
1076
- * @param opts - Optional name.
1136
+ * @param opts - Optional name + structural equals.
1077
1137
  * @returns Derived node emitting extracted values.
1078
1138
  */
1079
- declare function streamExtractor<T>(streamTopic: TopicGraph<StreamChunk>, extractFn: (accumulated: string) => T | null, opts?: {
1139
+ declare function streamExtractor<T>(accumulatedText: Node<string>, extractFn: (accumulated: string) => T | null, opts?: {
1080
1140
  name?: string;
1081
1141
  /**
1082
1142
  * Optional structural equals for the extractor output. When two
@@ -1114,7 +1174,7 @@ type ExtractedToolCall = {
1114
1174
  * are not re-parsed. Default structural equals suppresses DATA emission when
1115
1175
  * no new tool call completed this chunk.
1116
1176
  */
1117
- declare function toolCallExtractor(streamTopic: TopicGraph<StreamChunk>, opts?: {
1177
+ declare function toolCallExtractor(accumulatedText: Node<string>, opts?: {
1118
1178
  name?: string;
1119
1179
  }): Node<readonly ExtractedToolCall[]>;
1120
1180
 
@@ -1139,23 +1199,31 @@ type ContentGateOptions = {
1139
1199
  * Derived node that classifies accumulated stream text as `"allow"`,
1140
1200
  * `"review"`, or `"block"` based on a classifier score.
1141
1201
  *
1142
- * Emits a three-way decision on every new chunk:
1202
+ * **Wave A Unit 3 rewrite:** signature now takes `accumulatedText: Node<string>`
1203
+ * instead of a `TopicGraph<StreamChunk>` (the `StreamChunk` shape was retired
1204
+ * when the delta topic replaced the per-chunk accumulated-text shape).
1205
+ *
1206
+ * Emits a three-way decision on every text change:
1143
1207
  * - `"allow"` — score below `threshold`
1144
1208
  * - `"review"` — score in `[threshold, threshold × hardMultiplier)`
1145
1209
  * - `"block"` — score at or above `threshold × hardMultiplier`
1146
1210
  *
1147
- * Wire the output into a `valve` (automatic) or `gate` (human approval).
1148
- * This node does not itself control flow — it just classifies.
1149
- *
1150
- * @param streamTopic - Streaming topic to classify.
1151
- * @param classifier - `(accumulated: string) => number` scoring function, or
1152
- * a `Node<number>` for live scores.
1153
- * @param threshold - Score at which output becomes "review" or "block".
1211
+ * @param accumulatedText - Reactive accumulated-text source
1212
+ * (`streamingPromptNode(...).accumulatedText`).
1213
+ * @param classifier - `(accumulated: string) => number` scoring function, or
1214
+ * a `Node<number>` for live scores.
1215
+ * @param threshold - Score at which output becomes `"review"` or `"block"`.
1154
1216
  */
1155
- declare function contentGate(streamTopic: TopicGraph<StreamChunk>, classifier: ((accumulated: string) => number) | Node<number>, threshold: number, opts?: ContentGateOptions): Node<ContentDecision>;
1217
+ declare function contentGate(accumulatedText: Node<string>, classifier: ((accumulated: string) => number) | Node<number>, threshold: number, opts?: ContentGateOptions): Node<ContentDecision>;
1156
1218
 
1157
1219
  /**
1158
1220
  * Redactor — stream extractor that replaces matched patterns in accumulated text.
1221
+ *
1222
+ * **Wave A Unit 3 rewrite:** signature now takes `accumulatedText: Node<string>`
1223
+ * instead of the retired `TopicGraph<StreamChunk>`. The output is a
1224
+ * `Node<string>` carrying the sanitized accumulated text — compose with
1225
+ * `contentGate` or downstream UI directly.
1226
+ *
1159
1227
  * @module
1160
1228
  */
1161
1229
 
@@ -1164,19 +1232,14 @@ type RedactorOptions = {
1164
1232
  name?: string;
1165
1233
  };
1166
1234
  /**
1167
- * Stream extractor that replaces matched patterns in the accumulated text.
1168
- *
1169
- * Returns a derived node emitting a sanitized `StreamChunk` on every chunk:
1170
- * `accumulated` and `token` have matched substrings replaced by `replaceFn`.
1171
- * The default `replaceFn` replaces with `"[REDACTED]"`.
1235
+ * Derived node that replaces matched patterns in accumulated text.
1172
1236
  *
1173
- * Compose with `contentGate` for in-flight safety pipelines.
1174
- *
1175
- * @param streamTopic - Streaming topic to monitor.
1176
- * @param patterns - Array of RegExps to match against accumulated text.
1177
- * @param replaceFn - Replacement producer (default: always `"[REDACTED]"`).
1237
+ * @param accumulatedText - Reactive accumulated-text source.
1238
+ * @param patterns - Array of RegExps to match against the text.
1239
+ * @param replaceFn - Replacement producer (default: always `"[REDACTED]"`).
1240
+ * @returns `Node<string>` emitting the sanitized accumulated text.
1178
1241
  */
1179
- declare function redactor(streamTopic: TopicGraph<StreamChunk>, patterns: RegExp[], replaceFn?: (match: string, pattern: RegExp) => string, opts?: RedactorOptions): Node<StreamChunk>;
1242
+ declare function redactor(accumulatedText: Node<string>, patterns: RegExp[], replaceFn?: (match: string, pattern: RegExp) => string, opts?: RedactorOptions): Node<string>;
1180
1243
 
1181
1244
  type ChatStreamOptions = {
1182
1245
  graph?: GraphOptions;
@@ -1198,13 +1261,47 @@ declare function chatStream(name: string, opts?: ChatStreamOptions): ChatStreamG
1198
1261
  type ToolRegistryOptions = {
1199
1262
  graph?: GraphOptions;
1200
1263
  };
1264
+ /**
1265
+ * `ToolRegistryGraph` — name-keyed registry of {@link ToolDefinition}s.
1266
+ *
1267
+ * **Wave A Unit 6 refactor:** internal storage migrated from `state<Map>`
1268
+ * (O(N) Map-copy per mutation) to `ReactiveMapBundle<string, ToolDefinition>`
1269
+ * (O(1) mutations + version counter). Public API unchanged for existing
1270
+ * consumers. Adds a new reactive `executeReactive(name, args): Node<unknown>`
1271
+ * alongside the imperative `execute(name, args): Promise<unknown>` so
1272
+ * composing factories (`toolExecution`, `agentLoop`) can consume the tool
1273
+ * handler as a reactive source without bridging through `firstDataFromNode`.
1274
+ */
1201
1275
  declare class ToolRegistryGraph extends Graph {
1202
1276
  readonly definitions: Node<ReadonlyMap<string, ToolDefinition>>;
1203
1277
  readonly schemas: Node<readonly ToolDefinition[]>;
1278
+ private readonly _bundle;
1204
1279
  constructor(name: string, opts?: ToolRegistryOptions);
1205
1280
  register(tool: ToolDefinition): void;
1206
1281
  unregister(name: string): void;
1282
+ /**
1283
+ * Imperative boundary: await the handler result as a Promise. Safe for
1284
+ * non-reactive callers; reactive consumers prefer {@link executeReactive}.
1285
+ */
1207
1286
  execute(name: string, args: Record<string, unknown>): Promise<unknown>;
1287
+ /**
1288
+ * Reactive execution — returns a `Node<unknown>` that emits the handler
1289
+ * result. Uses `fromAny` to bridge Promise / Node / AsyncIterable handler
1290
+ * return shapes uniformly. Composes cleanly inside `switchMap` /
1291
+ * `retrySource` / `rescue` chains where the legacy imperative `execute()`
1292
+ * would force a `firstDataFromNode` round-trip.
1293
+ *
1294
+ * The returned node is a one-shot: it emits the first DATA from the
1295
+ * handler result (or ERROR on handler throw) and then relies on the
1296
+ * caller's switchMap / subscription chain for teardown. For repeated
1297
+ * invocations, call `executeReactive` again — each call mints a fresh
1298
+ * node tied to a fresh `handler(args)` invocation.
1299
+ *
1300
+ * @throws `Error` synchronously when `name` is not registered (no node is
1301
+ * constructed — the caller gets a pre-wiring failure rather than a
1302
+ * silent ERROR wave on an empty graph).
1303
+ */
1304
+ executeReactive(name: string, args: Record<string, unknown>): Node<unknown>;
1208
1305
  getDefinition(name: string): ToolDefinition | undefined;
1209
1306
  }
1210
1307
  declare function toolRegistry(name: string, opts?: ToolRegistryOptions): ToolRegistryGraph;
@@ -1406,6 +1503,15 @@ type HandoffOptions = {
1406
1503
  * @returns Node emitting the specialist's output when the gate is open, or
1407
1504
  * `from`'s value when the gate is closed. Null when `from` is null.
1408
1505
  *
1506
+ * **Performance caveat (Wave A Unit 5):** the specialist is mounted per
1507
+ * source emission — each `v != null` DATA on `from` allocates a fresh
1508
+ * `state<T>(v)` + invokes `toFactory`, and switchMap cancels the prior
1509
+ * branch. For per-turn routing (≤1 emit/sec) this is negligible. For
1510
+ * high-frequency sources (per-token routing, tight event loops), batch
1511
+ * upstream (e.g. via `audit`, `throttle`, or `distinctUntilChanged`) before
1512
+ * handing off — each mount/unmount cycle spins up full subgraphs
1513
+ * (`messagesNode` + adapter bridge + output for a `promptNode` specialist).
1514
+ *
1409
1515
  * @category patterns.ai
1410
1516
  */
1411
1517
  declare function handoff<T>(from: NodeInput<T | null>, toFactory: (input: Node<T>) => Node<T | null>, opts?: HandoffOptions): Node<T | null>;
@@ -1739,22 +1845,23 @@ type GraphFromSpecOptions = {
1739
1845
  model?: string;
1740
1846
  temperature?: number;
1741
1847
  maxTokens?: number;
1742
- /** Callback to construct topology before values are applied (passed to `Graph.fromSnapshot`). */
1743
- build?: (g: Graph) => void;
1848
+ /** Fn/source catalog for resolving named node factories from the LLM-generated spec. */
1849
+ catalog?: GraphSpecCatalog;
1744
1850
  /** Extra instructions appended to the system prompt. */
1745
1851
  systemPromptExtra?: string;
1746
1852
  };
1747
1853
  /**
1748
1854
  * Ask an LLM to compose a Graph from a natural-language description.
1749
1855
  *
1750
- * The LLM returns a JSON graph definition which is validated and then
1751
- * constructed via `Graph.fromSnapshot()`.
1856
+ * The LLM returns a JSON {@link GraphSpec} which is validated, catalog-expanded,
1857
+ * and instantiated via {@link compileSpec} (gains catalog validation, template
1858
+ * expansion, and feedback wiring that `Graph.fromSnapshot` bypasses).
1752
1859
  *
1753
1860
  * @param naturalLanguage - The problem/use-case description.
1754
1861
  * @param adapter - LLM adapter for the generation call.
1755
- * @param opts - Model options and optional `build` callback for node factories.
1862
+ * @param opts - Model options and optional catalog for named node factories.
1756
1863
  * @returns A constructed Graph.
1757
- * @throws On invalid LLM output or validation failure.
1864
+ * @throws On invalid LLM output, validation failure, or unresolvable deps.
1758
1865
  */
1759
1866
  declare function graphFromSpec(naturalLanguage: string, adapter: LLMAdapter, opts?: GraphFromSpecOptions): Promise<Graph>;
1760
1867
 
@@ -1975,9 +2082,9 @@ type index_RetrievalEntry<TMem> = RetrievalEntry<TMem>;
1975
2082
  type index_RetrievalPipelineOptions<TMem> = RetrievalPipelineOptions<TMem>;
1976
2083
  type index_RetrievalQuery = RetrievalQuery;
1977
2084
  type index_RetrievalTrace<TMem> = RetrievalTrace<TMem>;
2085
+ type index_StampedDelta = StampedDelta;
1978
2086
  type index_StrategyOperation = StrategyOperation;
1979
2087
  type index_StrategyPlan = StrategyPlan;
1980
- type index_StreamChunk = StreamChunk;
1981
2088
  declare const index_StreamDelta: typeof StreamDelta;
1982
2089
  type index_StreamingPromptNodeHandle<T> = StreamingPromptNodeHandle<T>;
1983
2090
  type index_StreamingPromptNodeOptions = StreamingPromptNodeOptions;
@@ -2014,7 +2121,6 @@ declare const index_createAdapter: typeof createAdapter;
2014
2121
  declare const index_createCapabilitiesRegistry: typeof createCapabilitiesRegistry;
2015
2122
  declare const index_createPricingRegistry: typeof createPricingRegistry;
2016
2123
  declare const index_dryRunAdapter: typeof dryRunAdapter;
2017
- declare const index_dryRunPreset: typeof dryRunPreset;
2018
2124
  declare const index_fallbackAdapter: typeof fallbackAdapter;
2019
2125
  declare const index_fromLLM: typeof fromLLM;
2020
2126
  declare const index_frozenContext: typeof frozenContext;
@@ -2030,6 +2136,7 @@ declare const index_llmExtractor: typeof llmExtractor;
2030
2136
  declare const index_observableAdapter: typeof observableAdapter;
2031
2137
  declare const index_openAICompatAdapter: typeof openAICompatAdapter;
2032
2138
  declare const index_parseRateLimitFromError: typeof parseRateLimitFromError;
2139
+ declare const index_pricingFor: typeof pricingFor;
2033
2140
  declare const index_promptNode: typeof promptNode;
2034
2141
  declare const index_redactor: typeof redactor;
2035
2142
  declare const index_registryPricing: typeof registryPricing;
@@ -2038,6 +2145,7 @@ declare const index_streamExtractor: typeof streamExtractor;
2038
2145
  declare const index_streamingPromptNode: typeof streamingPromptNode;
2039
2146
  declare const index_suggestStrategy: typeof suggestStrategy;
2040
2147
  declare const index_systemPromptBuilder: typeof systemPromptBuilder;
2148
+ declare const index_tier: typeof tier;
2041
2149
  declare const index_toolCallExtractor: typeof toolCallExtractor;
2042
2150
  declare const index_toolRegistry: typeof toolRegistry;
2043
2151
  declare const index_toolSelector: typeof toolSelector;
@@ -2051,7 +2159,7 @@ declare const index_withRetry: typeof withRetry;
2051
2159
  declare const index_withTimeout: typeof withTimeout;
2052
2160
  declare const index_zeroPrice: typeof zeroPrice;
2053
2161
  declare namespace index {
2054
- export { index_AdapterProvider as AdapterProvider, type index_AdapterStats as AdapterStats, index_AdapterTier as AdapterTier, type index_AdmissionScore3DOptions as AdmissionScore3DOptions, type index_AdmissionScores as AdmissionScores, index_AgentLoopGraph as AgentLoopGraph, type index_AgentLoopOptions as AgentLoopOptions, type index_AgentLoopStatus as AgentLoopStatus, type index_AgentMemoryGraph as AgentMemoryGraph, type index_AgentMemoryOptions as AgentMemoryOptions, index_AllTiersExhaustedError as AllTiersExhaustedError, type index_AnthropicAdapterOptions as AnthropicAdapterOptions, type index_AnthropicSdkLike as AnthropicSdkLike, type index_BudgetCaps as BudgetCaps, index_BudgetExhaustedError as BudgetExhaustedError, type index_BudgetGateBundle as BudgetGateBundle, type index_BudgetTotals as BudgetTotals, type index_CallStatsEvent as CallStatsEvent, index_CapabilitiesRegistry as CapabilitiesRegistry, index_CascadeExhaustionReport as CascadeExhaustionReport, index_CascadingLlmAdapterOptions as CascadingLlmAdapterOptions, index_ChatMessage as ChatMessage, index_ChatStreamGraph as ChatStreamGraph, type index_ChatStreamOptions as ChatStreamOptions, index_CircuitOpenError as CircuitOpenError, type index_ContentDecision as ContentDecision, type index_ContentGateOptions as ContentGateOptions, type index_CostMeterOptions as CostMeterOptions, type index_CostMeterReading as CostMeterReading, index_CreateAdapterOptions as CreateAdapterOptions, index_DEFAULT_DECAY_RATE as DEFAULT_DECAY_RATE, type index_DryRunAdapterOptions as DryRunAdapterOptions, type index_ExtractedToolCall as ExtractedToolCall, index_FallbackAdapterOptions as FallbackAdapterOptions, index_FallbackFixture as FallbackFixture, index_FallbackMissError as FallbackMissError, index_FallbackMissPolicy as FallbackMissPolicy, type index_FromLLMOptions as FromLLMOptions, type index_FrozenContextOptions as FrozenContextOptions, type index_GatedStreamHandle as GatedStreamHandle, type index_GatedStreamOptions as GatedStreamOptions, type index_GaugesAsContextOptions as GaugesAsContextOptions, type index_GoogleAdapterOptions as GoogleAdapterOptions, type index_GoogleSdkLike as GoogleSdkLike, type index_GraphDefValidation as GraphDefValidation, type index_GraphFromSpecOptions as GraphFromSpecOptions, type index_HandoffOptions as HandoffOptions, type index_HttpErrorLike as HttpErrorLike, type index_KeywordFlag as KeywordFlag, type index_KeywordFlagExtractorOptions as KeywordFlagExtractorOptions, type index_KnobsAsToolsResult as KnobsAsToolsResult, index_LLMAdapter as LLMAdapter, type index_LLMConsolidatorOptions as LLMConsolidatorOptions, type index_LLMExtractorOptions as LLMExtractorOptions, index_LLMInvokeOptions as LLMInvokeOptions, index_LLMResponse as LLMResponse, index_LLMTimeoutError as LLMTimeoutError, type index_McpToolSchema as McpToolSchema, type index_MemoryTier as MemoryTier, type index_MemoryTiersBundle as MemoryTiersBundle, type index_MemoryTiersOptions as MemoryTiersOptions, index_ModelCapabilities as ModelCapabilities, index_ModelFeatures as ModelFeatures, index_ModelLimits as ModelLimits, index_ModelPricing as ModelPricing, index_OpenAICompatAdapterOptions as OpenAICompatAdapterOptions, index_OpenAICompatPreset as OpenAICompatPreset, index_OpenAISdkLike as OpenAISdkLike, type index_OpenAIToolSchema as OpenAIToolSchema, index_PriceBreakdown as PriceBreakdown, index_PricingFn as PricingFn, index_PricingRegistry as PricingRegistry, type index_PromptNodeOptions as PromptNodeOptions, index_Rate as Rate, type index_RedactorOptions as RedactorOptions, index_ReplayCacheKeyContext as ReplayCacheKeyContext, index_ReplayCacheMissError as ReplayCacheMissError, index_ReplayCacheMode as ReplayCacheMode, type index_ResilientAdapterBundle as ResilientAdapterBundle, type index_ResilientAdapterOptions as ResilientAdapterOptions, type index_RetrievalEntry as RetrievalEntry, type index_RetrievalPipelineOptions as RetrievalPipelineOptions, type index_RetrievalQuery as RetrievalQuery, type index_RetrievalTrace as RetrievalTrace, type index_StrategyOperation as StrategyOperation, type index_StrategyPlan as StrategyPlan, type index_StreamChunk as StreamChunk, index_StreamDelta as StreamDelta, type index_StreamingPromptNodeHandle as StreamingPromptNodeHandle, type index_StreamingPromptNodeOptions as StreamingPromptNodeOptions, type index_SuggestStrategyOptions as SuggestStrategyOptions, type index_SystemPromptHandle as SystemPromptHandle, index_TieredRate as TieredRate, index_TokenUsage as TokenUsage, index_ToolCall as ToolCall, index_ToolDefinition as ToolDefinition, index_ToolRegistryGraph as ToolRegistryGraph, type index_ToolRegistryOptions as ToolRegistryOptions, type index_ToolResult as ToolResult, type index_ToolSelectorOptions as ToolSelectorOptions, type index_WithBreakerOptions as WithBreakerOptions, type index_WithBudgetGateOptions as WithBudgetGateOptions, type index_WithDryRunBundle as WithDryRunBundle, type index_WithDryRunOptions as WithDryRunOptions, type index_WithRateLimiterOptions as WithRateLimiterOptions, index_WithReplayCacheOptions as WithReplayCacheOptions, type index_WithRetryOptions as WithRetryOptions, index_admissionFilter3D as admissionFilter3D, index_agentLoop as agentLoop, index_agentMemory as agentMemory, index_anthropicAdapter as anthropicAdapter, index_canonicalJson as canonicalJson, index_cascadingLlmAdapter as cascadingLlmAdapter, index_chatStream as chatStream, index_composePricing as composePricing, index_computePrice as computePrice, index_contentGate as contentGate, index_costMeterExtractor as costMeterExtractor, index_createAdapter as createAdapter, index_createCapabilitiesRegistry as createCapabilitiesRegistry, index_createPricingRegistry as createPricingRegistry, index_dryRunAdapter as dryRunAdapter, index_dryRunPreset as dryRunPreset, index_fallbackAdapter as fallbackAdapter, index_fromLLM as fromLLM, index_frozenContext as frozenContext, index_gatedStream as gatedStream, index_gaugesAsContext as gaugesAsContext, index_googleAdapter as googleAdapter, index_graphFromSpec as graphFromSpec, index_handoff as handoff, index_keywordFlagExtractor as keywordFlagExtractor, index_knobsAsTools as knobsAsTools, index_llmConsolidator as llmConsolidator, index_llmExtractor as llmExtractor, index_observableAdapter as observableAdapter, index_openAICompatAdapter as openAICompatAdapter, index_parseRateLimitFromError as parseRateLimitFromError, index_promptNode as promptNode, index_redactor as redactor, index_registryPricing as registryPricing, index_resilientAdapter as resilientAdapter, index_streamExtractor as streamExtractor, index_streamingPromptNode as streamingPromptNode, index_suggestStrategy as suggestStrategy, index_systemPromptBuilder as systemPromptBuilder, index_toolCallExtractor as toolCallExtractor, index_toolRegistry as toolRegistry, index_toolSelector as toolSelector, index_validateGraphDef as validateGraphDef, index_withBreaker as withBreaker, index_withBudgetGate as withBudgetGate, index_withDryRun as withDryRun, index_withRateLimiter as withRateLimiter, index_withReplayCache as withReplayCache, index_withRetry as withRetry, index_withTimeout as withTimeout, index_zeroPrice as zeroPrice };
2162
+ export { index_AdapterProvider as AdapterProvider, type index_AdapterStats as AdapterStats, index_AdapterTier as AdapterTier, type index_AdmissionScore3DOptions as AdmissionScore3DOptions, type index_AdmissionScores as AdmissionScores, index_AgentLoopGraph as AgentLoopGraph, type index_AgentLoopOptions as AgentLoopOptions, type index_AgentLoopStatus as AgentLoopStatus, type index_AgentMemoryGraph as AgentMemoryGraph, type index_AgentMemoryOptions as AgentMemoryOptions, index_AllTiersExhaustedError as AllTiersExhaustedError, type index_AnthropicAdapterOptions as AnthropicAdapterOptions, type index_AnthropicSdkLike as AnthropicSdkLike, type index_BudgetCaps as BudgetCaps, index_BudgetExhaustedError as BudgetExhaustedError, type index_BudgetGateBundle as BudgetGateBundle, type index_BudgetTotals as BudgetTotals, type index_CallStatsEvent as CallStatsEvent, index_CapabilitiesRegistry as CapabilitiesRegistry, index_CascadeExhaustionReport as CascadeExhaustionReport, index_CascadingLlmAdapterOptions as CascadingLlmAdapterOptions, index_ChatMessage as ChatMessage, index_ChatStreamGraph as ChatStreamGraph, type index_ChatStreamOptions as ChatStreamOptions, index_CircuitOpenError as CircuitOpenError, type index_ContentDecision as ContentDecision, type index_ContentGateOptions as ContentGateOptions, type index_CostMeterOptions as CostMeterOptions, type index_CostMeterReading as CostMeterReading, index_CreateAdapterOptions as CreateAdapterOptions, index_DEFAULT_DECAY_RATE as DEFAULT_DECAY_RATE, type index_DryRunAdapterOptions as DryRunAdapterOptions, type index_ExtractedToolCall as ExtractedToolCall, index_FallbackAdapterOptions as FallbackAdapterOptions, index_FallbackFixture as FallbackFixture, index_FallbackMissError as FallbackMissError, index_FallbackMissPolicy as FallbackMissPolicy, type index_FromLLMOptions as FromLLMOptions, type index_FrozenContextOptions as FrozenContextOptions, type index_GatedStreamHandle as GatedStreamHandle, type index_GatedStreamOptions as GatedStreamOptions, type index_GaugesAsContextOptions as GaugesAsContextOptions, type index_GoogleAdapterOptions as GoogleAdapterOptions, type index_GoogleSdkLike as GoogleSdkLike, type index_GraphDefValidation as GraphDefValidation, type index_GraphFromSpecOptions as GraphFromSpecOptions, type index_HandoffOptions as HandoffOptions, type index_HttpErrorLike as HttpErrorLike, type index_KeywordFlag as KeywordFlag, type index_KeywordFlagExtractorOptions as KeywordFlagExtractorOptions, type index_KnobsAsToolsResult as KnobsAsToolsResult, index_LLMAdapter as LLMAdapter, type index_LLMConsolidatorOptions as LLMConsolidatorOptions, type index_LLMExtractorOptions as LLMExtractorOptions, index_LLMInvokeOptions as LLMInvokeOptions, index_LLMResponse as LLMResponse, index_LLMTimeoutError as LLMTimeoutError, type index_McpToolSchema as McpToolSchema, type index_MemoryTier as MemoryTier, type index_MemoryTiersBundle as MemoryTiersBundle, type index_MemoryTiersOptions as MemoryTiersOptions, index_ModelCapabilities as ModelCapabilities, index_ModelFeatures as ModelFeatures, index_ModelLimits as ModelLimits, index_ModelPricing as ModelPricing, index_OpenAICompatAdapterOptions as OpenAICompatAdapterOptions, index_OpenAICompatPreset as OpenAICompatPreset, index_OpenAISdkLike as OpenAISdkLike, type index_OpenAIToolSchema as OpenAIToolSchema, index_PriceBreakdown as PriceBreakdown, index_PricingFn as PricingFn, index_PricingRegistry as PricingRegistry, type index_PromptNodeOptions as PromptNodeOptions, index_Rate as Rate, type index_RedactorOptions as RedactorOptions, index_ReplayCacheKeyContext as ReplayCacheKeyContext, index_ReplayCacheMissError as ReplayCacheMissError, index_ReplayCacheMode as ReplayCacheMode, type index_ResilientAdapterBundle as ResilientAdapterBundle, type index_ResilientAdapterOptions as ResilientAdapterOptions, type index_RetrievalEntry as RetrievalEntry, type index_RetrievalPipelineOptions as RetrievalPipelineOptions, type index_RetrievalQuery as RetrievalQuery, type index_RetrievalTrace as RetrievalTrace, type index_StampedDelta as StampedDelta, type index_StrategyOperation as StrategyOperation, type index_StrategyPlan as StrategyPlan, index_StreamDelta as StreamDelta, type index_StreamingPromptNodeHandle as StreamingPromptNodeHandle, type index_StreamingPromptNodeOptions as StreamingPromptNodeOptions, type index_SuggestStrategyOptions as SuggestStrategyOptions, type index_SystemPromptHandle as SystemPromptHandle, index_TieredRate as TieredRate, index_TokenUsage as TokenUsage, index_ToolCall as ToolCall, index_ToolDefinition as ToolDefinition, index_ToolRegistryGraph as ToolRegistryGraph, type index_ToolRegistryOptions as ToolRegistryOptions, type index_ToolResult as ToolResult, type index_ToolSelectorOptions as ToolSelectorOptions, type index_WithBreakerOptions as WithBreakerOptions, type index_WithBudgetGateOptions as WithBudgetGateOptions, type index_WithDryRunBundle as WithDryRunBundle, type index_WithDryRunOptions as WithDryRunOptions, type index_WithRateLimiterOptions as WithRateLimiterOptions, index_WithReplayCacheOptions as WithReplayCacheOptions, type index_WithRetryOptions as WithRetryOptions, index_admissionFilter3D as admissionFilter3D, index_agentLoop as agentLoop, index_agentMemory as agentMemory, index_anthropicAdapter as anthropicAdapter, index_canonicalJson as canonicalJson, index_cascadingLlmAdapter as cascadingLlmAdapter, index_chatStream as chatStream, index_composePricing as composePricing, index_computePrice as computePrice, index_contentGate as contentGate, index_costMeterExtractor as costMeterExtractor, index_createAdapter as createAdapter, index_createCapabilitiesRegistry as createCapabilitiesRegistry, index_createPricingRegistry as createPricingRegistry, index_dryRunAdapter as dryRunAdapter, index_fallbackAdapter as fallbackAdapter, index_fromLLM as fromLLM, index_frozenContext as frozenContext, index_gatedStream as gatedStream, index_gaugesAsContext as gaugesAsContext, index_googleAdapter as googleAdapter, index_graphFromSpec as graphFromSpec, index_handoff as handoff, index_keywordFlagExtractor as keywordFlagExtractor, index_knobsAsTools as knobsAsTools, index_llmConsolidator as llmConsolidator, index_llmExtractor as llmExtractor, index_observableAdapter as observableAdapter, index_openAICompatAdapter as openAICompatAdapter, index_parseRateLimitFromError as parseRateLimitFromError, index_pricingFor as pricingFor, index_promptNode as promptNode, index_redactor as redactor, index_registryPricing as registryPricing, index_resilientAdapter as resilientAdapter, index_streamExtractor as streamExtractor, index_streamingPromptNode as streamingPromptNode, index_suggestStrategy as suggestStrategy, index_systemPromptBuilder as systemPromptBuilder, index_tier as tier, index_toolCallExtractor as toolCallExtractor, index_toolRegistry as toolRegistry, index_toolSelector as toolSelector, index_validateGraphDef as validateGraphDef, index_withBreaker as withBreaker, index_withBudgetGate as withBudgetGate, index_withDryRun as withDryRun, index_withRateLimiter as withRateLimiter, index_withReplayCache as withReplayCache, index_withRetry as withRetry, index_withTimeout as withTimeout, index_zeroPrice as zeroPrice };
2055
2163
  }
2056
2164
 
2057
- export { type RetrievalQuery as $, type AdapterStats as A, type BudgetCaps as B, type CallStatsEvent as C, DEFAULT_DECAY_RATE as D, type ExtractedToolCall as E, type FromLLMOptions as F, type GatedStreamHandle as G, type GraphFromSpecOptions as H, type HandoffOptions as I, type HttpErrorLike as J, type KeywordFlag as K, type KeywordFlagExtractorOptions as L, type KnobsAsToolsResult as M, type LLMConsolidatorOptions as N, type LLMExtractorOptions as O, LLMTimeoutError as P, type McpToolSchema as Q, type MemoryTier as R, type MemoryTiersBundle as S, type MemoryTiersOptions as T, type OpenAIToolSchema as U, type PromptNodeOptions as V, type RedactorOptions as W, type ResilientAdapterBundle as X, type ResilientAdapterOptions as Y, type RetrievalEntry as Z, type RetrievalPipelineOptions as _, type AdmissionScore3DOptions as a, type RetrievalTrace as a0, type StrategyOperation as a1, type StrategyPlan as a2, type StreamChunk as a3, type StreamingPromptNodeHandle as a4, type StreamingPromptNodeOptions as a5, type SuggestStrategyOptions as a6, type SystemPromptHandle as a7, ToolRegistryGraph as a8, type ToolRegistryOptions as a9, llmConsolidator as aA, llmExtractor as aB, observableAdapter as aC, parseRateLimitFromError as aD, promptNode as aE, redactor as aF, resilientAdapter as aG, streamExtractor as aH, streamingPromptNode as aI, suggestStrategy as aJ, systemPromptBuilder as aK, toolCallExtractor as aL, toolRegistry as aM, toolSelector as aN, validateGraphDef as aO, withBreaker as aP, withBudgetGate as aQ, withDryRun as aR, withRateLimiter as aS, withRetry as aT, withTimeout as aU, type ToolResult as aa, type ToolSelectorOptions as ab, type WithBreakerOptions as ac, type WithBudgetGateOptions as ad, type WithDryRunBundle as ae, type WithDryRunOptions as af, type WithRateLimiterOptions as ag, type WithRetryOptions as ah, admissionFilter3D as ai, agentLoop as aj, agentMemory as ak, anthropicAdapter as al, chatStream as am, contentGate as an, costMeterExtractor as ao, dryRunAdapter as ap, dryRunPreset as aq, fromLLM as ar, frozenContext as as, gatedStream as at, gaugesAsContext as au, googleAdapter as av, graphFromSpec as aw, handoff as ax, keywordFlagExtractor as ay, knobsAsTools as az, type AdmissionScores as b, AgentLoopGraph as c, type AgentLoopOptions as d, type AgentLoopStatus as e, type AgentMemoryGraph as f, type AgentMemoryOptions as g, type AnthropicAdapterOptions as h, index as i, type AnthropicSdkLike as j, BudgetExhaustedError as k, type BudgetGateBundle as l, type BudgetTotals as m, ChatStreamGraph as n, type ChatStreamOptions as o, type ContentDecision as p, type ContentGateOptions as q, type CostMeterOptions as r, type CostMeterReading as s, type DryRunAdapterOptions as t, type FrozenContextOptions as u, type GatedStreamOptions as v, type GaugesAsContextOptions as w, type GoogleAdapterOptions as x, type GoogleSdkLike as y, type GraphDefValidation as z };
2165
+ export { type RetrievalQuery as $, type AdapterStats as A, type BudgetCaps as B, type CallStatsEvent as C, DEFAULT_DECAY_RATE as D, type ExtractedToolCall as E, type FromLLMOptions as F, type GatedStreamHandle as G, type GraphFromSpecOptions as H, type HandoffOptions as I, type HttpErrorLike as J, type KeywordFlag as K, type KeywordFlagExtractorOptions as L, type KnobsAsToolsResult as M, type LLMConsolidatorOptions as N, type LLMExtractorOptions as O, LLMTimeoutError as P, type McpToolSchema as Q, type MemoryTier as R, type MemoryTiersBundle as S, type MemoryTiersOptions as T, type OpenAIToolSchema as U, type PromptNodeOptions as V, type RedactorOptions as W, type ResilientAdapterBundle as X, type ResilientAdapterOptions as Y, type RetrievalEntry as Z, type RetrievalPipelineOptions as _, type AdmissionScore3DOptions as a, type RetrievalTrace as a0, type StampedDelta as a1, type StrategyOperation as a2, type StrategyPlan as a3, type StreamingPromptNodeHandle as a4, type StreamingPromptNodeOptions as a5, type SuggestStrategyOptions as a6, type SystemPromptHandle as a7, ToolRegistryGraph as a8, type ToolRegistryOptions as a9, llmExtractor as aA, observableAdapter as aB, parseRateLimitFromError as aC, promptNode as aD, redactor as aE, resilientAdapter as aF, streamExtractor as aG, streamingPromptNode as aH, suggestStrategy as aI, systemPromptBuilder as aJ, toolCallExtractor as aK, toolRegistry as aL, toolSelector as aM, validateGraphDef as aN, withBreaker as aO, withBudgetGate as aP, withDryRun as aQ, withRateLimiter as aR, withRetry as aS, withTimeout as aT, type ToolResult as aa, type ToolSelectorOptions as ab, type WithBreakerOptions as ac, type WithBudgetGateOptions as ad, type WithDryRunBundle as ae, type WithDryRunOptions as af, type WithRateLimiterOptions as ag, type WithRetryOptions as ah, admissionFilter3D as ai, agentLoop as aj, agentMemory as ak, anthropicAdapter as al, chatStream as am, contentGate as an, costMeterExtractor as ao, dryRunAdapter as ap, fromLLM as aq, frozenContext as ar, gatedStream as as, gaugesAsContext as at, googleAdapter as au, graphFromSpec as av, handoff as aw, keywordFlagExtractor as ax, knobsAsTools as ay, llmConsolidator as az, type AdmissionScores as b, AgentLoopGraph as c, type AgentLoopOptions as d, type AgentLoopStatus as e, type AgentMemoryGraph as f, type AgentMemoryOptions as g, type AnthropicAdapterOptions as h, index as i, type AnthropicSdkLike as j, BudgetExhaustedError as k, type BudgetGateBundle as l, type BudgetTotals as m, ChatStreamGraph as n, type ChatStreamOptions as o, type ContentDecision as p, type ContentGateOptions as q, type CostMeterOptions as r, type CostMeterReading as s, type DryRunAdapterOptions as t, type FrozenContextOptions as u, type GatedStreamOptions as v, type GaugesAsContextOptions as w, type GoogleAdapterOptions as x, type GoogleSdkLike as y, type GraphDefValidation as z };