@graphrefly/graphrefly 0.34.0 → 0.35.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 (333) hide show
  1. package/dist/{cascading-DKIb6Pk8.d.cts → cascading-B25wxpRa.d.cts} +3 -3
  2. package/dist/{cascading-Bg0a4VSf.d.ts → cascading-BsJ4GbnS.d.ts} +3 -3
  3. package/dist/{chunk-TZLEMGAK.js → chunk-2Y3DKIZL.js} +2 -2
  4. package/dist/chunk-3OT7K33Q.js +1 -0
  5. package/dist/chunk-53XJ2S6D.js +1 -0
  6. package/dist/chunk-5CPPC75H.js +1 -0
  7. package/dist/chunk-5KPIYVCC.js +7 -0
  8. package/dist/{chunk-GAOX6OPT.js → chunk-5XZRCS2M.js} +1 -1
  9. package/dist/{chunk-C5DINHNP.js → chunk-6G5YD37E.js} +1 -1
  10. package/dist/{chunk-WBWBY6LI.js → chunk-6SVKZ7VI.js} +1 -1
  11. package/dist/chunk-A5HZZYRK.js +1 -0
  12. package/dist/chunk-BGEY3PXH.js +1 -0
  13. package/dist/chunk-CD4CB6S7.js +1 -0
  14. package/dist/chunk-CE72X3WO.js +1 -0
  15. package/dist/chunk-CUQFO6MT.js +1 -0
  16. package/dist/chunk-D5RFJOZ2.js +1 -0
  17. package/dist/{chunk-A3GDELMY.js → chunk-E5YSBQSF.js} +7 -7
  18. package/dist/{chunk-SFIM774L.js → chunk-EUE7ELFQ.js} +1 -1
  19. package/dist/chunk-F3IGTWCQ.js +1 -0
  20. package/dist/chunk-F672GV32.js +1 -0
  21. package/dist/{chunk-GCUYSIM4.js → chunk-GWOKTENT.js} +1 -1
  22. package/dist/{chunk-4NYSEUKV.js → chunk-J6TGRQUP.js} +1 -1
  23. package/dist/{chunk-4F564IPP.js → chunk-JJTF75VS.js} +1 -1
  24. package/dist/{chunk-BY4WKPKM.js → chunk-JUJEPZOI.js} +1 -1
  25. package/dist/{chunk-65WWQ5CB.js → chunk-M5UC63ZI.js} +5 -5
  26. package/dist/chunk-MQZWA3DF.js +1 -0
  27. package/dist/chunk-MYFR67PY.js +18 -0
  28. package/dist/{chunk-KN2UMFT6.js → chunk-PCD2MU7X.js} +1 -1
  29. package/dist/{chunk-YDWTVO4E.js → chunk-PIIUJIF7.js} +1 -1
  30. package/dist/chunk-PVUTRA5K.js +5 -0
  31. package/dist/chunk-Q7EUZ6NN.js +1 -0
  32. package/dist/chunk-RLMYS3XZ.js +1 -0
  33. package/dist/chunk-RRFOCAH6.js +1 -0
  34. package/dist/{chunk-Q46YJCQH.js → chunk-T6RPUERH.js} +1 -1
  35. package/dist/{chunk-IPNJDNE7.js → chunk-T7GWBGOO.js} +1 -1
  36. package/dist/{chunk-U2T2XWDA.js → chunk-U347KVM4.js} +1 -1
  37. package/dist/chunk-UAMWD4GG.js +1 -0
  38. package/dist/chunk-VN6RDSK2.js +1 -0
  39. package/dist/{chunk-CJMFZXIZ.js → chunk-W2ZU226Q.js} +1 -1
  40. package/dist/{chunk-UF746BQ4.js → chunk-XINLP35X.js} +1 -1
  41. package/dist/{chunk-TONEKQM3.js → chunk-XMDNNSMK.js} +1 -1
  42. package/dist/{chunk-INXDSJRC.js → chunk-YOUAVGHJ.js} +1 -1
  43. package/dist/chunk-YV2A2VWG.js +1 -0
  44. package/dist/{chunk-PBN426RU.js → chunk-ZGVA2SR5.js} +1 -1
  45. package/dist/compat/index.cjs +10 -10
  46. package/dist/compat/index.d.cts +17 -14
  47. package/dist/compat/index.d.ts +17 -14
  48. package/dist/compat/index.js +1 -1
  49. package/dist/compat/jotai/index.d.cts +2 -2
  50. package/dist/compat/jotai/index.d.ts +2 -2
  51. package/dist/compat/nanostores/index.d.cts +2 -2
  52. package/dist/compat/nanostores/index.d.ts +2 -2
  53. package/dist/compat/nestjs/index.cjs +12 -12
  54. package/dist/compat/nestjs/index.d.cts +9 -6
  55. package/dist/compat/nestjs/index.d.ts +9 -6
  56. package/dist/compat/nestjs/index.js +1 -1
  57. package/dist/compat/react/index.d.cts +2 -2
  58. package/dist/compat/react/index.d.ts +2 -2
  59. package/dist/compat/solid/index.d.cts +2 -2
  60. package/dist/compat/solid/index.d.ts +2 -2
  61. package/dist/compat/svelte/index.d.cts +2 -2
  62. package/dist/compat/svelte/index.d.ts +2 -2
  63. package/dist/compat/vue/index.d.cts +2 -2
  64. package/dist/compat/vue/index.d.ts +2 -2
  65. package/dist/compat/zustand/index.cjs +7 -7
  66. package/dist/compat/zustand/index.d.cts +5 -4
  67. package/dist/compat/zustand/index.d.ts +5 -4
  68. package/dist/compat/zustand/index.js +1 -1
  69. package/dist/{composite-BPDU_XV1.d.ts → composite-CT_mApQD.d.ts} +2 -2
  70. package/dist/{composite-CmvdhTJe.d.cts → composite-_XckYx2e.d.cts} +2 -2
  71. package/dist/{content-addressed-storage-DqIWCmZG.d.cts → content-addressed-storage-4-ST1tYk.d.cts} +5 -5
  72. package/dist/{content-addressed-storage-BUiREIuj.d.ts → content-addressed-storage-DuYMjV7o.d.ts} +5 -5
  73. package/dist/core/index.d.cts +4 -4
  74. package/dist/core/index.d.ts +4 -4
  75. package/dist/extra/browser.cjs +1 -1
  76. package/dist/extra/browser.d.cts +4 -3
  77. package/dist/extra/browser.d.ts +4 -3
  78. package/dist/extra/browser.js +1 -1
  79. package/dist/extra/index.cjs +19 -19
  80. package/dist/extra/index.d.cts +13 -12
  81. package/dist/extra/index.d.ts +13 -12
  82. package/dist/extra/index.js +1 -1
  83. package/dist/extra/node.cjs +2 -3
  84. package/dist/extra/node.d.cts +3 -3
  85. package/dist/extra/node.d.ts +3 -3
  86. package/dist/extra/node.js +2 -2
  87. package/dist/extra/operators.cjs +1 -1
  88. package/dist/extra/operators.d.cts +1 -1
  89. package/dist/extra/operators.d.ts +1 -1
  90. package/dist/extra/operators.js +1 -1
  91. package/dist/extra/reactive.cjs +1 -1
  92. package/dist/extra/reactive.d.cts +4 -3
  93. package/dist/extra/reactive.d.ts +4 -3
  94. package/dist/extra/reactive.js +1 -1
  95. package/dist/extra/sources.cjs +1 -1
  96. package/dist/extra/sources.d.cts +57 -2
  97. package/dist/extra/sources.d.ts +57 -2
  98. package/dist/extra/sources.js +1 -1
  99. package/dist/extra/storage-browser.cjs +1 -1
  100. package/dist/extra/storage-browser.d.cts +8 -42
  101. package/dist/extra/storage-browser.d.ts +8 -42
  102. package/dist/extra/storage-browser.js +1 -1
  103. package/dist/extra/storage-core.cjs +1 -1
  104. package/dist/extra/storage-core.d.cts +13 -83
  105. package/dist/extra/storage-core.d.ts +13 -83
  106. package/dist/extra/storage-core.js +1 -1
  107. package/dist/extra/storage-node.cjs +1 -2
  108. package/dist/extra/storage-node.d.cts +1 -59
  109. package/dist/extra/storage-node.d.ts +1 -59
  110. package/dist/extra/storage-node.js +0 -1
  111. package/dist/extra/storage-tiers-browser.cjs +1 -0
  112. package/dist/extra/storage-tiers-browser.d.cts +49 -0
  113. package/dist/extra/storage-tiers-browser.d.ts +49 -0
  114. package/dist/extra/storage-tiers-browser.js +1 -0
  115. package/dist/extra/storage-tiers-node.cjs +1 -0
  116. package/dist/extra/storage-tiers-node.d.cts +86 -0
  117. package/dist/extra/storage-tiers-node.d.ts +86 -0
  118. package/dist/extra/storage-tiers-node.js +1 -0
  119. package/dist/extra/storage-tiers.cjs +1 -0
  120. package/dist/extra/storage-tiers.d.cts +284 -0
  121. package/dist/extra/storage-tiers.d.ts +284 -0
  122. package/dist/extra/storage-tiers.js +1 -0
  123. package/dist/{fallback-mYSd8vQo.d.ts → fallback-DuEXfA4F.d.ts} +14 -14
  124. package/dist/{fallback-9YznPvPP.d.cts → fallback-axI2cXwt.d.cts} +14 -14
  125. package/dist/graph/index.cjs +3 -3
  126. package/dist/graph/index.d.cts +6 -5
  127. package/dist/graph/index.d.ts +6 -5
  128. package/dist/graph/index.js +1 -1
  129. package/dist/{graph-BROUZPG9.d.ts → graph-Cv-8x0ZI.d.ts} +28 -16
  130. package/dist/{graph-DaoydJ_u.d.cts → graph-kTltt95s.d.cts} +28 -16
  131. package/dist/imperative-audit-ahAE65a9.d.cts +28 -0
  132. package/dist/imperative-audit-ahAE65a9.d.ts +28 -0
  133. package/dist/{index-CI5fULSz.d.ts → index-8OxXae3g.d.ts} +1 -1
  134. package/dist/{index-CQ1gt4rn.d.cts → index-9xhIaM-w.d.cts} +1 -1
  135. package/dist/{index-DhWrMTI6.d.cts → index-B3D_z0Z6.d.cts} +1 -1
  136. package/dist/{index-Ccv_61jG.d.cts → index-B3Dfl5sS.d.cts} +110 -27
  137. package/dist/{index-Dia4yc2y.d.ts → index-B4s70vYf.d.ts} +4 -4
  138. package/dist/{index-Db21wuaD.d.ts → index-B5UR87KG.d.ts} +3 -3
  139. package/dist/{index-DuvQAU02.d.ts → index-BBdwz2BW.d.ts} +2 -2
  140. package/dist/{index-B5eS17Bz.d.ts → index-BEvsFlfH.d.ts} +47 -32
  141. package/dist/{index-BUtCR0k6.d.ts → index-BF-ssbJB.d.ts} +7 -7
  142. package/dist/{index-ClKm7CFB.d.cts → index-BFuVcqL8.d.cts} +1 -1
  143. package/dist/{index-BkfL5MXh.d.cts → index-BWH17rK_.d.cts} +3 -3
  144. package/dist/{index-CD7qmvSf.d.ts → index-BZ1V5GzX.d.ts} +3 -3
  145. package/dist/{index-BDEhWLF4.d.cts → index-BhkPzu-Z.d.cts} +4 -4
  146. package/dist/{index-CNxdDb2e.d.ts → index-Bilohojo.d.ts} +3 -3
  147. package/dist/{index-zA1uVtk0.d.ts → index-BiomL7AW.d.ts} +1 -1
  148. package/dist/{index-BWiX5foT.d.ts → index-BjWZARLy.d.ts} +1 -1
  149. package/dist/{index-IxinNgAH.d.cts → index-BkbawFkI.d.cts} +16 -15
  150. package/dist/{index-RJX4snyi.d.cts → index-BlRVj-7Q.d.cts} +21 -21
  151. package/dist/index-BpFwRAf9.d.cts +26 -0
  152. package/dist/{index-Ds3Rz9m9.d.cts → index-BsZlbHM5.d.cts} +3 -3
  153. package/dist/{index-BFHpNSsV.d.ts → index-BtY2QVDf.d.cts} +8 -7
  154. package/dist/{index-BsxqmV6u.d.ts → index-BuMzxRO2.d.ts} +2 -2
  155. package/dist/{index-C5uMGVJw.d.ts → index-BwYGLgmI.d.ts} +4 -4
  156. package/dist/{index-3L3RC3VJ.d.ts → index-C40wA8zt.d.ts} +7 -7
  157. package/dist/{index-Bi4ZP6Hc.d.ts → index-C9xF16gc.d.ts} +110 -27
  158. package/dist/index-CAIhFfws.d.ts +171 -0
  159. package/dist/{index-BRisOxlx.d.ts → index-CDvC1m5p.d.ts} +1 -1
  160. package/dist/index-CGKs5ixV.d.cts +287 -0
  161. package/dist/{index-ygRFoyrN.d.ts → index-CI_yjtua.d.ts} +2 -2
  162. package/dist/{index-DxEcY7Om.d.ts → index-CIcu6fIR.d.ts} +1 -1
  163. package/dist/{index-CQtnGFrZ.d.cts → index-CfOSES72.d.cts} +7 -7
  164. package/dist/{index-Bd2AjMQY.d.ts → index-Cot94_82.d.ts} +21 -21
  165. package/dist/{index-B1hFhK1K.d.cts → index-CpZKtdMw.d.cts} +1 -1
  166. package/dist/{index-BO6t0HjV.d.cts → index-CqSJ25A9.d.cts} +1 -1
  167. package/dist/{index-Jgl7ev9I.d.cts → index-CzC0G0C3.d.cts} +9 -9
  168. package/dist/{index-p0bkNfby.d.cts → index-D6JRP-1_.d.cts} +3 -3
  169. package/dist/{index-D23g00HE.d.cts → index-D7r_vd0b.d.cts} +4 -4
  170. package/dist/{index-Cp91Sxbo.d.cts → index-D8IyqHvT.d.cts} +3 -3
  171. package/dist/{index-iKsmdnq6.d.cts → index-D9qoEOj_.d.cts} +2 -2
  172. package/dist/index-DBmBtqAN.d.ts +461 -0
  173. package/dist/{index-nP13Qe6T.d.ts → index-DFe2Pk2u.d.ts} +1 -1
  174. package/dist/{index-Cn3taOmp.d.cts → index-DKp1CIbG.d.cts} +2 -2
  175. package/dist/{index-CoR-tOZA.d.cts → index-DSD6xnbT.d.ts} +8 -7
  176. package/dist/{index-DheNs40A.d.ts → index-DXSLMoma.d.ts} +2 -2
  177. package/dist/{index-ZIQaKIdY.d.cts → index-DXZsXxtU.d.cts} +47 -32
  178. package/dist/{index-BVTjuKeP.d.cts → index-D_QQ_dTD.d.cts} +1 -1
  179. package/dist/{index-ChZvMC4M.d.cts → index-DeyzuqAi.d.cts} +7 -7
  180. package/dist/{index-Chi9IiHJ.d.ts → index-DlccEIi3.d.ts} +3 -3
  181. package/dist/{index-DR3XqZlV.d.cts → index-DmtWMP0X.d.cts} +1 -1
  182. package/dist/{index-CbCNoogR.d.ts → index-Dp69u0ym.d.ts} +16 -15
  183. package/dist/{index-b4a6Sg0R.d.ts → index-DwNNufVa.d.ts} +4 -4
  184. package/dist/{index-D80nGRb9.d.ts → index-DzYTXMBz.d.ts} +3 -3
  185. package/dist/index-DzgS5uYi.d.ts +26 -0
  186. package/dist/{index-B-KCkW4M.d.cts → index-GaW6Welt.d.cts} +4 -4
  187. package/dist/{index-DupIl9wI.d.ts → index-JYtN9uqM.d.ts} +1 -1
  188. package/dist/{index-Ced0dphF.d.ts → index-KNAMYngu.d.ts} +9 -9
  189. package/dist/{index-BpjQanLs.d.cts → index-PluovH45.d.cts} +2 -2
  190. package/dist/index-Qq-G9B6g.d.cts +171 -0
  191. package/dist/{index-yJY9thRY.d.cts → index-XxSeddWP.d.cts} +2 -2
  192. package/dist/{index-C8_bnDBZ.d.cts → index-ZhKyR8co.d.cts} +3 -3
  193. package/dist/index-hXKhbfh-.d.ts +287 -0
  194. package/dist/index-zK_mN1D-.d.cts +461 -0
  195. package/dist/index.cjs +59 -59
  196. package/dist/index.d.cts +53 -49
  197. package/dist/index.d.ts +53 -49
  198. package/dist/index.js +1 -1
  199. package/dist/{meta-BdjSt8ky.d.cts → meta-BGO6C7K9.d.cts} +1 -1
  200. package/dist/{meta-CtDjj7cU.d.ts → meta-CC6EPdpK.d.ts} +1 -1
  201. package/dist/{node-8qx0kgYt.d.cts → node-fSc-hCv8.d.cts} +1 -1
  202. package/dist/{node-8qx0kgYt.d.ts → node-fSc-hCv8.d.ts} +1 -1
  203. package/dist/{observable-B6Ba-TTI.d.cts → observable-Cqty11jG.d.cts} +1 -1
  204. package/dist/{observable-DOniYM2B.d.ts → observable-EAV_rNfM.d.ts} +1 -1
  205. package/dist/patterns/ai/browser.cjs +5 -5
  206. package/dist/patterns/ai/browser.d.cts +4 -4
  207. package/dist/patterns/ai/browser.d.ts +4 -4
  208. package/dist/patterns/ai/browser.js +1 -1
  209. package/dist/patterns/ai/index.cjs +19 -19
  210. package/dist/patterns/ai/index.d.cts +19 -17
  211. package/dist/patterns/ai/index.d.ts +19 -17
  212. package/dist/patterns/ai/index.js +1 -1
  213. package/dist/patterns/ai/node.cjs +1 -2
  214. package/dist/patterns/ai/node.d.cts +9 -9
  215. package/dist/patterns/ai/node.d.ts +9 -9
  216. package/dist/patterns/ai/node.js +1 -1
  217. package/dist/patterns/audit/index.cjs +6 -6
  218. package/dist/patterns/audit/index.d.cts +7 -5
  219. package/dist/patterns/audit/index.d.ts +7 -5
  220. package/dist/patterns/audit/index.js +1 -1
  221. package/dist/patterns/cqrs/index.cjs +7 -7
  222. package/dist/patterns/cqrs/index.d.cts +7 -4
  223. package/dist/patterns/cqrs/index.d.ts +7 -4
  224. package/dist/patterns/cqrs/index.js +1 -1
  225. package/dist/patterns/demo-shell/index.cjs +8 -8
  226. package/dist/patterns/demo-shell/index.d.cts +6 -5
  227. package/dist/patterns/demo-shell/index.d.ts +6 -5
  228. package/dist/patterns/demo-shell/index.js +1 -1
  229. package/dist/patterns/domain-templates/index.cjs +5 -5
  230. package/dist/patterns/domain-templates/index.d.cts +5 -4
  231. package/dist/patterns/domain-templates/index.d.ts +5 -4
  232. package/dist/patterns/domain-templates/index.js +1 -1
  233. package/dist/patterns/graphspec/index.cjs +20 -20
  234. package/dist/patterns/graphspec/index.d.cts +6 -5
  235. package/dist/patterns/graphspec/index.d.ts +6 -5
  236. package/dist/patterns/graphspec/index.js +1 -1
  237. package/dist/patterns/guarded-execution/index.cjs +7 -7
  238. package/dist/patterns/guarded-execution/index.d.cts +8 -6
  239. package/dist/patterns/guarded-execution/index.d.ts +8 -6
  240. package/dist/patterns/guarded-execution/index.js +1 -1
  241. package/dist/patterns/harness/index.cjs +12 -12
  242. package/dist/patterns/harness/index.d.cts +13 -10
  243. package/dist/patterns/harness/index.d.ts +13 -10
  244. package/dist/patterns/harness/index.js +1 -1
  245. package/dist/patterns/job-queue/index.cjs +7 -7
  246. package/dist/patterns/job-queue/index.d.cts +8 -4
  247. package/dist/patterns/job-queue/index.d.ts +8 -4
  248. package/dist/patterns/job-queue/index.js +1 -1
  249. package/dist/patterns/lens/index.cjs +4 -4
  250. package/dist/patterns/lens/index.d.cts +7 -6
  251. package/dist/patterns/lens/index.d.ts +7 -6
  252. package/dist/patterns/lens/index.js +1 -1
  253. package/dist/patterns/memory/index.cjs +1 -1
  254. package/dist/patterns/memory/index.d.cts +5 -4
  255. package/dist/patterns/memory/index.d.ts +5 -4
  256. package/dist/patterns/memory/index.js +1 -1
  257. package/dist/patterns/messaging/index.cjs +7 -7
  258. package/dist/patterns/messaging/index.d.cts +6 -4
  259. package/dist/patterns/messaging/index.d.ts +6 -4
  260. package/dist/patterns/messaging/index.js +1 -1
  261. package/dist/patterns/orchestration/index.cjs +7 -7
  262. package/dist/patterns/orchestration/index.d.cts +8 -5
  263. package/dist/patterns/orchestration/index.d.ts +8 -5
  264. package/dist/patterns/orchestration/index.js +1 -1
  265. package/dist/patterns/process/index.cjs +1 -0
  266. package/dist/patterns/process/index.d.cts +10 -0
  267. package/dist/patterns/process/index.d.ts +10 -0
  268. package/dist/patterns/process/index.js +1 -0
  269. package/dist/patterns/reactive-layout/index.cjs +5 -5
  270. package/dist/patterns/reactive-layout/index.d.cts +6 -5
  271. package/dist/patterns/reactive-layout/index.d.ts +6 -5
  272. package/dist/patterns/reactive-layout/index.js +1 -1
  273. package/dist/patterns/reduction/index.cjs +1 -1
  274. package/dist/patterns/reduction/index.d.cts +5 -4
  275. package/dist/patterns/reduction/index.d.ts +5 -4
  276. package/dist/patterns/reduction/index.js +1 -1
  277. package/dist/patterns/refine-loop/index.cjs +8 -8
  278. package/dist/patterns/refine-loop/index.d.cts +7 -5
  279. package/dist/patterns/refine-loop/index.d.ts +7 -5
  280. package/dist/patterns/refine-loop/index.js +1 -1
  281. package/dist/patterns/resilient-pipeline/index.cjs +1 -1
  282. package/dist/patterns/resilient-pipeline/index.d.cts +7 -6
  283. package/dist/patterns/resilient-pipeline/index.d.ts +7 -6
  284. package/dist/patterns/resilient-pipeline/index.js +1 -1
  285. package/dist/patterns/surface/index.cjs +11 -11
  286. package/dist/patterns/surface/index.d.cts +7 -6
  287. package/dist/patterns/surface/index.d.ts +7 -6
  288. package/dist/patterns/surface/index.js +1 -1
  289. package/dist/pipeline-graph-B85HUrWg.d.cts +120 -0
  290. package/dist/pipeline-graph-HOTU4UG0.d.ts +120 -0
  291. package/dist/{reactive-layout-DBJ3Vz-m.d.ts → reactive-layout-Btv0-efV.d.ts} +2 -2
  292. package/dist/{reactive-layout-Dk9AOQb_.d.cts → reactive-layout-D9zqqaqK.d.cts} +2 -2
  293. package/dist/reactive-log-ByBb8g6A.d.ts +188 -0
  294. package/dist/reactive-log-CgbNqksB.d.cts +188 -0
  295. package/dist/{reactive-map-LjwjcFaW.d.ts → reactive-map-CHyeCf4D.d.ts} +1 -1
  296. package/dist/{reactive-map-Cm89Hk0c.d.cts → reactive-map-DmgeADH8.d.cts} +1 -1
  297. package/dist/{resilience-RjDIHZNZ.d.ts → resilience-BWP2c7Af.d.cts} +27 -45
  298. package/dist/{resilience-N_VtLf7W.d.cts → resilience-Bys63Cpd.d.ts} +27 -45
  299. package/dist/resilience-OBU472D2.js +1 -0
  300. package/dist/{sugar-CQkn_rxB.d.ts → sugar-D13E2M_z.d.ts} +1 -1
  301. package/dist/{sugar-DVEYhR7a.d.cts → sugar-DgaGJcI6.d.cts} +1 -1
  302. package/dist/{topology-tree-BB6oJxMz.d.cts → topology-tree-C50l9ARE.d.cts} +1 -1
  303. package/dist/{topology-tree-CAFOG5S5.d.ts → topology-tree-CJsT24DP.d.ts} +1 -1
  304. package/dist/{types-Cp_4coR_.d.cts → types-BMSGPlpO.d.cts} +1 -1
  305. package/dist/{types-B2LfBvNc.d.ts → types-CidcBDuk.d.ts} +1 -1
  306. package/package.json +41 -1
  307. package/dist/chunk-2JO6LXFT.js +0 -7
  308. package/dist/chunk-2LZ6DL45.js +0 -1
  309. package/dist/chunk-3JXNEPCD.js +0 -2
  310. package/dist/chunk-3Y4BXFFR.js +0 -1
  311. package/dist/chunk-55T3K37W.js +0 -1
  312. package/dist/chunk-6HQ6HVTF.js +0 -1
  313. package/dist/chunk-7Q2WPFQ7.js +0 -1
  314. package/dist/chunk-FKRPIRE6.js +0 -1
  315. package/dist/chunk-HTBOCKVD.js +0 -1
  316. package/dist/chunk-I6VIH3VA.js +0 -1
  317. package/dist/chunk-IB64M7VP.js +0 -1
  318. package/dist/chunk-IJFSR4NU.js +0 -1
  319. package/dist/chunk-LOF5HSD3.js +0 -18
  320. package/dist/chunk-T2TB37TW.js +0 -1
  321. package/dist/chunk-T7EQPKOP.js +0 -1
  322. package/dist/chunk-Y63GWRHO.js +0 -5
  323. package/dist/chunk-YUBV7EEE.js +0 -1
  324. package/dist/index-C2Dey3L-.d.cts +0 -152
  325. package/dist/index-ClJUZAOr.d.cts +0 -101
  326. package/dist/index-Cq7Uqgu4.d.ts +0 -192
  327. package/dist/index-Dtpr2FIB.d.ts +0 -101
  328. package/dist/index-HvJ90_tX.d.ts +0 -152
  329. package/dist/index-wcfc7W-f.d.cts +0 -192
  330. package/dist/reactive-log-CWC7jO4J.d.cts +0 -190
  331. package/dist/reactive-log-CqaBg8nf.d.ts +0 -190
  332. package/dist/resilience-7UZHSSGC.js +0 -1
  333. /package/dist/{chunk-L3KUKDZC.js → chunk-O32GJOUJ.js} +0 -0
@@ -0,0 +1,461 @@
1
+ import { a as Node } from './node-fSc-hCv8.js';
2
+ import { R as ReactiveLogBundle } from './reactive-log-ByBb8g6A.js';
3
+ import { AppendLogStorageTier } from './extra/storage-tiers.js';
4
+ import { a as GraphOptions, G as Graph } from './graph-Cv-8x0ZI.js';
5
+ import { B as BaseAuditRecord } from './imperative-audit-ahAE65a9.js';
6
+
7
+ /**
8
+ * CQRS patterns (roadmap §4.5).
9
+ *
10
+ * Composition layer over reactiveLog (3.2), pipeline/sagas (4.1), event bus (4.2),
11
+ * projections (4.3). Guards (1.5) enforce command/query boundary.
12
+ *
13
+ * - `cqrs(name, opts?)` → `CqrsGraph` — top-level factory
14
+ * - `CqrsGraph.command(name, handler)` — write-only node; guard rejects `observe`
15
+ * - `CqrsGraph.event(name)` — backed by `reactiveLog`; append-only
16
+ * - `CqrsGraph.projection(name, events, reducer, initial)` — read-only derived; guard rejects `write`
17
+ * - `CqrsGraph.saga(name, events, handler)` — event-driven side effects
18
+ */
19
+
20
+ /**
21
+ * Immutable envelope for events emitted by command handlers.
22
+ *
23
+ * **Wave C.1 Unit 17 (locked 2026-04-24):** Extended ES standard fields —
24
+ * `aggregateId` / `aggregateVersion` for per-aggregate streams; correlation /
25
+ * causation IDs for distributed tracing; `metadata` for free-form context.
26
+ * Optional `handlerVersion` (Audit 5) traces which handler version produced
27
+ * the event.
28
+ *
29
+ * `seq` is a per-graph monotonic counter that provides stable ordering when
30
+ * multiple events share the same `timestampNs` (same wall-clock tick).
31
+ */
32
+ type CqrsEvent<T = unknown> = {
33
+ type: string;
34
+ payload: T;
35
+ /** Wall-clock nanoseconds (via `wallClockNs()`). */
36
+ timestampNs: number;
37
+ /** Monotonic sequence within this CqrsGraph instance. */
38
+ seq: number;
39
+ /** Aggregate identifier (per-aggregate streams). */
40
+ aggregateId?: string;
41
+ /** Per-aggregate monotonic version (set when `aggregateId` is provided). */
42
+ aggregateVersion?: number;
43
+ /** Distributed-trace correlation id. */
44
+ correlationId?: string;
45
+ /** Causation chain id (this event was caused by event `causationId`). */
46
+ causationId?: string;
47
+ /** Free-form metadata frozen at append. */
48
+ metadata?: Readonly<Record<string, unknown>>;
49
+ /** V0 identity of the event log node at append time (§6.0b). */
50
+ v0?: {
51
+ id: string;
52
+ version: number;
53
+ };
54
+ /** Handler version stamped on emit (Audit 5). */
55
+ handlerVersion?: {
56
+ id: string;
57
+ version: string | number;
58
+ };
59
+ };
60
+ /** Compile-time event-map registry: `{ "orderPlaced": OrderPayload, ... }`. */
61
+ type CqrsEventMap = Record<string, unknown>;
62
+ /** Recommended `keyOf` for CQRS event-store storage tiers (Audit 4). */
63
+ declare const cqrsEventKeyOf: (e: CqrsEvent) => string;
64
+ interface DispatchRecord<T = unknown> extends BaseAuditRecord {
65
+ readonly commandName: string;
66
+ readonly payload: T;
67
+ readonly status: "success" | "failed";
68
+ readonly error?: unknown;
69
+ readonly errorType?: string;
70
+ /**
71
+ * Event names emitted by the handler.
72
+ * - `status: "success"`: events that persisted in the event log.
73
+ * - `status: "failed"`: events the handler ATTEMPTED to emit before throwing;
74
+ * they were rolled back and did NOT persist. Documents the failed attempt's
75
+ * intentions for debugging handler logic. The actual event log shows only
76
+ * what's durable.
77
+ */
78
+ readonly emittedEvents?: readonly string[];
79
+ }
80
+ declare const dispatchKeyOf: <T>(r: DispatchRecord<T>) => string;
81
+ interface SagaInvocation<T = unknown> extends BaseAuditRecord {
82
+ readonly eventType: string;
83
+ readonly status: "success" | "failed";
84
+ readonly error?: unknown;
85
+ readonly errorType?: string;
86
+ readonly aggregateId?: string;
87
+ readonly event?: CqrsEvent<T>;
88
+ }
89
+ declare const sagaInvocationKeyOf: <T>(i: SagaInvocation<T>) => string;
90
+ /**
91
+ * Saga registration result (M10) — a typed bundle replacing the prior
92
+ * `Node<unknown>` return that side-attached `_saga` via an unsafe cast.
93
+ *
94
+ * `node` is the saga's effect node (subscribe to observe processing
95
+ * activity). `invocations` is the per-event-type audit log; `audit` aliases
96
+ * `invocations` (Audit 2 `.audit` duplication). `cursors` exposes the
97
+ * per-event-type cursor state nodes for monitoring / testing.
98
+ *
99
+ * @category patterns
100
+ */
101
+ interface SagaController<T = unknown> {
102
+ readonly node: Node<unknown>;
103
+ readonly invocations: ReactiveLogBundle<SagaInvocation<T>>;
104
+ readonly audit: ReactiveLogBundle<SagaInvocation<T>>;
105
+ readonly cursors: {
106
+ readonly [eventName: string]: Node<number>;
107
+ };
108
+ }
109
+ type CommandActions = {
110
+ /** Append an event to a named event log (bypasses event guard). */
111
+ emit: (eventName: string, payload: unknown) => void;
112
+ };
113
+ /**
114
+ * Command handler receives the dispatch payload and actions to emit events.
115
+ *
116
+ * **Purity:** Handlers should not mutate the payload. Event emission via
117
+ * `actions.emit()` is the only sanctioned side effect.
118
+ */
119
+ type CommandHandler<T = unknown> = (payload: T, actions: CommandActions) => void;
120
+ /**
121
+ * Projection reducer folds events into a read model.
122
+ *
123
+ * **Purity contract:** Reducers MUST be pure — return a new state value
124
+ * without mutating `state` or any event.
125
+ *
126
+ * - In **`"replay"`** mode the `state` parameter is always the original
127
+ * `initial` value (full event-sourcing replay on every recompute).
128
+ * - In **`"scan"`** mode the `state` parameter is the _previous_ output
129
+ * (incremental fold); `events` contains only the events appended since
130
+ * the last computation.
131
+ */
132
+ type ProjectionReducer<TState = unknown, TEvent = unknown> = (state: TState, events: readonly CqrsEvent<TEvent>[]) => TState;
133
+ /**
134
+ * Snapshot integration for {@link ProjectionOptions}.
135
+ *
136
+ * `load` is called once at projection construction and the returned value
137
+ * seeds the initial state. `save` (optional) is called after each reducer
138
+ * run, debounced by `saveDebounceMs` (default 1000 ms) and capped by
139
+ * `saveEvery` (default 1000 events).
140
+ */
141
+ type ProjectionSnapshotOpts<TState> = {
142
+ /** Load a previously-saved state. `undefined` → start from `initial`. */
143
+ load: () => TState | undefined | Promise<TState | undefined>;
144
+ /** Persist the current state. Called after reducer; may be async. */
145
+ save?: (state: TState) => void | Promise<void>;
146
+ /**
147
+ * Debounce window (ms) before `save` fires after the last event. Default 1000.
148
+ */
149
+ saveDebounceMs?: number;
150
+ /**
151
+ * Force a save after every Nth state change regardless of debounce.
152
+ * Default 1000. Both knobs compose: save fires at whichever condition is
153
+ * met first.
154
+ */
155
+ saveEvery?: number;
156
+ };
157
+ /**
158
+ * Options for {@link CqrsGraph.projection}.
159
+ *
160
+ * **Wave C.3 Unit 21 (locked 2026-04-24):**
161
+ * - `mode: "scan"` (default) — incremental fold; `"replay"` — full replay
162
+ * each wave.
163
+ * - `snapshot` — load/save integration for cold-start + auto-checkpoint.
164
+ * - `freezeInputs` (default `true`) — freeze event arrays before passing
165
+ * to reducer (purity enforcement).
166
+ * - `rebuild()` / `reset()` on the returned {@link ProjectionController}.
167
+ *
168
+ * @category patterns
169
+ */
170
+ type ProjectionOptions<TState> = {
171
+ name: string;
172
+ events: readonly string[];
173
+ reducer: ProjectionReducer<TState>;
174
+ initial: TState;
175
+ /**
176
+ * Fold strategy. Default `"scan"` (incremental). `"replay"` = full replay.
177
+ *
178
+ * **Scan-mode ordering caveat:** scan-mode assumes monotonic per-stream
179
+ * arrival order. When multiple event streams are merged for a projection,
180
+ * events arriving with a `timestampNs` earlier than the current sort cursor
181
+ * are skipped from the incremental sweep. This is an acceptable trade-off
182
+ * for incremental fold; use `mode: "replay"` for strict cross-stream
183
+ * ordering.
184
+ */
185
+ mode?: "replay" | "scan";
186
+ /** Snapshot integration for rebuild + auto-checkpoint. */
187
+ snapshot?: ProjectionSnapshotOpts<TState>;
188
+ /**
189
+ * Freeze event arrays before passing to reducer (default `true`).
190
+ * Set to `false` only if your reducer intentionally mutates the input
191
+ * (strongly discouraged — prefer immutable reducers).
192
+ */
193
+ freezeInputs?: boolean;
194
+ };
195
+ /**
196
+ * Controller returned by {@link CqrsGraph.projection}.
197
+ *
198
+ * `node` is the reactive read model. `rebuild()` performs a paginated
199
+ * cold-storage replay (requires `attachEventStorage` tiers). `reset()`
200
+ * reloads from `snapshot.load()` and re-folds the live event log on top.
201
+ *
202
+ * @category patterns
203
+ */
204
+ interface ProjectionController<TState> {
205
+ readonly node: Node<TState>;
206
+ /**
207
+ * Async paginated rebuild from attached storage tiers. Throws
208
+ * {@link RebuildError} on adapter / decode / reducer failure.
209
+ *
210
+ * @param opts.fromTier - Storage tier to read from (default: first attached).
211
+ * @param opts.pageSize - Entries per page (default 1000).
212
+ */
213
+ rebuild(opts?: {
214
+ fromTier?: AppendLogStorageTier<CqrsEvent>;
215
+ pageSize?: number;
216
+ }): Promise<TState>;
217
+ /**
218
+ * Reload from `snapshot.load()` (if configured) and re-fold the live
219
+ * in-memory event log on top. Returns the rebuilt state. No-op on the
220
+ * reactive node if the state is unchanged.
221
+ */
222
+ reset(): Promise<TState>;
223
+ }
224
+ type SagaHandler<T = unknown> = (event: CqrsEvent<T>) => void;
225
+ type CqrsOptions = {
226
+ graph?: GraphOptions;
227
+ /** Bounded retention for event streams; default 1024 (cross-cutting). */
228
+ retainedLimit?: number;
229
+ /** Freeze command payloads on dispatch (default `true`). */
230
+ freezeCommandPayload?: boolean;
231
+ /** Freeze event payloads on emit (default `true`). */
232
+ freezeEventPayload?: boolean;
233
+ /** LRU eviction threshold for per-aggregate streams (default 10_000). */
234
+ maxAggregates?: number;
235
+ };
236
+ type CommandRegistration<TPayload = unknown> = {
237
+ handler: CommandHandler<TPayload>;
238
+ emits?: readonly string[];
239
+ handlerVersion?: {
240
+ id: string;
241
+ version: string | number;
242
+ };
243
+ };
244
+ type DispatchOptions = {
245
+ correlationId?: string;
246
+ causationId?: string;
247
+ metadata?: Record<string, unknown>;
248
+ /**
249
+ * Optimistic-concurrency check: if set, dispatch verifies the aggregate
250
+ * (identified by `aggregateId`) is at this version. On mismatch, dispatch
251
+ * throws {@link OptimisticConcurrencyError} BEFORE the handler runs.
252
+ *
253
+ * Requires `aggregateId` to be set. Without it the check is a no-op.
254
+ */
255
+ expectedAggregateVersion?: number;
256
+ /**
257
+ * Aggregate this dispatch targets. Events emitted by the handler that
258
+ * also carry this `aggregateId` participate in per-aggregate versioning
259
+ * and LRU eviction (see {@link CqrsOptions.maxAggregates}). Events whose
260
+ * handler-supplied `aggregateId` differs from the dispatch's `aggregateId`
261
+ * are emitted untouched (their own `aggregateVersion` is computed from
262
+ * their own aggregate's stream).
263
+ */
264
+ aggregateId?: string;
265
+ };
266
+ type SagaOptions = {
267
+ aggregateId?: string;
268
+ errorPolicy?: "advance" | "hold";
269
+ handlerVersion?: {
270
+ id: string;
271
+ version: string | number;
272
+ };
273
+ };
274
+ /**
275
+ * Eviction record emitted on `aggregateEvictions` when an aggregate's
276
+ * per-aggregate stream is removed under `maxAggregates` LRU pressure. The
277
+ * eviction does NOT delete events from the fan-in stream — only the
278
+ * per-aggregate dedicated stream and its version counter.
279
+ */
280
+ interface AggregateEvictionRecord {
281
+ readonly aggregateId: string;
282
+ readonly type: string;
283
+ readonly t_ns: number;
284
+ /** The version count the aggregate reached before eviction (for diagnostics). */
285
+ readonly lastVersion: number;
286
+ }
287
+ declare class CqrsGraph<EM extends CqrsEventMap = Record<string, unknown>> extends Graph {
288
+ /** Fan-in event streams (one per type, all aggregates merged). */
289
+ private readonly _eventLogs;
290
+ /**
291
+ * Per-aggregate event streams: type → aggregateId → entry. Used for
292
+ * `event(type, aggregateId)` dual-form access and per-aggregate version
293
+ * tracking. Only populated when an event with `aggregateId` is emitted.
294
+ */
295
+ private readonly _eventLogsByAggregate;
296
+ /** Per-aggregate version counters: `${type}::${aggregateId}` → current version. */
297
+ private readonly _aggregateVersions;
298
+ /**
299
+ * LRU access order for `${type}::${aggregateId}`. Map insertion order
300
+ * tracks recency — `delete` + `set` on access moves to the end.
301
+ */
302
+ private readonly _aggregateLru;
303
+ private readonly _commandRegs;
304
+ private readonly _projections;
305
+ private readonly _sagas;
306
+ private readonly _keepaliveDisposers;
307
+ private _seq;
308
+ private readonly _retainedLimit;
309
+ private readonly _freezeCommandPayload;
310
+ private readonly _freezeEventPayload;
311
+ private readonly _maxAggregates;
312
+ private readonly _dispatchSeqCursor;
313
+ /** Audit log of every command dispatch (Audit 2). */
314
+ readonly dispatches: ReactiveLogBundle<DispatchRecord>;
315
+ /** Alias for {@link CqrsGraph.dispatches} (Audit 2 `.audit` duplication). */
316
+ readonly audit: ReactiveLogBundle<DispatchRecord>;
317
+ /** Per-aggregate LRU eviction observability; secondary log to `dispatches`. */
318
+ readonly aggregateEvictions: ReactiveLogBundle<AggregateEvictionRecord>;
319
+ constructor(name: string, opts?: CqrsOptions);
320
+ /**
321
+ * Read the current per-aggregate version (last emitted `aggregateVersion`
322
+ * for that `(type, aggregateId)` pair). Returns `0` if no events have been
323
+ * emitted yet for this aggregate. Useful for callers preparing
324
+ * {@link DispatchOptions.expectedAggregateVersion}.
325
+ */
326
+ aggregateVersion(type: string, aggregateId: string): number;
327
+ /** LRU touch — moves the key to the end of the access order. */
328
+ private _touchAggregate;
329
+ /**
330
+ * Evict the oldest aggregate streams (least-recently-touched) until the
331
+ * aggregate count is back within `_maxAggregates`. Emits one
332
+ * `AggregateEvictionRecord` per eviction. The fan-in stream is NOT touched
333
+ * — events stay in the type-level log; only the per-aggregate stream and
334
+ * version counter are removed.
335
+ */
336
+ private _enforceAggregateLru;
337
+ destroy(): void;
338
+ /** Tiers attached via {@link attachEventStorage}; auto-wired into future event streams. */
339
+ private readonly _attachedEventTiers;
340
+ private readonly _attachedTierDisposers;
341
+ /**
342
+ * Wire append-log storage tiers for ALL CQRS event streams — both currently
343
+ * registered AND any future streams created via `event(name)` /
344
+ * `event(name, aggregateId)` / handler emit. (M4 fix.)
345
+ *
346
+ * Returns a disposer that releases all storage subscriptions wired by this
347
+ * call (including those for streams that were created after the call).
348
+ */
349
+ attachEventStorage(tiers: readonly AppendLogStorageTier<CqrsEvent>[]): () => void;
350
+ /** Wire newly-created event stream into all currently-attached tier sets. */
351
+ private _autoWireStreamStorage;
352
+ private _bumpDispatchSeq;
353
+ /**
354
+ * Register a named event stream backed by `reactiveLog`.
355
+ * Guard denies external `write` — only commands append internally.
356
+ */
357
+ event(name: string): Node<readonly CqrsEvent[]>;
358
+ event(name: string, aggregateId: string): Node<readonly CqrsEvent[]>;
359
+ /**
360
+ * Get-or-create the per-aggregate event stream for `(type, aggregateId)`.
361
+ * Mounts the stream as a sibling node named `<type>_<aggregateId>` so it
362
+ * appears in `describe()`. LRU access is touched on every call.
363
+ */
364
+ private _ensureAggregateStream;
365
+ /** Try `resolve(path)`; return `undefined` instead of throwing on missing. */
366
+ private resolveOptional;
367
+ /** Internal: append to an event log, auto-registering if needed. */
368
+ private _appendEvent;
369
+ /**
370
+ * Register a command with its handler. Guard denies `observe` (write-only).
371
+ * Use `dispatch(name, payload)` to execute.
372
+ *
373
+ * The command node carries dynamic `meta.error` — a reactive companion
374
+ * that holds the last handler error (or `null` on success).
375
+ */
376
+ command<T = unknown>(name: string, handlerOrReg: CommandHandler<T> | CommandRegistration<T>): Node<T>;
377
+ /**
378
+ * Execute a registered command. Wraps the entire dispatch in `batch()` so
379
+ * the command node DATA and all emitted events settle atomically.
380
+ *
381
+ * If the handler throws, `meta.error` on the command node is set to the
382
+ * error and the exception is re-thrown.
383
+ */
384
+ dispatch<T = unknown>(commandName: string, payload: T, opts?: DispatchOptions): void;
385
+ /**
386
+ * Register a read-only projection derived from event streams.
387
+ * Guard denies `write` — value is computed from events only.
388
+ *
389
+ * **Wave C.3 Unit 21 (locked 2026-04-24):**
390
+ * - Object-bag signature replaces the positional `(name, events, reducer, initial)` form.
391
+ * - `mode: "scan"` (default) — incremental fold; `"replay"` — full replay each wave.
392
+ * - `snapshot` integration for cold-start load + auto-checkpoint save.
393
+ * - `freezeInputs` (default `true`) — freeze the event array before passing to reducer.
394
+ * - Returns `ProjectionController<TState>` with `.node`, `.rebuild()`, `.reset()`.
395
+ *
396
+ * Fan-in across `events` is implemented by depending on all event-type fan-in
397
+ * nodes directly, which preserves `describe()` edges (e.g. `orderPlaced →
398
+ * orderCount`). Events are sorted by `(timestampNs, seq, aggregateId)` before
399
+ * passing to the reducer (Option-3 cross-aggregate ordering, C.3).
400
+ */
401
+ projection<TState>(opts: ProjectionOptions<TState>): ProjectionController<TState>;
402
+ /**
403
+ * Register an event-driven side effect. Runs handler for each **new** event
404
+ * from the specified streams (tracks last-processed entry count per stream).
405
+ *
406
+ * The saga node carries dynamic `meta.error` — a reactive companion that
407
+ * holds the last handler error (or `null` on success). Handler errors do
408
+ * not propagate out of the saga run (the event cursor still advances so
409
+ * the same entry is not delivered twice).
410
+ */
411
+ saga<T = unknown>(name: string, eventNames: readonly string[], handler: SagaHandler<T>, opts?: SagaOptions): SagaController<T>;
412
+ }
413
+ /**
414
+ * Create a CQRS graph container.
415
+ *
416
+ * @example
417
+ * ```ts
418
+ * const app = cqrs("orders");
419
+ * app.event("orderPlaced");
420
+ * app.command("placeOrder", (payload, { emit }) => {
421
+ * emit("orderPlaced", { orderId: payload.id, amount: payload.amount });
422
+ * });
423
+ * const { node: orderCount } = app.projection({
424
+ * name: "orderCount",
425
+ * events: ["orderPlaced"],
426
+ * reducer: (_s, events) => events.length,
427
+ * initial: 0,
428
+ * });
429
+ * app.dispatch("placeOrder", { id: "1", amount: 100 });
430
+ * ```
431
+ */
432
+ declare function cqrs<EM extends CqrsEventMap = Record<string, unknown>>(name: string, opts?: CqrsOptions): CqrsGraph<EM>;
433
+
434
+ type index_AggregateEvictionRecord = AggregateEvictionRecord;
435
+ type index_CommandActions = CommandActions;
436
+ type index_CommandHandler<T = unknown> = CommandHandler<T>;
437
+ type index_CommandRegistration<TPayload = unknown> = CommandRegistration<TPayload>;
438
+ type index_CqrsEvent<T = unknown> = CqrsEvent<T>;
439
+ type index_CqrsEventMap = CqrsEventMap;
440
+ type index_CqrsGraph<EM extends CqrsEventMap = Record<string, unknown>> = CqrsGraph<EM>;
441
+ declare const index_CqrsGraph: typeof CqrsGraph;
442
+ type index_CqrsOptions = CqrsOptions;
443
+ type index_DispatchOptions = DispatchOptions;
444
+ type index_DispatchRecord<T = unknown> = DispatchRecord<T>;
445
+ type index_ProjectionController<TState> = ProjectionController<TState>;
446
+ type index_ProjectionOptions<TState> = ProjectionOptions<TState>;
447
+ type index_ProjectionReducer<TState = unknown, TEvent = unknown> = ProjectionReducer<TState, TEvent>;
448
+ type index_ProjectionSnapshotOpts<TState> = ProjectionSnapshotOpts<TState>;
449
+ type index_SagaController<T = unknown> = SagaController<T>;
450
+ type index_SagaHandler<T = unknown> = SagaHandler<T>;
451
+ type index_SagaInvocation<T = unknown> = SagaInvocation<T>;
452
+ type index_SagaOptions = SagaOptions;
453
+ declare const index_cqrs: typeof cqrs;
454
+ declare const index_cqrsEventKeyOf: typeof cqrsEventKeyOf;
455
+ declare const index_dispatchKeyOf: typeof dispatchKeyOf;
456
+ declare const index_sagaInvocationKeyOf: typeof sagaInvocationKeyOf;
457
+ declare namespace index {
458
+ export { type index_AggregateEvictionRecord as AggregateEvictionRecord, type index_CommandActions as CommandActions, type index_CommandHandler as CommandHandler, type index_CommandRegistration as CommandRegistration, type index_CqrsEvent as CqrsEvent, type index_CqrsEventMap as CqrsEventMap, index_CqrsGraph as CqrsGraph, type index_CqrsOptions as CqrsOptions, type index_DispatchOptions as DispatchOptions, type index_DispatchRecord as DispatchRecord, type index_ProjectionController as ProjectionController, type index_ProjectionOptions as ProjectionOptions, type index_ProjectionReducer as ProjectionReducer, type index_ProjectionSnapshotOpts as ProjectionSnapshotOpts, type index_SagaController as SagaController, type index_SagaHandler as SagaHandler, type index_SagaInvocation as SagaInvocation, type index_SagaOptions as SagaOptions, index_cqrs as cqrs, index_cqrsEventKeyOf as cqrsEventKeyOf, index_dispatchKeyOf as dispatchKeyOf, index_sagaInvocationKeyOf as sagaInvocationKeyOf };
459
+ }
460
+
461
+ export { type AggregateEvictionRecord as A, type CqrsEventMap as C, type DispatchOptions as D, type ProjectionController as P, type SagaController as S, type CqrsEvent as a, CqrsGraph as b, type CqrsOptions as c, type CommandActions as d, type CommandHandler as e, type CommandRegistration as f, type DispatchRecord as g, type ProjectionOptions as h, index as i, type ProjectionReducer as j, type ProjectionSnapshotOpts as k, type SagaHandler as l, type SagaInvocation as m, type SagaOptions as n, cqrs as o, cqrsEventKeyOf as p, dispatchKeyOf as q, sagaInvocationKeyOf as s };
@@ -1,4 +1,4 @@
1
- import { G as Graph } from './graph-BROUZPG9.js';
1
+ import { G as Graph } from './graph-Cv-8x0ZI.js';
2
2
 
3
3
  /** Zustand-compatible Store API. */
4
4
  interface StoreApi<T> {
@@ -1,5 +1,5 @@
1
- import { a as Node } from './node-8qx0kgYt.cjs';
2
- import { a as GraphOptions, G as Graph } from './graph-DaoydJ_u.cjs';
1
+ import { a as Node } from './node-fSc-hCv8.cjs';
2
+ import { a as GraphOptions, G as Graph } from './graph-kTltt95s.cjs';
3
3
 
4
4
  /**
5
5
  * Domain templates (roadmap §8.2).
@@ -1,9 +1,10 @@
1
- import { T as ToObservableOptions, t as toObservable } from './observable-B6Ba-TTI.cjs';
1
+ import { T as ToObservableOptions, t as toObservable } from './observable-EAV_rNfM.js';
2
2
  import { OnModuleInit, OnModuleDestroy, ExecutionContext, CanActivate, DynamicModule } from '@nestjs/common';
3
3
  import { ModuleRef } from '@nestjs/core';
4
- import { G as Graph, d as GraphPersistSnapshot } from './graph-DaoydJ_u.cjs';
5
- import { A as Actor } from './node-8qx0kgYt.cjs';
6
- import { C as CqrsOptions, a as CqrsGraph, E as EventStoreAdapter } from './index-wcfc7W-f.cjs';
4
+ import { G as Graph, b as GraphPersistSnapshot } from './graph-Cv-8x0ZI.js';
5
+ import { A as Actor } from './node-fSc-hCv8.js';
6
+ import { c as CqrsOptions, b as CqrsGraph, a as CqrsEvent } from './index-DBmBtqAN.js';
7
+ import { AppendLogStorageTier } from './extra/storage-tiers.js';
7
8
 
8
9
  /** Class constructor key for decorator registries and Nest `ModuleRef.get()`. */
9
10
  type DecoratorHostConstructor = abstract new (...args: unknown[]) => unknown;
@@ -599,8 +600,8 @@ interface GraphReflyCqrsOptions {
599
600
  cqrs?: CqrsOptions;
600
601
  /** Build callback — registers commands, events, projections, sagas on the CqrsGraph. */
601
602
  build?: (graph: CqrsGraph) => void;
602
- /** Event store adapter for persistence (wired via `useEventStore()`). */
603
- eventStore?: EventStoreAdapter;
603
+ /** Append-log storage tiers for event persistence (wired via `attachEventStorage()`). */
604
+ eventStorage?: readonly AppendLogStorageTier<CqrsEvent>[];
604
605
  /**
605
606
  * Node paths (local to this feature) to expose as injectable providers.
606
607
  * Tokens are auto-qualified as `featureName::path`.
@@ -665,7 +666,7 @@ declare class GraphReflyModule {
665
666
  * name: "orders",
666
667
  * build: (g) => {
667
668
  * g.event("orderPlaced");
668
- * g.projection("orderCount", ["orderPlaced"], (_s, evts) => evts.length, 0);
669
+ * g.projection({ name: "orderCount", events: ["orderPlaced"], reducer: (_s, evts) => evts.length, initial: 0 });
669
670
  * },
670
671
  * })
671
672
  * ```
@@ -1,5 +1,5 @@
1
- import { a as Node, N as NodeOptions } from './node-8qx0kgYt.js';
2
- import { a as GraphOptions, G as Graph } from './graph-BROUZPG9.js';
1
+ import { a as Node, N as NodeOptions } from './node-fSc-hCv8.js';
2
+ import { a as GraphOptions, G as Graph } from './graph-Cv-8x0ZI.js';
3
3
 
4
4
  /**
5
5
  * Reduction primitives (roadmap §8.1).