@graphrefly/graphrefly 0.37.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 (329) 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-4I45FVQS.js +1 -0
  8. package/dist/chunk-5LK7XMEV.js +1 -0
  9. package/dist/chunk-5XRI6RM3.js +1 -0
  10. package/dist/chunk-73PBQNST.js +1 -0
  11. package/dist/chunk-7JRF5YEK.js +3 -0
  12. package/dist/{chunk-YVYSO5CW.js → chunk-7NZMZJMW.js} +1 -1
  13. package/dist/chunk-7QFRK3N3.js +84 -0
  14. package/dist/{chunk-K6ZFJ473.js → chunk-7SD73DS6.js} +1 -1
  15. package/dist/{chunk-LOQRPP4Y.js → chunk-A6ZSKGUG.js} +1 -1
  16. package/dist/{chunk-KUVDFOJH.js → chunk-AU7YTQX7.js} +1 -1
  17. package/dist/chunk-C72GO4IZ.js +1 -0
  18. package/dist/{chunk-Q7EUZ6NN.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-PCD2MU7X.js → chunk-GEAO3TL3.js} +1 -1
  23. package/dist/chunk-GX5LSSRE.js +1 -0
  24. package/dist/{chunk-2C4NESZE.js → chunk-HAWKGIXM.js} +1 -1
  25. package/dist/chunk-HX3EGQ5Z.js +1 -0
  26. package/dist/{chunk-MQZWA3DF.js → chunk-IA7DUNGB.js} +1 -1
  27. package/dist/{chunk-MYFR67PY.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-TFK4P4CX.js → chunk-JNMC2WJ6.js} +1 -1
  31. package/dist/{chunk-TLS7M7H4.js → chunk-KD4NHLMU.js} +1 -1
  32. package/dist/chunk-L6NSJVJZ.js +1 -0
  33. package/dist/chunk-L7WY6TZS.js +1 -0
  34. package/dist/chunk-LQNOXGET.js +1 -0
  35. package/dist/chunk-MC4UYY2X.js +1 -0
  36. package/dist/{chunk-U3COB5WU.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-MC5LZG3U.js → chunk-S2U57TFC.js} +1 -1
  41. package/dist/{chunk-QP5TH523.js → chunk-SC7BQDNP.js} +1 -1
  42. package/dist/{chunk-5CPPC75H.js → chunk-TFPZLQ5H.js} +1 -1
  43. package/dist/chunk-VJJLIEAL.js +1 -0
  44. package/dist/chunk-WHIZM6JV.js +1 -0
  45. package/dist/chunk-XEUANKBO.js +43 -0
  46. package/dist/chunk-XQ55HO5N.js +1 -0
  47. package/dist/chunk-ZJ7SM3G2.js +1 -0
  48. package/dist/{chunk-T4U24DXX.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 +8 -12
  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-_XckYx2e.d.cts → composite-CKd0e2vz.d.cts} +10 -3
  74. package/dist/{composite-CT_mApQD.d.ts → composite-DGatA-JK.d.ts} +10 -3
  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 +17 -21
  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 +108 -2
  87. package/dist/extra/node.d.ts +108 -2
  88. package/dist/extra/node.js +2 -2
  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/extra/storage-tiers-browser.d.cts +76 -5
  108. package/dist/extra/storage-tiers-browser.d.ts +76 -5
  109. package/dist/extra/storage-tiers-node.d.cts +137 -13
  110. package/dist/extra/storage-tiers-node.d.ts +137 -13
  111. package/dist/extra/storage-tiers.d.cts +151 -23
  112. package/dist/extra/storage-tiers.d.ts +151 -23
  113. package/dist/{fallback-axI2cXwt.d.cts → fallback-8JYU8tlT.d.cts} +1 -1
  114. package/dist/{fallback-DuEXfA4F.d.ts → fallback-CMZl39L5.d.ts} +1 -1
  115. package/dist/graph/index.cjs +7 -7
  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-YQXDndFy.d.ts → graph-30XSgtVX.d.ts} +287 -104
  120. package/dist/{graph-CaNXUc3c.d.cts → graph-BUwMAxJI.d.cts} +287 -104
  121. package/dist/{index-CIcu6fIR.d.ts → index-2n8Eai6M.d.ts} +1 -1
  122. package/dist/{index-BmLkcDlj.d.ts → index-89FczVZ_.d.ts} +47 -71
  123. package/dist/{index-Ci358GSC.d.cts → index-8R1vzNOx.d.cts} +9 -9
  124. package/dist/{index-CDvC1m5p.d.ts → index-B2RUoIUz.d.ts} +1 -1
  125. package/dist/{index-DuhOdNyg.d.ts → index-B41Asm7D.d.ts} +10 -8
  126. package/dist/{index-CKcnuQ2c.d.ts → index-B9fmw5n2.d.ts} +4 -6
  127. package/dist/{index-0qOD-421.d.ts → index-BAlaVimV.d.ts} +9 -9
  128. package/dist/{index-Ae6L8liv.d.ts → index-BC9VybQs.d.ts} +41 -48
  129. package/dist/{index-CUTHDZ7Q.d.ts → index-BEHmxORq.d.ts} +11 -11
  130. package/dist/{index-C_qi0WlF.d.cts → index-BJ26eEjs.d.cts} +26 -19
  131. package/dist/{index-BiomL7AW.d.ts → index-BJSZxSFX.d.ts} +1 -1
  132. package/dist/{index-DCAuN9u5.d.cts → index-BKMdnYnk.d.ts} +75 -39
  133. package/dist/{index-DfAo9WKr.d.ts → index-BM9szD8n.d.cts} +14 -6
  134. package/dist/{index-CajEOoAN.d.ts → index-BUPVld1w.d.ts} +2 -2
  135. package/dist/{index-C-pFD_FV.d.ts → index-BXd6OMEy.d.ts} +3 -3
  136. package/dist/index-BhUaMYm_.d.ts +113 -0
  137. package/dist/{index-DAKm44My.d.cts → index-BndG0cpK.d.cts} +3 -3
  138. package/dist/{index-Bpzw8hx3.d.ts → index-Br3WnqEn.d.ts} +84 -9
  139. package/dist/{index-D6tRNEKz.d.cts → index-BskfDoZ_.d.ts} +14 -6
  140. package/dist/{index-9mbs_PIG.d.ts → index-C19qqa38.d.ts} +4 -4
  141. package/dist/{index-fHKHdAso.d.ts → index-C7VV_qOs.d.ts} +4 -4
  142. package/dist/{index-CLPQyYY5.d.cts → index-CIRG8Hxp.d.cts} +11 -11
  143. package/dist/{index-B3D_z0Z6.d.cts → index-CL7oilfm.d.cts} +1 -1
  144. package/dist/{index-BOfHwQc1.d.ts → index-CPhBvRJU.d.ts} +1 -1
  145. package/dist/{index-B9qJmmv3.d.cts → index-CWHtYmSh.d.cts} +1 -1
  146. package/dist/{index-D_d1erkR.d.ts → index-Cey6VTnX.d.ts} +8 -5
  147. package/dist/{resilience-BWP2c7Af.d.cts → index-CmqiJZKM.d.ts} +141 -23
  148. package/dist/{index-JYtN9uqM.d.ts → index-CoM4rzyB.d.ts} +1 -1
  149. package/dist/{index-DTYIRT_v.d.cts → index-CpLpJb6A.d.cts} +8 -5
  150. package/dist/{index-BjWZARLy.d.ts → index-Ctb7_2sG.d.ts} +1 -1
  151. package/dist/index-CusEP3Sv.d.ts +210 -0
  152. package/dist/{resilience-Bys63Cpd.d.ts → index-CwP_KAMS.d.cts} +141 -23
  153. package/dist/{index-BFuVcqL8.d.cts → index-D3ayz3hy.d.cts} +1 -1
  154. package/dist/{index-CrpjECS6.d.cts → index-DCbE8fFM.d.cts} +3 -3
  155. package/dist/{index-D_DThl_J.d.cts → index-DIHcMLr6.d.cts} +1 -1
  156. package/dist/index-DINuaZlJ.d.cts +210 -0
  157. package/dist/{index-9xhIaM-w.d.cts → index-DOBLxOti.d.cts} +1 -1
  158. package/dist/index-DQUVq1_d.d.ts +374 -0
  159. package/dist/{index-B1IcU--K.d.cts → index-DTtBpuQy.d.cts} +4 -6
  160. package/dist/{index-D_QQ_dTD.d.cts → index-DYTBbF8T.d.cts} +1 -1
  161. package/dist/{index-DqtXA3yX.d.cts → index-DlgHqQxW.d.cts} +84 -9
  162. package/dist/{index-D1E1tqHT.d.ts → index-DlrWu9Hs.d.cts} +75 -39
  163. package/dist/{index-DcWbx58m.d.cts → index-DoYc8BWK.d.cts} +41 -48
  164. package/dist/{index-D0ZxFXYl.d.ts → index-DszPlZzK.d.ts} +3 -3
  165. package/dist/{index-BECJ8M0T.d.cts → index-DyM4tFAe.d.cts} +10 -8
  166. package/dist/{index-D11pGlaI.d.cts → index-FVoPvhAu.d.cts} +4 -4
  167. package/dist/{index-BwtIbzSV.d.cts → index-H_I66pav.d.cts} +2 -2
  168. package/dist/{index-e1m3ZHgc.d.cts → index-IwFqHxCs.d.cts} +2 -2
  169. package/dist/index-K-vl_c6A.d.cts +113 -0
  170. package/dist/{index-C4N-dg5U.d.cts → index-KlZ_ZUip.d.cts} +2 -2
  171. package/dist/index-L8XI8Zql.d.cts +374 -0
  172. package/dist/{index-D8IyqHvT.d.cts → index-MxYuWOrf.d.cts} +6 -4
  173. package/dist/{index-CpZKtdMw.d.cts → index-PgwvGWa1.d.cts} +1 -1
  174. package/dist/{index-B46GWgk3.d.ts → index-PlJ3MraE.d.ts} +1 -1
  175. package/dist/{index-DPqR3wdW.d.ts → index-PqbnoScQ.d.ts} +3 -3
  176. package/dist/{index-CU3z8Cel.d.cts → index-PsVHpPwP.d.cts} +3 -3
  177. package/dist/{index-C0tga1_x.d.ts → index-WyFKER-c.d.ts} +2 -2
  178. package/dist/{index-B5UR87KG.d.ts → index-eaQuGJnv.d.ts} +6 -4
  179. package/dist/{index-CzIWlnPp.d.ts → index-iTX5IqSP.d.ts} +140 -9
  180. package/dist/{index-CRycrNfn.d.ts → index-jKLph6cu.d.ts} +2 -2
  181. package/dist/{index-BhLA9feT.d.ts → index-jr6PuSBt.d.ts} +26 -19
  182. package/dist/{index-4IwO4mH2.d.cts → index-mNwgxC21.d.cts} +140 -9
  183. package/dist/{index-CkN8CZlT.d.cts → index-pVDQcbar.d.cts} +47 -71
  184. package/dist/{index-D6pwWiOc.d.cts → index-xZYcDqFH.d.cts} +4 -4
  185. package/dist/{index-8OxXae3g.d.ts → index-yLt-aPMp.d.ts} +1 -1
  186. package/dist/{index-CqSJ25A9.d.cts → index-z8WFPVI8.d.cts} +1 -1
  187. package/dist/index.cjs +64 -60
  188. package/dist/index.d.cts +48 -47
  189. package/dist/index.d.ts +48 -47
  190. package/dist/index.js +1 -1
  191. package/dist/meta-Ct9nqQS5.d.cts +102 -0
  192. package/dist/meta-D8OyedKp.d.ts +102 -0
  193. package/dist/{node-fSc-hCv8.d.cts → node-BYInONRr.d.cts} +3 -3
  194. package/dist/{node-fSc-hCv8.d.ts → node-BYInONRr.d.ts} +3 -3
  195. package/dist/{observable-Cqty11jG.d.cts → observable-DMIlYJV1.d.cts} +1 -1
  196. package/dist/{observable-EAV_rNfM.d.ts → observable-DO8DDEzv.d.ts} +1 -1
  197. package/dist/patterns/ai/browser.cjs +5 -5
  198. package/dist/patterns/ai/browser.d.cts +4 -4
  199. package/dist/patterns/ai/browser.d.ts +4 -4
  200. package/dist/patterns/ai/browser.js +1 -1
  201. package/dist/patterns/ai/index.cjs +17 -21
  202. package/dist/patterns/ai/index.d.cts +17 -17
  203. package/dist/patterns/ai/index.d.ts +17 -17
  204. package/dist/patterns/ai/index.js +1 -1
  205. package/dist/patterns/ai/node.cjs +1 -1
  206. package/dist/patterns/ai/node.d.cts +4 -4
  207. package/dist/patterns/ai/node.d.ts +4 -4
  208. package/dist/patterns/ai/node.js +1 -1
  209. package/dist/patterns/audit/index.cjs +3 -7
  210. package/dist/patterns/audit/index.d.cts +6 -6
  211. package/dist/patterns/audit/index.d.ts +6 -6
  212. package/dist/patterns/audit/index.js +1 -1
  213. package/dist/patterns/cqrs/index.cjs +3 -7
  214. package/dist/patterns/cqrs/index.d.cts +6 -6
  215. package/dist/patterns/cqrs/index.d.ts +6 -6
  216. package/dist/patterns/cqrs/index.js +1 -1
  217. package/dist/patterns/demo-shell/index.cjs +5 -8
  218. package/dist/patterns/demo-shell/index.d.cts +5 -5
  219. package/dist/patterns/demo-shell/index.d.ts +5 -5
  220. package/dist/patterns/demo-shell/index.js +1 -1
  221. package/dist/patterns/domain-templates/index.cjs +3 -7
  222. package/dist/patterns/domain-templates/index.d.cts +4 -4
  223. package/dist/patterns/domain-templates/index.d.ts +4 -4
  224. package/dist/patterns/domain-templates/index.js +1 -1
  225. package/dist/patterns/graphspec/index.cjs +38 -38
  226. package/dist/patterns/graphspec/index.d.cts +5 -5
  227. package/dist/patterns/graphspec/index.d.ts +5 -5
  228. package/dist/patterns/graphspec/index.js +1 -1
  229. package/dist/patterns/guarded-execution/index.cjs +3 -7
  230. package/dist/patterns/guarded-execution/index.d.cts +7 -7
  231. package/dist/patterns/guarded-execution/index.d.ts +7 -7
  232. package/dist/patterns/guarded-execution/index.js +1 -1
  233. package/dist/patterns/harness/index.cjs +8 -12
  234. package/dist/patterns/harness/index.d.cts +12 -12
  235. package/dist/patterns/harness/index.d.ts +12 -12
  236. package/dist/patterns/harness/index.js +1 -1
  237. package/dist/patterns/job-queue/index.cjs +3 -7
  238. package/dist/patterns/job-queue/index.d.cts +6 -6
  239. package/dist/patterns/job-queue/index.d.ts +6 -6
  240. package/dist/patterns/job-queue/index.js +1 -1
  241. package/dist/patterns/lens/index.cjs +3 -7
  242. package/dist/patterns/lens/index.d.cts +6 -6
  243. package/dist/patterns/lens/index.d.ts +6 -6
  244. package/dist/patterns/lens/index.js +1 -1
  245. package/dist/patterns/memory/index.cjs +3 -7
  246. package/dist/patterns/memory/index.d.cts +7 -5
  247. package/dist/patterns/memory/index.d.ts +7 -5
  248. package/dist/patterns/memory/index.js +1 -1
  249. package/dist/patterns/messaging/index.cjs +3 -7
  250. package/dist/patterns/messaging/index.d.cts +5 -5
  251. package/dist/patterns/messaging/index.d.ts +5 -5
  252. package/dist/patterns/messaging/index.js +1 -1
  253. package/dist/patterns/orchestration/index.cjs +3 -7
  254. package/dist/patterns/orchestration/index.d.cts +8 -8
  255. package/dist/patterns/orchestration/index.d.ts +8 -8
  256. package/dist/patterns/orchestration/index.js +1 -1
  257. package/dist/patterns/process/index.cjs +1 -1
  258. package/dist/patterns/process/index.d.cts +7 -7
  259. package/dist/patterns/process/index.d.ts +7 -7
  260. package/dist/patterns/process/index.js +1 -1
  261. package/dist/patterns/reactive-layout/index.cjs +4 -8
  262. package/dist/patterns/reactive-layout/index.d.cts +5 -5
  263. package/dist/patterns/reactive-layout/index.d.ts +5 -5
  264. package/dist/patterns/reactive-layout/index.js +1 -1
  265. package/dist/patterns/reduction/index.cjs +3 -7
  266. package/dist/patterns/reduction/index.d.cts +4 -4
  267. package/dist/patterns/reduction/index.d.ts +4 -4
  268. package/dist/patterns/reduction/index.js +1 -1
  269. package/dist/patterns/refine-loop/index.cjs +5 -9
  270. package/dist/patterns/refine-loop/index.d.cts +6 -6
  271. package/dist/patterns/refine-loop/index.d.ts +6 -6
  272. package/dist/patterns/refine-loop/index.js +1 -1
  273. package/dist/patterns/resilient-pipeline/index.cjs +1 -1
  274. package/dist/patterns/resilient-pipeline/index.d.cts +4 -8
  275. package/dist/patterns/resilient-pipeline/index.d.ts +4 -8
  276. package/dist/patterns/resilient-pipeline/index.js +1 -1
  277. package/dist/patterns/surface/index.cjs +13 -17
  278. package/dist/patterns/surface/index.d.cts +6 -6
  279. package/dist/patterns/surface/index.d.ts +6 -6
  280. package/dist/patterns/surface/index.js +1 -1
  281. package/dist/{pipeline-graph-BrrYGjuZ.d.cts → pipeline-graph-BQPr2Lqs.d.cts} +34 -17
  282. package/dist/{pipeline-graph-DX2Twdj-.d.ts → pipeline-graph-D8vKcO_p.d.ts} +34 -17
  283. package/dist/{reactive-layout-DrGjuwyC.d.cts → reactive-layout-8CSc0tiA.d.cts} +2 -2
  284. package/dist/{reactive-layout-BDdngW56.d.ts → reactive-layout-DkTXxtSy.d.ts} +2 -2
  285. package/dist/{reactive-log-jirQsxMY.d.ts → reactive-log-BlAsPLl2.d.ts} +30 -3
  286. package/dist/{reactive-log-ScpWyqny.d.cts → reactive-log-_zeEnB9H.d.cts} +30 -3
  287. package/dist/{reactive-map-DmgeADH8.d.cts → reactive-map-B2qfD3hb.d.cts} +1 -1
  288. package/dist/{reactive-map-CHyeCf4D.d.ts → reactive-map-jFIsE6Kt.d.ts} +1 -1
  289. package/dist/resilience-HTF2LBRS.js +1 -0
  290. package/dist/{sugar-D13E2M_z.d.ts → sugar-BhfjgetH.d.ts} +1 -1
  291. package/dist/{sugar-DgaGJcI6.d.cts → sugar-DzePN5-g.d.cts} +1 -1
  292. package/dist/{topology-tree-BkhmMg2a.d.cts → topology-tree-B5Ngw3j0.d.cts} +1 -1
  293. package/dist/{topology-tree-BI665P0L.d.ts → topology-tree-BtvbgMXJ.d.ts} +1 -1
  294. package/dist/{types-BMSGPlpO.d.cts → types-1Dhoi7HM.d.cts} +1 -1
  295. package/dist/{types-CidcBDuk.d.ts → types-39jk0kaV.d.ts} +1 -1
  296. package/package.json +11 -1
  297. package/dist/chunk-4EATTNAE.js +0 -1
  298. package/dist/chunk-533RQFF6.js +0 -1
  299. package/dist/chunk-6SVKZ7VI.js +0 -1
  300. package/dist/chunk-A5HZZYRK.js +0 -1
  301. package/dist/chunk-B4L5X2QO.js +0 -7
  302. package/dist/chunk-C5CBVOCB.js +0 -1
  303. package/dist/chunk-CZIQ6JCE.js +0 -1
  304. package/dist/chunk-FJ6IEMOS.js +0 -1
  305. package/dist/chunk-FMI4CWFL.js +0 -1
  306. package/dist/chunk-G6Q3DUMJ.js +0 -1
  307. package/dist/chunk-GDDPCDLG.js +0 -1
  308. package/dist/chunk-GFOT6UBB.js +0 -1
  309. package/dist/chunk-JJTF75VS.js +0 -1
  310. package/dist/chunk-K2WYIVHM.js +0 -1
  311. package/dist/chunk-KTWBUJO5.js +0 -61
  312. package/dist/chunk-M27MVZCP.js +0 -1
  313. package/dist/chunk-NKKUUKPD.js +0 -43
  314. package/dist/chunk-O32GJOUJ.js +0 -1
  315. package/dist/chunk-QKBCTKH7.js +0 -1
  316. package/dist/chunk-QWVQIL3T.js +0 -1
  317. package/dist/chunk-UODQF4EY.js +0 -1
  318. package/dist/chunk-WGST56ZH.js +0 -80
  319. package/dist/chunk-WSLN4JFO.js +0 -1
  320. package/dist/chunk-XIJKEXWR.js +0 -1
  321. package/dist/imperative-audit-ahAE65a9.d.cts +0 -28
  322. package/dist/imperative-audit-ahAE65a9.d.ts +0 -28
  323. package/dist/index-BCq12BqB.d.ts +0 -139
  324. package/dist/index-BokynmA4.d.cts +0 -186
  325. package/dist/index-DXz9uwcs.d.ts +0 -186
  326. package/dist/index-DbWwMWiB.d.cts +0 -139
  327. package/dist/meta-BGO6C7K9.d.cts +0 -41
  328. package/dist/meta-CC6EPdpK.d.ts +0 -41
  329. package/dist/resilience-OBU472D2.js +0 -1
@@ -1,8 +1,97 @@
1
- import { A as Actor, p as GraphReFlyConfig, V as VersioningLevel, a as Node, b as Messages, K as NodeSink } from './node-fSc-hCv8.js';
2
- import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-CC6EPdpK.js';
1
+ import { A as Actor, o as GraphReFlyConfig, V as VersioningLevel, N as Node, M as Messages, K as NodeSink } from './node-BYInONRr.js';
2
+ import { D as DescribeNodeOutput, a as DescribeDetail, b as DescribeField } from './meta-D8OyedKp.js';
3
3
  import { StorageHandle } from './extra/storage-core.js';
4
4
  import { SnapshotStorageTier } from './extra/storage-tiers.js';
5
5
 
6
+ /**
7
+ * Pure structural diff over `GraphDescribeOutput` snapshots.
8
+ *
9
+ * Produces a {@link DescribeChangeset} of {@link DescribeEvent}s describing the
10
+ * topology delta from `prev` → `next`. Used by `Graph.describe({ reactive:
11
+ * "diff" })` internally and re-exported here for static-snapshot diffing
12
+ * (e.g. computing the topology delta between two persisted snapshots without
13
+ * spinning up a live graph).
14
+ *
15
+ * Topology-only — no value/state events. The data layer lives in
16
+ * `Graph.observe`. Per Tier 1.5.1 (locked Session A.1), `DescribeEvent` and
17
+ * {@link ObserveEvent} have disjoint type sets so a consumer can route both
18
+ * streams without ambiguity.
19
+ *
20
+ * `flushedAt_ns` is taken from `core/clock.ts`'s `monotonicNs()` so callers can
21
+ * order changesets across the same process without wall-clock skew.
22
+ *
23
+ * @module
24
+ */
25
+
26
+ /**
27
+ * Meta dictionary attached to a node, as surfaced by
28
+ * {@link DescribeNodeOutput.meta}. Aliased here so {@link DescribeEvent}'s
29
+ * `node-meta-changed` variant has a stable, narrow type.
30
+ */
31
+ type Meta = Record<string, unknown>;
32
+ /**
33
+ * One topology delta between two `describe()` snapshots. Disjoint from
34
+ * `ObserveEvent` (the data-layer envelope).
35
+ */
36
+ type DescribeEvent = {
37
+ type: "node-added";
38
+ path: string;
39
+ node: DescribeNodeOutput;
40
+ } | {
41
+ type: "node-removed";
42
+ path: string;
43
+ } | {
44
+ type: "node-meta-changed";
45
+ path: string;
46
+ prevMeta: Meta;
47
+ nextMeta: Meta;
48
+ } | {
49
+ type: "edge-added";
50
+ from: string;
51
+ to: string;
52
+ } | {
53
+ type: "edge-removed";
54
+ from: string;
55
+ to: string;
56
+ } | {
57
+ type: "subgraph-mounted";
58
+ path: string;
59
+ } | {
60
+ type: "subgraph-unmounted";
61
+ path: string;
62
+ };
63
+ /**
64
+ * Coalesced batch of {@link DescribeEvent}s emitted as a single DATA wave by
65
+ * `Graph.describe({ reactive: "diff" })` per outermost batch flush.
66
+ *
67
+ * `flushedAt_ns` is monotonic (from `core/clock.ts`); compare against another
68
+ * changeset's `flushedAt_ns` to order them. `events` is empty only when
69
+ * `topologyDiff` is called with two structurally identical snapshots; reactive
70
+ * variants suppress empty changesets so consumers don't see no-op DATA waves.
71
+ */
72
+ type DescribeChangeset = {
73
+ events: ReadonlyArray<DescribeEvent>;
74
+ flushedAt_ns: number;
75
+ };
76
+ /**
77
+ * Pure topology delta from `prev` → `next`. No I/O, no node references — purely
78
+ * over the JSON shape `Graph.describe()` returns.
79
+ *
80
+ * Event ordering within a changeset:
81
+ * 1. `subgraph-mounted` (added subgraphs first — their nodes follow)
82
+ * 2. `node-added`
83
+ * 3. `node-meta-changed`
84
+ * 4. `edge-added`
85
+ * 5. `edge-removed`
86
+ * 6. `node-removed`
87
+ * 7. `subgraph-unmounted` (last — node removals already reported)
88
+ *
89
+ * Each group is emitted in code-point sort order on the path / `${from}->${to}`
90
+ * key so the changeset is deterministic across runs (useful for snapshot
91
+ * tests and golden-output assertions).
92
+ */
93
+ declare function topologyDiff(prev: GraphDescribeOutput, next: GraphDescribeOutput): DescribeChangeset;
94
+
6
95
  /**
7
96
  * Causal walkback over a {@link Graph.describe} snapshot (roadmap §9.2).
8
97
  *
@@ -54,8 +143,10 @@ interface CausalChain {
54
143
  to: string;
55
144
  /** True when a path was found. */
56
145
  found: boolean;
57
- /** Why the chain may be empty/incomplete. `"ok"` when `found` is true. */
58
- reason: "ok" | "no-such-from" | "no-such-to" | "no-path" | "max-depth-exceeded";
146
+ /** Why the chain may be empty/incomplete. `"ok"` when `found` is true.
147
+ * `"pending"` is the reactive-explain sentinel emitted while reactive args
148
+ * are waiting for their first DATA (qa D5). */
149
+ reason: "ok" | "no-such-from" | "no-such-to" | "no-path" | "max-depth-exceeded" | "pending";
59
150
  /** Ordered steps — first element is `from`, last is `to`. Empty when `!found`. */
60
151
  steps: readonly CausalStep[];
61
152
  /** Pretty multi-line rendering. Always present, even on failure (one-line message). */
@@ -222,6 +313,25 @@ interface GraphOptions {
222
313
  * time — not mutable afterward (ring buffers can't resize cleanly).
223
314
  */
224
315
  traceCapacity?: number;
316
+ /**
317
+ * Tier 1.5.3 Phase 2.5 (Session A.1 lock + Phase 2.5 design DG1=B, 2026-04-27).
318
+ * Top-level factory identifier for Graph-returning factories (`agentMemory`,
319
+ * `harnessLoop`, `pipelineGraph`, etc.). When set, `describe()` surfaces
320
+ * `factory` + `factoryArgs` at the top of `GraphDescribeOutput` so consumers
321
+ * can identify provenance, and `compileSpec` can delegate reconstruction to
322
+ * `catalog.graphFactories[factory]` with `factoryArgs`. Prefer the
323
+ * post-construction `Graph.prototype.tagFactory(name, args?)` mutator inside
324
+ * the factory body over passing here directly.
325
+ */
326
+ factory?: string;
327
+ /**
328
+ * JSON-serializable subset of the construction args. For non-JSON fields
329
+ * (LLMAdapter, callbacks, embedders), prefer the {@link placeholderArgs}
330
+ * helper which substitutes descriptive `"<Node>"` / `"<function>"` strings
331
+ * (DG2 = ii). Catalog `graphFactories` recipients receive this back during
332
+ * `compileSpec` to recreate the graph with the user-supplied runtime ctx.
333
+ */
334
+ factoryArgs?: unknown;
225
335
  [key: string]: unknown;
226
336
  }
227
337
  /** Filter for {@link Graph.describe} — object-style partial match or predicate. */
@@ -293,53 +403,17 @@ type GraphDescribeOptions = {
293
403
  */
294
404
  fields?: DescribeField[];
295
405
  /**
296
- * Output format.
297
- * - `undefined` / omitted — return the full {@link GraphDescribeOutput} object.
298
- * - `"spec"` GraphSpec input format (object; no status/value, deps as edges).
299
- * - `"json"` stable JSON **text** with sorted keys.
300
- * - `"pretty"` — human-readable plaintext (optionally colorized; see
301
- * `colorize` / `indent` / `logger` / `includeEdges` / `includeSubgraphs`).
302
- * - `"mermaid"` Mermaid flowchart text.
303
- * - `"mermaid-url"` `https://mermaid.live/edit#base64:…` deep link (one
304
- * clickable URL, opens the `"mermaid"` source in the mermaid.live editor).
305
- * No network calls — the payload is encoded into the URL fragment.
306
- * - `"d2"` — D2 diagram text.
307
- * - `"ascii"` — stdout-native DAG flowchart rendered with Unicode
308
- * box-drawing glyphs (or `asciiCharset: "ascii"` for pure ASCII).
309
- * Graph-size independent: proper Sugiyama layout handles wide + deep
310
- * DAGs. Supports `direction: "LR" | "TD"`.
311
- */
312
- format?: "spec" | "json" | "pretty" | "mermaid" | "mermaid-url" | "d2" | "ascii";
313
- /** Pretty/diagram render: direction for diagram formats (default `LR`). */
314
- direction?: GraphDiagramDirection;
315
- /** Pretty/JSON render: indent (default 2 for JSON, ignored for pretty). */
316
- indent?: number;
317
- /** Pretty/ASCII render: optional logger hook; fires with the rendered text before return. */
318
- logger?: (text: string) => void;
319
- /** Pretty render: include an Edges section (default `true`). */
320
- includeEdges?: boolean;
321
- /** Pretty render: include a Subgraphs section (default `true`). */
322
- includeSubgraphs?: boolean;
323
- /**
324
- * ASCII render: per-box label cell cap; longer labels are truncated with `…`.
325
- * Default `24`. Applies only to `format: "ascii"`.
326
- */
327
- maxLabelWidth?: number;
328
- /**
329
- * ASCII render: Unicode box-drawing glyphs (`"unicode"`, default) or a
330
- * plain ASCII fallback (`"ascii"`, uses `-|+<>v`). Applies only to
331
- * `format: "ascii"`.
332
- */
333
- asciiCharset?: "unicode" | "ascii";
334
- /**
335
- * Reactive describe (D2): when `true`, return `{ node, dispose }` where `node`
336
- * emits a fresh `GraphDescribeOutput` (or format string, if `format` is set)
337
- * every time the graph state settles. Same coalescing as
338
- * {@link Graph.explain} with `{ reactive: true }` — one recompute per
339
- * outermost drain via the batch-flush hook, so large batched mutations
340
- * don't amplify describe work per event.
341
- */
342
- reactive?: boolean;
406
+ * Reactive describe (D2):
407
+ * - `true` — return `{ node, dispose }` where `node` emits a fresh
408
+ * `GraphDescribeOutput` every time the graph state settles. Same
409
+ * coalescing as {@link Graph.explain} with `{ reactive: true }`.
410
+ * - `"diff"` — return `{ node, dispose }` where `node` emits a
411
+ * {@link DescribeChangeset} per topology change. Empty changesets are
412
+ * suppressed; the initial cache is a synthetic full-add diff so a fresh
413
+ * subscriber sees the current topology as adds via push-on-subscribe.
414
+ * (Tier 1.5.1 Session A.1 lock).
415
+ */
416
+ reactive?: boolean | "diff";
343
417
  /** Reactive-only: name for the backing derived node (default `"describe"`). */
344
418
  reactiveName?: string;
345
419
  };
@@ -357,6 +431,16 @@ type GraphDescribeOutput = {
357
431
  to: string;
358
432
  }>;
359
433
  subgraphs: string[];
434
+ /**
435
+ * Top-level factory identifier (Tier 1.5.3 Phase 2.5 — DG1=B). Present when
436
+ * the graph was constructed by a Graph-returning factory that called
437
+ * `Graph.prototype.tagFactory(name, args?)` (or set `GraphOptions.factory`).
438
+ * Used by `compileSpec` for catalog-based reconstruction via
439
+ * `catalog.graphFactories[factory]`.
440
+ */
441
+ factory?: string;
442
+ /** JSON-serializable construction args paired with `factory`. */
443
+ factoryArgs?: unknown;
360
444
  /**
361
445
  * Re-read the live graph with higher detail (Phase 3.3b).
362
446
  * Returns a new `GraphDescribeOutput`; the original remains a snapshot.
@@ -450,19 +534,13 @@ type TopologyEvent = {
450
534
  nodeKind: "node" | "mount";
451
535
  audit: GraphRemoveAudit;
452
536
  };
453
- /** Direction options for diagram export helpers. */
537
+ /**
538
+ * Direction options for diagram exports. Mirrors `DiagramDirection` from
539
+ * `@graphrefly/graphrefly/extra/render` (the renderers consume their own
540
+ * structurally-identical type) — re-exported here so callers building
541
+ * options for `Graph` ergonomics don't need a separate import.
542
+ */
454
543
  type GraphDiagramDirection = "TD" | "LR" | "BT" | "RL";
455
- /** Options for {@link Graph.toMermaid} / {@link Graph.toD2}. */
456
- type GraphDiagramOptions = {
457
- /**
458
- * Diagram flow direction.
459
- * - `TD`: top-down
460
- * - `LR`: left-right (default)
461
- * - `BT`: bottom-top
462
- * - `RL`: right-left
463
- */
464
- direction?: GraphDiagramDirection;
465
- };
466
544
  /**
467
545
  * Snapshot format version (§3.8). Exported so the surface layer's
468
546
  * `saveSnapshot` writes the same `format_version` as
@@ -470,19 +548,6 @@ type GraphDiagramOptions = {
470
548
  * drift between auto-checkpoint and one-shot persistence paths.
471
549
  */
472
550
  declare const SNAPSHOT_VERSION = 1;
473
- /**
474
- * Encode a mermaid source string to a `https://mermaid.live/edit#base64:…`
475
- * deep link. Round-trip with the mermaid.live editor's `/edit#base64:`
476
- * share format — payload is `base64url(JSON({code, mermaid: {theme}, ...}))`.
477
- *
478
- * Exported so callers that already have rendered mermaid text (e.g. from
479
- * `describe({ format: "mermaid" })`) can upgrade to a live-editor URL
480
- * without re-rendering. Pairs with `describe({ format: "mermaid-url" })`.
481
- */
482
- declare function mermaidLiveUrl(mermaidSrc: string, opts?: {
483
- theme?: "default" | "dark" | "forest" | "neutral" | "base";
484
- autoSync?: boolean;
485
- }): string;
486
551
  /**
487
552
  * Option shapes that trigger structured-mode dispatch in {@link Graph.observe}.
488
553
  * Presence of any of these fields (truthy) → returns {@link ObserveResult};
@@ -519,6 +584,26 @@ type GraphObserveAll = {
519
584
  * - `"full"` — standard + timeline + causal + derived.
520
585
  */
521
586
  type ObserveDetail = "minimal" | "standard" | "full";
587
+ /**
588
+ * Tier name for {@link ObserveEvent} filtering. Aligns with spec §1.2 message
589
+ * tier semantics — each `ObserveTier` corresponds to one or more protocol
590
+ * message types. Used by {@link ObserveOptions.tiers} to scope observation to
591
+ * a subset of event categories (e.g. `tiers: ["error", "complete", "teardown"]`
592
+ * for failure-only health monitoring).
593
+ */
594
+ type ObserveTier = ObserveEvent["type"];
595
+ /**
596
+ * Coalesced batch of {@link ObserveEvent}s emitted as one DATA wave per
597
+ * outermost batch flush by `Graph.observe({ reactive: true })`.
598
+ *
599
+ * Disjoint from `DescribeChangeset` (the topology-layer envelope). Each event
600
+ * carries its own `path` so consumers route per-path without unwrapping the
601
+ * envelope first. `flushedAt_ns` is monotonic via `core/clock.ts`.
602
+ */
603
+ type ObserveChangeset = {
604
+ events: ReadonlyArray<ObserveEvent>;
605
+ flushedAt_ns: number;
606
+ };
522
607
  /** Options for structured observation modes on {@link Graph.observe}. */
523
608
  type ObserveOptions = {
524
609
  actor?: Actor;
@@ -536,6 +621,27 @@ type ObserveOptions = {
536
621
  * `"minimal"` filters to DATA-only events.
537
622
  */
538
623
  detail?: ObserveDetail;
624
+ /**
625
+ * Filter observed events to these tiers only. When omitted, all event types
626
+ * are delivered. Applies to both the structured callback and the reactive
627
+ * variants (`observe({ reactive: true })`).
628
+ *
629
+ * Example: `tiers: ["error", "complete", "teardown"]` for failure-only
630
+ * health monitoring; `tiers: ["data"]` for value-flow tracking.
631
+ */
632
+ tiers?: readonly ObserveTier[];
633
+ /**
634
+ * Return a `Node<ObserveChangeset>` that emits one DATA wave per outermost
635
+ * batch flush, with all observed events for that flush coalesced into a
636
+ * single changeset. Auto-enables structured mode (the reactive variant
637
+ * delivers {@link ObserveEvent}s, not raw messages).
638
+ *
639
+ * Coalescing matches `describe({ reactive: true })`'s `registerBatchFlushHook`
640
+ * mechanism — N events in one batch → one changeset DATA wave at flush.
641
+ */
642
+ reactive?: boolean;
643
+ /** Optional name for the reactive changeset node when `reactive: true`. */
644
+ reactiveName?: string;
539
645
  /**
540
646
  * When set, auto-enables structured mode and attaches a logger.
541
647
  * - `"pretty"` — colored one-line output per event.
@@ -755,7 +861,24 @@ declare class Graph {
755
861
  * equal the reserved meta segment `__meta__`).
756
862
  * @param opts - See {@link GraphOptions}. Stored frozen on the instance.
757
863
  */
864
+ /** Tier 1.5.3 Phase 2.5 — top-level factory tag for Graph-returning factories. */
865
+ private _factory?;
866
+ private _factoryArgs?;
758
867
  constructor(name: string, opts?: GraphOptions);
868
+ /**
869
+ * Tag this graph with its constructing factory's identifier and args.
870
+ * Used by Graph-returning factories (`agentMemory`, `harnessLoop`,
871
+ * `pipelineGraph`, etc.) so `describe()` exposes provenance and
872
+ * `compileSpec` can delegate reconstruction to
873
+ * `catalog.graphFactories[factory]`. Tier 1.5.3 Phase 2.5 (DG1=B).
874
+ *
875
+ * `factoryArgs` should be JSON-serializable. For non-JSON fields
876
+ * (LLMAdapter, callbacks, etc.), use {@link placeholderArgs} to
877
+ * substitute descriptive strings (DG2=ii).
878
+ *
879
+ * Returns `this` for fluent chaining inside factory bodies.
880
+ */
881
+ tagFactory(factory: string, factoryArgs?: unknown): this;
759
882
  /**
760
883
  * Walk ancestors up through `_parent`. Returns the chain starting at this
761
884
  * instance, ending at the root (a graph with no parent). O(depth).
@@ -994,33 +1117,53 @@ declare class Graph {
994
1117
  /**
995
1118
  * Static structure snapshot: qualified node keys, edges, mount names (GRAPHREFLY-SPEC §3.6, Appendix B).
996
1119
  *
997
- * `format` controls the return type:
998
- * - omitted or `"spec"` {@link GraphDescribeOutput} object.
999
- * - `"json"` / `"pretty"` / `"mermaid"` / `"d2"` → rendered string.
1120
+ * Returns the {@link GraphDescribeOutput} object directly (or a
1121
+ * `ReactiveDescribeHandle` when `{ reactive: true | "diff" }` is set).
1000
1122
  *
1001
- * @param options - Optional `actor` for guard-scoped visibility, `filter` for
1002
- * selective output, or `format` to render.
1123
+ * For formatted output (Mermaid / D2 / ASCII / pretty / JSON text), pass
1124
+ * the snapshot to one of the pure renderers in
1125
+ * `@graphrefly/graphrefly/extra/render`:
1126
+ *
1127
+ * ```ts
1128
+ * import { toMermaid, toAscii } from "@graphrefly/graphrefly/extra/render";
1129
+ *
1130
+ * const mermaid = toMermaid(graph.describe());
1131
+ * const ascii = toAscii(graph.describe(), { direction: "TD" });
1132
+ * ```
1133
+ *
1134
+ * For live formatted output, compose with `derived`:
1135
+ *
1136
+ * ```ts
1137
+ * import { derived } from "@graphrefly/graphrefly";
1138
+ * import { toMermaid } from "@graphrefly/graphrefly/extra/render";
1139
+ *
1140
+ * const live = derived(
1141
+ * [graph.describe({ reactive: true }).node],
1142
+ * ([g]) => toMermaid(g),
1143
+ * );
1144
+ * ```
1145
+ *
1146
+ * For the spec projection (type + deps + meta, strip runtime status/value),
1147
+ * pass `detail: "spec"`.
1148
+ *
1149
+ * @param options - Optional `actor` for guard-scoped visibility, `filter`
1150
+ * for selective output, `detail` / `fields` for projection, `reactive`
1151
+ * for the live handle.
1003
1152
  *
1004
1153
  * @example
1005
1154
  * ```ts
1006
1155
  * graph.describe() // full snapshot object
1007
1156
  * graph.describe({ filter: { status: "errored" } }) // filtered object
1008
- * graph.describe({ format: "pretty" }) // human-readable text
1009
- * graph.describe({ format: "mermaid" }) // Mermaid flowchart
1010
- * graph.describe({ format: "d2", direction: "TD" }) // D2 top-down
1011
- * graph.describe({ format: "ascii" }) // stdout DAG flowchart
1157
+ * graph.describe({ detail: "spec" }) // GraphSpec projection
1158
+ * graph.describe({ reactive: true }) // live snapshot Node
1012
1159
  * ```
1013
1160
  */
1014
1161
  describe(options: GraphDescribeOptions & {
1015
- reactive: true;
1016
- format: "json" | "pretty" | "mermaid" | "mermaid-url" | "d2" | "ascii";
1017
- }): ReactiveDescribeHandle<string>;
1162
+ reactive: "diff";
1163
+ }): ReactiveDescribeHandle<DescribeChangeset>;
1018
1164
  describe(options: GraphDescribeOptions & {
1019
1165
  reactive: true;
1020
1166
  }): ReactiveDescribeHandle<GraphDescribeOutput>;
1021
- describe(options: GraphDescribeOptions & {
1022
- format: "json" | "pretty" | "mermaid" | "mermaid-url" | "d2" | "ascii";
1023
- }): string;
1024
1167
  describe(options?: GraphDescribeOptions): GraphDescribeOutput;
1025
1168
  private _collectSubgraphs;
1026
1169
  /**
@@ -1047,28 +1190,44 @@ declare class Graph {
1047
1190
  *
1048
1191
  * Same question, two answers:
1049
1192
  * - **Static (default)** — `explain(from, to, opts?)` returns a single
1050
- * {@link CausalChain} snapshot of the graph at call time.
1193
+ * {@link CausalChain} snapshot of the graph at call time. Reactive
1194
+ * args (any `Node<...>`) are resolved to their current cache once.
1051
1195
  * - **Reactive** — `explain(from, to, { reactive: true, ... })` returns
1052
1196
  * `{ node: Node<CausalChain>; dispose: () => void }`. The node
1053
1197
  * recomputes whenever a `data` / `error` / `complete` / `teardown`
1054
- * event fires anywhere on the graph's structured observe stream, so
1055
- * the chain stays live. Replaces the former `reactiveExplainPath`.
1198
+ * event fires anywhere on the graph's structured observe stream OR
1199
+ * any reactive arg (`Node<string>` for `from`/`to`,
1200
+ * `Node<number>` for `maxDepth`, `Node<boolean>` for `findCycle`)
1201
+ * emits. Replaces the former `reactiveExplainPath`.
1202
+ *
1203
+ * Tier 3.5 reactive-opt carve-out (F.9): `from`, `to`, `maxDepth`, and
1204
+ * `findCycle` accept `Node<...>` in addition to their plain types. When
1205
+ * mixed (some reactive, some static), the reactive variant subscribes only
1206
+ * to the Node-typed args; static args pass through unchanged. The static
1207
+ * call snapshots all reactive args at call time — for live re-walking, use
1208
+ * `{ reactive: true }`.
1056
1209
  *
1057
- * @param from - Upstream node (the cause).
1058
- * @param to - Downstream node (the effect).
1059
- * @param opts - Optional `maxDepth` and `findCycle`. When `findCycle:true`
1210
+ * **File path-scoped observe is deferred** — the reactive variant
1211
+ * subscribes to whole-graph observe today (a perf gap, not a spec
1212
+ * violation). Tracked in `docs/optimizations.md` Tier 10.8 deferred
1213
+ * follow-up: "reactiveExplainPath file-path-scoped observe".
1214
+ *
1215
+ * @param from - Upstream node path (the cause). `string | Node<string>`.
1216
+ * @param to - Downstream node path (the effect). `string | Node<string>`.
1217
+ * @param opts - Optional `maxDepth` (`number | Node<number>`) and
1218
+ * `findCycle` (`boolean | Node<boolean>`). When `findCycle:true`
1060
1219
  * and `from === to`, returns the shortest cycle through other nodes
1061
1220
  * (useful for diagnosing feedback loops, COMPOSITION-GUIDE §7).
1062
1221
  * When `reactive: true`, also accepts `name?`.
1063
1222
  */
1064
- explain(from: string, to: string, opts?: {
1065
- maxDepth?: number;
1066
- findCycle?: boolean;
1223
+ explain(from: string | Node<string>, to: string | Node<string>, opts?: {
1224
+ maxDepth?: number | Node<number>;
1225
+ findCycle?: boolean | Node<boolean>;
1067
1226
  }): CausalChain;
1068
- explain(from: string, to: string, opts: {
1227
+ explain(from: string | Node<string>, to: string | Node<string>, opts: {
1069
1228
  reactive: true;
1070
- maxDepth?: number;
1071
- findCycle?: boolean;
1229
+ maxDepth?: number | Node<number>;
1230
+ findCycle?: boolean | Node<boolean>;
1072
1231
  name?: string;
1073
1232
  }): {
1074
1233
  node: Node<CausalChain>;
@@ -1076,6 +1235,14 @@ declare class Graph {
1076
1235
  };
1077
1236
  private _explainStatic;
1078
1237
  private _describeReactive;
1238
+ /**
1239
+ * Reactive topology-diff variant of `describe()`. Wraps `_describeReactive`'s
1240
+ * snapshot stream and emits a `DescribeChangeset` per change, suppressing
1241
+ * empty changesets. The initial cache is a synthetic full-add diff so a
1242
+ * fresh subscriber sees the current topology as a single `node-added` /
1243
+ * `edge-added` / `subgraph-mounted` payload via push-on-subscribe.
1244
+ */
1245
+ private _describeReactiveDiff;
1079
1246
  private _explainReactive;
1080
1247
  /**
1081
1248
  * @internal Collect all qualified paths in this graph tree matching a
@@ -1102,10 +1269,26 @@ declare class Graph {
1102
1269
  * `ObserveResult` is also an `AsyncIterable<ObserveEvent>` — use
1103
1270
  * `for await (const ev of result)` for pull-based consumption.
1104
1271
  */
1272
+ observe(path: string, options: ObserveOptions & {
1273
+ reactive: true;
1274
+ }): Node<ObserveChangeset>;
1275
+ observe(options: ObserveOptions & {
1276
+ reactive: true;
1277
+ }): Node<ObserveChangeset>;
1105
1278
  observe(path: string, options?: ObserveOptions & StructuredTriggers): ObserveResult;
1106
1279
  observe(path: string, options?: ObserveOptions): GraphObserveOne;
1107
1280
  observe(options: ObserveOptions & StructuredTriggers): ObserveResult;
1108
1281
  observe(options?: ObserveOptions): GraphObserveAll;
1282
+ /**
1283
+ * Reactive observe variant — wraps the structured observer and emits one
1284
+ * `ObserveChangeset` DATA per outermost batch flush, with all observed
1285
+ * events for that flush coalesced into a single envelope. Tier filter
1286
+ * (`options.tiers`) drops out-of-scope events before accumulation.
1287
+ *
1288
+ * Cleanup is producer-bound: the structured observer is torn down when the
1289
+ * last consumer of the returned node unsubscribes.
1290
+ */
1291
+ private _observeReactive;
1109
1292
  /** Dispatch helper — builds a unified observer + its expand closure. */
1110
1293
  private _buildStructuredObserver;
1111
1294
  /**
@@ -1482,4 +1665,4 @@ declare function reachable(described: GraphDescribeOutput, from: string, directi
1482
1665
  }): ReachableResult;
1483
1666
  declare function reachable(described: GraphDescribeOutput, from: string, direction: ReachableDirection, options?: ReachableOptions): string[];
1484
1667
 
1485
- export { type ReachableOptions as A, type TraceEntry as B, type CausalChain as C, type DescribeFilter as D, type ExplainPathOptions as E, diffForWAL as F, Graph as G, explainPath as H, graphProfile as I, mermaidLiveUrl as J, reachable as K, type NodeProfile as N, type ObserveDetail as O, type ReachableDirection as R, SNAPSHOT_VERSION as S, type TopologyEvent as T, type GraphOptions as a, type GraphPersistSnapshot as b, type GraphDescribeOptions as c, type GraphDescribeOutput as d, type CausalStep as e, GRAPH_META_SEGMENT as f, type GraphActorOptions as g, type GraphAttachStorageOptions as h, type GraphCheckpointRecord as i, type GraphDiagramDirection as j, type GraphDiagramOptions as k, type GraphDiffChange as l, type GraphDiffResult as m, type GraphFactoryContext as n, type GraphNodeFactory as o, type GraphObserveAll as p, type GraphObserveOne as q, type GraphProfileOptions as r, type GraphProfileResult as s, type GraphVersionChange as t, type GraphWALDiff as u, type ObserveEvent as v, type ObserveOptions as w, type ObserveResult as x, type ObserveTheme as y, type ObserveThemeName as z };
1668
+ export { type ObserveThemeName as A, type ReachableOptions as B, type CausalChain as C, type DescribeFilter as D, type ExplainPathOptions as E, type TraceEntry as F, Graph as G, diffForWAL as H, explainPath as I, graphProfile as J, reachable as K, topologyDiff as L, type Meta as M, type NodeProfile as N, type ObserveDetail as O, type ReachableDirection as R, SNAPSHOT_VERSION as S, type TopologyEvent as T, type GraphOptions as a, type GraphDescribeOutput as b, type GraphPersistSnapshot as c, type GraphDescribeOptions as d, type CausalStep as e, type DescribeChangeset as f, type DescribeEvent as g, GRAPH_META_SEGMENT as h, type GraphActorOptions as i, type GraphAttachStorageOptions as j, type GraphCheckpointRecord as k, type GraphDiagramDirection as l, type GraphDiffChange as m, type GraphDiffResult as n, type GraphFactoryContext as o, type GraphNodeFactory as p, type GraphObserveAll as q, type GraphObserveOne as r, type GraphProfileOptions as s, type GraphProfileResult as t, type GraphVersionChange as u, type GraphWALDiff as v, type ObserveEvent as w, type ObserveOptions as x, type ObserveResult as y, type ObserveTheme as z };