@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
@@ -1,6 +1,6 @@
1
- import { j as CompileSpecOptions, G as GraphSpec, c as GraphSpecCatalog, C as CatalogFnEntry, a as CatalogSourceEntry, b as ConfigFieldSchema, F as FnFactory, d as GraphSpecFeedbackEdge, e as GraphSpecNode, f as GraphSpecTemplate, g as GraphSpecTemplateRef, h as GraphSpecValidation, S as SourceFactory } from './index-BkfL5MXh.cjs';
2
- import { G as Graph, o as GraphNodeFactory, m as GraphDiffResult } from './graph-DaoydJ_u.cjs';
3
- import { StorageTier } from './extra/storage-core.cjs';
1
+ import { j as CompileSpecOptions, G as GraphSpec, c as GraphSpecCatalog, C as CatalogFnEntry, a as CatalogSourceEntry, b as ConfigFieldSchema, F as FnFactory, d as GraphSpecFeedbackEdge, e as GraphSpecNode, f as GraphSpecTemplate, g as GraphSpecTemplateRef, h as GraphSpecValidation, S as SourceFactory } from './index-BWH17rK_.cjs';
2
+ import { G as Graph, o as GraphNodeFactory, m as GraphDiffResult } from './graph-kTltt95s.cjs';
3
+ import { KvStorageTier } from './extra/storage-tiers.cjs';
4
4
 
5
5
  /**
6
6
  * Surface: create a graph from a {@link GraphSpec} (§9.3-core).
@@ -121,15 +121,15 @@ interface ReduceOptions {
121
121
  declare function runReduction(spec: GraphSpec, input: unknown, opts?: ReduceOptions): Promise<unknown>;
122
122
 
123
123
  /**
124
- * Surface: snapshot save/restore/diff/list over {@link StorageTier} (§9.3-core).
124
+ * Surface: snapshot save/restore/diff/list over {@link KvStorageTier} (§9.3-core).
125
125
  *
126
126
  * One-shot snapshot management for stateless callers (MCP tools, CLI
127
127
  * commands) layered on the existing multi-tier auto-checkpoint substrate.
128
128
  * A saved snapshot is a `mode: "full"` {@link GraphCheckpointRecord} with
129
129
  * `seq: 0` — byte-identical to the baseline anchor
130
- * {@link Graph.attachStorage} writes on its first flush. An
130
+ * {@link Graph.attachSnapshotStorage} writes on its first flush. An
131
131
  * auto-checkpointed graph can therefore be restored through this surface,
132
- * and a surface-saved snapshot can be picked up by `attachStorage({
132
+ * and a surface-saved snapshot can be picked up by `attachSnapshotStorage({
133
133
  * autoRestore: true })`.
134
134
  *
135
135
  * The wire envelope stays at {@link SNAPSHOT_WIRE_VERSION}; no new format.
@@ -139,7 +139,7 @@ declare function runReduction(spec: GraphSpec, input: unknown, opts?: ReduceOpti
139
139
 
140
140
  /**
141
141
  * Current envelope version. Re-exported from `graph.ts` so the one-shot
142
- * surface path and `Graph.attachStorage` write byte-identical
142
+ * surface path and `Graph.attachSnapshotStorage` write byte-identical
143
143
  * `format_version` fields — no silent wire drift.
144
144
  */
145
145
  declare const SNAPSHOT_WIRE_VERSION = 1;
@@ -157,11 +157,11 @@ interface RestoreSnapshotOptions {
157
157
  * Write a graph's current state as a one-shot `mode: "full"` record.
158
158
  *
159
159
  * Uses the same {@link GraphCheckpointRecord} envelope as
160
- * {@link Graph.attachStorage} so the two persistence paths interoperate.
160
+ * {@link Graph.attachSnapshotStorage} so the two persistence paths interoperate.
161
161
  *
162
162
  * @throws {SurfaceError} `snapshot-failed` when the tier's `save` throws.
163
163
  */
164
- declare function saveSnapshot(graph: Graph, snapshotId: string, tier: StorageTier): Promise<SaveSnapshotResult>;
164
+ declare function saveSnapshot(graph: Graph, snapshotId: string, tier: KvStorageTier): Promise<SaveSnapshotResult>;
165
165
  /**
166
166
  * Load a snapshot from a tier and materialize it as a new {@link Graph}.
167
167
  *
@@ -171,18 +171,18 @@ declare function saveSnapshot(graph: Graph, snapshotId: string, tier: StorageTie
171
171
  *
172
172
  * **Requires a `mode: "full"` record.** Surface-written snapshots from
173
173
  * {@link saveSnapshot} always qualify. Records written by
174
- * {@link Graph.attachStorage} with `compactEvery > 1` may be
174
+ * {@link Graph.attachSnapshotStorage} with `compactEvery > 1` may be
175
175
  * `mode: "diff"` between compacts — those throw `restore-failed` until
176
176
  * the tier's next compact flush (or until Phase 8.7 WAL replay lands).
177
177
  * If you need interop during development, either call
178
178
  * {@link saveSnapshot} explicitly (always full) or configure
179
- * `attachStorage({compactEvery: 1})`.
179
+ * `attachSnapshotStorage({compactEvery: 1})`.
180
180
  *
181
181
  * @throws {SurfaceError} `snapshot-not-found` on miss; `restore-failed`
182
182
  * when the payload shape doesn't match, when the record is
183
183
  * `mode: "diff"`, or when `Graph.fromSnapshot` rejects.
184
184
  */
185
- declare function restoreSnapshot(snapshotId: string, tier: StorageTier, opts?: RestoreSnapshotOptions): Promise<Graph>;
185
+ declare function restoreSnapshot(snapshotId: string, tier: KvStorageTier, opts?: RestoreSnapshotOptions): Promise<Graph>;
186
186
  /**
187
187
  * Load two snapshots and compute a {@link GraphDiffResult} via static
188
188
  * {@link Graph.diff}. Returns the audit shape (structural + value diff,
@@ -190,37 +190,37 @@ declare function restoreSnapshot(snapshotId: string, tier: StorageTier, opts?: R
190
190
  *
191
191
  * @throws {SurfaceError} `snapshot-not-found` on either miss.
192
192
  */
193
- declare function diffSnapshots(snapshotIdA: string, snapshotIdB: string, tier: StorageTier): Promise<GraphDiffResult>;
193
+ declare function diffSnapshots(snapshotIdA: string, snapshotIdB: string, tier: KvStorageTier): Promise<GraphDiffResult>;
194
194
  /**
195
195
  * Enumerate snapshot ids on a tier.
196
196
  *
197
197
  * Only keys written by {@link saveSnapshot} are returned. Surface-written
198
198
  * records are stored under the `"snapshot:"` key prefix and decoded back to
199
199
  * the caller-visible id before being returned — other keys on the same tier
200
- * (notably `attachStorage` baseline/WAL keys written under `graph.name`) are
200
+ * (notably `attachSnapshotStorage` baseline/WAL keys written under `graph.name`) are
201
201
  * filtered out automatically. This lets a single tier back both the surface
202
- * and `attachStorage` without leaking graph names through `listSnapshots`.
202
+ * and `attachSnapshotStorage` without leaking graph names through `listSnapshots`.
203
203
  *
204
204
  * @param tier — the storage tier to enumerate.
205
205
  * @param opts.includeUnprefixed — when `true`, also return keys that are
206
206
  * NOT under the namespacing prefix. Off by default; set this when reading
207
207
  * pre-namespacing snapshot sets.
208
208
  *
209
- * **Caveat:** when a tier is shared with {@link Graph.attachStorage}, its
209
+ * **Caveat:** when a tier is shared with {@link Graph.attachSnapshotStorage}, its
210
210
  * auto-checkpoint baseline + WAL keys (written under `graph.name`) are
211
211
  * unprefixed. Calling with `includeUnprefixed: true` returns those keys
212
212
  * alongside surface snapshots — and subsequent `restoreSnapshot` /
213
213
  * `deleteSnapshot` will operate on them via the fallback-lookup path,
214
214
  * potentially overwriting or deleting live auto-checkpoint state. Use
215
215
  * `includeUnprefixed` only against tiers you know are NOT shared with
216
- * `attachStorage`, or follow up with a predicate filter to separate
216
+ * `attachSnapshotStorage`, or follow up with a predicate filter to separate
217
217
  * ids you own from ones owned by other subsystems.
218
218
  *
219
219
  * @throws {SurfaceError} `tier-no-list` when the tier does not implement
220
220
  * the optional `list()` method. Check `typeof tier.list === "function"`
221
221
  * before calling if you want to branch on capability.
222
222
  */
223
- declare function listSnapshots(tier: StorageTier, opts?: {
223
+ declare function listSnapshots(tier: KvStorageTier, opts?: {
224
224
  includeUnprefixed?: boolean;
225
225
  }): Promise<readonly string[]>;
226
226
  /**
@@ -232,7 +232,7 @@ declare function listSnapshots(tier: StorageTier, opts?: {
232
232
  * @throws {SurfaceError} `snapshot-failed` when `clear` is unsupported
233
233
  * or throws.
234
234
  */
235
- declare function deleteSnapshot(snapshotId: string, tier: StorageTier): Promise<void>;
235
+ declare function deleteSnapshot(snapshotId: string, tier: KvStorageTier): Promise<void>;
236
236
 
237
237
  /**
238
238
  * Surface layer (§9.3-core) — shared, JSON-safe operations consumed by
@@ -245,8 +245,8 @@ declare function deleteSnapshot(snapshotId: string, tier: StorageTier): Promise<
245
245
  * 1. {@link createGraph} — `compileSpec` wrapped with typed surface errors.
246
246
  * 2. {@link reduce} — one-shot `input → pipeline → output`.
247
247
  *
248
- * Snapshot persistence reuses the {@link StorageTier} substrate introduced
249
- * for `Graph.attachStorage`, so one-shot snapshots and auto-checkpoints
248
+ * Snapshot persistence reuses the {@link KvStorageTier} substrate introduced
249
+ * for `Graph.attachSnapshotStorage`, so one-shot snapshots and auto-checkpoints
250
250
  * share the {@link GraphCheckpointRecord} envelope. No new wire format.
251
251
  *
252
252
  * Errors throw as {@link SurfaceError} — wrappers map to their native
@@ -0,0 +1,26 @@
1
+ import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-B85HUrWg.cjs';
2
+
3
+ /**
4
+ * Orchestration patterns (roadmap §4.1).
5
+ *
6
+ * Domain-layer helpers that build workflow shapes on top of core + extra primitives.
7
+ * Exported under the `patterns.orchestration` namespace to avoid collisions with
8
+ * Phase 2 operator names (for example `gate`, `forEach`).
9
+ */
10
+
11
+ declare const index_CatchOptions: typeof CatchOptions;
12
+ declare const index_ClassifyResult: typeof ClassifyResult;
13
+ declare const index_Decision: typeof Decision;
14
+ declare const index_DecisionAction: typeof DecisionAction;
15
+ declare const index_GateController: typeof GateController;
16
+ declare const index_GateOptions: typeof GateOptions;
17
+ declare const index_PipelineGraph: typeof PipelineGraph;
18
+ declare const index_StepRef: typeof StepRef;
19
+ declare const index_TerminalCause: typeof TerminalCause;
20
+ declare const index_decisionKeyOf: typeof decisionKeyOf;
21
+ declare const index_pipelineGraph: typeof pipelineGraph;
22
+ declare namespace index {
23
+ export { index_CatchOptions as CatchOptions, index_ClassifyResult as ClassifyResult, index_Decision as Decision, index_DecisionAction as DecisionAction, index_GateController as GateController, index_GateOptions as GateOptions, index_PipelineGraph as PipelineGraph, index_StepRef as StepRef, index_TerminalCause as TerminalCause, index_decisionKeyOf as decisionKeyOf, index_pipelineGraph as pipelineGraph };
24
+ }
25
+
26
+ export { index as i };
@@ -1,6 +1,6 @@
1
- import { a as Node } from './node-8qx0kgYt.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-N_VtLf7W.cjs';
3
- import { B as BudgetConstraint } from './index-yJY9thRY.cjs';
1
+ import { a as Node } from './node-fSc-hCv8.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-BWP2c7Af.cjs';
3
+ import { B as BudgetConstraint } from './index-XxSeddWP.cjs';
4
4
 
5
5
  /**
6
6
  * Resilience composition with correct nesting order (roadmap §9.0b).
@@ -1,9 +1,10 @@
1
- import { T as ToObservableOptions, t as toObservable } from './observable-DOniYM2B.js';
1
+ import { T as ToObservableOptions, t as toObservable } from './observable-Cqty11jG.cjs';
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-BROUZPG9.js';
5
- import { A as Actor } from './node-8qx0kgYt.js';
6
- import { C as CqrsOptions, a as CqrsGraph, E as EventStoreAdapter } from './index-Cq7Uqgu4.js';
4
+ import { G as Graph, b as GraphPersistSnapshot } from './graph-kTltt95s.cjs';
5
+ import { A as Actor } from './node-fSc-hCv8.cjs';
6
+ import { c as CqrsOptions, b as CqrsGraph, a as CqrsEvent } from './index-zK_mN1D-.cjs';
7
+ import { AppendLogStorageTier } from './extra/storage-tiers.cjs';
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 } from './node-8qx0kgYt.js';
2
- import { a as GraphOptions, G as Graph } from './graph-BROUZPG9.js';
1
+ import { a as Node } from './node-fSc-hCv8.js';
2
+ import { a as GraphOptions, G as Graph } from './graph-Cv-8x0ZI.js';
3
3
 
4
4
  /**
5
5
  * Domain templates (roadmap §8.2).
@@ -1,7 +1,7 @@
1
- import { a as Node } from './node-8qx0kgYt.js';
2
- import { R as ReactiveMapBundle } from './reactive-map-LjwjcFaW.js';
3
- import { a as GraphOptions, G as Graph, C as CausalChain } from './graph-BROUZPG9.js';
4
- import { w as watchTopologyTree } from './topology-tree-CAFOG5S5.js';
1
+ import { a as Node } from './node-fSc-hCv8.js';
2
+ import { R as ReactiveMapBundle } from './reactive-map-CHyeCf4D.js';
3
+ import { a as GraphOptions, G as Graph, C as CausalChain } from './graph-Cv-8x0ZI.js';
4
+ import { w as watchTopologyTree } from './topology-tree-CJsT24DP.js';
5
5
 
6
6
  /** Aggregate topology stats emitted by {@link LensGraph.stats}. */
7
7
  interface TopologyStats {
@@ -1,11 +1,11 @@
1
1
  import { NodeInput } from './extra/sources.js';
2
- import { a as Node } from './node-8qx0kgYt.js';
3
- import { L as LLMAdapter } from './types-B2LfBvNc.js';
4
- import { T as TopicGraph, M as MessagingHubGraph } from './index-Bi4ZP6Hc.js';
5
- import { E as Evaluator, D as DatasetItem, a as EvalResult$1, R as RefineStrategy, b as RefineLoopOptions, c as RefineStatus } from './index-BUtCR0k6.js';
6
- import { G as Graph, s as GraphProfileResult, r as GraphProfileOptions } from './graph-BROUZPG9.js';
7
- import { G as GateController } from './index-HvJ90_tX.js';
8
- import { J as JobQueueGraph } from './index-Dtpr2FIB.js';
2
+ import { a as Node } from './node-fSc-hCv8.js';
3
+ import { L as LLMAdapter } from './types-CidcBDuk.js';
4
+ import { T as TopicGraph, M as MessagingHubGraph } from './index-C9xF16gc.js';
5
+ import { E as Evaluator, D as DatasetItem, a as EvalResult$1, R as RefineStrategy, b as RefineLoopOptions, c as RefineStatus } from './index-BF-ssbJB.js';
6
+ import { G as Graph, s as GraphProfileResult, r as GraphProfileOptions } from './graph-Cv-8x0ZI.js';
7
+ import { G as GateController } from './pipeline-graph-HOTU4UG0.js';
8
+ import { J as JobQueueGraph } from './index-CAIhFfws.js';
9
9
 
10
10
  /**
11
11
  * Strategy model and priority scoring (roadmap §9.0).
@@ -1,22 +1,11 @@
1
- import { a as Node } from './node-8qx0kgYt.js';
2
- import { G as Graph, a as GraphOptions } from './graph-BROUZPG9.js';
3
-
4
- /**
5
- * Messaging patterns (roadmap §4.2).
6
- *
7
- * Pulsar-inspired messaging primitives modeled as graph factories:
8
- * - `topic()` for append-only topic streams with a retained window.
9
- * - `subscription()` for cursor-based consumers.
10
- * - `topicBridge()` for autonomous topic-to-topic relay.
11
- * - `messagingHub()` for a lazy topic registry.
12
- *
13
- * Job queue / job flow primitives live in `patterns/job-queue` — they are a
14
- * distinct domain that happens to share reactive-log / reactive-map
15
- * infrastructure with topics.
16
- */
1
+ import { a as Node } from './node-fSc-hCv8.js';
2
+ import { G as Graph, a as GraphOptions } from './graph-Cv-8x0ZI.js';
3
+ import { R as ReactiveLogBundle } from './reactive-log-ByBb8g6A.js';
4
+ import { AppendLogStorageTier } from './extra/storage-tiers.js';
17
5
 
18
6
  type TopicOptions = {
19
7
  graph?: GraphOptions;
8
+ /** Bounded retention; default 1024 per cross-cutting policy (Audit 2/4). */
20
9
  retainedLimit?: number;
21
10
  };
22
11
  declare class TopicGraph<T> extends Graph {
@@ -42,14 +31,48 @@ declare class TopicGraph<T> extends Graph {
42
31
  readonly hasLatest: Node<boolean>;
43
32
  constructor(name: string, opts?: TopicOptions);
44
33
  publish(value: T): void;
34
+ /**
35
+ * Wire one or more append-log storage tiers (Audit 4). Each tier receives
36
+ * appended events per wave; rollback honors the wave-as-transaction model.
37
+ *
38
+ * Named `attachEventStorage` (not `attachStorage`) to avoid colliding with
39
+ * the inherited {@link Graph.attachSnapshotStorage} which takes the
40
+ * snapshot-based `StorageTier[]` shape.
41
+ *
42
+ * @returns Disposer.
43
+ */
44
+ attachEventStorage(tiers: readonly AppendLogStorageTier<T>[]): () => void;
45
45
  retained(): readonly T[];
46
+ /** Internal log bundle — used by TopicBridgeGraph for `attach`. */
47
+ get _logBundle(): ReactiveLogBundle<T>;
46
48
  }
47
49
  type SubscriptionOptions = {
48
50
  graph?: GraphOptions;
51
+ /**
52
+ * Starting cursor position.
53
+ * @deprecated Use `from` instead.
54
+ */
49
55
  cursor?: number;
56
+ /**
57
+ * Starting position for the subscription.
58
+ * - `"retained"` (default) — cursor starts at 0; consumer sees all retained history.
59
+ * - `"now"` — cursor starts at current topic length; consumer ignores history.
60
+ * - `number` — explicit cursor position.
61
+ */
62
+ from?: "now" | "retained" | number;
63
+ /**
64
+ * When this signal node emits DATA, the subscription auto-advances cursor
65
+ * to current `available.length`. Useful for "ack everything when X happens"
66
+ * patterns. The reactive edge `advanceOn → cursor` is visible in `explain()`.
67
+ */
68
+ advanceOn?: Node<unknown>;
69
+ };
70
+ /** Result of {@link SubscriptionGraph.pullAndAck}. */
71
+ type PullAndAckResult<T> = {
72
+ items: readonly T[];
73
+ cursor: number;
50
74
  };
51
75
  declare class SubscriptionGraph<T> extends Graph {
52
- readonly source: Node<readonly T[]>;
53
76
  readonly cursor: Node<number>;
54
77
  readonly available: Node<readonly T[]>;
55
78
  /**
@@ -61,24 +84,74 @@ declare class SubscriptionGraph<T> extends Graph {
61
84
  * still wires the data dependency across graph boundaries. D1(e).
62
85
  */
63
86
  readonly topic: TopicGraph<T>;
87
+ private _disposed;
64
88
  constructor(name: string, topicGraph: TopicGraph<T>, opts?: SubscriptionOptions);
65
89
  ack(count?: number): number;
66
- pull(limit?: number, opts?: {
67
- ack?: boolean;
68
- }): readonly T[];
90
+ pull(limit?: number): readonly T[];
91
+ /**
92
+ * Atomic pull-and-acknowledge. Returns `{ items, cursor }` where `cursor`
93
+ * is the new cursor position after advancing. Under single-threaded JS the
94
+ * snapshot and advance are atomic; PY callers use a per-subscription Lock.
95
+ *
96
+ * Replaces `pull(limit, { ack: true })`.
97
+ */
98
+ pullAndAck(limit?: number): PullAndAckResult<T>;
99
+ /**
100
+ * Release internal subscriptions and mark the subscription torn-down.
101
+ * Subsequent `pull`, `pullAndAck`, `ack` return empty / current cursor.
102
+ * Emits COMPLETE on `cursor` so derived consumers (e.g. `available`) see
103
+ * the termination signal. Also drains `addDisposer` callbacks (including
104
+ * the `keepalive(advancePump)` subscription) so no keepalive leak occurs.
105
+ */
106
+ dispose(): void;
69
107
  }
70
108
  type TopicBridgeOptions<TIn, TOut> = {
71
109
  graph?: GraphOptions;
72
110
  cursor?: number;
73
111
  maxPerPump?: number;
112
+ /**
113
+ * Optional transform/filter applied to each item before republishing.
114
+ *
115
+ * **At-most-once with silent drop:** when `map` returns `undefined`, the
116
+ * input is consumed from the source cursor but NOT republished. Filtered
117
+ * items are not retained for retry. If you need filter-with-retry
118
+ * semantics, do the filtering in a downstream subscription on the bridged
119
+ * output rather than in the `map` function.
120
+ */
74
121
  map?: (value: TIn) => TOut | undefined;
75
122
  };
76
123
  declare class TopicBridgeGraph<TIn, TOut = TIn> extends Graph {
77
124
  private readonly _sourceSub;
78
- private readonly _target;
79
125
  readonly bridgedCount: Node<number>;
126
+ /**
127
+ * Emits each mapped batch as DATA — gives downstream observers a reactive
128
+ * stream of bridged values. Also the link target for `target._log.attach`.
129
+ */
130
+ readonly output: Node<readonly TOut[]>;
80
131
  constructor(name: string, sourceTopic: TopicGraph<TIn>, targetTopic: TopicGraph<TOut>, opts?: TopicBridgeOptions<TIn, TOut>);
81
132
  }
133
+ /**
134
+ * Private pure data structure managing a named set of {@link TopicGraph}
135
+ * instances. Extracted from {@link MessagingHubGraph} for separation of
136
+ * concerns (B.2 Unit 14 lock: D — split into TopicRegistry + facade).
137
+ *
138
+ * Reusable if other domain consumers (e.g. cqrs.eventLogs) want a shared
139
+ * topic registry later.
140
+ *
141
+ * @internal
142
+ */
143
+ declare class TopicRegistry {
144
+ private readonly _map;
145
+ /** Reactive monotonic version counter. Advances on topic create/remove. */
146
+ readonly version: Node<number>;
147
+ constructor(versionNode: Node<number>);
148
+ get size(): number;
149
+ has(name: string): boolean;
150
+ get<T>(name: string): TopicGraph<T> | undefined;
151
+ set<T>(name: string, t: TopicGraph<T>): void;
152
+ delete(name: string): boolean;
153
+ keys(): IterableIterator<string>;
154
+ }
82
155
  type MessagingHubOptions = {
83
156
  graph?: GraphOptions;
84
157
  /**
@@ -93,6 +166,9 @@ type MessagingHubOptions = {
93
166
  * instances with retention + cursor semantics. Topics are created on first
94
167
  * access; `removeTopic(name)` unmounts and tears down via {@link Graph.remove}.
95
168
  *
169
+ * Internally delegates to {@link TopicRegistry} for topic map management
170
+ * (B.2 Unit 14 lock: D facade split).
171
+ *
96
172
  * **Relationship to `pubsub()` in `src/extra/pubsub.ts`:** `pubsub` is a
97
173
  * lightweight last-value state hub (no retention, no cursors). `MessagingHubGraph`
98
174
  * is the full messaging hub — retained message logs, cursor-based subscriptions,
@@ -101,12 +177,11 @@ type MessagingHubOptions = {
101
177
  * @category patterns
102
178
  */
103
179
  declare class MessagingHubGraph extends Graph {
104
- private readonly _topics;
105
- private _version;
180
+ private readonly _registry;
181
+ /** Reactive monotonic version counter — advances on topic create/remove. */
182
+ readonly version: Node<number>;
106
183
  private readonly _defaultTopicOptions;
107
184
  constructor(name: string, opts?: MessagingHubOptions);
108
- /** Monotonic counter advancing on topic create/remove. */
109
- get version(): number;
110
185
  /** Number of topics currently in the hub. */
111
186
  get size(): number;
112
187
  /** Checks topic existence without creating. */
@@ -181,12 +256,18 @@ declare function messagingHub(name: string, opts?: MessagingHubOptions): Messagi
181
256
  declare function subscription<T>(name: string, topicGraph: TopicGraph<T>, opts?: SubscriptionOptions): SubscriptionGraph<T>;
182
257
  /**
183
258
  * Creates an autonomous cursor-based topic relay graph.
259
+ *
260
+ * When `opts.map` is provided, items where `map` returns `undefined` are
261
+ * consumed from the source cursor but NOT republished (at-most-once with
262
+ * silent drop). For filter-with-retry semantics, apply the filter in a
263
+ * downstream subscription on the bridge's `output` node instead.
184
264
  */
185
265
  declare function topicBridge<TIn, TOut = TIn>(name: string, sourceTopic: TopicGraph<TIn>, targetTopic: TopicGraph<TOut>, opts?: TopicBridgeOptions<TIn, TOut>): TopicBridgeGraph<TIn, TOut>;
186
266
 
187
267
  type index_MessagingHubGraph = MessagingHubGraph;
188
268
  declare const index_MessagingHubGraph: typeof MessagingHubGraph;
189
269
  type index_MessagingHubOptions = MessagingHubOptions;
270
+ type index_PullAndAckResult<T> = PullAndAckResult<T>;
190
271
  type index_SubscriptionGraph<T> = SubscriptionGraph<T>;
191
272
  declare const index_SubscriptionGraph: typeof SubscriptionGraph;
192
273
  type index_SubscriptionOptions = SubscriptionOptions;
@@ -196,12 +277,14 @@ type index_TopicBridgeOptions<TIn, TOut> = TopicBridgeOptions<TIn, TOut>;
196
277
  type index_TopicGraph<T> = TopicGraph<T>;
197
278
  declare const index_TopicGraph: typeof TopicGraph;
198
279
  type index_TopicOptions = TopicOptions;
280
+ type index_TopicRegistry = TopicRegistry;
281
+ declare const index_TopicRegistry: typeof TopicRegistry;
199
282
  declare const index_messagingHub: typeof messagingHub;
200
283
  declare const index_subscription: typeof subscription;
201
284
  declare const index_topic: typeof topic;
202
285
  declare const index_topicBridge: typeof topicBridge;
203
286
  declare namespace index {
204
- export { index_MessagingHubGraph as MessagingHubGraph, type index_MessagingHubOptions as MessagingHubOptions, index_SubscriptionGraph as SubscriptionGraph, type index_SubscriptionOptions as SubscriptionOptions, index_TopicBridgeGraph as TopicBridgeGraph, type index_TopicBridgeOptions as TopicBridgeOptions, index_TopicGraph as TopicGraph, type index_TopicOptions as TopicOptions, index_messagingHub as messagingHub, index_subscription as subscription, index_topic as topic, index_topicBridge as topicBridge };
287
+ export { index_MessagingHubGraph as MessagingHubGraph, type index_MessagingHubOptions as MessagingHubOptions, type index_PullAndAckResult as PullAndAckResult, index_SubscriptionGraph as SubscriptionGraph, type index_SubscriptionOptions as SubscriptionOptions, index_TopicBridgeGraph as TopicBridgeGraph, type index_TopicBridgeOptions as TopicBridgeOptions, index_TopicGraph as TopicGraph, type index_TopicOptions as TopicOptions, index_TopicRegistry as TopicRegistry, index_messagingHub as messagingHub, index_subscription as subscription, index_topic as topic, index_topicBridge as topicBridge };
205
288
  }
206
289
 
207
- export { MessagingHubGraph as M, SubscriptionGraph as S, TopicGraph as T, type MessagingHubOptions as a, type SubscriptionOptions as b, TopicBridgeGraph as c, type TopicBridgeOptions as d, type TopicOptions as e, topicBridge as f, index as i, messagingHub as m, subscription as s, topic as t };
290
+ export { MessagingHubGraph as M, type PullAndAckResult as P, SubscriptionGraph as S, TopicGraph as T, type MessagingHubOptions as a, type SubscriptionOptions as b, TopicBridgeGraph as c, type TopicBridgeOptions as d, type TopicOptions as e, TopicRegistry as f, topicBridge as g, index as i, messagingHub as m, subscription as s, topic as t };
@@ -0,0 +1,171 @@
1
+ import { a as Node } from './node-fSc-hCv8.js';
2
+ import { R as ReactiveLogBundle } from './reactive-log-ByBb8g6A.js';
3
+ import { NodeInput } from './extra/sources.js';
4
+ import { AppendLogStorageTier } from './extra/storage-tiers.js';
5
+ import { G as Graph, a as GraphOptions } from './graph-Cv-8x0ZI.js';
6
+ import { B as BaseAuditRecord } from './imperative-audit-ahAE65a9.js';
7
+
8
+ /**
9
+ * Job queue patterns (roadmap §4.2).
10
+ *
11
+ * Queue / flow primitives modeled as graph factories:
12
+ * - `jobQueue()` — claim/ack/nack workflow with reactive depth.
13
+ * - `jobFlow()` — multi-stage queue chain.
14
+ *
15
+ * Topic / subscription / hub primitives live in `patterns/messaging`.
16
+ */
17
+
18
+ type JobState = "queued" | "inflight";
19
+ type JobEnvelope<T> = {
20
+ id: string;
21
+ payload: T;
22
+ attempts: number;
23
+ metadata: Readonly<Record<string, unknown>>;
24
+ state: JobState;
25
+ };
26
+ /** Audit record for a job-queue mutation (Audit 2 cross-cutting). */
27
+ type JobEventAction = "enqueue" | "claim" | "ack" | "nack" | "remove";
28
+ interface JobEvent<T = unknown> extends BaseAuditRecord {
29
+ readonly action: JobEventAction;
30
+ readonly id: string;
31
+ readonly attempts?: number;
32
+ readonly payload?: T;
33
+ }
34
+ /** Recommended `keyOf` for keyed-storage adapters (Audit 2 #7). */
35
+ declare const jobEventKeyOf: <T>(e: JobEvent<T>) => string;
36
+ type JobQueueOptions = {
37
+ graph?: GraphOptions;
38
+ };
39
+ declare class JobQueueGraph<T> extends Graph {
40
+ private readonly _pending;
41
+ private readonly _jobs;
42
+ private readonly _seqCursor;
43
+ readonly pending: Node<readonly string[]>;
44
+ readonly jobs: Node<ReadonlyMap<string, JobEnvelope<T>>>;
45
+ readonly depth: Node<number>;
46
+ /** Audit log of every queue mutation (Audit 2). */
47
+ readonly events: ReactiveLogBundle<JobEvent<T>>;
48
+ /** Alias for {@link JobQueueGraph.events} — Audit 2 `.audit` duplication. */
49
+ readonly audit: ReactiveLogBundle<JobEvent<T>>;
50
+ constructor(name: string, opts?: JobQueueOptions);
51
+ private _bumpSeq;
52
+ /**
53
+ * Wire append-log storage tiers (Audit 4). Returns a disposer.
54
+ *
55
+ * Named `attachEventStorage` to avoid colliding with {@link Graph.attachSnapshotStorage}.
56
+ */
57
+ attachEventStorage(tiers: readonly AppendLogStorageTier<JobEvent<T>>[]): () => void;
58
+ enqueue(payload: T, opts?: {
59
+ id?: string;
60
+ metadata?: Record<string, unknown>;
61
+ }): string;
62
+ claim(limit?: number): readonly JobEnvelope<T>[];
63
+ ack(id: string): boolean;
64
+ nack(id: string, opts?: {
65
+ requeue?: boolean;
66
+ }): boolean;
67
+ /**
68
+ * Remove a job by id regardless of its current state. Returns `true` if
69
+ * the job existed and was removed, `false` if no job has this id.
70
+ *
71
+ * `ack` only works on inflight; `nack` only works on inflight.
72
+ * `removeById` is the state-agnostic escape hatch — useful for
73
+ * audit/observability layers that enqueue but never claim, and need to
74
+ * finalize a job when an external decision (e.g. harness verify
75
+ * outcome) resolves it. Distinct name from the inherited
76
+ * {@link Graph.remove}, which removes a mounted child subgraph by path.
77
+ *
78
+ * When the job is in `queued` state, its id is also pulled from the
79
+ * `pending` list — depth + pending snapshot stay consistent.
80
+ */
81
+ removeById(id: string): boolean;
82
+ /**
83
+ * Subscribe to a Node and enqueue each DATA payload into this queue.
84
+ * Returns a disposer that stops consuming when called.
85
+ *
86
+ * Used internally by {@link JobFlowGraph} for stage-to-stage wiring but
87
+ * also useful for users wiring an external source into a job queue.
88
+ *
89
+ * @param source - Node whose DATA values are enqueued.
90
+ * @param opts - Optional enqueue options (id generator, metadata prefix).
91
+ */
92
+ consumeFrom(source: Node<T>, opts?: {
93
+ metadata?: Record<string, unknown>;
94
+ }): () => void;
95
+ }
96
+ /**
97
+ * Work function for a job flow stage. Receives the full job envelope,
98
+ * returns a `NodeInput<T>` — raw value (sync), Promise (async), or Node
99
+ * (composed pipeline). `fromAny` coerces any of these shapes.
100
+ *
101
+ * On error / rejection: the stage nacks the job (no requeue by default).
102
+ */
103
+ type WorkFn<T> = (job: JobEnvelope<T>) => NodeInput<T>;
104
+ /**
105
+ * Stage definition for {@link JobFlowGraph}. Either a bare name string
106
+ * (no work hook, pure pass-through) or a full definition object.
107
+ */
108
+ type StageDef<T> = string | {
109
+ name: string;
110
+ work?: WorkFn<T>;
111
+ handlerVersion?: {
112
+ id: string;
113
+ version: string | number;
114
+ };
115
+ };
116
+ type JobFlowOptions<T = unknown> = {
117
+ graph?: GraphOptions;
118
+ /**
119
+ * Stage definitions. Each stage is either a bare name string (pure
120
+ * pass-through) or a `{ name, work?, handlerVersion? }` object.
121
+ *
122
+ * For back-compat, `string[]` values behave as stages with no work hook.
123
+ */
124
+ stages?: readonly StageDef<T>[];
125
+ maxPerPump?: number;
126
+ };
127
+ declare class JobFlowGraph<T> extends Graph {
128
+ private readonly _stageNames;
129
+ private readonly _stageWorkFns;
130
+ private readonly _queues;
131
+ private readonly _completed;
132
+ readonly completed: Node<readonly JobEnvelope<T>[]>;
133
+ readonly completedCount: Node<number>;
134
+ constructor(name: string, opts?: JobFlowOptions<T>);
135
+ stages(): readonly string[];
136
+ queue(stage: string): JobQueueGraph<T>;
137
+ enqueue(payload: T, opts?: {
138
+ id?: string;
139
+ metadata?: Record<string, unknown>;
140
+ }): string;
141
+ retainedCompleted(): readonly JobEnvelope<T>[];
142
+ }
143
+ /**
144
+ * Creates a Pulsar-inspired job queue graph with claim/ack/nack workflow.
145
+ */
146
+ declare function jobQueue<T>(name: string, opts?: JobQueueOptions): JobQueueGraph<T>;
147
+ /**
148
+ * Creates an autonomous multi-stage queue chain graph.
149
+ */
150
+ declare function jobFlow<T>(name: string, opts?: JobFlowOptions<T>): JobFlowGraph<T>;
151
+
152
+ type index_JobEnvelope<T> = JobEnvelope<T>;
153
+ type index_JobEvent<T = unknown> = JobEvent<T>;
154
+ type index_JobEventAction = JobEventAction;
155
+ type index_JobFlowGraph<T> = JobFlowGraph<T>;
156
+ declare const index_JobFlowGraph: typeof JobFlowGraph;
157
+ type index_JobFlowOptions<T = unknown> = JobFlowOptions<T>;
158
+ type index_JobQueueGraph<T> = JobQueueGraph<T>;
159
+ declare const index_JobQueueGraph: typeof JobQueueGraph;
160
+ type index_JobQueueOptions = JobQueueOptions;
161
+ type index_JobState = JobState;
162
+ type index_StageDef<T> = StageDef<T>;
163
+ type index_WorkFn<T> = WorkFn<T>;
164
+ declare const index_jobEventKeyOf: typeof jobEventKeyOf;
165
+ declare const index_jobFlow: typeof jobFlow;
166
+ declare const index_jobQueue: typeof jobQueue;
167
+ declare namespace index {
168
+ export { type index_JobEnvelope as JobEnvelope, type index_JobEvent as JobEvent, type index_JobEventAction as JobEventAction, index_JobFlowGraph as JobFlowGraph, type index_JobFlowOptions as JobFlowOptions, index_JobQueueGraph as JobQueueGraph, type index_JobQueueOptions as JobQueueOptions, type index_JobState as JobState, type index_StageDef as StageDef, type index_WorkFn as WorkFn, index_jobEventKeyOf as jobEventKeyOf, index_jobFlow as jobFlow, index_jobQueue as jobQueue };
169
+ }
170
+
171
+ export { JobQueueGraph as J, type StageDef as S, type WorkFn as W, type JobEnvelope as a, type JobEvent as b, type JobEventAction as c, JobFlowGraph as d, type JobFlowOptions as e, type JobQueueOptions as f, type JobState as g, jobFlow as h, index as i, jobEventKeyOf as j, jobQueue as k };
@@ -1,4 +1,4 @@
1
- import { a as Node } from './node-8qx0kgYt.js';
1
+ import { a as Node } from './node-fSc-hCv8.js';
2
2
 
3
3
  /** Solid accessor function — returns current value when called. */
4
4
  type Accessor<T> = () => T;