@graphrefly/graphrefly 0.45.0 → 0.47.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 (714) hide show
  1. package/README.md +1 -2
  2. package/dist/_internal-B23BagFd.d.cts +33 -0
  3. package/dist/_internal-B23BagFd.d.ts +33 -0
  4. package/dist/adaptive-rate-limiter-Dch_xYIi.d.cts +111 -0
  5. package/dist/adaptive-rate-limiter-Dch_xYIi.d.ts +111 -0
  6. package/dist/agents-C0Ji9ldU.d.cts +629 -0
  7. package/dist/agents-C9zexT7I.d.ts +629 -0
  8. package/dist/audit-BAXb3VOg.d.ts +246 -0
  9. package/dist/audit-C_bPfkqS.d.cts +246 -0
  10. package/dist/backoff-7KIK3WQW.js +24 -0
  11. package/dist/backoff-7KIK3WQW.js.map +1 -0
  12. package/dist/backoff-Bnb9OoPh.d.cts +6 -0
  13. package/dist/backoff-Bnb9OoPh.d.ts +6 -0
  14. package/dist/base/composition/index.cjs +865 -0
  15. package/dist/base/composition/index.cjs.map +1 -0
  16. package/dist/base/composition/index.d.cts +468 -0
  17. package/dist/base/composition/index.d.ts +468 -0
  18. package/dist/base/composition/index.js +40 -0
  19. package/dist/base/composition/index.js.map +1 -0
  20. package/dist/base/index.cjs +6390 -0
  21. package/dist/base/index.cjs.map +1 -0
  22. package/dist/base/index.d.cts +21 -0
  23. package/dist/base/index.d.ts +21 -0
  24. package/dist/base/index.js +259 -0
  25. package/dist/base/index.js.map +1 -0
  26. package/dist/base/io/index.cjs +3270 -0
  27. package/dist/base/io/index.cjs.map +1 -0
  28. package/dist/base/io/index.d.cts +2245 -0
  29. package/dist/base/io/index.d.ts +2245 -0
  30. package/dist/base/io/index.js +117 -0
  31. package/dist/base/io/index.js.map +1 -0
  32. package/dist/base/meta/index.cjs +43 -0
  33. package/dist/base/meta/index.cjs.map +1 -0
  34. package/dist/base/meta/index.d.cts +45 -0
  35. package/dist/base/meta/index.d.ts +45 -0
  36. package/dist/base/meta/index.js +13 -0
  37. package/dist/base/meta/index.js.map +1 -0
  38. package/dist/base/mutation/index.cjs +200 -0
  39. package/dist/base/mutation/index.cjs.map +1 -0
  40. package/dist/base/mutation/index.d.cts +177 -0
  41. package/dist/base/mutation/index.d.ts +177 -0
  42. package/dist/base/mutation/index.js +22 -0
  43. package/dist/base/mutation/index.js.map +1 -0
  44. package/dist/base/render/index.cjs +1120 -0
  45. package/dist/base/render/index.cjs.map +1 -0
  46. package/dist/base/render/index.d.cts +227 -0
  47. package/dist/base/render/index.d.ts +227 -0
  48. package/dist/base/render/index.js +24 -0
  49. package/dist/base/render/index.js.map +1 -0
  50. package/dist/base/sources/browser/index.cjs +172 -0
  51. package/dist/base/sources/browser/index.cjs.map +1 -0
  52. package/dist/base/sources/browser/index.d.cts +84 -0
  53. package/dist/base/sources/browser/index.d.ts +84 -0
  54. package/dist/base/sources/browser/index.js +151 -0
  55. package/dist/base/sources/browser/index.js.map +1 -0
  56. package/dist/base/sources/event/index.cjs +98 -0
  57. package/dist/base/sources/event/index.cjs.map +1 -0
  58. package/dist/base/sources/event/index.d.cts +91 -0
  59. package/dist/base/sources/event/index.d.ts +91 -0
  60. package/dist/base/sources/event/index.js +13 -0
  61. package/dist/base/sources/event/index.js.map +1 -0
  62. package/dist/base/sources/index.cjs +755 -0
  63. package/dist/base/sources/index.cjs.map +1 -0
  64. package/dist/base/sources/index.d.cts +357 -0
  65. package/dist/base/sources/index.d.ts +357 -0
  66. package/dist/base/sources/index.js +42 -0
  67. package/dist/base/sources/index.js.map +1 -0
  68. package/dist/base/sources/node/index.cjs +320 -0
  69. package/dist/base/sources/node/index.cjs.map +1 -0
  70. package/dist/base/sources/node/index.d.cts +185 -0
  71. package/dist/base/sources/node/index.d.ts +185 -0
  72. package/dist/base/sources/node/index.js +306 -0
  73. package/dist/base/sources/node/index.js.map +1 -0
  74. package/dist/base/utils/index.cjs +37 -0
  75. package/dist/base/utils/index.cjs.map +1 -0
  76. package/dist/base/utils/index.d.cts +37 -0
  77. package/dist/base/utils/index.d.ts +37 -0
  78. package/dist/base/utils/index.js +11 -0
  79. package/dist/base/utils/index.js.map +1 -0
  80. package/dist/base/worker/index.cjs +548 -0
  81. package/dist/base/worker/index.cjs.map +1 -0
  82. package/dist/base/worker/index.d.cts +207 -0
  83. package/dist/base/worker/index.d.ts +207 -0
  84. package/dist/base/worker/index.js +20 -0
  85. package/dist/base/worker/index.js.map +1 -0
  86. package/dist/breaker-C9skL3d8.d.ts +175 -0
  87. package/dist/breaker-ugSdq54q.d.cts +175 -0
  88. package/dist/cascading-CSSbKGrJ.d.ts +199 -0
  89. package/dist/cascading-baGkiihI.d.cts +199 -0
  90. package/dist/chunk-22SG74BD.js +207 -0
  91. package/dist/chunk-22SG74BD.js.map +1 -0
  92. package/dist/chunk-255UCBG4.js +58 -0
  93. package/dist/chunk-255UCBG4.js.map +1 -0
  94. package/dist/chunk-2LO3EL4W.js +1 -0
  95. package/dist/chunk-2LO3EL4W.js.map +1 -0
  96. package/dist/chunk-2OB3CEJS.js +1065 -0
  97. package/dist/chunk-2OB3CEJS.js.map +1 -0
  98. package/dist/chunk-36NMM65U.js +144 -0
  99. package/dist/chunk-36NMM65U.js.map +1 -0
  100. package/dist/chunk-3CEXCBN6.js +1 -0
  101. package/dist/chunk-3CEXCBN6.js.map +1 -0
  102. package/dist/chunk-3MUSLI6E.js +105 -0
  103. package/dist/chunk-3MUSLI6E.js.map +1 -0
  104. package/dist/chunk-3PSLNJDU.js +884 -0
  105. package/dist/chunk-3PSLNJDU.js.map +1 -0
  106. package/dist/chunk-42FQ27MQ.js +594 -0
  107. package/dist/chunk-42FQ27MQ.js.map +1 -0
  108. package/dist/chunk-4GYMCUDZ.js +1085 -0
  109. package/dist/chunk-4GYMCUDZ.js.map +1 -0
  110. package/dist/chunk-4S53H2KR.js +382 -0
  111. package/dist/chunk-4S53H2KR.js.map +1 -0
  112. package/dist/chunk-4XCHZRUJ.js +128 -0
  113. package/dist/chunk-4XCHZRUJ.js.map +1 -0
  114. package/dist/chunk-5IMMNARC.js +1153 -0
  115. package/dist/chunk-5IMMNARC.js.map +1 -0
  116. package/dist/chunk-6XZYT4SW.js +256 -0
  117. package/dist/chunk-6XZYT4SW.js.map +1 -0
  118. package/dist/chunk-7EGRP2VX.js +76 -0
  119. package/dist/chunk-7EGRP2VX.js.map +1 -0
  120. package/dist/chunk-A7KV5UK4.js +150 -0
  121. package/dist/chunk-A7KV5UK4.js.map +1 -0
  122. package/dist/chunk-APY2SS5X.js +156 -0
  123. package/dist/chunk-APY2SS5X.js.map +1 -0
  124. package/dist/chunk-AZDQPQ3V.js +66 -0
  125. package/dist/chunk-AZDQPQ3V.js.map +1 -0
  126. package/dist/chunk-BU3SEFA5.js +90 -0
  127. package/dist/chunk-BU3SEFA5.js.map +1 -0
  128. package/dist/chunk-BXGZFGZ4.js +189 -0
  129. package/dist/chunk-BXGZFGZ4.js.map +1 -0
  130. package/dist/chunk-CGHORL6G.js +579 -0
  131. package/dist/chunk-CGHORL6G.js.map +1 -0
  132. package/dist/chunk-CXANAIZU.js +530 -0
  133. package/dist/chunk-CXANAIZU.js.map +1 -0
  134. package/dist/chunk-CZQHCKKG.js +1 -0
  135. package/dist/chunk-CZQHCKKG.js.map +1 -0
  136. package/dist/chunk-DKNHAICT.js +133 -0
  137. package/dist/chunk-DKNHAICT.js.map +1 -0
  138. package/dist/chunk-DM4OMPWK.js +584 -0
  139. package/dist/chunk-DM4OMPWK.js.map +1 -0
  140. package/dist/chunk-DMSNO6ZB.js +452 -0
  141. package/dist/chunk-DMSNO6ZB.js.map +1 -0
  142. package/dist/chunk-E5OZPDIW.js +229 -0
  143. package/dist/chunk-E5OZPDIW.js.map +1 -0
  144. package/dist/chunk-EHRRQ4IC.js +211 -0
  145. package/dist/chunk-EHRRQ4IC.js.map +1 -0
  146. package/dist/chunk-EVYY4X5A.js +509 -0
  147. package/dist/chunk-EVYY4X5A.js.map +1 -0
  148. package/dist/chunk-FDFD67UO.js +1 -0
  149. package/dist/chunk-FDFD67UO.js.map +1 -0
  150. package/dist/chunk-FMPF42Q4.js +13 -0
  151. package/dist/chunk-FMPF42Q4.js.map +1 -0
  152. package/dist/chunk-FW23JYNQ.js +454 -0
  153. package/dist/chunk-FW23JYNQ.js.map +1 -0
  154. package/dist/chunk-GWRNLJNW.js +2508 -0
  155. package/dist/chunk-GWRNLJNW.js.map +1 -0
  156. package/dist/chunk-HL7HUJIX.js +1 -0
  157. package/dist/chunk-HL7HUJIX.js.map +1 -0
  158. package/dist/chunk-IHTWQEDR.js +169 -0
  159. package/dist/chunk-IHTWQEDR.js.map +1 -0
  160. package/dist/chunk-IJRR6YAI.js +128 -0
  161. package/dist/chunk-IJRR6YAI.js.map +1 -0
  162. package/dist/chunk-JGFRAFDL.js +221 -0
  163. package/dist/chunk-JGFRAFDL.js.map +1 -0
  164. package/dist/chunk-JKTC747G.js +725 -0
  165. package/dist/chunk-JKTC747G.js.map +1 -0
  166. package/dist/chunk-KN3H5CNT.js +11 -0
  167. package/dist/chunk-KN3H5CNT.js.map +1 -0
  168. package/dist/chunk-KPG3DGLA.js +1 -0
  169. package/dist/chunk-KPG3DGLA.js.map +1 -0
  170. package/dist/chunk-KRNQ6RGQ.js +1 -0
  171. package/dist/chunk-KRNQ6RGQ.js.map +1 -0
  172. package/dist/chunk-MLTPJMH6.js +417 -0
  173. package/dist/chunk-MLTPJMH6.js.map +1 -0
  174. package/dist/chunk-N3SZ7BMH.js +95 -0
  175. package/dist/chunk-N3SZ7BMH.js.map +1 -0
  176. package/dist/chunk-NDUD3IMO.js +540 -0
  177. package/dist/chunk-NDUD3IMO.js.map +1 -0
  178. package/dist/chunk-NY2PYHNC.js +873 -0
  179. package/dist/chunk-NY2PYHNC.js.map +1 -0
  180. package/dist/chunk-O3MT7DYI.js +225 -0
  181. package/dist/chunk-O3MT7DYI.js.map +1 -0
  182. package/dist/chunk-OCUDSN63.js +2386 -0
  183. package/dist/chunk-OCUDSN63.js.map +1 -0
  184. package/dist/chunk-OIWU3NYV.js +199 -0
  185. package/dist/chunk-OIWU3NYV.js.map +1 -0
  186. package/dist/chunk-OQUIJT7A.js +1 -0
  187. package/dist/chunk-OQUIJT7A.js.map +1 -0
  188. package/dist/chunk-P5LBT622.js +105 -0
  189. package/dist/chunk-P5LBT622.js.map +1 -0
  190. package/dist/chunk-PKGQG5QQ.js +519 -0
  191. package/dist/chunk-PKGQG5QQ.js.map +1 -0
  192. package/dist/chunk-PKPO3JTZ.js +561 -0
  193. package/dist/chunk-PKPO3JTZ.js.map +1 -0
  194. package/dist/chunk-PL5UDIQ5.js +118 -0
  195. package/dist/chunk-PL5UDIQ5.js.map +1 -0
  196. package/dist/chunk-PZWISPIQ.js +432 -0
  197. package/dist/chunk-PZWISPIQ.js.map +1 -0
  198. package/dist/chunk-Q3EYOCZB.js +510 -0
  199. package/dist/chunk-Q3EYOCZB.js.map +1 -0
  200. package/dist/chunk-QMBYUVRL.js +15 -0
  201. package/dist/chunk-QMBYUVRL.js.map +1 -0
  202. package/dist/chunk-RAGGHLCV.js +200 -0
  203. package/dist/chunk-RAGGHLCV.js.map +1 -0
  204. package/dist/chunk-RJOG4IJU.js +1039 -0
  205. package/dist/chunk-RJOG4IJU.js.map +1 -0
  206. package/dist/chunk-SOOKUYVM.js +403 -0
  207. package/dist/chunk-SOOKUYVM.js.map +1 -0
  208. package/dist/chunk-T5BN5KG7.js +1 -0
  209. package/dist/chunk-T5BN5KG7.js.map +1 -0
  210. package/dist/chunk-TNX5ZGDJ.js +574 -0
  211. package/dist/chunk-TNX5ZGDJ.js.map +1 -0
  212. package/dist/chunk-TP7244Y6.js +207 -0
  213. package/dist/chunk-TP7244Y6.js.map +1 -0
  214. package/dist/chunk-TSBFTJKM.js +57 -0
  215. package/dist/chunk-TSBFTJKM.js.map +1 -0
  216. package/dist/chunk-URQ2CBBF.js +143 -0
  217. package/dist/chunk-URQ2CBBF.js.map +1 -0
  218. package/dist/chunk-VLAGJZSL.js +1079 -0
  219. package/dist/chunk-VLAGJZSL.js.map +1 -0
  220. package/dist/chunk-W2BOPXTI.js +1 -0
  221. package/dist/chunk-W2BOPXTI.js.map +1 -0
  222. package/dist/chunk-Y52CS6YA.js +88 -0
  223. package/dist/chunk-Y52CS6YA.js.map +1 -0
  224. package/dist/chunk-YCBUWK77.js +92 -0
  225. package/dist/chunk-YCBUWK77.js.map +1 -0
  226. package/dist/chunk-YJ4U2D2C.js +314 -0
  227. package/dist/chunk-YJ4U2D2C.js.map +1 -0
  228. package/dist/chunk-Z4YXAUDN.js +239 -0
  229. package/dist/chunk-Z4YXAUDN.js.map +1 -0
  230. package/dist/chunk-Z65DVDEQ.js +146 -0
  231. package/dist/chunk-Z65DVDEQ.js.map +1 -0
  232. package/dist/chunk-Z6EGP5D7.js +92 -0
  233. package/dist/chunk-Z6EGP5D7.js.map +1 -0
  234. package/dist/chunk-ZT4WMQW4.js +1575 -0
  235. package/dist/chunk-ZT4WMQW4.js.map +1 -0
  236. package/dist/chunk-ZVXXDWIB.js +1282 -0
  237. package/dist/chunk-ZVXXDWIB.js.map +1 -0
  238. package/dist/compat/index.cjs +3150 -6
  239. package/dist/compat/index.cjs.map +1 -1
  240. package/dist/compat/index.d.cts +116 -1
  241. package/dist/compat/index.d.ts +116 -1
  242. package/dist/compat/index.js +175 -2
  243. package/dist/compat/index.js.map +1 -1
  244. package/dist/compat/jotai/index.cjs +130 -2
  245. package/dist/compat/jotai/index.cjs.map +1 -1
  246. package/dist/compat/jotai/index.d.cts +2 -1
  247. package/dist/compat/jotai/index.d.ts +2 -1
  248. package/dist/compat/jotai/index.js +7 -2
  249. package/dist/compat/jotai/index.js.map +1 -1
  250. package/dist/compat/nanostores/index.cjs +186 -2
  251. package/dist/compat/nanostores/index.cjs.map +1 -1
  252. package/dist/compat/nanostores/index.d.cts +2 -1
  253. package/dist/compat/nanostores/index.d.ts +2 -1
  254. package/dist/compat/nanostores/index.js +21 -2
  255. package/dist/compat/nanostores/index.js.map +1 -1
  256. package/dist/compat/nestjs/index.cjs +2291 -6
  257. package/dist/compat/nestjs/index.cjs.map +1 -1
  258. package/dist/compat/nestjs/index.d.cts +10 -1
  259. package/dist/compat/nestjs/index.d.ts +10 -1
  260. package/dist/compat/nestjs/index.js +76 -2
  261. package/dist/compat/nestjs/index.js.map +1 -1
  262. package/dist/compat/react/index.cjs +95 -2
  263. package/dist/compat/react/index.cjs.map +1 -1
  264. package/dist/compat/react/index.d.cts +2 -1
  265. package/dist/compat/react/index.d.ts +2 -1
  266. package/dist/compat/react/index.js +11 -2
  267. package/dist/compat/react/index.js.map +1 -1
  268. package/dist/compat/solid/index.cjs +82 -2
  269. package/dist/compat/solid/index.cjs.map +1 -1
  270. package/dist/compat/solid/index.d.cts +2 -1
  271. package/dist/compat/solid/index.d.ts +2 -1
  272. package/dist/compat/solid/index.js +11 -2
  273. package/dist/compat/solid/index.js.map +1 -1
  274. package/dist/compat/svelte/index.cjs +85 -2
  275. package/dist/compat/svelte/index.cjs.map +1 -1
  276. package/dist/compat/svelte/index.d.cts +2 -1
  277. package/dist/compat/svelte/index.d.ts +2 -1
  278. package/dist/compat/svelte/index.js +11 -2
  279. package/dist/compat/svelte/index.js.map +1 -1
  280. package/dist/compat/vue/index.cjs +100 -2
  281. package/dist/compat/vue/index.cjs.map +1 -1
  282. package/dist/compat/vue/index.d.cts +3 -1
  283. package/dist/compat/vue/index.d.ts +3 -1
  284. package/dist/compat/vue/index.js +11 -2
  285. package/dist/compat/vue/index.js.map +1 -1
  286. package/dist/compat/zustand/index.cjs +50 -2
  287. package/dist/compat/zustand/index.cjs.map +1 -1
  288. package/dist/compat/zustand/index.d.cts +2 -1
  289. package/dist/compat/zustand/index.d.ts +2 -1
  290. package/dist/compat/zustand/index.js +7 -2
  291. package/dist/compat/zustand/index.js.map +1 -1
  292. package/dist/distill-De6Rnn15.d.cts +48 -0
  293. package/dist/distill-De6Rnn15.d.ts +48 -0
  294. package/dist/external-register-CWyroXb_.d.cts +138 -0
  295. package/dist/external-register-CWyroXb_.d.ts +138 -0
  296. package/dist/fallback-Bx46zqky.d.cts +243 -0
  297. package/dist/fallback-pIWW8A2d.d.ts +243 -0
  298. package/dist/guarded-execution-BcdtxeBk.d.ts +207 -0
  299. package/dist/guarded-execution-C-3hnP6A.d.cts +207 -0
  300. package/dist/index-B6pxYJzO.d.cts +36 -0
  301. package/dist/index-B6pxYJzO.d.ts +36 -0
  302. package/dist/index-BFsng6v1.d.cts +44 -0
  303. package/dist/index-BFsng6v1.d.ts +44 -0
  304. package/dist/index-B_p8tnvf.d.cts +770 -0
  305. package/dist/index-Bg-LwEt-.d.cts +45 -0
  306. package/dist/index-Bg-LwEt-.d.ts +45 -0
  307. package/dist/index-Brp888t0.d.cts +127 -0
  308. package/dist/index-Brp888t0.d.ts +127 -0
  309. package/dist/index-CDfk6jHN.d.cts +37 -0
  310. package/dist/index-CDfk6jHN.d.ts +37 -0
  311. package/dist/index-DLAxYaN5.d.cts +169 -0
  312. package/dist/index-DLAxYaN5.d.ts +169 -0
  313. package/dist/index-DeWbQzMe.d.cts +34 -0
  314. package/dist/index-DeWbQzMe.d.ts +34 -0
  315. package/dist/index-_HDSmPyp.d.ts +770 -0
  316. package/dist/index-dX9IzPqj.d.cts +86 -0
  317. package/dist/index-dX9IzPqj.d.ts +86 -0
  318. package/dist/index.cjs +26009 -0
  319. package/dist/index.cjs.map +1 -1
  320. package/dist/index.d.cts +55 -42
  321. package/dist/index.d.ts +55 -42
  322. package/dist/index.js +849 -0
  323. package/dist/index.js.map +1 -1
  324. package/dist/layout-types-B5aiHYgk.d.cts +72 -0
  325. package/dist/layout-types-B5aiHYgk.d.ts +72 -0
  326. package/dist/memory-composers-BryDrRBX.d.cts +529 -0
  327. package/dist/memory-composers-CVQqPYEV.d.ts +529 -0
  328. package/dist/observable-B25XqCbZ.d.cts +59 -0
  329. package/dist/observable-B25XqCbZ.d.ts +59 -0
  330. package/dist/pipeline-graph-Ce47CB6Y.d.cts +145 -0
  331. package/dist/pipeline-graph-DXCwY9vG.d.ts +145 -0
  332. package/dist/presets/ai/index.cjs +4377 -0
  333. package/dist/presets/ai/index.cjs.map +1 -0
  334. package/dist/presets/ai/index.d.cts +98 -0
  335. package/dist/presets/ai/index.d.ts +98 -0
  336. package/dist/presets/ai/index.js +54 -0
  337. package/dist/presets/ai/index.js.map +1 -0
  338. package/dist/presets/harness/index.cjs +5929 -0
  339. package/dist/presets/harness/index.cjs.map +1 -0
  340. package/dist/presets/harness/index.d.cts +566 -0
  341. package/dist/presets/harness/index.d.ts +566 -0
  342. package/dist/presets/harness/index.js +71 -0
  343. package/dist/presets/harness/index.js.map +1 -0
  344. package/dist/presets/index.cjs +9782 -0
  345. package/dist/presets/index.cjs.map +1 -0
  346. package/dist/presets/index.d.cts +28 -0
  347. package/dist/presets/index.d.ts +28 -0
  348. package/dist/presets/index.js +129 -0
  349. package/dist/presets/index.js.map +1 -0
  350. package/dist/presets/inspect/index.cjs +1087 -0
  351. package/dist/presets/inspect/index.cjs.map +1 -0
  352. package/dist/presets/inspect/index.d.cts +172 -0
  353. package/dist/presets/inspect/index.d.ts +172 -0
  354. package/dist/presets/inspect/index.js +21 -0
  355. package/dist/presets/inspect/index.js.map +1 -0
  356. package/dist/presets/resilience/index.cjs +1593 -0
  357. package/dist/presets/resilience/index.cjs.map +1 -0
  358. package/dist/presets/resilience/index.d.cts +205 -0
  359. package/dist/presets/resilience/index.d.ts +205 -0
  360. package/dist/presets/resilience/index.js +18 -0
  361. package/dist/presets/resilience/index.js.map +1 -0
  362. package/dist/rate-limiter-CEALq4N1.d.ts +559 -0
  363. package/dist/rate-limiter-DpVbSYdH.d.cts +559 -0
  364. package/dist/reactive-layout-fswlBUvX.d.cts +195 -0
  365. package/dist/reactive-layout-fswlBUvX.d.ts +195 -0
  366. package/dist/retry-BDbRZ_gx.d.ts +125 -0
  367. package/dist/retry-DWuhjvsA.d.cts +125 -0
  368. package/dist/solutions/index.cjs +8200 -0
  369. package/dist/solutions/index.cjs.map +1 -0
  370. package/dist/solutions/index.d.cts +23 -0
  371. package/dist/solutions/index.d.ts +23 -0
  372. package/dist/solutions/index.js +55 -0
  373. package/dist/solutions/index.js.map +1 -0
  374. package/dist/spawnable-5mDY501F.d.cts +746 -0
  375. package/dist/spawnable-D3lR0oQu.d.ts +746 -0
  376. package/dist/status-U-rUI79b.d.cts +84 -0
  377. package/dist/status-U-rUI79b.d.ts +84 -0
  378. package/dist/timeout-U5O4ESK3.js +12 -0
  379. package/dist/timeout-U5O4ESK3.js.map +1 -0
  380. package/dist/types-BB5Lw-pB.d.cts +442 -0
  381. package/dist/types-BB5Lw-pB.d.ts +442 -0
  382. package/dist/types-CJWIMJiZ.d.ts +548 -0
  383. package/dist/types-vCq7ShIm.d.cts +548 -0
  384. package/dist/utils/ai/browser.cjs +2169 -0
  385. package/dist/utils/ai/browser.cjs.map +1 -0
  386. package/dist/utils/ai/browser.d.cts +129 -0
  387. package/dist/utils/ai/browser.d.ts +129 -0
  388. package/dist/utils/ai/browser.js +255 -0
  389. package/dist/utils/ai/browser.js.map +1 -0
  390. package/dist/utils/ai/index.cjs +8468 -0
  391. package/dist/utils/ai/index.cjs.map +1 -0
  392. package/dist/utils/ai/index.d.cts +1777 -0
  393. package/dist/utils/ai/index.d.ts +1777 -0
  394. package/dist/utils/ai/index.js +173 -0
  395. package/dist/utils/ai/index.js.map +1 -0
  396. package/dist/utils/ai/node.cjs +648 -0
  397. package/dist/utils/ai/node.cjs.map +1 -0
  398. package/dist/utils/ai/node.d.cts +57 -0
  399. package/dist/utils/ai/node.d.ts +57 -0
  400. package/dist/utils/ai/node.js +84 -0
  401. package/dist/utils/ai/node.js.map +1 -0
  402. package/dist/utils/cqrs/index.cjs +1036 -0
  403. package/dist/utils/cqrs/index.cjs.map +1 -0
  404. package/dist/utils/cqrs/index.d.cts +438 -0
  405. package/dist/utils/cqrs/index.d.ts +438 -0
  406. package/dist/utils/cqrs/index.js +18 -0
  407. package/dist/utils/cqrs/index.js.map +1 -0
  408. package/dist/utils/demo-shell/index.cjs +865 -0
  409. package/dist/utils/demo-shell/index.cjs.map +1 -0
  410. package/dist/utils/demo-shell/index.d.cts +90 -0
  411. package/dist/utils/demo-shell/index.d.ts +90 -0
  412. package/dist/utils/demo-shell/index.js +13 -0
  413. package/dist/utils/demo-shell/index.js.map +1 -0
  414. package/dist/utils/domain-templates/index.cjs +732 -0
  415. package/dist/utils/domain-templates/index.cjs.map +1 -0
  416. package/dist/utils/domain-templates/index.d.cts +214 -0
  417. package/dist/utils/domain-templates/index.d.ts +214 -0
  418. package/dist/utils/domain-templates/index.js +17 -0
  419. package/dist/utils/domain-templates/index.js.map +1 -0
  420. package/dist/utils/graphspec/index.cjs +1174 -0
  421. package/dist/utils/graphspec/index.cjs.map +1 -0
  422. package/dist/utils/graphspec/index.d.cts +449 -0
  423. package/dist/utils/graphspec/index.d.ts +449 -0
  424. package/dist/utils/graphspec/index.js +35 -0
  425. package/dist/utils/graphspec/index.js.map +1 -0
  426. package/dist/utils/harness/index.cjs +656 -0
  427. package/dist/utils/harness/index.cjs.map +1 -0
  428. package/dist/utils/harness/index.d.cts +542 -0
  429. package/dist/utils/harness/index.d.ts +542 -0
  430. package/dist/utils/harness/index.js +56 -0
  431. package/dist/utils/harness/index.js.map +1 -0
  432. package/dist/utils/index.cjs +17614 -0
  433. package/dist/utils/index.cjs.map +1 -0
  434. package/dist/utils/index.d.cts +96 -0
  435. package/dist/utils/index.d.ts +96 -0
  436. package/dist/utils/index.js +514 -0
  437. package/dist/utils/index.js.map +1 -0
  438. package/dist/utils/inspect/index.cjs +807 -0
  439. package/dist/utils/inspect/index.cjs.map +1 -0
  440. package/dist/utils/inspect/index.d.cts +123 -0
  441. package/dist/utils/inspect/index.d.ts +123 -0
  442. package/dist/utils/inspect/index.js +30 -0
  443. package/dist/utils/inspect/index.js.map +1 -0
  444. package/dist/utils/job-queue/index.cjs +717 -0
  445. package/dist/utils/job-queue/index.cjs.map +1 -0
  446. package/dist/utils/job-queue/index.d.cts +200 -0
  447. package/dist/utils/job-queue/index.d.ts +200 -0
  448. package/dist/utils/job-queue/index.js +18 -0
  449. package/dist/utils/job-queue/index.js.map +1 -0
  450. package/dist/utils/memory/index.cjs +1456 -0
  451. package/dist/utils/memory/index.cjs.map +1 -0
  452. package/dist/utils/memory/index.d.cts +660 -0
  453. package/dist/utils/memory/index.d.ts +660 -0
  454. package/dist/utils/memory/index.js +19 -0
  455. package/dist/utils/memory/index.js.map +1 -0
  456. package/dist/utils/messaging/index.cjs +666 -0
  457. package/dist/utils/messaging/index.cjs.map +1 -0
  458. package/dist/utils/messaging/index.d.cts +562 -0
  459. package/dist/utils/messaging/index.d.ts +562 -0
  460. package/dist/utils/messaging/index.js +50 -0
  461. package/dist/utils/messaging/index.js.map +1 -0
  462. package/dist/utils/orchestration/index.cjs +876 -0
  463. package/dist/utils/orchestration/index.cjs.map +1 -0
  464. package/dist/utils/orchestration/index.d.cts +233 -0
  465. package/dist/utils/orchestration/index.d.ts +233 -0
  466. package/dist/utils/orchestration/index.js +19 -0
  467. package/dist/utils/orchestration/index.js.map +1 -0
  468. package/dist/utils/process/index.cjs +743 -0
  469. package/dist/utils/process/index.cjs.map +1 -0
  470. package/dist/utils/process/index.d.cts +411 -0
  471. package/dist/utils/process/index.d.ts +411 -0
  472. package/dist/utils/process/index.js +14 -0
  473. package/dist/utils/process/index.js.map +1 -0
  474. package/dist/utils/reactive-layout/index.cjs +1607 -0
  475. package/dist/utils/reactive-layout/index.cjs.map +1 -0
  476. package/dist/utils/reactive-layout/index.d.cts +492 -0
  477. package/dist/utils/reactive-layout/index.d.ts +492 -0
  478. package/dist/utils/reactive-layout/index.js +52 -0
  479. package/dist/utils/reactive-layout/index.js.map +1 -0
  480. package/dist/utils/reduction/index.cjs +203 -0
  481. package/dist/utils/reduction/index.cjs.map +1 -0
  482. package/dist/utils/reduction/index.d.cts +102 -0
  483. package/dist/utils/reduction/index.d.ts +102 -0
  484. package/dist/utils/reduction/index.js +14 -0
  485. package/dist/utils/reduction/index.js.map +1 -0
  486. package/dist/utils/resilience/index.cjs +1617 -0
  487. package/dist/utils/resilience/index.cjs.map +1 -0
  488. package/dist/utils/resilience/index.d.cts +9 -0
  489. package/dist/utils/resilience/index.d.ts +9 -0
  490. package/dist/utils/resilience/index.js +44 -0
  491. package/dist/utils/resilience/index.js.map +1 -0
  492. package/dist/utils/surface/index.cjs +1070 -0
  493. package/dist/utils/surface/index.cjs.map +1 -0
  494. package/dist/utils/surface/index.d.cts +240 -0
  495. package/dist/utils/surface/index.d.ts +240 -0
  496. package/dist/utils/surface/index.js +30 -0
  497. package/dist/utils/surface/index.js.map +1 -0
  498. package/dist/utils/topology-view/index.cjs +620 -0
  499. package/dist/utils/topology-view/index.cjs.map +1 -0
  500. package/dist/utils/topology-view/index.d.cts +68 -0
  501. package/dist/utils/topology-view/index.d.ts +68 -0
  502. package/dist/utils/topology-view/index.js +11 -0
  503. package/dist/utils/topology-view/index.js.map +1 -0
  504. package/package.json +293 -241
  505. package/dist/core/index.cjs +0 -21
  506. package/dist/core/index.cjs.map +0 -1
  507. package/dist/core/index.d.cts +0 -1
  508. package/dist/core/index.d.ts +0 -1
  509. package/dist/core/index.js +0 -3
  510. package/dist/core/index.js.map +0 -1
  511. package/dist/extra/browser.cjs +0 -21
  512. package/dist/extra/browser.cjs.map +0 -1
  513. package/dist/extra/browser.d.cts +0 -1
  514. package/dist/extra/browser.d.ts +0 -1
  515. package/dist/extra/browser.js +0 -3
  516. package/dist/extra/browser.js.map +0 -1
  517. package/dist/extra/index.cjs +0 -21
  518. package/dist/extra/index.cjs.map +0 -1
  519. package/dist/extra/index.d.cts +0 -1
  520. package/dist/extra/index.d.ts +0 -1
  521. package/dist/extra/index.js +0 -3
  522. package/dist/extra/index.js.map +0 -1
  523. package/dist/extra/node.cjs +0 -21
  524. package/dist/extra/node.cjs.map +0 -1
  525. package/dist/extra/node.d.cts +0 -1
  526. package/dist/extra/node.d.ts +0 -1
  527. package/dist/extra/node.js +0 -3
  528. package/dist/extra/node.js.map +0 -1
  529. package/dist/extra/operators.cjs +0 -21
  530. package/dist/extra/operators.cjs.map +0 -1
  531. package/dist/extra/operators.d.cts +0 -1
  532. package/dist/extra/operators.d.ts +0 -1
  533. package/dist/extra/operators.js +0 -3
  534. package/dist/extra/operators.js.map +0 -1
  535. package/dist/extra/reactive.cjs +0 -21
  536. package/dist/extra/reactive.cjs.map +0 -1
  537. package/dist/extra/reactive.d.cts +0 -1
  538. package/dist/extra/reactive.d.ts +0 -1
  539. package/dist/extra/reactive.js +0 -3
  540. package/dist/extra/reactive.js.map +0 -1
  541. package/dist/extra/render/index.cjs +0 -21
  542. package/dist/extra/render/index.cjs.map +0 -1
  543. package/dist/extra/render/index.d.cts +0 -1
  544. package/dist/extra/render/index.d.ts +0 -1
  545. package/dist/extra/render/index.js +0 -3
  546. package/dist/extra/render/index.js.map +0 -1
  547. package/dist/extra/sources.cjs +0 -21
  548. package/dist/extra/sources.cjs.map +0 -1
  549. package/dist/extra/sources.d.cts +0 -1
  550. package/dist/extra/sources.d.ts +0 -1
  551. package/dist/extra/sources.js +0 -3
  552. package/dist/extra/sources.js.map +0 -1
  553. package/dist/extra/storage-browser.cjs +0 -21
  554. package/dist/extra/storage-browser.cjs.map +0 -1
  555. package/dist/extra/storage-browser.d.cts +0 -1
  556. package/dist/extra/storage-browser.d.ts +0 -1
  557. package/dist/extra/storage-browser.js +0 -3
  558. package/dist/extra/storage-browser.js.map +0 -1
  559. package/dist/extra/storage-core.cjs +0 -21
  560. package/dist/extra/storage-core.cjs.map +0 -1
  561. package/dist/extra/storage-core.d.cts +0 -1
  562. package/dist/extra/storage-core.d.ts +0 -1
  563. package/dist/extra/storage-core.js +0 -3
  564. package/dist/extra/storage-core.js.map +0 -1
  565. package/dist/extra/storage-node.cjs +0 -21
  566. package/dist/extra/storage-node.cjs.map +0 -1
  567. package/dist/extra/storage-node.d.cts +0 -1
  568. package/dist/extra/storage-node.d.ts +0 -1
  569. package/dist/extra/storage-node.js +0 -3
  570. package/dist/extra/storage-node.js.map +0 -1
  571. package/dist/extra/storage-tiers-browser.cjs +0 -21
  572. package/dist/extra/storage-tiers-browser.cjs.map +0 -1
  573. package/dist/extra/storage-tiers-browser.d.cts +0 -1
  574. package/dist/extra/storage-tiers-browser.d.ts +0 -1
  575. package/dist/extra/storage-tiers-browser.js +0 -3
  576. package/dist/extra/storage-tiers-browser.js.map +0 -1
  577. package/dist/extra/storage-tiers-node.cjs +0 -21
  578. package/dist/extra/storage-tiers-node.cjs.map +0 -1
  579. package/dist/extra/storage-tiers-node.d.cts +0 -1
  580. package/dist/extra/storage-tiers-node.d.ts +0 -1
  581. package/dist/extra/storage-tiers-node.js +0 -3
  582. package/dist/extra/storage-tiers-node.js.map +0 -1
  583. package/dist/extra/storage-tiers.cjs +0 -21
  584. package/dist/extra/storage-tiers.cjs.map +0 -1
  585. package/dist/extra/storage-tiers.d.cts +0 -1
  586. package/dist/extra/storage-tiers.d.ts +0 -1
  587. package/dist/extra/storage-tiers.js +0 -3
  588. package/dist/extra/storage-tiers.js.map +0 -1
  589. package/dist/extra/storage-wal.cjs +0 -21
  590. package/dist/extra/storage-wal.cjs.map +0 -1
  591. package/dist/extra/storage-wal.d.cts +0 -1
  592. package/dist/extra/storage-wal.d.ts +0 -1
  593. package/dist/extra/storage-wal.js +0 -3
  594. package/dist/extra/storage-wal.js.map +0 -1
  595. package/dist/graph/index.cjs +0 -21
  596. package/dist/graph/index.cjs.map +0 -1
  597. package/dist/graph/index.d.cts +0 -1
  598. package/dist/graph/index.d.ts +0 -1
  599. package/dist/graph/index.js +0 -3
  600. package/dist/graph/index.js.map +0 -1
  601. package/dist/patterns/ai/browser.cjs +0 -21
  602. package/dist/patterns/ai/browser.cjs.map +0 -1
  603. package/dist/patterns/ai/browser.d.cts +0 -1
  604. package/dist/patterns/ai/browser.d.ts +0 -1
  605. package/dist/patterns/ai/browser.js +0 -3
  606. package/dist/patterns/ai/browser.js.map +0 -1
  607. package/dist/patterns/ai/index.cjs +0 -21
  608. package/dist/patterns/ai/index.cjs.map +0 -1
  609. package/dist/patterns/ai/index.d.cts +0 -1
  610. package/dist/patterns/ai/index.d.ts +0 -1
  611. package/dist/patterns/ai/index.js +0 -3
  612. package/dist/patterns/ai/index.js.map +0 -1
  613. package/dist/patterns/ai/node.cjs +0 -21
  614. package/dist/patterns/ai/node.cjs.map +0 -1
  615. package/dist/patterns/ai/node.d.cts +0 -1
  616. package/dist/patterns/ai/node.d.ts +0 -1
  617. package/dist/patterns/ai/node.js +0 -3
  618. package/dist/patterns/ai/node.js.map +0 -1
  619. package/dist/patterns/cqrs/index.cjs +0 -21
  620. package/dist/patterns/cqrs/index.cjs.map +0 -1
  621. package/dist/patterns/cqrs/index.d.cts +0 -1
  622. package/dist/patterns/cqrs/index.d.ts +0 -1
  623. package/dist/patterns/cqrs/index.js +0 -3
  624. package/dist/patterns/cqrs/index.js.map +0 -1
  625. package/dist/patterns/demo-shell/index.cjs +0 -21
  626. package/dist/patterns/demo-shell/index.cjs.map +0 -1
  627. package/dist/patterns/demo-shell/index.d.cts +0 -1
  628. package/dist/patterns/demo-shell/index.d.ts +0 -1
  629. package/dist/patterns/demo-shell/index.js +0 -3
  630. package/dist/patterns/demo-shell/index.js.map +0 -1
  631. package/dist/patterns/domain-templates/index.cjs +0 -21
  632. package/dist/patterns/domain-templates/index.cjs.map +0 -1
  633. package/dist/patterns/domain-templates/index.d.cts +0 -1
  634. package/dist/patterns/domain-templates/index.d.ts +0 -1
  635. package/dist/patterns/domain-templates/index.js +0 -3
  636. package/dist/patterns/domain-templates/index.js.map +0 -1
  637. package/dist/patterns/graphspec/index.cjs +0 -21
  638. package/dist/patterns/graphspec/index.cjs.map +0 -1
  639. package/dist/patterns/graphspec/index.d.cts +0 -1
  640. package/dist/patterns/graphspec/index.d.ts +0 -1
  641. package/dist/patterns/graphspec/index.js +0 -3
  642. package/dist/patterns/graphspec/index.js.map +0 -1
  643. package/dist/patterns/harness/index.cjs +0 -21
  644. package/dist/patterns/harness/index.cjs.map +0 -1
  645. package/dist/patterns/harness/index.d.cts +0 -1
  646. package/dist/patterns/harness/index.d.ts +0 -1
  647. package/dist/patterns/harness/index.js +0 -3
  648. package/dist/patterns/harness/index.js.map +0 -1
  649. package/dist/patterns/inspect/index.cjs +0 -21
  650. package/dist/patterns/inspect/index.cjs.map +0 -1
  651. package/dist/patterns/inspect/index.d.cts +0 -1
  652. package/dist/patterns/inspect/index.d.ts +0 -1
  653. package/dist/patterns/inspect/index.js +0 -3
  654. package/dist/patterns/inspect/index.js.map +0 -1
  655. package/dist/patterns/job-queue/index.cjs +0 -21
  656. package/dist/patterns/job-queue/index.cjs.map +0 -1
  657. package/dist/patterns/job-queue/index.d.cts +0 -1
  658. package/dist/patterns/job-queue/index.d.ts +0 -1
  659. package/dist/patterns/job-queue/index.js +0 -3
  660. package/dist/patterns/job-queue/index.js.map +0 -1
  661. package/dist/patterns/memory/index.cjs +0 -21
  662. package/dist/patterns/memory/index.cjs.map +0 -1
  663. package/dist/patterns/memory/index.d.cts +0 -1
  664. package/dist/patterns/memory/index.d.ts +0 -1
  665. package/dist/patterns/memory/index.js +0 -3
  666. package/dist/patterns/memory/index.js.map +0 -1
  667. package/dist/patterns/messaging/index.cjs +0 -21
  668. package/dist/patterns/messaging/index.cjs.map +0 -1
  669. package/dist/patterns/messaging/index.d.cts +0 -1
  670. package/dist/patterns/messaging/index.d.ts +0 -1
  671. package/dist/patterns/messaging/index.js +0 -3
  672. package/dist/patterns/messaging/index.js.map +0 -1
  673. package/dist/patterns/orchestration/index.cjs +0 -21
  674. package/dist/patterns/orchestration/index.cjs.map +0 -1
  675. package/dist/patterns/orchestration/index.d.cts +0 -1
  676. package/dist/patterns/orchestration/index.d.ts +0 -1
  677. package/dist/patterns/orchestration/index.js +0 -3
  678. package/dist/patterns/orchestration/index.js.map +0 -1
  679. package/dist/patterns/process/index.cjs +0 -21
  680. package/dist/patterns/process/index.cjs.map +0 -1
  681. package/dist/patterns/process/index.d.cts +0 -1
  682. package/dist/patterns/process/index.d.ts +0 -1
  683. package/dist/patterns/process/index.js +0 -3
  684. package/dist/patterns/process/index.js.map +0 -1
  685. package/dist/patterns/reactive-layout/index.cjs +0 -21
  686. package/dist/patterns/reactive-layout/index.cjs.map +0 -1
  687. package/dist/patterns/reactive-layout/index.d.cts +0 -1
  688. package/dist/patterns/reactive-layout/index.d.ts +0 -1
  689. package/dist/patterns/reactive-layout/index.js +0 -3
  690. package/dist/patterns/reactive-layout/index.js.map +0 -1
  691. package/dist/patterns/reduction/index.cjs +0 -21
  692. package/dist/patterns/reduction/index.cjs.map +0 -1
  693. package/dist/patterns/reduction/index.d.cts +0 -1
  694. package/dist/patterns/reduction/index.d.ts +0 -1
  695. package/dist/patterns/reduction/index.js +0 -3
  696. package/dist/patterns/reduction/index.js.map +0 -1
  697. package/dist/patterns/surface/index.cjs +0 -21
  698. package/dist/patterns/surface/index.cjs.map +0 -1
  699. package/dist/patterns/surface/index.d.cts +0 -1
  700. package/dist/patterns/surface/index.d.ts +0 -1
  701. package/dist/patterns/surface/index.js +0 -3
  702. package/dist/patterns/surface/index.js.map +0 -1
  703. package/dist/patterns/topology-view/index.cjs +0 -21
  704. package/dist/patterns/topology-view/index.cjs.map +0 -1
  705. package/dist/patterns/topology-view/index.d.cts +0 -1
  706. package/dist/patterns/topology-view/index.d.ts +0 -1
  707. package/dist/patterns/topology-view/index.js +0 -3
  708. package/dist/patterns/topology-view/index.js.map +0 -1
  709. package/dist/testing/index.cjs +0 -21
  710. package/dist/testing/index.cjs.map +0 -1
  711. package/dist/testing/index.d.cts +0 -1
  712. package/dist/testing/index.d.ts +0 -1
  713. package/dist/testing/index.js +0 -3
  714. package/dist/testing/index.js.map +0 -1
@@ -0,0 +1,468 @@
1
+ import { Messages, NodeOptions, Node } from '@graphrefly/pure-ts/core';
2
+ export { D as DistillBundle, a as DistillOptions, E as Extraction, d as distill } from '../../distill-De6Rnn15.cjs';
3
+ export { B as BundleTriad, E as EmitTriad, a as ExternalBundleOptions, b as ExternalRegister, e as externalBundle, c as externalProducer } from '../../external-register-CWyroXb_.cjs';
4
+ import { Graph } from '@graphrefly/pure-ts/graph';
5
+ export { I as InteropObservable, a as InteropObserver, b as InteropSubscription, T as ToObservableOptions, t as toObservable } from '../../observable-B25XqCbZ.cjs';
6
+ import { ReactiveLogBundle, PubSubChange, NodeInput } from '@graphrefly/pure-ts/extra';
7
+
8
+ /**
9
+ * Watermark-based backpressure controller — reactive PAUSE/RESUME flow control.
10
+ *
11
+ * Purely synchronous, event-driven. No timers, no polling, no Promises.
12
+ * Each controller instance uses a unique lockId so multiple controllers
13
+ * on the same upstream node do not collide.
14
+ *
15
+ * @module
16
+ */
17
+
18
+ type WatermarkOptions = {
19
+ /** Pending count at which PAUSE is sent upstream. */
20
+ highWaterMark: number;
21
+ /** Pending count at which RESUME is sent upstream (after being paused). */
22
+ lowWaterMark: number;
23
+ };
24
+ type WatermarkController = {
25
+ /** Call when a DATA message is buffered/enqueued. Returns `true` if PAUSE was just sent. */
26
+ onEnqueue(): boolean;
27
+ /** Call when a buffered item is consumed. Returns `true` if RESUME was just sent. */
28
+ onDequeue(): boolean;
29
+ /** Current un-consumed item count. */
30
+ readonly pending: number;
31
+ /** Whether upstream is currently paused by this controller. */
32
+ readonly paused: boolean;
33
+ /** Dispose: if paused, sends RESUME to unblock upstream. */
34
+ dispose(): void;
35
+ };
36
+ /**
37
+ * Creates a watermark-based backpressure controller.
38
+ *
39
+ * @param sendUp - Callback that delivers messages upstream (typically `handle.up`).
40
+ * @param opts - High/low watermark thresholds (item counts).
41
+ * @returns A {@link WatermarkController}.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const handle = graph.observe("fast-source");
46
+ * const wm = createWatermarkController(
47
+ * (msgs) => handle.up(msgs),
48
+ * { highWaterMark: 64, lowWaterMark: 16 },
49
+ * );
50
+ *
51
+ * // In sink callback:
52
+ * handle.subscribe((msgs) => {
53
+ * for (const msg of msgs) {
54
+ * if (msg[0] === DATA) {
55
+ * buffer.push(msg[1]);
56
+ * wm.onEnqueue();
57
+ * }
58
+ * }
59
+ * });
60
+ *
61
+ * // When consumer drains:
62
+ * const item = buffer.shift();
63
+ * wm.onDequeue();
64
+ * ```
65
+ *
66
+ * @category extra
67
+ */
68
+ declare function createWatermarkController(sendUp: (messages: Messages) => void, opts: WatermarkOptions): WatermarkController;
69
+
70
+ /**
71
+ * Phase 13.C — `selector` + `materialize` composers (DS-13.C / G2 lock C).
72
+ *
73
+ * Two paired primitives for dynamic-mount routing:
74
+ *
75
+ * - {@link selector} — projects an input value to a routing key, deduped.
76
+ * Equivalent to `map + distinctUntilChanged`, but the dedup is the
77
+ * semantic point: the key changes ONLY when the routed-to slot should
78
+ * change. Fires `materialize` re-mounts efficiently.
79
+ *
80
+ * - {@link materialize} — given a reactive `key` and a reactive map of
81
+ * `key → factory` thunks, mounts the matching factory's Graph under
82
+ * `parent` at a stable slot name. When `key` changes, unmounts the old
83
+ * slot and mounts the new factory's output. When `factories` mutates but
84
+ * `key` stays the same, the current slot continues to run on the OLD
85
+ * factory ("current sessions complete on old factory; new sessions use
86
+ * new factory" — full hot-swap correctness deferred to G10, parked).
87
+ *
88
+ * Reusable beyond the agent layer:
89
+ * - `harnessLoop` strategy routing — the strategy node IS a `selector`.
90
+ * - `pipelineGraph` dynamic stage selection.
91
+ * - `refineLoop` strategy swap.
92
+ * - Phase 13.I `spawnable()` mounts agent slots via `materialize`.
93
+ */
94
+
95
+ /** Options for operator nodes: NodeOptions without `describeKind` (set internally). */
96
+ type ExtraOpts = Omit<NodeOptions<unknown>, "describeKind">;
97
+ /** Options for {@link selector}. */
98
+ type SelectorOpts<TKey> = ExtraOpts & {
99
+ /**
100
+ * Equality comparator for the projected key. Defaults to {@link Object.is}.
101
+ * Used to suppress re-emits when the input changes but the projected key
102
+ * does not — this is the load-bearing behavior that lets downstream
103
+ * `materialize` skip unnecessary unmount/remount cycles.
104
+ */
105
+ equals?: (a: TKey, b: TKey) => boolean;
106
+ };
107
+ /**
108
+ * Projects each upstream value to a routing key, deduped on the key. The
109
+ * output node emits a key only when the projected key actually changes —
110
+ * pairs cleanly with {@link materialize}, which re-mounts only on key
111
+ * change.
112
+ *
113
+ * **Differs from `map`:** `map(input, fn)` fires on every upstream wave
114
+ * regardless of output value. `selector(input, fn)` fires only when the
115
+ * projected key CHANGES (under `equals`), so downstream re-mount logic is
116
+ * stable.
117
+ *
118
+ * @param input - Upstream node carrying the value to project.
119
+ * @param fn - Synchronous projection function.
120
+ * @param opts - Optional {@link SelectorOpts}.
121
+ * @returns `Node<TKey>` carrying the latest projected key (deduped).
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * import { selector, materialize, state } from "@graphrefly/graphrefly-ts";
126
+ *
127
+ * type Request = { kind: "research" | "summarize" | "code"; payload: unknown };
128
+ * const requestNode = state<Request>({ kind: "research", payload: {} });
129
+ *
130
+ * const presetId = selector(requestNode, (req) => req.kind);
131
+ * // presetId is `Node<"research" | "summarize" | "code">`, deduped.
132
+ * // Downstream materialize re-mounts ONLY when the kind axis changes.
133
+ * ```
134
+ *
135
+ * @category extra
136
+ */
137
+ declare function selector<TIn, TKey>(input: Node<TIn>, fn: (input: TIn) => TKey, opts?: SelectorOpts<TKey>): Node<TKey>;
138
+ /**
139
+ * Factory thunk for a {@link materialize} slot. Called once per mount cycle
140
+ * to mint a fresh `TGraph` instance. The instance is mounted under
141
+ * `parent.mount(slotName, ...)` and unmounted via `parent.remove(slotName)`
142
+ * when `key` next changes.
143
+ *
144
+ * Each invocation MUST return a fresh, never-before-mounted Graph instance —
145
+ * `Graph.mount` rejects re-mounting an instance that is already mounted
146
+ * elsewhere in the tree. Caching factory output is unsafe.
147
+ */
148
+ type GraphFactory<TGraph extends Graph> = () => TGraph;
149
+ /** Options for {@link materialize}. */
150
+ type MaterializeOpts = ExtraOpts & {
151
+ /**
152
+ * Local mount name on the parent graph. Default `"materialized"`.
153
+ *
154
+ * Two materialize calls on the SAME parent must use distinct `slotName`
155
+ * values, otherwise the second mount throws "mount already exists".
156
+ * For a hub mounting many slots (e.g. {@link spawnable}'s preset
157
+ * registry), use `slotName: \`preset-\${id}\`` or similar.
158
+ */
159
+ slotName?: string;
160
+ };
161
+ /**
162
+ * Reactive dynamic mount: mounts the Graph instance for `key` under
163
+ * `parent.mount(slotName, ...)`, and re-mounts when `key` changes.
164
+ *
165
+ * **Lifecycle.** First DATA on `key` triggers a mount: look up
166
+ * `factories.get(key)`, call the factory thunk, mount the result under
167
+ * `parent`. Each subsequent `key` change unmounts the previous slot and
168
+ * mounts the new one. When this materialize node terminates (subscriber
169
+ * teardown, `COMPLETE` from `key`, `Graph.destroy`), the active slot is
170
+ * unmounted via `parent.remove(slotName)`.
171
+ *
172
+ * **Hot-swap policy (G10 deferred).** When `factories` mutates but `key`
173
+ * stays the same, the currently-mounted slot is NOT re-instantiated —
174
+ * "current sessions complete on old factory; new sessions use new
175
+ * factory." Atomic disconnect/reconnect of an in-flight slot to a new
176
+ * factory is parked under G10 (see `optimizations.md` "G10 atomic
177
+ * registry hot-swap").
178
+ *
179
+ * **Output.** The returned `Node<TGraph>` emits the currently-mounted
180
+ * Graph reference whenever a mount occurs. Consumers can subscribe to
181
+ * watch slot changes, or read `.cache` for the active mount. SENTINEL
182
+ * (no DATA) when no slot is currently mounted (e.g. `key` has no matching
183
+ * factory).
184
+ *
185
+ * **Spec compliance.**
186
+ * - No polling: mount transitions are reactive on `key` / `factories`.
187
+ * - No raw async: factory invocation is synchronous; if a factory needs
188
+ * async setup, it returns a Graph that handles its own setup internally.
189
+ * - Mount/unmount happens as side-effects inside the reactive `subscribe`
190
+ * handler — sanctioned per spec §5.9 (Graph topology mutations are
191
+ * imperative writes at the system boundary, not in-flight reactive
192
+ * triggers).
193
+ *
194
+ * @param key - Reactive routing key. Re-mounts on each key change (deduped
195
+ * by reference; pair with {@link selector} for projection-based dedup).
196
+ * @param factories - Reactive map of `key → factory thunk`. Factory map
197
+ * mutations don't disturb the active slot until the next key change.
198
+ * @param parent - Graph to mount slots under. The `slotName` (default
199
+ * `"materialized"`) must be free on `parent` at construction time.
200
+ * @param opts - Optional {@link MaterializeOpts}.
201
+ * @returns `Node<TGraph>` carrying the active mount.
202
+ *
203
+ * @example
204
+ * ```ts
205
+ * import { materialize, selector, state, Graph } from "@graphrefly/graphrefly-ts";
206
+ *
207
+ * const parent = new Graph("parent");
208
+ * const factories = state<ReadonlyMap<string, () => Graph>>(new Map([
209
+ * ["researcher", () => new ResearchAgentGraph()],
210
+ * ["coder", () => new CoderAgentGraph()],
211
+ * ]));
212
+ * const key = selector(requestNode, (r) => r.kind);
213
+ * const slot = materialize(key, factories, parent, { slotName: "agent" });
214
+ * // `slot.cache` is the active agent graph; `parent.node("agent::out")`
215
+ * // resolves into whichever agent is currently mounted.
216
+ * ```
217
+ *
218
+ * @category extra
219
+ */
220
+ declare function materialize<TKey, TGraph extends Graph>(key: Node<TKey>, factories: Node<ReadonlyMap<TKey, GraphFactory<TGraph>>>, parent: Graph, opts?: MaterializeOpts): Node<TGraph>;
221
+
222
+ /**
223
+ * Lazy per-topic state hub (roadmap §3.2) — lightweight last-value broadcasts.
224
+ *
225
+ * Each topic is a sentinel `node<unknown>()` with push-on-subscribe replay of
226
+ * the most recent published value (no push until the first `publish`). For
227
+ * Pulsar-inspired retained message logs,
228
+ * cursor-based subscriptions, and job-queue semantics, use `messagingHub()` in
229
+ * `utils/messaging` — built on `TopicGraph` / `SubscriptionGraph` with
230
+ * retention policies, absolute cursor tracking, and per-subscriber state.
231
+ *
232
+ * Presentation layer (base/composition). Moved from pure-ts during cleave A3
233
+ * (no substrate core/graph dependency on pubsub found).
234
+ */
235
+
236
+ /**
237
+ * Storage contract for {@link pubsub} — registry only.
238
+ *
239
+ * Tracks the set of topic names plus a monotonic `version` counter that
240
+ * advances on topic create/remove. Does NOT own per-topic message storage —
241
+ * per-topic cached last values live in the topic nodes themselves (sentinel
242
+ * until the first publish).
243
+ *
244
+ * For distributed / persistent per-topic storage, use `messagingHub()` in
245
+ * `utils/messaging`, which composes `TopicGraph` under a lazy registry.
246
+ *
247
+ * @category base
248
+ */
249
+ interface PubSubBackend {
250
+ /** Monotonic counter; advances on topic create/remove. */
251
+ readonly version: number;
252
+ readonly topicCount: number;
253
+ hasTopic(name: string): boolean;
254
+ topicNames(): IterableIterator<string>;
255
+ /** Records topic creation. Returns `true` if newly added (advances `version`). */
256
+ createTopic(name: string): boolean;
257
+ /** Records topic removal. Returns `true` if it existed (advances `version`). */
258
+ removeTopic(name: string): boolean;
259
+ }
260
+ /**
261
+ * Default in-memory registry backend.
262
+ *
263
+ * @category base
264
+ */
265
+ declare class NativePubSubBackend implements PubSubBackend {
266
+ private _version;
267
+ private readonly _topics;
268
+ get version(): number;
269
+ get topicCount(): number;
270
+ hasTopic(name: string): boolean;
271
+ topicNames(): IterableIterator<string>;
272
+ createTopic(name: string): boolean;
273
+ removeTopic(name: string): boolean;
274
+ }
275
+ type PubSubHubOptions = {
276
+ /**
277
+ * Storage backend. Defaults to `NativePubSubBackend`. Pluggable for audit /
278
+ * monitoring / mirror-to-external-broker use cases.
279
+ */
280
+ backend?: PubSubBackend;
281
+ /**
282
+ * DS-14 / DS14R2 — opt-in delta companion. When set, the hub appends a
283
+ * typed {@link PubSubChange} record in the **same batch frame** as the
284
+ * topic emission / teardown (same-wave consistency — subscribers reading
285
+ * both a topic and `mutationLog` never see torn state).
286
+ *
287
+ * Records the locked `PubSubChange` verbs that apply to this last-value
288
+ * hub: `publish` (per `publish` / `publishMany`) and `remove` (per
289
+ * `removeTopic`). The `ack` verb is a cursor concern of `messagingHub()`
290
+ * and does not apply here. **Note:** the locked `publish` payload carries
291
+ * `value` only (no topic name) — callers needing per-topic delta
292
+ * correlation should embed identity in the value or use `messagingHub()`.
293
+ *
294
+ * `true` = defaults; object form forwards `maxSize` / `name` to the inner
295
+ * `reactiveLog`.
296
+ */
297
+ mutationLog?: true | {
298
+ maxSize?: number;
299
+ name?: string;
300
+ };
301
+ };
302
+ /**
303
+ * Lazy per-topic state hub. Topics are single-value sentinel nodes
304
+ * with push-on-subscribe replay of the most recent publish.
305
+ *
306
+ * @category base
307
+ */
308
+ interface PubSubHub {
309
+ /**
310
+ * Returns the topic node, creating it on first use.
311
+ *
312
+ * @param name - Topic key.
313
+ * @returns `Node` whose value is the last published payload. Starts in
314
+ * sentinel state — no push-on-subscribe until the first publish.
315
+ */
316
+ topic(name: string): Node<unknown>;
317
+ /** Publishes a value to the topic (lazily creating the topic if missing). */
318
+ publish(name: string, value: unknown): void;
319
+ /**
320
+ * Bulk publish — single outer batch for all entries. No-op if empty.
321
+ *
322
+ * **Iterable consumption (F6):** `entries` is consumed once (single-pass).
323
+ * Pass an array or `Set` for multi-shot callers. Iteration happens INSIDE
324
+ * the batch frame — if the iterator throws mid-way, the batch is discarded
325
+ * and NO publishes are visible to subscribers (all-or-nothing within one
326
+ * call).
327
+ */
328
+ publishMany(entries: Iterable<[string, unknown]>): void;
329
+ /** Removes a topic; sends `TEARDOWN` to its node. Returns `true` if it existed. */
330
+ removeTopic(name: string): boolean;
331
+ /** Checks topic existence without creating. O(1). */
332
+ has(name: string): boolean;
333
+ /** Number of topics currently registered. O(1). */
334
+ readonly size: number;
335
+ /** Iterator over topic names. */
336
+ topicNames(): IterableIterator<string>;
337
+ /**
338
+ * DS14R2 — present iff `mutationLog` was configured. Append-only log of
339
+ * `publish` / `remove` deltas, same-wave-consistent with topic emissions.
340
+ */
341
+ readonly mutationLog?: ReactiveLogBundle<PubSubChange>;
342
+ }
343
+ /**
344
+ * Creates a lazy per-topic state hub.
345
+ *
346
+ * @param options - Optional pluggable `backend` (defaults to `NativePubSubBackend`).
347
+ * @returns Hub with lazy `topic()` / `publish()` / `publishMany()` / `removeTopic()` /
348
+ * `has()` / `size` / `topicNames()`.
349
+ *
350
+ * @remarks
351
+ * **Scope:** Each topic is a sentinel node — retains only the last published
352
+ * value (no push-on-subscribe before the first publish). For Pulsar-inspired
353
+ * retention + cursor reading, use `messagingHub()` in `utils/messaging`.
354
+ *
355
+ * **`removeTopic`:** Sends `TEARDOWN` to the topic node; all subscribers receive
356
+ * the TEARDOWN message. Subsequent `publish(name, value)` silently recreates the
357
+ * topic with a fresh node — existing subscribers to the old node do NOT reconnect.
358
+ *
359
+ * @example
360
+ * ```ts
361
+ * import { pubsub } from "@graphrefly/graphrefly";
362
+ *
363
+ * const hub = pubsub();
364
+ * const t = hub.topic("events");
365
+ * t.subscribe((msgs) => console.log(msgs));
366
+ * hub.publish("events", { ok: true });
367
+ * hub.publishMany([["events", 1], ["status", "ready"]]);
368
+ * ```
369
+ *
370
+ * @category base
371
+ */
372
+ declare function pubsub(options?: PubSubHubOptions): PubSubHub;
373
+
374
+ /**
375
+ * `singleFromAny` — keyed promise/Node de-duplication ("singleflight").
376
+ *
377
+ * Given a `factory: (key) => NodeInput<T>`, returns a callable that dedupes
378
+ * concurrent invocations sharing the same key — all callers with the same
379
+ * key while a request is in-flight receive the same `Promise<T>`. Once the
380
+ * underlying source settles (DATA, ERROR, or COMPLETE), the cache entry is
381
+ * cleared so the next call re-invokes the factory.
382
+ *
383
+ * This is the classic "singleflight" pattern from Go, generalised over the
384
+ * library's `NodeInput<T>` bridge so callers can pass Promise-returning
385
+ * factories, Node-returning factories, or plain value factories with
386
+ * identical semantics.
387
+ *
388
+ * Use cases:
389
+ * - `withReplayCache` cache-miss thundering-herd dedup
390
+ * - Shared HTTP fetches keyed by URL
391
+ * - Expensive compute keyed by request fingerprint
392
+ *
393
+ * @example
394
+ * ```ts
395
+ * const fetchUser = singleFromAny<string, User>((id) => fetch(`/users/${id}`).then(r => r.json()));
396
+ * // Two concurrent callers with id="42" → one underlying fetch, two Promises resolving to the same User.
397
+ * const [a, b] = await Promise.all([fetchUser("42"), fetchUser("42")]);
398
+ * ```
399
+ *
400
+ * @category extra
401
+ */
402
+
403
+ interface SingleFromAnyOptions<K> {
404
+ /**
405
+ * Convert a typed key into a cache-string. Defaults to `String(key)`, which
406
+ * works for primitive keys; callers with object keys should provide a
407
+ * stable serializer (e.g., canonical JSON).
408
+ */
409
+ keyFn?: (key: K) => string;
410
+ }
411
+ /**
412
+ * Dedupe concurrent `factory(key)` invocations. Returns a bound callable.
413
+ *
414
+ * @param factory - Produces a `NodeInput<T>` for each unique key.
415
+ * @param opts - Optional key-stringification.
416
+ * @returns A function `(key: K) => Promise<T>` whose inflight results are shared per key.
417
+ */
418
+ declare function singleFromAny<K, T>(factory: (key: K) => NodeInput<T>, opts?: SingleFromAnyOptions<K>): (key: K) => Promise<T>;
419
+ /**
420
+ * Reactive variant: returns a bound callable that hands out `Node<T>` values.
421
+ * All concurrent callers with the same key during an in-flight source share
422
+ * the same Node. When the underlying source **terminally** settles (ERROR
423
+ * or COMPLETE), the Node is removed from the cache so the next call
424
+ * re-invokes `factory`. DATA is NOT terminal — callers subscribing after
425
+ * the first DATA still receive the shared Node (and push-on-subscribe per
426
+ * the spec's cached-DATA contract).
427
+ *
428
+ * Use when downstream wants reactive subscription (not a one-shot Promise).
429
+ *
430
+ * @category extra
431
+ */
432
+ declare function singleNodeFromAny<K, T>(factory: (key: K) => NodeInput<T>, opts?: SingleFromAnyOptions<K>): (key: K) => Node<T>;
433
+
434
+ /**
435
+ * Composite data patterns (roadmap §3.2b).
436
+ *
437
+ * These helpers compose existing primitives (`node`, `switchMap`, `reactiveMap`,
438
+ * `dynamicNode`, `fromAny`) without introducing new protocol semantics.
439
+ */
440
+
441
+ /**
442
+ * Verification payload shape is intentionally user-defined.
443
+ */
444
+ type VerifyValue = unknown;
445
+ type VerifiableOptions<TVerify = VerifyValue> = Omit<NodeOptions, "describeKind" | "initial"> & {
446
+ /** Reactive re-verification trigger. */
447
+ trigger?: NodeInput<unknown>;
448
+ /** Re-run verification whenever `source` settles. */
449
+ autoVerify?: boolean;
450
+ /** Initial verification companion value. */
451
+ initialVerified?: TVerify | null;
452
+ };
453
+ type VerifiableBundle<T, TVerify = VerifyValue> = {
454
+ /** Coerced source node. */
455
+ node: Node<T>;
456
+ /** Latest verification result (`null` before first verification). */
457
+ verified: Node<TVerify | null>;
458
+ /** Effective trigger node used for verification, if any. */
459
+ trigger: Node<unknown> | null;
460
+ };
461
+ /**
462
+ * Composes a value node with a reactive verification companion.
463
+ *
464
+ * Uses `switchMap` so newer triggers cancel stale in-flight verification work.
465
+ */
466
+ declare function verifiable<T, TVerify = VerifyValue>(source: NodeInput<T>, verifyFn: (value: T) => NodeInput<TVerify>, opts?: VerifiableOptions<TVerify>): VerifiableBundle<T, TVerify>;
467
+
468
+ export { type ExtraOpts, type GraphFactory, type MaterializeOpts, NativePubSubBackend, type PubSubBackend, type PubSubHub, type PubSubHubOptions, type SelectorOpts, type SingleFromAnyOptions, type VerifiableBundle, type VerifiableOptions, type VerifyValue, type WatermarkController, type WatermarkOptions, createWatermarkController, materialize, pubsub, selector, singleFromAny, singleNodeFromAny, verifiable };