@graphrefly/graphrefly 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/dist/backoff-HPZMEZNF.js +1 -0
  2. package/dist/cascading-B-5zmAUv.d.cts +180 -0
  3. package/dist/cascading-D9WG1-9L.d.ts +180 -0
  4. package/dist/chunk-2FOAM3OR.js +1 -0
  5. package/dist/chunk-2PMCKKRK.js +1 -0
  6. package/dist/chunk-3JXNEPCD.js +2 -0
  7. package/dist/chunk-3R5HFPX7.js +78 -0
  8. package/dist/chunk-4GKB4OUJ.js +1 -0
  9. package/dist/chunk-4VVTGLXJ.js +1 -0
  10. package/dist/chunk-5QDBSZBV.js +1 -0
  11. package/dist/chunk-6QZNQS5B.js +1 -0
  12. package/dist/chunk-6V3SEX2I.js +1 -0
  13. package/dist/chunk-76A3HVQE.js +9 -0
  14. package/dist/chunk-7H6LGFUG.js +64 -0
  15. package/dist/chunk-CK2E7BTU.js +1 -0
  16. package/dist/chunk-CKCSDI7T.js +6 -0
  17. package/dist/chunk-CRXTH3SH.js +1 -0
  18. package/dist/chunk-CWLN3X3N.js +1 -0
  19. package/dist/chunk-D7A7DBE4.js +1 -0
  20. package/dist/chunk-DBGGMN3D.js +1 -0
  21. package/dist/chunk-DQA3UIQ2.js +1 -0
  22. package/dist/chunk-ERLIRFPA.js +1 -0
  23. package/dist/chunk-ESMPEKEV.js +1 -0
  24. package/dist/chunk-ETWTCCJI.js +1 -0
  25. package/dist/chunk-FNYWM6JC.js +1 -0
  26. package/dist/chunk-GHJJR5P4.js +1 -0
  27. package/dist/chunk-GPW2V3RE.js +1 -0
  28. package/dist/chunk-I6VIH3VA.js +1 -0
  29. package/dist/chunk-K2GNMCQT.js +1 -0
  30. package/dist/chunk-LBTDSCCO.js +3 -0
  31. package/dist/chunk-LQ3Y5NJS.js +1 -0
  32. package/dist/chunk-MIQTDPY4.js +5 -0
  33. package/dist/chunk-MTTAAPCK.js +1 -0
  34. package/dist/chunk-OAWLCNJJ.js +1 -0
  35. package/dist/chunk-OBKQQA5I.js +1 -0
  36. package/dist/chunk-OYHGKYQM.js +1 -0
  37. package/dist/chunk-PIOGHC63.js +1 -0
  38. package/dist/chunk-QWAPKG3O.js +2 -0
  39. package/dist/chunk-QYADASLV.js +1 -0
  40. package/dist/chunk-RHESUC3V.js +43 -0
  41. package/dist/chunk-S35VARIR.js +1 -0
  42. package/dist/chunk-SC3U7ETD.js +1 -0
  43. package/dist/chunk-U3AICJKU.js +1 -0
  44. package/dist/chunk-UMBIDLJ4.js +1 -0
  45. package/dist/chunk-UPHHLMHE.js +1 -0
  46. package/dist/chunk-UPXUCFMX.js +1 -0
  47. package/dist/chunk-UWJE5FQA.js +18 -0
  48. package/dist/chunk-V6YQICXZ.js +1 -0
  49. package/dist/chunk-VIMF6LGM.js +1 -0
  50. package/dist/chunk-VJLMUKOI.js +1 -0
  51. package/dist/chunk-VPYBOXVT.js +1 -0
  52. package/dist/chunk-VTPVOGHH.js +1 -0
  53. package/dist/chunk-WQ2BN6X6.js +1 -0
  54. package/dist/chunk-XAUNPIMX.js +1 -0
  55. package/dist/chunk-Y2EMPB3I.js +1 -0
  56. package/dist/chunk-Z4HDAS2Q.js +1 -0
  57. package/dist/chunk-ZB5EHBIO.js +1 -0
  58. package/dist/chunk-ZV2DXV5A.js +23 -0
  59. package/dist/compat/index.cjs +14 -7656
  60. package/dist/compat/index.d.cts +15 -14
  61. package/dist/compat/index.d.ts +15 -14
  62. package/dist/compat/index.js +1 -49
  63. package/dist/compat/jotai/index.cjs +1 -2048
  64. package/dist/compat/jotai/index.d.cts +2 -2
  65. package/dist/compat/jotai/index.d.ts +2 -2
  66. package/dist/compat/jotai/index.js +1 -9
  67. package/dist/compat/nanostores/index.cjs +1 -2175
  68. package/dist/compat/nanostores/index.d.cts +2 -2
  69. package/dist/compat/nanostores/index.d.ts +2 -2
  70. package/dist/compat/nanostores/index.js +1 -23
  71. package/dist/compat/nestjs/index.cjs +14 -6782
  72. package/dist/compat/nestjs/index.d.cts +7 -6
  73. package/dist/compat/nestjs/index.d.ts +7 -6
  74. package/dist/compat/nestjs/index.js +1 -82
  75. package/dist/compat/react/index.cjs +1 -141
  76. package/dist/compat/react/index.d.cts +2 -2
  77. package/dist/compat/react/index.d.ts +2 -2
  78. package/dist/compat/react/index.js +1 -12
  79. package/dist/compat/solid/index.cjs +1 -128
  80. package/dist/compat/solid/index.d.cts +2 -2
  81. package/dist/compat/solid/index.d.ts +2 -2
  82. package/dist/compat/solid/index.js +1 -12
  83. package/dist/compat/svelte/index.cjs +1 -131
  84. package/dist/compat/svelte/index.d.cts +2 -2
  85. package/dist/compat/svelte/index.d.ts +2 -2
  86. package/dist/compat/svelte/index.js +1 -12
  87. package/dist/compat/vue/index.cjs +1 -146
  88. package/dist/compat/vue/index.d.cts +2 -2
  89. package/dist/compat/vue/index.d.ts +2 -2
  90. package/dist/compat/vue/index.js +1 -12
  91. package/dist/compat/zustand/index.cjs +6 -4931
  92. package/dist/compat/zustand/index.d.cts +5 -5
  93. package/dist/compat/zustand/index.d.ts +5 -5
  94. package/dist/compat/zustand/index.js +1 -12
  95. package/dist/composite-B-xqw4Kk.d.cts +69 -0
  96. package/dist/composite-BhbKHbOS.d.ts +69 -0
  97. package/dist/core/index.cjs +1 -2271
  98. package/dist/core/index.d.cts +4 -3
  99. package/dist/core/index.d.ts +4 -3
  100. package/dist/core/index.js +1 -110
  101. package/dist/extra/browser.cjs +1 -0
  102. package/dist/extra/browser.d.cts +3 -0
  103. package/dist/extra/browser.d.ts +3 -0
  104. package/dist/extra/browser.js +1 -0
  105. package/dist/extra/index.cjs +23 -9971
  106. package/dist/extra/index.d.cts +13 -5
  107. package/dist/extra/index.d.ts +13 -5
  108. package/dist/extra/index.js +1 -375
  109. package/dist/extra/node.cjs +3 -0
  110. package/dist/extra/node.d.cts +81 -0
  111. package/dist/extra/node.d.ts +81 -0
  112. package/dist/extra/node.js +2 -0
  113. package/dist/extra/operators.cjs +1 -0
  114. package/dist/extra/operators.d.cts +910 -0
  115. package/dist/extra/operators.d.ts +910 -0
  116. package/dist/extra/operators.js +1 -0
  117. package/dist/extra/reactive.cjs +1 -0
  118. package/dist/extra/reactive.d.cts +352 -0
  119. package/dist/extra/reactive.d.ts +352 -0
  120. package/dist/extra/reactive.js +1 -0
  121. package/dist/extra/sources.cjs +1 -2486
  122. package/dist/extra/sources.d.cts +6 -2
  123. package/dist/extra/sources.d.ts +6 -2
  124. package/dist/extra/sources.js +1 -57
  125. package/dist/extra/storage-browser.cjs +1 -0
  126. package/dist/extra/storage-browser.d.cts +71 -0
  127. package/dist/extra/storage-browser.d.ts +71 -0
  128. package/dist/extra/storage-browser.js +1 -0
  129. package/dist/extra/storage-core.cjs +1 -0
  130. package/dist/extra/storage-core.d.cts +98 -0
  131. package/dist/extra/storage-core.d.ts +98 -0
  132. package/dist/extra/storage-core.js +1 -0
  133. package/dist/extra/storage-node.cjs +2 -0
  134. package/dist/extra/storage-node.d.cts +60 -0
  135. package/dist/extra/storage-node.d.ts +60 -0
  136. package/dist/extra/storage-node.js +1 -0
  137. package/dist/fallback-BaTS7vVY.d.cts +258 -0
  138. package/dist/fallback-eOm3LNxP.d.ts +258 -0
  139. package/dist/graph/index.cjs +6 -5030
  140. package/dist/graph/index.d.cts +6 -5
  141. package/dist/graph/index.d.ts +6 -5
  142. package/dist/graph/index.js +1 -50
  143. package/dist/{graph-6tZ5jEzr.d.cts → graph-BZGRXwOm.d.ts} +134 -31
  144. package/dist/{graph-DQ69XU0g.d.ts → graph-D48Qw9Cg.d.cts} +134 -31
  145. package/dist/index-8FSVk4Uf.d.ts +135 -0
  146. package/dist/index-9oDeHH2u.d.cts +291 -0
  147. package/dist/index-B0c4cmIO.d.ts +207 -0
  148. package/dist/{index-CDAjUFIv.d.ts → index-B1AmmSlb.d.ts} +1 -1
  149. package/dist/{index-Bd_fwmLf.d.cts → index-B2pwesl9.d.cts} +1 -1
  150. package/dist/index-BHvIquRZ.d.ts +1957 -0
  151. package/dist/{index-CPgZ5wRl.d.ts → index-BVHOrDwO.d.ts} +1 -1
  152. package/dist/{index-DrISNAOm.d.ts → index-BWJV63ti.d.ts} +1 -1
  153. package/dist/{index-B_IP40nB.d.cts → index-B_agccPe.d.cts} +1 -1
  154. package/dist/index-BgyGlizc.d.ts +163 -0
  155. package/dist/index-BpA5c4G9.d.ts +357 -0
  156. package/dist/index-BpIFjILY.d.cts +357 -0
  157. package/dist/{index-qldRdbQw.d.ts → index-Bqachn9_.d.ts} +1 -1
  158. package/dist/index-Btib9rsU.d.ts +607 -0
  159. package/dist/{index-BYOHF0zP.d.ts → index-BwM9BEkt.d.ts} +1 -1
  160. package/dist/index-BxJ86YZZ.d.cts +105 -0
  161. package/dist/index-C73n7lo-.d.cts +251 -0
  162. package/dist/index-CEXXwWVH.d.cts +192 -0
  163. package/dist/index-CHEswufn.d.cts +163 -0
  164. package/dist/{index-xdGjv0nO.d.ts → index-CMn8S8Hw.d.ts} +1 -1
  165. package/dist/{index-QBpffFW-.d.cts → index-CRO83MmV.d.cts} +1 -1
  166. package/dist/{index-BjI6ty9z.d.ts → index-CloUk1kY.d.ts} +9 -9
  167. package/dist/index-CpgYhnrG.d.ts +291 -0
  168. package/dist/{index-CUyrtuOf.d.cts → index-Cyojz0AE.d.cts} +1 -1
  169. package/dist/{demo-shell-DEp-nMTl.d.ts → index-CzobVSMr.d.ts} +14 -14
  170. package/dist/index-Czq6ynh8.d.ts +143 -0
  171. package/dist/index-D-YB-Vl3.d.ts +195 -0
  172. package/dist/index-DAlweici.d.ts +231 -0
  173. package/dist/index-DEwTb_fm.d.cts +1957 -0
  174. package/dist/{index-DFhjO4Gg.d.cts → index-DL-rYJrx.d.cts} +1 -1
  175. package/dist/index-DP4ZTkdw.d.ts +139 -0
  176. package/dist/{index-BeIdBfcb.d.cts → index-DUqMOlKZ.d.cts} +200 -2366
  177. package/dist/{index-Bxb5ZYc9.d.cts → index-D_NwnRYS.d.cts} +1 -1
  178. package/dist/index-DaLJvH8Z.d.ts +105 -0
  179. package/dist/index-DcXZBF5a.d.cts +135 -0
  180. package/dist/index-DfyOkTvs.d.ts +321 -0
  181. package/dist/{index-CmnuOibw.d.ts → index-DiOXyAwt.d.ts} +1 -1
  182. package/dist/index-DpHe5e0Q.d.ts +186 -0
  183. package/dist/index-DraikLjn.d.ts +86 -0
  184. package/dist/{index-BEfE8H_G.d.cts → index-DxsnAMWD.d.cts} +9 -9
  185. package/dist/index-DyxjtScX.d.cts +207 -0
  186. package/dist/index-HDpJe9hX.d.ts +251 -0
  187. package/dist/index-O6TgGUBV.d.cts +195 -0
  188. package/dist/{index-B4MP_8V_.d.cts → index-Oi8d8w4R.d.cts} +1 -1
  189. package/dist/{index-BW1z3BN9.d.ts → index-ROpQmGjE.d.ts} +30 -6
  190. package/dist/index-RukJ4DLS.d.cts +607 -0
  191. package/dist/{index-DdD5MVDL.d.ts → index-ZftwfxJM.d.ts} +200 -2366
  192. package/dist/{index-CuYwdKO-.d.ts → index-cByzxQIC.d.cts} +10 -195
  193. package/dist/index-dtN7YA2x.d.cts +143 -0
  194. package/dist/{index-C8mdwMXc.d.cts → index-fM6y00vT.d.cts} +30 -6
  195. package/dist/{index-_oMEWlDq.d.cts → index-m-yHof5p.d.ts} +10 -195
  196. package/dist/index-pXrDMpRO.d.cts +231 -0
  197. package/dist/index-rHJSKsU8.d.cts +186 -0
  198. package/dist/index-rX8HBM5h.d.cts +321 -0
  199. package/dist/{index-CUwyr1Kk.d.cts → index-rnwQly8X.d.cts} +147 -20
  200. package/dist/index-sm373fsH.d.ts +192 -0
  201. package/dist/index-tbf2gKHd.d.cts +139 -0
  202. package/dist/{demo-shell-26p5fVxn.d.cts → index-u15meRxL.d.cts} +14 -14
  203. package/dist/{index-eJ6T_qGM.d.ts → index-umtoWT8K.d.ts} +147 -20
  204. package/dist/index-vscRDkjW.d.cts +86 -0
  205. package/dist/index.cjs +150 -24142
  206. package/dist/index.d.cts +69 -3756
  207. package/dist/index.d.ts +69 -3756
  208. package/dist/index.js +1 -7292
  209. package/dist/{meta-C0-8XW6Q.d.cts → meta-Cgj6zeji.d.cts} +5 -5
  210. package/dist/{meta-BGqSZ7mt.d.ts → meta-CwesDrMD.d.ts} +5 -5
  211. package/dist/{node-C_IBuvX2.d.cts → node-Cc1TniY8.d.cts} +36 -9
  212. package/dist/{node-C_IBuvX2.d.ts → node-Cc1TniY8.d.ts} +36 -9
  213. package/dist/{observable-DCk45RH5.d.ts → observable-Ct-gJ9jI.d.ts} +1 -1
  214. package/dist/{observable-Crr1jgzx.d.cts → observable-glXQoGj2.d.cts} +1 -1
  215. package/dist/patterns/ai/browser.cjs +25 -0
  216. package/dist/patterns/ai/browser.d.cts +127 -0
  217. package/dist/patterns/ai/browser.d.ts +127 -0
  218. package/dist/patterns/ai/browser.js +3 -0
  219. package/dist/patterns/ai/index.cjs +91 -0
  220. package/dist/patterns/ai/index.d.cts +17 -0
  221. package/dist/patterns/ai/index.d.ts +17 -0
  222. package/dist/patterns/ai/index.js +1 -0
  223. package/dist/patterns/ai/node.cjs +2 -0
  224. package/dist/patterns/ai/node.d.cts +58 -0
  225. package/dist/patterns/ai/node.d.ts +58 -0
  226. package/dist/patterns/ai/node.js +1 -0
  227. package/dist/patterns/audit/index.cjs +6 -0
  228. package/dist/patterns/audit/index.d.cts +6 -0
  229. package/dist/patterns/audit/index.d.ts +6 -0
  230. package/dist/patterns/audit/index.js +1 -0
  231. package/dist/patterns/cqrs/index.cjs +6 -0
  232. package/dist/patterns/cqrs/index.d.cts +5 -0
  233. package/dist/patterns/cqrs/index.d.ts +5 -0
  234. package/dist/patterns/cqrs/index.js +1 -0
  235. package/dist/patterns/demo-shell/index.cjs +7 -0
  236. package/dist/patterns/demo-shell/index.d.cts +6 -0
  237. package/dist/patterns/demo-shell/index.d.ts +6 -0
  238. package/dist/patterns/demo-shell/index.js +1 -0
  239. package/dist/patterns/domain-templates/index.cjs +6 -0
  240. package/dist/patterns/domain-templates/index.d.cts +5 -0
  241. package/dist/patterns/domain-templates/index.d.ts +5 -0
  242. package/dist/patterns/domain-templates/index.js +1 -0
  243. package/dist/patterns/graphspec/index.cjs +83 -0
  244. package/dist/patterns/graphspec/index.d.cts +7 -0
  245. package/dist/patterns/graphspec/index.d.ts +7 -0
  246. package/dist/patterns/graphspec/index.js +1 -0
  247. package/dist/patterns/guarded-execution/index.cjs +6 -0
  248. package/dist/patterns/guarded-execution/index.d.cts +7 -0
  249. package/dist/patterns/guarded-execution/index.d.ts +7 -0
  250. package/dist/patterns/guarded-execution/index.js +1 -0
  251. package/dist/patterns/harness/index.cjs +48 -0
  252. package/dist/patterns/harness/index.d.cts +8 -0
  253. package/dist/patterns/harness/index.d.ts +8 -0
  254. package/dist/patterns/harness/index.js +1 -0
  255. package/dist/patterns/job-queue/index.cjs +6 -0
  256. package/dist/patterns/job-queue/index.d.cts +5 -0
  257. package/dist/patterns/job-queue/index.d.ts +5 -0
  258. package/dist/patterns/job-queue/index.js +1 -0
  259. package/dist/patterns/lens/index.cjs +6 -0
  260. package/dist/patterns/lens/index.d.cts +7 -0
  261. package/dist/patterns/lens/index.d.ts +7 -0
  262. package/dist/patterns/lens/index.js +1 -0
  263. package/dist/patterns/memory/index.cjs +6 -0
  264. package/dist/patterns/memory/index.d.cts +5 -0
  265. package/dist/patterns/memory/index.d.ts +5 -0
  266. package/dist/patterns/memory/index.js +1 -0
  267. package/dist/patterns/messaging/index.cjs +6 -0
  268. package/dist/patterns/messaging/index.d.cts +5 -0
  269. package/dist/patterns/messaging/index.d.ts +5 -0
  270. package/dist/patterns/messaging/index.js +1 -0
  271. package/dist/patterns/orchestration/index.cjs +6 -0
  272. package/dist/patterns/orchestration/index.d.cts +6 -0
  273. package/dist/patterns/orchestration/index.d.ts +6 -0
  274. package/dist/patterns/orchestration/index.js +1 -0
  275. package/dist/patterns/reactive-layout/index.cjs +7 -6444
  276. package/dist/patterns/reactive-layout/index.d.cts +6 -6
  277. package/dist/patterns/reactive-layout/index.d.ts +6 -6
  278. package/dist/patterns/reactive-layout/index.js +1 -56
  279. package/dist/patterns/reduction/index.cjs +6 -0
  280. package/dist/patterns/reduction/index.d.cts +5 -0
  281. package/dist/patterns/reduction/index.d.ts +5 -0
  282. package/dist/patterns/reduction/index.js +1 -0
  283. package/dist/patterns/refine-loop/index.cjs +8 -0
  284. package/dist/patterns/refine-loop/index.d.cts +7 -0
  285. package/dist/patterns/refine-loop/index.d.ts +7 -0
  286. package/dist/patterns/refine-loop/index.js +1 -0
  287. package/dist/patterns/resilient-pipeline/index.cjs +1 -0
  288. package/dist/patterns/resilient-pipeline/index.d.cts +7 -0
  289. package/dist/patterns/resilient-pipeline/index.d.ts +7 -0
  290. package/dist/patterns/resilient-pipeline/index.js +1 -0
  291. package/dist/patterns/surface/index.cjs +14 -0
  292. package/dist/patterns/surface/index.d.cts +8 -0
  293. package/dist/patterns/surface/index.d.ts +8 -0
  294. package/dist/patterns/surface/index.js +1 -0
  295. package/dist/{reactive-layout-BaOQefHu.d.cts → reactive-layout-CpYb5qLP.d.cts} +2 -2
  296. package/dist/{reactive-layout-D9gejYXE.d.ts → reactive-layout-D8u4wuUR.d.ts} +2 -2
  297. package/dist/reactive-log-DPzuUDj5.d.cts +190 -0
  298. package/dist/reactive-log-YuH9VYN8.d.ts +190 -0
  299. package/dist/reactive-map-CdbNoSgP.d.ts +238 -0
  300. package/dist/reactive-map-DUeRmb9d.d.cts +238 -0
  301. package/dist/resilience-Ba5-b4WD.d.cts +493 -0
  302. package/dist/resilience-CGRzhnD3.d.ts +493 -0
  303. package/dist/resilience-QAHKANT5.js +1 -0
  304. package/dist/sugar-BV0htudb.d.cts +205 -0
  305. package/dist/sugar-Dtyrq2_q.d.ts +205 -0
  306. package/dist/topology-tree-CYHOwQZ_.d.ts +25 -0
  307. package/dist/topology-tree-DROUdq5B.d.cts +25 -0
  308. package/dist/types-O3GzJY2U.d.cts +401 -0
  309. package/dist/types-u64Ose53.d.ts +401 -0
  310. package/package.json +267 -7
  311. package/dist/chunk-3ZWCKRHX.js +0 -117
  312. package/dist/chunk-3ZWCKRHX.js.map +0 -1
  313. package/dist/chunk-6LDQFTYS.js +0 -102
  314. package/dist/chunk-6LDQFTYS.js.map +0 -1
  315. package/dist/chunk-7TAQJHQV.js +0 -103
  316. package/dist/chunk-7TAQJHQV.js.map +0 -1
  317. package/dist/chunk-AMCG74RZ.js +0 -7000
  318. package/dist/chunk-AMCG74RZ.js.map +0 -1
  319. package/dist/chunk-BVZYTZ5H.js +0 -599
  320. package/dist/chunk-BVZYTZ5H.js.map +0 -1
  321. package/dist/chunk-FQMKGR6L.js +0 -330
  322. package/dist/chunk-FQMKGR6L.js.map +0 -1
  323. package/dist/chunk-HXZEYDUR.js +0 -94
  324. package/dist/chunk-HXZEYDUR.js.map +0 -1
  325. package/dist/chunk-IZYUSJC7.js +0 -1369
  326. package/dist/chunk-IZYUSJC7.js.map +0 -1
  327. package/dist/chunk-J22W6HV3.js +0 -107
  328. package/dist/chunk-J22W6HV3.js.map +0 -1
  329. package/dist/chunk-JSCT3CR4.js +0 -38
  330. package/dist/chunk-JSCT3CR4.js.map +0 -1
  331. package/dist/chunk-JYXEWPH4.js +0 -62
  332. package/dist/chunk-JYXEWPH4.js.map +0 -1
  333. package/dist/chunk-LCE3GF5P.js +0 -866
  334. package/dist/chunk-LCE3GF5P.js.map +0 -1
  335. package/dist/chunk-MJ2NKQQL.js +0 -119
  336. package/dist/chunk-MJ2NKQQL.js.map +0 -1
  337. package/dist/chunk-N6UR7YVY.js +0 -198
  338. package/dist/chunk-N6UR7YVY.js.map +0 -1
  339. package/dist/chunk-OHISZPOJ.js +0 -97
  340. package/dist/chunk-OHISZPOJ.js.map +0 -1
  341. package/dist/chunk-PHOUUNK7.js +0 -2291
  342. package/dist/chunk-PHOUUNK7.js.map +0 -1
  343. package/dist/chunk-RB6QPHJ7.js +0 -393
  344. package/dist/chunk-RB6QPHJ7.js.map +0 -1
  345. package/dist/chunk-SN4YWWYO.js +0 -171
  346. package/dist/chunk-SN4YWWYO.js.map +0 -1
  347. package/dist/chunk-SX52TAR4.js +0 -110
  348. package/dist/chunk-SX52TAR4.js.map +0 -1
  349. package/dist/chunk-THTWHNU4.js +0 -2712
  350. package/dist/chunk-THTWHNU4.js.map +0 -1
  351. package/dist/chunk-VYPWMZ6H.js +0 -98
  352. package/dist/chunk-VYPWMZ6H.js.map +0 -1
  353. package/dist/chunk-XGPU467M.js +0 -136
  354. package/dist/chunk-XGPU467M.js.map +0 -1
  355. package/dist/chunk-ZQMEI34O.js +0 -713
  356. package/dist/chunk-ZQMEI34O.js.map +0 -1
  357. package/dist/compat/index.cjs.map +0 -1
  358. package/dist/compat/index.js.map +0 -1
  359. package/dist/compat/jotai/index.cjs.map +0 -1
  360. package/dist/compat/jotai/index.js.map +0 -1
  361. package/dist/compat/nanostores/index.cjs.map +0 -1
  362. package/dist/compat/nanostores/index.js.map +0 -1
  363. package/dist/compat/nestjs/index.cjs.map +0 -1
  364. package/dist/compat/nestjs/index.js.map +0 -1
  365. package/dist/compat/react/index.cjs.map +0 -1
  366. package/dist/compat/react/index.js.map +0 -1
  367. package/dist/compat/solid/index.cjs.map +0 -1
  368. package/dist/compat/solid/index.js.map +0 -1
  369. package/dist/compat/svelte/index.cjs.map +0 -1
  370. package/dist/compat/svelte/index.js.map +0 -1
  371. package/dist/compat/vue/index.cjs.map +0 -1
  372. package/dist/compat/vue/index.js.map +0 -1
  373. package/dist/compat/zustand/index.cjs.map +0 -1
  374. package/dist/compat/zustand/index.js.map +0 -1
  375. package/dist/core/index.cjs.map +0 -1
  376. package/dist/core/index.js.map +0 -1
  377. package/dist/extra/index.cjs.map +0 -1
  378. package/dist/extra/index.js.map +0 -1
  379. package/dist/extra/sources.cjs.map +0 -1
  380. package/dist/extra/sources.js.map +0 -1
  381. package/dist/graph/index.cjs.map +0 -1
  382. package/dist/graph/index.js.map +0 -1
  383. package/dist/index-C0ZXMaXO.d.cts +0 -392
  384. package/dist/index-CY2TljO4.d.ts +0 -392
  385. package/dist/index.cjs.map +0 -1
  386. package/dist/index.js.map +0 -1
  387. package/dist/patterns/demo-shell.cjs +0 -5604
  388. package/dist/patterns/demo-shell.cjs.map +0 -1
  389. package/dist/patterns/demo-shell.d.cts +0 -6
  390. package/dist/patterns/demo-shell.d.ts +0 -6
  391. package/dist/patterns/demo-shell.js +0 -15
  392. package/dist/patterns/demo-shell.js.map +0 -1
  393. package/dist/patterns/reactive-layout/index.cjs.map +0 -1
  394. package/dist/patterns/reactive-layout/index.js.map +0 -1
  395. package/dist/storage-BMycWEh2.d.ts +0 -190
  396. package/dist/storage-DiqWHzVI.d.cts +0 -190
@@ -0,0 +1,186 @@
1
+ import { a as Node, N as NodeOptions } from './node-Cc1TniY8.js';
2
+ import { a as GraphOptions, G as Graph } from './graph-BZGRXwOm.js';
3
+
4
+ /**
5
+ * Reduction primitives (roadmap §8.1).
6
+ *
7
+ * Composable building blocks for taking heterogeneous massive inputs and producing
8
+ * prioritized, auditable, human-actionable output. Each primitive is either a Graph
9
+ * factory or a Node factory, built on top of core + extra primitives.
10
+ *
11
+ * @module
12
+ */
13
+
14
+ type StepRef = string | Node<unknown>;
15
+ /** A named stage for {@link funnel}. */
16
+ type FunnelStage = {
17
+ /** Stage name (mounted as subgraph). */
18
+ name: string;
19
+ /** Builder: receives a sub-graph, should add an `"input"` and `"output"` node. */
20
+ build: (sub: Graph) => void;
21
+ };
22
+ /** Options for {@link funnel}. */
23
+ type FunnelOptions = GraphOptions & {
24
+ meta?: Record<string, unknown>;
25
+ };
26
+ /**
27
+ * Multi-source merge with sequential reduction stages.
28
+ *
29
+ * Sources are merged into a single stream. Each stage is a named subgraph
30
+ * (mounted via `graph.mount()`). Stages connect linearly:
31
+ * `merged → stage[0].input → stage[0].output → stage[1].input → ...`
32
+ *
33
+ * @param name - Graph name.
34
+ * @param sources - Input nodes to merge.
35
+ * @param stages - Sequential reduction stages.
36
+ * @param opts - Optional graph/meta options.
37
+ * @returns Graph with `"merged"` and mounted stage subgraphs.
38
+ *
39
+ * @category patterns
40
+ */
41
+ declare function funnel<T>(name: string, sources: ReadonlyArray<Node<T>>, stages: ReadonlyArray<FunnelStage>, opts?: FunnelOptions): Graph;
42
+ /** Options for {@link feedback}. */
43
+ type FeedbackOptions = {
44
+ /** Maximum feedback iterations before stopping (default: 10). */
45
+ maxIterations?: number;
46
+ /** Optional budget gate node path for cost-bounded iteration. */
47
+ budgetNode?: StepRef;
48
+ meta?: Record<string, unknown>;
49
+ };
50
+ /**
51
+ * Introduce a bounded reactive cycle into an existing graph.
52
+ *
53
+ * When `condition` emits a non-null DATA value, the feedback effect routes it
54
+ * back to the `reentry` state node — creating a cycle. Bounded by
55
+ * `maxIterations` (default 10). The counter node (`__feedback_<condition>`)
56
+ * is the source of truth — reset it to 0 to allow more iterations.
57
+ *
58
+ * To remove the feedback cycle, call `graph.remove("__feedback_<condition>")`.
59
+ *
60
+ * @param graph - Existing graph to augment with a feedback cycle.
61
+ * @param condition - Path to a node whose DATA triggers feedback.
62
+ * @param reentry - Path to a state node that receives the feedback value.
63
+ * @param opts - Iteration bounds and metadata.
64
+ * @returns The same graph (mutated with feedback nodes added).
65
+ *
66
+ * @category patterns
67
+ */
68
+ declare function feedback(graph: Graph, condition: string, reentry: string, opts?: FeedbackOptions): Graph;
69
+ /** A reactive constraint for {@link budgetGate}. */
70
+ type BudgetConstraint<T = unknown> = {
71
+ /** Constraint node whose value is checked. */
72
+ node: Node<T>;
73
+ /** Returns `true` when the constraint is satisfied (budget available). */
74
+ check: (value: T) => boolean;
75
+ };
76
+ /** Options for {@link budgetGate}. */
77
+ type BudgetGateOptions = Omit<NodeOptions<unknown>, "describeKind" | "name" | "meta"> & {
78
+ meta?: Record<string, unknown>;
79
+ };
80
+ /**
81
+ * Pass-through that respects reactive constraint nodes.
82
+ *
83
+ * DATA flows through when all constraints are satisfied. When any constraint
84
+ * is exceeded, PAUSE is sent upstream and DATA is buffered. When constraints
85
+ * relax, RESUME is sent and buffered DATA flushes.
86
+ *
87
+ * @param source - Input node.
88
+ * @param constraints - Reactive constraint checks.
89
+ * @param opts - Optional node options.
90
+ * @returns Gated node.
91
+ *
92
+ * @category patterns
93
+ */
94
+ declare function budgetGate<T>(source: Node<T>, constraints: ReadonlyArray<BudgetConstraint>, opts?: BudgetGateOptions): Node<T>;
95
+ /** A scored item with full breakdown. */
96
+ type ScoredItem<T = unknown> = {
97
+ /** Original value. */
98
+ value: T;
99
+ /** Final weighted score. */
100
+ score: number;
101
+ /** Per-signal breakdown: signal index → weighted contribution. */
102
+ breakdown: number[];
103
+ };
104
+ /** Options for {@link scorer}. */
105
+ type ScorerOptions = Omit<NodeOptions<unknown>, "describeKind" | "name" | "meta"> & {
106
+ meta?: Record<string, unknown>;
107
+ /** Custom scoring function per signal. Default: identity (signal value IS the score). */
108
+ scoreFns?: ReadonlyArray<(value: unknown) => number>;
109
+ };
110
+ /**
111
+ * Reactive multi-signal scoring with live weights.
112
+ *
113
+ * Each source emits items to score. Weights are reactive state nodes that
114
+ * LLM or human can adjust live. Output is sorted scored items with full
115
+ * breakdown.
116
+ *
117
+ * @param sources - Signal nodes (each emits a numeric score dimension).
118
+ * @param weights - Reactive weight nodes (one per source).
119
+ * @param opts - Optional node/meta options.
120
+ * @returns Node emitting scored output.
121
+ *
122
+ * @category patterns
123
+ */
124
+ declare function scorer(sources: ReadonlyArray<Node<number>>, weights: ReadonlyArray<Node<number>>, opts?: ScorerOptions): Node<ScoredItem<number[]>>;
125
+ /** A single effectiveness record for an action×context pair. */
126
+ type EffectivenessEntry = {
127
+ readonly key: string;
128
+ readonly attempts: number;
129
+ readonly successes: number;
130
+ readonly successRate: number;
131
+ };
132
+ /** Snapshot shape for the effectiveness tracker node. */
133
+ type EffectivenessSnapshot = ReadonlyMap<string, EffectivenessEntry>;
134
+ /** Bundle returned by {@link effectivenessTracker}. */
135
+ interface EffectivenessTrackerBundle {
136
+ /** Reactive node — current effectiveness map snapshot. */
137
+ readonly node: Node<EffectivenessSnapshot>;
138
+ /** Record a completed action (success or failure). */
139
+ record(key: string, success: boolean): void;
140
+ /** Look up effectiveness for a specific key. */
141
+ lookup(key: string): EffectivenessEntry | undefined;
142
+ /** Tear down internal keepalive subscriptions. */
143
+ dispose(): void;
144
+ }
145
+ /** Options for {@link effectivenessTracker}. */
146
+ type EffectivenessTrackerOptions = {
147
+ /** Name for the reactive map (default "effectiveness-entries"). */
148
+ name?: string;
149
+ };
150
+ /**
151
+ * Generic action×context → success rate tracker.
152
+ *
153
+ * Generalized from the harness `strategyModel` pattern. Tracks attempts and
154
+ * successes per string key, exposes a reactive snapshot node, and provides
155
+ * `record()` / `lookup()` methods.
156
+ *
157
+ * Use cases: A/B testing, routing optimization, cache policy tuning, retry
158
+ * strategy selection — any domain that tracks effectiveness per action.
159
+ *
160
+ * @param opts - Optional configuration.
161
+ * @returns Bundle with reactive node, record(), lookup(), dispose().
162
+ */
163
+ declare function effectivenessTracker(opts?: EffectivenessTrackerOptions): EffectivenessTrackerBundle;
164
+
165
+ type index_BudgetConstraint<T = unknown> = BudgetConstraint<T>;
166
+ type index_BudgetGateOptions = BudgetGateOptions;
167
+ type index_EffectivenessEntry = EffectivenessEntry;
168
+ type index_EffectivenessSnapshot = EffectivenessSnapshot;
169
+ type index_EffectivenessTrackerBundle = EffectivenessTrackerBundle;
170
+ type index_EffectivenessTrackerOptions = EffectivenessTrackerOptions;
171
+ type index_FeedbackOptions = FeedbackOptions;
172
+ type index_FunnelOptions = FunnelOptions;
173
+ type index_FunnelStage = FunnelStage;
174
+ type index_ScoredItem<T = unknown> = ScoredItem<T>;
175
+ type index_ScorerOptions = ScorerOptions;
176
+ type index_StepRef = StepRef;
177
+ declare const index_budgetGate: typeof budgetGate;
178
+ declare const index_effectivenessTracker: typeof effectivenessTracker;
179
+ declare const index_feedback: typeof feedback;
180
+ declare const index_funnel: typeof funnel;
181
+ declare const index_scorer: typeof scorer;
182
+ declare namespace index {
183
+ export { type index_BudgetConstraint as BudgetConstraint, type index_BudgetGateOptions as BudgetGateOptions, type index_EffectivenessEntry as EffectivenessEntry, type index_EffectivenessSnapshot as EffectivenessSnapshot, type index_EffectivenessTrackerBundle as EffectivenessTrackerBundle, type index_EffectivenessTrackerOptions as EffectivenessTrackerOptions, type index_FeedbackOptions as FeedbackOptions, type index_FunnelOptions as FunnelOptions, type index_FunnelStage as FunnelStage, type index_ScoredItem as ScoredItem, type index_ScorerOptions as ScorerOptions, type index_StepRef as StepRef, index_budgetGate as budgetGate, index_effectivenessTracker as effectivenessTracker, index_feedback as feedback, index_funnel as funnel, index_scorer as scorer };
184
+ }
185
+
186
+ export { type BudgetConstraint as B, type EffectivenessEntry as E, type FeedbackOptions as F, type ScoredItem as S, type BudgetGateOptions as a, type EffectivenessSnapshot as b, type EffectivenessTrackerBundle as c, type EffectivenessTrackerOptions as d, type FunnelOptions as e, type FunnelStage as f, type ScorerOptions as g, type StepRef as h, index as i, budgetGate as j, effectivenessTracker as k, feedback as l, funnel as m, scorer as s };
@@ -0,0 +1,86 @@
1
+ import { a as Node } from './node-Cc1TniY8.js';
2
+ import { G as Graph, a as GraphOptions } from './graph-BZGRXwOm.js';
3
+
4
+ /**
5
+ * Job queue patterns (roadmap §4.2).
6
+ *
7
+ * Queue / flow primitives modeled as graph factories:
8
+ * - `jobQueue()` — claim/ack/nack workflow with reactive depth.
9
+ * - `jobFlow()` — multi-stage queue chain.
10
+ *
11
+ * Topic / subscription / hub primitives live in `patterns/messaging`.
12
+ */
13
+
14
+ type JobState = "queued" | "inflight";
15
+ type JobEnvelope<T> = {
16
+ id: string;
17
+ payload: T;
18
+ attempts: number;
19
+ metadata: Readonly<Record<string, unknown>>;
20
+ state: JobState;
21
+ };
22
+ type JobQueueOptions = {
23
+ graph?: GraphOptions;
24
+ };
25
+ declare class JobQueueGraph<T> extends Graph {
26
+ private readonly _pending;
27
+ private readonly _jobs;
28
+ private _seq;
29
+ readonly pending: Node<readonly string[]>;
30
+ readonly jobs: Node<ReadonlyMap<string, JobEnvelope<T>>>;
31
+ readonly depth: Node<number>;
32
+ constructor(name: string, opts?: JobQueueOptions);
33
+ enqueue(payload: T, opts?: {
34
+ id?: string;
35
+ metadata?: Record<string, unknown>;
36
+ }): string;
37
+ claim(limit?: number): readonly JobEnvelope<T>[];
38
+ ack(id: string): boolean;
39
+ nack(id: string, opts?: {
40
+ requeue?: boolean;
41
+ }): boolean;
42
+ }
43
+ type JobFlowOptions = {
44
+ graph?: GraphOptions;
45
+ stages?: readonly string[];
46
+ maxPerPump?: number;
47
+ };
48
+ declare class JobFlowGraph<T> extends Graph {
49
+ private readonly _stageNames;
50
+ private readonly _queues;
51
+ private readonly _completed;
52
+ readonly completed: Node<readonly JobEnvelope<T>[]>;
53
+ readonly completedCount: Node<number>;
54
+ constructor(name: string, opts?: JobFlowOptions);
55
+ stages(): readonly string[];
56
+ queue(stage: string): JobQueueGraph<T>;
57
+ enqueue(payload: T, opts?: {
58
+ id?: string;
59
+ metadata?: Record<string, unknown>;
60
+ }): string;
61
+ retainedCompleted(): readonly JobEnvelope<T>[];
62
+ }
63
+ /**
64
+ * Creates a Pulsar-inspired job queue graph with claim/ack/nack workflow.
65
+ */
66
+ declare function jobQueue<T>(name: string, opts?: JobQueueOptions): JobQueueGraph<T>;
67
+ /**
68
+ * Creates an autonomous multi-stage queue chain graph.
69
+ */
70
+ declare function jobFlow<T>(name: string, opts?: JobFlowOptions): JobFlowGraph<T>;
71
+
72
+ type index_JobEnvelope<T> = JobEnvelope<T>;
73
+ type index_JobFlowGraph<T> = JobFlowGraph<T>;
74
+ declare const index_JobFlowGraph: typeof JobFlowGraph;
75
+ type index_JobFlowOptions = JobFlowOptions;
76
+ type index_JobQueueGraph<T> = JobQueueGraph<T>;
77
+ declare const index_JobQueueGraph: typeof JobQueueGraph;
78
+ type index_JobQueueOptions = JobQueueOptions;
79
+ type index_JobState = JobState;
80
+ declare const index_jobFlow: typeof jobFlow;
81
+ declare const index_jobQueue: typeof jobQueue;
82
+ declare namespace index {
83
+ export { type index_JobEnvelope as JobEnvelope, index_JobFlowGraph as JobFlowGraph, type index_JobFlowOptions as JobFlowOptions, index_JobQueueGraph as JobQueueGraph, type index_JobQueueOptions as JobQueueOptions, type index_JobState as JobState, index_jobFlow as jobFlow, index_jobQueue as jobQueue };
84
+ }
85
+
86
+ export { type JobEnvelope as J, JobFlowGraph as a, type JobFlowOptions as b, JobQueueGraph as c, type JobQueueOptions as d, type JobState as e, jobQueue as f, index as i, jobFlow as j };
@@ -1,12 +1,12 @@
1
- import { i as index$2 } from './index-QBpffFW-.cjs';
2
- import { i as index$3 } from './index-CUyrtuOf.cjs';
3
- import { i as index$4 } from './index-_oMEWlDq.cjs';
4
- import { i as index$5 } from './index-DFhjO4Gg.cjs';
5
- import { N as Node } from './node-C_IBuvX2.cjs';
6
- import { i as index$6 } from './index-B_IP40nB.cjs';
7
- import { i as index$7 } from './index-Bd_fwmLf.cjs';
8
- import { i as index$8 } from './index-Bxb5ZYc9.cjs';
9
- import { i as index$9 } from './index-B4MP_8V_.cjs';
1
+ import { i as index$2 } from './index-CRO83MmV.cjs';
2
+ import { i as index$3 } from './index-Cyojz0AE.cjs';
3
+ import { i as index$4 } from './index-cByzxQIC.cjs';
4
+ import { i as index$5 } from './index-DL-rYJrx.cjs';
5
+ import { a as Node } from './node-Cc1TniY8.cjs';
6
+ import { i as index$6 } from './index-B_agccPe.cjs';
7
+ import { i as index$7 } from './index-B2pwesl9.cjs';
8
+ import { i as index$8 } from './index-D_NwnRYS.cjs';
9
+ import { i as index$9 } from './index-Oi8d8w4R.cjs';
10
10
 
11
11
  /**
12
12
  * Options for creating signals.
@@ -0,0 +1,207 @@
1
+ import { a as Node } from './node-Cc1TniY8.cjs';
2
+ import { G as Graph, a as GraphOptions } from './graph-D48Qw9Cg.cjs';
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
+ */
17
+
18
+ type TopicOptions = {
19
+ graph?: GraphOptions;
20
+ retainedLimit?: number;
21
+ };
22
+ declare class TopicGraph<T> extends Graph {
23
+ private readonly _log;
24
+ readonly events: Node<readonly T[]>;
25
+ /**
26
+ * Most recently published value, or `null` when the topic has no entries
27
+ * yet. Spec §5.12 reserves `undefined` as the protocol-internal "never
28
+ * sent DATA" sentinel — `null` is the idiomatic "empty / no value" signal
29
+ * for domain nodes. F7.
30
+ *
31
+ * **Caveat when `T` itself includes `null`** (e.g., `topic<number | null>`):
32
+ * `latest === null` is ambiguous — it could mean "no publish yet" OR "a
33
+ * `null` value was published". Use {@link hasLatest} to disambiguate, or
34
+ * observe {@link events} directly and track length yourself.
35
+ */
36
+ readonly latest: Node<T | null>;
37
+ /**
38
+ * Reactive `true` once the topic has at least one published entry.
39
+ * Disambiguates "`null` never published" from "`null` was published" when
40
+ * `T` includes `null`.
41
+ */
42
+ readonly hasLatest: Node<boolean>;
43
+ constructor(name: string, opts?: TopicOptions);
44
+ publish(value: T): void;
45
+ retained(): readonly T[];
46
+ }
47
+ type SubscriptionOptions = {
48
+ graph?: GraphOptions;
49
+ cursor?: number;
50
+ };
51
+ declare class SubscriptionGraph<T> extends Graph {
52
+ readonly source: Node<readonly T[]>;
53
+ readonly cursor: Node<number>;
54
+ readonly available: Node<readonly T[]>;
55
+ /**
56
+ * Reference to the upstream topic graph. Intentionally NOT mounted
57
+ * under this subscription: a subscription is a VIEW over an
58
+ * externally-owned topic. Double-mounting (e.g. hub-owned topic +
59
+ * sub-mount here) would make either-side teardown leave the other
60
+ * holding a dead reference. Node-level `derived([topicEvents], …)`
61
+ * still wires the data dependency across graph boundaries. D1(e).
62
+ */
63
+ readonly topic: TopicGraph<T>;
64
+ constructor(name: string, topicGraph: TopicGraph<T>, opts?: SubscriptionOptions);
65
+ ack(count?: number): number;
66
+ pull(limit?: number, opts?: {
67
+ ack?: boolean;
68
+ }): readonly T[];
69
+ }
70
+ type TopicBridgeOptions<TIn, TOut> = {
71
+ graph?: GraphOptions;
72
+ cursor?: number;
73
+ maxPerPump?: number;
74
+ map?: (value: TIn) => TOut | undefined;
75
+ };
76
+ declare class TopicBridgeGraph<TIn, TOut = TIn> extends Graph {
77
+ private readonly _sourceSub;
78
+ private readonly _target;
79
+ readonly bridgedCount: Node<number>;
80
+ constructor(name: string, sourceTopic: TopicGraph<TIn>, targetTopic: TopicGraph<TOut>, opts?: TopicBridgeOptions<TIn, TOut>);
81
+ }
82
+ type MessagingHubOptions = {
83
+ graph?: GraphOptions;
84
+ /**
85
+ * Default `TopicOptions` applied to every topic created via `topic(name)`
86
+ * without explicit options. Per-call opts override. Default: `{}`
87
+ * (unbounded retention per topic unless `retainedLimit` is set per call).
88
+ */
89
+ defaultTopicOptions?: TopicOptions;
90
+ };
91
+ /**
92
+ * Lazy Pulsar-inspired topic registry. Manages a named set of {@link TopicGraph}
93
+ * instances with retention + cursor semantics. Topics are created on first
94
+ * access; `removeTopic(name)` unmounts and tears down via {@link Graph.remove}.
95
+ *
96
+ * **Relationship to `pubsub()` in `src/extra/pubsub.ts`:** `pubsub` is a
97
+ * lightweight last-value state hub (no retention, no cursors). `MessagingHubGraph`
98
+ * is the full messaging hub — retained message logs, cursor-based subscriptions,
99
+ * and pattern-layer lifecycle management.
100
+ *
101
+ * @category patterns
102
+ */
103
+ declare class MessagingHubGraph extends Graph {
104
+ private readonly _topics;
105
+ private _version;
106
+ private readonly _defaultTopicOptions;
107
+ constructor(name: string, opts?: MessagingHubOptions);
108
+ /** Monotonic counter advancing on topic create/remove. */
109
+ get version(): number;
110
+ /** Number of topics currently in the hub. */
111
+ get size(): number;
112
+ /** Checks topic existence without creating. */
113
+ has(name: string): boolean;
114
+ /** Iterator over topic names. */
115
+ topicNames(): IterableIterator<string>;
116
+ /**
117
+ * Returns the {@link TopicGraph} for `name`, creating lazily on first call.
118
+ * Subsequent calls with the same name return the same instance (options on
119
+ * repeat calls are ignored — the topic is already configured).
120
+ */
121
+ topic<T = unknown>(name: string, opts?: TopicOptions): TopicGraph<T>;
122
+ /**
123
+ * Publishes a value to the topic, lazily creating it on first publish.
124
+ *
125
+ * **Late-subscriber caveat:** the topic is created lazily, so subscribers
126
+ * that attach AFTER a publish only see the retained window (governed by
127
+ * `retainedLimit` on `TopicOptions` / `defaultTopicOptions`). If
128
+ * `retainedLimit === 0` is set explicitly, early publishes are
129
+ * effectively dropped — prefer an unset `retainedLimit` (unbounded
130
+ * retention) or subscribe before publishing when late-subscribers matter.
131
+ */
132
+ publish<T = unknown>(name: string, value: T): void;
133
+ /**
134
+ * Bulk publish — issues all publishes inside one outer batch. New topics
135
+ * are created on demand. No-op if `entries` yields nothing.
136
+ *
137
+ * **Iterable consumption (F6):** `entries` is consumed once (single-pass)
138
+ * INSIDE the batch frame. If the iterator throws mid-way, the batch is
139
+ * discarded and NO publishes are visible to subscribers (all-or-nothing).
140
+ * Pass an array or `Set` for multi-shot callers.
141
+ */
142
+ publishMany(entries: Iterable<[string, unknown]>): void;
143
+ /**
144
+ * Creates a {@link SubscriptionGraph} over a named topic. The topic is
145
+ * lazily created if missing. Subscription lifecycle is owned by the caller —
146
+ * the hub does NOT mount the subscription.
147
+ *
148
+ * @param subName - Local name for the subscription graph.
149
+ * @param topicName - Hub topic to subscribe to.
150
+ * @param opts - `SubscriptionOptions` (initial cursor, etc.).
151
+ */
152
+ subscribe<T = unknown>(subName: string, topicName: string, opts?: SubscriptionOptions): SubscriptionGraph<T>;
153
+ /**
154
+ * Unmounts and tears down the topic's graph. Returns `true` if the topic
155
+ * existed. Subscribers receive `TEARDOWN` via {@link Graph.remove}.
156
+ */
157
+ removeTopic(name: string): boolean;
158
+ }
159
+ /**
160
+ * Creates a Pulsar-inspired topic graph (append-only retained stream + latest value).
161
+ */
162
+ declare function topic<T>(name: string, opts?: TopicOptions): TopicGraph<T>;
163
+ /**
164
+ * Creates a lazy Pulsar-inspired messaging hub. Topics are created on first access
165
+ * via `hub.topic(name)`; `hub.publish(name, value)` shortcuts through the registry.
166
+ *
167
+ * @example
168
+ * ```ts
169
+ * import { messagingHub } from "@graphrefly/graphrefly/patterns/messaging";
170
+ *
171
+ * const hub = messagingHub("main", { defaultTopicOptions: { retainedLimit: 256 } });
172
+ * hub.publish("orders", { id: 1 });
173
+ * hub.publishMany([["shipments", { id: 1 }], ["orders", { id: 2 }]]);
174
+ * const sub = hub.subscribe("orders-worker", "orders", { cursor: 0 });
175
+ * ```
176
+ */
177
+ declare function messagingHub(name: string, opts?: MessagingHubOptions): MessagingHubGraph;
178
+ /**
179
+ * Creates a cursor-based subscription graph over a topic.
180
+ */
181
+ declare function subscription<T>(name: string, topicGraph: TopicGraph<T>, opts?: SubscriptionOptions): SubscriptionGraph<T>;
182
+ /**
183
+ * Creates an autonomous cursor-based topic relay graph.
184
+ */
185
+ declare function topicBridge<TIn, TOut = TIn>(name: string, sourceTopic: TopicGraph<TIn>, targetTopic: TopicGraph<TOut>, opts?: TopicBridgeOptions<TIn, TOut>): TopicBridgeGraph<TIn, TOut>;
186
+
187
+ type index_MessagingHubGraph = MessagingHubGraph;
188
+ declare const index_MessagingHubGraph: typeof MessagingHubGraph;
189
+ type index_MessagingHubOptions = MessagingHubOptions;
190
+ type index_SubscriptionGraph<T> = SubscriptionGraph<T>;
191
+ declare const index_SubscriptionGraph: typeof SubscriptionGraph;
192
+ type index_SubscriptionOptions = SubscriptionOptions;
193
+ type index_TopicBridgeGraph<TIn, TOut = TIn> = TopicBridgeGraph<TIn, TOut>;
194
+ declare const index_TopicBridgeGraph: typeof TopicBridgeGraph;
195
+ type index_TopicBridgeOptions<TIn, TOut> = TopicBridgeOptions<TIn, TOut>;
196
+ type index_TopicGraph<T> = TopicGraph<T>;
197
+ declare const index_TopicGraph: typeof TopicGraph;
198
+ type index_TopicOptions = TopicOptions;
199
+ declare const index_messagingHub: typeof messagingHub;
200
+ declare const index_subscription: typeof subscription;
201
+ declare const index_topic: typeof topic;
202
+ declare const index_topicBridge: typeof topicBridge;
203
+ 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 };
205
+ }
206
+
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 };