causantic 0.2.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 (706) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +332 -0
  3. package/config.schema.json +254 -0
  4. package/dist/cli/commands/archive.d.ts +4 -0
  5. package/dist/cli/commands/archive.d.ts.map +1 -0
  6. package/dist/cli/commands/archive.js +76 -0
  7. package/dist/cli/commands/archive.js.map +1 -0
  8. package/dist/cli/commands/benchmark-collection.d.ts +8 -0
  9. package/dist/cli/commands/benchmark-collection.d.ts.map +1 -0
  10. package/dist/cli/commands/benchmark-collection.js +146 -0
  11. package/dist/cli/commands/benchmark-collection.js.map +1 -0
  12. package/dist/cli/commands/config.d.ts +3 -0
  13. package/dist/cli/commands/config.d.ts.map +1 -0
  14. package/dist/cli/commands/config.js +69 -0
  15. package/dist/cli/commands/config.js.map +1 -0
  16. package/dist/cli/commands/dashboard.d.ts +3 -0
  17. package/dist/cli/commands/dashboard.d.ts.map +1 -0
  18. package/dist/cli/commands/dashboard.js +12 -0
  19. package/dist/cli/commands/dashboard.js.map +1 -0
  20. package/dist/cli/commands/encryption.d.ts +3 -0
  21. package/dist/cli/commands/encryption.d.ts.map +1 -0
  22. package/dist/cli/commands/encryption.js +207 -0
  23. package/dist/cli/commands/encryption.js.map +1 -0
  24. package/dist/cli/commands/hook.d.ts +3 -0
  25. package/dist/cli/commands/hook.d.ts.map +1 -0
  26. package/dist/cli/commands/hook.js +35 -0
  27. package/dist/cli/commands/hook.js.map +1 -0
  28. package/dist/cli/commands/ingest.d.ts +4 -0
  29. package/dist/cli/commands/ingest.d.ts.map +1 -0
  30. package/dist/cli/commands/ingest.js +31 -0
  31. package/dist/cli/commands/ingest.js.map +1 -0
  32. package/dist/cli/commands/init.d.ts +3 -0
  33. package/dist/cli/commands/init.d.ts.map +1 -0
  34. package/dist/cli/commands/init.js +680 -0
  35. package/dist/cli/commands/init.js.map +1 -0
  36. package/dist/cli/commands/maintenance.d.ts +3 -0
  37. package/dist/cli/commands/maintenance.d.ts.map +1 -0
  38. package/dist/cli/commands/maintenance.js +67 -0
  39. package/dist/cli/commands/maintenance.js.map +1 -0
  40. package/dist/cli/commands/search.d.ts +3 -0
  41. package/dist/cli/commands/search.d.ts.map +1 -0
  42. package/dist/cli/commands/search.js +16 -0
  43. package/dist/cli/commands/search.js.map +1 -0
  44. package/dist/cli/commands/serve.d.ts +3 -0
  45. package/dist/cli/commands/serve.d.ts.map +1 -0
  46. package/dist/cli/commands/serve.js +19 -0
  47. package/dist/cli/commands/serve.js.map +1 -0
  48. package/dist/cli/commands/stats.d.ts +4 -0
  49. package/dist/cli/commands/stats.d.ts.map +1 -0
  50. package/dist/cli/commands/stats.js +49 -0
  51. package/dist/cli/commands/stats.js.map +1 -0
  52. package/dist/cli/commands/uninstall.d.ts +3 -0
  53. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  54. package/dist/cli/commands/uninstall.js +10 -0
  55. package/dist/cli/commands/uninstall.js.map +1 -0
  56. package/dist/cli/index.d.ts +8 -0
  57. package/dist/cli/index.d.ts.map +1 -0
  58. package/dist/cli/index.js +86 -0
  59. package/dist/cli/index.js.map +1 -0
  60. package/dist/cli/skill-templates.d.ts +19 -0
  61. package/dist/cli/skill-templates.d.ts.map +1 -0
  62. package/dist/cli/skill-templates.js +1128 -0
  63. package/dist/cli/skill-templates.js.map +1 -0
  64. package/dist/cli/types.d.ts +10 -0
  65. package/dist/cli/types.d.ts.map +1 -0
  66. package/dist/cli/types.js +5 -0
  67. package/dist/cli/types.js.map +1 -0
  68. package/dist/cli/uninstall.d.ts +66 -0
  69. package/dist/cli/uninstall.d.ts.map +1 -0
  70. package/dist/cli/uninstall.js +490 -0
  71. package/dist/cli/uninstall.js.map +1 -0
  72. package/dist/cli/utils.d.ts +26 -0
  73. package/dist/cli/utils.d.ts.map +1 -0
  74. package/dist/cli/utils.js +105 -0
  75. package/dist/cli/utils.js.map +1 -0
  76. package/dist/clusters/cluster-manager.d.ts +96 -0
  77. package/dist/clusters/cluster-manager.d.ts.map +1 -0
  78. package/dist/clusters/cluster-manager.js +321 -0
  79. package/dist/clusters/cluster-manager.js.map +1 -0
  80. package/dist/clusters/cluster-refresh.d.ts +56 -0
  81. package/dist/clusters/cluster-refresh.d.ts.map +1 -0
  82. package/dist/clusters/cluster-refresh.js +187 -0
  83. package/dist/clusters/cluster-refresh.js.map +1 -0
  84. package/dist/clusters/hdbscan/cluster-extraction.d.ts +26 -0
  85. package/dist/clusters/hdbscan/cluster-extraction.d.ts.map +1 -0
  86. package/dist/clusters/hdbscan/cluster-extraction.js +232 -0
  87. package/dist/clusters/hdbscan/cluster-extraction.js.map +1 -0
  88. package/dist/clusters/hdbscan/core-distance-worker.d.ts +6 -0
  89. package/dist/clusters/hdbscan/core-distance-worker.d.ts.map +1 -0
  90. package/dist/clusters/hdbscan/core-distance-worker.js +54 -0
  91. package/dist/clusters/hdbscan/core-distance-worker.js.map +1 -0
  92. package/dist/clusters/hdbscan/core-distance.d.ts +26 -0
  93. package/dist/clusters/hdbscan/core-distance.d.ts.map +1 -0
  94. package/dist/clusters/hdbscan/core-distance.js +94 -0
  95. package/dist/clusters/hdbscan/core-distance.js.map +1 -0
  96. package/dist/clusters/hdbscan/distance-cache.d.ts +46 -0
  97. package/dist/clusters/hdbscan/distance-cache.d.ts.map +1 -0
  98. package/dist/clusters/hdbscan/distance-cache.js +84 -0
  99. package/dist/clusters/hdbscan/distance-cache.js.map +1 -0
  100. package/dist/clusters/hdbscan/hierarchy.d.ts +34 -0
  101. package/dist/clusters/hdbscan/hierarchy.d.ts.map +1 -0
  102. package/dist/clusters/hdbscan/hierarchy.js +442 -0
  103. package/dist/clusters/hdbscan/hierarchy.js.map +1 -0
  104. package/dist/clusters/hdbscan/incremental.d.ts +30 -0
  105. package/dist/clusters/hdbscan/incremental.d.ts.map +1 -0
  106. package/dist/clusters/hdbscan/incremental.js +130 -0
  107. package/dist/clusters/hdbscan/incremental.js.map +1 -0
  108. package/dist/clusters/hdbscan/kd-tree.d.ts +51 -0
  109. package/dist/clusters/hdbscan/kd-tree.d.ts.map +1 -0
  110. package/dist/clusters/hdbscan/kd-tree.js +130 -0
  111. package/dist/clusters/hdbscan/kd-tree.js.map +1 -0
  112. package/dist/clusters/hdbscan/min-heap.d.ts +62 -0
  113. package/dist/clusters/hdbscan/min-heap.d.ts.map +1 -0
  114. package/dist/clusters/hdbscan/min-heap.js +139 -0
  115. package/dist/clusters/hdbscan/min-heap.js.map +1 -0
  116. package/dist/clusters/hdbscan/mst.d.ts +20 -0
  117. package/dist/clusters/hdbscan/mst.d.ts.map +1 -0
  118. package/dist/clusters/hdbscan/mst.js +77 -0
  119. package/dist/clusters/hdbscan/mst.js.map +1 -0
  120. package/dist/clusters/hdbscan/probabilities.d.ts +37 -0
  121. package/dist/clusters/hdbscan/probabilities.d.ts.map +1 -0
  122. package/dist/clusters/hdbscan/probabilities.js +149 -0
  123. package/dist/clusters/hdbscan/probabilities.js.map +1 -0
  124. package/dist/clusters/hdbscan/types.d.ts +123 -0
  125. package/dist/clusters/hdbscan/types.d.ts.map +1 -0
  126. package/dist/clusters/hdbscan/types.js +5 -0
  127. package/dist/clusters/hdbscan/types.js.map +1 -0
  128. package/dist/clusters/hdbscan/union-find.d.ts +51 -0
  129. package/dist/clusters/hdbscan/union-find.d.ts.map +1 -0
  130. package/dist/clusters/hdbscan/union-find.js +115 -0
  131. package/dist/clusters/hdbscan/union-find.js.map +1 -0
  132. package/dist/clusters/hdbscan.d.ts +71 -0
  133. package/dist/clusters/hdbscan.d.ts.map +1 -0
  134. package/dist/clusters/hdbscan.js +283 -0
  135. package/dist/clusters/hdbscan.js.map +1 -0
  136. package/dist/clusters/index.d.ts +8 -0
  137. package/dist/clusters/index.d.ts.map +1 -0
  138. package/dist/clusters/index.js +8 -0
  139. package/dist/clusters/index.js.map +1 -0
  140. package/dist/config/index.d.ts +6 -0
  141. package/dist/config/index.d.ts.map +1 -0
  142. package/dist/config/index.js +6 -0
  143. package/dist/config/index.js.map +1 -0
  144. package/dist/config/loader.d.ts +105 -0
  145. package/dist/config/loader.d.ts.map +1 -0
  146. package/dist/config/loader.js +339 -0
  147. package/dist/config/loader.js.map +1 -0
  148. package/dist/config/memory-config.d.ts +109 -0
  149. package/dist/config/memory-config.d.ts.map +1 -0
  150. package/dist/config/memory-config.js +182 -0
  151. package/dist/config/memory-config.js.map +1 -0
  152. package/dist/core/benchmark-types.d.ts +62 -0
  153. package/dist/core/benchmark-types.d.ts.map +1 -0
  154. package/dist/core/benchmark-types.js +11 -0
  155. package/dist/core/benchmark-types.js.map +1 -0
  156. package/dist/core/decay-types.d.ts +111 -0
  157. package/dist/core/decay-types.d.ts.map +1 -0
  158. package/dist/core/decay-types.js +30 -0
  159. package/dist/core/decay-types.js.map +1 -0
  160. package/dist/core/index.d.ts +11 -0
  161. package/dist/core/index.d.ts.map +1 -0
  162. package/dist/core/index.js +9 -0
  163. package/dist/core/index.js.map +1 -0
  164. package/dist/core/lexical-features.d.ts +34 -0
  165. package/dist/core/lexical-features.d.ts.map +1 -0
  166. package/dist/core/lexical-features.js +155 -0
  167. package/dist/core/lexical-features.js.map +1 -0
  168. package/dist/dashboard/client/assets/index-CMUKy4f9.css +1 -0
  169. package/dist/dashboard/client/assets/index-esv8TpCN.js +168 -0
  170. package/dist/dashboard/client/index.html +14 -0
  171. package/dist/dashboard/middleware/async-handler.d.ts +11 -0
  172. package/dist/dashboard/middleware/async-handler.d.ts.map +1 -0
  173. package/dist/dashboard/middleware/async-handler.js +12 -0
  174. package/dist/dashboard/middleware/async-handler.js.map +1 -0
  175. package/dist/dashboard/middleware/error-handler.d.ts +9 -0
  176. package/dist/dashboard/middleware/error-handler.d.ts.map +1 -0
  177. package/dist/dashboard/middleware/error-handler.js +14 -0
  178. package/dist/dashboard/middleware/error-handler.js.map +1 -0
  179. package/dist/dashboard/routes/benchmark-collection.d.ts +11 -0
  180. package/dist/dashboard/routes/benchmark-collection.d.ts.map +1 -0
  181. package/dist/dashboard/routes/benchmark-collection.js +49 -0
  182. package/dist/dashboard/routes/benchmark-collection.js.map +1 -0
  183. package/dist/dashboard/routes/chunks.d.ts +3 -0
  184. package/dist/dashboard/routes/chunks.d.ts.map +1 -0
  185. package/dist/dashboard/routes/chunks.js +25 -0
  186. package/dist/dashboard/routes/chunks.js.map +1 -0
  187. package/dist/dashboard/routes/clusters.d.ts +3 -0
  188. package/dist/dashboard/routes/clusters.d.ts.map +1 -0
  189. package/dist/dashboard/routes/clusters.js +28 -0
  190. package/dist/dashboard/routes/clusters.js.map +1 -0
  191. package/dist/dashboard/routes/edges.d.ts +3 -0
  192. package/dist/dashboard/routes/edges.d.ts.map +1 -0
  193. package/dist/dashboard/routes/edges.js +32 -0
  194. package/dist/dashboard/routes/edges.js.map +1 -0
  195. package/dist/dashboard/routes/graph.d.ts +3 -0
  196. package/dist/dashboard/routes/graph.d.ts.map +1 -0
  197. package/dist/dashboard/routes/graph.js +158 -0
  198. package/dist/dashboard/routes/graph.js.map +1 -0
  199. package/dist/dashboard/routes/projects.d.ts +3 -0
  200. package/dist/dashboard/routes/projects.d.ts.map +1 -0
  201. package/dist/dashboard/routes/projects.js +9 -0
  202. package/dist/dashboard/routes/projects.js.map +1 -0
  203. package/dist/dashboard/routes/search.d.ts +3 -0
  204. package/dist/dashboard/routes/search.d.ts.map +1 -0
  205. package/dist/dashboard/routes/search.js +105 -0
  206. package/dist/dashboard/routes/search.js.map +1 -0
  207. package/dist/dashboard/routes/sessions.d.ts +3 -0
  208. package/dist/dashboard/routes/sessions.d.ts.map +1 -0
  209. package/dist/dashboard/routes/sessions.js +16 -0
  210. package/dist/dashboard/routes/sessions.js.map +1 -0
  211. package/dist/dashboard/routes/stats.d.ts +3 -0
  212. package/dist/dashboard/routes/stats.d.ts.map +1 -0
  213. package/dist/dashboard/routes/stats.js +38 -0
  214. package/dist/dashboard/routes/stats.js.map +1 -0
  215. package/dist/dashboard/server.d.ts +3 -0
  216. package/dist/dashboard/server.d.ts.map +1 -0
  217. package/dist/dashboard/server.js +85 -0
  218. package/dist/dashboard/server.js.map +1 -0
  219. package/dist/eval/annotation-schema.d.ts +41 -0
  220. package/dist/eval/annotation-schema.d.ts.map +1 -0
  221. package/dist/eval/annotation-schema.js +171 -0
  222. package/dist/eval/annotation-schema.js.map +1 -0
  223. package/dist/eval/benchmark-runner.d.ts +15 -0
  224. package/dist/eval/benchmark-runner.d.ts.map +1 -0
  225. package/dist/eval/benchmark-runner.js +93 -0
  226. package/dist/eval/benchmark-runner.js.map +1 -0
  227. package/dist/eval/cluster-evaluator.d.ts +39 -0
  228. package/dist/eval/cluster-evaluator.d.ts.map +1 -0
  229. package/dist/eval/cluster-evaluator.js +51 -0
  230. package/dist/eval/cluster-evaluator.js.map +1 -0
  231. package/dist/eval/code-nl-alignment.d.ts +25 -0
  232. package/dist/eval/code-nl-alignment.d.ts.map +1 -0
  233. package/dist/eval/code-nl-alignment.js +49 -0
  234. package/dist/eval/code-nl-alignment.js.map +1 -0
  235. package/dist/eval/collection-benchmark/graph-value.d.ts +16 -0
  236. package/dist/eval/collection-benchmark/graph-value.d.ts.map +1 -0
  237. package/dist/eval/collection-benchmark/graph-value.js +162 -0
  238. package/dist/eval/collection-benchmark/graph-value.js.map +1 -0
  239. package/dist/eval/collection-benchmark/health.d.ts +12 -0
  240. package/dist/eval/collection-benchmark/health.d.ts.map +1 -0
  241. package/dist/eval/collection-benchmark/health.js +246 -0
  242. package/dist/eval/collection-benchmark/health.js.map +1 -0
  243. package/dist/eval/collection-benchmark/history.d.ts +27 -0
  244. package/dist/eval/collection-benchmark/history.d.ts.map +1 -0
  245. package/dist/eval/collection-benchmark/history.js +134 -0
  246. package/dist/eval/collection-benchmark/history.js.map +1 -0
  247. package/dist/eval/collection-benchmark/latency.d.ts +16 -0
  248. package/dist/eval/collection-benchmark/latency.d.ts.map +1 -0
  249. package/dist/eval/collection-benchmark/latency.js +115 -0
  250. package/dist/eval/collection-benchmark/latency.js.map +1 -0
  251. package/dist/eval/collection-benchmark/reporter.d.ts +18 -0
  252. package/dist/eval/collection-benchmark/reporter.d.ts.map +1 -0
  253. package/dist/eval/collection-benchmark/reporter.js +244 -0
  254. package/dist/eval/collection-benchmark/reporter.js.map +1 -0
  255. package/dist/eval/collection-benchmark/retrieval.d.ts +15 -0
  256. package/dist/eval/collection-benchmark/retrieval.d.ts.map +1 -0
  257. package/dist/eval/collection-benchmark/retrieval.js +203 -0
  258. package/dist/eval/collection-benchmark/retrieval.js.map +1 -0
  259. package/dist/eval/collection-benchmark/runner.d.ts +20 -0
  260. package/dist/eval/collection-benchmark/runner.d.ts.map +1 -0
  261. package/dist/eval/collection-benchmark/runner.js +189 -0
  262. package/dist/eval/collection-benchmark/runner.js.map +1 -0
  263. package/dist/eval/collection-benchmark/sampler.d.ts +18 -0
  264. package/dist/eval/collection-benchmark/sampler.d.ts.map +1 -0
  265. package/dist/eval/collection-benchmark/sampler.js +186 -0
  266. package/dist/eval/collection-benchmark/sampler.js.map +1 -0
  267. package/dist/eval/collection-benchmark/tuning.d.ts +12 -0
  268. package/dist/eval/collection-benchmark/tuning.d.ts.map +1 -0
  269. package/dist/eval/collection-benchmark/tuning.js +222 -0
  270. package/dist/eval/collection-benchmark/tuning.js.map +1 -0
  271. package/dist/eval/collection-benchmark/types.d.ts +183 -0
  272. package/dist/eval/collection-benchmark/types.d.ts.map +1 -0
  273. package/dist/eval/collection-benchmark/types.js +7 -0
  274. package/dist/eval/collection-benchmark/types.js.map +1 -0
  275. package/dist/eval/context-window-test.d.ts +34 -0
  276. package/dist/eval/context-window-test.d.ts.map +1 -0
  277. package/dist/eval/context-window-test.js +59 -0
  278. package/dist/eval/context-window-test.js.map +1 -0
  279. package/dist/eval/corpus-builder.d.ts +33 -0
  280. package/dist/eval/corpus-builder.d.ts.map +1 -0
  281. package/dist/eval/corpus-builder.js +88 -0
  282. package/dist/eval/corpus-builder.js.map +1 -0
  283. package/dist/eval/experiments/boilerplate-filter.d.ts +26 -0
  284. package/dist/eval/experiments/boilerplate-filter.d.ts.map +1 -0
  285. package/dist/eval/experiments/boilerplate-filter.js +95 -0
  286. package/dist/eval/experiments/boilerplate-filter.js.map +1 -0
  287. package/dist/eval/experiments/cluster-threshold/index.d.ts +6 -0
  288. package/dist/eval/experiments/cluster-threshold/index.d.ts.map +1 -0
  289. package/dist/eval/experiments/cluster-threshold/index.js +5 -0
  290. package/dist/eval/experiments/cluster-threshold/index.js.map +1 -0
  291. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts +58 -0
  292. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts.map +1 -0
  293. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js +246 -0
  294. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js.map +1 -0
  295. package/dist/eval/experiments/code-focused-mode.d.ts +20 -0
  296. package/dist/eval/experiments/code-focused-mode.d.ts.map +1 -0
  297. package/dist/eval/experiments/code-focused-mode.js +66 -0
  298. package/dist/eval/experiments/code-focused-mode.js.map +1 -0
  299. package/dist/eval/experiments/edge-decay/decay-curves.d.ts +59 -0
  300. package/dist/eval/experiments/edge-decay/decay-curves.d.ts.map +1 -0
  301. package/dist/eval/experiments/edge-decay/decay-curves.js +124 -0
  302. package/dist/eval/experiments/edge-decay/decay-curves.js.map +1 -0
  303. package/dist/eval/experiments/edge-decay/index.d.ts +13 -0
  304. package/dist/eval/experiments/edge-decay/index.d.ts.map +1 -0
  305. package/dist/eval/experiments/edge-decay/index.js +16 -0
  306. package/dist/eval/experiments/edge-decay/index.js.map +1 -0
  307. package/dist/eval/experiments/edge-decay/presets.d.ts +52 -0
  308. package/dist/eval/experiments/edge-decay/presets.d.ts.map +1 -0
  309. package/dist/eval/experiments/edge-decay/presets.js +234 -0
  310. package/dist/eval/experiments/edge-decay/presets.js.map +1 -0
  311. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts +34 -0
  312. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts.map +1 -0
  313. package/dist/eval/experiments/edge-decay/reference-extractor.js +353 -0
  314. package/dist/eval/experiments/edge-decay/reference-extractor.js.map +1 -0
  315. package/dist/eval/experiments/edge-decay/reference-types.d.ts +131 -0
  316. package/dist/eval/experiments/edge-decay/reference-types.d.ts.map +1 -0
  317. package/dist/eval/experiments/edge-decay/reference-types.js +5 -0
  318. package/dist/eval/experiments/edge-decay/reference-types.js.map +1 -0
  319. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts +64 -0
  320. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts.map +1 -0
  321. package/dist/eval/experiments/edge-decay/retrieval-ranking.js +565 -0
  322. package/dist/eval/experiments/edge-decay/retrieval-ranking.js.map +1 -0
  323. package/dist/eval/experiments/edge-decay/run-experiments.d.ts +25 -0
  324. package/dist/eval/experiments/edge-decay/run-experiments.d.ts.map +1 -0
  325. package/dist/eval/experiments/edge-decay/run-experiments.js +229 -0
  326. package/dist/eval/experiments/edge-decay/run-experiments.js.map +1 -0
  327. package/dist/eval/experiments/edge-decay/simulate.d.ts +42 -0
  328. package/dist/eval/experiments/edge-decay/simulate.d.ts.map +1 -0
  329. package/dist/eval/experiments/edge-decay/simulate.js +232 -0
  330. package/dist/eval/experiments/edge-decay/simulate.js.map +1 -0
  331. package/dist/eval/experiments/edge-decay/types.d.ts +10 -0
  332. package/dist/eval/experiments/edge-decay/types.d.ts.map +1 -0
  333. package/dist/eval/experiments/edge-decay/types.js +9 -0
  334. package/dist/eval/experiments/edge-decay/types.js.map +1 -0
  335. package/dist/eval/experiments/hdbscan-sweep.d.ts +19 -0
  336. package/dist/eval/experiments/hdbscan-sweep.d.ts.map +1 -0
  337. package/dist/eval/experiments/hdbscan-sweep.js +71 -0
  338. package/dist/eval/experiments/hdbscan-sweep.js.map +1 -0
  339. package/dist/eval/experiments/single-model-run.d.ts +54 -0
  340. package/dist/eval/experiments/single-model-run.d.ts.map +1 -0
  341. package/dist/eval/experiments/single-model-run.js +120 -0
  342. package/dist/eval/experiments/single-model-run.js.map +1 -0
  343. package/dist/eval/experiments/thinking-ablation.d.ts +21 -0
  344. package/dist/eval/experiments/thinking-ablation.d.ts.map +1 -0
  345. package/dist/eval/experiments/thinking-ablation.js +68 -0
  346. package/dist/eval/experiments/thinking-ablation.js.map +1 -0
  347. package/dist/eval/experiments/topic-continuity/embedding-classifier.d.ts +55 -0
  348. package/dist/eval/experiments/topic-continuity/embedding-classifier.d.ts.map +1 -0
  349. package/dist/eval/experiments/topic-continuity/embedding-classifier.js +126 -0
  350. package/dist/eval/experiments/topic-continuity/embedding-classifier.js.map +1 -0
  351. package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts +68 -0
  352. package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts.map +1 -0
  353. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js +175 -0
  354. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js.map +1 -0
  355. package/dist/eval/experiments/topic-continuity/index.d.ts +13 -0
  356. package/dist/eval/experiments/topic-continuity/index.d.ts.map +1 -0
  357. package/dist/eval/experiments/topic-continuity/index.js +17 -0
  358. package/dist/eval/experiments/topic-continuity/index.js.map +1 -0
  359. package/dist/eval/experiments/topic-continuity/labeler.d.ts +42 -0
  360. package/dist/eval/experiments/topic-continuity/labeler.d.ts.map +1 -0
  361. package/dist/eval/experiments/topic-continuity/labeler.js +253 -0
  362. package/dist/eval/experiments/topic-continuity/labeler.js.map +1 -0
  363. package/dist/eval/experiments/topic-continuity/lexical-features.d.ts +26 -0
  364. package/dist/eval/experiments/topic-continuity/lexical-features.d.ts.map +1 -0
  365. package/dist/eval/experiments/topic-continuity/lexical-features.js +58 -0
  366. package/dist/eval/experiments/topic-continuity/lexical-features.js.map +1 -0
  367. package/dist/eval/experiments/topic-continuity/run-experiment.d.ts +40 -0
  368. package/dist/eval/experiments/topic-continuity/run-experiment.d.ts.map +1 -0
  369. package/dist/eval/experiments/topic-continuity/run-experiment.js +379 -0
  370. package/dist/eval/experiments/topic-continuity/run-experiment.js.map +1 -0
  371. package/dist/eval/experiments/topic-continuity/types.d.ts +146 -0
  372. package/dist/eval/experiments/topic-continuity/types.d.ts.map +1 -0
  373. package/dist/eval/experiments/topic-continuity/types.js +9 -0
  374. package/dist/eval/experiments/topic-continuity/types.js.map +1 -0
  375. package/dist/eval/experiments/truncation.d.ts +21 -0
  376. package/dist/eval/experiments/truncation.d.ts.map +1 -0
  377. package/dist/eval/experiments/truncation.js +59 -0
  378. package/dist/eval/experiments/truncation.js.map +1 -0
  379. package/dist/eval/experiments/types.d.ts +37 -0
  380. package/dist/eval/experiments/types.d.ts.map +1 -0
  381. package/dist/eval/experiments/types.js +13 -0
  382. package/dist/eval/experiments/types.js.map +1 -0
  383. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts +10 -0
  384. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts.map +1 -0
  385. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js +229 -0
  386. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js.map +1 -0
  387. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts +12 -0
  388. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts.map +1 -0
  389. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js +316 -0
  390. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js.map +1 -0
  391. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts +19 -0
  392. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts.map +1 -0
  393. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js +127 -0
  394. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js.map +1 -0
  395. package/dist/eval/experiments/vector-decay-shapes/index.d.ts +11 -0
  396. package/dist/eval/experiments/vector-decay-shapes/index.d.ts.map +1 -0
  397. package/dist/eval/experiments/vector-decay-shapes/index.js +11 -0
  398. package/dist/eval/experiments/vector-decay-shapes/index.js.map +1 -0
  399. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts +14 -0
  400. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts.map +1 -0
  401. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js +274 -0
  402. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js.map +1 -0
  403. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts +36 -0
  404. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts.map +1 -0
  405. package/dist/eval/experiments/vector-decay-shapes/presets.js +157 -0
  406. package/dist/eval/experiments/vector-decay-shapes/presets.js.map +1 -0
  407. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts +20 -0
  408. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts.map +1 -0
  409. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js +504 -0
  410. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js.map +1 -0
  411. package/dist/eval/experiments/vector-decay-shapes/types.d.ts +111 -0
  412. package/dist/eval/experiments/vector-decay-shapes/types.d.ts.map +1 -0
  413. package/dist/eval/experiments/vector-decay-shapes/types.js +15 -0
  414. package/dist/eval/experiments/vector-decay-shapes/types.js.map +1 -0
  415. package/dist/eval/experiments/vector-decay-sweep/index.d.ts +7 -0
  416. package/dist/eval/experiments/vector-decay-sweep/index.d.ts.map +1 -0
  417. package/dist/eval/experiments/vector-decay-sweep/index.js +7 -0
  418. package/dist/eval/experiments/vector-decay-sweep/index.js.map +1 -0
  419. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts +30 -0
  420. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts.map +1 -0
  421. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js +378 -0
  422. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js.map +1 -0
  423. package/dist/eval/experiments/vector-decay-sweep/types.d.ts +109 -0
  424. package/dist/eval/experiments/vector-decay-sweep/types.d.ts.map +1 -0
  425. package/dist/eval/experiments/vector-decay-sweep/types.js +16 -0
  426. package/dist/eval/experiments/vector-decay-sweep/types.js.map +1 -0
  427. package/dist/eval/metrics.d.ts +45 -0
  428. package/dist/eval/metrics.d.ts.map +1 -0
  429. package/dist/eval/metrics.js +134 -0
  430. package/dist/eval/metrics.js.map +1 -0
  431. package/dist/hooks/claudemd-generator.d.ts +62 -0
  432. package/dist/hooks/claudemd-generator.d.ts.map +1 -0
  433. package/dist/hooks/claudemd-generator.js +220 -0
  434. package/dist/hooks/claudemd-generator.js.map +1 -0
  435. package/dist/hooks/hook-utils.d.ts +84 -0
  436. package/dist/hooks/hook-utils.d.ts.map +1 -0
  437. package/dist/hooks/hook-utils.js +187 -0
  438. package/dist/hooks/hook-utils.js.map +1 -0
  439. package/dist/hooks/index.d.ts +12 -0
  440. package/dist/hooks/index.d.ts.map +1 -0
  441. package/dist/hooks/index.js +12 -0
  442. package/dist/hooks/index.js.map +1 -0
  443. package/dist/hooks/pre-compact.d.ts +58 -0
  444. package/dist/hooks/pre-compact.d.ts.map +1 -0
  445. package/dist/hooks/pre-compact.js +127 -0
  446. package/dist/hooks/pre-compact.js.map +1 -0
  447. package/dist/hooks/session-start.d.ts +62 -0
  448. package/dist/hooks/session-start.d.ts.map +1 -0
  449. package/dist/hooks/session-start.js +249 -0
  450. package/dist/hooks/session-start.js.map +1 -0
  451. package/dist/index.d.ts +22 -0
  452. package/dist/index.d.ts.map +1 -0
  453. package/dist/index.js +29 -0
  454. package/dist/index.js.map +1 -0
  455. package/dist/ingest/batch-ingest.d.ts +94 -0
  456. package/dist/ingest/batch-ingest.d.ts.map +1 -0
  457. package/dist/ingest/batch-ingest.js +167 -0
  458. package/dist/ingest/batch-ingest.js.map +1 -0
  459. package/dist/ingest/brief-debrief-detector.d.ts +74 -0
  460. package/dist/ingest/brief-debrief-detector.d.ts.map +1 -0
  461. package/dist/ingest/brief-debrief-detector.js +253 -0
  462. package/dist/ingest/brief-debrief-detector.js.map +1 -0
  463. package/dist/ingest/cross-session-linker.d.ts +39 -0
  464. package/dist/ingest/cross-session-linker.d.ts.map +1 -0
  465. package/dist/ingest/cross-session-linker.js +103 -0
  466. package/dist/ingest/cross-session-linker.js.map +1 -0
  467. package/dist/ingest/edge-creator.d.ts +62 -0
  468. package/dist/ingest/edge-creator.d.ts.map +1 -0
  469. package/dist/ingest/edge-creator.js +186 -0
  470. package/dist/ingest/edge-creator.js.map +1 -0
  471. package/dist/ingest/edge-detector.d.ts +37 -0
  472. package/dist/ingest/edge-detector.d.ts.map +1 -0
  473. package/dist/ingest/edge-detector.js +234 -0
  474. package/dist/ingest/edge-detector.js.map +1 -0
  475. package/dist/ingest/index.d.ts +14 -0
  476. package/dist/ingest/index.d.ts.map +1 -0
  477. package/dist/ingest/index.js +14 -0
  478. package/dist/ingest/index.js.map +1 -0
  479. package/dist/ingest/ingest-session.d.ts +83 -0
  480. package/dist/ingest/ingest-session.d.ts.map +1 -0
  481. package/dist/ingest/ingest-session.js +415 -0
  482. package/dist/ingest/ingest-session.js.map +1 -0
  483. package/dist/maintenance/index.d.ts +5 -0
  484. package/dist/maintenance/index.d.ts.map +1 -0
  485. package/dist/maintenance/index.js +5 -0
  486. package/dist/maintenance/index.js.map +1 -0
  487. package/dist/maintenance/scheduler.d.ts +79 -0
  488. package/dist/maintenance/scheduler.d.ts.map +1 -0
  489. package/dist/maintenance/scheduler.js +362 -0
  490. package/dist/maintenance/scheduler.js.map +1 -0
  491. package/dist/maintenance/tasks/cleanup-vectors.d.ts +10 -0
  492. package/dist/maintenance/tasks/cleanup-vectors.d.ts.map +1 -0
  493. package/dist/maintenance/tasks/cleanup-vectors.js +23 -0
  494. package/dist/maintenance/tasks/cleanup-vectors.js.map +1 -0
  495. package/dist/maintenance/tasks/index.d.ts +9 -0
  496. package/dist/maintenance/tasks/index.d.ts.map +1 -0
  497. package/dist/maintenance/tasks/index.js +9 -0
  498. package/dist/maintenance/tasks/index.js.map +1 -0
  499. package/dist/maintenance/tasks/prune-graph.d.ts +12 -0
  500. package/dist/maintenance/tasks/prune-graph.d.ts.map +1 -0
  501. package/dist/maintenance/tasks/prune-graph.js +23 -0
  502. package/dist/maintenance/tasks/prune-graph.js.map +1 -0
  503. package/dist/maintenance/tasks/scan-projects.d.ts +12 -0
  504. package/dist/maintenance/tasks/scan-projects.d.ts.map +1 -0
  505. package/dist/maintenance/tasks/scan-projects.js +31 -0
  506. package/dist/maintenance/tasks/scan-projects.js.map +1 -0
  507. package/dist/maintenance/tasks/update-clusters.d.ts +12 -0
  508. package/dist/maintenance/tasks/update-clusters.d.ts.map +1 -0
  509. package/dist/maintenance/tasks/update-clusters.js +41 -0
  510. package/dist/maintenance/tasks/update-clusters.js.map +1 -0
  511. package/dist/maintenance/tasks/vacuum.d.ts +10 -0
  512. package/dist/maintenance/tasks/vacuum.d.ts.map +1 -0
  513. package/dist/maintenance/tasks/vacuum.js +23 -0
  514. package/dist/maintenance/tasks/vacuum.js.map +1 -0
  515. package/dist/mcp/index.d.ts +7 -0
  516. package/dist/mcp/index.d.ts.map +1 -0
  517. package/dist/mcp/index.js +8 -0
  518. package/dist/mcp/index.js.map +1 -0
  519. package/dist/mcp/server.d.ts +90 -0
  520. package/dist/mcp/server.d.ts.map +1 -0
  521. package/dist/mcp/server.js +395 -0
  522. package/dist/mcp/server.js.map +1 -0
  523. package/dist/mcp/tools.d.ts +52 -0
  524. package/dist/mcp/tools.d.ts.map +1 -0
  525. package/dist/mcp/tools.js +292 -0
  526. package/dist/mcp/tools.js.map +1 -0
  527. package/dist/models/device-detector.d.ts +32 -0
  528. package/dist/models/device-detector.d.ts.map +1 -0
  529. package/dist/models/device-detector.js +123 -0
  530. package/dist/models/device-detector.js.map +1 -0
  531. package/dist/models/embedder.d.ts +60 -0
  532. package/dist/models/embedder.d.ts.map +1 -0
  533. package/dist/models/embedder.js +171 -0
  534. package/dist/models/embedder.js.map +1 -0
  535. package/dist/models/model-registry.d.ts +25 -0
  536. package/dist/models/model-registry.d.ts.map +1 -0
  537. package/dist/models/model-registry.js +56 -0
  538. package/dist/models/model-registry.js.map +1 -0
  539. package/dist/parser/chunker.d.ts +74 -0
  540. package/dist/parser/chunker.d.ts.map +1 -0
  541. package/dist/parser/chunker.js +330 -0
  542. package/dist/parser/chunker.js.map +1 -0
  543. package/dist/parser/session-reader.d.ts +75 -0
  544. package/dist/parser/session-reader.d.ts.map +1 -0
  545. package/dist/parser/session-reader.js +198 -0
  546. package/dist/parser/session-reader.js.map +1 -0
  547. package/dist/parser/turn-assembler.d.ts +18 -0
  548. package/dist/parser/turn-assembler.d.ts.map +1 -0
  549. package/dist/parser/turn-assembler.js +150 -0
  550. package/dist/parser/turn-assembler.js.map +1 -0
  551. package/dist/parser/types.d.ts +124 -0
  552. package/dist/parser/types.d.ts.map +1 -0
  553. package/dist/parser/types.js +8 -0
  554. package/dist/parser/types.js.map +1 -0
  555. package/dist/report/reporter.d.ts +18 -0
  556. package/dist/report/reporter.d.ts.map +1 -0
  557. package/dist/report/reporter.js +121 -0
  558. package/dist/report/reporter.js.map +1 -0
  559. package/dist/retrieval/cluster-expander.d.ts +30 -0
  560. package/dist/retrieval/cluster-expander.d.ts.map +1 -0
  561. package/dist/retrieval/cluster-expander.js +87 -0
  562. package/dist/retrieval/cluster-expander.js.map +1 -0
  563. package/dist/retrieval/context-assembler.d.ts +89 -0
  564. package/dist/retrieval/context-assembler.d.ts.map +1 -0
  565. package/dist/retrieval/context-assembler.js +313 -0
  566. package/dist/retrieval/context-assembler.js.map +1 -0
  567. package/dist/retrieval/index.d.ts +12 -0
  568. package/dist/retrieval/index.d.ts.map +1 -0
  569. package/dist/retrieval/index.js +12 -0
  570. package/dist/retrieval/index.js.map +1 -0
  571. package/dist/retrieval/rrf.d.ts +25 -0
  572. package/dist/retrieval/rrf.d.ts.map +1 -0
  573. package/dist/retrieval/rrf.js +56 -0
  574. package/dist/retrieval/rrf.js.map +1 -0
  575. package/dist/retrieval/session-reconstructor.d.ts +79 -0
  576. package/dist/retrieval/session-reconstructor.d.ts.map +1 -0
  577. package/dist/retrieval/session-reconstructor.js +173 -0
  578. package/dist/retrieval/session-reconstructor.js.map +1 -0
  579. package/dist/retrieval/traverser.d.ts +66 -0
  580. package/dist/retrieval/traverser.d.ts.map +1 -0
  581. package/dist/retrieval/traverser.js +160 -0
  582. package/dist/retrieval/traverser.js.map +1 -0
  583. package/dist/storage/archive.d.ts +81 -0
  584. package/dist/storage/archive.d.ts.map +1 -0
  585. package/dist/storage/archive.js +204 -0
  586. package/dist/storage/archive.js.map +1 -0
  587. package/dist/storage/audit-log.d.ts +29 -0
  588. package/dist/storage/audit-log.d.ts.map +1 -0
  589. package/dist/storage/audit-log.js +69 -0
  590. package/dist/storage/audit-log.js.map +1 -0
  591. package/dist/storage/checkpoint-store.d.ts +38 -0
  592. package/dist/storage/checkpoint-store.d.ts.map +1 -0
  593. package/dist/storage/checkpoint-store.js +76 -0
  594. package/dist/storage/checkpoint-store.js.map +1 -0
  595. package/dist/storage/chunk-store.d.ts +111 -0
  596. package/dist/storage/chunk-store.d.ts.map +1 -0
  597. package/dist/storage/chunk-store.js +298 -0
  598. package/dist/storage/chunk-store.js.map +1 -0
  599. package/dist/storage/clock-store.d.ts +80 -0
  600. package/dist/storage/clock-store.d.ts.map +1 -0
  601. package/dist/storage/clock-store.js +155 -0
  602. package/dist/storage/clock-store.js.map +1 -0
  603. package/dist/storage/cluster-store.d.ts +63 -0
  604. package/dist/storage/cluster-store.d.ts.map +1 -0
  605. package/dist/storage/cluster-store.js +219 -0
  606. package/dist/storage/cluster-store.js.map +1 -0
  607. package/dist/storage/db.d.ts +57 -0
  608. package/dist/storage/db.d.ts.map +1 -0
  609. package/dist/storage/db.js +249 -0
  610. package/dist/storage/db.js.map +1 -0
  611. package/dist/storage/decay.d.ts +125 -0
  612. package/dist/storage/decay.d.ts.map +1 -0
  613. package/dist/storage/decay.js +276 -0
  614. package/dist/storage/decay.js.map +1 -0
  615. package/dist/storage/edge-store.d.ts +75 -0
  616. package/dist/storage/edge-store.d.ts.map +1 -0
  617. package/dist/storage/edge-store.js +259 -0
  618. package/dist/storage/edge-store.js.map +1 -0
  619. package/dist/storage/embedding-cache.d.ts +51 -0
  620. package/dist/storage/embedding-cache.d.ts.map +1 -0
  621. package/dist/storage/embedding-cache.js +155 -0
  622. package/dist/storage/embedding-cache.js.map +1 -0
  623. package/dist/storage/encryption.d.ts +55 -0
  624. package/dist/storage/encryption.d.ts.map +1 -0
  625. package/dist/storage/encryption.js +130 -0
  626. package/dist/storage/encryption.js.map +1 -0
  627. package/dist/storage/index.d.ts +15 -0
  628. package/dist/storage/index.d.ts.map +1 -0
  629. package/dist/storage/index.js +20 -0
  630. package/dist/storage/index.js.map +1 -0
  631. package/dist/storage/keyword-store.d.ts +25 -0
  632. package/dist/storage/keyword-store.d.ts.map +1 -0
  633. package/dist/storage/keyword-store.js +104 -0
  634. package/dist/storage/keyword-store.js.map +1 -0
  635. package/dist/storage/migrations.d.ts +12 -0
  636. package/dist/storage/migrations.d.ts.map +1 -0
  637. package/dist/storage/migrations.js +345 -0
  638. package/dist/storage/migrations.js.map +1 -0
  639. package/dist/storage/pruner.d.ts +111 -0
  640. package/dist/storage/pruner.d.ts.map +1 -0
  641. package/dist/storage/pruner.js +280 -0
  642. package/dist/storage/pruner.js.map +1 -0
  643. package/dist/storage/schema-loader.d.ts +18 -0
  644. package/dist/storage/schema-loader.d.ts.map +1 -0
  645. package/dist/storage/schema-loader.js +62 -0
  646. package/dist/storage/schema-loader.js.map +1 -0
  647. package/dist/storage/schema.sql +133 -0
  648. package/dist/storage/types.d.ts +278 -0
  649. package/dist/storage/types.d.ts.map +1 -0
  650. package/dist/storage/types.js +14 -0
  651. package/dist/storage/types.js.map +1 -0
  652. package/dist/storage/vector-store.d.ts +213 -0
  653. package/dist/storage/vector-store.d.ts.map +1 -0
  654. package/dist/storage/vector-store.js +440 -0
  655. package/dist/storage/vector-store.js.map +1 -0
  656. package/dist/temporal/clock-compactor.d.ts +65 -0
  657. package/dist/temporal/clock-compactor.d.ts.map +1 -0
  658. package/dist/temporal/clock-compactor.js +157 -0
  659. package/dist/temporal/clock-compactor.js.map +1 -0
  660. package/dist/temporal/index.d.ts +6 -0
  661. package/dist/temporal/index.d.ts.map +1 -0
  662. package/dist/temporal/index.js +6 -0
  663. package/dist/temporal/index.js.map +1 -0
  664. package/dist/temporal/vector-clock.d.ts +143 -0
  665. package/dist/temporal/vector-clock.d.ts.map +1 -0
  666. package/dist/temporal/vector-clock.js +231 -0
  667. package/dist/temporal/vector-clock.js.map +1 -0
  668. package/dist/utils/angular-distance.d.ts +31 -0
  669. package/dist/utils/angular-distance.d.ts.map +1 -0
  670. package/dist/utils/angular-distance.js +61 -0
  671. package/dist/utils/angular-distance.js.map +1 -0
  672. package/dist/utils/array-utils.d.ts +28 -0
  673. package/dist/utils/array-utils.d.ts.map +1 -0
  674. package/dist/utils/array-utils.js +67 -0
  675. package/dist/utils/array-utils.js.map +1 -0
  676. package/dist/utils/embedding-utils.d.ts +25 -0
  677. package/dist/utils/embedding-utils.d.ts.map +1 -0
  678. package/dist/utils/embedding-utils.js +30 -0
  679. package/dist/utils/embedding-utils.js.map +1 -0
  680. package/dist/utils/errors.d.ts +143 -0
  681. package/dist/utils/errors.d.ts.map +1 -0
  682. package/dist/utils/errors.js +220 -0
  683. package/dist/utils/errors.js.map +1 -0
  684. package/dist/utils/keychain.d.ts +43 -0
  685. package/dist/utils/keychain.d.ts.map +1 -0
  686. package/dist/utils/keychain.js +82 -0
  687. package/dist/utils/keychain.js.map +1 -0
  688. package/dist/utils/logger.d.ts +50 -0
  689. package/dist/utils/logger.d.ts.map +1 -0
  690. package/dist/utils/logger.js +104 -0
  691. package/dist/utils/logger.js.map +1 -0
  692. package/dist/utils/secret-store.d.ts +110 -0
  693. package/dist/utils/secret-store.d.ts.map +1 -0
  694. package/dist/utils/secret-store.js +340 -0
  695. package/dist/utils/secret-store.js.map +1 -0
  696. package/dist/utils/secure-buffer.d.ts +66 -0
  697. package/dist/utils/secure-buffer.d.ts.map +1 -0
  698. package/dist/utils/secure-buffer.js +104 -0
  699. package/dist/utils/secure-buffer.js.map +1 -0
  700. package/dist/utils/token-counter.d.ts +13 -0
  701. package/dist/utils/token-counter.d.ts.map +1 -0
  702. package/dist/utils/token-counter.js +18 -0
  703. package/dist/utils/token-counter.js.map +1 -0
  704. package/package.json +110 -0
  705. package/src/dashboard/client/package-lock.json +3045 -0
  706. package/src/dashboard/client/package.json +30 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-assembler.js","sourceRoot":"","sources":["../../src/retrieval/context-assembler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Retrieval system exports.
3
+ */
4
+ export { traverse, traverseMultiple, resolveChunks, dedupeAndRank } from './traverser.js';
5
+ export type { TraversalOptions } from './traverser.js';
6
+ export { assembleContext, recall, explain, predict, disposeRetrieval, } from './context-assembler.js';
7
+ export type { RetrievalMode, RetrievalRange, RetrievalRequest, RetrievalResponse } from './context-assembler.js';
8
+ export { fuseRRF } from './rrf.js';
9
+ export type { RankedItem, RRFSource } from './rrf.js';
10
+ export { expandViaClusters } from './cluster-expander.js';
11
+ export type { ClusterExpansionConfig } from './cluster-expander.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieval/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1F,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EACL,eAAe,EACf,MAAM,EACN,OAAO,EACP,OAAO,EACP,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGjH,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Retrieval system exports.
3
+ */
4
+ // Traverser
5
+ export { traverse, traverseMultiple, resolveChunks, dedupeAndRank } from './traverser.js';
6
+ // Context assembler
7
+ export { assembleContext, recall, explain, predict, disposeRetrieval, } from './context-assembler.js';
8
+ // Reciprocal Rank Fusion
9
+ export { fuseRRF } from './rrf.js';
10
+ // Cluster expansion
11
+ export { expandViaClusters } from './cluster-expander.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/retrieval/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG1F,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,MAAM,EACN,OAAO,EACP,OAAO,EACP,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,yBAAyB;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Reciprocal Rank Fusion (RRF) for combining ranked lists from different retrieval sources.
3
+ *
4
+ * Merges results from vector search, keyword search, and cluster expansion
5
+ * into a single ranked list using the formula:
6
+ * score(chunk) = Sum(weight_i / (k + rank_i))
7
+ */
8
+ export interface RankedItem {
9
+ chunkId: string;
10
+ score: number;
11
+ source?: 'vector' | 'keyword' | 'cluster' | 'graph';
12
+ }
13
+ export interface RRFSource {
14
+ items: RankedItem[];
15
+ weight: number;
16
+ }
17
+ /**
18
+ * Fuse multiple ranked lists using Reciprocal Rank Fusion.
19
+ *
20
+ * @param sources - Ranked lists with weights
21
+ * @param k - RRF constant (default: 60). Higher values reduce the impact of high-ranked items.
22
+ * @returns Merged list sorted by fused score descending, deduplicated by chunkId
23
+ */
24
+ export declare function fuseRRF(sources: RRFSource[], k?: number): RankedItem[];
25
+ //# sourceMappingURL=rrf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rrf.d.ts","sourceRoot":"","sources":["../../src/retrieval/rrf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CACrD;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,GAAE,MAAkB,GAAG,UAAU,EAAE,CAyCjF"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Reciprocal Rank Fusion (RRF) for combining ranked lists from different retrieval sources.
3
+ *
4
+ * Merges results from vector search, keyword search, and cluster expansion
5
+ * into a single ranked list using the formula:
6
+ * score(chunk) = Sum(weight_i / (k + rank_i))
7
+ */
8
+ const DEFAULT_K = 60;
9
+ /**
10
+ * Fuse multiple ranked lists using Reciprocal Rank Fusion.
11
+ *
12
+ * @param sources - Ranked lists with weights
13
+ * @param k - RRF constant (default: 60). Higher values reduce the impact of high-ranked items.
14
+ * @returns Merged list sorted by fused score descending, deduplicated by chunkId
15
+ */
16
+ export function fuseRRF(sources, k = DEFAULT_K) {
17
+ if (sources.length === 0)
18
+ return [];
19
+ // Map: chunkId → { fusedScore, sources[] }
20
+ const scoreMap = new Map();
21
+ for (const source of sources) {
22
+ for (let rank = 0; rank < source.items.length; rank++) {
23
+ const item = source.items[rank];
24
+ const rrfScore = source.weight / (k + rank + 1); // rank is 0-based, formula uses 1-based
25
+ const existing = scoreMap.get(item.chunkId);
26
+ if (existing) {
27
+ existing.score += rrfScore;
28
+ if (item.source)
29
+ existing.sources.add(item.source);
30
+ }
31
+ else {
32
+ const sources = new Set();
33
+ if (item.source)
34
+ sources.add(item.source);
35
+ scoreMap.set(item.chunkId, { score: rrfScore, sources });
36
+ }
37
+ }
38
+ }
39
+ // Convert to array and sort by fused score descending
40
+ const results = [];
41
+ for (const [chunkId, { score, sources }] of scoreMap) {
42
+ // Pick the first source as the primary one (vector > keyword > cluster > graph)
43
+ const priority = ['vector', 'keyword', 'cluster', 'graph'];
44
+ let bestSource = undefined;
45
+ for (const p of priority) {
46
+ if (sources.has(p)) {
47
+ bestSource = p;
48
+ break;
49
+ }
50
+ }
51
+ results.push({ chunkId, score, source: bestSource });
52
+ }
53
+ results.sort((a, b) => b.score - a.score);
54
+ return results;
55
+ }
56
+ //# sourceMappingURL=rrf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rrf.js","sourceRoot":"","sources":["../../src/retrieval/rrf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAoB,EAAE,IAAY,SAAS;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmD,CAAC;IAE5E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,wCAAwC;YAEzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC;gBAC3B,IAAI,IAAI,CAAC,MAAM;oBAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;gBAClC,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrD,gFAAgF;QAChF,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,UAAU,GAAyB,SAAS,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,UAAU,GAAG,CAAyB,CAAC;gBACvC,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Session context reconstruction.
3
+ *
4
+ * Pure chronological SQLite queries — bypasses the vector/keyword/RRF pipeline.
5
+ * Rebuilds session context by time range with token budgeting.
6
+ */
7
+ import type { SessionInfo } from '../storage/chunk-store.js';
8
+ import type { StoredChunk } from '../storage/types.js';
9
+ /**
10
+ * Request to reconstruct session context.
11
+ */
12
+ export interface ReconstructRequest {
13
+ /** Project slug (required) */
14
+ project: string;
15
+ /** Specific session ID */
16
+ sessionId?: string;
17
+ /** Start of time window (ISO 8601) */
18
+ from?: string;
19
+ /** End of time window (ISO 8601) */
20
+ to?: string;
21
+ /** Look back N days from now */
22
+ daysBack?: number;
23
+ /** Get the session before the current one */
24
+ previousSession?: boolean;
25
+ /** Current session ID (required when previousSession is true) */
26
+ currentSessionId?: string;
27
+ /** Token budget (defaults to mcpMaxResponseTokens) */
28
+ maxTokens?: number;
29
+ /** When truncating, keep newest chunks (default: true) */
30
+ keepNewest?: boolean;
31
+ }
32
+ /**
33
+ * A chunk in the reconstruction result.
34
+ */
35
+ export interface ReconstructChunk {
36
+ id: string;
37
+ sessionId: string;
38
+ content: string;
39
+ startTime: string;
40
+ approxTokens: number;
41
+ }
42
+ /**
43
+ * Result of session reconstruction.
44
+ */
45
+ export interface ReconstructResult {
46
+ chunks: ReconstructChunk[];
47
+ sessions: SessionInfo[];
48
+ totalTokens: number;
49
+ truncated: boolean;
50
+ timeRange: {
51
+ from: string;
52
+ to: string;
53
+ };
54
+ }
55
+ /**
56
+ * Resolve the time window from a ReconstructRequest into concrete from/to ISO dates.
57
+ */
58
+ export declare function resolveTimeWindow(req: ReconstructRequest): {
59
+ from: string;
60
+ to: string;
61
+ sessionId?: string;
62
+ };
63
+ /**
64
+ * Apply token budget to a list of chunks.
65
+ * Returns the subset that fits within the budget.
66
+ */
67
+ export declare function applyTokenBudget(chunks: StoredChunk[], maxTokens: number, keepNewest: boolean): {
68
+ kept: StoredChunk[];
69
+ truncated: boolean;
70
+ };
71
+ /**
72
+ * Format reconstruction result as text with session boundary markers.
73
+ */
74
+ export declare function formatReconstruction(result: ReconstructResult): string;
75
+ /**
76
+ * Reconstruct session context for a project.
77
+ */
78
+ export declare function reconstructSession(req: ReconstructRequest): ReconstructResult;
79
+ //# sourceMappingURL=session-reconstructor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-reconstructor.d.ts","sourceRoot":"","sources":["../../src/retrieval/session-reconstructor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAmC3G;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,GAClB;IAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CA2B7C;AAiBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAmCtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,GAAG,iBAAiB,CA+D7E"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Session context reconstruction.
3
+ *
4
+ * Pure chronological SQLite queries — bypasses the vector/keyword/RRF pipeline.
5
+ * Rebuilds session context by time range with token budgeting.
6
+ */
7
+ import { getConfig } from '../config/memory-config.js';
8
+ import { getChunksByTimeRange, getPreviousSession, } from '../storage/chunk-store.js';
9
+ /**
10
+ * Resolve the time window from a ReconstructRequest into concrete from/to ISO dates.
11
+ */
12
+ export function resolveTimeWindow(req) {
13
+ if (req.previousSession) {
14
+ if (!req.currentSessionId) {
15
+ throw new Error('currentSessionId is required when previousSession is true');
16
+ }
17
+ const prev = getPreviousSession(req.project, req.currentSessionId);
18
+ if (!prev) {
19
+ return { from: '', to: '', sessionId: undefined };
20
+ }
21
+ return {
22
+ from: prev.firstChunkTime,
23
+ to: new Date(new Date(prev.lastChunkTime).getTime() + 1).toISOString(),
24
+ sessionId: prev.sessionId,
25
+ };
26
+ }
27
+ if (req.sessionId) {
28
+ // For a specific session, use a wide time window and filter by sessionId
29
+ return { from: '1970-01-01T00:00:00Z', to: '9999-12-31T23:59:59Z', sessionId: req.sessionId };
30
+ }
31
+ if (req.daysBack !== null && req.daysBack !== undefined) {
32
+ const to = new Date().toISOString();
33
+ const from = new Date(Date.now() - req.daysBack * 24 * 60 * 60 * 1000).toISOString();
34
+ return { from, to };
35
+ }
36
+ if (req.from || req.to) {
37
+ return {
38
+ from: req.from ?? '1970-01-01T00:00:00Z',
39
+ to: req.to ?? '9999-12-31T23:59:59Z',
40
+ };
41
+ }
42
+ throw new Error('Must specify one of: sessionId, from/to, daysBack, or previousSession');
43
+ }
44
+ /**
45
+ * Apply token budget to a list of chunks.
46
+ * Returns the subset that fits within the budget.
47
+ */
48
+ export function applyTokenBudget(chunks, maxTokens, keepNewest) {
49
+ let totalTokens = 0;
50
+ for (const c of chunks) {
51
+ totalTokens += c.approxTokens;
52
+ }
53
+ if (totalTokens <= maxTokens) {
54
+ return { kept: chunks, truncated: false };
55
+ }
56
+ // Walk from the preferred end and collect until budget exhausted
57
+ const ordered = keepNewest ? [...chunks].reverse() : [...chunks];
58
+ const kept = [];
59
+ let budget = maxTokens;
60
+ for (const chunk of ordered) {
61
+ if (chunk.approxTokens > budget)
62
+ break;
63
+ kept.push(chunk);
64
+ budget -= chunk.approxTokens;
65
+ }
66
+ // Restore chronological order
67
+ if (keepNewest) {
68
+ kept.reverse();
69
+ }
70
+ return { kept, truncated: true };
71
+ }
72
+ /**
73
+ * Format a date for display in session headers.
74
+ */
75
+ function formatDate(iso) {
76
+ const d = new Date(iso);
77
+ return d.toLocaleDateString('en-US', {
78
+ month: 'short',
79
+ day: 'numeric',
80
+ }) + ', ' + d.toLocaleTimeString('en-US', {
81
+ hour: 'numeric',
82
+ minute: '2-digit',
83
+ hour12: true,
84
+ });
85
+ }
86
+ /**
87
+ * Format reconstruction result as text with session boundary markers.
88
+ */
89
+ export function formatReconstruction(result) {
90
+ if (result.chunks.length === 0) {
91
+ return 'No session data found for the specified time range.';
92
+ }
93
+ const lines = [];
94
+ let currentSessionId = '';
95
+ // Group chunks by session and add headers
96
+ for (const chunk of result.chunks) {
97
+ if (chunk.sessionId !== currentSessionId) {
98
+ currentSessionId = chunk.sessionId;
99
+ const session = result.sessions.find((s) => s.sessionId === currentSessionId);
100
+ if (session) {
101
+ const startStr = formatDate(session.firstChunkTime);
102
+ const endStr = formatDate(session.lastChunkTime);
103
+ lines.push(`=== Session ${session.sessionId.slice(0, 8)} (${startStr} – ${endStr}) ===`);
104
+ }
105
+ }
106
+ lines.push(chunk.content);
107
+ lines.push('---');
108
+ }
109
+ // Remove trailing separator
110
+ if (lines[lines.length - 1] === '---') {
111
+ lines.pop();
112
+ }
113
+ let header = `Reconstructed ${result.chunks.length} chunks from ${result.sessions.length} session(s) (${result.totalTokens} tokens)`;
114
+ if (result.truncated) {
115
+ header += ' [truncated to fit token budget]';
116
+ }
117
+ header += '\n\n';
118
+ return header + lines.join('\n');
119
+ }
120
+ /**
121
+ * Reconstruct session context for a project.
122
+ */
123
+ export function reconstructSession(req) {
124
+ const config = getConfig();
125
+ const maxTokens = req.maxTokens ?? config.mcpMaxResponseTokens;
126
+ const keepNewest = req.keepNewest ?? true;
127
+ const window = resolveTimeWindow(req);
128
+ // Handle case where no previous session was found
129
+ if (!window.from && !window.to) {
130
+ return {
131
+ chunks: [],
132
+ sessions: [],
133
+ totalTokens: 0,
134
+ truncated: false,
135
+ timeRange: { from: '', to: '' },
136
+ };
137
+ }
138
+ const rawChunks = getChunksByTimeRange(req.project, window.from, window.to, window.sessionId ? { sessionId: window.sessionId } : undefined);
139
+ const { kept, truncated } = applyTokenBudget(rawChunks, maxTokens, keepNewest);
140
+ // Build session summaries from the kept chunks
141
+ const sessionMap = new Map();
142
+ for (const chunk of kept) {
143
+ const entry = sessionMap.get(chunk.sessionId) ?? { chunks: [] };
144
+ entry.chunks.push(chunk);
145
+ sessionMap.set(chunk.sessionId, entry);
146
+ }
147
+ const sessions = [];
148
+ for (const [sessionId, { chunks }] of sessionMap) {
149
+ sessions.push({
150
+ sessionId,
151
+ firstChunkTime: chunks[0].startTime,
152
+ lastChunkTime: chunks[chunks.length - 1].endTime,
153
+ chunkCount: chunks.length,
154
+ totalTokens: chunks.reduce((sum, c) => sum + c.approxTokens, 0),
155
+ });
156
+ }
157
+ const resultChunks = kept.map((c) => ({
158
+ id: c.id,
159
+ sessionId: c.sessionId,
160
+ content: c.content,
161
+ startTime: c.startTime,
162
+ approxTokens: c.approxTokens,
163
+ }));
164
+ const totalTokens = kept.reduce((sum, c) => sum + c.approxTokens, 0);
165
+ return {
166
+ chunks: resultChunks,
167
+ sessions,
168
+ totalTokens,
169
+ truncated,
170
+ timeRange: { from: window.from, to: window.to },
171
+ };
172
+ }
173
+ //# sourceMappingURL=session-reconstructor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-reconstructor.js","sourceRoot":"","sources":["../../src/retrieval/session-reconstructor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Graph traversal with decay-weighted edges.
3
+ *
4
+ * Uses sum-product rules analogous to Feynman path integrals:
5
+ * - Product: Weights multiply along each path
6
+ * - Sum: Multiple paths to the same node accumulate
7
+ * - Convergence: Cycles naturally attenuate (no explicit detection needed)
8
+ *
9
+ * Since edge weights are in (0,1], path products decrease with length.
10
+ * The minWeight threshold prunes paths that have attenuated below relevance,
11
+ * which naturally handles cycle convergence.
12
+ */
13
+ import type { DecayModelConfig } from '../core/decay-types.js';
14
+ import type { WeightedChunk, TraversalResult, StoredChunk } from '../storage/types.js';
15
+ import type { VectorClock } from '../temporal/vector-clock.js';
16
+ /**
17
+ * Options for graph traversal.
18
+ * Direction-specific decay curves are automatically applied:
19
+ * - Backward: Linear (dies@10) for 4-20 hop range
20
+ * - Forward: Delayed linear (5h, dies@20) for 1-20 hop range
21
+ */
22
+ export interface TraversalOptions {
23
+ /** Maximum traversal depth. Default: from config. */
24
+ maxDepth?: number;
25
+ /** Minimum weight threshold. Default: from config. */
26
+ minWeight?: number;
27
+ /** Time-based decay configuration (fallback for edges without vector clocks). */
28
+ decayConfig?: DecayModelConfig;
29
+ /** Traversal direction. Determines which decay curve is used. */
30
+ direction: 'backward' | 'forward';
31
+ /** Reference clock for vector clock-based decay (optional). */
32
+ referenceClock?: VectorClock;
33
+ }
34
+ /**
35
+ * Traverse the graph from a starting chunk using sum-product rules.
36
+ *
37
+ * Weights multiply along paths (product) and accumulate when multiple
38
+ * paths reach the same node (sum). Cycles are handled naturally by
39
+ * convergence — since weights are <1, cyclic paths attenuate geometrically
40
+ * and are pruned when they fall below minWeight.
41
+ *
42
+ * @param startChunkId - Starting chunk ID
43
+ * @param queryTime - Query time in milliseconds (for decay calculation)
44
+ * @param options - Traversal options
45
+ * @returns Traversal result with weighted chunks
46
+ */
47
+ export declare function traverse(startChunkId: string, queryTime: number, options: TraversalOptions): Promise<TraversalResult>;
48
+ /**
49
+ * Traverse from multiple starting points and merge results.
50
+ * Useful for starting from vector search results.
51
+ */
52
+ export declare function traverseMultiple(startChunkIds: string[], startWeights: number[], queryTime: number, options: TraversalOptions): Promise<TraversalResult>;
53
+ /**
54
+ * Get chunks with their content from traversal results.
55
+ */
56
+ export declare function resolveChunks(traversalResult: TraversalResult): Array<{
57
+ chunk: StoredChunk;
58
+ weight: number;
59
+ depth: number;
60
+ }>;
61
+ /**
62
+ * Deduplicate and re-rank weighted chunks.
63
+ * Combines duplicate entries and applies additional scoring.
64
+ */
65
+ export declare function dedupeAndRank(chunks: WeightedChunk[]): WeightedChunk[];
66
+ //# sourceMappingURL=traverser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverser.d.ts","sourceRoot":"","sources":["../../src/retrieval/traverser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAY,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,iEAAiE;IACjE,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAC5B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAyE1B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA0C1B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,eAAe,GAC/B,KAAK,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAe9D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAmBtE"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Graph traversal with decay-weighted edges.
3
+ *
4
+ * Uses sum-product rules analogous to Feynman path integrals:
5
+ * - Product: Weights multiply along each path
6
+ * - Sum: Multiple paths to the same node accumulate
7
+ * - Convergence: Cycles naturally attenuate (no explicit detection needed)
8
+ *
9
+ * Since edge weights are in (0,1], path products decrease with length.
10
+ * The minWeight threshold prunes paths that have attenuated below relevance,
11
+ * which naturally handles cycle convergence.
12
+ */
13
+ import { getWeightedEdges } from '../storage/edge-store.js';
14
+ import { getChunkById } from '../storage/chunk-store.js';
15
+ import { getConfig } from '../config/memory-config.js';
16
+ /**
17
+ * Traverse the graph from a starting chunk using sum-product rules.
18
+ *
19
+ * Weights multiply along paths (product) and accumulate when multiple
20
+ * paths reach the same node (sum). Cycles are handled naturally by
21
+ * convergence — since weights are <1, cyclic paths attenuate geometrically
22
+ * and are pruned when they fall below minWeight.
23
+ *
24
+ * @param startChunkId - Starting chunk ID
25
+ * @param queryTime - Query time in milliseconds (for decay calculation)
26
+ * @param options - Traversal options
27
+ * @returns Traversal result with weighted chunks
28
+ */
29
+ export async function traverse(startChunkId, queryTime, options) {
30
+ const config = getConfig();
31
+ const { maxDepth = config.maxTraversalDepth, minWeight = config.minSignalThreshold, direction, referenceClock, } = options;
32
+ // Select time-based decay config as fallback (for edges without vector clocks)
33
+ const decayConfig = options.decayConfig ?? (direction === 'backward' ? config.shortRangeDecay : config.forwardDecay);
34
+ // Accumulate weights across all paths (sum rule)
35
+ const accumulatedWeights = new Map();
36
+ const minDepths = new Map();
37
+ let pathsExplored = 0;
38
+ async function visit(chunkId, depth, pathWeight) {
39
+ // Prune paths that have attenuated below threshold (convergence criterion)
40
+ // Since edge weights are <1, cyclic paths naturally attenuate until pruned
41
+ if (pathWeight < minWeight)
42
+ return;
43
+ if (depth > maxDepth)
44
+ return;
45
+ pathsExplored++;
46
+ // Accumulate this path's weight contribution (sum rule)
47
+ const existingWeight = accumulatedWeights.get(chunkId) ?? 0;
48
+ accumulatedWeights.set(chunkId, existingWeight + pathWeight);
49
+ // Track minimum depth for reporting
50
+ const existingDepth = minDepths.get(chunkId) ?? Infinity;
51
+ minDepths.set(chunkId, Math.min(existingDepth, depth));
52
+ // Get weighted edges from this chunk
53
+ const edges = getWeightedEdges(chunkId, queryTime, decayConfig, direction, referenceClock);
54
+ for (const edge of edges) {
55
+ // Compute new path weight (product rule)
56
+ const newWeight = pathWeight * edge.weight;
57
+ // Recursively visit — cycles naturally attenuate via weight products <1
58
+ await visit(edge.targetChunkId, depth + 1, newWeight);
59
+ }
60
+ }
61
+ // Start traversal from the given chunk
62
+ await visit(startChunkId, 0, 1.0);
63
+ // Convert accumulated weights to results
64
+ const results = [];
65
+ for (const [chunkId, weight] of accumulatedWeights) {
66
+ if (chunkId !== startChunkId) { // Exclude start node from results
67
+ results.push({
68
+ chunkId,
69
+ weight,
70
+ depth: minDepths.get(chunkId) ?? 0,
71
+ });
72
+ }
73
+ }
74
+ // Sort by weight descending
75
+ results.sort((a, b) => b.weight - a.weight);
76
+ return {
77
+ chunks: results,
78
+ visited: pathsExplored,
79
+ };
80
+ }
81
+ /**
82
+ * Traverse from multiple starting points and merge results.
83
+ * Useful for starting from vector search results.
84
+ */
85
+ export async function traverseMultiple(startChunkIds, startWeights, queryTime, options) {
86
+ // Track all visited and accumulated weights
87
+ const globalWeights = new Map();
88
+ const globalDepths = new Map();
89
+ let totalVisited = 0;
90
+ for (let i = 0; i < startChunkIds.length; i++) {
91
+ const startId = startChunkIds[i];
92
+ const startWeight = startWeights[i] ?? 1.0;
93
+ // Adjust options with starting weight
94
+ const result = await traverse(startId, queryTime, options);
95
+ totalVisited += result.visited;
96
+ // Merge results, accumulating weights
97
+ for (const chunk of result.chunks) {
98
+ const scaledWeight = chunk.weight * startWeight;
99
+ const existingWeight = globalWeights.get(chunk.chunkId) ?? 0;
100
+ globalWeights.set(chunk.chunkId, existingWeight + scaledWeight);
101
+ // Keep minimum depth
102
+ const existingDepth = globalDepths.get(chunk.chunkId) ?? Infinity;
103
+ globalDepths.set(chunk.chunkId, Math.min(existingDepth, chunk.depth));
104
+ }
105
+ }
106
+ // Convert to array and sort
107
+ const chunks = [];
108
+ for (const [chunkId, weight] of globalWeights) {
109
+ chunks.push({
110
+ chunkId,
111
+ weight,
112
+ depth: globalDepths.get(chunkId) ?? 0,
113
+ });
114
+ }
115
+ chunks.sort((a, b) => b.weight - a.weight);
116
+ return {
117
+ chunks,
118
+ visited: totalVisited,
119
+ };
120
+ }
121
+ /**
122
+ * Get chunks with their content from traversal results.
123
+ */
124
+ export function resolveChunks(traversalResult) {
125
+ const resolved = [];
126
+ for (const wc of traversalResult.chunks) {
127
+ const chunk = getChunkById(wc.chunkId);
128
+ if (chunk) {
129
+ resolved.push({
130
+ chunk,
131
+ weight: wc.weight,
132
+ depth: wc.depth,
133
+ });
134
+ }
135
+ }
136
+ return resolved;
137
+ }
138
+ /**
139
+ * Deduplicate and re-rank weighted chunks.
140
+ * Combines duplicate entries and applies additional scoring.
141
+ */
142
+ export function dedupeAndRank(chunks) {
143
+ const byId = new Map();
144
+ for (const chunk of chunks) {
145
+ const existing = byId.get(chunk.chunkId);
146
+ if (existing) {
147
+ // Combine weights (sum with diminishing returns)
148
+ existing.weight = existing.weight + chunk.weight * 0.5;
149
+ // Keep minimum depth
150
+ existing.depth = Math.min(existing.depth, chunk.depth);
151
+ }
152
+ else {
153
+ byId.set(chunk.chunkId, { ...chunk });
154
+ }
155
+ }
156
+ const deduped = Array.from(byId.values());
157
+ deduped.sort((a, b) => b.weight - a.weight);
158
+ return deduped;
159
+ }
160
+ //# sourceMappingURL=traverser.js.map