@graphrefly/graphrefly 0.39.0 → 0.40.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 (215) hide show
  1. package/dist/{cascading-g2_rhhaM.d.ts → cascading-BNfxffgc.d.ts} +1 -1
  2. package/dist/{cascading-BzuxW0_w.d.cts → cascading-Cxs1eztH.d.cts} +1 -1
  3. package/dist/{chunk-7JRF5YEK.js → chunk-2BX4NB34.js} +1 -1
  4. package/dist/{chunk-TFPZLQ5H.js → chunk-2DMKW2AD.js} +1 -1
  5. package/dist/{chunk-7NZMZJMW.js → chunk-2QXRYP7Q.js} +1 -1
  6. package/dist/{chunk-NQI2C36M.js → chunk-32N3JALT.js} +1 -1
  7. package/dist/{chunk-CGDMTXSY.js → chunk-6I726LZU.js} +1 -1
  8. package/dist/{chunk-S2U57TFC.js → chunk-6VWBPSSY.js} +1 -1
  9. package/dist/chunk-6XVD5TZV.js +1 -0
  10. package/dist/{chunk-VJJLIEAL.js → chunk-756D5TFD.js} +1 -1
  11. package/dist/{chunk-XQ55HO5N.js → chunk-7Q4ZD3YW.js} +1 -1
  12. package/dist/{chunk-ZOX3LBRV.js → chunk-B7LCDQEV.js} +1 -1
  13. package/dist/{chunk-IA7DUNGB.js → chunk-CKFQS2CJ.js} +1 -1
  14. package/dist/{chunk-R75BMDLA.js → chunk-ECQRP2UT.js} +1 -1
  15. package/dist/{chunk-L7WY6TZS.js → chunk-FHRBBHJN.js} +1 -1
  16. package/dist/{chunk-JNMC2WJ6.js → chunk-I2DEVPMU.js} +1 -1
  17. package/dist/chunk-INQFTVZA.js +61 -0
  18. package/dist/{chunk-N7UIBZCW.js → chunk-J63M5U46.js} +1 -1
  19. package/dist/{chunk-7SD73DS6.js → chunk-JKBOIJ22.js} +1 -1
  20. package/dist/chunk-K2Z7UENB.js +1 -0
  21. package/dist/{chunk-INH6FS2G.js → chunk-LCGAVGGV.js} +1 -1
  22. package/dist/{chunk-LQNOXGET.js → chunk-LYM4PBMV.js} +1 -1
  23. package/dist/{chunk-KD4NHLMU.js → chunk-MNZIKXK4.js} +1 -1
  24. package/dist/{chunk-RF3QZP6D.js → chunk-N43XM7BM.js} +1 -1
  25. package/dist/{chunk-5XRI6RM3.js → chunk-OSZ22J7O.js} +1 -1
  26. package/dist/{chunk-WHIZM6JV.js → chunk-PPUYQ66A.js} +1 -1
  27. package/dist/{chunk-SC7BQDNP.js → chunk-QSK3RRII.js} +1 -1
  28. package/dist/chunk-RZJDIV2G.js +1 -0
  29. package/dist/{chunk-HX3EGQ5Z.js → chunk-SSCGRYJ2.js} +1 -1
  30. package/dist/chunk-SVFKHUCW.js +1 -0
  31. package/dist/chunk-TSOYJ743.js +1 -0
  32. package/dist/{chunk-HAWKGIXM.js → chunk-UWA6D7UF.js} +1 -1
  33. package/dist/{chunk-GX5LSSRE.js → chunk-VMF23LGB.js} +1 -1
  34. package/dist/{chunk-5LK7XMEV.js → chunk-WL6LFPJB.js} +1 -1
  35. package/dist/{chunk-D47YVDR5.js → chunk-WUT362QV.js} +1 -1
  36. package/dist/{chunk-INHC33EH.js → chunk-XJLYLLIJ.js} +1 -1
  37. package/dist/{chunk-GEAO3TL3.js → chunk-XW4YDF6G.js} +1 -1
  38. package/dist/{chunk-XEUANKBO.js → chunk-YKD7WUYJ.js} +1 -1
  39. package/dist/{chunk-AU7YTQX7.js → chunk-YXDRGKXP.js} +1 -1
  40. package/dist/{chunk-7QFRK3N3.js → chunk-Z4F3DOWS.js} +1 -1
  41. package/dist/compat/index.d.cts +6 -6
  42. package/dist/compat/index.d.ts +6 -6
  43. package/dist/compat/index.js +1 -1
  44. package/dist/compat/nestjs/index.d.cts +4 -4
  45. package/dist/compat/nestjs/index.d.ts +4 -4
  46. package/dist/compat/nestjs/index.js +1 -1
  47. package/dist/compat/zustand/index.d.cts +2 -2
  48. package/dist/compat/zustand/index.d.ts +2 -2
  49. package/dist/compat/zustand/index.js +1 -1
  50. package/dist/{composite-DGatA-JK.d.ts → decay-BnrlbxSv.d.ts} +38 -2
  51. package/dist/{composite-CKd0e2vz.d.cts → decay-C25AyNAj.d.cts} +38 -2
  52. package/dist/extra/index.cjs +15 -15
  53. package/dist/extra/index.d.cts +6 -6
  54. package/dist/extra/index.d.ts +6 -6
  55. package/dist/extra/index.js +1 -1
  56. package/dist/extra/node.js +1 -1
  57. package/dist/extra/operators.js +1 -1
  58. package/dist/extra/reactive.d.cts +1 -1
  59. package/dist/extra/reactive.d.ts +1 -1
  60. package/dist/extra/reactive.js +1 -1
  61. package/dist/extra/render/index.d.cts +1 -1
  62. package/dist/extra/render/index.d.ts +1 -1
  63. package/dist/extra/sources.cjs +1 -1
  64. package/dist/extra/sources.js +1 -1
  65. package/dist/graph/index.d.cts +3 -3
  66. package/dist/graph/index.d.ts +3 -3
  67. package/dist/graph/index.js +1 -1
  68. package/dist/{graph-30XSgtVX.d.ts → graph-BkIkog4h.d.ts} +1 -1
  69. package/dist/{graph-BUwMAxJI.d.cts → graph-E6likq7w.d.cts} +1 -1
  70. package/dist/{index-BXd6OMEy.d.ts → index-3k4Gg6-n.d.ts} +2 -2
  71. package/dist/{index-DszPlZzK.d.ts → index-40ZT4MHj.d.ts} +1 -1
  72. package/dist/index-8s-Qm-gz.d.ts +218 -0
  73. package/dist/{index-K-vl_c6A.d.cts → index-A3U3CSve.d.cts} +1 -1
  74. package/dist/{index-jKLph6cu.d.ts → index-B6iTqKtJ.d.ts} +1 -1
  75. package/dist/{index-WyFKER-c.d.ts → index-B72TQQHd.d.cts} +3 -3
  76. package/dist/{index-CmqiJZKM.d.ts → index-BAQrjuZF.d.ts} +64 -6
  77. package/dist/{index-CusEP3Sv.d.ts → index-BQ1fR4li.d.ts} +1 -1
  78. package/dist/{index-xZYcDqFH.d.cts → index-BTHOTC0Q.d.cts} +2 -2
  79. package/dist/{index-jr6PuSBt.d.ts → index-BaA-xpSw.d.ts} +2 -2
  80. package/dist/{index-FVoPvhAu.d.cts → index-Bd91Nmf4.d.cts} +2 -2
  81. package/dist/{index-PqbnoScQ.d.ts → index-BgjS2b8N.d.ts} +2 -2
  82. package/dist/{index-DCbE8fFM.d.cts → index-BiHUBEKq.d.cts} +2 -2
  83. package/dist/{index-DlgHqQxW.d.cts → index-BilOa6AE.d.cts} +6 -32
  84. package/dist/{index-DoYc8BWK.d.cts → index-BmSQLAZo.d.cts} +2 -2
  85. package/dist/{index-DlrWu9Hs.d.cts → index-C-dkXOpB.d.cts} +1 -1
  86. package/dist/{index-C7VV_qOs.d.ts → index-C5cQ7Gfx.d.ts} +2 -2
  87. package/dist/{index-CPhBvRJU.d.ts → index-C6ZUaos7.d.ts} +1 -1
  88. package/dist/{index-PlJ3MraE.d.ts → index-CAP3UGsq.d.ts} +1 -1
  89. package/dist/{index-B41Asm7D.d.ts → index-CD2dBMet.d.ts} +2 -2
  90. package/dist/index-CGhMJNHb.d.cts +128 -0
  91. package/dist/{index-BAlaVimV.d.ts → index-CQtWm7jS.d.ts} +2 -2
  92. package/dist/{index-8R1vzNOx.d.cts → index-CRm0YIzC.d.cts} +2 -2
  93. package/dist/index-CUIkE1l9.d.cts +230 -0
  94. package/dist/{index-KlZ_ZUip.d.cts → index-Cczxgd2D.d.ts} +3 -3
  95. package/dist/{index-DIHcMLr6.d.cts → index-CgnCFhr2.d.cts} +1 -1
  96. package/dist/{index-BC9VybQs.d.ts → index-Ck35nA-T.d.ts} +2 -2
  97. package/dist/{index-BndG0cpK.d.cts → index-Cnr1WrlX.d.cts} +1 -1
  98. package/dist/{index-H_I66pav.d.cts → index-CtFNGe-m.d.cts} +2 -2
  99. package/dist/index-CuPUehFa.d.cts +218 -0
  100. package/dist/index-D1Gc7wV5.d.ts +230 -0
  101. package/dist/{index-iTX5IqSP.d.ts → index-D1IEZUsj.d.ts} +5 -5
  102. package/dist/{index-CWHtYmSh.d.cts → index-D4uimgee.d.cts} +1 -1
  103. package/dist/{index-CwP_KAMS.d.cts → index-DGTo1yka.d.cts} +64 -6
  104. package/dist/{index-BUPVld1w.d.ts → index-DH4fm2Ck.d.ts} +2 -2
  105. package/dist/{index-mNwgxC21.d.cts → index-DJ_MPOJ5.d.cts} +5 -5
  106. package/dist/{index-DyM4tFAe.d.cts → index-DQQCOIt8.d.cts} +2 -2
  107. package/dist/{index-BJ26eEjs.d.cts → index-DVAlsmEU.d.cts} +2 -2
  108. package/dist/{index-DINuaZlJ.d.cts → index-DVDapw2k.d.cts} +1 -1
  109. package/dist/{index-DTtBpuQy.d.cts → index-DgJc8Zgc.d.cts} +5 -3
  110. package/dist/{index-BKMdnYnk.d.ts → index-DhLyOHYZ.d.ts} +1 -1
  111. package/dist/{index-89FczVZ_.d.ts → index-DhnsQfa3.d.ts} +77 -51
  112. package/dist/{index-L8XI8Zql.d.cts → index-DktLSZOc.d.cts} +2 -2
  113. package/dist/{index-pVDQcbar.d.cts → index-DpiGqtrs.d.cts} +77 -51
  114. package/dist/{index-B9fmw5n2.d.ts → index-I1cCY3ZI.d.ts} +5 -3
  115. package/dist/{index-C19qqa38.d.ts → index-IUCY0OFN.d.ts} +2 -2
  116. package/dist/index-N2MAxt7_.d.ts +128 -0
  117. package/dist/{index-Br3WnqEn.d.ts → index-WSlcjhQF.d.ts} +6 -32
  118. package/dist/{index-DQUVq1_d.d.ts → index-bXXLSvor.d.ts} +2 -2
  119. package/dist/{index-BhUaMYm_.d.ts → index-da2V5vPy.d.ts} +1 -1
  120. package/dist/{index-PsVHpPwP.d.cts → index-t6L2qpHh.d.cts} +2 -2
  121. package/dist/{index-IwFqHxCs.d.cts → index-tV3AA9hI.d.cts} +1 -1
  122. package/dist/index.cjs +48 -48
  123. package/dist/index.d.cts +33 -33
  124. package/dist/index.d.ts +33 -33
  125. package/dist/index.js +1 -1
  126. package/dist/patterns/ai/browser.cjs +5 -5
  127. package/dist/patterns/ai/browser.d.cts +2 -2
  128. package/dist/patterns/ai/browser.d.ts +2 -2
  129. package/dist/patterns/ai/browser.js +1 -1
  130. package/dist/patterns/ai/index.cjs +14 -14
  131. package/dist/patterns/ai/index.d.cts +11 -11
  132. package/dist/patterns/ai/index.d.ts +11 -11
  133. package/dist/patterns/ai/index.js +1 -1
  134. package/dist/patterns/ai/node.js +1 -1
  135. package/dist/patterns/audit/index.d.cts +3 -3
  136. package/dist/patterns/audit/index.d.ts +3 -3
  137. package/dist/patterns/audit/index.js +1 -1
  138. package/dist/patterns/cqrs/index.d.cts +3 -3
  139. package/dist/patterns/cqrs/index.d.ts +3 -3
  140. package/dist/patterns/cqrs/index.js +1 -1
  141. package/dist/patterns/demo-shell/index.d.cts +3 -3
  142. package/dist/patterns/demo-shell/index.d.ts +3 -3
  143. package/dist/patterns/demo-shell/index.js +1 -1
  144. package/dist/patterns/domain-templates/index.d.cts +2 -2
  145. package/dist/patterns/domain-templates/index.d.ts +2 -2
  146. package/dist/patterns/domain-templates/index.js +1 -1
  147. package/dist/patterns/graphspec/index.d.cts +2 -2
  148. package/dist/patterns/graphspec/index.d.ts +2 -2
  149. package/dist/patterns/graphspec/index.js +1 -1
  150. package/dist/patterns/guarded-execution/index.cjs +3 -3
  151. package/dist/patterns/guarded-execution/index.d.cts +4 -4
  152. package/dist/patterns/guarded-execution/index.d.ts +4 -4
  153. package/dist/patterns/guarded-execution/index.js +1 -1
  154. package/dist/patterns/harness/index.cjs +1 -1
  155. package/dist/patterns/harness/index.d.cts +7 -7
  156. package/dist/patterns/harness/index.d.ts +7 -7
  157. package/dist/patterns/harness/index.js +1 -1
  158. package/dist/patterns/job-queue/index.d.cts +3 -3
  159. package/dist/patterns/job-queue/index.d.ts +3 -3
  160. package/dist/patterns/job-queue/index.js +1 -1
  161. package/dist/patterns/lens/index.cjs +3 -3
  162. package/dist/patterns/lens/index.d.cts +3 -4
  163. package/dist/patterns/lens/index.d.ts +3 -4
  164. package/dist/patterns/lens/index.js +1 -1
  165. package/dist/patterns/memory/index.cjs +1 -1
  166. package/dist/patterns/memory/index.d.cts +3 -3
  167. package/dist/patterns/memory/index.d.ts +3 -3
  168. package/dist/patterns/memory/index.js +1 -1
  169. package/dist/patterns/messaging/index.d.cts +2 -2
  170. package/dist/patterns/messaging/index.d.ts +2 -2
  171. package/dist/patterns/messaging/index.js +1 -1
  172. package/dist/patterns/orchestration/index.d.cts +3 -3
  173. package/dist/patterns/orchestration/index.d.ts +3 -3
  174. package/dist/patterns/orchestration/index.js +1 -1
  175. package/dist/patterns/process/index.d.cts +4 -4
  176. package/dist/patterns/process/index.d.ts +4 -4
  177. package/dist/patterns/process/index.js +1 -1
  178. package/dist/patterns/reactive-layout/index.d.cts +3 -3
  179. package/dist/patterns/reactive-layout/index.d.ts +3 -3
  180. package/dist/patterns/reactive-layout/index.js +1 -1
  181. package/dist/patterns/reduction/index.d.cts +2 -2
  182. package/dist/patterns/reduction/index.d.ts +2 -2
  183. package/dist/patterns/reduction/index.js +1 -1
  184. package/dist/patterns/refine-loop/index.d.cts +3 -3
  185. package/dist/patterns/refine-loop/index.d.ts +3 -3
  186. package/dist/patterns/refine-loop/index.js +1 -1
  187. package/dist/patterns/resilient-pipeline/index.cjs +3 -1
  188. package/dist/patterns/resilient-pipeline/index.d.cts +7 -3
  189. package/dist/patterns/resilient-pipeline/index.d.ts +7 -3
  190. package/dist/patterns/resilient-pipeline/index.js +1 -1
  191. package/dist/patterns/surface/index.d.cts +3 -3
  192. package/dist/patterns/surface/index.d.ts +3 -3
  193. package/dist/patterns/surface/index.js +1 -1
  194. package/dist/{pipeline-graph-D8vKcO_p.d.ts → pipeline-graph-CB4La-UW.d.ts} +2 -2
  195. package/dist/{pipeline-graph-BQPr2Lqs.d.cts → pipeline-graph-MWrQZXCq.d.cts} +2 -2
  196. package/dist/{reactive-layout-8CSc0tiA.d.cts → reactive-layout-BtZfUKuL.d.cts} +1 -1
  197. package/dist/{reactive-layout-DkTXxtSy.d.ts → reactive-layout-KJj4E2dT.d.ts} +1 -1
  198. package/dist/{reactive-map-B2qfD3hb.d.cts → reactive-map-6P_k3AQM.d.cts} +1 -1
  199. package/dist/{reactive-map-jFIsE6Kt.d.ts → reactive-map-CjXByDV-.d.ts} +1 -1
  200. package/dist/{resilience-HTF2LBRS.js → resilience-S33JV6XC.js} +1 -1
  201. package/dist/{topology-tree-B5Ngw3j0.d.cts → topology-tree-3LBKFsUo.d.cts} +1 -1
  202. package/dist/{topology-tree-BtvbgMXJ.d.ts → topology-tree-mF7Emqzm.d.ts} +1 -1
  203. package/package.json +1 -1
  204. package/dist/chunk-73PBQNST.js +0 -1
  205. package/dist/chunk-A6ZSKGUG.js +0 -1
  206. package/dist/chunk-EWF7KCDJ.js +0 -61
  207. package/dist/chunk-IUB4NYI2.js +0 -1
  208. package/dist/chunk-MC4UYY2X.js +0 -1
  209. package/dist/chunk-ZJ7SM3G2.js +0 -1
  210. package/dist/index-BEHmxORq.d.ts +0 -135
  211. package/dist/index-BM9szD8n.d.cts +0 -113
  212. package/dist/index-BskfDoZ_.d.ts +0 -113
  213. package/dist/index-CIRG8Hxp.d.cts +0 -135
  214. package/dist/index-Cey6VTnX.d.ts +0 -166
  215. package/dist/index-CpLpJb6A.d.cts +0 -166
@@ -0,0 +1,230 @@
1
+ import { f as factoryTag, p as placeholderArgs } from './meta-D8OyedKp.js';
2
+ import { N as Node } from './node-BYInONRr.js';
3
+ import { S as StatusValue, C as CircuitState, R as RateLimiterState, a as RateLimiterOptions, b as CircuitBreakerOptions, c as RetryOptions, F as FallbackInput, N as NS_PER_MS, d as NS_PER_SEC } from './index-BAQrjuZF.js';
4
+ import { G as Graph, a as GraphOptions } from './graph-BkIkog4h.js';
5
+ import { B as BudgetConstraint } from './budget-gate-CmmVtasH.js';
6
+
7
+ /**
8
+ * Resilience composition with correct nesting order (roadmap §9.0b — Tier 5.2 Wave-B rebuild).
9
+ *
10
+ * {@link resilientPipeline} composes the resilience primitives from
11
+ * `extra/resilience/` in the canonical nesting order:
12
+ *
13
+ * ```text
14
+ * rateLimit → budget → breaker → timeout → retry → fallback → status
15
+ * ```
16
+ *
17
+ * Returns a {@link ResilientPipelineGraph} (Graph subclass) with mounted
18
+ * intermediate nodes and per-layer status companions, replacing the prior
19
+ * bundle return. Each intermediate is mounted under a stable name so
20
+ * `pipeline.describe()` shows the resilience chain in topology snapshots,
21
+ * mermaid renders, and `lens.health` aggregations.
22
+ *
23
+ * **Per-attempt timeout vs. retry ordering.** `timeout` is applied BEFORE
24
+ * `retry` so each retry attempt resubscribes to a fresh deadline (per-attempt
25
+ * semantics). If `timeout` wrapped `retry`, a single deadline would apply to
26
+ * the entire retry chain — not what callers expect.
27
+ *
28
+ * **`breakerOnOpen` + `retry` interaction.** With `breakerOnOpen: "error"` AND
29
+ * `retry`, retry sees `CircuitOpenError` and resubscribes; the next attempt
30
+ * very likely also breaker-open → another error → retry burns its budget
31
+ * against an open circuit. Either set retry's `backoff` long enough for the
32
+ * breaker reset window OR keep the default `breakerOnOpen: "skip"` (emits
33
+ * RESOLVED when open; downstream drops the beat without retry firing).
34
+ *
35
+ * **Reactive options (switchMap rebuild).** Every primitive option accepts a
36
+ * `T | Node<T>` (precedent-aligned with `FallbackInput<T>`). When the caller
37
+ * supplies a static value, the layer is built once at construction. When the
38
+ * caller supplies a `Node<T>`, the pipeline subscribes via `switchMap` and
39
+ * **rebuilds the layer on every option emission** — the chain stalls until
40
+ * the option Node emits its first DATA. Each rebuild creates a fresh
41
+ * primitive instance, so internal state is lost (rate-limiter pending buffer,
42
+ * breaker failure count, retry attempt count, in-flight timeout). Per-layer
43
+ * **companion Nodes** (`droppedCount`, `rateLimitState`, `breakerState`) are
44
+ * therefore exposed ONLY for the static-options path. Primitive-side widening
45
+ * (filed in `docs/optimizations.md` under "Tier 5.2 follow-up — primitive-side
46
+ * reactive-options widening") will preserve internal state once it lands and
47
+ * the pipeline will trivially forward Node-form options to the primitive.
48
+ *
49
+ * @module
50
+ */
51
+
52
+ /**
53
+ * `T | Node<T>` for primitive options — precedent-aligned with
54
+ * {@link FallbackInput} and `policyGate.policies`. When the caller supplies a
55
+ * static value, the layer is built once at construction. When the caller
56
+ * supplies a `Node<T>`, the pipeline subscribes via {@link switchMap}: the
57
+ * layer is rebuilt on every option emission. **State-loss caveat:** each
58
+ * rebuild creates a fresh primitive instance — `rateLimiter` loses its pending
59
+ * buffer, `circuitBreaker` resets failure count, `retry` resets attempt
60
+ * count, `timeout` cancels in-flight deadline. This is the documented
61
+ * switchMap-pattern semantics; primitive-side widening (filed in
62
+ * `docs/optimizations.md`) will preserve internal state once it lands and the
63
+ * pipeline can forward Node-form options directly.
64
+ *
65
+ * Per-layer **companion Nodes** (`droppedCount`, `rateLimitState`,
66
+ * `breakerState`) are exposed only for the static-options path — Node-form
67
+ * leaves them as `undefined` because each rebuild creates new companion
68
+ * instances and a switchMap-mirrored companion would track only the latest
69
+ * bundle. Callers needing both reactive options AND companions wait for
70
+ * primitive-side widening.
71
+ */
72
+ type NodeOrValue<T> = T | Node<T>;
73
+ /**
74
+ * Options for {@link resilientPipeline}. Every layer is optional — omit a
75
+ * field and that layer is skipped.
76
+ *
77
+ * Reactive (`Node<T>`) forms are accepted everywhere a primitive value would
78
+ * fit; the pipeline subscribes via `switchMap` and rebuilds the layer on each
79
+ * emission. See module JSDoc for the rebuild semantics + state-loss caveat.
80
+ */
81
+ interface ResilientPipelineOptions<T> {
82
+ /**
83
+ * Admission control — at most `maxEvents` `DATA` per `windowNs`. See
84
+ * {@link rateLimiter}.
85
+ *
86
+ * `maxBuffer` is optional at the pipeline layer (defaults to `Infinity`,
87
+ * preserving the historical unbounded behavior). Pass an explicit positive
88
+ * integer to opt in to a bounded queue.
89
+ */
90
+ rateLimit?: NodeOrValue<Omit<RateLimiterOptions, "maxBuffer"> & {
91
+ maxBuffer?: number;
92
+ }>;
93
+ /** Cost/constraint gate. See {@link budgetGate}. */
94
+ budget?: NodeOrValue<ReadonlyArray<BudgetConstraint>>;
95
+ /** Circuit breaker — fail-fast when the downstream resource is unhealthy. See {@link circuitBreaker}. */
96
+ breaker?: NodeOrValue<CircuitBreakerOptions>;
97
+ /**
98
+ * Behavior when the breaker is open:
99
+ * - `"skip"` (default) — emit `RESOLVED` (lets downstream drop the beat).
100
+ * - `"error"` — emit a `CircuitOpenError` so `retry` / `fallback` can react.
101
+ * See module JSDoc for the retry-budget burn caveat.
102
+ *
103
+ * Static (configuration-only — no reactive form).
104
+ */
105
+ breakerOnOpen?: "skip" | "error";
106
+ /** Retry policy on terminal `ERROR`. See {@link retry}. */
107
+ retry?: NodeOrValue<RetryOptions>;
108
+ /**
109
+ * Per-attempt deadline in milliseconds. Converted to ns internally. Omit
110
+ * to skip the timeout wrap.
111
+ *
112
+ * Specified in ms (not ns) because callers consistently think in
113
+ * millisecond deadlines; the underlying {@link timeout} primitive takes ns
114
+ * internally.
115
+ */
116
+ timeoutMs?: NodeOrValue<number>;
117
+ /** Final fallback value emitted on terminal `ERROR` after retry exhausts. See {@link fallback}. */
118
+ fallback?: FallbackInput<T>;
119
+ /**
120
+ * Initial status reported by the status node. Default `"pending"`. Static.
121
+ */
122
+ initialStatus?: StatusValue;
123
+ /** Wrapper graph name. Default `"resilient_pipeline"`. */
124
+ name?: string;
125
+ /** Wrapper graph options. */
126
+ graph?: GraphOptions;
127
+ }
128
+ /**
129
+ * Graph subclass returned by {@link resilientPipeline}. Mounts each
130
+ * configured intermediate under a stable name and exposes per-layer status
131
+ * companions.
132
+ *
133
+ * @category patterns
134
+ */
135
+ declare class ResilientPipelineGraph<T> extends Graph {
136
+ /**
137
+ * Final resilient node — subscribe to this for `DATA` emissions.
138
+ *
139
+ * Named `output` (not `node`) because `Graph.node(name)` already names the
140
+ * path-resolution method on the base class; a `readonly node` field would
141
+ * shadow it.
142
+ */
143
+ readonly output: Node<T>;
144
+ /** Live status: `"pending" | "running" | "completed" | "errored"`. */
145
+ readonly status: Node<StatusValue>;
146
+ /**
147
+ * Last error payload, or `null` when not errored.
148
+ *
149
+ * Named `lastError` (not `error`) because `Graph.error(name, err)` already
150
+ * names a method on the base class.
151
+ */
152
+ readonly lastError: Node<unknown | null>;
153
+ /** Breaker state when `opts.breaker` is provided; `undefined` otherwise. */
154
+ readonly breakerState: Node<CircuitState> | undefined;
155
+ /**
156
+ * Drop-counter when `opts.rateLimit` is provided; `undefined` otherwise.
157
+ *
158
+ * **Lifetime note:** `droppedCount` retains its final value through
159
+ * terminal (`COMPLETE` / `ERROR` / `TEARDOWN`); the underlying counter
160
+ * resets to `0` only at the next subscription cycle.
161
+ */
162
+ readonly droppedCount: Node<number> | undefined;
163
+ /**
164
+ * Combined rate-limit state when `opts.rateLimit` is provided; `undefined`
165
+ * otherwise. Same lifecycle as {@link droppedCount} but exposes
166
+ * `pendingCount` and `paused` alongside the drop counter for richer
167
+ * backpressure observability (Tier 5.2 D7).
168
+ */
169
+ readonly rateLimitState: Node<RateLimiterState> | undefined;
170
+ constructor(source: Node<T>, opts?: ResilientPipelineOptions<T>);
171
+ }
172
+ /**
173
+ * Compose a resilient pipeline around `source` in the canonical nesting
174
+ * order — `rateLimit → budget → breaker → timeout → retry → fallback → status`.
175
+ * Omit any option to skip that layer.
176
+ *
177
+ * Returns a {@link ResilientPipelineGraph} (Graph subclass) —
178
+ * `pipeline.output` is the externally visible final node; `pipeline.status`
179
+ * / `pipeline.lastError` / `pipeline.breakerState` / `pipeline.droppedCount`
180
+ * are the per-layer companions. Call `pipeline.describe()` to see the
181
+ * mounted intermediates; compose with {@link graphLens}'s `health` for
182
+ * aggregate status.
183
+ *
184
+ * **Naming note:** `output` and `lastError` (not `node` / `error`) avoid
185
+ * clashes with `Graph.node(name)` and `Graph.error(name, err)` on the base
186
+ * class.
187
+ *
188
+ * @param source - Upstream node to wrap.
189
+ * @param opts - See {@link ResilientPipelineOptions}. All fields optional.
190
+ *
191
+ * @example
192
+ * ```ts
193
+ * const safeFetch = resilientPipeline(fetchNode, {
194
+ * rateLimit: { maxEvents: 10, windowNs: NS_PER_SEC },
195
+ * breaker: { failureThreshold: 5 },
196
+ * retry: { count: 3, backoff: "exponential" },
197
+ * timeoutMs: 10_000,
198
+ * fallback: null,
199
+ * });
200
+ * safeFetch.output.subscribe(msgs => console.log(msgs));
201
+ * safeFetch.status.subscribe(msgs => console.log(msgs));
202
+ * safeFetch.describe({ format: "ascii" }); // visualize the chain
203
+ * ```
204
+ *
205
+ * @category patterns
206
+ */
207
+ declare function resilientPipeline<T>(source: Node<T>, opts?: ResilientPipelineOptions<T>): ResilientPipelineGraph<T>;
208
+
209
+ declare const index_BudgetConstraint: typeof BudgetConstraint;
210
+ declare const index_CircuitBreakerOptions: typeof CircuitBreakerOptions;
211
+ declare const index_CircuitState: typeof CircuitState;
212
+ declare const index_FallbackInput: typeof FallbackInput;
213
+ declare const index_NS_PER_MS: typeof NS_PER_MS;
214
+ declare const index_NS_PER_SEC: typeof NS_PER_SEC;
215
+ type index_NodeOrValue<T> = NodeOrValue<T>;
216
+ declare const index_RateLimiterOptions: typeof RateLimiterOptions;
217
+ declare const index_RateLimiterState: typeof RateLimiterState;
218
+ type index_ResilientPipelineGraph<T> = ResilientPipelineGraph<T>;
219
+ declare const index_ResilientPipelineGraph: typeof ResilientPipelineGraph;
220
+ type index_ResilientPipelineOptions<T> = ResilientPipelineOptions<T>;
221
+ declare const index_RetryOptions: typeof RetryOptions;
222
+ declare const index_StatusValue: typeof StatusValue;
223
+ declare const index_factoryTag: typeof factoryTag;
224
+ declare const index_placeholderArgs: typeof placeholderArgs;
225
+ declare const index_resilientPipeline: typeof resilientPipeline;
226
+ declare namespace index {
227
+ export { index_BudgetConstraint as BudgetConstraint, index_CircuitBreakerOptions as CircuitBreakerOptions, index_CircuitState as CircuitState, index_FallbackInput as FallbackInput, index_NS_PER_MS as NS_PER_MS, index_NS_PER_SEC as NS_PER_SEC, type index_NodeOrValue as NodeOrValue, index_RateLimiterOptions as RateLimiterOptions, index_RateLimiterState as RateLimiterState, index_ResilientPipelineGraph as ResilientPipelineGraph, type index_ResilientPipelineOptions as ResilientPipelineOptions, index_RetryOptions as RetryOptions, index_StatusValue as StatusValue, index_factoryTag as factoryTag, index_placeholderArgs as placeholderArgs, index_resilientPipeline as resilientPipeline };
228
+ }
229
+
230
+ export { type NodeOrValue as N, ResilientPipelineGraph as R, type ResilientPipelineOptions as a, index as i, resilientPipeline as r };
@@ -1,11 +1,11 @@
1
1
  import { NodeInput } from './extra/sources.js';
2
2
  import { N as Node } from './node-BYInONRr.js';
3
3
  import { L as LLMAdapter } from './types-39jk0kaV.js';
4
- import { T as TopicGraph, M as MessagingHubGraph } from './index-DszPlZzK.js';
5
- import { E as Evaluator, D as DatasetItem, a as EvalResult$1, R as RefineStrategy, b as RefineLoopOptions, c as RefineStatus } from './index-PqbnoScQ.js';
6
- import { G as Graph, t as GraphProfileResult, s as GraphProfileOptions } from './graph-30XSgtVX.js';
7
- import { G as GateController } from './pipeline-graph-D8vKcO_p.js';
8
- import { J as JobQueueGraph } from './index-C19qqa38.js';
4
+ import { T as TopicGraph, M as MessagingHubGraph } from './index-40ZT4MHj.js';
5
+ import { E as Evaluator, D as DatasetItem, a as EvalResult$1, R as RefineStrategy, b as RefineLoopOptions, c as RefineStatus } from './index-BgjS2b8N.js';
6
+ import { G as Graph, t as GraphProfileResult, s as GraphProfileOptions } from './graph-BkIkog4h.js';
7
+ import { G as GateController } from './pipeline-graph-CB4La-UW.js';
8
+ import { J as JobQueueGraph } from './index-IUCY0OFN.js';
9
9
 
10
10
  /**
11
11
  * Strategy model and priority scoring (roadmap §9.0).
@@ -1,4 +1,4 @@
1
- import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-BQPr2Lqs.cjs';
1
+ import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-MWrQZXCq.cjs';
2
2
 
3
3
  /**
4
4
  * Orchestration patterns (roadmap §4.1).
@@ -169,6 +169,13 @@ type RetryOptions = {
169
169
  count?: number;
170
170
  /** Delay between attempts; strategies use **nanoseconds**. */
171
171
  backoff?: BackoffStrategy | BackoffPreset;
172
+ /**
173
+ * Caller-supplied metadata merged into the produced node's `meta` (Tier 5.2
174
+ * D8 widening). Use {@link domainMeta} to tag the layer for `describe()`
175
+ * grouping. The primitive's `factoryTag("retry", …)` always wins against
176
+ * caller keys.
177
+ */
178
+ meta?: Record<string, unknown>;
172
179
  };
173
180
  /** Factory-mode-only options. `initial` seeds the outer node's cache before the first attempt. */
174
181
  type RetryFactoryOptions<T> = RetryOptions & {
@@ -323,6 +330,7 @@ type WithBreakerBundle<T> = {
323
330
  */
324
331
  declare function withBreaker<T>(breaker: CircuitBreaker, options?: {
325
332
  onOpen?: "skip" | "error";
333
+ meta?: Record<string, unknown>;
326
334
  }): (source: Node<T>) => WithBreakerBundle<T>;
327
335
  interface TokenBucket {
328
336
  /**
@@ -409,6 +417,15 @@ type RateLimiterOptions = {
409
417
  maxBuffer: number;
410
418
  /** Overflow policy when `maxBuffer` is exceeded. Default: `"drop-newest"`. */
411
419
  onOverflow?: RateLimiterOverflowPolicy;
420
+ /**
421
+ * Caller-supplied metadata merged into the produced node's `meta` (Tier 5.2
422
+ * D8 widening). Use {@link domainMeta} to tag the layer for `describe()` /
423
+ * mermaid grouping (e.g. `domainMeta("resilient", "rate-limit")`). The
424
+ * primitive's own `factoryTag("rateLimiter", opts)` and the `droppedCount`
425
+ * / `rateLimitState` companion seeds always win against caller-supplied
426
+ * keys so the audit trail can't be silently overwritten.
427
+ */
428
+ meta?: Record<string, unknown>;
412
429
  };
413
430
  /**
414
431
  * Thrown by {@link rateLimiter} when `onOverflow: "error"` and the pending buffer is full.
@@ -419,24 +436,60 @@ declare class RateLimiterOverflowError extends Error {
419
436
  name: string;
420
437
  constructor(maxBuffer: number);
421
438
  }
439
+ /**
440
+ * Combined runtime state surfaced by {@link rateLimiter} alongside `droppedCount`.
441
+ * Tier 5.2 D7 widening — exposes pending-buffer occupancy and a `paused`
442
+ * flag so consumers can render backpressure (UI), feed `lens.health`, or
443
+ * gate downstream effects.
444
+ */
445
+ type RateLimiterState = {
446
+ /** Cumulative `DATA` items dropped due to overflow since this subscription cycle started. */
447
+ droppedCount: number;
448
+ /** Items currently buffered awaiting a token refill. `0` when the limiter is passing through. */
449
+ pendingCount: number;
450
+ /** `true` when at least one item is queued (the limiter is actively throttling). */
451
+ paused: boolean;
452
+ };
422
453
  /** Bundle returned by {@link rateLimiter}. */
423
454
  type RateLimiterBundle<T> = {
424
455
  /** The throttled stream — at most `maxEvents` `DATA` per `windowNs`. */
425
456
  node: Node<T>;
426
457
  /**
427
- * Reactive companion: count of `DATA` items dropped since subscription start.
458
+ * Reactive companion: count of `DATA` items dropped since the producer
459
+ * activated.
428
460
  *
429
461
  * - Increments on every drop under any overflow policy (`drop-newest`,
430
462
  * `drop-oldest`). The `error` policy terminates the stream after a single
431
463
  * overflow, so `droppedCount` increments at most once in that path.
432
- * - Resets to `0` on terminal (`COMPLETE` / `ERROR` / `TEARDOWN`) — i.e. the
433
- * counter scopes to the active subscription cycle.
464
+ * - **Lifecycle scoping (qa A1 + EC7):** the counter retains its final
465
+ * value through terminal (`COMPLETE` / `ERROR` / `TEARDOWN`) so consumers
466
+ * see the final drop count, not zero. The closure-held counter resets to
467
+ * `0` only when the producer fn re-runs — which only happens on a new
468
+ * subscription cycle, and only if the producer was constructed with
469
+ * `resubscribable: true`. The default `rateLimiter` producer is NOT
470
+ * resubscribable, so a single producer-fn run is the typical lifetime.
434
471
  * - Producer-pattern note: this companion is invisible to `describe()`
435
472
  * traversal from `node` (effect-mirror limitation; same shape as
436
473
  * `withBreaker.breakerState` and `withStatus.status`). Surface it via
437
474
  * `node.meta.droppedCount` if you need it in topology snapshots.
438
475
  */
439
476
  droppedCount: Node<number>;
477
+ /**
478
+ * Reactive companion: combined `{droppedCount, pendingCount, paused}` view.
479
+ *
480
+ * - `pendingCount` reflects the live buffer occupancy and updates on every
481
+ * push / shift / overflow drop; `paused` is shorthand for
482
+ * `pendingCount > 0`.
483
+ * - Equality-deduped — re-emits only when one of the three fields actually
484
+ * changes (so a busy steady-state where every DATA passes immediately
485
+ * produces one `paused: false` emission, not one per DATA).
486
+ * - **Lifecycle scoping (qa EC7):** same contract as `droppedCount` —
487
+ * retains its final value through terminal; resets to the initial
488
+ * `{droppedCount: 0, pendingCount: 0, paused: false}` only on a new
489
+ * producer-fn run (resubscribable upstream required).
490
+ * - Same producer-pattern caveat as `droppedCount` re: `describe()` visibility.
491
+ */
492
+ rateLimitState: Node<RateLimiterState>;
440
493
  };
441
494
  /**
442
495
  * Token-bucket rate limiter: at most `maxEvents` `DATA` values per `windowNs`.
@@ -519,6 +572,7 @@ type WithStatusBundle<T> = {
519
572
  */
520
573
  declare function withStatus<T>(src: Node<T>, options?: {
521
574
  initialStatus?: StatusValue;
575
+ meta?: Record<string, unknown>;
522
576
  }): WithStatusBundle<T>;
523
577
  /**
524
578
  * Thrown by {@link timeout} when no `DATA` arrives within the deadline.
@@ -562,7 +616,9 @@ type FallbackInput<T> = T | Node<T> | PromiseLike<T> | AsyncIterable<T>;
562
616
  *
563
617
  * @category extra
564
618
  */
565
- declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>): Node<T>;
619
+ declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>, options?: {
620
+ meta?: Record<string, unknown>;
621
+ }): Node<T>;
566
622
  /**
567
623
  * Emits `ERROR` with {@link TimeoutError} if no `DATA` arrives within the deadline.
568
624
  *
@@ -588,6 +644,8 @@ declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>): Node<T>;
588
644
  *
589
645
  * @category extra
590
646
  */
591
- declare function timeout<T>(source: Node<T>, timeoutNs: number): Node<T>;
647
+ declare function timeout<T>(source: Node<T>, timeoutNs: number, options?: {
648
+ meta?: Record<string, unknown>;
649
+ }): Node<T>;
592
650
 
593
- export { type BackoffPreset as B, type CircuitState as C, type ExponentialBackoffOptions as E, type FallbackInput as F, type JitterMode as J, NS_PER_MS as N, type RateLimiterOptions as R, type StatusValue as S, TimeoutError as T, type WithBreakerBundle as W, type CircuitBreakerOptions as a, type RetryOptions as b, NS_PER_SEC as c, type BackoffStrategy as d, type CircuitBreaker as e, CircuitOpenError as f, RateLimiterOverflowError as g, type RateLimiterOverflowPolicy as h, type TokenBucket as i, type WithStatusBundle as j, circuitBreaker as k, constant as l, decorrelatedJitter as m, exponential as n, fallback as o, fibonacci as p, linear as q, rateLimiter as r, resolveBackoffPreset as s, retry as t, timeout as u, tokenBucket as v, withBreaker as w, withMaxAttempts as x, withStatus as y };
651
+ export { type BackoffPreset as B, type CircuitState as C, type ExponentialBackoffOptions as E, type FallbackInput as F, type JitterMode as J, NS_PER_MS as N, type RateLimiterState as R, type StatusValue as S, TimeoutError as T, type WithBreakerBundle as W, type RateLimiterOptions as a, type CircuitBreakerOptions as b, type RetryOptions as c, NS_PER_SEC as d, type BackoffStrategy as e, type CircuitBreaker as f, CircuitOpenError as g, RateLimiterOverflowError as h, type RateLimiterOverflowPolicy as i, type TokenBucket as j, type WithStatusBundle as k, circuitBreaker as l, constant as m, decorrelatedJitter as n, exponential as o, fallback as p, fibonacci as q, linear as r, rateLimiter as s, resolveBackoffPreset as t, retry as u, timeout as v, tokenBucket as w, withBreaker as x, withMaxAttempts as y, withStatus as z };
@@ -1,5 +1,5 @@
1
- import { G as Graph } from './graph-30XSgtVX.js';
2
- import { M as MeasurementAdapter } from './reactive-layout-DkTXxtSy.js';
1
+ import { G as Graph } from './graph-BkIkog4h.js';
2
+ import { M as MeasurementAdapter } from './reactive-layout-KJj4E2dT.js';
3
3
 
4
4
  /**
5
5
  * Three-pane demo shell (roadmap §7.2).
@@ -1,11 +1,11 @@
1
1
  import { NodeInput } from './extra/sources.cjs';
2
2
  import { N as Node } from './node-BYInONRr.cjs';
3
3
  import { L as LLMAdapter } from './types-1Dhoi7HM.cjs';
4
- import { T as TopicGraph, M as MessagingHubGraph } from './index-BndG0cpK.cjs';
5
- import { E as Evaluator, D as DatasetItem, a as EvalResult$1, R as RefineStrategy, b as RefineLoopOptions, c as RefineStatus } from './index-PsVHpPwP.cjs';
6
- import { G as Graph, t as GraphProfileResult, s as GraphProfileOptions } from './graph-BUwMAxJI.cjs';
7
- import { G as GateController } from './pipeline-graph-BQPr2Lqs.cjs';
8
- import { J as JobQueueGraph } from './index-xZYcDqFH.cjs';
4
+ import { T as TopicGraph, M as MessagingHubGraph } from './index-Cnr1WrlX.cjs';
5
+ import { E as Evaluator, D as DatasetItem, a as EvalResult$1, R as RefineStrategy, b as RefineLoopOptions, c as RefineStatus } from './index-t6L2qpHh.cjs';
6
+ import { G as Graph, t as GraphProfileResult, s as GraphProfileOptions } from './graph-E6likq7w.cjs';
7
+ import { G as GateController } from './pipeline-graph-MWrQZXCq.cjs';
8
+ import { J as JobQueueGraph } from './index-BTHOTC0Q.cjs';
9
9
 
10
10
  /**
11
11
  * Strategy model and priority scoring (roadmap §9.0).
@@ -1,8 +1,8 @@
1
1
  import { N as Node } from './node-BYInONRr.cjs';
2
- import { B as BaseAuditRecord } from './index-DINuaZlJ.cjs';
2
+ import { B as BaseAuditRecord } from './index-DVDapw2k.cjs';
3
3
  import { a as ReactiveLogBundle } from './reactive-log-_zeEnB9H.cjs';
4
4
  import { AppendLogStorageTier } from './extra/storage-tiers.cjs';
5
- import { a as GraphOptions, G as Graph } from './graph-BUwMAxJI.cjs';
5
+ import { a as GraphOptions, G as Graph } from './graph-E6likq7w.cjs';
6
6
 
7
7
  /**
8
8
  * CQRS patterns (roadmap §4.5).
@@ -1,8 +1,8 @@
1
- import { B as BaseAuditRecord } from './index-DINuaZlJ.cjs';
1
+ import { B as BaseAuditRecord } from './index-DVDapw2k.cjs';
2
2
  import { a as ReactiveLogBundle } from './reactive-log-_zeEnB9H.cjs';
3
3
  import { NodeInput } from './extra/sources.cjs';
4
4
  import { AppendLogStorageTier } from './extra/storage-tiers.cjs';
5
- import { C as CqrsEventMap, a as CqrsEvent, b as CqrsGraph } from './index-DyM4tFAe.cjs';
5
+ import { C as CqrsEventMap, a as CqrsEvent, b as CqrsGraph } from './index-DQQCOIt8.cjs';
6
6
 
7
7
  /**
8
8
  * Process Manager pattern (Phase 7 — roadmap §4.6, Audit 3 — locked 2026-04-24).
@@ -1,5 +1,5 @@
1
1
  import { b as NodeGuard, N as Node } from './node-BYInONRr.cjs';
2
- import { G as Graph } from './graph-BUwMAxJI.cjs';
2
+ import { G as Graph } from './graph-E6likq7w.cjs';
3
3
  import { R as ReactiveLogOptions, a as ReactiveLogBundle } from './reactive-log-_zeEnB9H.cjs';
4
4
 
5
5
  /**
@@ -1,6 +1,6 @@
1
1
  import { o as GraphReFlyConfig } from './node-BYInONRr.cjs';
2
- import { c as GraphPersistSnapshot, k as GraphCheckpointRecord, G as Graph, C as CausalChain, e as CausalStep, D as DescribeFilter, E as ExplainPathOptions, h as GRAPH_META_SEGMENT, i as GraphActorOptions, j as GraphAttachStorageOptions, d as GraphDescribeOptions, b as GraphDescribeOutput, l as GraphDiagramDirection, m as GraphDiffChange, n as GraphDiffResult, o as GraphFactoryContext, p as GraphNodeFactory, q as GraphObserveAll, r as GraphObserveOne, a as GraphOptions, s as GraphProfileOptions, t as GraphProfileResult, u as GraphVersionChange, v as GraphWALDiff, N as NodeProfile, O as ObserveDetail, w as ObserveEvent, x as ObserveOptions, y as ObserveResult, z as ObserveTheme, A as ObserveThemeName, R as ReachableDirection, B as ReachableOptions, S as SNAPSHOT_VERSION, T as TopologyEvent, F as TraceEntry, H as diffForWAL, I as explainPath, J as graphProfile, K as reachable } from './graph-BUwMAxJI.cjs';
3
- import { w as watchTopologyTree } from './topology-tree-B5Ngw3j0.cjs';
2
+ import { c as GraphPersistSnapshot, k as GraphCheckpointRecord, G as Graph, C as CausalChain, e as CausalStep, D as DescribeFilter, E as ExplainPathOptions, h as GRAPH_META_SEGMENT, i as GraphActorOptions, j as GraphAttachStorageOptions, d as GraphDescribeOptions, b as GraphDescribeOutput, l as GraphDiagramDirection, m as GraphDiffChange, n as GraphDiffResult, o as GraphFactoryContext, p as GraphNodeFactory, q as GraphObserveAll, r as GraphObserveOne, a as GraphOptions, s as GraphProfileOptions, t as GraphProfileResult, u as GraphVersionChange, v as GraphWALDiff, N as NodeProfile, O as ObserveChangeset, w as ObserveDetail, x as ObserveEvent, y as ObserveOptions, z as ObserveResult, A as ObserveTheme, B as ObserveThemeName, F as ObserveTier, R as ReachableDirection, H as ReachableOptions, S as SNAPSHOT_VERSION, T as TopologyEvent, I as TraceEntry, J as diffForWAL, K as explainPath, L as graphProfile, P as reachable } from './graph-E6likq7w.cjs';
3
+ import { w as watchTopologyTree } from './topology-tree-3LBKFsUo.cjs';
4
4
 
5
5
  /**
6
6
  * Approximate in-memory size estimation for arbitrary JS values.
@@ -435,12 +435,14 @@ type index_LazyGraphCodec = LazyGraphCodec;
435
435
  declare const index_NodeProfile: typeof NodeProfile;
436
436
  type index_ObservabilityCheck = ObservabilityCheck;
437
437
  type index_ObservabilityDescribeFormat = ObservabilityDescribeFormat;
438
+ declare const index_ObserveChangeset: typeof ObserveChangeset;
438
439
  declare const index_ObserveDetail: typeof ObserveDetail;
439
440
  declare const index_ObserveEvent: typeof ObserveEvent;
440
441
  declare const index_ObserveOptions: typeof ObserveOptions;
441
442
  declare const index_ObserveResult: typeof ObserveResult;
442
443
  declare const index_ObserveTheme: typeof ObserveTheme;
443
444
  declare const index_ObserveThemeName: typeof ObserveThemeName;
445
+ declare const index_ObserveTier: typeof ObserveTier;
444
446
  declare const index_ReachableDirection: typeof ReachableDirection;
445
447
  declare const index_ReachableOptions: typeof ReachableOptions;
446
448
  declare const index_SIZEOF_SYMBOL: typeof SIZEOF_SYMBOL;
@@ -464,7 +466,7 @@ declare const index_sizeof: typeof sizeof;
464
466
  declare const index_validateGraphObservability: typeof validateGraphObservability;
465
467
  declare const index_watchTopologyTree: typeof watchTopologyTree;
466
468
  declare namespace index {
467
- export { index_CausalChain as CausalChain, index_CausalStep as CausalStep, index_DescribeFilter as DescribeFilter, index_ENVELOPE_VERSION as ENVELOPE_VERSION, type index_EvictedSubgraphInfo as EvictedSubgraphInfo, type index_EvictionPolicy as EvictionPolicy, index_ExplainPathOptions as ExplainPathOptions, index_GRAPH_META_SEGMENT as GRAPH_META_SEGMENT, index_Graph as Graph, index_GraphActorOptions as GraphActorOptions, index_GraphAttachStorageOptions as GraphAttachStorageOptions, index_GraphCheckpointRecord as GraphCheckpointRecord, type index_GraphCodec as GraphCodec, index_GraphDescribeOptions as GraphDescribeOptions, index_GraphDescribeOutput as GraphDescribeOutput, index_GraphDiagramDirection as GraphDiagramDirection, index_GraphDiffChange as GraphDiffChange, index_GraphDiffResult as GraphDiffResult, index_GraphFactoryContext as GraphFactoryContext, index_GraphNodeFactory as GraphNodeFactory, index_GraphObserveAll as GraphObserveAll, index_GraphObserveOne as GraphObserveOne, index_GraphOptions as GraphOptions, index_GraphPersistSnapshot as GraphPersistSnapshot, index_GraphProfileOptions as GraphProfileOptions, index_GraphProfileResult as GraphProfileResult, index_GraphVersionChange as GraphVersionChange, index_GraphWALDiff as GraphWALDiff, index_JsonCodec as JsonCodec, type index_LazyGraphCodec as LazyGraphCodec, index_NodeProfile as NodeProfile, type index_ObservabilityCheck as ObservabilityCheck, type index_ObservabilityDescribeFormat as ObservabilityDescribeFormat, index_ObserveDetail as ObserveDetail, index_ObserveEvent as ObserveEvent, index_ObserveOptions as ObserveOptions, index_ObserveResult as ObserveResult, index_ObserveTheme as ObserveTheme, index_ObserveThemeName as ObserveThemeName, index_ReachableDirection as ReachableDirection, index_ReachableOptions as ReachableOptions, OVERHEAD as SIZEOF_OVERHEAD, index_SIZEOF_SYMBOL as SIZEOF_SYMBOL, index_SNAPSHOT_VERSION as SNAPSHOT_VERSION, index_TopologyEvent as TopologyEvent, index_TraceEntry as TraceEntry, type index_ValidateObservabilityOptions as ValidateObservabilityOptions, type index_ValidateObservabilityResult as ValidateObservabilityResult, type index_WALEntry as WALEntry, index_createDagCborCodec as createDagCborCodec, index_createDagCborZstdCodec as createDagCborZstdCodec, index_decodeEnvelope as decodeEnvelope, index_diffForWAL as diffForWAL, index_encodeEnvelope as encodeEnvelope, index_explainPath as explainPath, index_graphProfile as graphProfile, index_reachable as reachable, index_registerBuiltinCodecs as registerBuiltinCodecs, index_replayWAL as replayWAL, index_sizeof as sizeof, index_validateGraphObservability as validateGraphObservability, index_watchTopologyTree as watchTopologyTree };
469
+ export { index_CausalChain as CausalChain, index_CausalStep as CausalStep, index_DescribeFilter as DescribeFilter, index_ENVELOPE_VERSION as ENVELOPE_VERSION, type index_EvictedSubgraphInfo as EvictedSubgraphInfo, type index_EvictionPolicy as EvictionPolicy, index_ExplainPathOptions as ExplainPathOptions, index_GRAPH_META_SEGMENT as GRAPH_META_SEGMENT, index_Graph as Graph, index_GraphActorOptions as GraphActorOptions, index_GraphAttachStorageOptions as GraphAttachStorageOptions, index_GraphCheckpointRecord as GraphCheckpointRecord, type index_GraphCodec as GraphCodec, index_GraphDescribeOptions as GraphDescribeOptions, index_GraphDescribeOutput as GraphDescribeOutput, index_GraphDiagramDirection as GraphDiagramDirection, index_GraphDiffChange as GraphDiffChange, index_GraphDiffResult as GraphDiffResult, index_GraphFactoryContext as GraphFactoryContext, index_GraphNodeFactory as GraphNodeFactory, index_GraphObserveAll as GraphObserveAll, index_GraphObserveOne as GraphObserveOne, index_GraphOptions as GraphOptions, index_GraphPersistSnapshot as GraphPersistSnapshot, index_GraphProfileOptions as GraphProfileOptions, index_GraphProfileResult as GraphProfileResult, index_GraphVersionChange as GraphVersionChange, index_GraphWALDiff as GraphWALDiff, index_JsonCodec as JsonCodec, type index_LazyGraphCodec as LazyGraphCodec, index_NodeProfile as NodeProfile, type index_ObservabilityCheck as ObservabilityCheck, type index_ObservabilityDescribeFormat as ObservabilityDescribeFormat, index_ObserveChangeset as ObserveChangeset, index_ObserveDetail as ObserveDetail, index_ObserveEvent as ObserveEvent, index_ObserveOptions as ObserveOptions, index_ObserveResult as ObserveResult, index_ObserveTheme as ObserveTheme, index_ObserveThemeName as ObserveThemeName, index_ObserveTier as ObserveTier, index_ReachableDirection as ReachableDirection, index_ReachableOptions as ReachableOptions, OVERHEAD as SIZEOF_OVERHEAD, index_SIZEOF_SYMBOL as SIZEOF_SYMBOL, index_SNAPSHOT_VERSION as SNAPSHOT_VERSION, index_TopologyEvent as TopologyEvent, index_TraceEntry as TraceEntry, type index_ValidateObservabilityOptions as ValidateObservabilityOptions, type index_ValidateObservabilityResult as ValidateObservabilityResult, type index_WALEntry as WALEntry, index_createDagCborCodec as createDagCborCodec, index_createDagCborZstdCodec as createDagCborZstdCodec, index_decodeEnvelope as decodeEnvelope, index_diffForWAL as diffForWAL, index_encodeEnvelope as encodeEnvelope, index_explainPath as explainPath, index_graphProfile as graphProfile, index_reachable as reachable, index_registerBuiltinCodecs as registerBuiltinCodecs, index_replayWAL as replayWAL, index_sizeof as sizeof, index_validateGraphObservability as validateGraphObservability, index_watchTopologyTree as watchTopologyTree };
468
470
  }
469
471
 
470
472
  export { ENVELOPE_VERSION as E, type GraphCodec as G, JsonCodec as J, type LazyGraphCodec as L, type ObservabilityCheck as O, SIZEOF_SYMBOL as S, type ValidateObservabilityOptions as V, type WALEntry as W, type EvictedSubgraphInfo as a, type EvictionPolicy as b, type ObservabilityDescribeFormat as c, OVERHEAD as d, type ValidateObservabilityResult as e, createDagCborCodec as f, createDagCborZstdCodec as g, decodeEnvelope as h, encodeEnvelope as i, index as j, replayWAL as k, registerBuiltinCodecs as r, sizeof as s, validateGraphObservability as v };
@@ -1,6 +1,6 @@
1
1
  import { D as DescribeNodeOutput } from './meta-D8OyedKp.js';
2
2
  import { N as Node } from './node-BYInONRr.js';
3
- import { G as Graph, b as GraphDescribeOutput } from './graph-30XSgtVX.js';
3
+ import { G as Graph, b as GraphDescribeOutput } from './graph-BkIkog4h.js';
4
4
  import { L as LLMAdapter } from './types-39jk0kaV.js';
5
5
 
6
6
  /**