causantic 0.2.0 → 0.3.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 (465) hide show
  1. package/README.md +53 -66
  2. package/config.schema.json +12 -87
  3. package/dist/cli/commands/archive.d.ts.map +1 -1
  4. package/dist/cli/commands/archive.js.map +1 -1
  5. package/dist/cli/commands/benchmark-collection.d.ts.map +1 -1
  6. package/dist/cli/commands/benchmark-collection.js.map +1 -1
  7. package/dist/cli/commands/encryption.d.ts.map +1 -1
  8. package/dist/cli/commands/encryption.js.map +1 -1
  9. package/dist/cli/commands/hook.d.ts.map +1 -1
  10. package/dist/cli/commands/hook.js +8 -2
  11. package/dist/cli/commands/hook.js.map +1 -1
  12. package/dist/cli/commands/init.d.ts.map +1 -1
  13. package/dist/cli/commands/init.js +39 -32
  14. package/dist/cli/commands/init.js.map +1 -1
  15. package/dist/cli/commands/maintenance.d.ts.map +1 -1
  16. package/dist/cli/commands/maintenance.js +10 -3
  17. package/dist/cli/commands/maintenance.js.map +1 -1
  18. package/dist/cli/commands/serve.d.ts.map +1 -1
  19. package/dist/cli/commands/serve.js +3 -3
  20. package/dist/cli/commands/serve.js.map +1 -1
  21. package/dist/cli/index.js +1 -1
  22. package/dist/cli/skill-templates.d.ts.map +1 -1
  23. package/dist/cli/skill-templates.js +223 -153
  24. package/dist/cli/skill-templates.js.map +1 -1
  25. package/dist/cli/uninstall.d.ts.map +1 -1
  26. package/dist/cli/uninstall.js +4 -1
  27. package/dist/cli/uninstall.js.map +1 -1
  28. package/dist/clusters/cluster-manager.d.ts +23 -0
  29. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  30. package/dist/clusters/cluster-manager.js +69 -2
  31. package/dist/clusters/cluster-manager.js.map +1 -1
  32. package/dist/clusters/cluster-refresh.d.ts.map +1 -1
  33. package/dist/clusters/cluster-refresh.js +5 -1
  34. package/dist/clusters/cluster-refresh.js.map +1 -1
  35. package/dist/clusters/hdbscan/cluster-extraction.d.ts.map +1 -1
  36. package/dist/clusters/hdbscan/cluster-extraction.js +1 -2
  37. package/dist/clusters/hdbscan/cluster-extraction.js.map +1 -1
  38. package/dist/clusters/hdbscan/hierarchy.d.ts.map +1 -1
  39. package/dist/clusters/hdbscan/hierarchy.js +1 -3
  40. package/dist/clusters/hdbscan/hierarchy.js.map +1 -1
  41. package/dist/clusters/hdbscan/incremental.d.ts.map +1 -1
  42. package/dist/clusters/hdbscan/incremental.js.map +1 -1
  43. package/dist/clusters/hdbscan/probabilities.d.ts +1 -1
  44. package/dist/clusters/hdbscan/probabilities.d.ts.map +1 -1
  45. package/dist/clusters/hdbscan/probabilities.js +1 -1
  46. package/dist/clusters/hdbscan/probabilities.js.map +1 -1
  47. package/dist/clusters/hdbscan.d.ts.map +1 -1
  48. package/dist/clusters/hdbscan.js +3 -5
  49. package/dist/clusters/hdbscan.js.map +1 -1
  50. package/dist/config/loader.d.ts +10 -15
  51. package/dist/config/loader.d.ts.map +1 -1
  52. package/dist/config/loader.js +40 -71
  53. package/dist/config/loader.js.map +1 -1
  54. package/dist/config/memory-config.d.ts +2 -45
  55. package/dist/config/memory-config.d.ts.map +1 -1
  56. package/dist/config/memory-config.js +6 -109
  57. package/dist/config/memory-config.js.map +1 -1
  58. package/dist/core/index.d.ts +1 -1
  59. package/dist/core/index.d.ts.map +1 -1
  60. package/dist/core/lexical-features.d.ts.map +1 -1
  61. package/dist/core/lexical-features.js +141 -20
  62. package/dist/core/lexical-features.js.map +1 -1
  63. package/dist/dashboard/client/assets/index-DdImwNQ0.css +1 -0
  64. package/dist/dashboard/client/assets/index-Ofx8zngH.js +166 -0
  65. package/dist/dashboard/client/index.html +2 -2
  66. package/dist/dashboard/routes/benchmark-collection.d.ts.map +1 -1
  67. package/dist/dashboard/routes/benchmark-collection.js +2 -6
  68. package/dist/dashboard/routes/benchmark-collection.js.map +1 -1
  69. package/dist/dashboard/routes/chain.d.ts +3 -0
  70. package/dist/dashboard/routes/chain.d.ts.map +1 -0
  71. package/dist/dashboard/routes/chain.js +74 -0
  72. package/dist/dashboard/routes/chain.js.map +1 -0
  73. package/dist/dashboard/routes/chunks.d.ts.map +1 -1
  74. package/dist/dashboard/routes/chunks.js +16 -1
  75. package/dist/dashboard/routes/chunks.js.map +1 -1
  76. package/dist/dashboard/routes/graph.d.ts.map +1 -1
  77. package/dist/dashboard/routes/graph.js.map +1 -1
  78. package/dist/dashboard/routes/search.d.ts.map +1 -1
  79. package/dist/dashboard/routes/search.js.map +1 -1
  80. package/dist/dashboard/routes/stats.d.ts.map +1 -1
  81. package/dist/dashboard/routes/stats.js +8 -6
  82. package/dist/dashboard/routes/stats.js.map +1 -1
  83. package/dist/dashboard/routes/timeline.d.ts +3 -0
  84. package/dist/dashboard/routes/timeline.d.ts.map +1 -0
  85. package/dist/dashboard/routes/timeline.js +90 -0
  86. package/dist/dashboard/routes/timeline.js.map +1 -0
  87. package/dist/dashboard/server.d.ts.map +1 -1
  88. package/dist/dashboard/server.js +4 -0
  89. package/dist/dashboard/server.js.map +1 -1
  90. package/dist/eval/annotation-schema.d.ts.map +1 -1
  91. package/dist/eval/annotation-schema.js +2 -5
  92. package/dist/eval/annotation-schema.js.map +1 -1
  93. package/dist/eval/benchmark-runner.d.ts.map +1 -1
  94. package/dist/eval/benchmark-runner.js +2 -2
  95. package/dist/eval/benchmark-runner.js.map +1 -1
  96. package/dist/eval/cluster-evaluator.d.ts.map +1 -1
  97. package/dist/eval/cluster-evaluator.js.map +1 -1
  98. package/dist/eval/collection-benchmark/chain-quality.d.ts +15 -0
  99. package/dist/eval/collection-benchmark/chain-quality.d.ts.map +1 -0
  100. package/dist/eval/collection-benchmark/chain-quality.js +60 -0
  101. package/dist/eval/collection-benchmark/chain-quality.js.map +1 -0
  102. package/dist/eval/collection-benchmark/health.d.ts.map +1 -1
  103. package/dist/eval/collection-benchmark/health.js +2 -2
  104. package/dist/eval/collection-benchmark/health.js.map +1 -1
  105. package/dist/eval/collection-benchmark/history.d.ts.map +1 -1
  106. package/dist/eval/collection-benchmark/history.js +14 -11
  107. package/dist/eval/collection-benchmark/history.js.map +1 -1
  108. package/dist/eval/collection-benchmark/latency.d.ts.map +1 -1
  109. package/dist/eval/collection-benchmark/latency.js +14 -11
  110. package/dist/eval/collection-benchmark/latency.js.map +1 -1
  111. package/dist/eval/collection-benchmark/reporter.d.ts.map +1 -1
  112. package/dist/eval/collection-benchmark/reporter.js +18 -28
  113. package/dist/eval/collection-benchmark/reporter.js.map +1 -1
  114. package/dist/eval/collection-benchmark/retrieval.d.ts.map +1 -1
  115. package/dist/eval/collection-benchmark/retrieval.js +14 -8
  116. package/dist/eval/collection-benchmark/retrieval.js.map +1 -1
  117. package/dist/eval/collection-benchmark/runner.d.ts +3 -3
  118. package/dist/eval/collection-benchmark/runner.d.ts.map +1 -1
  119. package/dist/eval/collection-benchmark/runner.js +46 -37
  120. package/dist/eval/collection-benchmark/runner.js.map +1 -1
  121. package/dist/eval/collection-benchmark/sampler.d.ts.map +1 -1
  122. package/dist/eval/collection-benchmark/sampler.js +14 -12
  123. package/dist/eval/collection-benchmark/sampler.js.map +1 -1
  124. package/dist/eval/collection-benchmark/tuning.d.ts.map +1 -1
  125. package/dist/eval/collection-benchmark/tuning.js +56 -71
  126. package/dist/eval/collection-benchmark/tuning.js.map +1 -1
  127. package/dist/eval/collection-benchmark/types.d.ts +12 -24
  128. package/dist/eval/collection-benchmark/types.d.ts.map +1 -1
  129. package/dist/eval/corpus-builder.d.ts.map +1 -1
  130. package/dist/eval/corpus-builder.js.map +1 -1
  131. package/dist/eval/experiments/boilerplate-filter.d.ts.map +1 -1
  132. package/dist/eval/experiments/boilerplate-filter.js.map +1 -1
  133. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts.map +1 -1
  134. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js +3 -5
  135. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js.map +1 -1
  136. package/dist/eval/experiments/code-focused-mode.d.ts.map +1 -1
  137. package/dist/eval/experiments/code-focused-mode.js +1 -1
  138. package/dist/eval/experiments/code-focused-mode.js.map +1 -1
  139. package/dist/eval/experiments/edge-decay/decay-curves.d.ts +25 -19
  140. package/dist/eval/experiments/edge-decay/decay-curves.d.ts.map +1 -1
  141. package/dist/eval/experiments/edge-decay/decay-curves.js +47 -40
  142. package/dist/eval/experiments/edge-decay/decay-curves.js.map +1 -1
  143. package/dist/eval/experiments/edge-decay/index.d.ts +6 -4
  144. package/dist/eval/experiments/edge-decay/index.d.ts.map +1 -1
  145. package/dist/eval/experiments/edge-decay/index.js +5 -3
  146. package/dist/eval/experiments/edge-decay/index.js.map +1 -1
  147. package/dist/eval/experiments/edge-decay/presets.d.ts +14 -4
  148. package/dist/eval/experiments/edge-decay/presets.d.ts.map +1 -1
  149. package/dist/eval/experiments/edge-decay/presets.js +73 -68
  150. package/dist/eval/experiments/edge-decay/presets.js.map +1 -1
  151. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts +2 -1
  152. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts.map +1 -1
  153. package/dist/eval/experiments/edge-decay/reference-extractor.js +26 -40
  154. package/dist/eval/experiments/edge-decay/reference-extractor.js.map +1 -1
  155. package/dist/eval/experiments/edge-decay/reference-types.d.ts +24 -17
  156. package/dist/eval/experiments/edge-decay/reference-types.d.ts.map +1 -1
  157. package/dist/eval/experiments/edge-decay/reference-types.js +3 -0
  158. package/dist/eval/experiments/edge-decay/reference-types.js.map +1 -1
  159. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts +8 -8
  160. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts.map +1 -1
  161. package/dist/eval/experiments/edge-decay/retrieval-ranking.js +77 -133
  162. package/dist/eval/experiments/edge-decay/retrieval-ranking.js.map +1 -1
  163. package/dist/eval/experiments/edge-decay/run-experiments.d.ts +7 -3
  164. package/dist/eval/experiments/edge-decay/run-experiments.d.ts.map +1 -1
  165. package/dist/eval/experiments/edge-decay/run-experiments.js +71 -52
  166. package/dist/eval/experiments/edge-decay/run-experiments.js.map +1 -1
  167. package/dist/eval/experiments/edge-decay/simulate.d.ts +1 -1
  168. package/dist/eval/experiments/edge-decay/simulate.d.ts.map +1 -1
  169. package/dist/eval/experiments/edge-decay/simulate.js +7 -19
  170. package/dist/eval/experiments/edge-decay/simulate.js.map +1 -1
  171. package/dist/eval/experiments/hdbscan-sweep.d.ts.map +1 -1
  172. package/dist/eval/experiments/hdbscan-sweep.js +2 -6
  173. package/dist/eval/experiments/hdbscan-sweep.js.map +1 -1
  174. package/dist/eval/experiments/single-model-run.d.ts.map +1 -1
  175. package/dist/eval/experiments/single-model-run.js +2 -2
  176. package/dist/eval/experiments/single-model-run.js.map +1 -1
  177. package/dist/eval/experiments/thinking-ablation.d.ts.map +1 -1
  178. package/dist/eval/experiments/thinking-ablation.js +1 -1
  179. package/dist/eval/experiments/thinking-ablation.js.map +1 -1
  180. package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts.map +1 -1
  181. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js +54 -6
  182. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js.map +1 -1
  183. package/dist/eval/experiments/topic-continuity/labeler.d.ts.map +1 -1
  184. package/dist/eval/experiments/topic-continuity/labeler.js +1 -4
  185. package/dist/eval/experiments/topic-continuity/labeler.js.map +1 -1
  186. package/dist/eval/experiments/topic-continuity/run-experiment.d.ts.map +1 -1
  187. package/dist/eval/experiments/topic-continuity/run-experiment.js +5 -13
  188. package/dist/eval/experiments/topic-continuity/run-experiment.js.map +1 -1
  189. package/dist/eval/experiments/truncation.d.ts.map +1 -1
  190. package/dist/eval/experiments/truncation.js.map +1 -1
  191. package/dist/eval/experiments/types.d.ts.map +1 -1
  192. package/dist/eval/experiments/types.js.map +1 -1
  193. package/dist/eval/metrics.d.ts.map +1 -1
  194. package/dist/eval/metrics.js.map +1 -1
  195. package/dist/hooks/claudemd-generator.d.ts.map +1 -1
  196. package/dist/hooks/claudemd-generator.js +3 -4
  197. package/dist/hooks/claudemd-generator.js.map +1 -1
  198. package/dist/hooks/hook-utils.d.ts +16 -0
  199. package/dist/hooks/hook-utils.d.ts.map +1 -1
  200. package/dist/hooks/hook-utils.js +51 -2
  201. package/dist/hooks/hook-utils.js.map +1 -1
  202. package/dist/hooks/index.d.ts +4 -2
  203. package/dist/hooks/index.d.ts.map +1 -1
  204. package/dist/hooks/index.js +3 -1
  205. package/dist/hooks/index.js.map +1 -1
  206. package/dist/hooks/pre-compact.d.ts.map +1 -1
  207. package/dist/hooks/pre-compact.js +6 -51
  208. package/dist/hooks/pre-compact.js.map +1 -1
  209. package/dist/hooks/session-end.d.ts +58 -0
  210. package/dist/hooks/session-end.d.ts.map +1 -0
  211. package/dist/hooks/session-end.js +82 -0
  212. package/dist/hooks/session-end.js.map +1 -0
  213. package/dist/hooks/session-start.d.ts.map +1 -1
  214. package/dist/hooks/session-start.js +3 -5
  215. package/dist/hooks/session-start.js.map +1 -1
  216. package/dist/index.d.ts +1 -2
  217. package/dist/index.d.ts.map +1 -1
  218. package/dist/index.js +1 -3
  219. package/dist/index.js.map +1 -1
  220. package/dist/ingest/batch-ingest.d.ts.map +1 -1
  221. package/dist/ingest/batch-ingest.js.map +1 -1
  222. package/dist/ingest/brief-debrief-detector.d.ts +6 -13
  223. package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
  224. package/dist/ingest/brief-debrief-detector.js +9 -16
  225. package/dist/ingest/brief-debrief-detector.js.map +1 -1
  226. package/dist/ingest/cross-session-linker.d.ts +2 -1
  227. package/dist/ingest/cross-session-linker.d.ts.map +1 -1
  228. package/dist/ingest/cross-session-linker.js +17 -7
  229. package/dist/ingest/cross-session-linker.js.map +1 -1
  230. package/dist/ingest/edge-creator.d.ts +14 -40
  231. package/dist/ingest/edge-creator.d.ts.map +1 -1
  232. package/dist/ingest/edge-creator.js +34 -132
  233. package/dist/ingest/edge-creator.js.map +1 -1
  234. package/dist/ingest/edge-detector.d.ts +27 -12
  235. package/dist/ingest/edge-detector.d.ts.map +1 -1
  236. package/dist/ingest/edge-detector.js +68 -200
  237. package/dist/ingest/edge-detector.js.map +1 -1
  238. package/dist/ingest/index.d.ts +3 -3
  239. package/dist/ingest/index.d.ts.map +1 -1
  240. package/dist/ingest/index.js +3 -3
  241. package/dist/ingest/index.js.map +1 -1
  242. package/dist/ingest/ingest-session.d.ts +1 -8
  243. package/dist/ingest/ingest-session.d.ts.map +1 -1
  244. package/dist/ingest/ingest-session.js +54 -107
  245. package/dist/ingest/ingest-session.js.map +1 -1
  246. package/dist/ingest/rebuild-edges.d.ts +17 -0
  247. package/dist/ingest/rebuild-edges.d.ts.map +1 -0
  248. package/dist/ingest/rebuild-edges.js +97 -0
  249. package/dist/ingest/rebuild-edges.js.map +1 -0
  250. package/dist/maintenance/scheduler.d.ts +2 -3
  251. package/dist/maintenance/scheduler.d.ts.map +1 -1
  252. package/dist/maintenance/scheduler.js +14 -23
  253. package/dist/maintenance/scheduler.js.map +1 -1
  254. package/dist/maintenance/tasks/cleanup-vectors.d.ts +3 -1
  255. package/dist/maintenance/tasks/cleanup-vectors.d.ts.map +1 -1
  256. package/dist/maintenance/tasks/cleanup-vectors.js +6 -4
  257. package/dist/maintenance/tasks/cleanup-vectors.js.map +1 -1
  258. package/dist/maintenance/tasks/index.d.ts +0 -1
  259. package/dist/maintenance/tasks/index.d.ts.map +1 -1
  260. package/dist/maintenance/tasks/index.js +0 -1
  261. package/dist/maintenance/tasks/index.js.map +1 -1
  262. package/dist/mcp/index.d.ts +1 -1
  263. package/dist/mcp/index.d.ts.map +1 -1
  264. package/dist/mcp/index.js +1 -1
  265. package/dist/mcp/index.js.map +1 -1
  266. package/dist/mcp/server.d.ts.map +1 -1
  267. package/dist/mcp/server.js +9 -8
  268. package/dist/mcp/server.js.map +1 -1
  269. package/dist/mcp/tools.d.ts +5 -5
  270. package/dist/mcp/tools.d.ts.map +1 -1
  271. package/dist/mcp/tools.js +42 -36
  272. package/dist/mcp/tools.js.map +1 -1
  273. package/dist/models/device-detector.d.ts.map +1 -1
  274. package/dist/models/device-detector.js +20 -10
  275. package/dist/models/device-detector.js.map +1 -1
  276. package/dist/models/embedder.d.ts.map +1 -1
  277. package/dist/models/embedder.js +5 -2
  278. package/dist/models/embedder.js.map +1 -1
  279. package/dist/models/model-registry.d.ts.map +1 -1
  280. package/dist/models/model-registry.js.map +1 -1
  281. package/dist/parser/chunker.d.ts +5 -40
  282. package/dist/parser/chunker.d.ts.map +1 -1
  283. package/dist/parser/chunker.js +5 -111
  284. package/dist/parser/chunker.js.map +1 -1
  285. package/dist/parser/session-reader.d.ts.map +1 -1
  286. package/dist/parser/session-reader.js +3 -6
  287. package/dist/parser/session-reader.js.map +1 -1
  288. package/dist/parser/turn-assembler.d.ts.map +1 -1
  289. package/dist/parser/turn-assembler.js +0 -1
  290. package/dist/parser/turn-assembler.js.map +1 -1
  291. package/dist/parser/types.d.ts.map +1 -1
  292. package/dist/report/reporter.d.ts.map +1 -1
  293. package/dist/report/reporter.js +1 -3
  294. package/dist/report/reporter.js.map +1 -1
  295. package/dist/retrieval/chain-assembler.d.ts +58 -0
  296. package/dist/retrieval/chain-assembler.d.ts.map +1 -0
  297. package/dist/retrieval/chain-assembler.js +126 -0
  298. package/dist/retrieval/chain-assembler.js.map +1 -0
  299. package/dist/retrieval/chain-walker.d.ts +57 -0
  300. package/dist/retrieval/chain-walker.d.ts.map +1 -0
  301. package/dist/retrieval/chain-walker.js +121 -0
  302. package/dist/retrieval/chain-walker.js.map +1 -0
  303. package/dist/retrieval/cluster-expander.d.ts.map +1 -1
  304. package/dist/retrieval/cluster-expander.js +3 -3
  305. package/dist/retrieval/cluster-expander.js.map +1 -1
  306. package/dist/retrieval/context-assembler.d.ts +13 -36
  307. package/dist/retrieval/context-assembler.d.ts.map +1 -1
  308. package/dist/retrieval/context-assembler.js +50 -287
  309. package/dist/retrieval/context-assembler.js.map +1 -1
  310. package/dist/retrieval/index.d.ts +8 -4
  311. package/dist/retrieval/index.d.ts.map +1 -1
  312. package/dist/retrieval/index.js +7 -3
  313. package/dist/retrieval/index.js.map +1 -1
  314. package/dist/retrieval/rrf.d.ts.map +1 -1
  315. package/dist/retrieval/rrf.js +4 -2
  316. package/dist/retrieval/rrf.js.map +1 -1
  317. package/dist/retrieval/search-assembler.d.ts +59 -0
  318. package/dist/retrieval/search-assembler.d.ts.map +1 -0
  319. package/dist/retrieval/search-assembler.js +209 -0
  320. package/dist/retrieval/search-assembler.js.map +1 -0
  321. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  322. package/dist/retrieval/session-reconstructor.js +9 -7
  323. package/dist/retrieval/session-reconstructor.js.map +1 -1
  324. package/dist/storage/archive.d.ts +0 -2
  325. package/dist/storage/archive.d.ts.map +1 -1
  326. package/dist/storage/archive.js +18 -12
  327. package/dist/storage/archive.js.map +1 -1
  328. package/dist/storage/checkpoint-store.d.ts +0 -1
  329. package/dist/storage/checkpoint-store.d.ts.map +1 -1
  330. package/dist/storage/checkpoint-store.js +5 -7
  331. package/dist/storage/checkpoint-store.js.map +1 -1
  332. package/dist/storage/chunk-store.d.ts.map +1 -1
  333. package/dist/storage/chunk-store.js +15 -17
  334. package/dist/storage/chunk-store.js.map +1 -1
  335. package/dist/storage/cluster-store.d.ts.map +1 -1
  336. package/dist/storage/cluster-store.js.map +1 -1
  337. package/dist/storage/db.d.ts.map +1 -1
  338. package/dist/storage/db.js.map +1 -1
  339. package/dist/storage/edge-store.d.ts +17 -30
  340. package/dist/storage/edge-store.d.ts.map +1 -1
  341. package/dist/storage/edge-store.js +43 -123
  342. package/dist/storage/edge-store.js.map +1 -1
  343. package/dist/storage/embedding-cache.d.ts.map +1 -1
  344. package/dist/storage/embedding-cache.js +1 -3
  345. package/dist/storage/embedding-cache.js.map +1 -1
  346. package/dist/storage/encryption.d.ts.map +1 -1
  347. package/dist/storage/encryption.js +4 -15
  348. package/dist/storage/encryption.js.map +1 -1
  349. package/dist/storage/index.d.ts +1 -4
  350. package/dist/storage/index.d.ts.map +1 -1
  351. package/dist/storage/index.js +1 -5
  352. package/dist/storage/index.js.map +1 -1
  353. package/dist/storage/keyword-store.d.ts.map +1 -1
  354. package/dist/storage/keyword-store.js +11 -7
  355. package/dist/storage/keyword-store.js.map +1 -1
  356. package/dist/storage/migrations.d.ts.map +1 -1
  357. package/dist/storage/migrations.js +56 -4
  358. package/dist/storage/migrations.js.map +1 -1
  359. package/dist/storage/schema.sql +8 -20
  360. package/dist/storage/types.d.ts +12 -26
  361. package/dist/storage/types.d.ts.map +1 -1
  362. package/dist/storage/types.js +1 -2
  363. package/dist/storage/types.js.map +1 -1
  364. package/dist/storage/vector-store.d.ts +9 -15
  365. package/dist/storage/vector-store.d.ts.map +1 -1
  366. package/dist/storage/vector-store.js +64 -43
  367. package/dist/storage/vector-store.js.map +1 -1
  368. package/dist/utils/angular-distance.d.ts.map +1 -1
  369. package/dist/utils/angular-distance.js.map +1 -1
  370. package/dist/utils/logger.d.ts.map +1 -1
  371. package/dist/utils/logger.js.map +1 -1
  372. package/dist/utils/secret-store.d.ts.map +1 -1
  373. package/dist/utils/secret-store.js +17 -13
  374. package/dist/utils/secret-store.js.map +1 -1
  375. package/dist/utils/secure-buffer.d.ts.map +1 -1
  376. package/dist/utils/secure-buffer.js.map +1 -1
  377. package/package.json +7 -6
  378. package/src/dashboard/client/package-lock.json +3 -3
  379. package/src/dashboard/client/package.json +3 -3
  380. package/dist/dashboard/client/assets/index-CMUKy4f9.css +0 -1
  381. package/dist/dashboard/client/assets/index-esv8TpCN.js +0 -168
  382. package/dist/eval/collection-benchmark/graph-value.d.ts +0 -16
  383. package/dist/eval/collection-benchmark/graph-value.d.ts.map +0 -1
  384. package/dist/eval/collection-benchmark/graph-value.js +0 -162
  385. package/dist/eval/collection-benchmark/graph-value.js.map +0 -1
  386. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts +0 -10
  387. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts.map +0 -1
  388. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js +0 -229
  389. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js.map +0 -1
  390. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts +0 -12
  391. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts.map +0 -1
  392. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js +0 -316
  393. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js.map +0 -1
  394. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts +0 -19
  395. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts.map +0 -1
  396. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js +0 -127
  397. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js.map +0 -1
  398. package/dist/eval/experiments/vector-decay-shapes/index.d.ts +0 -11
  399. package/dist/eval/experiments/vector-decay-shapes/index.d.ts.map +0 -1
  400. package/dist/eval/experiments/vector-decay-shapes/index.js +0 -11
  401. package/dist/eval/experiments/vector-decay-shapes/index.js.map +0 -1
  402. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts +0 -14
  403. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts.map +0 -1
  404. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js +0 -274
  405. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js.map +0 -1
  406. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts +0 -36
  407. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts.map +0 -1
  408. package/dist/eval/experiments/vector-decay-shapes/presets.js +0 -157
  409. package/dist/eval/experiments/vector-decay-shapes/presets.js.map +0 -1
  410. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts +0 -20
  411. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts.map +0 -1
  412. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js +0 -504
  413. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js.map +0 -1
  414. package/dist/eval/experiments/vector-decay-shapes/types.d.ts +0 -111
  415. package/dist/eval/experiments/vector-decay-shapes/types.d.ts.map +0 -1
  416. package/dist/eval/experiments/vector-decay-shapes/types.js +0 -15
  417. package/dist/eval/experiments/vector-decay-shapes/types.js.map +0 -1
  418. package/dist/eval/experiments/vector-decay-sweep/index.d.ts +0 -7
  419. package/dist/eval/experiments/vector-decay-sweep/index.d.ts.map +0 -1
  420. package/dist/eval/experiments/vector-decay-sweep/index.js +0 -7
  421. package/dist/eval/experiments/vector-decay-sweep/index.js.map +0 -1
  422. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts +0 -30
  423. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts.map +0 -1
  424. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js +0 -378
  425. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js.map +0 -1
  426. package/dist/eval/experiments/vector-decay-sweep/types.d.ts +0 -109
  427. package/dist/eval/experiments/vector-decay-sweep/types.d.ts.map +0 -1
  428. package/dist/eval/experiments/vector-decay-sweep/types.js +0 -16
  429. package/dist/eval/experiments/vector-decay-sweep/types.js.map +0 -1
  430. package/dist/maintenance/tasks/prune-graph.d.ts +0 -12
  431. package/dist/maintenance/tasks/prune-graph.d.ts.map +0 -1
  432. package/dist/maintenance/tasks/prune-graph.js +0 -23
  433. package/dist/maintenance/tasks/prune-graph.js.map +0 -1
  434. package/dist/retrieval/traverser.d.ts +0 -66
  435. package/dist/retrieval/traverser.d.ts.map +0 -1
  436. package/dist/retrieval/traverser.js +0 -160
  437. package/dist/retrieval/traverser.js.map +0 -1
  438. package/dist/storage/clock-store.d.ts +0 -80
  439. package/dist/storage/clock-store.d.ts.map +0 -1
  440. package/dist/storage/clock-store.js +0 -155
  441. package/dist/storage/clock-store.js.map +0 -1
  442. package/dist/storage/decay.d.ts +0 -125
  443. package/dist/storage/decay.d.ts.map +0 -1
  444. package/dist/storage/decay.js +0 -276
  445. package/dist/storage/decay.js.map +0 -1
  446. package/dist/storage/pruner.d.ts +0 -111
  447. package/dist/storage/pruner.d.ts.map +0 -1
  448. package/dist/storage/pruner.js +0 -280
  449. package/dist/storage/pruner.js.map +0 -1
  450. package/dist/temporal/clock-compactor.d.ts +0 -65
  451. package/dist/temporal/clock-compactor.d.ts.map +0 -1
  452. package/dist/temporal/clock-compactor.js +0 -157
  453. package/dist/temporal/clock-compactor.js.map +0 -1
  454. package/dist/temporal/index.d.ts +0 -6
  455. package/dist/temporal/index.d.ts.map +0 -1
  456. package/dist/temporal/index.js +0 -6
  457. package/dist/temporal/index.js.map +0 -1
  458. package/dist/temporal/vector-clock.d.ts +0 -143
  459. package/dist/temporal/vector-clock.d.ts.map +0 -1
  460. package/dist/temporal/vector-clock.js +0 -231
  461. package/dist/temporal/vector-clock.js.map +0 -1
  462. package/dist/utils/keychain.d.ts +0 -43
  463. package/dist/utils/keychain.d.ts.map +0 -1
  464. package/dist/utils/keychain.js +0 -82
  465. package/dist/utils/keychain.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Session ingestion orchestrator.
3
3
  * Parses, chunks, embeds, and stores a single session.
4
- * Supports sub-agent discovery, vector clock tracking, and performance optimizations:
4
+ * Supports sub-agent discovery and performance optimizations:
5
5
  * - True batch embedding for faster inference
6
6
  * - Content-hash caching to skip unchanged content
7
7
  * - Incremental ingestion via checkpoints
@@ -11,18 +11,16 @@
11
11
  import { stat } from 'fs/promises';
12
12
  import { readSessionMessages, getSessionInfo, discoverSubAgents, streamSessionMessages, deriveProjectSlug, } from '../parser/session-reader.js';
13
13
  import { assembleTurns, assembleTurnsFromStream } from '../parser/turn-assembler.js';
14
- import { chunkTurns, chunkTurnsWithClock, } from '../parser/chunker.js';
14
+ import { chunkTurns } from '../parser/chunker.js';
15
15
  import { Embedder } from '../models/embedder.js';
16
16
  import { getModel } from '../models/model-registry.js';
17
17
  import { insertChunks, isSessionIngested } from '../storage/chunk-store.js';
18
18
  import { vectorStore } from '../storage/vector-store.js';
19
- import { detectTransitions } from './edge-detector.js';
20
- import { createEdgesFromTransitions, createBriefEdges, createDebriefEdges, } from './edge-creator.js';
19
+ import { detectCausalTransitions } from './edge-detector.js';
20
+ import { createEdgesFromTransitions, createBriefEdge, createDebriefEdge, } from './edge-creator.js';
21
21
  import { linkCrossSession } from './cross-session-linker.js';
22
22
  import { detectBriefPoints, detectDebriefPoints, buildChunkIdsByTurn, } from './brief-debrief-detector.js';
23
- import { getAgentClock, updateAgentClock, } from '../storage/clock-store.js';
24
- import { merge, MAIN_AGENT_ID, } from '../temporal/vector-clock.js';
25
- import { getCheckpoint, saveCheckpoint, } from '../storage/checkpoint-store.js';
23
+ import { getCheckpoint, saveCheckpoint } from '../storage/checkpoint-store.js';
26
24
  import { computeContentHash, getCachedEmbeddingsBatch, cacheEmbeddingsBatch, } from '../storage/embedding-cache.js';
27
25
  /** Threshold for streaming file parsing (10MB) */
28
26
  const STREAMING_THRESHOLD_BYTES = 10 * 1024 * 1024;
@@ -31,7 +29,7 @@ const STREAMING_THRESHOLD_BYTES = 10 * 1024 * 1024;
31
29
  */
32
30
  export async function ingestSession(sessionPath, options = {}) {
33
31
  const startTime = Date.now();
34
- const { maxTokensPerChunk = 4096, includeThinking = true, embeddingModel = 'jina-small', skipIfExists = true, linkCrossSessions = true, processSubAgents = true, useVectorClocks = true, useIncrementalIngestion = true, useEmbeddingCache = true, embeddingDevice, } = options;
32
+ const { maxTokensPerChunk = 4096, includeThinking = true, embeddingModel = 'jina-small', skipIfExists = true, linkCrossSessions = true, processSubAgents = true, useIncrementalIngestion = true, useEmbeddingCache = true, embeddingDevice, } = options;
35
33
  // Get session info
36
34
  const info = await getSessionInfo(sessionPath);
37
35
  const projectSlug = deriveProjectSlug(info);
@@ -80,11 +78,17 @@ export async function ingestSession(sessionPath, options = {}) {
80
78
  // Include noise (progress messages) to get agent_progress for brief/debrief detection
81
79
  let turns;
82
80
  if (useStreaming) {
83
- const messageStream = streamSessionMessages(sessionPath, { includeSidechains: false, includeNoise: true });
81
+ const messageStream = streamSessionMessages(sessionPath, {
82
+ includeSidechains: false,
83
+ includeNoise: true,
84
+ });
84
85
  turns = await assembleTurnsFromStream(messageStream);
85
86
  }
86
87
  else {
87
- const messages = await readSessionMessages(sessionPath, { includeSidechains: false, includeNoise: true });
88
+ const messages = await readSessionMessages(sessionPath, {
89
+ includeSidechains: false,
90
+ includeNoise: true,
91
+ });
88
92
  turns = assembleTurns(messages);
89
93
  }
90
94
  // Calculate start turn for incremental ingestion
@@ -130,13 +134,6 @@ export async function ingestSession(sessionPath, options = {}) {
130
134
  if (embedder && (!embedder.currentModel || embedder.currentModel.id !== embeddingModel)) {
131
135
  await embedder.load(getModel(embeddingModel), { device: embeddingDevice });
132
136
  }
133
- // Get initial clock state for this project
134
- // Resume from checkpoint clock if available
135
- let mainClock = useVectorClocks
136
- ? (checkpoint?.vectorClock
137
- ? JSON.parse(checkpoint.vectorClock)
138
- : getAgentClock(projectSlug, MAIN_AGENT_ID))
139
- : {};
140
137
  // Track all chunks and sub-agent data
141
138
  let totalChunkCount = 0;
142
139
  let totalEdgeCount = 0;
@@ -147,40 +144,27 @@ export async function ingestSession(sessionPath, options = {}) {
147
144
  if (processSubAgents) {
148
145
  subAgentInfos = await discoverSubAgents(sessionPath);
149
146
  for (const subAgent of subAgentInfos) {
150
- // Initialize sub-agent clock by merging parent context
151
- let subClock = useVectorClocks
152
- ? merge(getAgentClock(projectSlug, MAIN_AGENT_ID), { [subAgent.agentId]: 0 })
153
- : {};
154
147
  // Parse sub-agent session
155
- const subMessages = await readSessionMessages(subAgent.filePath, { includeSidechains: true });
148
+ const subMessages = await readSessionMessages(subAgent.filePath, {
149
+ includeSidechains: true,
150
+ });
156
151
  const subTurns = assembleTurns(subMessages);
157
152
  if (subTurns.length === 0)
158
153
  continue;
159
- // Chunk with clock tracking
160
- const subChunks = useVectorClocks
161
- ? chunkTurnsWithClock(subTurns, {
162
- maxTokens: maxTokensPerChunk,
163
- includeThinking,
164
- sessionId: info.sessionId,
165
- sessionSlug: projectSlug,
166
- agentId: subAgent.agentId,
167
- initialClock: subClock,
168
- onTick: (c) => { subClock = c; },
169
- spawnDepth: 1,
170
- })
171
- : chunkTurns(subTurns, {
172
- maxTokens: maxTokensPerChunk,
173
- includeThinking,
174
- sessionId: info.sessionId,
175
- sessionSlug: projectSlug,
176
- }).map(c => c);
154
+ // Chunk sub-agent turns
155
+ const subChunks = chunkTurns(subTurns, {
156
+ maxTokens: maxTokensPerChunk,
157
+ includeThinking,
158
+ sessionId: info.sessionId,
159
+ sessionSlug: projectSlug,
160
+ });
177
161
  if (subChunks.length === 0)
178
162
  continue;
179
163
  // Store sub-agent chunks
180
- const subChunkInputs = subChunks.map((chunk) => ({ ...chunkWithClockToInput(chunk), projectPath }));
164
+ const subChunkInputs = subChunks.map((chunk) => ({ ...chunkToInput(chunk), projectPath }));
181
165
  const subChunkIds = insertChunks(subChunkInputs);
182
166
  // Embed with caching and true batch embedding
183
- const { embeddings: subEmbeddings, cacheHits, cacheMisses } = await embedChunksWithCache(subChunks, embedAllFn, embeddingModel, useEmbeddingCache);
167
+ const { embeddings: subEmbeddings, cacheHits, cacheMisses, } = await embedChunksWithCache(subChunks, embedAllFn, embeddingModel, useEmbeddingCache);
184
168
  totalCacheHits += cacheHits;
185
169
  totalCacheMisses += cacheMisses;
186
170
  await vectorStore.insertBatch(subChunkIds.map((id, i) => ({
@@ -188,14 +172,10 @@ export async function ingestSession(sessionPath, options = {}) {
188
172
  embedding: subEmbeddings[i],
189
173
  })));
190
174
  // Create intra-agent edges
191
- const subTransitions = detectTransitions(subChunks);
192
- const subEdgeResult = await createEdgesFromTransitions(subTransitions, subChunkIds, { vectorClock: subClock, useBoostMode: true });
175
+ const subTransitions = detectCausalTransitions(subChunks);
176
+ const subEdgeResult = await createEdgesFromTransitions(subTransitions, subChunkIds);
193
177
  totalChunkCount += subChunkIds.length;
194
178
  totalEdgeCount += subEdgeResult.totalCount;
195
- // Update sub-agent clock
196
- if (useVectorClocks) {
197
- updateAgentClock(projectSlug, subAgent.agentId, subClock);
198
- }
199
179
  // Store for brief/debrief detection
200
180
  subAgentData.set(subAgent.agentId, {
201
181
  turns: subTurns,
@@ -203,24 +183,13 @@ export async function ingestSession(sessionPath, options = {}) {
203
183
  });
204
184
  }
205
185
  }
206
- // 2. Chunk main session with clock tracking (only new turns)
207
- const mainChunks = useVectorClocks
208
- ? chunkTurnsWithClock(turnsToProcess, {
209
- maxTokens: maxTokensPerChunk,
210
- includeThinking,
211
- sessionId: info.sessionId,
212
- sessionSlug: projectSlug,
213
- agentId: MAIN_AGENT_ID,
214
- initialClock: mainClock,
215
- onTick: (c) => { mainClock = c; },
216
- spawnDepth: 0,
217
- })
218
- : chunkTurns(turnsToProcess, {
219
- maxTokens: maxTokensPerChunk,
220
- includeThinking,
221
- sessionId: info.sessionId,
222
- sessionSlug: projectSlug,
223
- }).map(c => c);
186
+ // 2. Chunk main session (only new turns)
187
+ const mainChunks = chunkTurns(turnsToProcess, {
188
+ maxTokens: maxTokensPerChunk,
189
+ includeThinking,
190
+ sessionId: info.sessionId,
191
+ sessionSlug: projectSlug,
192
+ });
224
193
  if (mainChunks.length === 0) {
225
194
  return {
226
195
  sessionId: info.sessionId,
@@ -237,23 +206,19 @@ export async function ingestSession(sessionPath, options = {}) {
237
206
  };
238
207
  }
239
208
  // Store main chunks
240
- const mainChunkInputs = mainChunks.map((chunk) => ({ ...chunkWithClockToInput(chunk), projectPath }));
209
+ const mainChunkInputs = mainChunks.map((chunk) => ({ ...chunkToInput(chunk), projectPath }));
241
210
  const mainChunkIds = insertChunks(mainChunkInputs);
242
211
  // Embed with caching and true batch embedding
243
- const { embeddings: mainEmbeddings, cacheHits, cacheMisses } = await embedChunksWithCache(mainChunks, embedAllFn, embeddingModel, useEmbeddingCache);
212
+ const { embeddings: mainEmbeddings, cacheHits, cacheMisses, } = await embedChunksWithCache(mainChunks, embedAllFn, embeddingModel, useEmbeddingCache);
244
213
  totalCacheHits += cacheHits;
245
214
  totalCacheMisses += cacheMisses;
246
215
  await vectorStore.insertBatch(mainChunkIds.map((id, i) => ({
247
216
  id,
248
217
  embedding: mainEmbeddings[i],
249
218
  })));
250
- // Update main clock
251
- if (useVectorClocks) {
252
- updateAgentClock(projectSlug, MAIN_AGENT_ID, mainClock);
253
- }
254
- // Create main intra-session edges
255
- const mainTransitions = detectTransitions(mainChunks);
256
- const mainEdgeResult = await createEdgesFromTransitions(mainTransitions, mainChunkIds, { vectorClock: mainClock, useBoostMode: true });
219
+ // Create main intra-session edges (sequential linked-list)
220
+ const mainTransitions = detectCausalTransitions(mainChunks);
221
+ const mainEdgeResult = await createEdgesFromTransitions(mainTransitions, mainChunkIds);
257
222
  totalChunkCount += mainChunkIds.length;
258
223
  totalEdgeCount += mainEdgeResult.totalCount;
259
224
  // 3. Detect and create brief/debrief edges
@@ -261,21 +226,25 @@ export async function ingestSession(sessionPath, options = {}) {
261
226
  // Build chunk ID lookup by turn
262
227
  const chunkIdsByTurn = buildChunkIdsByTurn(mainChunks.map((c, i) => ({ ...c, id: mainChunkIds[i] })));
263
228
  // Detect brief points (spawns)
264
- const briefPoints = detectBriefPoints(turnsToProcess, chunkIdsByTurn, mainClock, 0);
265
- // Create brief edges
229
+ const briefPoints = detectBriefPoints(turnsToProcess, chunkIdsByTurn, undefined, 0);
230
+ // Create brief edges (single: last parent chunk → first sub-agent chunk)
266
231
  for (const brief of briefPoints) {
267
232
  const subData = subAgentData.get(brief.agentId);
268
233
  if (subData && subData.chunks.length > 0) {
269
- await createBriefEdges(brief.parentChunkId, subData.chunks[0].id, brief.clock, brief.spawnDepth);
270
- subAgentEdges += 2; // backward + forward
234
+ const lastParentChunkId = brief.parentChunkIds[brief.parentChunkIds.length - 1];
235
+ const firstSubAgentChunkId = subData.chunks[0].id;
236
+ await createBriefEdge(lastParentChunkId, firstSubAgentChunkId);
237
+ subAgentEdges += 1;
271
238
  }
272
239
  }
273
240
  // Detect debrief points (returns)
274
- const debriefPoints = detectDebriefPoints(turnsToProcess, new Map(Array.from(subAgentData.entries()).map(([k, v]) => [k, v.chunks])), mainChunks.map((c, i) => ({ ...c, id: mainChunkIds[i] })), chunkIdsByTurn, mainClock, 1);
275
- // Create debrief edges
241
+ const debriefPoints = detectDebriefPoints(turnsToProcess, new Map(Array.from(subAgentData.entries()).map(([k, v]) => [k, v.chunks])), mainChunks.map((c, i) => ({ ...c, id: mainChunkIds[i] })), chunkIdsByTurn, undefined, 1);
242
+ // Create debrief edges (single: last sub-agent chunk → first parent chunk after return)
276
243
  for (const debrief of debriefPoints) {
277
- await createDebriefEdges(debrief.agentFinalChunkIds, debrief.parentChunkId, debrief.clock, debrief.spawnDepth);
278
- subAgentEdges += debrief.agentFinalChunkIds.length * 2; // backward + forward per chunk
244
+ const lastAgentChunkId = debrief.agentFinalChunkIds[debrief.agentFinalChunkIds.length - 1];
245
+ const firstParentChunkId = debrief.parentChunkIds[0];
246
+ await createDebriefEdge(lastAgentChunkId, firstParentChunkId);
247
+ subAgentEdges += 1;
279
248
  }
280
249
  }
281
250
  // 4. Save checkpoint for incremental ingestion
@@ -285,7 +254,6 @@ export async function ingestSession(sessionPath, options = {}) {
285
254
  projectSlug,
286
255
  lastTurnIndex: startTurnIndex + turnsToProcess.length - 1,
287
256
  lastChunkId: mainChunkIds[mainChunkIds.length - 1],
288
- vectorClock: JSON.stringify(mainClock),
289
257
  fileMtime,
290
258
  });
291
259
  }
@@ -329,7 +297,7 @@ async function embedChunksWithCache(chunks, embedAllFn, modelId, useCache) {
329
297
  if (chunks.length === 0) {
330
298
  return { embeddings: [], cacheHits: 0, cacheMisses: 0 };
331
299
  }
332
- const texts = chunks.map(c => c.text);
300
+ const texts = chunks.map((c) => c.text);
333
301
  const embeddings = new Array(chunks.length);
334
302
  if (!useCache) {
335
303
  const results = await embedAllFn(texts);
@@ -339,7 +307,7 @@ async function embedChunksWithCache(chunks, embedAllFn, modelId, useCache) {
339
307
  return { embeddings, cacheHits: 0, cacheMisses: texts.length };
340
308
  }
341
309
  // Compute content hashes for all chunks
342
- const contentHashes = texts.map(t => computeContentHash(t));
310
+ const contentHashes = texts.map((t) => computeContentHash(t));
343
311
  // Check cache for existing embeddings
344
312
  const cachedEmbeddings = getCachedEmbeddingsBatch(contentHashes, modelId);
345
313
  // Separate cached vs uncached
@@ -391,25 +359,4 @@ export function chunkToInput(chunk) {
391
359
  approxTokens: chunk.metadata.approxTokens,
392
360
  };
393
361
  }
394
- /**
395
- * Convert parser ChunkWithClock to storage ChunkInput.
396
- */
397
- export function chunkWithClockToInput(chunk) {
398
- const meta = chunk.metadata;
399
- return {
400
- id: chunk.id,
401
- sessionId: meta.sessionId,
402
- sessionSlug: meta.sessionSlug,
403
- turnIndices: meta.turnIndices,
404
- startTime: meta.startTime,
405
- endTime: meta.endTime,
406
- content: chunk.text,
407
- codeBlockCount: meta.codeBlockCount,
408
- toolUseCount: meta.toolUseCount,
409
- approxTokens: meta.approxTokens,
410
- agentId: meta.agentId,
411
- vectorClock: meta.vectorClock,
412
- spawnDepth: meta.spawnDepth,
413
- };
414
- }
415
362
  //# sourceMappingURL=ingest-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-session.js","sourceRoot":"","sources":["../../src/ingest/ingest-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EACL,UAAU,EACV,mBAAmB,GAIpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,aAAa,EACb,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,EACL,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,aAAa,EACb,cAAc,GAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAIvC,kDAAkD;AAClD,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AA4DnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAAyB,EAAE;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,EACJ,iBAAiB,GAAG,IAAI,EACxB,eAAe,GAAG,IAAI,EACtB,cAAc,GAAG,YAAY,EAC7B,YAAY,GAAG,IAAI,EACnB,iBAAiB,GAAG,IAAI,EACxB,gBAAgB,GAAG,IAAI,EACvB,eAAe,GAAG,IAAI,EACtB,uBAAuB,GAAG,IAAI,EAC9B,iBAAiB,GAAG,IAAI,EACxB,eAAe,GAChB,GAAG,OAAO,CAAC;IAEZ,mBAAmB;IACnB,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAEnC,iCAAiC;IACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAEhD,+CAA+C;IAC/C,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAElF,4DAA4D;IAC5D,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,SAAS,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;YACvC,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,CAAC;gBACZ,iBAAiB,EAAE,CAAC;gBACpB,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,gBAAgB;gBAC5B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,aAAa,EAAE,CAAC;aACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,IAAI,YAAY,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,kBAAkB;YAC9B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,aAAa,EAAE,CAAC;SACjB,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAEhE,4DAA4D;IAC5D,sFAAsF;IACtF,IAAI,KAAa,CAAC;IAClB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3G,KAAK,GAAG,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,iDAAiD;IACjD,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEnD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,+CAA+C;QAC/C,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,CAAC;gBACb,GAAG,UAAU;gBACb,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,cAAc,GAAG,CAAC;YAC3B,UAAU,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC3D,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,aAAa,EAAE,CAAC;SACjB,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;IAEvC,MAAM,UAAU,GAAG,KAAK,EAAE,KAAe,EAAuB,EAAE;QAChE,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,oBAAoB;IACpB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,IAAI,CAAC;QACH,qEAAqE;QACrE,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC;YACxF,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,2CAA2C;QAC3C,4CAA4C;QAC5C,IAAI,SAAS,GAAG,eAAe;YAC7B,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW;gBACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;gBACpC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QAEP,sCAAsC;QACtC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuD,CAAC;QAEpF,wDAAwD;QACxD,IAAI,aAAa,GAAmB,EAAE,CAAC;QACvC,IAAI,gBAAgB,EAAE,CAAC;YACrB,aAAa,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAErD,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;gBACrC,uDAAuD;gBACvD,IAAI,QAAQ,GAAG,eAAe;oBAC5B,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7E,CAAC,CAAC,EAAE,CAAC;gBAEP,0BAA0B;gBAC1B,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9F,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;gBAE5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAEpC,4BAA4B;gBAC5B,MAAM,SAAS,GAAG,eAAe;oBAC/B,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE;wBAC5B,SAAS,EAAE,iBAAiB;wBAC5B,eAAe;wBACf,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,WAAW,EAAE,WAAW;wBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,YAAY,EAAE,QAAQ;wBACtB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;wBAChC,UAAU,EAAE,CAAC;qBACd,CAAC;oBACJ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;wBACnB,SAAS,EAAE,iBAAiB;wBAC5B,eAAe;wBACf,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,WAAW,EAAE,WAAW;qBACzB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAC,CAAC;gBAErC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAErC,yBAAyB;gBACzB,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBACpG,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;gBAEjD,8CAA8C;gBAC9C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAoB,CACtF,SAAS,EACT,UAAU,EACV,cAAc,EACd,iBAAiB,CAClB,CAAC;gBACF,cAAc,IAAI,SAAS,CAAC;gBAC5B,gBAAgB,IAAI,WAAW,CAAC;gBAEhC,MAAM,WAAW,CAAC,WAAW,CAC3B,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC1B,EAAE;oBACF,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;iBAC5B,CAAC,CAAC,CACJ,CAAC;gBAEF,2BAA2B;gBAC3B,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,aAAa,GAAG,MAAM,0BAA0B,CACpD,cAAc,EACd,WAAW,EACX,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAC9C,CAAC;gBAEF,eAAe,IAAI,WAAW,CAAC,MAAM,CAAC;gBACtC,cAAc,IAAI,aAAa,CAAC,UAAU,CAAC;gBAE3C,yBAAyB;gBACzB,IAAI,eAAe,EAAE,CAAC;oBACpB,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC5D,CAAC;gBAED,oCAAoC;gBACpC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACjC,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,MAAM,UAAU,GAAG,eAAe;YAChC,CAAC,CAAC,mBAAmB,CAAC,cAAc,EAAE;gBAClC,SAAS,EAAE,iBAAiB;gBAC5B,eAAe;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,SAAS;gBACvB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjC,UAAU,EAAE,CAAC;aACd,CAAC;YACJ,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE;gBACzB,SAAS,EAAE,iBAAiB;gBAC5B,eAAe;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAC,CAAC;QAErC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,cAAc;gBACzB,iBAAiB,EAAE,CAAC;gBACpB,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,aAAa,EAAE,aAAa,CAAC,MAAM;gBACnC,SAAS,EAAE,cAAc;gBACzB,WAAW,EAAE,gBAAgB;aAC9B,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACtG,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;QAEnD,8CAA8C;QAC9C,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAoB,CACvF,UAAU,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,CAClB,CAAC;QACF,cAAc,IAAI,SAAS,CAAC;QAC5B,gBAAgB,IAAI,WAAW,CAAC;QAEhC,MAAM,WAAW,CAAC,WAAW,CAC3B,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,EAAE;YACF,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;SAC7B,CAAC,CAAC,CACJ,CAAC;QAEF,oBAAoB;QACpB,IAAI,eAAe,EAAE,CAAC;YACpB,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,kCAAkC;QAClC,MAAM,eAAe,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,MAAM,0BAA0B,CACrD,eAAe,EACf,YAAY,EACZ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAC/C,CAAC;QAEF,eAAe,IAAI,YAAY,CAAC,MAAM,CAAC;QACvC,cAAc,IAAI,cAAc,CAAC,UAAU,CAAC;QAE5C,2CAA2C;QAC3C,IAAI,gBAAgB,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9C,gCAAgC;YAChC,MAAM,cAAc,GAAG,mBAAmB,CACxC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC1D,CAAC;YAEF,+BAA+B;YAC/B,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAEpF,qBAAqB;YACrB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzC,MAAM,gBAAgB,CACpB,KAAK,CAAC,aAAa,EACnB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,UAAU,CACjB,CAAC;oBACF,aAAa,IAAI,CAAC,CAAC,CAAC,qBAAqB;gBAC3C,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,MAAM,aAAa,GAAG,mBAAmB,CACvC,cAAc,EACd,IAAI,GAAG,CACL,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAClE,EACD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACzD,cAAc,EACd,SAAS,EACT,CAAC,CACF,CAAC;YAEF,uBAAuB;YACvB,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,MAAM,kBAAkB,CACtB,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,UAAU,CACnB,CAAC;gBACF,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,+BAA+B;YACzF,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,uBAAuB,EAAE,CAAC;YAC5B,cAAc,CAAC;gBACb,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW;gBACX,aAAa,EAAE,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;gBACzD,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBACtC,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACvE,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC;QAC3C,CAAC;QAED,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,eAAe;YAC3B,SAAS,EAAE,cAAc;YACzB,iBAAiB;YACjB,aAAa;YACb,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,SAAS,EAAE,cAAc;YACzB,WAAW,EAAE,gBAAgB;SAC9B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAwB,EACxB,UAAoD,EACpD,OAAe,EACf,QAAiB;IAEjB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAe,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IAED,wCAAwC;IACxC,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAE1E,8BAA8B;IAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC;IACxC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;IAE3C,mEAAmE;IACnE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,OAAO,GAAwD,EAAE,CAAC;QAExE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC7B,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC;gBACX,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC7B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAY;IACvC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;QACnC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;QACvC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;QACvC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;QACnC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;QAC/B,OAAO,EAAE,KAAK,CAAC,IAAI;QACnB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc;QAC7C,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;QACzC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;KAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAkC,CAAC;IACtD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,KAAK,CAAC,IAAI;QACnB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ingest-session.js","sourceRoot":"","sources":["../../src/ingest/ingest-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Rebuild all edges using sequential linked-list structure.
3
+ *
4
+ * Reads existing stored chunks per session, deletes old edges,
5
+ * and re-creates edges using the new sequential logic.
6
+ * No re-parsing or re-embedding needed.
7
+ */
8
+ export interface RebuildResult {
9
+ sessionsProcessed: number;
10
+ edgesDeleted: number;
11
+ edgesCreated: number;
12
+ }
13
+ /**
14
+ * Rebuild all edges across all sessions.
15
+ */
16
+ export declare function rebuildEdges(onProgress?: (msg: string) => void): Promise<RebuildResult>;
17
+ //# sourceMappingURL=rebuild-edges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rebuild-edges.d.ts","sourceRoot":"","sources":["../../src/ingest/rebuild-edges.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAwBD;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC,aAAa,CAAC,CAwExB"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Rebuild all edges using sequential linked-list structure.
3
+ *
4
+ * Reads existing stored chunks per session, deletes old edges,
5
+ * and re-creates edges using the new sequential logic.
6
+ * No re-parsing or re-embedding needed.
7
+ */
8
+ import { getSessionIds, getChunksBySession } from '../storage/chunk-store.js';
9
+ import { deleteEdgesForSession } from '../storage/edge-store.js';
10
+ import { detectCausalTransitions } from './edge-detector.js';
11
+ import { createEdgesFromTransitions, createCrossSessionEdges } from './edge-creator.js';
12
+ /**
13
+ * Convert a stored chunk to the parser Chunk format for transition detection.
14
+ */
15
+ function storedChunkToParserChunk(stored) {
16
+ return {
17
+ id: stored.id,
18
+ text: stored.content,
19
+ metadata: {
20
+ sessionId: stored.sessionId,
21
+ sessionSlug: stored.sessionSlug,
22
+ turnIndices: stored.turnIndices,
23
+ startTime: stored.startTime,
24
+ endTime: stored.endTime,
25
+ codeBlockCount: stored.codeBlockCount,
26
+ toolUseCount: stored.toolUseCount,
27
+ hasThinking: false,
28
+ renderMode: 'full',
29
+ approxTokens: stored.approxTokens,
30
+ },
31
+ };
32
+ }
33
+ /**
34
+ * Rebuild all edges across all sessions.
35
+ */
36
+ export async function rebuildEdges(onProgress) {
37
+ const sessionIds = getSessionIds();
38
+ let totalDeleted = 0;
39
+ let totalCreated = 0;
40
+ // Process sessions sorted by first chunk time
41
+ const sessionChunks = new Map();
42
+ for (const sessionId of sessionIds) {
43
+ const chunks = getChunksBySession(sessionId);
44
+ if (chunks.length > 0) {
45
+ sessionChunks.set(sessionId, chunks);
46
+ }
47
+ }
48
+ // Sort sessions by first chunk start_time for cross-session linking
49
+ const sortedSessions = [...sessionChunks.entries()].sort((a, b) => {
50
+ const timeA = a[1][0].startTime;
51
+ const timeB = b[1][0].startTime;
52
+ return timeA.localeCompare(timeB);
53
+ });
54
+ let processed = 0;
55
+ for (const [sessionId, chunks] of sortedSessions) {
56
+ processed++;
57
+ onProgress?.(`[${processed}/${sortedSessions.length}] Session ${sessionId.slice(0, 8)}...`);
58
+ const chunkIds = chunks.map((c) => c.id);
59
+ // Delete old edges for this session
60
+ const deleted = deleteEdgesForSession(chunkIds);
61
+ totalDeleted += deleted;
62
+ // Convert to parser Chunk format
63
+ const parserChunks = chunks.map(storedChunkToParserChunk);
64
+ // Detect transitions and create new edges
65
+ const transitions = detectCausalTransitions(parserChunks);
66
+ const edgeResult = await createEdgesFromTransitions(transitions, chunkIds);
67
+ totalCreated += edgeResult.totalCount;
68
+ }
69
+ // Cross-session edges: link last chunk of session N to first chunk of session N+1
70
+ // Group by project slug
71
+ const projectSessions = new Map();
72
+ for (const [sessionId, chunks] of sortedSessions) {
73
+ const slug = chunks[0].sessionSlug;
74
+ const list = projectSessions.get(slug) ?? [];
75
+ list.push({ sessionId, chunks });
76
+ projectSessions.set(slug, list);
77
+ }
78
+ for (const [slug, sessions] of projectSessions) {
79
+ for (let i = 1; i < sessions.length; i++) {
80
+ const prevChunks = sessions[i - 1].chunks;
81
+ const currChunks = sessions[i].chunks;
82
+ const lastChunkId = prevChunks[prevChunks.length - 1].id;
83
+ const firstChunkId = currChunks[0].id;
84
+ const count = await createCrossSessionEdges(lastChunkId, firstChunkId);
85
+ totalCreated += count;
86
+ }
87
+ if (sessions.length > 1) {
88
+ onProgress?.(` Cross-session edges for ${slug}: ${sessions.length - 1} links`);
89
+ }
90
+ }
91
+ return {
92
+ sessionsProcessed: sortedSessions.length,
93
+ edgesDeleted: totalDeleted,
94
+ edgesCreated: totalCreated,
95
+ };
96
+ }
97
+ //# sourceMappingURL=rebuild-edges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rebuild-edges.js","sourceRoot":"","sources":["../../src/ingest/rebuild-edges.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,7 @@
7
7
  * Tasks:
8
8
  * - scan-projects: Discover and ingest new sessions
9
9
  * - update-clusters: Re-run HDBSCAN clustering + refresh labels
10
- * - prune-graph: Remove dead edges
11
- * - cleanup-vectors: Remove expired orphaned vectors and chunks (TTL-based)
10
+ * - cleanup-vectors: Remove expired vectors and chunks (TTL-based)
12
11
  * - vacuum: Optimize SQLite database
13
12
  */
14
13
  /** Cron-style schedule expression */
@@ -73,7 +72,7 @@ export declare function runDaemon(signal?: AbortSignal): Promise<void>;
73
72
  * Intended for session-start hook to cover cases where scheduled cron
74
73
  * times were missed (e.g. laptop asleep overnight).
75
74
  *
76
- * Non-blocking — fires and forgets. Prune runs first, then recluster.
75
+ * Non-blocking — fires and forgets.
77
76
  */
78
77
  export declare function runStaleMaintenanceTasks(): void;
79
78
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/maintenance/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,qCAAqC;AACrC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3C;AAED,sBAAsB;AACtB,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAmOD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAA4B,CAAC;AAE5E;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEjE;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6BtE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAS3E;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,KAAK,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB,CAAC,CAUD;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CnE;AAcD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAuB/C"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/maintenance/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,qCAAqC;AACrC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3C;AAED,sBAAsB;AACtB,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AA4ND;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAA4B,CAAC;AAE5E;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEjE;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6BtE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAS3E;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,KAAK,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB,CAAC,CAUD;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CnE;AAcD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAsB/C"}
@@ -7,8 +7,7 @@
7
7
  * Tasks:
8
8
  * - scan-projects: Discover and ingest new sessions
9
9
  * - update-clusters: Re-run HDBSCAN clustering + refresh labels
10
- * - prune-graph: Remove dead edges
11
- * - cleanup-vectors: Remove expired orphaned vectors and chunks (TTL-based)
10
+ * - cleanup-vectors: Remove expired vectors and chunks (TTL-based)
12
11
  * - vacuum: Optimize SQLite database
13
12
  */
14
13
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
@@ -18,7 +17,6 @@ import { loadConfig } from '../config/loader.js';
18
17
  import { createLogger } from '../utils/logger.js';
19
18
  import { scanProjects } from './tasks/scan-projects.js';
20
19
  import { updateClusters } from './tasks/update-clusters.js';
21
- import { pruneGraph } from './tasks/prune-graph.js';
22
20
  import { vacuum } from './tasks/vacuum.js';
23
21
  import { cleanupVectors } from './tasks/cleanup-vectors.js';
24
22
  const log = createLogger('scheduler');
@@ -152,10 +150,6 @@ async function createUpdateClustersHandler() {
152
150
  refreshLabels: () => clusterRefresher.refreshAllClusters({}),
153
151
  });
154
152
  }
155
- async function createPruneGraphHandler() {
156
- const { pruner } = await import('../storage/pruner.js');
157
- return pruneGraph({ flushNow: () => pruner.flushNow() });
158
- }
159
153
  async function createVacuumHandler() {
160
154
  const { getDb } = await import('../storage/db.js');
161
155
  return vacuum({ getDb });
@@ -164,16 +158,21 @@ async function createCleanupVectorsHandler() {
164
158
  const { vectorStore } = await import('../storage/vector-store.js');
165
159
  const config = loadConfig();
166
160
  const ttlDays = config.vectors?.ttlDays ?? 90;
167
- return cleanupVectors({ cleanupExpired: (days) => vectorStore.cleanupExpired(days), ttlDays });
161
+ const maxCount = config.vectors?.maxCount ?? 0;
162
+ return cleanupVectors({
163
+ cleanupExpired: (days) => vectorStore.cleanupExpired(days),
164
+ evictOldest: (count) => vectorStore.evictOldest(count),
165
+ ttlDays,
166
+ maxCount,
167
+ });
168
168
  }
169
169
  /**
170
170
  * Build maintenance tasks with configurable cluster hour.
171
- * Prune and cleanup run 1h and 1.5h after clustering respectively.
171
+ * Cleanup runs 1h after clustering.
172
172
  */
173
173
  function buildMaintenanceTasks() {
174
174
  const config = loadConfig();
175
175
  const h = config.maintenance?.clusterHour ?? 2;
176
- const pruneHour = (h + 1) % 24;
177
176
  const cleanupHour = (h + 1) % 24;
178
177
  const cleanupMinute = 30;
179
178
  return [
@@ -191,16 +190,9 @@ function buildMaintenanceTasks() {
191
190
  requiresApiKey: false,
192
191
  handler: createUpdateClustersHandler,
193
192
  },
194
- {
195
- name: 'prune-graph',
196
- description: 'Remove dead edges',
197
- schedule: `0 ${pruneHour} * * *`,
198
- requiresApiKey: false,
199
- handler: createPruneGraphHandler,
200
- },
201
193
  {
202
194
  name: 'cleanup-vectors',
203
- description: 'Remove expired orphaned vectors and chunks (TTL-based)',
195
+ description: 'Remove expired vectors and chunks (TTL-based)',
204
196
  schedule: `${cleanupMinute} ${cleanupHour} * * *`,
205
197
  requiresApiKey: false,
206
198
  handler: createCleanupVectorsHandler,
@@ -335,13 +327,10 @@ const TWENTY_FOUR_HOURS = 24 * 60 * 60 * 1000;
335
327
  * Intended for session-start hook to cover cases where scheduled cron
336
328
  * times were missed (e.g. laptop asleep overnight).
337
329
  *
338
- * Non-blocking — fires and forgets. Prune runs first, then recluster.
330
+ * Non-blocking — fires and forgets.
339
331
  */
340
332
  export function runStaleMaintenanceTasks() {
341
333
  const staleTasks = [];
342
- if (isTaskStale('prune-graph', TWENTY_FOUR_HOURS)) {
343
- staleTasks.push('prune-graph');
344
- }
345
334
  if (isTaskStale('update-clusters', TWENTY_FOUR_HOURS)) {
346
335
  staleTasks.push('update-clusters');
347
336
  }
@@ -354,7 +343,9 @@ export function runStaleMaintenanceTasks() {
354
343
  await runTask(name);
355
344
  }
356
345
  catch (err) {
357
- log.error(`Background ${name} failed`, { error: err instanceof Error ? err.message : String(err) });
346
+ log.error(`Background ${name} failed`, {
347
+ error: err instanceof Error ? err.message : String(err),
348
+ });
358
349
  }
359
350
  }
360
351
  })();