@graphrefly/graphrefly 0.27.0 → 0.28.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 (428) hide show
  1. package/dist/backoff-HPZMEZNF.js +1 -0
  2. package/dist/cascading-B-5zmAUv.d.cts +180 -0
  3. package/dist/cascading-D9WG1-9L.d.ts +180 -0
  4. package/dist/chunk-2FOAM3OR.js +1 -0
  5. package/dist/chunk-2PMCKKRK.js +1 -0
  6. package/dist/chunk-3JXNEPCD.js +2 -0
  7. package/dist/chunk-3R5HFPX7.js +78 -0
  8. package/dist/chunk-4GKB4OUJ.js +1 -0
  9. package/dist/chunk-4VVTGLXJ.js +1 -0
  10. package/dist/chunk-5QDBSZBV.js +1 -0
  11. package/dist/chunk-6QZNQS5B.js +1 -0
  12. package/dist/chunk-6V3SEX2I.js +1 -0
  13. package/dist/chunk-76A3HVQE.js +9 -0
  14. package/dist/chunk-7H6LGFUG.js +64 -0
  15. package/dist/chunk-CK2E7BTU.js +1 -0
  16. package/dist/chunk-CKCSDI7T.js +6 -0
  17. package/dist/chunk-CRXTH3SH.js +1 -0
  18. package/dist/chunk-CWLN3X3N.js +1 -0
  19. package/dist/chunk-D7A7DBE4.js +1 -0
  20. package/dist/chunk-DBGGMN3D.js +1 -0
  21. package/dist/chunk-DQA3UIQ2.js +1 -0
  22. package/dist/chunk-ERLIRFPA.js +1 -0
  23. package/dist/chunk-ESMPEKEV.js +1 -0
  24. package/dist/chunk-ETWTCCJI.js +1 -0
  25. package/dist/chunk-FNYWM6JC.js +1 -0
  26. package/dist/chunk-GHJJR5P4.js +1 -0
  27. package/dist/chunk-GPW2V3RE.js +1 -0
  28. package/dist/chunk-I6VIH3VA.js +1 -0
  29. package/dist/chunk-K2GNMCQT.js +1 -0
  30. package/dist/chunk-LBTDSCCO.js +3 -0
  31. package/dist/chunk-LQ3Y5NJS.js +1 -0
  32. package/dist/chunk-MIQTDPY4.js +5 -0
  33. package/dist/chunk-MTTAAPCK.js +1 -0
  34. package/dist/chunk-OAWLCNJJ.js +1 -0
  35. package/dist/chunk-OBKQQA5I.js +1 -0
  36. package/dist/chunk-OYHGKYQM.js +1 -0
  37. package/dist/chunk-PIOGHC63.js +1 -0
  38. package/dist/chunk-QWAPKG3O.js +2 -0
  39. package/dist/chunk-QYADASLV.js +1 -0
  40. package/dist/chunk-RHESUC3V.js +43 -0
  41. package/dist/chunk-S35VARIR.js +1 -0
  42. package/dist/chunk-SC3U7ETD.js +1 -0
  43. package/dist/chunk-U3AICJKU.js +1 -0
  44. package/dist/chunk-UMBIDLJ4.js +1 -0
  45. package/dist/chunk-UPHHLMHE.js +1 -0
  46. package/dist/chunk-UPXUCFMX.js +1 -0
  47. package/dist/chunk-UWJE5FQA.js +18 -0
  48. package/dist/chunk-V6YQICXZ.js +1 -0
  49. package/dist/chunk-VIMF6LGM.js +1 -0
  50. package/dist/chunk-VJLMUKOI.js +1 -0
  51. package/dist/chunk-VPYBOXVT.js +1 -0
  52. package/dist/chunk-VTPVOGHH.js +1 -0
  53. package/dist/chunk-WQ2BN6X6.js +1 -0
  54. package/dist/chunk-XAUNPIMX.js +1 -0
  55. package/dist/chunk-Y2EMPB3I.js +1 -0
  56. package/dist/chunk-Z4HDAS2Q.js +1 -0
  57. package/dist/chunk-ZB5EHBIO.js +1 -0
  58. package/dist/chunk-ZV2DXV5A.js +23 -0
  59. package/dist/compat/index.cjs +14 -7656
  60. package/dist/compat/index.d.cts +15 -14
  61. package/dist/compat/index.d.ts +15 -14
  62. package/dist/compat/index.js +1 -50
  63. package/dist/compat/jotai/index.cjs +1 -2048
  64. package/dist/compat/jotai/index.d.cts +2 -2
  65. package/dist/compat/jotai/index.d.ts +2 -2
  66. package/dist/compat/jotai/index.js +1 -9
  67. package/dist/compat/nanostores/index.cjs +1 -2175
  68. package/dist/compat/nanostores/index.d.cts +2 -2
  69. package/dist/compat/nanostores/index.d.ts +2 -2
  70. package/dist/compat/nanostores/index.js +1 -23
  71. package/dist/compat/nestjs/index.cjs +14 -6782
  72. package/dist/compat/nestjs/index.d.cts +7 -6
  73. package/dist/compat/nestjs/index.d.ts +7 -6
  74. package/dist/compat/nestjs/index.js +1 -83
  75. package/dist/compat/react/index.cjs +1 -141
  76. package/dist/compat/react/index.d.cts +2 -2
  77. package/dist/compat/react/index.d.ts +2 -2
  78. package/dist/compat/react/index.js +1 -12
  79. package/dist/compat/solid/index.cjs +1 -128
  80. package/dist/compat/solid/index.d.cts +2 -2
  81. package/dist/compat/solid/index.d.ts +2 -2
  82. package/dist/compat/solid/index.js +1 -12
  83. package/dist/compat/svelte/index.cjs +1 -131
  84. package/dist/compat/svelte/index.d.cts +2 -2
  85. package/dist/compat/svelte/index.d.ts +2 -2
  86. package/dist/compat/svelte/index.js +1 -12
  87. package/dist/compat/vue/index.cjs +1 -146
  88. package/dist/compat/vue/index.d.cts +2 -2
  89. package/dist/compat/vue/index.d.ts +2 -2
  90. package/dist/compat/vue/index.js +1 -12
  91. package/dist/compat/zustand/index.cjs +6 -4931
  92. package/dist/compat/zustand/index.d.cts +5 -5
  93. package/dist/compat/zustand/index.d.ts +5 -5
  94. package/dist/compat/zustand/index.js +1 -12
  95. package/dist/composite-B-xqw4Kk.d.cts +69 -0
  96. package/dist/composite-BhbKHbOS.d.ts +69 -0
  97. package/dist/core/index.cjs +1 -2271
  98. package/dist/core/index.d.cts +4 -4
  99. package/dist/core/index.d.ts +4 -4
  100. package/dist/core/index.js +1 -110
  101. package/dist/extra/browser.cjs +1 -0
  102. package/dist/extra/browser.d.cts +3 -0
  103. package/dist/extra/browser.d.ts +3 -0
  104. package/dist/extra/browser.js +1 -0
  105. package/dist/extra/index.cjs +23 -9971
  106. package/dist/extra/index.d.cts +13 -6
  107. package/dist/extra/index.d.ts +13 -6
  108. package/dist/extra/index.js +1 -381
  109. package/dist/extra/node.cjs +3 -0
  110. package/dist/extra/node.d.cts +81 -0
  111. package/dist/extra/node.d.ts +81 -0
  112. package/dist/extra/node.js +2 -0
  113. package/dist/extra/operators.cjs +1 -0
  114. package/dist/extra/operators.d.cts +910 -0
  115. package/dist/extra/operators.d.ts +910 -0
  116. package/dist/extra/operators.js +1 -0
  117. package/dist/extra/reactive.cjs +1 -0
  118. package/dist/extra/reactive.d.cts +352 -0
  119. package/dist/extra/reactive.d.ts +352 -0
  120. package/dist/extra/reactive.js +1 -0
  121. package/dist/extra/sources.cjs +1 -2486
  122. package/dist/extra/sources.d.cts +6 -2
  123. package/dist/extra/sources.d.ts +6 -2
  124. package/dist/extra/sources.js +1 -57
  125. package/dist/extra/storage-browser.cjs +1 -0
  126. package/dist/extra/storage-browser.d.cts +71 -0
  127. package/dist/extra/storage-browser.d.ts +71 -0
  128. package/dist/extra/storage-browser.js +1 -0
  129. package/dist/extra/storage-core.cjs +1 -0
  130. package/dist/extra/storage-core.d.cts +98 -0
  131. package/dist/extra/storage-core.d.ts +98 -0
  132. package/dist/extra/storage-core.js +1 -0
  133. package/dist/extra/storage-node.cjs +2 -0
  134. package/dist/extra/storage-node.d.cts +60 -0
  135. package/dist/extra/storage-node.d.ts +60 -0
  136. package/dist/extra/storage-node.js +1 -0
  137. package/dist/fallback-BaTS7vVY.d.cts +258 -0
  138. package/dist/fallback-eOm3LNxP.d.ts +258 -0
  139. package/dist/graph/index.cjs +6 -5030
  140. package/dist/graph/index.d.cts +6 -5
  141. package/dist/graph/index.d.ts +6 -5
  142. package/dist/graph/index.js +1 -50
  143. package/dist/{graph-CCwGKLCm.d.ts → graph-BZGRXwOm.d.ts} +134 -31
  144. package/dist/{graph-DNCrvZSn.d.cts → graph-D48Qw9Cg.d.cts} +134 -31
  145. package/dist/index-8FSVk4Uf.d.ts +135 -0
  146. package/dist/index-9oDeHH2u.d.cts +291 -0
  147. package/dist/{messaging-XDoYablx.d.ts → index-B0c4cmIO.d.ts} +31 -93
  148. package/dist/{index-VdHQMPy1.d.ts → index-B1AmmSlb.d.ts} +1 -1
  149. package/dist/{index-VHqptjhu.d.cts → index-B2pwesl9.d.cts} +1 -1
  150. package/dist/index-BHvIquRZ.d.ts +1957 -0
  151. package/dist/{index-Dzk2hrlR.d.ts → index-BVHOrDwO.d.ts} +1 -1
  152. package/dist/{index-CxFrXH4m.d.ts → index-BWJV63ti.d.ts} +1 -1
  153. package/dist/{index-Xi3u0HCQ.d.cts → index-B_agccPe.d.cts} +1 -1
  154. package/dist/index-BgyGlizc.d.ts +163 -0
  155. package/dist/index-BpA5c4G9.d.ts +357 -0
  156. package/dist/index-BpIFjILY.d.cts +357 -0
  157. package/dist/{index-3lsddbbS.d.ts → index-Bqachn9_.d.ts} +1 -1
  158. package/dist/index-Btib9rsU.d.ts +607 -0
  159. package/dist/{index-wEn0eFe8.d.ts → index-BwM9BEkt.d.ts} +1 -1
  160. package/dist/index-BxJ86YZZ.d.cts +105 -0
  161. package/dist/{audit-DRlSzBu9.d.ts → index-C73n7lo-.d.cts} +27 -21
  162. package/dist/index-CEXXwWVH.d.cts +192 -0
  163. package/dist/index-CHEswufn.d.cts +163 -0
  164. package/dist/{index-C0svESO4.d.ts → index-CMn8S8Hw.d.ts} +1 -1
  165. package/dist/{index-ByQxazQJ.d.cts → index-CRO83MmV.d.cts} +1 -1
  166. package/dist/{index-BuEoe-Qu.d.ts → index-CloUk1kY.d.ts} +9 -9
  167. package/dist/index-CpgYhnrG.d.ts +291 -0
  168. package/dist/{index-DO_6JN9Z.d.cts → index-Cyojz0AE.d.cts} +1 -1
  169. package/dist/{demo-shell-BDkOptd6.d.ts → index-CzobVSMr.d.ts} +14 -14
  170. package/dist/index-Czq6ynh8.d.ts +143 -0
  171. package/dist/{index-BaSM3aYt.d.ts → index-D-YB-Vl3.d.ts} +3 -3
  172. package/dist/index-DAlweici.d.ts +231 -0
  173. package/dist/index-DEwTb_fm.d.cts +1957 -0
  174. package/dist/{index-DYme44FM.d.cts → index-DL-rYJrx.d.cts} +1 -1
  175. package/dist/{memory-li6FL5RM.d.ts → index-DP4ZTkdw.d.ts} +26 -26
  176. package/dist/{index-BwfLUNw4.d.ts → index-DUqMOlKZ.d.cts} +173 -2040
  177. package/dist/{index-B1tloyhO.d.cts → index-D_NwnRYS.d.cts} +1 -1
  178. package/dist/index-DaLJvH8Z.d.ts +105 -0
  179. package/dist/index-DcXZBF5a.d.cts +135 -0
  180. package/dist/index-DfyOkTvs.d.ts +321 -0
  181. package/dist/{index-B9B7_HEY.d.ts → index-DiOXyAwt.d.ts} +1 -1
  182. package/dist/index-DpHe5e0Q.d.ts +186 -0
  183. package/dist/index-DraikLjn.d.ts +86 -0
  184. package/dist/{index-D8wS_PeY.d.cts → index-DxsnAMWD.d.cts} +9 -9
  185. package/dist/{messaging-Gt4LPbyA.d.cts → index-DyxjtScX.d.cts} +31 -93
  186. package/dist/{audit-ClmqGOCx.d.cts → index-HDpJe9hX.d.ts} +27 -21
  187. package/dist/{index-DVGiGFGT.d.cts → index-O6TgGUBV.d.cts} +3 -3
  188. package/dist/{index-B6EhDnjH.d.cts → index-Oi8d8w4R.d.cts} +1 -1
  189. package/dist/{index-C8oil6M6.d.ts → index-ROpQmGjE.d.ts} +30 -6
  190. package/dist/index-RukJ4DLS.d.cts +607 -0
  191. package/dist/{index-BHlKbUwO.d.cts → index-ZftwfxJM.d.ts} +173 -2040
  192. package/dist/{index-BPVt8kqc.d.ts → index-cByzxQIC.d.cts} +10 -195
  193. package/dist/index-dtN7YA2x.d.cts +143 -0
  194. package/dist/{index-CI3DprxP.d.cts → index-fM6y00vT.d.cts} +30 -6
  195. package/dist/{index-DlLp-2Xn.d.cts → index-m-yHof5p.d.ts} +10 -195
  196. package/dist/index-pXrDMpRO.d.cts +231 -0
  197. package/dist/index-rHJSKsU8.d.cts +186 -0
  198. package/dist/index-rX8HBM5h.d.cts +321 -0
  199. package/dist/{index-CO8uBlUh.d.cts → index-rnwQly8X.d.cts} +147 -20
  200. package/dist/index-sm373fsH.d.ts +192 -0
  201. package/dist/{memory-C6Z2tGpC.d.cts → index-tbf2gKHd.d.cts} +26 -26
  202. package/dist/{demo-shell-Crid1WdR.d.cts → index-u15meRxL.d.cts} +14 -14
  203. package/dist/{index-B6D3QNSA.d.ts → index-umtoWT8K.d.ts} +147 -20
  204. package/dist/index-vscRDkjW.d.cts +86 -0
  205. package/dist/index.cjs +150 -24142
  206. package/dist/index.d.cts +69 -2099
  207. package/dist/index.d.ts +69 -2099
  208. package/dist/index.js +1 -3868
  209. package/dist/{meta-CbznRPYJ.d.ts → meta-Cgj6zeji.d.cts} +5 -5
  210. package/dist/{meta-BxCA7rcr.d.cts → meta-CwesDrMD.d.ts} +5 -5
  211. package/dist/{node-BmerH3kS.d.cts → node-Cc1TniY8.d.cts} +36 -9
  212. package/dist/{node-BmerH3kS.d.ts → node-Cc1TniY8.d.ts} +36 -9
  213. package/dist/{observable-BgGUwcqp.d.ts → observable-Ct-gJ9jI.d.ts} +1 -1
  214. package/dist/{observable-DJt_AxzQ.d.cts → observable-glXQoGj2.d.cts} +1 -1
  215. package/dist/patterns/ai/browser.cjs +25 -0
  216. package/dist/patterns/ai/browser.d.cts +127 -0
  217. package/dist/patterns/ai/browser.d.ts +127 -0
  218. package/dist/patterns/ai/browser.js +3 -0
  219. package/dist/patterns/ai/index.cjs +91 -0
  220. package/dist/patterns/ai/index.d.cts +17 -0
  221. package/dist/patterns/ai/index.d.ts +17 -0
  222. package/dist/patterns/ai/index.js +1 -0
  223. package/dist/patterns/ai/node.cjs +2 -0
  224. package/dist/patterns/ai/node.d.cts +58 -0
  225. package/dist/patterns/ai/node.d.ts +58 -0
  226. package/dist/patterns/ai/node.js +1 -0
  227. package/dist/patterns/audit/index.cjs +6 -0
  228. package/dist/patterns/audit/index.d.cts +6 -0
  229. package/dist/patterns/audit/index.d.ts +6 -0
  230. package/dist/patterns/audit/index.js +1 -0
  231. package/dist/patterns/cqrs/index.cjs +6 -0
  232. package/dist/patterns/cqrs/index.d.cts +5 -0
  233. package/dist/patterns/cqrs/index.d.ts +5 -0
  234. package/dist/patterns/cqrs/index.js +1 -0
  235. package/dist/patterns/demo-shell/index.cjs +7 -0
  236. package/dist/patterns/demo-shell/index.d.cts +6 -0
  237. package/dist/patterns/demo-shell/index.d.ts +6 -0
  238. package/dist/patterns/demo-shell/index.js +1 -0
  239. package/dist/patterns/domain-templates/index.cjs +6 -0
  240. package/dist/patterns/domain-templates/index.d.cts +5 -0
  241. package/dist/patterns/domain-templates/index.d.ts +5 -0
  242. package/dist/patterns/domain-templates/index.js +1 -0
  243. package/dist/patterns/graphspec/index.cjs +83 -0
  244. package/dist/patterns/graphspec/index.d.cts +7 -0
  245. package/dist/patterns/graphspec/index.d.ts +7 -0
  246. package/dist/patterns/graphspec/index.js +1 -0
  247. package/dist/patterns/guarded-execution/index.cjs +6 -0
  248. package/dist/patterns/guarded-execution/index.d.cts +7 -0
  249. package/dist/patterns/guarded-execution/index.d.ts +7 -0
  250. package/dist/patterns/guarded-execution/index.js +1 -0
  251. package/dist/patterns/harness/index.cjs +48 -0
  252. package/dist/patterns/harness/index.d.cts +8 -0
  253. package/dist/patterns/harness/index.d.ts +8 -0
  254. package/dist/patterns/harness/index.js +1 -0
  255. package/dist/patterns/job-queue/index.cjs +6 -0
  256. package/dist/patterns/job-queue/index.d.cts +5 -0
  257. package/dist/patterns/job-queue/index.d.ts +5 -0
  258. package/dist/patterns/job-queue/index.js +1 -0
  259. package/dist/patterns/lens/index.cjs +6 -0
  260. package/dist/patterns/lens/index.d.cts +7 -0
  261. package/dist/patterns/lens/index.d.ts +7 -0
  262. package/dist/patterns/lens/index.js +1 -0
  263. package/dist/patterns/memory/index.cjs +6 -0
  264. package/dist/patterns/memory/index.d.cts +5 -0
  265. package/dist/patterns/memory/index.d.ts +5 -0
  266. package/dist/patterns/memory/index.js +1 -0
  267. package/dist/patterns/messaging/index.cjs +6 -0
  268. package/dist/patterns/messaging/index.d.cts +5 -0
  269. package/dist/patterns/messaging/index.d.ts +5 -0
  270. package/dist/patterns/messaging/index.js +1 -0
  271. package/dist/patterns/orchestration/index.cjs +6 -0
  272. package/dist/patterns/orchestration/index.d.cts +6 -0
  273. package/dist/patterns/orchestration/index.d.ts +6 -0
  274. package/dist/patterns/orchestration/index.js +1 -0
  275. package/dist/patterns/reactive-layout/index.cjs +7 -6444
  276. package/dist/patterns/reactive-layout/index.d.cts +6 -6
  277. package/dist/patterns/reactive-layout/index.d.ts +6 -6
  278. package/dist/patterns/reactive-layout/index.js +1 -56
  279. package/dist/patterns/reduction/index.cjs +6 -0
  280. package/dist/patterns/reduction/index.d.cts +5 -0
  281. package/dist/patterns/reduction/index.d.ts +5 -0
  282. package/dist/patterns/reduction/index.js +1 -0
  283. package/dist/patterns/refine-loop/index.cjs +8 -0
  284. package/dist/patterns/refine-loop/index.d.cts +7 -0
  285. package/dist/patterns/refine-loop/index.d.ts +7 -0
  286. package/dist/patterns/refine-loop/index.js +1 -0
  287. package/dist/patterns/resilient-pipeline/index.cjs +1 -0
  288. package/dist/patterns/resilient-pipeline/index.d.cts +7 -0
  289. package/dist/patterns/resilient-pipeline/index.d.ts +7 -0
  290. package/dist/patterns/resilient-pipeline/index.js +1 -0
  291. package/dist/patterns/surface/index.cjs +14 -0
  292. package/dist/patterns/surface/index.d.cts +8 -0
  293. package/dist/patterns/surface/index.d.ts +8 -0
  294. package/dist/patterns/surface/index.js +1 -0
  295. package/dist/{reactive-layout-MQP--J3F.d.cts → reactive-layout-CpYb5qLP.d.cts} +2 -2
  296. package/dist/{reactive-layout-u5Ulnqag.d.ts → reactive-layout-D8u4wuUR.d.ts} +2 -2
  297. package/dist/reactive-log-DPzuUDj5.d.cts +190 -0
  298. package/dist/reactive-log-YuH9VYN8.d.ts +190 -0
  299. package/dist/{composite-aUCvjZVR.d.ts → reactive-map-CdbNoSgP.d.ts} +2 -67
  300. package/dist/{composite-C7PcQvcs.d.cts → reactive-map-DUeRmb9d.d.cts} +2 -67
  301. package/dist/resilience-Ba5-b4WD.d.cts +493 -0
  302. package/dist/resilience-CGRzhnD3.d.ts +493 -0
  303. package/dist/resilience-QAHKANT5.js +1 -0
  304. package/dist/{sugar-D02n5JjF.d.cts → sugar-BV0htudb.d.cts} +8 -4
  305. package/dist/{sugar-CCOxXK1e.d.ts → sugar-Dtyrq2_q.d.ts} +8 -4
  306. package/dist/topology-tree-CYHOwQZ_.d.ts +25 -0
  307. package/dist/topology-tree-DROUdq5B.d.cts +25 -0
  308. package/dist/types-O3GzJY2U.d.cts +401 -0
  309. package/dist/types-u64Ose53.d.ts +401 -0
  310. package/package.json +252 -22
  311. package/dist/ai-CaR_912Q.d.cts +0 -1033
  312. package/dist/ai-WlRltJV7.d.ts +0 -1033
  313. package/dist/chunk-3ZWCKRHX.js +0 -117
  314. package/dist/chunk-3ZWCKRHX.js.map +0 -1
  315. package/dist/chunk-7TAQJHQV.js +0 -103
  316. package/dist/chunk-7TAQJHQV.js.map +0 -1
  317. package/dist/chunk-APFNLIRG.js +0 -62
  318. package/dist/chunk-APFNLIRG.js.map +0 -1
  319. package/dist/chunk-AT5LKYNL.js +0 -395
  320. package/dist/chunk-AT5LKYNL.js.map +0 -1
  321. package/dist/chunk-BQ6RQQFF.js +0 -5087
  322. package/dist/chunk-BQ6RQQFF.js.map +0 -1
  323. package/dist/chunk-BVZYTZ5H.js +0 -599
  324. package/dist/chunk-BVZYTZ5H.js.map +0 -1
  325. package/dist/chunk-DST5DKZS.js +0 -1371
  326. package/dist/chunk-DST5DKZS.js.map +0 -1
  327. package/dist/chunk-GTE6PWRZ.js +0 -866
  328. package/dist/chunk-GTE6PWRZ.js.map +0 -1
  329. package/dist/chunk-HXZEYDUR.js +0 -94
  330. package/dist/chunk-HXZEYDUR.js.map +0 -1
  331. package/dist/chunk-J22W6HV3.js +0 -107
  332. package/dist/chunk-J22W6HV3.js.map +0 -1
  333. package/dist/chunk-J2VBW3DZ.js +0 -302
  334. package/dist/chunk-J2VBW3DZ.js.map +0 -1
  335. package/dist/chunk-JSCT3CR4.js +0 -38
  336. package/dist/chunk-JSCT3CR4.js.map +0 -1
  337. package/dist/chunk-JWBCY4NC.js +0 -330
  338. package/dist/chunk-JWBCY4NC.js.map +0 -1
  339. package/dist/chunk-K2AUJHVP.js +0 -2251
  340. package/dist/chunk-K2AUJHVP.js.map +0 -1
  341. package/dist/chunk-MJ2NKQQL.js +0 -119
  342. package/dist/chunk-MJ2NKQQL.js.map +0 -1
  343. package/dist/chunk-N6UR7YVY.js +0 -198
  344. package/dist/chunk-N6UR7YVY.js.map +0 -1
  345. package/dist/chunk-NC6S43JJ.js +0 -456
  346. package/dist/chunk-NC6S43JJ.js.map +0 -1
  347. package/dist/chunk-OFVJBJXR.js +0 -98
  348. package/dist/chunk-OFVJBJXR.js.map +0 -1
  349. package/dist/chunk-OHISZPOJ.js +0 -97
  350. package/dist/chunk-OHISZPOJ.js.map +0 -1
  351. package/dist/chunk-OU5CQKNW.js +0 -102
  352. package/dist/chunk-OU5CQKNW.js.map +0 -1
  353. package/dist/chunk-PF7GRZMW.js +0 -2712
  354. package/dist/chunk-PF7GRZMW.js.map +0 -1
  355. package/dist/chunk-PHOUUNK7.js +0 -2291
  356. package/dist/chunk-PHOUUNK7.js.map +0 -1
  357. package/dist/chunk-RNHBMHKA.js +0 -1665
  358. package/dist/chunk-RNHBMHKA.js.map +0 -1
  359. package/dist/chunk-SX52TAR4.js +0 -110
  360. package/dist/chunk-SX52TAR4.js.map +0 -1
  361. package/dist/chunk-VYPWMZ6H.js +0 -98
  362. package/dist/chunk-VYPWMZ6H.js.map +0 -1
  363. package/dist/chunk-WBZOVTYK.js +0 -171
  364. package/dist/chunk-WBZOVTYK.js.map +0 -1
  365. package/dist/chunk-WKNUIZOY.js +0 -354
  366. package/dist/chunk-WKNUIZOY.js.map +0 -1
  367. package/dist/chunk-X3VMZYBT.js +0 -713
  368. package/dist/chunk-X3VMZYBT.js.map +0 -1
  369. package/dist/chunk-X5R3GL6H.js +0 -525
  370. package/dist/chunk-X5R3GL6H.js.map +0 -1
  371. package/dist/chunk-XGPU467M.js +0 -136
  372. package/dist/chunk-XGPU467M.js.map +0 -1
  373. package/dist/compat/index.cjs.map +0 -1
  374. package/dist/compat/index.js.map +0 -1
  375. package/dist/compat/jotai/index.cjs.map +0 -1
  376. package/dist/compat/jotai/index.js.map +0 -1
  377. package/dist/compat/nanostores/index.cjs.map +0 -1
  378. package/dist/compat/nanostores/index.js.map +0 -1
  379. package/dist/compat/nestjs/index.cjs.map +0 -1
  380. package/dist/compat/nestjs/index.js.map +0 -1
  381. package/dist/compat/react/index.cjs.map +0 -1
  382. package/dist/compat/react/index.js.map +0 -1
  383. package/dist/compat/solid/index.cjs.map +0 -1
  384. package/dist/compat/solid/index.js.map +0 -1
  385. package/dist/compat/svelte/index.cjs.map +0 -1
  386. package/dist/compat/svelte/index.js.map +0 -1
  387. package/dist/compat/vue/index.cjs.map +0 -1
  388. package/dist/compat/vue/index.js.map +0 -1
  389. package/dist/compat/zustand/index.cjs.map +0 -1
  390. package/dist/compat/zustand/index.js.map +0 -1
  391. package/dist/core/index.cjs.map +0 -1
  392. package/dist/core/index.js.map +0 -1
  393. package/dist/extra/index.cjs.map +0 -1
  394. package/dist/extra/index.js.map +0 -1
  395. package/dist/extra/sources.cjs.map +0 -1
  396. package/dist/extra/sources.js.map +0 -1
  397. package/dist/graph/index.cjs.map +0 -1
  398. package/dist/graph/index.js.map +0 -1
  399. package/dist/index.cjs.map +0 -1
  400. package/dist/index.js.map +0 -1
  401. package/dist/patterns/ai.cjs +0 -7930
  402. package/dist/patterns/ai.cjs.map +0 -1
  403. package/dist/patterns/ai.d.cts +0 -10
  404. package/dist/patterns/ai.d.ts +0 -10
  405. package/dist/patterns/ai.js +0 -71
  406. package/dist/patterns/ai.js.map +0 -1
  407. package/dist/patterns/audit.cjs +0 -5805
  408. package/dist/patterns/audit.cjs.map +0 -1
  409. package/dist/patterns/audit.d.cts +0 -6
  410. package/dist/patterns/audit.d.ts +0 -6
  411. package/dist/patterns/audit.js +0 -29
  412. package/dist/patterns/audit.js.map +0 -1
  413. package/dist/patterns/demo-shell.cjs +0 -5604
  414. package/dist/patterns/demo-shell.cjs.map +0 -1
  415. package/dist/patterns/demo-shell.d.cts +0 -6
  416. package/dist/patterns/demo-shell.d.ts +0 -6
  417. package/dist/patterns/demo-shell.js +0 -15
  418. package/dist/patterns/demo-shell.js.map +0 -1
  419. package/dist/patterns/memory.cjs +0 -5283
  420. package/dist/patterns/memory.cjs.map +0 -1
  421. package/dist/patterns/memory.d.cts +0 -5
  422. package/dist/patterns/memory.d.ts +0 -5
  423. package/dist/patterns/memory.js +0 -20
  424. package/dist/patterns/memory.js.map +0 -1
  425. package/dist/patterns/reactive-layout/index.cjs.map +0 -1
  426. package/dist/patterns/reactive-layout/index.js.map +0 -1
  427. package/dist/storage-CMjUUuxn.d.ts +0 -190
  428. package/dist/storage-DdWlZo6U.d.cts +0 -190
@@ -0,0 +1,105 @@
1
+ import { a as Node } from './node-Cc1TniY8.cjs';
2
+ import { S as StatusValue, C as CircuitState, R as RateLimiterOptions, a as CircuitBreakerOptions, b as RetryOptions, F as FallbackInput, N as NS_PER_MS, c as NS_PER_SEC } from './resilience-Ba5-b4WD.cjs';
3
+ import { B as BudgetConstraint } from './index-rHJSKsU8.cjs';
4
+
5
+ /**
6
+ * Resilience composition with correct nesting order (roadmap §9.0b).
7
+ *
8
+ * {@link resilientPipeline} composes the resilience primitives from
9
+ * `extra/resilience.ts` in the order discovered during the §9.1 eval runs:
10
+ *
11
+ * ```text
12
+ * rateLimit → budget → breaker → timeout → retry → fallback → status
13
+ * ```
14
+ *
15
+ * Note on retry/timeout ordering: `timeout` is applied BEFORE `retry` so each
16
+ * retry attempt resubscribes to a fresh deadline (per-attempt semantics). If
17
+ * `timeout` wrapped `retry`, a single deadline would apply to the entire
18
+ * retry chain — not what callers expect.
19
+ *
20
+ * Every step is optional — omit the option and that layer is skipped. The
21
+ * returned bundle exposes the final `Node<T>` plus the status/error/breaker
22
+ * companions so callers can wire them into dashboards, alerts, or
23
+ * {@link graphLens}.
24
+ *
25
+ * Subsumes the pre-1.0 `resilientFetch` template — that template becomes a
26
+ * preconfigured instance of this factory for the HTTP fetch case.
27
+ *
28
+ * @module
29
+ */
30
+
31
+ /** Options for {@link resilientPipeline}. Every field is optional — omit to skip that layer. */
32
+ interface ResilientPipelineOptions<T> {
33
+ /** Admission control — at most `maxEvents` DATA per `windowNs`. See {@link rateLimiter}. */
34
+ rateLimit?: RateLimiterOptions;
35
+ /** Cost/constraint gate. See {@link budgetGate}. */
36
+ budget?: ReadonlyArray<BudgetConstraint>;
37
+ /** Circuit breaker — fail-fast when the downstream resource is unhealthy. See {@link circuitBreaker}. */
38
+ breaker?: CircuitBreakerOptions;
39
+ /**
40
+ * Behavior when the breaker is open:
41
+ * - `"skip"` — emit RESOLVED (default, lets downstream drop the beat)
42
+ * - `"error"` — emit a `CircuitOpenError` so `retry`/`fallback` can react
43
+ *
44
+ * Only used when `breaker` is provided.
45
+ */
46
+ breakerOnOpen?: "skip" | "error";
47
+ /** Retry policy on terminal ERROR. See {@link retry}. */
48
+ retry?: RetryOptions;
49
+ /**
50
+ * Per-attempt deadline in milliseconds. Converted to ns internally. Omit to skip the timeout wrap.
51
+ *
52
+ * Specified in ms (not ns) because callers consistently think in millisecond deadlines;
53
+ * retry/breaker/ratelimit options take ns to match their primitives exactly.
54
+ */
55
+ timeoutMs?: number;
56
+ /** Final fallback value emitted on terminal ERROR after retry exhausts. See {@link fallback}. */
57
+ fallback?: FallbackInput<T>;
58
+ /** Initial status reported by the status node. Default `"pending"`. */
59
+ initialStatus?: StatusValue;
60
+ }
61
+ /** Output bundle of {@link resilientPipeline}. */
62
+ interface ResilientPipelineBundle<T> {
63
+ /** The final resilient node. Subscribe to this for DATA emissions. */
64
+ node: Node<T>;
65
+ /** Live status: `"pending" | "active" | "completed" | "errored"`. */
66
+ status: Node<StatusValue>;
67
+ /** Last error payload, or `null` when not errored. */
68
+ error: Node<unknown | null>;
69
+ /** Breaker state when `opts.breaker` was provided; `undefined` otherwise. */
70
+ breakerState: Node<CircuitState> | undefined;
71
+ }
72
+ /**
73
+ * Compose a resilient pipeline around `source` in the canonical nesting
74
+ * order — `rateLimit → budget → breaker → timeout → retry → fallback → status`.
75
+ * Omit any option to skip that layer.
76
+ *
77
+ * @param source - Upstream node to wrap.
78
+ * @param opts - See {@link ResilientPipelineOptions}. All fields optional.
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * const safeFetch = resilientPipeline(fetchNode, {
83
+ * rateLimit: { maxEvents: 10, windowNs: NS_PER_SEC },
84
+ * breaker: { failureThreshold: 5 },
85
+ * retry: { count: 3, backoff: "exponential" },
86
+ * timeoutMs: 10_000,
87
+ * fallback: null,
88
+ * });
89
+ * safeFetch.status.subscribe(msgs => console.log(msgs));
90
+ * ```
91
+ *
92
+ * @category patterns
93
+ */
94
+ declare function resilientPipeline<T>(source: Node<T>, opts?: ResilientPipelineOptions<T>): ResilientPipelineBundle<T>;
95
+
96
+ declare const index_NS_PER_MS: typeof NS_PER_MS;
97
+ declare const index_NS_PER_SEC: typeof NS_PER_SEC;
98
+ type index_ResilientPipelineBundle<T> = ResilientPipelineBundle<T>;
99
+ type index_ResilientPipelineOptions<T> = ResilientPipelineOptions<T>;
100
+ declare const index_resilientPipeline: typeof resilientPipeline;
101
+ declare namespace index {
102
+ export { index_NS_PER_MS as NS_PER_MS, index_NS_PER_SEC as NS_PER_SEC, type index_ResilientPipelineBundle as ResilientPipelineBundle, type index_ResilientPipelineOptions as ResilientPipelineOptions, index_resilientPipeline as resilientPipeline };
103
+ }
104
+
105
+ export { type ResilientPipelineBundle as R, type ResilientPipelineOptions as a, index as i, resilientPipeline as r };
@@ -1,6 +1,6 @@
1
- import { A as Actor, N as Node, P as PolicyRuleData, k as GuardAction } from './node-BmerH3kS.js';
2
- import { a as Graph, G as GraphOptions, s as GraphPersistSnapshot, C as CausalChain } from './graph-CCwGKLCm.js';
3
- import { T as TopicGraph } from './messaging-XDoYablx.js';
1
+ import { A as Actor, a as Node, P as PolicyRuleData, G as GuardAction } from './node-Cc1TniY8.cjs';
2
+ import { G as Graph, a as GraphOptions, d as GraphPersistSnapshot, C as CausalChain } from './graph-D48Qw9Cg.cjs';
3
+ import { T as TopicGraph } from './index-DyxjtScX.cjs';
4
4
 
5
5
  /**
6
6
  * Audit, policy enforcement, and compliance export (roadmap §9.2).
@@ -29,7 +29,7 @@ interface AuditEntry {
29
29
  actor?: Actor;
30
30
  value?: unknown;
31
31
  error?: unknown;
32
- reason?: string;
32
+ annotation?: string;
33
33
  }
34
34
  /** Options for {@link auditTrail}. */
35
35
  interface AuditTrailOptions {
@@ -170,6 +170,12 @@ declare function policyEnforcer(target: Graph, policies: readonly PolicyRuleData
170
170
  * `data`, `error`, `complete`, and `teardown` bump the version (matching the
171
171
  * audit defaults).
172
172
  */
173
+ /**
174
+ * @deprecated Use `graph.explain(from, to, { reactive: true, ... })` directly.
175
+ * This free-function wrapper now dispatches to the consolidated
176
+ * {@link Graph.explain} overload for mental-model consistency with
177
+ * `describe` / `observe`. Will be removed pre-1.0.
178
+ */
173
179
  declare function reactiveExplainPath(target: Graph, from: string, to: string, opts?: {
174
180
  maxDepth?: number;
175
181
  name?: string;
@@ -224,22 +230,22 @@ interface ComplianceSnapshotResult {
224
230
  */
225
231
  declare function complianceSnapshot(target: Graph, opts?: ComplianceSnapshotOptions): ComplianceSnapshotResult;
226
232
 
227
- type audit_AuditEntry = AuditEntry;
228
- type audit_AuditTrailGraph = AuditTrailGraph;
229
- declare const audit_AuditTrailGraph: typeof AuditTrailGraph;
230
- type audit_AuditTrailOptions = AuditTrailOptions;
231
- type audit_ComplianceSnapshotOptions = ComplianceSnapshotOptions;
232
- type audit_ComplianceSnapshotResult = ComplianceSnapshotResult;
233
- type audit_PolicyEnforcerGraph = PolicyEnforcerGraph;
234
- declare const audit_PolicyEnforcerGraph: typeof PolicyEnforcerGraph;
235
- type audit_PolicyEnforcerOptions = PolicyEnforcerOptions;
236
- type audit_PolicyViolation = PolicyViolation;
237
- declare const audit_auditTrail: typeof auditTrail;
238
- declare const audit_complianceSnapshot: typeof complianceSnapshot;
239
- declare const audit_policyEnforcer: typeof policyEnforcer;
240
- declare const audit_reactiveExplainPath: typeof reactiveExplainPath;
241
- declare namespace audit {
242
- export { type audit_AuditEntry as AuditEntry, audit_AuditTrailGraph as AuditTrailGraph, type audit_AuditTrailOptions as AuditTrailOptions, type audit_ComplianceSnapshotOptions as ComplianceSnapshotOptions, type audit_ComplianceSnapshotResult as ComplianceSnapshotResult, audit_PolicyEnforcerGraph as PolicyEnforcerGraph, type audit_PolicyEnforcerOptions as PolicyEnforcerOptions, type audit_PolicyViolation as PolicyViolation, audit_auditTrail as auditTrail, audit_complianceSnapshot as complianceSnapshot, audit_policyEnforcer as policyEnforcer, audit_reactiveExplainPath as reactiveExplainPath };
233
+ type index_AuditEntry = AuditEntry;
234
+ type index_AuditTrailGraph = AuditTrailGraph;
235
+ declare const index_AuditTrailGraph: typeof AuditTrailGraph;
236
+ type index_AuditTrailOptions = AuditTrailOptions;
237
+ type index_ComplianceSnapshotOptions = ComplianceSnapshotOptions;
238
+ type index_ComplianceSnapshotResult = ComplianceSnapshotResult;
239
+ type index_PolicyEnforcerGraph = PolicyEnforcerGraph;
240
+ declare const index_PolicyEnforcerGraph: typeof PolicyEnforcerGraph;
241
+ type index_PolicyEnforcerOptions = PolicyEnforcerOptions;
242
+ type index_PolicyViolation = PolicyViolation;
243
+ declare const index_auditTrail: typeof auditTrail;
244
+ declare const index_complianceSnapshot: typeof complianceSnapshot;
245
+ declare const index_policyEnforcer: typeof policyEnforcer;
246
+ declare const index_reactiveExplainPath: typeof reactiveExplainPath;
247
+ declare namespace index {
248
+ export { type index_AuditEntry as AuditEntry, index_AuditTrailGraph as AuditTrailGraph, type index_AuditTrailOptions as AuditTrailOptions, type index_ComplianceSnapshotOptions as ComplianceSnapshotOptions, type index_ComplianceSnapshotResult as ComplianceSnapshotResult, index_PolicyEnforcerGraph as PolicyEnforcerGraph, type index_PolicyEnforcerOptions as PolicyEnforcerOptions, type index_PolicyViolation as PolicyViolation, index_auditTrail as auditTrail, index_complianceSnapshot as complianceSnapshot, index_policyEnforcer as policyEnforcer, index_reactiveExplainPath as reactiveExplainPath };
243
249
  }
244
250
 
245
- export { type AuditEntry as A, type ComplianceSnapshotOptions as C, PolicyEnforcerGraph as P, type PolicyViolation as a, audit as b, AuditTrailGraph as c, type AuditTrailOptions as d, type ComplianceSnapshotResult as e, type PolicyEnforcerOptions as f, auditTrail as g, complianceSnapshot as h, policyEnforcer as p, reactiveExplainPath as r };
251
+ export { type AuditEntry as A, type ComplianceSnapshotOptions as C, PolicyEnforcerGraph as P, type PolicyViolation as a, AuditTrailGraph as b, type AuditTrailOptions as c, type ComplianceSnapshotResult as d, type PolicyEnforcerOptions as e, auditTrail as f, complianceSnapshot as g, index as i, policyEnforcer as p, reactiveExplainPath as r };
@@ -0,0 +1,192 @@
1
+ import { a as Node } from './node-Cc1TniY8.cjs';
2
+ import { a as GraphOptions, G as Graph } from './graph-D48Qw9Cg.cjs';
3
+
4
+ /**
5
+ * CQRS patterns (roadmap §4.5).
6
+ *
7
+ * Composition layer over reactiveLog (3.2), pipeline/sagas (4.1), event bus (4.2),
8
+ * projections (4.3). Guards (1.5) enforce command/query boundary.
9
+ *
10
+ * - `cqrs(name, opts?)` → `CqrsGraph` — top-level factory
11
+ * - `CqrsGraph.command(name, handler)` — write-only node; guard rejects `observe`
12
+ * - `CqrsGraph.event(name)` — backed by `reactiveLog`; append-only
13
+ * - `CqrsGraph.projection(name, events, reducer, initial)` — read-only derived; guard rejects `write`
14
+ * - `CqrsGraph.saga(name, events, handler)` — event-driven side effects
15
+ */
16
+
17
+ /**
18
+ * Immutable envelope for events emitted by command handlers.
19
+ *
20
+ * `seq` is a per-graph monotonic counter that provides stable ordering when
21
+ * multiple events share the same `timestampNs` (same wall-clock tick).
22
+ */
23
+ type CqrsEvent<T = unknown> = {
24
+ type: string;
25
+ payload: T;
26
+ /** Wall-clock nanoseconds (via `wallClockNs()`). */
27
+ timestampNs: number;
28
+ /** Monotonic sequence within this CqrsGraph instance. */
29
+ seq: number;
30
+ /** V0 identity of the event log node at append time (§6.0b). */
31
+ v0?: {
32
+ id: string;
33
+ version: number;
34
+ };
35
+ };
36
+ /**
37
+ * Opaque replay cursor returned by `loadEvents`. Pass it back to
38
+ * `loadEvents` to resume from the last position.
39
+ */
40
+ type EventStoreCursor = {
41
+ readonly __brand?: "EventStoreCursor";
42
+ [key: string]: unknown;
43
+ };
44
+ /**
45
+ * Result of `loadEvents` — events plus an opaque cursor for resumption.
46
+ */
47
+ type LoadEventsResult = {
48
+ events: CqrsEvent[];
49
+ cursor: EventStoreCursor | undefined;
50
+ };
51
+ /**
52
+ * Pluggable persistence for CQRS events.
53
+ *
54
+ * **`persist`:** Must be synchronous. Called from the dispatch path inside
55
+ * `batch()`. Adapters that need async I/O should buffer internally and
56
+ * expose a `flush()` method for explicit drain.
57
+ */
58
+ interface EventStoreAdapter {
59
+ persist(event: CqrsEvent): void;
60
+ /**
61
+ * Load persisted events. When `cursor` is provided, returns only events
62
+ * after that position. The returned `cursor` should be passed to the next
63
+ * `loadEvents` call for incremental replay.
64
+ */
65
+ loadEvents(eventType: string, cursor?: EventStoreCursor): LoadEventsResult | Promise<LoadEventsResult>;
66
+ /** Optional explicit flush for adapters with async I/O. */
67
+ flush?(): Promise<void>;
68
+ }
69
+ declare class MemoryEventStore implements EventStoreAdapter {
70
+ private readonly _store;
71
+ persist(event: CqrsEvent): void;
72
+ loadEvents(eventType: string, cursor?: EventStoreCursor): LoadEventsResult;
73
+ clear(): void;
74
+ }
75
+ type CommandActions = {
76
+ /** Append an event to a named event log (bypasses event guard). */
77
+ emit: (eventName: string, payload: unknown) => void;
78
+ };
79
+ /**
80
+ * Command handler receives the dispatch payload and actions to emit events.
81
+ *
82
+ * **Purity:** Handlers should not mutate the payload. Event emission via
83
+ * `actions.emit()` is the only sanctioned side effect.
84
+ */
85
+ type CommandHandler<T = unknown> = (payload: T, actions: CommandActions) => void;
86
+ /**
87
+ * Projection reducer folds events into a read model.
88
+ *
89
+ * **Purity contract:** Reducers MUST be pure — return a new state value
90
+ * without mutating `state` or any event. The `state` parameter is the
91
+ * original `initial` value on every invocation (full event-sourcing replay),
92
+ * so mutation would corrupt future recomputations.
93
+ */
94
+ type ProjectionReducer<TState = unknown, TEvent = unknown> = (state: TState, events: readonly CqrsEvent<TEvent>[]) => TState;
95
+ type SagaHandler<T = unknown> = (event: CqrsEvent<T>) => void;
96
+ type CqrsOptions = {
97
+ graph?: GraphOptions;
98
+ };
99
+ declare class CqrsGraph extends Graph {
100
+ private readonly _eventLogs;
101
+ private readonly _commandHandlers;
102
+ private readonly _projections;
103
+ private readonly _sagas;
104
+ private readonly _keepaliveDisposers;
105
+ private _eventStore;
106
+ private _seq;
107
+ constructor(name: string, opts?: CqrsOptions);
108
+ destroy(): void;
109
+ /**
110
+ * Register a named event stream backed by `reactiveLog`.
111
+ * Guard denies external `write` — only commands append internally.
112
+ */
113
+ event(name: string): Node<readonly CqrsEvent[]>;
114
+ /** Internal: append to an event log, auto-registering if needed. */
115
+ private _appendEvent;
116
+ /**
117
+ * Register a command with its handler. Guard denies `observe` (write-only).
118
+ * Use `dispatch(name, payload)` to execute.
119
+ *
120
+ * The command node carries dynamic `meta.error` — a reactive companion
121
+ * that holds the last handler error (or `null` on success).
122
+ */
123
+ command<T = unknown>(name: string, handler: CommandHandler<T>): Node<T>;
124
+ /**
125
+ * Execute a registered command. Wraps the entire dispatch in `batch()` so
126
+ * the command node DATA and all emitted events settle atomically.
127
+ *
128
+ * If the handler throws, `meta.error` on the command node is set to the
129
+ * error and the exception is re-thrown.
130
+ */
131
+ dispatch<T = unknown>(commandName: string, payload: T): void;
132
+ /**
133
+ * Register a read-only projection derived from event streams.
134
+ * Guard denies `write` — value is computed from events only.
135
+ *
136
+ * **Purity contract:** The `reducer` must be a pure function — it receives
137
+ * the original `initial` on every invocation (full event-sourcing replay).
138
+ * Never mutate `initial`; always return a new value.
139
+ */
140
+ projection<TState>(name: string, eventNames: readonly string[], reducer: ProjectionReducer<TState>, initial: TState): Node<TState>;
141
+ /**
142
+ * Register an event-driven side effect. Runs handler for each **new** event
143
+ * from the specified streams (tracks last-processed entry count per stream).
144
+ *
145
+ * The saga node carries dynamic `meta.error` — a reactive companion that
146
+ * holds the last handler error (or `null` on success). Handler errors do
147
+ * not propagate out of the saga run (the event cursor still advances so
148
+ * the same entry is not delivered twice).
149
+ */
150
+ saga<T = unknown>(name: string, eventNames: readonly string[], handler: SagaHandler<T>): Node<unknown>;
151
+ useEventStore(adapter: EventStoreAdapter): void;
152
+ /**
153
+ * Replay persisted events through a reducer to rebuild a read model.
154
+ * Requires an event store adapter wired via `useEventStore()`.
155
+ */
156
+ rebuildProjection<TState>(eventNames: readonly string[], reducer: ProjectionReducer<TState>, initial: TState): Promise<TState>;
157
+ }
158
+ /**
159
+ * Create a CQRS graph container.
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * const app = cqrs("orders");
164
+ * app.event("orderPlaced");
165
+ * app.command("placeOrder", (payload, { emit }) => {
166
+ * emit("orderPlaced", { orderId: payload.id, amount: payload.amount });
167
+ * });
168
+ * app.projection("orderCount", ["orderPlaced"], (_s, events) => events.length, 0);
169
+ * app.dispatch("placeOrder", { id: "1", amount: 100 });
170
+ * ```
171
+ */
172
+ declare function cqrs(name: string, opts?: CqrsOptions): CqrsGraph;
173
+
174
+ type index_CommandActions = CommandActions;
175
+ type index_CommandHandler<T = unknown> = CommandHandler<T>;
176
+ type index_CqrsEvent<T = unknown> = CqrsEvent<T>;
177
+ type index_CqrsGraph = CqrsGraph;
178
+ declare const index_CqrsGraph: typeof CqrsGraph;
179
+ type index_CqrsOptions = CqrsOptions;
180
+ type index_EventStoreAdapter = EventStoreAdapter;
181
+ type index_EventStoreCursor = EventStoreCursor;
182
+ type index_LoadEventsResult = LoadEventsResult;
183
+ type index_MemoryEventStore = MemoryEventStore;
184
+ declare const index_MemoryEventStore: typeof MemoryEventStore;
185
+ type index_ProjectionReducer<TState = unknown, TEvent = unknown> = ProjectionReducer<TState, TEvent>;
186
+ type index_SagaHandler<T = unknown> = SagaHandler<T>;
187
+ declare const index_cqrs: typeof cqrs;
188
+ declare namespace index {
189
+ export { type index_CommandActions as CommandActions, type index_CommandHandler as CommandHandler, type index_CqrsEvent as CqrsEvent, index_CqrsGraph as CqrsGraph, type index_CqrsOptions as CqrsOptions, type index_EventStoreAdapter as EventStoreAdapter, type index_EventStoreCursor as EventStoreCursor, type index_LoadEventsResult as LoadEventsResult, index_MemoryEventStore as MemoryEventStore, type index_ProjectionReducer as ProjectionReducer, type index_SagaHandler as SagaHandler, index_cqrs as cqrs };
190
+ }
191
+
192
+ export { type CqrsOptions as C, type EventStoreAdapter as E, type LoadEventsResult as L, MemoryEventStore as M, type ProjectionReducer as P, type SagaHandler as S, CqrsGraph as a, type CommandActions as b, type CommandHandler as c, type CqrsEvent as d, type EventStoreCursor as e, cqrs as f, index as i };
@@ -0,0 +1,163 @@
1
+ import { a as Node } from './node-Cc1TniY8.cjs';
2
+ import { R as ReactiveMapBundle } from './reactive-map-DUeRmb9d.cjs';
3
+ import { a as GraphOptions, G as Graph, C as CausalChain } from './graph-D48Qw9Cg.cjs';
4
+ import { w as watchTopologyTree } from './topology-tree-DROUdq5B.cjs';
5
+
6
+ /** Aggregate topology stats emitted by {@link LensGraph.stats}. */
7
+ interface TopologyStats {
8
+ /** Total primary nodes across this graph and all transitively mounted subgraphs. */
9
+ nodeCount: number;
10
+ /** Total directed edges (derived from deps; no duplicates). */
11
+ edgeCount: number;
12
+ /** Count of mounted subgraphs (transitive). */
13
+ subgraphCount: number;
14
+ /** Qualified paths with no upstream deps (source nodes). Sorted. */
15
+ sources: readonly string[];
16
+ /** Qualified paths with no downstream consumers in-graph (sink nodes). Sorted. */
17
+ sinks: readonly string[];
18
+ /** Longest path from any source to any sink (in edges). `0` for empty graphs. */
19
+ depth: number;
20
+ /** `true` if the dep DAG contains a cycle (feedback edge). */
21
+ hasCycles: boolean;
22
+ }
23
+ /** A single health problem entry. */
24
+ interface HealthProblem {
25
+ path: string;
26
+ /** V1 only reports `"errored"`. Future versions may add `"completed"`, `"disconnected"`. */
27
+ status: "errored";
28
+ /** First errored upstream ancestor along the dep chain, when one exists and is distinct from `path`. */
29
+ upstreamCause?: string;
30
+ }
31
+ /** Aggregate health snapshot. `ok=true` iff `problems.length === 0`. */
32
+ interface HealthReport {
33
+ ok: boolean;
34
+ problems: readonly HealthProblem[];
35
+ }
36
+ /** One per-path flow entry stored in {@link LensGraph.flow}. */
37
+ interface FlowEntry {
38
+ path: string;
39
+ /** Cumulative DATA emissions observed since the lens activated. */
40
+ count: number;
41
+ /** `monotonicNs()` at the most recent DATA emission, or `null` if none yet. */
42
+ lastUpdate_ns: number | null;
43
+ }
44
+ /** Options for {@link graphLens}. */
45
+ interface GraphLensOptions {
46
+ name?: string;
47
+ graph?: GraphOptions;
48
+ /**
49
+ * Limit which node paths `flow` tracks. When omitted, every path in
50
+ * `target.describe()` is observed. Recommended for graphs with hundreds
51
+ * of nodes since each tracked path adds one observe-event dispatch per
52
+ * DATA emission.
53
+ */
54
+ pathFilter?: (path: string) => boolean;
55
+ /**
56
+ * LRU cap on the {@link LensGraph.flow} map. When set, the flow tracker
57
+ * evicts least-recently-used paths (by insertion / set order) once the
58
+ * entry count exceeds this bound. Omit for unbounded (not recommended
59
+ * for long-running graphs with churning paths). Passed through to the
60
+ * underlying {@link reactiveMap}'s `maxSize`.
61
+ */
62
+ maxFlowPaths?: number;
63
+ }
64
+ /**
65
+ * Reactive observability surface for a target {@link Graph}.
66
+ * See {@link graphLens}.
67
+ *
68
+ * @category observability
69
+ */
70
+ declare class LensGraph extends Graph {
71
+ /**
72
+ * Aggregate structural stats — `nodeCount`, `edgeCount`, `sources`,
73
+ * `sinks`, `depth`, `hasCycles`, `subgraphCount`. Recomputes on every
74
+ * structural change via {@link watchTopologyTree} (transitive).
75
+ *
76
+ * Named `stats` (not `topology`) because `Graph.topology` already names
77
+ * the raw `TopologyEvent` stream on every graph including `LensGraph`;
78
+ * giving the lens its own `topology` accessor with an incompatible
79
+ * `Node<TopologyStats>` type would break Liskov substitutability.
80
+ */
81
+ readonly stats: Node<TopologyStats>;
82
+ readonly health: Node<HealthReport>;
83
+ /**
84
+ * Per-path flow tracker — a live {@link ReactiveMapBundle} keyed by
85
+ * qualified path. Use `.get(path)` / `.has(path)` / `.size` for O(1)
86
+ * sync queries; subscribe to `.entries` for a reactive snapshot of the
87
+ * whole map. Lazy — the snapshot is materialized only while `.entries`
88
+ * has subscribers.
89
+ *
90
+ * Shape intentionally differs from `stats` / `health` (which are plain
91
+ * `Node<Report>`) because `flow` is a keyed collection, not a single
92
+ * aggregate value. The map shape exposes cheaper queries than any
93
+ * snapshot-based design.
94
+ */
95
+ readonly flow: ReactiveMapBundle<string, FlowEntry>;
96
+ private readonly _target;
97
+ constructor(target: Graph, opts?: GraphLensOptions);
98
+ /**
99
+ * Live causal chain from `from` to `to`. Recomputes whenever the target
100
+ * mutates. Disposed automatically when the lens is destroyed.
101
+ *
102
+ * **Lifetime note:** every call to `why()` registers a lens-owned disposer
103
+ * that runs on `lens.destroy()`. The returned `dispose` function releases
104
+ * the internal subscription but does NOT remove the lens-owned disposer —
105
+ * so heavy calling (e.g. per render frame) accumulates no-op disposers
106
+ * until lens teardown. Cache the returned handle for long-lived queries.
107
+ *
108
+ * @param from - Qualified path of the upstream endpoint.
109
+ * @param to - Qualified path of the downstream endpoint.
110
+ * @param opts - See {@link reactiveExplainPath}.
111
+ */
112
+ why(from: string, to: string, opts?: {
113
+ maxDepth?: number;
114
+ name?: string;
115
+ findCycle?: boolean;
116
+ }): {
117
+ node: Node<CausalChain>;
118
+ dispose: () => void;
119
+ };
120
+ /** Reference to the lensed graph. */
121
+ get target(): Graph;
122
+ }
123
+ /**
124
+ * Create a reactive observability lens over a {@link Graph}. Returns a
125
+ * {@link LensGraph} with three reactive surfaces (`stats`, `health`, `flow`)
126
+ * plus the `why(from, to)` method.
127
+ *
128
+ * The returned graph is detached. Mount it via `target.mount("lens", lens)`
129
+ * if you want it to appear in the target's `describe()`, or keep it standalone.
130
+ *
131
+ * @param target - The graph to observe.
132
+ * @param opts - See {@link GraphLensOptions}.
133
+ *
134
+ * @example
135
+ * ```ts
136
+ * const g = new Graph("app");
137
+ * g.add(state(0, { name: "counter" }));
138
+ * const lens = graphLens(g);
139
+ * lens.stats.subscribe((msgs) => console.log(msgs[0]?.[1])); // TopologyStats
140
+ * // Flow queries — O(1) without subscribing to snapshots:
141
+ * lens.flow.get("counter"); // FlowEntry | undefined
142
+ * lens.flow.size; // number
143
+ * lens.flow.entries.subscribe(...); // reactive snapshot, lazy-materialized
144
+ * ```
145
+ *
146
+ * @category observability
147
+ */
148
+ declare function graphLens(target: Graph, opts?: GraphLensOptions): LensGraph;
149
+
150
+ type index_FlowEntry = FlowEntry;
151
+ type index_GraphLensOptions = GraphLensOptions;
152
+ type index_HealthProblem = HealthProblem;
153
+ type index_HealthReport = HealthReport;
154
+ type index_LensGraph = LensGraph;
155
+ declare const index_LensGraph: typeof LensGraph;
156
+ type index_TopologyStats = TopologyStats;
157
+ declare const index_graphLens: typeof graphLens;
158
+ declare const index_watchTopologyTree: typeof watchTopologyTree;
159
+ declare namespace index {
160
+ export { type index_FlowEntry as FlowEntry, type index_GraphLensOptions as GraphLensOptions, type index_HealthProblem as HealthProblem, type index_HealthReport as HealthReport, index_LensGraph as LensGraph, type index_TopologyStats as TopologyStats, index_graphLens as graphLens, index_watchTopologyTree as watchTopologyTree };
161
+ }
162
+
163
+ export { type FlowEntry as F, type GraphLensOptions as G, type HealthProblem as H, LensGraph as L, type TopologyStats as T, type HealthReport as a, graphLens as g, index as i };
@@ -1,4 +1,4 @@
1
- import { N as Node } from './node-BmerH3kS.js';
1
+ import { a as Node } from './node-Cc1TniY8.js';
2
2
 
3
3
  /**
4
4
  * A Nanostores-compatible atom.
@@ -1,4 +1,4 @@
1
- import { N as Node } from './node-BmerH3kS.cjs';
1
+ import { a as Node } from './node-Cc1TniY8.cjs';
2
2
 
3
3
  /**
4
4
  * Options for creating an atom.
@@ -1,12 +1,12 @@
1
- import { i as index$2 } from './index-3lsddbbS.js';
2
- import { i as index$3 } from './index-C0svESO4.js';
3
- import { i as index$4 } from './index-BPVt8kqc.js';
4
- import { i as index$5 } from './index-Dzk2hrlR.js';
5
- import { N as Node } from './node-BmerH3kS.js';
6
- import { i as index$6 } from './index-VdHQMPy1.js';
7
- import { i as index$7 } from './index-CxFrXH4m.js';
8
- import { i as index$8 } from './index-wEn0eFe8.js';
9
- import { i as index$9 } from './index-B9B7_HEY.js';
1
+ import { i as index$2 } from './index-Bqachn9_.js';
2
+ import { i as index$3 } from './index-CMn8S8Hw.js';
3
+ import { i as index$4 } from './index-m-yHof5p.js';
4
+ import { i as index$5 } from './index-BVHOrDwO.js';
5
+ import { a as Node } from './node-Cc1TniY8.js';
6
+ import { i as index$6 } from './index-B1AmmSlb.js';
7
+ import { i as index$7 } from './index-BWJV63ti.js';
8
+ import { i as index$8 } from './index-BwM9BEkt.js';
9
+ import { i as index$9 } from './index-DiOXyAwt.js';
10
10
 
11
11
  /**
12
12
  * Options for creating signals.