@graphrefly/graphrefly 0.44.0 → 0.45.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 (420) hide show
  1. package/README.md +21 -17
  2. package/dist/compat/index.cjs +20 -10
  3. package/dist/compat/index.cjs.map +1 -0
  4. package/dist/compat/index.d.cts +1 -22
  5. package/dist/compat/index.d.ts +1 -22
  6. package/dist/compat/index.js +3 -1
  7. package/dist/compat/index.js.map +1 -0
  8. package/dist/compat/jotai/index.cjs +21 -1
  9. package/dist/compat/jotai/index.cjs.map +1 -0
  10. package/dist/compat/jotai/index.d.cts +1 -2
  11. package/dist/compat/jotai/index.d.ts +1 -2
  12. package/dist/compat/jotai/index.js +3 -1
  13. package/dist/compat/jotai/index.js.map +1 -0
  14. package/dist/compat/nanostores/index.cjs +21 -1
  15. package/dist/compat/nanostores/index.cjs.map +1 -0
  16. package/dist/compat/nanostores/index.d.cts +1 -2
  17. package/dist/compat/nanostores/index.d.ts +1 -2
  18. package/dist/compat/nanostores/index.js +3 -1
  19. package/dist/compat/nanostores/index.js.map +1 -0
  20. package/dist/compat/nestjs/index.cjs +20 -10
  21. package/dist/compat/nestjs/index.cjs.map +1 -0
  22. package/dist/compat/nestjs/index.d.cts +1 -13
  23. package/dist/compat/nestjs/index.d.ts +1 -13
  24. package/dist/compat/nestjs/index.js +3 -1
  25. package/dist/compat/nestjs/index.js.map +1 -0
  26. package/dist/compat/react/index.cjs +21 -1
  27. package/dist/compat/react/index.cjs.map +1 -0
  28. package/dist/compat/react/index.d.cts +1 -2
  29. package/dist/compat/react/index.d.ts +1 -2
  30. package/dist/compat/react/index.js +3 -1
  31. package/dist/compat/react/index.js.map +1 -0
  32. package/dist/compat/solid/index.cjs +21 -1
  33. package/dist/compat/solid/index.cjs.map +1 -0
  34. package/dist/compat/solid/index.d.cts +1 -2
  35. package/dist/compat/solid/index.d.ts +1 -2
  36. package/dist/compat/solid/index.js +3 -1
  37. package/dist/compat/solid/index.js.map +1 -0
  38. package/dist/compat/svelte/index.cjs +21 -1
  39. package/dist/compat/svelte/index.cjs.map +1 -0
  40. package/dist/compat/svelte/index.d.cts +1 -2
  41. package/dist/compat/svelte/index.d.ts +1 -2
  42. package/dist/compat/svelte/index.js +3 -1
  43. package/dist/compat/svelte/index.js.map +1 -0
  44. package/dist/compat/vue/index.cjs +21 -1
  45. package/dist/compat/vue/index.cjs.map +1 -0
  46. package/dist/compat/vue/index.d.cts +1 -3
  47. package/dist/compat/vue/index.d.ts +1 -3
  48. package/dist/compat/vue/index.js +3 -1
  49. package/dist/compat/vue/index.js.map +1 -0
  50. package/dist/compat/zustand/index.cjs +21 -3
  51. package/dist/compat/zustand/index.cjs.map +1 -0
  52. package/dist/compat/zustand/index.d.cts +1 -6
  53. package/dist/compat/zustand/index.d.ts +1 -6
  54. package/dist/compat/zustand/index.js +3 -1
  55. package/dist/compat/zustand/index.js.map +1 -0
  56. package/dist/core/index.cjs +21 -1
  57. package/dist/core/index.cjs.map +1 -0
  58. package/dist/core/index.d.cts +1 -3
  59. package/dist/core/index.d.ts +1 -3
  60. package/dist/core/index.js +3 -1
  61. package/dist/core/index.js.map +1 -0
  62. package/dist/extra/browser.cjs +21 -1
  63. package/dist/extra/browser.cjs.map +1 -0
  64. package/dist/extra/browser.d.cts +1 -4
  65. package/dist/extra/browser.d.ts +1 -4
  66. package/dist/extra/browser.js +3 -1
  67. package/dist/extra/browser.js.map +1 -0
  68. package/dist/extra/index.cjs +20 -19
  69. package/dist/extra/index.cjs.map +1 -0
  70. package/dist/extra/index.d.cts +1 -17
  71. package/dist/extra/index.d.ts +1 -17
  72. package/dist/extra/index.js +3 -1
  73. package/dist/extra/index.js.map +1 -0
  74. package/dist/extra/node.cjs +21 -2
  75. package/dist/extra/node.cjs.map +1 -0
  76. package/dist/extra/node.d.cts +1 -187
  77. package/dist/extra/node.d.ts +1 -187
  78. package/dist/extra/node.js +3 -2
  79. package/dist/extra/node.js.map +1 -0
  80. package/dist/extra/operators.cjs +21 -1
  81. package/dist/extra/operators.cjs.map +1 -0
  82. package/dist/extra/operators.d.cts +1 -958
  83. package/dist/extra/operators.d.ts +1 -958
  84. package/dist/extra/operators.js +3 -1
  85. package/dist/extra/operators.js.map +1 -0
  86. package/dist/extra/reactive.cjs +21 -1
  87. package/dist/extra/reactive.cjs.map +1 -0
  88. package/dist/extra/reactive.d.cts +1 -353
  89. package/dist/extra/reactive.d.ts +1 -353
  90. package/dist/extra/reactive.js +3 -1
  91. package/dist/extra/reactive.js.map +1 -0
  92. package/dist/extra/render/index.cjs +21 -5
  93. package/dist/extra/render/index.cjs.map +1 -0
  94. package/dist/extra/render/index.d.cts +1 -183
  95. package/dist/extra/render/index.d.ts +1 -183
  96. package/dist/extra/render/index.js +3 -1
  97. package/dist/extra/render/index.js.map +1 -0
  98. package/dist/extra/sources.cjs +21 -3
  99. package/dist/extra/sources.cjs.map +1 -0
  100. package/dist/extra/sources.d.cts +1 -584
  101. package/dist/extra/sources.d.ts +1 -584
  102. package/dist/extra/sources.js +3 -1
  103. package/dist/extra/sources.js.map +1 -0
  104. package/dist/extra/storage-browser.cjs +21 -1
  105. package/dist/extra/storage-browser.cjs.map +1 -0
  106. package/dist/extra/storage-browser.d.cts +1 -37
  107. package/dist/extra/storage-browser.d.ts +1 -37
  108. package/dist/extra/storage-browser.js +3 -1
  109. package/dist/extra/storage-browser.js.map +1 -0
  110. package/dist/extra/storage-core.cjs +21 -1
  111. package/dist/extra/storage-core.cjs.map +1 -0
  112. package/dist/extra/storage-core.d.cts +1 -28
  113. package/dist/extra/storage-core.d.ts +1 -28
  114. package/dist/extra/storage-core.js +3 -1
  115. package/dist/extra/storage-core.js.map +1 -0
  116. package/dist/extra/storage-node.cjs +20 -0
  117. package/dist/extra/storage-node.cjs.map +1 -0
  118. package/dist/extra/storage-node.d.cts +1 -2
  119. package/dist/extra/storage-node.d.ts +1 -2
  120. package/dist/extra/storage-node.js +3 -0
  121. package/dist/extra/storage-node.js.map +1 -0
  122. package/dist/extra/storage-tiers-browser.cjs +21 -1
  123. package/dist/extra/storage-tiers-browser.cjs.map +1 -0
  124. package/dist/extra/storage-tiers-browser.d.cts +1 -120
  125. package/dist/extra/storage-tiers-browser.d.ts +1 -120
  126. package/dist/extra/storage-tiers-browser.js +3 -1
  127. package/dist/extra/storage-tiers-browser.js.map +1 -0
  128. package/dist/extra/storage-tiers-node.cjs +21 -1
  129. package/dist/extra/storage-tiers-node.cjs.map +1 -0
  130. package/dist/extra/storage-tiers-node.d.cts +1 -210
  131. package/dist/extra/storage-tiers-node.d.ts +1 -210
  132. package/dist/extra/storage-tiers-node.js +3 -1
  133. package/dist/extra/storage-tiers-node.js.map +1 -0
  134. package/dist/extra/storage-tiers.cjs +21 -1
  135. package/dist/extra/storage-tiers.cjs.map +1 -0
  136. package/dist/extra/storage-tiers.d.cts +1 -412
  137. package/dist/extra/storage-tiers.d.ts +1 -412
  138. package/dist/extra/storage-tiers.js +3 -1
  139. package/dist/extra/storage-tiers.js.map +1 -0
  140. package/dist/extra/storage-wal.cjs +21 -0
  141. package/dist/extra/storage-wal.cjs.map +1 -0
  142. package/dist/extra/storage-wal.d.cts +1 -0
  143. package/dist/extra/storage-wal.d.ts +1 -0
  144. package/dist/extra/storage-wal.js +3 -0
  145. package/dist/extra/storage-wal.js.map +1 -0
  146. package/dist/graph/index.cjs +21 -7
  147. package/dist/graph/index.cjs.map +1 -0
  148. package/dist/graph/index.d.cts +1 -7
  149. package/dist/graph/index.d.ts +1 -7
  150. package/dist/graph/index.js +3 -1
  151. package/dist/graph/index.js.map +1 -0
  152. package/dist/index.cjs +20 -227
  153. package/dist/index.cjs.map +1 -0
  154. package/dist/index.d.cts +45 -95
  155. package/dist/index.d.ts +45 -95
  156. package/dist/index.js +3 -1
  157. package/dist/index.js.map +1 -0
  158. package/dist/patterns/ai/browser.cjs +20 -7
  159. package/dist/patterns/ai/browser.cjs.map +1 -0
  160. package/dist/patterns/ai/browser.d.cts +1 -127
  161. package/dist/patterns/ai/browser.d.ts +1 -127
  162. package/dist/patterns/ai/browser.js +3 -3
  163. package/dist/patterns/ai/browser.js.map +1 -0
  164. package/dist/patterns/ai/index.cjs +20 -73
  165. package/dist/patterns/ai/index.cjs.map +1 -0
  166. package/dist/patterns/ai/index.d.cts +1 -20
  167. package/dist/patterns/ai/index.d.ts +1 -20
  168. package/dist/patterns/ai/index.js +3 -1
  169. package/dist/patterns/ai/index.js.map +1 -0
  170. package/dist/patterns/ai/node.cjs +21 -1
  171. package/dist/patterns/ai/node.cjs.map +1 -0
  172. package/dist/patterns/ai/node.d.cts +1 -59
  173. package/dist/patterns/ai/node.d.ts +1 -59
  174. package/dist/patterns/ai/node.js +3 -1
  175. package/dist/patterns/ai/node.js.map +1 -0
  176. package/dist/patterns/cqrs/index.cjs +21 -3
  177. package/dist/patterns/cqrs/index.cjs.map +1 -0
  178. package/dist/patterns/cqrs/index.d.cts +1 -8
  179. package/dist/patterns/cqrs/index.d.ts +1 -8
  180. package/dist/patterns/cqrs/index.js +3 -1
  181. package/dist/patterns/cqrs/index.js.map +1 -0
  182. package/dist/patterns/demo-shell/index.cjs +21 -5
  183. package/dist/patterns/demo-shell/index.cjs.map +1 -0
  184. package/dist/patterns/demo-shell/index.d.cts +1 -7
  185. package/dist/patterns/demo-shell/index.d.ts +1 -7
  186. package/dist/patterns/demo-shell/index.js +3 -1
  187. package/dist/patterns/demo-shell/index.js.map +1 -0
  188. package/dist/patterns/domain-templates/index.cjs +21 -3
  189. package/dist/patterns/domain-templates/index.cjs.map +1 -0
  190. package/dist/patterns/domain-templates/index.d.cts +1 -6
  191. package/dist/patterns/domain-templates/index.d.ts +1 -6
  192. package/dist/patterns/domain-templates/index.js +3 -1
  193. package/dist/patterns/domain-templates/index.js.map +1 -0
  194. package/dist/patterns/graphspec/index.cjs +21 -86
  195. package/dist/patterns/graphspec/index.cjs.map +1 -0
  196. package/dist/patterns/graphspec/index.d.cts +1 -8
  197. package/dist/patterns/graphspec/index.d.ts +1 -8
  198. package/dist/patterns/graphspec/index.js +3 -1
  199. package/dist/patterns/graphspec/index.js.map +1 -0
  200. package/dist/patterns/harness/index.cjs +21 -48
  201. package/dist/patterns/harness/index.cjs.map +1 -0
  202. package/dist/patterns/harness/index.d.cts +1 -13
  203. package/dist/patterns/harness/index.d.ts +1 -13
  204. package/dist/patterns/harness/index.js +3 -1
  205. package/dist/patterns/harness/index.js.map +1 -0
  206. package/dist/patterns/inspect/index.cjs +21 -3
  207. package/dist/patterns/inspect/index.cjs.map +1 -0
  208. package/dist/patterns/inspect/index.d.cts +1 -9
  209. package/dist/patterns/inspect/index.d.ts +1 -9
  210. package/dist/patterns/inspect/index.js +3 -1
  211. package/dist/patterns/inspect/index.js.map +1 -0
  212. package/dist/patterns/job-queue/index.cjs +21 -3
  213. package/dist/patterns/job-queue/index.cjs.map +1 -0
  214. package/dist/patterns/job-queue/index.d.cts +1 -9
  215. package/dist/patterns/job-queue/index.d.ts +1 -9
  216. package/dist/patterns/job-queue/index.js +3 -1
  217. package/dist/patterns/job-queue/index.js.map +1 -0
  218. package/dist/patterns/memory/index.cjs +21 -3
  219. package/dist/patterns/memory/index.cjs.map +1 -0
  220. package/dist/patterns/memory/index.d.cts +1 -8
  221. package/dist/patterns/memory/index.d.ts +1 -8
  222. package/dist/patterns/memory/index.js +3 -1
  223. package/dist/patterns/memory/index.js.map +1 -0
  224. package/dist/patterns/messaging/index.cjs +21 -3
  225. package/dist/patterns/messaging/index.cjs.map +1 -0
  226. package/dist/patterns/messaging/index.d.cts +1 -7
  227. package/dist/patterns/messaging/index.d.ts +1 -7
  228. package/dist/patterns/messaging/index.js +3 -1
  229. package/dist/patterns/messaging/index.js.map +1 -0
  230. package/dist/patterns/orchestration/index.cjs +21 -3
  231. package/dist/patterns/orchestration/index.cjs.map +1 -0
  232. package/dist/patterns/orchestration/index.d.cts +1 -8
  233. package/dist/patterns/orchestration/index.d.ts +1 -8
  234. package/dist/patterns/orchestration/index.js +3 -1
  235. package/dist/patterns/orchestration/index.js.map +1 -0
  236. package/dist/patterns/process/index.cjs +21 -3
  237. package/dist/patterns/process/index.cjs.map +1 -0
  238. package/dist/patterns/process/index.d.cts +1 -10
  239. package/dist/patterns/process/index.d.ts +1 -10
  240. package/dist/patterns/process/index.js +3 -1
  241. package/dist/patterns/process/index.js.map +1 -0
  242. package/dist/patterns/reactive-layout/index.cjs +21 -4
  243. package/dist/patterns/reactive-layout/index.cjs.map +1 -0
  244. package/dist/patterns/reactive-layout/index.d.cts +1 -7
  245. package/dist/patterns/reactive-layout/index.d.ts +1 -7
  246. package/dist/patterns/reactive-layout/index.js +3 -1
  247. package/dist/patterns/reactive-layout/index.js.map +1 -0
  248. package/dist/patterns/reduction/index.cjs +21 -3
  249. package/dist/patterns/reduction/index.cjs.map +1 -0
  250. package/dist/patterns/reduction/index.d.cts +1 -6
  251. package/dist/patterns/reduction/index.d.ts +1 -6
  252. package/dist/patterns/reduction/index.js +3 -1
  253. package/dist/patterns/reduction/index.js.map +1 -0
  254. package/dist/patterns/surface/index.cjs +21 -13
  255. package/dist/patterns/surface/index.cjs.map +1 -0
  256. package/dist/patterns/surface/index.d.cts +1 -9
  257. package/dist/patterns/surface/index.d.ts +1 -9
  258. package/dist/patterns/surface/index.js +3 -1
  259. package/dist/patterns/surface/index.js.map +1 -0
  260. package/dist/patterns/topology-view/index.cjs +21 -0
  261. package/dist/patterns/topology-view/index.cjs.map +1 -0
  262. package/dist/patterns/topology-view/index.d.cts +1 -0
  263. package/dist/patterns/topology-view/index.d.ts +1 -0
  264. package/dist/patterns/topology-view/index.js +3 -0
  265. package/dist/patterns/topology-view/index.js.map +1 -0
  266. package/dist/testing/index.cjs +21 -0
  267. package/dist/testing/index.cjs.map +1 -0
  268. package/dist/testing/index.d.cts +1 -0
  269. package/dist/testing/index.d.ts +1 -0
  270. package/dist/testing/index.js +3 -0
  271. package/dist/testing/index.js.map +1 -0
  272. package/package.json +608 -584
  273. package/dist/backoff-HPZMEZNF.js +0 -1
  274. package/dist/cascading-BglDkMdX.d.cts +0 -199
  275. package/dist/cascading-MFgxu7Yo.d.ts +0 -199
  276. package/dist/chunk-2T7U5EU6.js +0 -1
  277. package/dist/chunk-3G5U5QNE.js +0 -5
  278. package/dist/chunk-4VVTGLXJ.js +0 -1
  279. package/dist/chunk-5M4CCMMD.js +0 -45
  280. package/dist/chunk-5QDBSZBV.js +0 -1
  281. package/dist/chunk-5XJ6B66J.js +0 -1
  282. package/dist/chunk-6QZNQS5B.js +0 -1
  283. package/dist/chunk-6X7AFUJV.js +0 -9
  284. package/dist/chunk-7K6PWTDQ.js +0 -1
  285. package/dist/chunk-7LIAPXJB.js +0 -1
  286. package/dist/chunk-7WPU3UHQ.js +0 -1
  287. package/dist/chunk-A5WCQ5NO.js +0 -1
  288. package/dist/chunk-APPIWSGD.js +0 -84
  289. package/dist/chunk-BEZWM2SY.js +0 -1
  290. package/dist/chunk-C72GO4IZ.js +0 -1
  291. package/dist/chunk-CB676TKJ.js +0 -1
  292. package/dist/chunk-CE6TI2TL.js +0 -1
  293. package/dist/chunk-CE72X3WO.js +0 -1
  294. package/dist/chunk-CK2E7BTU.js +0 -1
  295. package/dist/chunk-CLVB32RD.js +0 -1
  296. package/dist/chunk-CRVT7D2P.js +0 -1
  297. package/dist/chunk-D5RFJOZ2.js +0 -1
  298. package/dist/chunk-D7GPHKFH.js +0 -1
  299. package/dist/chunk-DHRX7JX4.js +0 -2
  300. package/dist/chunk-ESMPEKEV.js +0 -1
  301. package/dist/chunk-F672GV32.js +0 -1
  302. package/dist/chunk-FZMYDOWV.js +0 -1
  303. package/dist/chunk-GHBWHMRZ.js +0 -1
  304. package/dist/chunk-GLERH466.js +0 -1
  305. package/dist/chunk-GPW2V3RE.js +0 -1
  306. package/dist/chunk-HIDYF36O.js +0 -1
  307. package/dist/chunk-HITNVN6B.js +0 -3
  308. package/dist/chunk-HY4DJBA7.js +0 -5
  309. package/dist/chunk-KZIEYVXN.js +0 -1
  310. package/dist/chunk-L6NSJVJZ.js +0 -1
  311. package/dist/chunk-N4MQX6JU.js +0 -18
  312. package/dist/chunk-N7FHEL4D.js +0 -1
  313. package/dist/chunk-NTEURFZH.js +0 -1
  314. package/dist/chunk-OIVP6KFV.js +0 -1
  315. package/dist/chunk-OPHBU3LG.js +0 -1
  316. package/dist/chunk-OYQOZP2F.js +0 -5
  317. package/dist/chunk-PTZK576G.js +0 -1
  318. package/dist/chunk-QYADASLV.js +0 -1
  319. package/dist/chunk-ST7UXLWR.js +0 -1
  320. package/dist/chunk-SVY7VUYU.js +0 -1
  321. package/dist/chunk-TK3NWWD4.js +0 -1
  322. package/dist/chunk-TSOYJ743.js +0 -1
  323. package/dist/chunk-UNGSTR4X.js +0 -61
  324. package/dist/chunk-VIMF6LGM.js +0 -1
  325. package/dist/chunk-VJLMUKOI.js +0 -1
  326. package/dist/chunk-VN6RDSK2.js +0 -1
  327. package/dist/chunk-VV4N5P64.js +0 -1
  328. package/dist/chunk-W3I423PS.js +0 -1
  329. package/dist/chunk-WJR24TAG.js +0 -1
  330. package/dist/chunk-XTGKMHSW.js +0 -1
  331. package/dist/chunk-YBB7ZGTY.js +0 -1
  332. package/dist/chunk-Z4NPUARF.js +0 -1
  333. package/dist/chunk-ZGNQRPDT.js +0 -1
  334. package/dist/chunk-ZKPSFFKU.js +0 -1
  335. package/dist/chunk-ZLV5SQSX.js +0 -1
  336. package/dist/content-addressed-storage-4-ST1tYk.d.cts +0 -124
  337. package/dist/content-addressed-storage-DuYMjV7o.d.ts +0 -124
  338. package/dist/decay-BvOWTZ00.d.ts +0 -112
  339. package/dist/decay-CFlLvXUT.d.cts +0 -112
  340. package/dist/fallback-74oxi34l.d.cts +0 -250
  341. package/dist/fallback-DUyyBTBK.d.ts +0 -250
  342. package/dist/graph-CWvEUQAq.d.cts +0 -1861
  343. package/dist/graph-D9LFnda9.d.ts +0 -1861
  344. package/dist/index-5k1T6jl0.d.cts +0 -121
  345. package/dist/index-9770hRuQ.d.cts +0 -779
  346. package/dist/index-B-_tFaqV.d.cts +0 -468
  347. package/dist/index-B17QddL1.d.cts +0 -374
  348. package/dist/index-B1F8Enjf.d.ts +0 -704
  349. package/dist/index-B5S8ULbU.d.ts +0 -515
  350. package/dist/index-B8YnZpIR.d.ts +0 -102
  351. package/dist/index-BHskSB8v.d.ts +0 -3413
  352. package/dist/index-BIYAkbAi.d.cts +0 -26
  353. package/dist/index-BQSKmbuG.d.cts +0 -127
  354. package/dist/index-BaQaY_IQ.d.cts +0 -231
  355. package/dist/index-BmZXHqkE.d.ts +0 -36
  356. package/dist/index-BoJ5JHxI.d.ts +0 -557
  357. package/dist/index-BocU7pqs.d.ts +0 -779
  358. package/dist/index-BrPrLl4e.d.cts +0 -86
  359. package/dist/index-BxNs2HB9.d.cts +0 -1858
  360. package/dist/index-Byu-OpX_.d.ts +0 -113
  361. package/dist/index-C1T3d7V-.d.cts +0 -704
  362. package/dist/index-C5ri2Axc.d.cts +0 -301
  363. package/dist/index-C5stwKcw.d.cts +0 -44
  364. package/dist/index-C9l6OEBL.d.ts +0 -26
  365. package/dist/index-CBBLl_rc.d.ts +0 -127
  366. package/dist/index-CBGUK09R.d.ts +0 -754
  367. package/dist/index-CC-AvFTy.d.cts +0 -557
  368. package/dist/index-CJF1URuX.d.ts +0 -121
  369. package/dist/index-CK29LV56.d.cts +0 -34
  370. package/dist/index-CMh5Rz1y.d.ts +0 -385
  371. package/dist/index-CPQlGA29.d.ts +0 -34
  372. package/dist/index-CR8QpwX8.d.ts +0 -2680
  373. package/dist/index-CS0LTlB8.d.cts +0 -385
  374. package/dist/index-CSOmP7xT.d.cts +0 -291
  375. package/dist/index-CYq8vAyV.d.ts +0 -291
  376. package/dist/index-CZ3r5Rxp.d.ts +0 -374
  377. package/dist/index-CasX6Pfq.d.cts +0 -358
  378. package/dist/index-CdAlHFEt.d.ts +0 -44
  379. package/dist/index-CdTelp1M.d.ts +0 -202
  380. package/dist/index-CeFiHtAg.d.ts +0 -468
  381. package/dist/index-Cj3WohTd.d.cts +0 -202
  382. package/dist/index-Climxqsu.d.cts +0 -754
  383. package/dist/index-Co7uli2l.d.cts +0 -3413
  384. package/dist/index-CviRnE4K.d.ts +0 -45
  385. package/dist/index-Cwv0KWcU.d.cts +0 -102
  386. package/dist/index-CzLVrjxn.d.ts +0 -231
  387. package/dist/index-D0aciIex.d.cts +0 -209
  388. package/dist/index-DHen9Klo.d.ts +0 -1858
  389. package/dist/index-DV_1YuVk.d.cts +0 -221
  390. package/dist/index-Dc4AYqrJ.d.cts +0 -515
  391. package/dist/index-Dgl1HpPn.d.ts +0 -86
  392. package/dist/index-DisjX8a-.d.ts +0 -221
  393. package/dist/index-UPSiS-X7.d.cts +0 -2680
  394. package/dist/index-Yq60JP3s.d.ts +0 -209
  395. package/dist/index-ZVQhLa2i.d.cts +0 -37
  396. package/dist/index-_6ODbuOu.d.cts +0 -45
  397. package/dist/index-hcDJ8PSI.d.cts +0 -36
  398. package/dist/index-nozs3fFC.d.ts +0 -301
  399. package/dist/index-p09KSrTN.d.ts +0 -358
  400. package/dist/index-sqkqlb1p.d.ts +0 -37
  401. package/dist/index-tRCxuAXF.d.cts +0 -113
  402. package/dist/node-kK3CvTrR.d.cts +0 -1347
  403. package/dist/node-kK3CvTrR.d.ts +0 -1347
  404. package/dist/observable-DWjNfLvC.d.ts +0 -36
  405. package/dist/observable-e3eiPPFy.d.cts +0 -36
  406. package/dist/pipeline-graph-CIKhynsF.d.cts +0 -142
  407. package/dist/pipeline-graph-Sgj0gCwn.d.ts +0 -142
  408. package/dist/reactive-layout-DOTs9P3X.d.ts +0 -183
  409. package/dist/reactive-layout-DgctbqZo.d.cts +0 -183
  410. package/dist/reactive-log-BKALbfal.d.ts +0 -223
  411. package/dist/reactive-log-DIGdYqQ6.d.cts +0 -223
  412. package/dist/reactive-map-CEFGp8TK.d.cts +0 -296
  413. package/dist/reactive-map-DS_SIAxv.d.ts +0 -296
  414. package/dist/resilience-6LYQJAC5.js +0 -1
  415. package/dist/sugar-DQjFmVqb.d.cts +0 -399
  416. package/dist/sugar-fhLIE7TT.d.ts +0 -399
  417. package/dist/topology-tree-Bcz27hpF.d.cts +0 -25
  418. package/dist/topology-tree-xvaD0fOX.d.ts +0 -25
  419. package/dist/types-C0_yquda.d.cts +0 -442
  420. package/dist/types-CWFysE9E.d.ts +0 -442
@@ -1,291 +0,0 @@
1
- import { j as CompileSpecOptions, G as GraphSpec, c as GraphSpecCatalog, C as CatalogFnEntry, a as CatalogSourceEntry, b as ConfigFieldSchema, F as FnFactory, d as GraphSpecFeedbackEdge, e as GraphSpecNode, f as GraphSpecTemplate, g as GraphSpecTemplateRef, h as GraphSpecValidation, S as SourceFactory } from './index-CMh5Rz1y.js';
2
- import { G as Graph, o as GraphNodeFactory, m as GraphDiffResult } from './graph-D9LFnda9.js';
3
- import { KvStorageTier } from './extra/storage-tiers.js';
4
-
5
- /**
6
- * Surface: create a graph from a {@link GraphSpec} (§9.3-core).
7
- *
8
- * Thin wrapper over {@link compileSpec} that converts the two failure modes
9
- * ({@link validateSpec} structural errors, and catalog-aware validation
10
- * errors) into typed {@link SurfaceError} throws. Consumers are MCP/CLI
11
- * wrappers, not end-user graph code — those should import `compileSpec`
12
- * directly.
13
- *
14
- * @module
15
- */
16
-
17
- /** Options for {@link createGraph}. Same shape as {@link CompileSpecOptions}. */
18
- type CreateGraphOptions = CompileSpecOptions;
19
- /**
20
- * Build a {@link Graph} from a parsed {@link GraphSpec} with surface-layer
21
- * error typing.
22
- *
23
- * @throws {SurfaceError} `invalid-spec` for structural errors;
24
- * `catalog-error` when fn/source names or config don't match the catalog.
25
- */
26
- declare function createGraph(spec: GraphSpec, opts?: CreateGraphOptions): Graph;
27
-
28
- /**
29
- * Typed errors for the surface layer (§9.3-core).
30
- *
31
- * The surface layer is consumed by `@graphrefly/mcp-server` and
32
- * `@graphrefly/cli`. Both have native error channels (MCP's `isError` flag,
33
- * CLI's exit codes), so surface functions throw a {@link SurfaceError}
34
- * carrying a structured code + details payload that wrappers can map to
35
- * their native shape. No `Result` envelope — keep the callsite idiom
36
- * `try/catch` and let each wrapper surface the error its own way.
37
- *
38
- * @module
39
- */
40
- /** Structured error codes emitted by the surface layer. JSON-safe. */
41
- type SurfaceErrorCode = "invalid-spec" | "graph-not-found" | "graph-exists" | "snapshot-not-found" | "node-not-found" | "reduce-timeout" | "catalog-error" | "restore-failed" | "snapshot-failed" | "tier-no-list" | "compose-not-configured" | "compose-failed" | "internal-error";
42
- /** JSON-safe shape surfaces should echo back through the wrapper. */
43
- interface SurfaceErrorPayload {
44
- code: SurfaceErrorCode;
45
- message: string;
46
- /** Optional structured detail; must be JSON-safe. */
47
- details?: Readonly<Record<string, unknown>>;
48
- }
49
- /**
50
- * Thrown by surface layer functions on failure. `code` is the stable
51
- * machine-readable identifier; `details` carries structured context
52
- * (e.g. `validateSpec` errors, missing path name). Both fields round-trip
53
- * through `toJSON()` for wrappers that serialize errors over the wire.
54
- */
55
- declare class SurfaceError extends Error {
56
- readonly code: SurfaceErrorCode;
57
- readonly details?: Readonly<Record<string, unknown>>;
58
- constructor(code: SurfaceErrorCode, message: string, details?: Readonly<Record<string, unknown>>);
59
- /**
60
- * JSON-safe payload for wire serialization. Defensively validates
61
- * `details` — if it can't be round-tripped through `JSON.stringify`
62
- * (cyclic refs, `BigInt`, `Error` instance not pre-toJSON'd), the
63
- * payload falls back to `{code, message}` only rather than crashing
64
- * the MCP/CLI wrapper when it serializes this error onto the wire.
65
- */
66
- toJSON(): SurfaceErrorPayload;
67
- }
68
- /** Wrap any thrown value as a SurfaceError. Idempotent on existing SurfaceError. */
69
- declare function asSurfaceError(err: unknown, fallbackCode?: SurfaceErrorCode): SurfaceError;
70
-
71
- /**
72
- * Surface: one-shot `input → pipeline → output` (§9.3-core).
73
- *
74
- * `runReduction` compiles a {@link GraphSpec}, pushes an input value to a
75
- * named state node, awaits the first post-push DATA emission on a named
76
- * output, then disposes the graph. Stateless per call — no graphId, no
77
- * registry.
78
- *
79
- * Named `runReduction` (not `reduce`) to avoid collision with the
80
- * reactive {@link reduce} operator in `extra/operators.ts`. The MCP tool
81
- * name (`graphrefly_reduce`) and CLI subcommand (`graphrefly reduce`) use
82
- * the short form; the library export carries the verb.
83
- *
84
- * The subscribe-before-push ordering is deliberate. `graph.set` propagates
85
- * synchronously for sync derived/operator chains; for async sources
86
- * (`fromPromise`, `fromAsyncIter`, LLM adapters) the first post-push DATA
87
- * arrives on a later tick. Subscribing before the push catches both, and
88
- * skipping the priming push-on-subscribe emission avoids resolving with the
89
- * stale pre-push cache (spec §2.2).
90
- *
91
- * @module
92
- */
93
-
94
- /** Options for {@link reduce}. */
95
- interface ReduceOptions {
96
- /** Fn/source catalog for {@link createGraph}. */
97
- catalog?: GraphSpecCatalog;
98
- /** Path of the state node that receives the input. Default `"input"`. */
99
- inputPath?: string;
100
- /** Path of the node whose first post-push DATA is the result. Default `"output"`. */
101
- outputPath?: string;
102
- /** Hard deadline in milliseconds. Default `30_000`. */
103
- timeoutMs?: number;
104
- }
105
- /**
106
- * Run a spec as a one-shot reduction: `input → graph → output`.
107
- *
108
- * Resolves on the first `[DATA, v]` **or** `[RESOLVED]` emitted by
109
- * `outputPath` after the input push. The RESOLVED path handles spec
110
- * §1.3.3 equals-substitution (output recomputed to a value equal to its
111
- * cache, so the graph skips the DATA push) by returning `outputNode.cache`
112
- * — the caller always gets the settled value, never hangs on idempotent
113
- * inputs.
114
- *
115
- * @throws {SurfaceError} `invalid-spec` / `catalog-error` (propagated from
116
- * {@link createGraph}), `node-not-found` when `inputPath`/`outputPath`
117
- * can't be resolved, `reduce-timeout` when `timeoutMs` elapses without
118
- * a post-push emission, or the ERROR payload from the graph re-thrown
119
- * as `internal-error`.
120
- */
121
- declare function runReduction(spec: GraphSpec, input: unknown, opts?: ReduceOptions): Promise<unknown>;
122
-
123
- /**
124
- * Surface: snapshot save/restore/diff/list over {@link KvStorageTier} (§9.3-core).
125
- *
126
- * One-shot snapshot management for stateless callers (MCP tools, CLI
127
- * commands) layered on the existing multi-tier auto-checkpoint substrate.
128
- * A saved snapshot is a `mode: "full"` {@link GraphCheckpointRecord} with
129
- * `seq: 0` — byte-identical to the baseline anchor
130
- * {@link Graph.attachSnapshotStorage} writes on its first flush. An
131
- * auto-checkpointed graph can therefore be restored through this surface,
132
- * and a surface-saved snapshot can be picked up by `attachSnapshotStorage({
133
- * autoRestore: true })`.
134
- *
135
- * The wire envelope stays at {@link SNAPSHOT_WIRE_VERSION}; no new format.
136
- *
137
- * @module
138
- */
139
-
140
- /**
141
- * Current envelope version. Re-exported from `graph.ts` so the one-shot
142
- * surface path and `Graph.attachSnapshotStorage` write byte-identical
143
- * `format_version` fields — no silent wire drift.
144
- */
145
- declare const SNAPSHOT_WIRE_VERSION = 1;
146
- /** Shape returned by {@link saveSnapshot}. */
147
- interface SaveSnapshotResult {
148
- snapshotId: string;
149
- timestamp_ns: number;
150
- }
151
- /** Options for {@link restoreSnapshot}. */
152
- interface RestoreSnapshotOptions {
153
- /** Passthrough to `Graph.fromSnapshot`. First matching pattern wins. */
154
- factories?: Record<string, GraphNodeFactory>;
155
- }
156
- /**
157
- * Write a graph's current state as a one-shot `mode: "full"` record.
158
- *
159
- * Uses the same {@link GraphCheckpointRecord} envelope as
160
- * {@link Graph.attachSnapshotStorage} so the two persistence paths interoperate.
161
- *
162
- * @throws {SurfaceError} `snapshot-failed` when the tier's `save` throws.
163
- */
164
- declare function saveSnapshot(graph: Graph, snapshotId: string, tier: KvStorageTier): Promise<SaveSnapshotResult>;
165
- /**
166
- * Load a snapshot from a tier and materialize it as a new {@link Graph}.
167
- *
168
- * Uses {@link Graph.fromSnapshot} to reconstruct topology; pass
169
- * `factories` when the graph includes non-state nodes that the default
170
- * hydrator can't rebuild on its own.
171
- *
172
- * **Requires a `mode: "full"` record.** Surface-written snapshots from
173
- * {@link saveSnapshot} always qualify. Records written by
174
- * {@link Graph.attachSnapshotStorage} with `compactEvery > 1` may be
175
- * `mode: "diff"` between compacts — those throw `restore-failed` until
176
- * the tier's next compact flush (or until Phase 8.7 WAL replay lands).
177
- * If you need interop during development, either call
178
- * {@link saveSnapshot} explicitly (always full) or configure
179
- * `attachSnapshotStorage({compactEvery: 1})`.
180
- *
181
- * @throws {SurfaceError} `snapshot-not-found` on miss; `restore-failed`
182
- * when the payload shape doesn't match, when the record is
183
- * `mode: "diff"`, or when `Graph.fromSnapshot` rejects.
184
- */
185
- declare function restoreSnapshot(snapshotId: string, tier: KvStorageTier, opts?: RestoreSnapshotOptions): Promise<Graph>;
186
- /**
187
- * Load two snapshots and compute a {@link GraphDiffResult} via static
188
- * {@link Graph.diff}. Returns the audit shape (structural + value diff,
189
- * no payload); use {@link diffForWAL} directly for WAL-oriented diffs.
190
- *
191
- * @throws {SurfaceError} `snapshot-not-found` on either miss.
192
- */
193
- declare function diffSnapshots(snapshotIdA: string, snapshotIdB: string, tier: KvStorageTier): Promise<GraphDiffResult>;
194
- /**
195
- * Enumerate snapshot ids on a tier.
196
- *
197
- * Only keys written by {@link saveSnapshot} are returned. Surface-written
198
- * records are stored under the `"snapshot:"` key prefix and decoded back to
199
- * the caller-visible id before being returned — other keys on the same tier
200
- * (notably `attachSnapshotStorage` baseline/WAL keys written under `graph.name`) are
201
- * filtered out automatically. This lets a single tier back both the surface
202
- * and `attachSnapshotStorage` without leaking graph names through `listSnapshots`.
203
- *
204
- * @param tier — the storage tier to enumerate.
205
- * @param opts.includeUnprefixed — when `true`, also return keys that are
206
- * NOT under the namespacing prefix. Off by default; set this when reading
207
- * pre-namespacing snapshot sets.
208
- *
209
- * **Caveat:** when a tier is shared with {@link Graph.attachSnapshotStorage}, its
210
- * auto-checkpoint baseline + WAL keys (written under `graph.name`) are
211
- * unprefixed. Calling with `includeUnprefixed: true` returns those keys
212
- * alongside surface snapshots — and subsequent `restoreSnapshot` /
213
- * `deleteSnapshot` will operate on them via the fallback-lookup path,
214
- * potentially overwriting or deleting live auto-checkpoint state. Use
215
- * `includeUnprefixed` only against tiers you know are NOT shared with
216
- * `attachSnapshotStorage`, or follow up with a predicate filter to separate
217
- * ids you own from ones owned by other subsystems.
218
- *
219
- * @throws {SurfaceError} `tier-no-list` when the tier does not implement
220
- * the optional `list()` method. Check `typeof tier.list === "function"`
221
- * before calling if you want to branch on capability.
222
- */
223
- declare function listSnapshots(tier: KvStorageTier, opts?: {
224
- includeUnprefixed?: boolean;
225
- }): Promise<readonly string[]>;
226
- /**
227
- * Delete a snapshot from a tier.
228
- *
229
- * Silent on miss (clear semantics). `tier.clear` is optional — throws
230
- * `snapshot-failed` when the tier is append-only.
231
- *
232
- * @throws {SurfaceError} `snapshot-failed` when `clear` is unsupported
233
- * or throws.
234
- */
235
- declare function deleteSnapshot(snapshotId: string, tier: KvStorageTier): Promise<void>;
236
-
237
- /**
238
- * Surface layer (§9.3-core) — shared, JSON-safe operations consumed by
239
- * `@graphrefly/mcp-server` and `@graphrefly/cli`.
240
- *
241
- * The surface is a thin projection of existing Graph APIs (`describe`,
242
- * `observe`, `explain`, `snapshot`, `restore`, static `diff`), plus two
243
- * genuinely new operations:
244
- *
245
- * 1. {@link createGraph} — `compileSpec` wrapped with typed surface errors.
246
- * 2. {@link reduce} — one-shot `input → pipeline → output`.
247
- *
248
- * Snapshot persistence reuses the {@link KvStorageTier} substrate introduced
249
- * for `Graph.attachSnapshotStorage`, so one-shot snapshots and auto-checkpoints
250
- * share the {@link GraphCheckpointRecord} envelope. No new wire format.
251
- *
252
- * Errors throw as {@link SurfaceError} — wrappers map to their native
253
- * error channel (MCP `isError`, CLI exit code). No `Result<T, E>` wrapper.
254
- *
255
- * @module
256
- */
257
-
258
- declare const index_CatalogFnEntry: typeof CatalogFnEntry;
259
- declare const index_CatalogSourceEntry: typeof CatalogSourceEntry;
260
- declare const index_ConfigFieldSchema: typeof ConfigFieldSchema;
261
- type index_CreateGraphOptions = CreateGraphOptions;
262
- declare const index_FnFactory: typeof FnFactory;
263
- declare const index_GraphSpec: typeof GraphSpec;
264
- declare const index_GraphSpecCatalog: typeof GraphSpecCatalog;
265
- declare const index_GraphSpecFeedbackEdge: typeof GraphSpecFeedbackEdge;
266
- declare const index_GraphSpecNode: typeof GraphSpecNode;
267
- declare const index_GraphSpecTemplate: typeof GraphSpecTemplate;
268
- declare const index_GraphSpecTemplateRef: typeof GraphSpecTemplateRef;
269
- declare const index_GraphSpecValidation: typeof GraphSpecValidation;
270
- type index_ReduceOptions = ReduceOptions;
271
- type index_RestoreSnapshotOptions = RestoreSnapshotOptions;
272
- declare const index_SNAPSHOT_WIRE_VERSION: typeof SNAPSHOT_WIRE_VERSION;
273
- type index_SaveSnapshotResult = SaveSnapshotResult;
274
- declare const index_SourceFactory: typeof SourceFactory;
275
- type index_SurfaceError = SurfaceError;
276
- declare const index_SurfaceError: typeof SurfaceError;
277
- type index_SurfaceErrorCode = SurfaceErrorCode;
278
- type index_SurfaceErrorPayload = SurfaceErrorPayload;
279
- declare const index_asSurfaceError: typeof asSurfaceError;
280
- declare const index_createGraph: typeof createGraph;
281
- declare const index_deleteSnapshot: typeof deleteSnapshot;
282
- declare const index_diffSnapshots: typeof diffSnapshots;
283
- declare const index_listSnapshots: typeof listSnapshots;
284
- declare const index_restoreSnapshot: typeof restoreSnapshot;
285
- declare const index_runReduction: typeof runReduction;
286
- declare const index_saveSnapshot: typeof saveSnapshot;
287
- declare namespace index {
288
- export { index_CatalogFnEntry as CatalogFnEntry, index_CatalogSourceEntry as CatalogSourceEntry, index_ConfigFieldSchema as ConfigFieldSchema, type index_CreateGraphOptions as CreateGraphOptions, index_FnFactory as FnFactory, index_GraphSpec as GraphSpec, index_GraphSpecCatalog as GraphSpecCatalog, index_GraphSpecFeedbackEdge as GraphSpecFeedbackEdge, index_GraphSpecNode as GraphSpecNode, index_GraphSpecTemplate as GraphSpecTemplate, index_GraphSpecTemplateRef as GraphSpecTemplateRef, index_GraphSpecValidation as GraphSpecValidation, type index_ReduceOptions as ReduceOptions, type index_RestoreSnapshotOptions as RestoreSnapshotOptions, index_SNAPSHOT_WIRE_VERSION as SNAPSHOT_WIRE_VERSION, type index_SaveSnapshotResult as SaveSnapshotResult, index_SourceFactory as SourceFactory, index_SurfaceError as SurfaceError, type index_SurfaceErrorCode as SurfaceErrorCode, type index_SurfaceErrorPayload as SurfaceErrorPayload, index_asSurfaceError as asSurfaceError, index_createGraph as createGraph, index_deleteSnapshot as deleteSnapshot, index_diffSnapshots as diffSnapshots, index_listSnapshots as listSnapshots, index_restoreSnapshot as restoreSnapshot, index_runReduction as runReduction, index_saveSnapshot as saveSnapshot };
289
- }
290
-
291
- export { type CreateGraphOptions as C, type ReduceOptions as R, SNAPSHOT_WIRE_VERSION as S, type RestoreSnapshotOptions as a, type SaveSnapshotResult as b, SurfaceError as c, type SurfaceErrorCode as d, type SurfaceErrorPayload as e, asSurfaceError as f, createGraph as g, deleteSnapshot as h, diffSnapshots as i, runReduction as j, index as k, listSnapshots as l, restoreSnapshot as r, saveSnapshot as s };
@@ -1,374 +0,0 @@
1
- import { N as Node } from './node-kK3CvTrR.js';
2
- import { B as BaseAuditRecord } from './index-Yq60JP3s.js';
3
- import { a as ReactiveLogBundle } from './reactive-log-BKALbfal.js';
4
- import { G as Graph } from './graph-D9LFnda9.js';
5
-
6
- /**
7
- * Memory patterns (roadmap §4.3) — public-face Phase-4 primitives audited under
8
- * `archive/docs/SESSION-public-face-blocks-review.md` (Wave A, locked 2026-04-25).
9
- *
10
- * Three primitives (the pure `decay` helper was promoted to `extra/utils/decay.ts`
11
- * per Tier 2.2 and is no longer re-exported here; `lightCollection` was folded
12
- * into `collection({ranked:false})` per Tier 2.3 and is no longer a separate
13
- * factory):
14
- * - {@link collection} / {@link CollectionGraph} — keyed memory store with
15
- * optional decay-aware ranking. Pass `{ ranked: false }` for the previous
16
- * `lightCollection` shape (Map + LRU + audit, no scoring).
17
- * - {@link vectorIndex} / {@link VectorIndexGraph} — reactive vector store with
18
- * optional HNSW backend, retention, and reactive {@link VectorIndexGraph.searchNode}.
19
- * - {@link knowledgeGraph} / {@link KnowledgeGraph} — entities + typed edges with
20
- * symmetric adjacency indexes and reactive {@link KnowledgeGraph.relatedNode}.
21
- *
22
- * **No imperative reads.** Per the API-style policy locked 2026-04-25, public-face
23
- * primitives expose reactive reads only — `itemNode` / `hasNode` / `searchNode` /
24
- * `relatedNode`. One-shot snapshots use `node.cache` after `awaitSettled`, or
25
- * `firstValueFrom(node)`.
26
- *
27
- * **Audit logs.** Every imperative mutation (`upsert / remove / clear / link /
28
- * unlink / rescore / reindex`) is wrapped via {@link lightMutation} and appends a
29
- * typed record to a public `events` log on the bundle / graph.
30
- *
31
- * @module
32
- */
33
-
34
- /**
35
- * Cosine similarity over `(a, b)`. When lengths differ, the shorter is
36
- * implicitly zero-padded to the longer length. Returns `0` if either vector
37
- * has zero norm. Public utility — used by {@link VectorIndexGraph.searchNode}
38
- * and exposed for downstream consumers (e.g. `patterns/ai/memory/`) that need
39
- * the same scoring at the boundary.
40
- *
41
- * **Numeric guards.** Returns `0` for non-finite results (overflow producing
42
- * `Infinity`/`NaN` from very-large vectors, or `NaN` propagating from any
43
- * `NaN`/`Infinity` component). Without this guard, downstream sort
44
- * comparators would order NaN-scored rows arbitrarily.
45
- *
46
- * **Depth.** This is a per-call computation; no internal caching. For very
47
- * large indexes (>10k) consider precomputing norms or using HNSW.
48
- *
49
- * @category memory
50
- */
51
- declare function cosineSimilarity(a: readonly number[], b: readonly number[]): number;
52
- /** Public alias for the `Node | value` shape accepted by reactive read factories. */
53
- type NodeOrValue<T> = T | Node<T>;
54
- type CollectionEntry<T> = {
55
- readonly id: string;
56
- readonly value: T;
57
- readonly createdAtNs: number;
58
- readonly lastAccessNs: number;
59
- readonly baseScore: number;
60
- };
61
- type RankedCollectionEntry<T> = CollectionEntry<T> & {
62
- readonly score: number;
63
- };
64
- type CollectionScoreFn<T> = (value: T) => number;
65
- type CollectionOptions<T> = {
66
- maxSize?: number;
67
- /**
68
- * Whether to expose a live decay-aware `ranked` node + `rescore` mutator.
69
- * Default `true`. Pass `false` to fold in the previous `lightCollection`
70
- * shape — entries are still keyed/audited/LRU-evicted, but the timer-driven
71
- * `ranked` + scoring machinery is skipped. `ranked` then resolves to a
72
- * static empty array Node and `rescore()` is a no-op (so callers writing
73
- * type-generic code don't need to special-case the unranked path).
74
- */
75
- ranked?: boolean;
76
- /**
77
- * Produces a base score at insert/update time. Static fn or a reactive
78
- * `Node<(value: T) => number>` — when supplied as a Node, `ranked` re-derives
79
- * whenever the score fn changes, but `baseScore` on each entry is only
80
- * recomputed via {@link CollectionGraph.rescore}. Default `() => 1`.
81
- *
82
- * Ignored when `ranked: false` (entries record `baseScore: 0`).
83
- */
84
- score?: CollectionScoreFn<T> | Node<CollectionScoreFn<T>>;
85
- /**
86
- * Exponential decay rate per second. `0` disables decay (default). When
87
- * positive, `ranked` becomes fully reactive on time via a `fromTimer` source
88
- * (cadence auto-derived from `decayRate` unless overridden via
89
- * `refreshIntervalMs`). Half-life: `ratePerSecond = Math.LN2 / halfLifeSeconds`.
90
- *
91
- * Ignored when `ranked: false`.
92
- */
93
- decayRate?: number;
94
- /** Minimum score floor after decay. Default `0`. */
95
- minScore?: number;
96
- /**
97
- * Override for the `ranked` refresh tick cadence (milliseconds). When
98
- * unset and `decayRate > 0`, defaults to `1000 * Math.LN2 / (10 * decayRate)`
99
- * — roughly one tick per 10% of the half-life (~10% staleness budget).
100
- */
101
- refreshIntervalMs?: number;
102
- };
103
- interface CollectionAuditRecord extends BaseAuditRecord {
104
- readonly action: "upsert" | "remove" | "clear" | "rescore";
105
- readonly id?: string;
106
- }
107
- type CollectionGraph<T> = Graph & {
108
- readonly events: ReactiveLogBundle<CollectionAuditRecord>;
109
- readonly items: Node<ReadonlyMap<string, CollectionEntry<T>>>;
110
- /**
111
- * Live decay-aware ranking, sorted by score descending. When the
112
- * collection was constructed with `ranked: false`, this is a static
113
- * empty-array Node (kept for type uniformity).
114
- */
115
- readonly ranked: Node<readonly RankedCollectionEntry<T>[]>;
116
- readonly size: Node<number>;
117
- upsert: (id: string, value: T, opts?: {
118
- score?: number;
119
- }) => void;
120
- remove: (id: string) => void;
121
- clear: () => void;
122
- /**
123
- * Recompute every entry's `baseScore` via the latest score fn. O(N). Useful
124
- * when a reactive `score` Node has emitted a new fn and the caller wants
125
- * existing entries re-scored without an explicit re-upsert.
126
- *
127
- * No-op (still records an audit entry) when constructed with
128
- * `ranked: false`.
129
- */
130
- rescore: () => void;
131
- itemNode: (id: NodeOrValue<string>) => Node<CollectionEntry<T> | undefined>;
132
- /** Reactive `true` once the entry exists; tracks upsert / remove. */
133
- hasNode: (id: NodeOrValue<string>) => Node<boolean>;
134
- };
135
- /**
136
- * Scored memory store with live decay-aware ranking.
137
- *
138
- * Topology (mounted on the returned graph):
139
- * - `items` — `reactiveMap<id, CollectionEntry<T>>` (with `retention` configured
140
- * for score-based eviction when `maxSize` is set).
141
- * - `ranked` — `Node<readonly RankedCollectionEntry<T>[]>`, sorted by live
142
- * decayed score. **Lazy** — does NOT compute until subscribed (no internal
143
- * keepalive). Use `keepalive(coll.ranked)` for eager activation.
144
- * - `size` — `Node<number>`, count of entries.
145
- * - `_refreshTick` — `fromTimer`-driven `monotonicNs()` source, mounted only
146
- * when `decayRate > 0`. Drives `ranked`'s time-dependent re-derivation.
147
- * - `_seq` — sequence cursor for the audit log.
148
- * - `events` — bounded reactive log of every mutation.
149
- *
150
- * **Time as a reactive dep.** When `decayRate > 0`, `ranked`'s deps are
151
- * `[items, refreshTick]` — the tick payload IS `monotonicNs()`, so the fn is
152
- * pure of deps and dry-run-reproducible with a mocked clock.
153
- *
154
- * **Lazy timer.** With no subscriber to `ranked`, the timer source does not
155
- * fire — the activation chain is downstream-driven. To keep the timer warm
156
- * without consuming results, register `graph.addDisposer(keepalive(coll.ranked))`.
157
- *
158
- * **Eviction at write-time.** Score-based retention runs on every successful
159
- * `upsert / remove / clear` (it is mutation-driven, not tick-driven). The
160
- * retention scorer reads `monotonicNs()` to compute decayed scores at eviction
161
- * time — this is a deliberate impurity vs. `ReactiveMapRetention.score`'s
162
- * "pure of `(key, value)`" docstring: write-time is the right moment to evict
163
- * stale-by-decay entries.
164
- *
165
- * **No imperative reads.** Subscribe to `items` / `ranked` for live snapshots,
166
- * or use `itemNode(id)` for single-key reactive reads.
167
- *
168
- * **`rescore` ordering caveat.** `rescore()` reads `items.entries.cache`
169
- * (the post-emission snapshot) and writes via `setMany`. When called
170
- * stand-alone it sees the latest committed state. When wrapped inside a
171
- * user-level `batch(() => { coll.upsert(...); coll.rescore(); })`, the
172
- * `cache` snapshot reflects state BEFORE the batch — so a just-staged
173
- * upsert is invisible to the rescore scan. If you need rescore to include
174
- * the staged upsert, either call `rescore()` after the batch settles or
175
- * pass the new `baseScore` directly via `upsert(id, value, { score })`.
176
- *
177
- * **Audit no-op records.** Like `lightCollection`, mutations record audit
178
- * entries even when the impl was a no-op (e.g., `rescore()` on an empty
179
- * store). Intentional — the framework records attempts.
180
- *
181
- * @category memory
182
- */
183
- declare function collection<T>(name: string, opts?: CollectionOptions<T>): CollectionGraph<T>;
184
- type VectorBackend = "flat" | "hnsw";
185
- type VectorRecord<TMeta> = {
186
- readonly id: string;
187
- readonly vector: readonly number[];
188
- readonly meta?: TMeta;
189
- /** Wall-clock-monotonic timestamp at last upsert; used for the default LRU retention. */
190
- readonly upsertedAtNs: number;
191
- };
192
- type VectorSearchResult<TMeta> = {
193
- readonly id: string;
194
- readonly score: number;
195
- readonly meta?: TMeta;
196
- };
197
- type HnswAdapter<TMeta> = {
198
- upsert: (id: string, vector: readonly number[], meta?: TMeta) => void;
199
- remove: (id: string) => void;
200
- clear: () => void;
201
- search: (query: readonly number[], k: number) => ReadonlyArray<VectorSearchResult<TMeta>>;
202
- /** Optional adapter teardown. Called from `graph.destroy()` via `addDisposer`. */
203
- dispose?: () => void;
204
- };
205
- type VectorIndexOptions<TMeta> = {
206
- name?: string;
207
- backend?: VectorBackend;
208
- dimension?: number;
209
- /**
210
- * Strict-dimension default. When `true` (default) AND `dimension` is unset,
211
- * mixed-length upserts throw `RangeError`. Set `false` to opt into the
212
- * lenient zero-padding behavior of {@link VectorIndexGraph.searchNode}.
213
- */
214
- strictDimension?: boolean;
215
- /** Optional dependency seam for HNSW. */
216
- hnswFactory?: () => HnswAdapter<TMeta>;
217
- /** Maximum live entries (LRU-by-upsert-time when set; user-overridable via `retentionScore`). */
218
- maxSize?: number;
219
- /** Custom retention scorer. Higher score = kept. Defaults to `r => r.upsertedAtNs`. */
220
- retentionScore?: (record: VectorRecord<TMeta>) => number;
221
- };
222
- interface VectorIndexAuditRecord extends BaseAuditRecord {
223
- readonly action: "upsert" | "remove" | "clear" | "reindex" | "evict";
224
- readonly id?: string;
225
- }
226
- type VectorIndexGraph<TMeta> = Graph & {
227
- readonly backend: VectorBackend;
228
- readonly events: ReactiveLogBundle<VectorIndexAuditRecord>;
229
- readonly entries: Node<ReadonlyMap<string, VectorRecord<TMeta>>>;
230
- upsert: (id: string, vector: readonly number[], meta?: TMeta) => void;
231
- remove: (id: string) => void;
232
- clear: () => void;
233
- /** Re-push every live entry into the optional HNSW adapter. No-op for `flat`. */
234
- reindex: () => void;
235
- /**
236
- * Reactive top-K search. Re-derives whenever entries / query / k change.
237
- * Lazy. Use `firstValueFrom(searchNode(...))` for one-shot reads.
238
- */
239
- searchNode: (query: Node<readonly number[]>, k?: NodeOrValue<number>) => Node<readonly VectorSearchResult<TMeta>[]>;
240
- };
241
- /**
242
- * Reactive vector store with optional HNSW backend.
243
- *
244
- * **Storage on `reactiveMap`.** `entries` is a `reactiveMap<id, VectorRecord<TMeta>>`
245
- * with optional score-based retention (`maxSize` + LRU-by-`upsertedAtNs` by
246
- * default; user can supply a custom `retentionScore`). On retention eviction,
247
- * the HNSW adapter (if configured) is also notified via `adapter.remove(id)`.
248
- *
249
- * **Reactive search.** `searchNode(queryNode, k)` returns a `Node<readonly
250
- * VectorSearchResult<TMeta>[]>` that re-derives on entries / query / k change.
251
- * Lazy — only computes when subscribed. Imperative `search()` is intentionally
252
- * not exposed (no-imperative-reads policy). Use `firstValueFrom(searchNode(...))`
253
- * for one-shot reads.
254
- *
255
- * **Strict dimension.** Default `strictDimension: true` — if `dimension` is
256
- * unset and an upsert produces a vector of a different length than the first
257
- * upserted, throws `RangeError`. Pass `strictDimension: false` to opt into
258
- * the lenient zero-padding fallback (the previous default).
259
- *
260
- * **Adapter lifecycle.** When the HNSW adapter exposes a `dispose()` method,
261
- * it is bound to the graph's teardown via `addDisposer`. When retention
262
- * evicts an entry, `adapter.remove(id)` is invoked synchronously inside the
263
- * retention `onArchive` callback.
264
- *
265
- * **Cosine zero-pad.** The flat backend uses cosine similarity over the
266
- * pairwise max-length zero-pad. Mixing dimensions silently degrades scores
267
- * unless strict mode catches it at upsert time. For embedding-model vectors,
268
- * L2-normalize at the source — `vectorIndex` does not normalize.
269
- *
270
- * @category memory
271
- */
272
- declare function vectorIndex<TMeta>(opts?: VectorIndexOptions<TMeta>): VectorIndexGraph<TMeta>;
273
- type KnowledgeEdge<TRelation extends string = string> = {
274
- readonly from: string;
275
- readonly to: string;
276
- readonly relation: TRelation;
277
- readonly weight: number;
278
- };
279
- type KnowledgeGraphOptions = {
280
- /** Cap on entity count (LRU-by-upsert-time when set). */
281
- entitiesMaxSize?: number;
282
- /** Cap on edge count (LRU-by-upsert-time when set). */
283
- edgesMaxSize?: number;
284
- /**
285
- * Orphan-entity garbage collection. `"keep"` (default) leaves entities
286
- * untouched when their last edge is unlinked; `"remove"` deletes the
287
- * entity post-`unlink` if no edges reference it.
288
- */
289
- orphanGC?: "keep" | "remove";
290
- };
291
- interface KnowledgeGraphAuditRecord extends BaseAuditRecord {
292
- readonly action: "upsertEntity" | "removeEntity" | "link" | "unlink" | "orphanRemove";
293
- readonly id?: string;
294
- readonly from?: string;
295
- readonly to?: string;
296
- readonly relation?: string;
297
- /** Edge weight at the time of the `link`. Omitted for non-edge actions. */
298
- readonly weight?: number;
299
- }
300
- type KnowledgeGraph<TEntity, TRelation extends string = string> = Graph & {
301
- readonly events: ReactiveLogBundle<KnowledgeGraphAuditRecord>;
302
- readonly entities: Node<ReadonlyMap<string, TEntity>>;
303
- readonly edges: Node<ReadonlyMap<string, KnowledgeEdge<TRelation>>>;
304
- readonly adjacencyOut: Node<ReadonlyMap<string, readonly KnowledgeEdge<TRelation>[]>>;
305
- readonly adjacencyIn: Node<ReadonlyMap<string, readonly KnowledgeEdge<TRelation>[]>>;
306
- readonly entityCount: Node<number>;
307
- readonly edgeCount: Node<number>;
308
- upsertEntity: (id: string, value: TEntity) => void;
309
- removeEntity: (id: string) => void;
310
- link: (from: string, to: string, relation: TRelation, weight?: number) => void;
311
- unlink: (from: string, to: string, relation?: TRelation) => void;
312
- relatedNode: (id: NodeOrValue<string>, relation?: NodeOrValue<TRelation>) => Node<readonly KnowledgeEdge<TRelation>[]>;
313
- };
314
- /**
315
- * Reactive knowledge graph: entities + typed edges + symmetric adjacency.
316
- *
317
- * Topology (mounted on the returned graph):
318
- * - `entities` — `reactiveMap<id, TEntity>` (optional `entitiesMaxSize` LRU).
319
- * - `edges` — `reactiveMap<tripleKey, KnowledgeEdge<TRelation>>` keyed by
320
- * `${from}${to}${relation}` (optional `edgesMaxSize` LRU).
321
- * Entity IDs / relations must NOT contain ``.
322
- * - `adjacencyOut` — `Node<ReadonlyMap<from, readonly edge[]>>`. **Full O(E)
323
- * rebuild on every `link` / `unlink` mutation.** (Prior JSDoc claim of
324
- * "O(E) build" referred to a single rebuild — the per-mutation cost is
325
- * O(E), not O(1) amortized. For very large graphs with frequent edge
326
- * churn, consider batching via `reactiveMap.setMany`.)
327
- * - `adjacencyIn` — `Node<ReadonlyMap<to, readonly edge[]>>`. Same O(E) per
328
- * mutation rebuild characteristic.
329
- * - `entityCount` / `edgeCount` — observability deriveds.
330
- * - `events` — bounded reactive audit log.
331
- *
332
- * **`link()` semantics.** Calling `link(a, b, rel, w)` twice with different
333
- * weights replaces the weight on the existing edge (keyed by the triple).
334
- * `unlink` then `link` re-creates the edge (and bumps `lastUpsertNs` for
335
- * retention purposes).
336
- *
337
- * **Edge weight convention.** Higher weight = stronger relation. Default `1`.
338
- *
339
- * **Orphan GC.** `orphanGC: "remove"` deletes an entity from `entities` after
340
- * an `unlink` that empties its adjacency on both sides. Default `"keep"`.
341
- *
342
- * **No imperative reads.** Use `relatedNode(id, relation?)` for reactive reads.
343
- *
344
- * @category memory
345
- */
346
- declare function knowledgeGraph<TEntity, TRelation extends string = string>(name: string, opts?: KnowledgeGraphOptions): KnowledgeGraph<TEntity, TRelation>;
347
-
348
- type index_CollectionAuditRecord = CollectionAuditRecord;
349
- type index_CollectionEntry<T> = CollectionEntry<T>;
350
- type index_CollectionGraph<T> = CollectionGraph<T>;
351
- type index_CollectionOptions<T> = CollectionOptions<T>;
352
- type index_CollectionScoreFn<T> = CollectionScoreFn<T>;
353
- type index_HnswAdapter<TMeta> = HnswAdapter<TMeta>;
354
- type index_KnowledgeEdge<TRelation extends string = string> = KnowledgeEdge<TRelation>;
355
- type index_KnowledgeGraph<TEntity, TRelation extends string = string> = KnowledgeGraph<TEntity, TRelation>;
356
- type index_KnowledgeGraphAuditRecord = KnowledgeGraphAuditRecord;
357
- type index_KnowledgeGraphOptions = KnowledgeGraphOptions;
358
- type index_NodeOrValue<T> = NodeOrValue<T>;
359
- type index_RankedCollectionEntry<T> = RankedCollectionEntry<T>;
360
- type index_VectorBackend = VectorBackend;
361
- type index_VectorIndexAuditRecord = VectorIndexAuditRecord;
362
- type index_VectorIndexGraph<TMeta> = VectorIndexGraph<TMeta>;
363
- type index_VectorIndexOptions<TMeta> = VectorIndexOptions<TMeta>;
364
- type index_VectorRecord<TMeta> = VectorRecord<TMeta>;
365
- type index_VectorSearchResult<TMeta> = VectorSearchResult<TMeta>;
366
- declare const index_collection: typeof collection;
367
- declare const index_cosineSimilarity: typeof cosineSimilarity;
368
- declare const index_knowledgeGraph: typeof knowledgeGraph;
369
- declare const index_vectorIndex: typeof vectorIndex;
370
- declare namespace index {
371
- export { type index_CollectionAuditRecord as CollectionAuditRecord, type index_CollectionEntry as CollectionEntry, type index_CollectionGraph as CollectionGraph, type index_CollectionOptions as CollectionOptions, type index_CollectionScoreFn as CollectionScoreFn, type index_HnswAdapter as HnswAdapter, type index_KnowledgeEdge as KnowledgeEdge, type index_KnowledgeGraph as KnowledgeGraph, type index_KnowledgeGraphAuditRecord as KnowledgeGraphAuditRecord, type index_KnowledgeGraphOptions as KnowledgeGraphOptions, type index_NodeOrValue as NodeOrValue, type index_RankedCollectionEntry as RankedCollectionEntry, type index_VectorBackend as VectorBackend, type index_VectorIndexAuditRecord as VectorIndexAuditRecord, type index_VectorIndexGraph as VectorIndexGraph, type index_VectorIndexOptions as VectorIndexOptions, type index_VectorRecord as VectorRecord, type index_VectorSearchResult as VectorSearchResult, index_collection as collection, index_cosineSimilarity as cosineSimilarity, index_knowledgeGraph as knowledgeGraph, index_vectorIndex as vectorIndex };
372
- }
373
-
374
- export { type CollectionGraph as C, type HnswAdapter as H, type KnowledgeGraph as K, type NodeOrValue as N, type RankedCollectionEntry as R, type VectorSearchResult as V, type VectorIndexGraph as a, type CollectionAuditRecord as b, type CollectionEntry as c, type CollectionOptions as d, type CollectionScoreFn as e, type KnowledgeEdge as f, type KnowledgeGraphAuditRecord as g, type KnowledgeGraphOptions as h, index as i, type VectorBackend as j, type VectorIndexAuditRecord as k, type VectorIndexOptions as l, type VectorRecord as m, collection as n, cosineSimilarity as o, knowledgeGraph as p, vectorIndex as v };