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,353 @@
1
+ /**
2
+ * Reference extractor for turn-to-turn reference detection.
3
+ *
4
+ * Parses session data to identify when a user turn references
5
+ * specific earlier assistant turns.
6
+ */
7
+ import { readSessionMessages } from '../../../parser/session-reader.js';
8
+ import { assembleTurns } from '../../../parser/turn-assembler.js';
9
+ /**
10
+ * Extract file paths from text.
11
+ */
12
+ function extractFilePaths(text) {
13
+ // Match common file extensions
14
+ const pathPattern = /(?:^|\s|['"`])([.\/~]?[\w\-./]+\.(ts|tsx|js|jsx|py|json|md|yaml|yml|toml|rs|go|java|c|cpp|h|hpp|css|html|xml|sql|sh|bash|zsh))\b/gi;
15
+ const matches = [];
16
+ let match;
17
+ while ((match = pathPattern.exec(text)) !== null) {
18
+ matches.push(match[1].toLowerCase());
19
+ }
20
+ return [...new Set(matches)];
21
+ }
22
+ /**
23
+ * Extract error message fragments (first 50 chars of error lines).
24
+ */
25
+ function extractErrorFragments(text) {
26
+ const fragments = [];
27
+ // Look for error patterns
28
+ const errorPatterns = [
29
+ /error[:\s]+(.{10,50})/gi,
30
+ /Error[:\s]+(.{10,50})/gi,
31
+ /failed[:\s]+(.{10,50})/gi,
32
+ /exception[:\s]+(.{10,50})/gi,
33
+ /cannot\s+(.{10,40})/gi,
34
+ /unexpected\s+(.{10,40})/gi,
35
+ ];
36
+ for (const pattern of errorPatterns) {
37
+ let match;
38
+ while ((match = pattern.exec(text)) !== null) {
39
+ fragments.push(match[1].toLowerCase().trim());
40
+ }
41
+ }
42
+ return [...new Set(fragments)];
43
+ }
44
+ /**
45
+ * Extract code entities (function names, variable names, class names).
46
+ */
47
+ function extractCodeEntities(text) {
48
+ const entities = [];
49
+ // Function definitions
50
+ const funcPattern = /(?:function|def|fn|func)\s+(\w+)/gi;
51
+ let match;
52
+ while ((match = funcPattern.exec(text)) !== null) {
53
+ entities.push(match[1].toLowerCase());
54
+ }
55
+ // Class definitions
56
+ const classPattern = /(?:class|struct|interface|type)\s+(\w+)/gi;
57
+ while ((match = classPattern.exec(text)) !== null) {
58
+ entities.push(match[1].toLowerCase());
59
+ }
60
+ // Const/let/var declarations
61
+ const varPattern = /(?:const|let|var|val)\s+(\w+)/gi;
62
+ while ((match = varPattern.exec(text)) !== null) {
63
+ entities.push(match[1].toLowerCase());
64
+ }
65
+ // Export declarations
66
+ const exportPattern = /export\s+(?:const|function|class|interface|type)\s+(\w+)/gi;
67
+ while ((match = exportPattern.exec(text)) !== null) {
68
+ entities.push(match[1].toLowerCase());
69
+ }
70
+ return [...new Set(entities)].filter(e => e.length > 2); // Filter out short names
71
+ }
72
+ /**
73
+ * Explicit backreference patterns and their target descriptions.
74
+ */
75
+ const BACKREF_PATTERNS = [
76
+ { pattern: /\bthe\s+error\b/i, description: 'the error' },
77
+ { pattern: /\bthat\s+error\b/i, description: 'that error' },
78
+ { pattern: /\bthis\s+error\b/i, description: 'this error' },
79
+ { pattern: /\bthe\s+bug\b/i, description: 'the bug' },
80
+ { pattern: /\bthat\s+bug\b/i, description: 'that bug' },
81
+ { pattern: /\bthe\s+issue\b/i, description: 'the issue' },
82
+ { pattern: /\bthat\s+issue\b/i, description: 'that issue' },
83
+ { pattern: /\bthe\s+output\b/i, description: 'the output' },
84
+ { pattern: /\bthat\s+output\b/i, description: 'that output' },
85
+ { pattern: /\byour\s+suggestion\b/i, description: 'your suggestion' },
86
+ { pattern: /\bthe\s+fix\b/i, description: 'the fix' },
87
+ { pattern: /\bthat\s+function\b/i, description: 'that function' },
88
+ { pattern: /\bthe\s+function\b/i, description: 'the function' },
89
+ { pattern: /\bthat\s+file\b/i, description: 'that file' },
90
+ { pattern: /\bthe\s+file\b/i, description: 'the file' },
91
+ { pattern: /\byou\s+mentioned\b/i, description: 'you mentioned' },
92
+ { pattern: /\byou\s+showed\b/i, description: 'you showed' },
93
+ { pattern: /\byou\s+said\b/i, description: 'you said' },
94
+ { pattern: /\bas\s+you\s+said\b/i, description: 'as you said' },
95
+ { pattern: /\blike\s+you\s+said\b/i, description: 'like you said' },
96
+ { pattern: /\bearlier\b/i, description: 'earlier' },
97
+ { pattern: /\bpreviously\b/i, description: 'previously' },
98
+ { pattern: /\bbefore\b/i, description: 'before' },
99
+ { pattern: /\babove\b/i, description: 'above' },
100
+ ];
101
+ /**
102
+ * Check for explicit backreferences in text.
103
+ */
104
+ function findBackreferences(text) {
105
+ const found = [];
106
+ for (const { pattern, description } of BACKREF_PATTERNS) {
107
+ if (pattern.test(text)) {
108
+ found.push(description);
109
+ }
110
+ }
111
+ return found;
112
+ }
113
+ /**
114
+ * Extract assistant text content from blocks.
115
+ */
116
+ function getAssistantText(blocks) {
117
+ return blocks
118
+ .filter((b) => b.type === 'text')
119
+ .map(b => b.text)
120
+ .join('\n');
121
+ }
122
+ /**
123
+ * Extract tool results from blocks.
124
+ */
125
+ function getToolResults(blocks) {
126
+ return blocks
127
+ .filter((b) => b.type === 'tool_result')
128
+ .map(b => b.content);
129
+ }
130
+ /**
131
+ * Get all text content from an assistant turn (text + tool results).
132
+ */
133
+ function getAllTurnContent(turn) {
134
+ const text = getAssistantText(turn.assistantBlocks);
135
+ const toolResults = turn.toolExchanges.map(t => t.result).join('\n');
136
+ return `${text}\n${toolResults}`;
137
+ }
138
+ /**
139
+ * Parse timestamp to ms.
140
+ */
141
+ function parseTime(iso) {
142
+ return new Date(iso).getTime();
143
+ }
144
+ /**
145
+ * Find which earlier turns a user turn references.
146
+ */
147
+ function findReferences(queryTurn, queryIndex, previousTurns) {
148
+ const references = [];
149
+ const userText = queryTurn.userText;
150
+ const queryTime = parseTime(queryTurn.startTime);
151
+ // Extract features from user text
152
+ const userFilePaths = extractFilePaths(userText);
153
+ const userBackrefs = findBackreferences(userText);
154
+ const userErrorFrags = extractErrorFragments(userText);
155
+ const userCodeEntities = extractCodeEntities(userText);
156
+ // Check each previous turn for matches
157
+ for (let i = 0; i < previousTurns.length; i++) {
158
+ const prevTurn = previousTurns[i];
159
+ const prevContent = getAllTurnContent(prevTurn);
160
+ const prevTime = parseTime(prevTurn.startTime);
161
+ const timeGapMs = queryTime - prevTime;
162
+ // Extract features from previous turn
163
+ const prevFilePaths = extractFilePaths(prevContent);
164
+ const prevErrorFrags = extractErrorFragments(prevContent);
165
+ const prevCodeEntities = extractCodeEntities(prevContent);
166
+ // Check for file path matches
167
+ for (const userPath of userFilePaths) {
168
+ for (const prevPath of prevFilePaths) {
169
+ if (userPath === prevPath || userPath.endsWith(prevPath) || prevPath.endsWith(userPath)) {
170
+ references.push({
171
+ userTurnIndex: queryIndex,
172
+ referencedTurnIndex: i,
173
+ referenceType: 'file-path',
174
+ confidence: 'high',
175
+ evidence: userPath,
176
+ timeGapMs,
177
+ });
178
+ break; // One reference per type per turn
179
+ }
180
+ }
181
+ }
182
+ // Check for error fragment matches
183
+ for (const userFrag of userErrorFrags) {
184
+ for (const prevFrag of prevErrorFrags) {
185
+ if (userFrag.includes(prevFrag) || prevFrag.includes(userFrag)) {
186
+ references.push({
187
+ userTurnIndex: queryIndex,
188
+ referencedTurnIndex: i,
189
+ referenceType: 'error-fragment',
190
+ confidence: 'high',
191
+ evidence: userFrag,
192
+ timeGapMs,
193
+ });
194
+ break;
195
+ }
196
+ }
197
+ }
198
+ // Check for code entity matches
199
+ for (const userEntity of userCodeEntities) {
200
+ if (prevCodeEntities.includes(userEntity)) {
201
+ references.push({
202
+ userTurnIndex: queryIndex,
203
+ referencedTurnIndex: i,
204
+ referenceType: 'code-entity',
205
+ confidence: 'medium',
206
+ evidence: userEntity,
207
+ timeGapMs,
208
+ });
209
+ break;
210
+ }
211
+ }
212
+ // Check for tool output references (if user mentions tool result content)
213
+ const toolResults = getToolResults(prevTurn.assistantBlocks);
214
+ for (const result of toolResults) {
215
+ // Check if user text contains a significant fragment from the tool result
216
+ const resultLines = result.split('\n').filter(l => l.trim().length > 20);
217
+ for (const line of resultLines.slice(0, 5)) { // Check first 5 significant lines
218
+ const fragment = line.trim().slice(0, 40).toLowerCase();
219
+ if (fragment.length > 20 && userText.toLowerCase().includes(fragment)) {
220
+ references.push({
221
+ userTurnIndex: queryIndex,
222
+ referencedTurnIndex: i,
223
+ referenceType: 'tool-output',
224
+ confidence: 'high',
225
+ evidence: fragment,
226
+ timeGapMs,
227
+ });
228
+ break;
229
+ }
230
+ }
231
+ }
232
+ }
233
+ // Add explicit backreferences (usually to recent turns)
234
+ if (userBackrefs.length > 0 && previousTurns.length > 0) {
235
+ // Backreferences typically refer to the most recent relevant turn
236
+ // For now, assume they refer to the immediately previous turn
237
+ const prevTurn = previousTurns[previousTurns.length - 1];
238
+ const timeGapMs = queryTime - parseTime(prevTurn.startTime);
239
+ references.push({
240
+ userTurnIndex: queryIndex,
241
+ referencedTurnIndex: previousTurns.length - 1,
242
+ referenceType: 'explicit-backref',
243
+ confidence: 'medium',
244
+ evidence: userBackrefs[0],
245
+ timeGapMs,
246
+ });
247
+ }
248
+ // If no references found and there's an immediately previous turn,
249
+ // add a weak "adjacent" reference
250
+ if (references.length === 0 && previousTurns.length > 0) {
251
+ const prevTurn = previousTurns[previousTurns.length - 1];
252
+ const timeGapMs = queryTime - parseTime(prevTurn.startTime);
253
+ // Only add adjacent reference if time gap is small (< 30 min)
254
+ if (timeGapMs < 30 * 60 * 1000) {
255
+ references.push({
256
+ userTurnIndex: queryIndex,
257
+ referencedTurnIndex: previousTurns.length - 1,
258
+ referenceType: 'adjacent',
259
+ confidence: 'low',
260
+ evidence: 'time-adjacent',
261
+ timeGapMs,
262
+ });
263
+ }
264
+ }
265
+ // Deduplicate references (same turn, same type)
266
+ const seen = new Set();
267
+ return references.filter(ref => {
268
+ const key = `${ref.referencedTurnIndex}-${ref.referenceType}`;
269
+ if (seen.has(key))
270
+ return false;
271
+ seen.add(key);
272
+ return true;
273
+ });
274
+ }
275
+ /**
276
+ * Extract all turn-to-turn references from a session.
277
+ */
278
+ export async function extractSessionReferences(sessionPath, sessionId, sessionSlug) {
279
+ const messages = await readSessionMessages(sessionPath);
280
+ const turns = assembleTurns(messages);
281
+ const references = [];
282
+ const unreferencedTurns = [];
283
+ // For each turn (starting from index 1, since turn 0 has no previous context)
284
+ for (let i = 1; i < turns.length; i++) {
285
+ const queryTurn = turns[i];
286
+ const previousTurns = turns.slice(0, i);
287
+ // Skip if user text is empty
288
+ if (!queryTurn.userText.trim()) {
289
+ unreferencedTurns.push(i);
290
+ continue;
291
+ }
292
+ const turnRefs = findReferences(queryTurn, i, previousTurns);
293
+ if (turnRefs.length === 0) {
294
+ unreferencedTurns.push(i);
295
+ }
296
+ else {
297
+ references.push(...turnRefs);
298
+ }
299
+ }
300
+ return {
301
+ sessionId,
302
+ sessionSlug,
303
+ turnCount: turns.length,
304
+ references,
305
+ unreferencedTurns,
306
+ };
307
+ }
308
+ /**
309
+ * Extract references from multiple sessions.
310
+ */
311
+ export async function extractReferences(sessions, verbose = true) {
312
+ const results = [];
313
+ for (const session of sessions) {
314
+ try {
315
+ const refs = await extractSessionReferences(session.path, session.sessionId, session.sessionSlug);
316
+ results.push(refs);
317
+ if (verbose) {
318
+ console.log(` ${session.sessionSlug}: ${refs.turnCount} turns, ${refs.references.length} references`);
319
+ }
320
+ }
321
+ catch (err) {
322
+ if (verbose) {
323
+ console.warn(` Failed to process ${session.path}: ${err}`);
324
+ }
325
+ }
326
+ }
327
+ return results;
328
+ }
329
+ /**
330
+ * Compute reference statistics.
331
+ */
332
+ export function computeReferenceStats(sessions) {
333
+ let totalTurns = 0;
334
+ let totalReferences = 0;
335
+ const byType = {};
336
+ const byConfidence = {};
337
+ for (const session of sessions) {
338
+ totalTurns += session.turnCount;
339
+ totalReferences += session.references.length;
340
+ for (const ref of session.references) {
341
+ byType[ref.referenceType] = (byType[ref.referenceType] ?? 0) + 1;
342
+ byConfidence[ref.confidence] = (byConfidence[ref.confidence] ?? 0) + 1;
343
+ }
344
+ }
345
+ return {
346
+ totalTurns,
347
+ totalReferences,
348
+ byType: byType,
349
+ byConfidence,
350
+ avgRefsPerTurn: totalTurns > 0 ? totalReferences / totalTurns : 0,
351
+ };
352
+ }
353
+ //# sourceMappingURL=reference-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-extractor.js","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/reference-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Types for turn-to-turn reference extraction and relevance decay experiments.
3
+ */
4
+ /**
5
+ * A detected reference from a user turn to a specific earlier assistant turn.
6
+ */
7
+ export interface TurnReference {
8
+ /** ID of the user turn that contains the reference */
9
+ userTurnIndex: number;
10
+ /** ID of the referenced assistant turn */
11
+ referencedTurnIndex: number;
12
+ /** Type of reference detected */
13
+ referenceType: ReferenceType;
14
+ /** Confidence in the reference detection */
15
+ confidence: 'high' | 'medium' | 'low';
16
+ /** Evidence that triggered the detection (e.g., matched file path) */
17
+ evidence: string;
18
+ /** Time gap in ms between the referenced turn and the referencing turn */
19
+ timeGapMs: number;
20
+ }
21
+ /**
22
+ * Types of detectable references.
23
+ */
24
+ export type ReferenceType = 'file-path' | 'error-fragment' | 'code-entity' | 'explicit-backref' | 'tool-output' | 'adjacent' | 'cross-session';
25
+ /**
26
+ * All references extracted from a session.
27
+ */
28
+ export interface SessionReferences {
29
+ sessionId: string;
30
+ sessionSlug: string;
31
+ /** Total number of turns in the session */
32
+ turnCount: number;
33
+ /** All detected references */
34
+ references: TurnReference[];
35
+ /** Turns with no detected references (potential new topics) */
36
+ unreferencedTurns: number[];
37
+ }
38
+ /**
39
+ * A candidate turn for ranking evaluation.
40
+ */
41
+ export interface CandidateTurn {
42
+ turnIndex: number;
43
+ timeGapMs: number;
44
+ /** Decay weight at query time (depends on decay model) */
45
+ decayWeight: number;
46
+ /** Whether this turn is actually referenced by the query turn */
47
+ isRelevant: boolean;
48
+ }
49
+ /**
50
+ * Ranking evaluation for a single query turn.
51
+ */
52
+ export interface QueryEvaluation {
53
+ /** Index of the user turn being evaluated */
54
+ queryTurnIndex: number;
55
+ /** Indices of actually-referenced turns */
56
+ relevantTurns: number[];
57
+ /** All candidate turns with their decay-weighted scores */
58
+ rankedCandidates: CandidateTurn[];
59
+ /** Reciprocal rank of first relevant turn (1/rank) */
60
+ reciprocalRank: number;
61
+ /** Rank of first relevant turn */
62
+ firstRelevantRank: number;
63
+ }
64
+ /**
65
+ * Results of the retrieval ranking experiment for a single decay model.
66
+ */
67
+ export interface RetrievalRankingResult {
68
+ /** Decay model ID */
69
+ modelId: string;
70
+ /** Decay model name */
71
+ modelName: string;
72
+ /** Mean Reciprocal Rank across all queries */
73
+ mrr: number;
74
+ /** Number of queries evaluated */
75
+ queryCount: number;
76
+ /** Number of queries with at least one relevant turn */
77
+ queriesWithRelevant: number;
78
+ /** Distribution of first-relevant ranks */
79
+ rankDistribution: {
80
+ rank1: number;
81
+ rank2_5: number;
82
+ rank6_10: number;
83
+ rank11_plus: number;
84
+ };
85
+ /** Per-query evaluations */
86
+ evaluations: QueryEvaluation[];
87
+ }
88
+ /**
89
+ * Time-offset bin for correlation analysis.
90
+ */
91
+ export interface TimeOffsetBin {
92
+ /** Bin label (e.g., "0-5min", "5-30min") */
93
+ label: string;
94
+ /** Min time offset in ms */
95
+ minMs: number;
96
+ /** Max time offset in ms */
97
+ maxMs: number;
98
+ /** Number of turn pairs in this bin */
99
+ pairCount: number;
100
+ /** Actual reference rate (% of pairs where later turn references earlier) */
101
+ referenceRate: number;
102
+ /** Mean decay weight from each model */
103
+ meanDecayWeights: Record<string, number>;
104
+ }
105
+ /**
106
+ * Results of time-offset correlation experiment.
107
+ */
108
+ export interface TimeOffsetCorrelationResult {
109
+ /** Time bins analyzed */
110
+ bins: TimeOffsetBin[];
111
+ /** Spearman correlation for each model */
112
+ correlations: Record<string, number>;
113
+ }
114
+ /**
115
+ * Complete experiment results.
116
+ */
117
+ export interface EdgeDecayExperimentResults {
118
+ /** Timestamp when experiment was run */
119
+ generatedAt: string;
120
+ /** Number of sessions analyzed */
121
+ sessionCount: number;
122
+ /** Total turns analyzed */
123
+ turnCount: number;
124
+ /** Total references extracted */
125
+ referenceCount: number;
126
+ /** Retrieval ranking results per model */
127
+ retrievalRanking: RetrievalRankingResult[];
128
+ /** Time-offset correlation results */
129
+ timeOffsetCorrelation?: TimeOffsetCorrelationResult;
130
+ }
131
+ //# sourceMappingURL=reference-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-types.d.ts","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/reference-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Types for turn-to-turn reference extraction and relevance decay experiments.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=reference-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-types.js","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/reference-types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Retrieval ranking experiment for edge decay validation.
3
+ *
4
+ * Tests whether decay-weighted ranking of candidate turns
5
+ * correlates with actual turn-to-turn references.
6
+ */
7
+ import type { DecayModelConfig } from './types.js';
8
+ import type { SessionReferences, RetrievalRankingResult, TimeOffsetCorrelationResult } from './reference-types.js';
9
+ /**
10
+ * Options for filtering references to focus on long-range retrieval.
11
+ */
12
+ export interface ReferenceFilterOptions {
13
+ /** Minimum turn distance to include (e.g., 2 = skip immediately previous) */
14
+ minTurnDistance?: number;
15
+ /** Minimum time gap in ms to include (e.g., 5 * MS_PER_MINUTE) */
16
+ minTimeGapMs?: number;
17
+ /** Exclude 'adjacent' reference type (low confidence recency) */
18
+ excludeAdjacent?: boolean;
19
+ /** Only include high confidence references */
20
+ highConfidenceOnly?: boolean;
21
+ }
22
+ /**
23
+ * Filter references to focus on long-range retrieval scenarios.
24
+ * This simulates what the memory system actually needs to retrieve —
25
+ * context that's NOT in Claude's immediate context window.
26
+ */
27
+ export declare function filterLongRangeReferences(sessions: SessionReferences[], options?: ReferenceFilterOptions): SessionReferences[];
28
+ /**
29
+ * Run retrieval ranking experiment for a single decay model.
30
+ */
31
+ export declare function evaluateRetrievalRanking(sessions: SessionReferences[], decayModel: DecayModelConfig): RetrievalRankingResult;
32
+ /**
33
+ * Run retrieval ranking experiment for multiple decay models.
34
+ */
35
+ export declare function compareRetrievalRanking(sessions: SessionReferences[], decayModels: DecayModelConfig[], verbose?: boolean): RetrievalRankingResult[];
36
+ /**
37
+ * Run time-offset correlation experiment.
38
+ */
39
+ export declare function evaluateTimeOffsetCorrelation(sessions: SessionReferences[], decayModels: DecayModelConfig[]): TimeOffsetCorrelationResult;
40
+ /**
41
+ * Format retrieval ranking results as a comparison table.
42
+ */
43
+ export declare function formatRetrievalRankingTable(results: RetrievalRankingResult[]): string;
44
+ /**
45
+ * Format time-offset correlation results.
46
+ */
47
+ export declare function formatTimeOffsetTable(result: TimeOffsetCorrelationResult, decayModels: DecayModelConfig[]): string;
48
+ /**
49
+ * Run forward prediction experiment for a single decay model.
50
+ *
51
+ * For each turn that gets referenced by future turns:
52
+ * - Predict which future turns will reference it (using decay weights)
53
+ * - Measure if actual referencing turns rank highly
54
+ */
55
+ export declare function evaluateForwardPrediction(sessions: SessionReferences[], decayModel: DecayModelConfig): RetrievalRankingResult;
56
+ /**
57
+ * Run forward prediction experiment for multiple decay models.
58
+ */
59
+ export declare function compareForwardPrediction(sessions: SessionReferences[], decayModels: DecayModelConfig[], verbose?: boolean): RetrievalRankingResult[];
60
+ /**
61
+ * Format comparison of backward vs forward results.
62
+ */
63
+ export declare function formatDirectionalComparison(backwardResults: RetrievalRankingResult[], forwardResults: RetrievalRankingResult[]): string;
64
+ //# sourceMappingURL=retrieval-ranking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-ranking.d.ts","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/retrieval-ranking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EACV,iBAAiB,EAIjB,sBAAsB,EAEtB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAI9B;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,sBAA2B,GACnC,iBAAiB,EAAE,CA+BrB;AAuFD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,UAAU,EAAE,gBAAgB,GAC3B,sBAAsB,CA0FxB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,OAAO,GAAE,OAAc,GACtB,sBAAsB,EAAE,CAiB1B;AAoDD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,WAAW,EAAE,gBAAgB,EAAE,GAC9B,2BAA2B,CA8D7B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAyCrF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,2BAA2B,EACnC,WAAW,EAAE,gBAAgB,EAAE,GAC9B,MAAM,CAwCR;AAoGD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,UAAU,EAAE,gBAAgB,GAC3B,sBAAsB,CAuFxB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,OAAO,GAAE,OAAc,GACtB,sBAAsB,EAAE,CAiB1B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,sBAAsB,EAAE,EACzC,cAAc,EAAE,sBAAsB,EAAE,GACvC,MAAM,CAwCR"}