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":"clock-compactor.js","sourceRoot":"","sources":["../../src/temporal/clock-compactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Temporal module exports.
3
+ */
4
+ export * from './vector-clock.js';
5
+ export * from './clock-compactor.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/temporal/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Temporal module exports.
3
+ */
4
+ export * from './vector-clock.js';
5
+ export * from './clock-compactor.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/temporal/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Vector clock implementation for D-T-D memory graph.
3
+ *
4
+ * D-T-D = Data-Transformation-Data: an abstract representation of any
5
+ * processing step as f(input) → output. The "T" can be any transformation:
6
+ * Claude reasoning, human thinking, tool execution, etc.
7
+ *
8
+ * This representation is conducive to graph-based reasoning without getting
9
+ * bogged down in compositional semantics, input/output types, or arities.
10
+ *
11
+ * Vector clocks capture logical causal distance (D-T-D hop count) instead of
12
+ * physical time. This is more meaningful for memory retrieval - especially
13
+ * with parallel thought streams that progress independently.
14
+ *
15
+ * Semantics:
16
+ * - Domain: Per-project (each project has its own clock set)
17
+ * - Entries: Per thought stream (main agent, human, each sub-agent)
18
+ * - Tick: Each D-T-D cycle increments that stream's clock entry
19
+ * - Reference clock: Element-wise max of all stream clocks
20
+ * - Sub-agent spawn: Inherits parent clock
21
+ * - Sub-agent debrief: Merges back via element-wise max
22
+ */
23
+ /**
24
+ * A vector clock maps agent IDs to their tick counts.
25
+ */
26
+ export interface VectorClock {
27
+ [agentId: string]: number;
28
+ }
29
+ /** Main UI agent identifier */
30
+ export declare const MAIN_AGENT_ID = "ui";
31
+ /** Human user agent identifier */
32
+ export declare const HUMAN_AGENT_ID = "human";
33
+ /**
34
+ * Create an empty vector clock.
35
+ */
36
+ export declare function createClock(): VectorClock;
37
+ /**
38
+ * Increment the tick count for a specific agent.
39
+ * Returns a new clock (immutable operation).
40
+ *
41
+ * @param clock - Current vector clock
42
+ * @param agentId - Agent to increment
43
+ * @returns New vector clock with incremented tick
44
+ */
45
+ export declare function tick(clock: VectorClock, agentId: string): VectorClock;
46
+ /**
47
+ * Merge two vector clocks by taking the element-wise maximum.
48
+ * Used when:
49
+ * - Sub-agent inherits parent clock at spawn
50
+ * - Parent merges sub-agent clock at debrief
51
+ * - Computing reference clock from all agent clocks
52
+ *
53
+ * @param a - First vector clock
54
+ * @param b - Second vector clock
55
+ * @returns Merged vector clock with max of each entry
56
+ */
57
+ export declare function merge(a: VectorClock, b: VectorClock): VectorClock;
58
+ /**
59
+ * Calculate the hop count (logical distance) between an edge's clock
60
+ * and the current reference clock.
61
+ *
62
+ * Only entries present in both clocks contribute to the sum:
63
+ * - Agents that didn't exist at edge creation (not in edgeClock) are skipped
64
+ * - Agents that have since terminated (not in refClock) contribute 0
65
+ *
66
+ * This represents how many D-T-D cycles have occurred in the thought streams
67
+ * that were active when the edge was created and still exist now.
68
+ *
69
+ * @param edgeClock - Vector clock stamped on the edge
70
+ * @param refClock - Current reference clock for the project
71
+ * @returns Total hop count (sum of per-agent differences for shared entries)
72
+ */
73
+ export declare function hopCount(edgeClock: VectorClock, refClock: VectorClock): number;
74
+ /**
75
+ * Check if clock A happened before clock B.
76
+ * A happened before B if all entries in A are <= entries in B
77
+ * and at least one entry in A is < the corresponding entry in B.
78
+ *
79
+ * @param a - First vector clock
80
+ * @param b - Second vector clock
81
+ * @returns true if a happened before b
82
+ */
83
+ export declare function happenedBefore(a: VectorClock, b: VectorClock): boolean;
84
+ /**
85
+ * Check if two clocks are concurrent (neither happened before the other, and not equal).
86
+ *
87
+ * @param a - First vector clock
88
+ * @param b - Second vector clock
89
+ * @returns true if clocks are concurrent (not equal and incomparable)
90
+ */
91
+ export declare function areConcurrent(a: VectorClock, b: VectorClock): boolean;
92
+ /**
93
+ * Compare two clocks and return their causal relationship.
94
+ *
95
+ * @param a - First vector clock
96
+ * @param b - Second vector clock
97
+ * @returns 'before' if a < b, 'after' if a > b, 'concurrent' if neither, 'equal' if same
98
+ */
99
+ export declare function compare(a: VectorClock, b: VectorClock): 'before' | 'after' | 'concurrent' | 'equal';
100
+ /**
101
+ * Get the total number of ticks across all agents.
102
+ * Useful for rough ordering when vector clocks are concurrent.
103
+ *
104
+ * @param clock - Vector clock
105
+ * @returns Sum of all tick counts
106
+ */
107
+ export declare function totalTicks(clock: VectorClock): number;
108
+ /**
109
+ * Serialize a vector clock to JSON string for database storage.
110
+ *
111
+ * @param clock - Vector clock to serialize
112
+ * @returns JSON string representation
113
+ */
114
+ export declare function serialize(clock: VectorClock): string;
115
+ /**
116
+ * Deserialize a vector clock from JSON string.
117
+ *
118
+ * @param json - JSON string or null
119
+ * @returns Deserialized vector clock (empty if null or invalid)
120
+ */
121
+ export declare function deserialize(json: string | null | undefined): VectorClock;
122
+ /**
123
+ * Clone a vector clock.
124
+ *
125
+ * @param clock - Clock to clone
126
+ * @returns New clock with same values
127
+ */
128
+ export declare function clone(clock: VectorClock): VectorClock;
129
+ /**
130
+ * Check if a clock is empty (no ticks recorded).
131
+ *
132
+ * @param clock - Vector clock to check
133
+ * @returns true if clock has no entries or all entries are 0
134
+ */
135
+ export declare function isEmpty(clock: VectorClock): boolean;
136
+ /**
137
+ * Get all agent IDs present in a clock.
138
+ *
139
+ * @param clock - Vector clock
140
+ * @returns Array of agent IDs
141
+ */
142
+ export declare function getAgentIds(clock: VectorClock): string[];
143
+ //# sourceMappingURL=vector-clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-clock.d.ts","sourceRoot":"","sources":["../../src/temporal/vector-clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,+BAA+B;AAC/B,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,kCAAkC;AAClC,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAEzC;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAErE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW,CAMjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM,CAO9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAiBtE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAgBrE;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,WAAW,EACd,CAAC,EAAE,WAAW,GACb,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,CAe7C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAmBxE;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAGnD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAExD"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Vector clock implementation for D-T-D memory graph.
3
+ *
4
+ * D-T-D = Data-Transformation-Data: an abstract representation of any
5
+ * processing step as f(input) → output. The "T" can be any transformation:
6
+ * Claude reasoning, human thinking, tool execution, etc.
7
+ *
8
+ * This representation is conducive to graph-based reasoning without getting
9
+ * bogged down in compositional semantics, input/output types, or arities.
10
+ *
11
+ * Vector clocks capture logical causal distance (D-T-D hop count) instead of
12
+ * physical time. This is more meaningful for memory retrieval - especially
13
+ * with parallel thought streams that progress independently.
14
+ *
15
+ * Semantics:
16
+ * - Domain: Per-project (each project has its own clock set)
17
+ * - Entries: Per thought stream (main agent, human, each sub-agent)
18
+ * - Tick: Each D-T-D cycle increments that stream's clock entry
19
+ * - Reference clock: Element-wise max of all stream clocks
20
+ * - Sub-agent spawn: Inherits parent clock
21
+ * - Sub-agent debrief: Merges back via element-wise max
22
+ */
23
+ import { createLogger } from '../utils/logger.js';
24
+ const log = createLogger('vector-clock');
25
+ /** Main UI agent identifier */
26
+ export const MAIN_AGENT_ID = 'ui';
27
+ /** Human user agent identifier */
28
+ export const HUMAN_AGENT_ID = 'human';
29
+ /**
30
+ * Create an empty vector clock.
31
+ */
32
+ export function createClock() {
33
+ return {};
34
+ }
35
+ /**
36
+ * Increment the tick count for a specific agent.
37
+ * Returns a new clock (immutable operation).
38
+ *
39
+ * @param clock - Current vector clock
40
+ * @param agentId - Agent to increment
41
+ * @returns New vector clock with incremented tick
42
+ */
43
+ export function tick(clock, agentId) {
44
+ return { ...clock, [agentId]: (clock[agentId] ?? 0) + 1 };
45
+ }
46
+ /**
47
+ * Merge two vector clocks by taking the element-wise maximum.
48
+ * Used when:
49
+ * - Sub-agent inherits parent clock at spawn
50
+ * - Parent merges sub-agent clock at debrief
51
+ * - Computing reference clock from all agent clocks
52
+ *
53
+ * @param a - First vector clock
54
+ * @param b - Second vector clock
55
+ * @returns Merged vector clock with max of each entry
56
+ */
57
+ export function merge(a, b) {
58
+ const result = { ...a };
59
+ for (const [id, ticks] of Object.entries(b)) {
60
+ result[id] = Math.max(result[id] ?? 0, ticks);
61
+ }
62
+ return result;
63
+ }
64
+ /**
65
+ * Calculate the hop count (logical distance) between an edge's clock
66
+ * and the current reference clock.
67
+ *
68
+ * Only entries present in both clocks contribute to the sum:
69
+ * - Agents that didn't exist at edge creation (not in edgeClock) are skipped
70
+ * - Agents that have since terminated (not in refClock) contribute 0
71
+ *
72
+ * This represents how many D-T-D cycles have occurred in the thought streams
73
+ * that were active when the edge was created and still exist now.
74
+ *
75
+ * @param edgeClock - Vector clock stamped on the edge
76
+ * @param refClock - Current reference clock for the project
77
+ * @returns Total hop count (sum of per-agent differences for shared entries)
78
+ */
79
+ export function hopCount(edgeClock, refClock) {
80
+ let hops = 0;
81
+ for (const agentId of Object.keys(edgeClock)) {
82
+ // refClock[agentId] ?? 0: if agent terminated, contributes 0
83
+ hops += Math.max(0, (refClock[agentId] ?? 0) - edgeClock[agentId]);
84
+ }
85
+ return hops;
86
+ }
87
+ /**
88
+ * Check if clock A happened before clock B.
89
+ * A happened before B if all entries in A are <= entries in B
90
+ * and at least one entry in A is < the corresponding entry in B.
91
+ *
92
+ * @param a - First vector clock
93
+ * @param b - Second vector clock
94
+ * @returns true if a happened before b
95
+ */
96
+ export function happenedBefore(a, b) {
97
+ const allKeys = new Set([...Object.keys(a), ...Object.keys(b)]);
98
+ let hasStrictlyLess = false;
99
+ for (const key of allKeys) {
100
+ const aVal = a[key] ?? 0;
101
+ const bVal = b[key] ?? 0;
102
+ if (aVal > bVal) {
103
+ return false; // a has a larger value, so a did not happen before b
104
+ }
105
+ if (aVal < bVal) {
106
+ hasStrictlyLess = true;
107
+ }
108
+ }
109
+ return hasStrictlyLess;
110
+ }
111
+ /**
112
+ * Check if two clocks are concurrent (neither happened before the other, and not equal).
113
+ *
114
+ * @param a - First vector clock
115
+ * @param b - Second vector clock
116
+ * @returns true if clocks are concurrent (not equal and incomparable)
117
+ */
118
+ export function areConcurrent(a, b) {
119
+ // First check if they're equal
120
+ const allKeys = new Set([...Object.keys(a), ...Object.keys(b)]);
121
+ let hasAnyDifference = false;
122
+ for (const key of allKeys) {
123
+ if ((a[key] ?? 0) !== (b[key] ?? 0)) {
124
+ hasAnyDifference = true;
125
+ break;
126
+ }
127
+ }
128
+ if (!hasAnyDifference) {
129
+ return false; // Equal clocks are not concurrent
130
+ }
131
+ return !happenedBefore(a, b) && !happenedBefore(b, a);
132
+ }
133
+ /**
134
+ * Compare two clocks and return their causal relationship.
135
+ *
136
+ * @param a - First vector clock
137
+ * @param b - Second vector clock
138
+ * @returns 'before' if a < b, 'after' if a > b, 'concurrent' if neither, 'equal' if same
139
+ */
140
+ export function compare(a, b) {
141
+ if (happenedBefore(a, b))
142
+ return 'before';
143
+ if (happenedBefore(b, a))
144
+ return 'after';
145
+ // Check if equal
146
+ const allKeys = new Set([...Object.keys(a), ...Object.keys(b)]);
147
+ let isEqual = true;
148
+ for (const key of allKeys) {
149
+ if ((a[key] ?? 0) !== (b[key] ?? 0)) {
150
+ isEqual = false;
151
+ break;
152
+ }
153
+ }
154
+ return isEqual ? 'equal' : 'concurrent';
155
+ }
156
+ /**
157
+ * Get the total number of ticks across all agents.
158
+ * Useful for rough ordering when vector clocks are concurrent.
159
+ *
160
+ * @param clock - Vector clock
161
+ * @returns Sum of all tick counts
162
+ */
163
+ export function totalTicks(clock) {
164
+ return Object.values(clock).reduce((sum, t) => sum + t, 0);
165
+ }
166
+ /**
167
+ * Serialize a vector clock to JSON string for database storage.
168
+ *
169
+ * @param clock - Vector clock to serialize
170
+ * @returns JSON string representation
171
+ */
172
+ export function serialize(clock) {
173
+ return JSON.stringify(clock);
174
+ }
175
+ /**
176
+ * Deserialize a vector clock from JSON string.
177
+ *
178
+ * @param json - JSON string or null
179
+ * @returns Deserialized vector clock (empty if null or invalid)
180
+ */
181
+ export function deserialize(json) {
182
+ if (!json)
183
+ return {};
184
+ try {
185
+ const parsed = JSON.parse(json);
186
+ // Validate it's an object with number values
187
+ if (typeof parsed === 'object' && parsed !== null) {
188
+ const clock = {};
189
+ for (const [key, value] of Object.entries(parsed)) {
190
+ if (typeof value === 'number' && Number.isFinite(value) && value >= 0) {
191
+ clock[key] = value;
192
+ }
193
+ }
194
+ return clock;
195
+ }
196
+ return {};
197
+ }
198
+ catch (err) {
199
+ log.warn(`Failed to deserialize clock: ${json}`, { error: err instanceof Error ? err.message : String(err) });
200
+ return {};
201
+ }
202
+ }
203
+ /**
204
+ * Clone a vector clock.
205
+ *
206
+ * @param clock - Clock to clone
207
+ * @returns New clock with same values
208
+ */
209
+ export function clone(clock) {
210
+ return { ...clock };
211
+ }
212
+ /**
213
+ * Check if a clock is empty (no ticks recorded).
214
+ *
215
+ * @param clock - Vector clock to check
216
+ * @returns true if clock has no entries or all entries are 0
217
+ */
218
+ export function isEmpty(clock) {
219
+ const values = Object.values(clock);
220
+ return values.length === 0 || values.every((v) => v === 0);
221
+ }
222
+ /**
223
+ * Get all agent IDs present in a clock.
224
+ *
225
+ * @param clock - Vector clock
226
+ * @returns Array of agent IDs
227
+ */
228
+ export function getAgentIds(clock) {
229
+ return Object.keys(clock).filter((id) => clock[id] > 0);
230
+ }
231
+ //# sourceMappingURL=vector-clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-clock.js","sourceRoot":"","sources":["../../src/temporal/vector-clock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Angular distance utilities for embedding comparison.
3
+ *
4
+ * Angular distance = arccos(cosine_similarity) / pi
5
+ * Yields [0, 1] where 0 = identical, 1 = opposite.
6
+ * This is a proper metric (satisfies triangle inequality)
7
+ * and works well with HDBSCAN.
8
+ */
9
+ /**
10
+ * Compute the dot product of two vectors.
11
+ */
12
+ export declare function dot(a: number[], b: number[]): number;
13
+ /**
14
+ * Compute the L2 norm of a vector.
15
+ */
16
+ export declare function norm(a: number[]): number;
17
+ /**
18
+ * Cosine similarity between two vectors. Returns [-1, 1].
19
+ */
20
+ export declare function cosineSimilarity(a: number[], b: number[]): number;
21
+ /**
22
+ * Angular distance between two vectors. Returns [0, 1].
23
+ * 0 = identical direction, 1 = opposite direction.
24
+ */
25
+ export declare function angularDistance(a: number[], b: number[]): number;
26
+ /**
27
+ * Compute pairwise angular distance matrix.
28
+ * Returns a flat number[][] suitable for HDBSCAN.
29
+ */
30
+ export declare function distanceMatrix(embeddings: number[][]): number[][];
31
+ //# sourceMappingURL=angular-distance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-distance.d.ts","sourceRoot":"","sources":["../../src/utils/angular-distance.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAOjE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAGhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAejE"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Angular distance utilities for embedding comparison.
3
+ *
4
+ * Angular distance = arccos(cosine_similarity) / pi
5
+ * Yields [0, 1] where 0 = identical, 1 = opposite.
6
+ * This is a proper metric (satisfies triangle inequality)
7
+ * and works well with HDBSCAN.
8
+ */
9
+ /**
10
+ * Compute the dot product of two vectors.
11
+ */
12
+ export function dot(a, b) {
13
+ let sum = 0;
14
+ for (let i = 0; i < a.length; i++) {
15
+ sum += a[i] * b[i];
16
+ }
17
+ return sum;
18
+ }
19
+ /**
20
+ * Compute the L2 norm of a vector.
21
+ */
22
+ export function norm(a) {
23
+ return Math.sqrt(dot(a, a));
24
+ }
25
+ /**
26
+ * Cosine similarity between two vectors. Returns [-1, 1].
27
+ */
28
+ export function cosineSimilarity(a, b) {
29
+ const d = dot(a, b);
30
+ const na = norm(a);
31
+ const nb = norm(b);
32
+ if (na === 0 || nb === 0)
33
+ return 0;
34
+ // Clamp to [-1, 1] to handle floating point errors
35
+ return Math.max(-1, Math.min(1, d / (na * nb)));
36
+ }
37
+ /**
38
+ * Angular distance between two vectors. Returns [0, 1].
39
+ * 0 = identical direction, 1 = opposite direction.
40
+ */
41
+ export function angularDistance(a, b) {
42
+ const cos = cosineSimilarity(a, b);
43
+ return Math.acos(cos) / Math.PI;
44
+ }
45
+ /**
46
+ * Compute pairwise angular distance matrix.
47
+ * Returns a flat number[][] suitable for HDBSCAN.
48
+ */
49
+ export function distanceMatrix(embeddings) {
50
+ const n = embeddings.length;
51
+ const matrix = Array.from({ length: n }, () => new Array(n).fill(0));
52
+ for (let i = 0; i < n; i++) {
53
+ for (let j = i + 1; j < n; j++) {
54
+ const d = angularDistance(embeddings[i], embeddings[j]);
55
+ matrix[i][j] = d;
56
+ matrix[j][i] = d;
57
+ }
58
+ }
59
+ return matrix;
60
+ }
61
+ //# sourceMappingURL=angular-distance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-distance.js","sourceRoot":"","sources":["../../src/utils/angular-distance.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,CAAW,EAAE,CAAW;IAC1C,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,CAAW;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACvD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,mDAAmD;IACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,CAAW,EAAE,CAAW;IACtD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,UAAsB;IACnD,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IAC5B,MAAM,MAAM,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CACxD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Shared array utility functions.
3
+ * Quickselect algorithm for finding k-th smallest element.
4
+ */
5
+ /**
6
+ * Quickselect algorithm to find k-th smallest element.
7
+ * Average O(n), worst case O(n^2).
8
+ *
9
+ * Makes a copy of the array to avoid modifying the original.
10
+ *
11
+ * @param arr - Input array
12
+ * @param k - Zero-based index of the desired element
13
+ * @returns The k-th smallest element
14
+ */
15
+ export declare function quickselect(arr: number[], k: number): number;
16
+ /**
17
+ * In-place quickselect using median-of-three pivot selection.
18
+ */
19
+ export declare function quickselectInPlace(arr: number[], left: number, right: number, k: number): number;
20
+ /**
21
+ * Partition array around pivot value.
22
+ */
23
+ export declare function partition(arr: number[], left: number, right: number, pivotIndex: number): number;
24
+ /**
25
+ * Swap two elements in an array.
26
+ */
27
+ export declare function swap(arr: number[], i: number, j: number): void;
28
+ //# sourceMappingURL=array-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-utils.d.ts","sourceRoot":"","sources":["../../src/utils/array-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAahG;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAchG;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAI9D"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Shared array utility functions.
3
+ * Quickselect algorithm for finding k-th smallest element.
4
+ */
5
+ /**
6
+ * Quickselect algorithm to find k-th smallest element.
7
+ * Average O(n), worst case O(n^2).
8
+ *
9
+ * Makes a copy of the array to avoid modifying the original.
10
+ *
11
+ * @param arr - Input array
12
+ * @param k - Zero-based index of the desired element
13
+ * @returns The k-th smallest element
14
+ */
15
+ export function quickselect(arr, k) {
16
+ if (arr.length === 0)
17
+ return 0;
18
+ if (k >= arr.length)
19
+ k = arr.length - 1;
20
+ const copy = arr.slice();
21
+ return quickselectInPlace(copy, 0, copy.length - 1, k);
22
+ }
23
+ /**
24
+ * In-place quickselect using median-of-three pivot selection.
25
+ */
26
+ export function quickselectInPlace(arr, left, right, k) {
27
+ if (left === right)
28
+ return arr[left];
29
+ const mid = Math.floor((left + right) / 2);
30
+ if (arr[mid] < arr[left])
31
+ swap(arr, left, mid);
32
+ if (arr[right] < arr[left])
33
+ swap(arr, left, right);
34
+ if (arr[right] < arr[mid])
35
+ swap(arr, mid, right);
36
+ const pivotIndex = partition(arr, left, right, mid);
37
+ if (k === pivotIndex)
38
+ return arr[k];
39
+ if (k < pivotIndex)
40
+ return quickselectInPlace(arr, left, pivotIndex - 1, k);
41
+ return quickselectInPlace(arr, pivotIndex + 1, right, k);
42
+ }
43
+ /**
44
+ * Partition array around pivot value.
45
+ */
46
+ export function partition(arr, left, right, pivotIndex) {
47
+ const pivotValue = arr[pivotIndex];
48
+ swap(arr, pivotIndex, right);
49
+ let storeIndex = left;
50
+ for (let i = left; i < right; i++) {
51
+ if (arr[i] < pivotValue) {
52
+ swap(arr, i, storeIndex);
53
+ storeIndex++;
54
+ }
55
+ }
56
+ swap(arr, storeIndex, right);
57
+ return storeIndex;
58
+ }
59
+ /**
60
+ * Swap two elements in an array.
61
+ */
62
+ export function swap(arr, i, j) {
63
+ const temp = arr[i];
64
+ arr[i] = arr[j];
65
+ arr[j] = temp;
66
+ }
67
+ //# sourceMappingURL=array-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-utils.js","sourceRoot":"","sources":["../../src/utils/array-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,GAAa,EAAE,CAAS;IAClD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM;QAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IACzB,OAAO,kBAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAa,EAAE,IAAY,EAAE,KAAa,EAAE,CAAS;IACtF,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEpD,IAAI,CAAC,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,UAAU;QAAE,OAAO,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAa,EAAE,IAAY,EAAE,KAAa,EAAE,UAAkB;IACtF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7B,IAAI,UAAU,GAAG,IAAI,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;YACzB,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,GAAa,EAAE,CAAS,EAAE,CAAS;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Shared embedding serialization utilities.
3
+ * Used by vector-store and embedding-cache for SQLite BLOB storage.
4
+ */
5
+ /**
6
+ * Serialize an embedding to a Buffer for SQLite storage.
7
+ *
8
+ * Uses Float32Array for efficient storage (4 bytes per dimension).
9
+ * A 1024-dimension embedding uses 4KB of storage.
10
+ *
11
+ * @param embedding - Array of floating point values
12
+ * @returns Buffer containing Float32Array binary representation
13
+ */
14
+ export declare function serializeEmbedding(embedding: number[]): Buffer;
15
+ /**
16
+ * Deserialize an embedding from a SQLite Buffer.
17
+ *
18
+ * Reconstructs the Float32Array from the raw buffer bytes,
19
+ * handling byte offset alignment properly.
20
+ *
21
+ * @param buffer - Buffer from SQLite BLOB column
22
+ * @returns Array of floating point values
23
+ */
24
+ export declare function deserializeEmbedding(buffer: Buffer): number[];
25
+ //# sourceMappingURL=embedding-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-utils.d.ts","sourceRoot":"","sources":["../../src/utils/embedding-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAE9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAO7D"}