causantic 0.2.1 → 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 (457) 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.map +1 -1
  11. package/dist/cli/commands/init.d.ts.map +1 -1
  12. package/dist/cli/commands/init.js +29 -32
  13. package/dist/cli/commands/init.js.map +1 -1
  14. package/dist/cli/commands/maintenance.d.ts.map +1 -1
  15. package/dist/cli/commands/maintenance.js +10 -3
  16. package/dist/cli/commands/maintenance.js.map +1 -1
  17. package/dist/cli/commands/serve.d.ts.map +1 -1
  18. package/dist/cli/commands/serve.js +3 -3
  19. package/dist/cli/commands/serve.js.map +1 -1
  20. package/dist/cli/skill-templates.d.ts.map +1 -1
  21. package/dist/cli/skill-templates.js +223 -153
  22. package/dist/cli/skill-templates.js.map +1 -1
  23. package/dist/cli/uninstall.d.ts.map +1 -1
  24. package/dist/cli/uninstall.js +4 -1
  25. package/dist/cli/uninstall.js.map +1 -1
  26. package/dist/clusters/cluster-manager.d.ts +23 -0
  27. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  28. package/dist/clusters/cluster-manager.js +69 -2
  29. package/dist/clusters/cluster-manager.js.map +1 -1
  30. package/dist/clusters/cluster-refresh.d.ts.map +1 -1
  31. package/dist/clusters/cluster-refresh.js +5 -1
  32. package/dist/clusters/cluster-refresh.js.map +1 -1
  33. package/dist/clusters/hdbscan/cluster-extraction.d.ts.map +1 -1
  34. package/dist/clusters/hdbscan/cluster-extraction.js +1 -2
  35. package/dist/clusters/hdbscan/cluster-extraction.js.map +1 -1
  36. package/dist/clusters/hdbscan/hierarchy.d.ts.map +1 -1
  37. package/dist/clusters/hdbscan/hierarchy.js +1 -3
  38. package/dist/clusters/hdbscan/hierarchy.js.map +1 -1
  39. package/dist/clusters/hdbscan/incremental.d.ts.map +1 -1
  40. package/dist/clusters/hdbscan/incremental.js.map +1 -1
  41. package/dist/clusters/hdbscan/probabilities.d.ts +1 -1
  42. package/dist/clusters/hdbscan/probabilities.d.ts.map +1 -1
  43. package/dist/clusters/hdbscan/probabilities.js +1 -1
  44. package/dist/clusters/hdbscan/probabilities.js.map +1 -1
  45. package/dist/clusters/hdbscan.d.ts.map +1 -1
  46. package/dist/clusters/hdbscan.js +3 -5
  47. package/dist/clusters/hdbscan.js.map +1 -1
  48. package/dist/config/loader.d.ts +10 -15
  49. package/dist/config/loader.d.ts.map +1 -1
  50. package/dist/config/loader.js +40 -71
  51. package/dist/config/loader.js.map +1 -1
  52. package/dist/config/memory-config.d.ts +2 -45
  53. package/dist/config/memory-config.d.ts.map +1 -1
  54. package/dist/config/memory-config.js +6 -109
  55. package/dist/config/memory-config.js.map +1 -1
  56. package/dist/core/index.d.ts +1 -1
  57. package/dist/core/index.d.ts.map +1 -1
  58. package/dist/core/lexical-features.d.ts.map +1 -1
  59. package/dist/core/lexical-features.js +141 -20
  60. package/dist/core/lexical-features.js.map +1 -1
  61. package/dist/dashboard/client/assets/index-DdImwNQ0.css +1 -0
  62. package/dist/dashboard/client/assets/index-Ofx8zngH.js +166 -0
  63. package/dist/dashboard/client/index.html +2 -2
  64. package/dist/dashboard/routes/benchmark-collection.d.ts.map +1 -1
  65. package/dist/dashboard/routes/benchmark-collection.js +2 -6
  66. package/dist/dashboard/routes/benchmark-collection.js.map +1 -1
  67. package/dist/dashboard/routes/chain.d.ts +3 -0
  68. package/dist/dashboard/routes/chain.d.ts.map +1 -0
  69. package/dist/dashboard/routes/chain.js +74 -0
  70. package/dist/dashboard/routes/chain.js.map +1 -0
  71. package/dist/dashboard/routes/chunks.d.ts.map +1 -1
  72. package/dist/dashboard/routes/chunks.js +16 -1
  73. package/dist/dashboard/routes/chunks.js.map +1 -1
  74. package/dist/dashboard/routes/graph.d.ts.map +1 -1
  75. package/dist/dashboard/routes/graph.js.map +1 -1
  76. package/dist/dashboard/routes/search.d.ts.map +1 -1
  77. package/dist/dashboard/routes/search.js.map +1 -1
  78. package/dist/dashboard/routes/stats.d.ts.map +1 -1
  79. package/dist/dashboard/routes/stats.js +8 -6
  80. package/dist/dashboard/routes/stats.js.map +1 -1
  81. package/dist/dashboard/routes/timeline.d.ts +3 -0
  82. package/dist/dashboard/routes/timeline.d.ts.map +1 -0
  83. package/dist/dashboard/routes/timeline.js +90 -0
  84. package/dist/dashboard/routes/timeline.js.map +1 -0
  85. package/dist/dashboard/server.d.ts.map +1 -1
  86. package/dist/dashboard/server.js +4 -0
  87. package/dist/dashboard/server.js.map +1 -1
  88. package/dist/eval/annotation-schema.d.ts.map +1 -1
  89. package/dist/eval/annotation-schema.js +2 -5
  90. package/dist/eval/annotation-schema.js.map +1 -1
  91. package/dist/eval/benchmark-runner.d.ts.map +1 -1
  92. package/dist/eval/benchmark-runner.js +2 -2
  93. package/dist/eval/benchmark-runner.js.map +1 -1
  94. package/dist/eval/cluster-evaluator.d.ts.map +1 -1
  95. package/dist/eval/cluster-evaluator.js.map +1 -1
  96. package/dist/eval/collection-benchmark/chain-quality.d.ts +15 -0
  97. package/dist/eval/collection-benchmark/chain-quality.d.ts.map +1 -0
  98. package/dist/eval/collection-benchmark/chain-quality.js +60 -0
  99. package/dist/eval/collection-benchmark/chain-quality.js.map +1 -0
  100. package/dist/eval/collection-benchmark/health.d.ts.map +1 -1
  101. package/dist/eval/collection-benchmark/health.js +2 -2
  102. package/dist/eval/collection-benchmark/health.js.map +1 -1
  103. package/dist/eval/collection-benchmark/history.d.ts.map +1 -1
  104. package/dist/eval/collection-benchmark/history.js +14 -11
  105. package/dist/eval/collection-benchmark/history.js.map +1 -1
  106. package/dist/eval/collection-benchmark/latency.d.ts.map +1 -1
  107. package/dist/eval/collection-benchmark/latency.js +14 -11
  108. package/dist/eval/collection-benchmark/latency.js.map +1 -1
  109. package/dist/eval/collection-benchmark/reporter.d.ts.map +1 -1
  110. package/dist/eval/collection-benchmark/reporter.js +18 -28
  111. package/dist/eval/collection-benchmark/reporter.js.map +1 -1
  112. package/dist/eval/collection-benchmark/retrieval.d.ts.map +1 -1
  113. package/dist/eval/collection-benchmark/retrieval.js +14 -8
  114. package/dist/eval/collection-benchmark/retrieval.js.map +1 -1
  115. package/dist/eval/collection-benchmark/runner.d.ts +3 -3
  116. package/dist/eval/collection-benchmark/runner.d.ts.map +1 -1
  117. package/dist/eval/collection-benchmark/runner.js +46 -37
  118. package/dist/eval/collection-benchmark/runner.js.map +1 -1
  119. package/dist/eval/collection-benchmark/sampler.d.ts.map +1 -1
  120. package/dist/eval/collection-benchmark/sampler.js +14 -12
  121. package/dist/eval/collection-benchmark/sampler.js.map +1 -1
  122. package/dist/eval/collection-benchmark/tuning.d.ts.map +1 -1
  123. package/dist/eval/collection-benchmark/tuning.js +56 -71
  124. package/dist/eval/collection-benchmark/tuning.js.map +1 -1
  125. package/dist/eval/collection-benchmark/types.d.ts +12 -24
  126. package/dist/eval/collection-benchmark/types.d.ts.map +1 -1
  127. package/dist/eval/corpus-builder.d.ts.map +1 -1
  128. package/dist/eval/corpus-builder.js.map +1 -1
  129. package/dist/eval/experiments/boilerplate-filter.d.ts.map +1 -1
  130. package/dist/eval/experiments/boilerplate-filter.js.map +1 -1
  131. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts.map +1 -1
  132. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js +3 -5
  133. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js.map +1 -1
  134. package/dist/eval/experiments/code-focused-mode.d.ts.map +1 -1
  135. package/dist/eval/experiments/code-focused-mode.js +1 -1
  136. package/dist/eval/experiments/code-focused-mode.js.map +1 -1
  137. package/dist/eval/experiments/edge-decay/decay-curves.d.ts +25 -19
  138. package/dist/eval/experiments/edge-decay/decay-curves.d.ts.map +1 -1
  139. package/dist/eval/experiments/edge-decay/decay-curves.js +47 -40
  140. package/dist/eval/experiments/edge-decay/decay-curves.js.map +1 -1
  141. package/dist/eval/experiments/edge-decay/index.d.ts +6 -4
  142. package/dist/eval/experiments/edge-decay/index.d.ts.map +1 -1
  143. package/dist/eval/experiments/edge-decay/index.js +5 -3
  144. package/dist/eval/experiments/edge-decay/index.js.map +1 -1
  145. package/dist/eval/experiments/edge-decay/presets.d.ts +14 -4
  146. package/dist/eval/experiments/edge-decay/presets.d.ts.map +1 -1
  147. package/dist/eval/experiments/edge-decay/presets.js +73 -68
  148. package/dist/eval/experiments/edge-decay/presets.js.map +1 -1
  149. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts +2 -1
  150. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts.map +1 -1
  151. package/dist/eval/experiments/edge-decay/reference-extractor.js +26 -40
  152. package/dist/eval/experiments/edge-decay/reference-extractor.js.map +1 -1
  153. package/dist/eval/experiments/edge-decay/reference-types.d.ts +24 -17
  154. package/dist/eval/experiments/edge-decay/reference-types.d.ts.map +1 -1
  155. package/dist/eval/experiments/edge-decay/reference-types.js +3 -0
  156. package/dist/eval/experiments/edge-decay/reference-types.js.map +1 -1
  157. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts +8 -8
  158. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts.map +1 -1
  159. package/dist/eval/experiments/edge-decay/retrieval-ranking.js +77 -133
  160. package/dist/eval/experiments/edge-decay/retrieval-ranking.js.map +1 -1
  161. package/dist/eval/experiments/edge-decay/run-experiments.d.ts +7 -3
  162. package/dist/eval/experiments/edge-decay/run-experiments.d.ts.map +1 -1
  163. package/dist/eval/experiments/edge-decay/run-experiments.js +71 -52
  164. package/dist/eval/experiments/edge-decay/run-experiments.js.map +1 -1
  165. package/dist/eval/experiments/edge-decay/simulate.d.ts +1 -1
  166. package/dist/eval/experiments/edge-decay/simulate.d.ts.map +1 -1
  167. package/dist/eval/experiments/edge-decay/simulate.js +7 -19
  168. package/dist/eval/experiments/edge-decay/simulate.js.map +1 -1
  169. package/dist/eval/experiments/hdbscan-sweep.d.ts.map +1 -1
  170. package/dist/eval/experiments/hdbscan-sweep.js +2 -6
  171. package/dist/eval/experiments/hdbscan-sweep.js.map +1 -1
  172. package/dist/eval/experiments/single-model-run.d.ts.map +1 -1
  173. package/dist/eval/experiments/single-model-run.js +2 -2
  174. package/dist/eval/experiments/single-model-run.js.map +1 -1
  175. package/dist/eval/experiments/thinking-ablation.d.ts.map +1 -1
  176. package/dist/eval/experiments/thinking-ablation.js +1 -1
  177. package/dist/eval/experiments/thinking-ablation.js.map +1 -1
  178. package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts.map +1 -1
  179. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js +54 -6
  180. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js.map +1 -1
  181. package/dist/eval/experiments/topic-continuity/labeler.d.ts.map +1 -1
  182. package/dist/eval/experiments/topic-continuity/labeler.js +1 -4
  183. package/dist/eval/experiments/topic-continuity/labeler.js.map +1 -1
  184. package/dist/eval/experiments/topic-continuity/run-experiment.d.ts.map +1 -1
  185. package/dist/eval/experiments/topic-continuity/run-experiment.js +5 -13
  186. package/dist/eval/experiments/topic-continuity/run-experiment.js.map +1 -1
  187. package/dist/eval/experiments/truncation.d.ts.map +1 -1
  188. package/dist/eval/experiments/truncation.js.map +1 -1
  189. package/dist/eval/experiments/types.d.ts.map +1 -1
  190. package/dist/eval/experiments/types.js.map +1 -1
  191. package/dist/eval/metrics.d.ts.map +1 -1
  192. package/dist/eval/metrics.js.map +1 -1
  193. package/dist/hooks/claudemd-generator.d.ts.map +1 -1
  194. package/dist/hooks/claudemd-generator.js +3 -4
  195. package/dist/hooks/claudemd-generator.js.map +1 -1
  196. package/dist/hooks/hook-utils.d.ts.map +1 -1
  197. package/dist/hooks/hook-utils.js +0 -2
  198. package/dist/hooks/hook-utils.js.map +1 -1
  199. package/dist/hooks/pre-compact.d.ts.map +1 -1
  200. package/dist/hooks/pre-compact.js +4 -2
  201. package/dist/hooks/pre-compact.js.map +1 -1
  202. package/dist/hooks/session-end.d.ts.map +1 -1
  203. package/dist/hooks/session-end.js +4 -2
  204. package/dist/hooks/session-end.js.map +1 -1
  205. package/dist/hooks/session-start.d.ts.map +1 -1
  206. package/dist/hooks/session-start.js +3 -5
  207. package/dist/hooks/session-start.js.map +1 -1
  208. package/dist/index.d.ts +0 -1
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/index.js +0 -2
  211. package/dist/index.js.map +1 -1
  212. package/dist/ingest/batch-ingest.d.ts.map +1 -1
  213. package/dist/ingest/batch-ingest.js.map +1 -1
  214. package/dist/ingest/brief-debrief-detector.d.ts +6 -13
  215. package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
  216. package/dist/ingest/brief-debrief-detector.js +9 -16
  217. package/dist/ingest/brief-debrief-detector.js.map +1 -1
  218. package/dist/ingest/cross-session-linker.d.ts +2 -1
  219. package/dist/ingest/cross-session-linker.d.ts.map +1 -1
  220. package/dist/ingest/cross-session-linker.js +17 -7
  221. package/dist/ingest/cross-session-linker.js.map +1 -1
  222. package/dist/ingest/edge-creator.d.ts +14 -40
  223. package/dist/ingest/edge-creator.d.ts.map +1 -1
  224. package/dist/ingest/edge-creator.js +34 -132
  225. package/dist/ingest/edge-creator.js.map +1 -1
  226. package/dist/ingest/edge-detector.d.ts +27 -12
  227. package/dist/ingest/edge-detector.d.ts.map +1 -1
  228. package/dist/ingest/edge-detector.js +68 -200
  229. package/dist/ingest/edge-detector.js.map +1 -1
  230. package/dist/ingest/index.d.ts +3 -3
  231. package/dist/ingest/index.d.ts.map +1 -1
  232. package/dist/ingest/index.js +3 -3
  233. package/dist/ingest/index.js.map +1 -1
  234. package/dist/ingest/ingest-session.d.ts +1 -8
  235. package/dist/ingest/ingest-session.d.ts.map +1 -1
  236. package/dist/ingest/ingest-session.js +54 -107
  237. package/dist/ingest/ingest-session.js.map +1 -1
  238. package/dist/ingest/rebuild-edges.d.ts +17 -0
  239. package/dist/ingest/rebuild-edges.d.ts.map +1 -0
  240. package/dist/ingest/rebuild-edges.js +97 -0
  241. package/dist/ingest/rebuild-edges.js.map +1 -0
  242. package/dist/maintenance/scheduler.d.ts +2 -3
  243. package/dist/maintenance/scheduler.d.ts.map +1 -1
  244. package/dist/maintenance/scheduler.js +14 -23
  245. package/dist/maintenance/scheduler.js.map +1 -1
  246. package/dist/maintenance/tasks/cleanup-vectors.d.ts +3 -1
  247. package/dist/maintenance/tasks/cleanup-vectors.d.ts.map +1 -1
  248. package/dist/maintenance/tasks/cleanup-vectors.js +6 -4
  249. package/dist/maintenance/tasks/cleanup-vectors.js.map +1 -1
  250. package/dist/maintenance/tasks/index.d.ts +0 -1
  251. package/dist/maintenance/tasks/index.d.ts.map +1 -1
  252. package/dist/maintenance/tasks/index.js +0 -1
  253. package/dist/maintenance/tasks/index.js.map +1 -1
  254. package/dist/mcp/index.d.ts +1 -1
  255. package/dist/mcp/index.d.ts.map +1 -1
  256. package/dist/mcp/index.js +1 -1
  257. package/dist/mcp/index.js.map +1 -1
  258. package/dist/mcp/server.d.ts.map +1 -1
  259. package/dist/mcp/server.js +7 -6
  260. package/dist/mcp/server.js.map +1 -1
  261. package/dist/mcp/tools.d.ts +5 -5
  262. package/dist/mcp/tools.d.ts.map +1 -1
  263. package/dist/mcp/tools.js +42 -36
  264. package/dist/mcp/tools.js.map +1 -1
  265. package/dist/models/device-detector.d.ts.map +1 -1
  266. package/dist/models/device-detector.js +20 -10
  267. package/dist/models/device-detector.js.map +1 -1
  268. package/dist/models/embedder.d.ts.map +1 -1
  269. package/dist/models/embedder.js +5 -2
  270. package/dist/models/embedder.js.map +1 -1
  271. package/dist/models/model-registry.d.ts.map +1 -1
  272. package/dist/models/model-registry.js.map +1 -1
  273. package/dist/parser/chunker.d.ts +5 -40
  274. package/dist/parser/chunker.d.ts.map +1 -1
  275. package/dist/parser/chunker.js +5 -111
  276. package/dist/parser/chunker.js.map +1 -1
  277. package/dist/parser/session-reader.d.ts.map +1 -1
  278. package/dist/parser/session-reader.js +3 -6
  279. package/dist/parser/session-reader.js.map +1 -1
  280. package/dist/parser/turn-assembler.d.ts.map +1 -1
  281. package/dist/parser/turn-assembler.js +0 -1
  282. package/dist/parser/turn-assembler.js.map +1 -1
  283. package/dist/parser/types.d.ts.map +1 -1
  284. package/dist/report/reporter.d.ts.map +1 -1
  285. package/dist/report/reporter.js +1 -3
  286. package/dist/report/reporter.js.map +1 -1
  287. package/dist/retrieval/chain-assembler.d.ts +58 -0
  288. package/dist/retrieval/chain-assembler.d.ts.map +1 -0
  289. package/dist/retrieval/chain-assembler.js +126 -0
  290. package/dist/retrieval/chain-assembler.js.map +1 -0
  291. package/dist/retrieval/chain-walker.d.ts +57 -0
  292. package/dist/retrieval/chain-walker.d.ts.map +1 -0
  293. package/dist/retrieval/chain-walker.js +121 -0
  294. package/dist/retrieval/chain-walker.js.map +1 -0
  295. package/dist/retrieval/cluster-expander.d.ts.map +1 -1
  296. package/dist/retrieval/cluster-expander.js +3 -3
  297. package/dist/retrieval/cluster-expander.js.map +1 -1
  298. package/dist/retrieval/context-assembler.d.ts +13 -36
  299. package/dist/retrieval/context-assembler.d.ts.map +1 -1
  300. package/dist/retrieval/context-assembler.js +50 -287
  301. package/dist/retrieval/context-assembler.js.map +1 -1
  302. package/dist/retrieval/index.d.ts +8 -4
  303. package/dist/retrieval/index.d.ts.map +1 -1
  304. package/dist/retrieval/index.js +7 -3
  305. package/dist/retrieval/index.js.map +1 -1
  306. package/dist/retrieval/rrf.d.ts.map +1 -1
  307. package/dist/retrieval/rrf.js +4 -2
  308. package/dist/retrieval/rrf.js.map +1 -1
  309. package/dist/retrieval/search-assembler.d.ts +59 -0
  310. package/dist/retrieval/search-assembler.d.ts.map +1 -0
  311. package/dist/retrieval/search-assembler.js +209 -0
  312. package/dist/retrieval/search-assembler.js.map +1 -0
  313. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  314. package/dist/retrieval/session-reconstructor.js +9 -7
  315. package/dist/retrieval/session-reconstructor.js.map +1 -1
  316. package/dist/storage/archive.d.ts +0 -2
  317. package/dist/storage/archive.d.ts.map +1 -1
  318. package/dist/storage/archive.js +18 -12
  319. package/dist/storage/archive.js.map +1 -1
  320. package/dist/storage/checkpoint-store.d.ts +0 -1
  321. package/dist/storage/checkpoint-store.d.ts.map +1 -1
  322. package/dist/storage/checkpoint-store.js +5 -7
  323. package/dist/storage/checkpoint-store.js.map +1 -1
  324. package/dist/storage/chunk-store.d.ts.map +1 -1
  325. package/dist/storage/chunk-store.js +15 -17
  326. package/dist/storage/chunk-store.js.map +1 -1
  327. package/dist/storage/cluster-store.d.ts.map +1 -1
  328. package/dist/storage/cluster-store.js.map +1 -1
  329. package/dist/storage/db.d.ts.map +1 -1
  330. package/dist/storage/db.js.map +1 -1
  331. package/dist/storage/edge-store.d.ts +17 -30
  332. package/dist/storage/edge-store.d.ts.map +1 -1
  333. package/dist/storage/edge-store.js +43 -123
  334. package/dist/storage/edge-store.js.map +1 -1
  335. package/dist/storage/embedding-cache.d.ts.map +1 -1
  336. package/dist/storage/embedding-cache.js +1 -3
  337. package/dist/storage/embedding-cache.js.map +1 -1
  338. package/dist/storage/encryption.d.ts.map +1 -1
  339. package/dist/storage/encryption.js +4 -15
  340. package/dist/storage/encryption.js.map +1 -1
  341. package/dist/storage/index.d.ts +1 -4
  342. package/dist/storage/index.d.ts.map +1 -1
  343. package/dist/storage/index.js +1 -5
  344. package/dist/storage/index.js.map +1 -1
  345. package/dist/storage/keyword-store.d.ts.map +1 -1
  346. package/dist/storage/keyword-store.js +11 -7
  347. package/dist/storage/keyword-store.js.map +1 -1
  348. package/dist/storage/migrations.d.ts.map +1 -1
  349. package/dist/storage/migrations.js +56 -4
  350. package/dist/storage/migrations.js.map +1 -1
  351. package/dist/storage/schema.sql +8 -20
  352. package/dist/storage/types.d.ts +12 -26
  353. package/dist/storage/types.d.ts.map +1 -1
  354. package/dist/storage/types.js +1 -2
  355. package/dist/storage/types.js.map +1 -1
  356. package/dist/storage/vector-store.d.ts +9 -15
  357. package/dist/storage/vector-store.d.ts.map +1 -1
  358. package/dist/storage/vector-store.js +64 -43
  359. package/dist/storage/vector-store.js.map +1 -1
  360. package/dist/utils/angular-distance.d.ts.map +1 -1
  361. package/dist/utils/angular-distance.js.map +1 -1
  362. package/dist/utils/logger.d.ts.map +1 -1
  363. package/dist/utils/logger.js.map +1 -1
  364. package/dist/utils/secret-store.d.ts.map +1 -1
  365. package/dist/utils/secret-store.js +17 -13
  366. package/dist/utils/secret-store.js.map +1 -1
  367. package/dist/utils/secure-buffer.d.ts.map +1 -1
  368. package/dist/utils/secure-buffer.js.map +1 -1
  369. package/package.json +6 -5
  370. package/src/dashboard/client/package-lock.json +3 -3
  371. package/src/dashboard/client/package.json +3 -3
  372. package/dist/dashboard/client/assets/index-CMUKy4f9.css +0 -1
  373. package/dist/dashboard/client/assets/index-esv8TpCN.js +0 -168
  374. package/dist/eval/collection-benchmark/graph-value.d.ts +0 -16
  375. package/dist/eval/collection-benchmark/graph-value.d.ts.map +0 -1
  376. package/dist/eval/collection-benchmark/graph-value.js +0 -162
  377. package/dist/eval/collection-benchmark/graph-value.js.map +0 -1
  378. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts +0 -10
  379. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts.map +0 -1
  380. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js +0 -229
  381. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js.map +0 -1
  382. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts +0 -12
  383. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts.map +0 -1
  384. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js +0 -316
  385. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js.map +0 -1
  386. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts +0 -19
  387. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts.map +0 -1
  388. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js +0 -127
  389. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js.map +0 -1
  390. package/dist/eval/experiments/vector-decay-shapes/index.d.ts +0 -11
  391. package/dist/eval/experiments/vector-decay-shapes/index.d.ts.map +0 -1
  392. package/dist/eval/experiments/vector-decay-shapes/index.js +0 -11
  393. package/dist/eval/experiments/vector-decay-shapes/index.js.map +0 -1
  394. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts +0 -14
  395. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts.map +0 -1
  396. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js +0 -274
  397. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js.map +0 -1
  398. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts +0 -36
  399. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts.map +0 -1
  400. package/dist/eval/experiments/vector-decay-shapes/presets.js +0 -157
  401. package/dist/eval/experiments/vector-decay-shapes/presets.js.map +0 -1
  402. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts +0 -20
  403. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts.map +0 -1
  404. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js +0 -504
  405. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js.map +0 -1
  406. package/dist/eval/experiments/vector-decay-shapes/types.d.ts +0 -111
  407. package/dist/eval/experiments/vector-decay-shapes/types.d.ts.map +0 -1
  408. package/dist/eval/experiments/vector-decay-shapes/types.js +0 -15
  409. package/dist/eval/experiments/vector-decay-shapes/types.js.map +0 -1
  410. package/dist/eval/experiments/vector-decay-sweep/index.d.ts +0 -7
  411. package/dist/eval/experiments/vector-decay-sweep/index.d.ts.map +0 -1
  412. package/dist/eval/experiments/vector-decay-sweep/index.js +0 -7
  413. package/dist/eval/experiments/vector-decay-sweep/index.js.map +0 -1
  414. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts +0 -30
  415. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts.map +0 -1
  416. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js +0 -378
  417. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js.map +0 -1
  418. package/dist/eval/experiments/vector-decay-sweep/types.d.ts +0 -109
  419. package/dist/eval/experiments/vector-decay-sweep/types.d.ts.map +0 -1
  420. package/dist/eval/experiments/vector-decay-sweep/types.js +0 -16
  421. package/dist/eval/experiments/vector-decay-sweep/types.js.map +0 -1
  422. package/dist/maintenance/tasks/prune-graph.d.ts +0 -12
  423. package/dist/maintenance/tasks/prune-graph.d.ts.map +0 -1
  424. package/dist/maintenance/tasks/prune-graph.js +0 -23
  425. package/dist/maintenance/tasks/prune-graph.js.map +0 -1
  426. package/dist/retrieval/traverser.d.ts +0 -66
  427. package/dist/retrieval/traverser.d.ts.map +0 -1
  428. package/dist/retrieval/traverser.js +0 -160
  429. package/dist/retrieval/traverser.js.map +0 -1
  430. package/dist/storage/clock-store.d.ts +0 -80
  431. package/dist/storage/clock-store.d.ts.map +0 -1
  432. package/dist/storage/clock-store.js +0 -155
  433. package/dist/storage/clock-store.js.map +0 -1
  434. package/dist/storage/decay.d.ts +0 -125
  435. package/dist/storage/decay.d.ts.map +0 -1
  436. package/dist/storage/decay.js +0 -276
  437. package/dist/storage/decay.js.map +0 -1
  438. package/dist/storage/pruner.d.ts +0 -111
  439. package/dist/storage/pruner.d.ts.map +0 -1
  440. package/dist/storage/pruner.js +0 -280
  441. package/dist/storage/pruner.js.map +0 -1
  442. package/dist/temporal/clock-compactor.d.ts +0 -65
  443. package/dist/temporal/clock-compactor.d.ts.map +0 -1
  444. package/dist/temporal/clock-compactor.js +0 -157
  445. package/dist/temporal/clock-compactor.js.map +0 -1
  446. package/dist/temporal/index.d.ts +0 -6
  447. package/dist/temporal/index.d.ts.map +0 -1
  448. package/dist/temporal/index.js +0 -6
  449. package/dist/temporal/index.js.map +0 -1
  450. package/dist/temporal/vector-clock.d.ts +0 -143
  451. package/dist/temporal/vector-clock.d.ts.map +0 -1
  452. package/dist/temporal/vector-clock.js +0 -231
  453. package/dist/temporal/vector-clock.js.map +0 -1
  454. package/dist/utils/keychain.d.ts +0 -43
  455. package/dist/utils/keychain.d.ts.map +0 -1
  456. package/dist/utils/keychain.js +0 -82
  457. package/dist/utils/keychain.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"pruner.js","sourceRoot":"","sources":["../../src/storage/pruner.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Clock compaction for reference clocks.
3
- *
4
- * Reference clocks accumulate agent entries over time. This module provides
5
- * compaction to prune entries only when ALL edges referencing that agent
6
- * have fully decayed.
7
- *
8
- * Why not prune by tick recency:
9
- * An agent may not tick for a long time, but edges referencing it could still
10
- * be queried. Pruning based on tick recency would break hop count calculation
11
- * for those edges.
12
- */
13
- import { type VectorClock } from './vector-clock.js';
14
- import { type VectorDecayConfig } from '../storage/decay.js';
15
- /**
16
- * Result of clock compaction.
17
- */
18
- export interface CompactionResult {
19
- /** Agent IDs that were pruned */
20
- prunedAgents: string[];
21
- /** Number of agent entries remaining */
22
- remainingAgents: number;
23
- /** Duration of compaction in milliseconds */
24
- durationMs: number;
25
- }
26
- /**
27
- * Compact the reference clock for a project by removing agent entries
28
- * that no longer have any live edges referencing them.
29
- *
30
- * @param projectSlug - Project identifier
31
- * @param vectorConfig - Vector decay configuration (optional)
32
- * @returns Compaction result
33
- */
34
- export declare function compactReferenceClock(projectSlug: string, vectorConfig?: VectorDecayConfig): Promise<CompactionResult>;
35
- /**
36
- * Get statistics about clock entries for a project.
37
- *
38
- * @param projectSlug - Project identifier
39
- * @returns Clock statistics
40
- */
41
- export declare function getClockStats(projectSlug: string): {
42
- agentCount: number;
43
- totalTicks: number;
44
- agents: Array<{
45
- agentId: string;
46
- ticks: number;
47
- }>;
48
- };
49
- /**
50
- * Estimate the "age" of edges in hop count terms.
51
- * Returns distribution of edges by hop count.
52
- *
53
- * @param projectSlug - Project identifier
54
- * @returns Histogram of hop counts
55
- */
56
- export declare function getHopCountDistribution(projectSlug: string): Promise<Map<number, number>>;
57
- /**
58
- * Force refresh the reference clock by merging all agent clocks.
59
- * Useful after data recovery or manual edits.
60
- *
61
- * @param projectSlug - Project identifier
62
- * @returns The refreshed reference clock
63
- */
64
- export declare function refreshReferenceClock(projectSlug: string): VectorClock;
65
- //# sourceMappingURL=clock-compactor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clock-compactor.d.ts","sourceRoot":"","sources":["../../src/temporal/clock-compactor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAGnF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wCAAwC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAyC3B;AA8CD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD,CAYA;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAsB9B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAYtE"}
@@ -1,157 +0,0 @@
1
- /**
2
- * Clock compaction for reference clocks.
3
- *
4
- * Reference clocks accumulate agent entries over time. This module provides
5
- * compaction to prune entries only when ALL edges referencing that agent
6
- * have fully decayed.
7
- *
8
- * Why not prune by tick recency:
9
- * An agent may not tick for a long time, but edges referencing it could still
10
- * be queried. Pruning based on tick recency would break hop count calculation
11
- * for those edges.
12
- */
13
- import { getDb } from '../storage/db.js';
14
- import { getReferenceClock, setReferenceClock, getAllAgentClocks, } from '../storage/clock-store.js';
15
- import { hopCount, deserialize, } from './vector-clock.js';
16
- import { DEFAULT_VECTOR_DECAY } from '../storage/decay.js';
17
- import { getConfig } from '../config/memory-config.js';
18
- /**
19
- * Compact the reference clock for a project by removing agent entries
20
- * that no longer have any live edges referencing them.
21
- *
22
- * @param projectSlug - Project identifier
23
- * @param vectorConfig - Vector decay configuration (optional)
24
- * @returns Compaction result
25
- */
26
- export async function compactReferenceClock(projectSlug, vectorConfig) {
27
- const startTime = Date.now();
28
- const config = vectorConfig ?? getConfig().vectorDecay ?? DEFAULT_VECTOR_DECAY;
29
- const refClock = getReferenceClock(projectSlug);
30
- const agentIds = Object.keys(refClock);
31
- if (agentIds.length === 0) {
32
- return {
33
- prunedAgents: [],
34
- remainingAgents: 0,
35
- durationMs: Date.now() - startTime,
36
- };
37
- }
38
- const prunedAgents = [];
39
- for (const agentId of agentIds) {
40
- const hasLiveEdges = await hasEdgesReferencingAgent(projectSlug, agentId, refClock, config);
41
- if (!hasLiveEdges) {
42
- prunedAgents.push(agentId);
43
- }
44
- }
45
- if (prunedAgents.length > 0) {
46
- // Remove pruned agents from reference clock
47
- const newClock = {};
48
- for (const [id, ticks] of Object.entries(refClock)) {
49
- if (!prunedAgents.includes(id)) {
50
- newClock[id] = ticks;
51
- }
52
- }
53
- setReferenceClock(projectSlug, newClock);
54
- }
55
- return {
56
- prunedAgents,
57
- remainingAgents: agentIds.length - prunedAgents.length,
58
- durationMs: Date.now() - startTime,
59
- };
60
- }
61
- /**
62
- * Check if any live edges reference a specific agent in their vector clock.
63
- *
64
- * @param projectSlug - Project identifier
65
- * @param agentId - Agent ID to check
66
- * @param refClock - Current reference clock
67
- * @param config - Vector decay configuration
68
- * @returns true if at least one live edge references this agent
69
- */
70
- async function hasEdgesReferencingAgent(projectSlug, agentId, refClock, config) {
71
- const db = getDb();
72
- // Find edges in this project whose vector_clock contains this agentId
73
- // We use LIKE to find JSON containing the agent ID
74
- const rows = db.prepare(`
75
- SELECT e.vector_clock FROM edges e
76
- JOIN chunks c ON e.source_chunk_id = c.id
77
- WHERE c.session_slug = ?
78
- AND e.vector_clock LIKE ?
79
- `).all(projectSlug, `%"${agentId}":%`);
80
- for (const row of rows) {
81
- if (!row.vector_clock)
82
- continue;
83
- const edgeClock = deserialize(row.vector_clock);
84
- if (!(agentId in edgeClock))
85
- continue;
86
- // Calculate if edge is still alive
87
- const hops = hopCount(edgeClock, refClock);
88
- const weight = Math.pow(config.weightPerHop, hops);
89
- if (weight >= config.minWeight) {
90
- return true; // At least one live edge references this agent
91
- }
92
- }
93
- return false; // No live edges reference this agent
94
- }
95
- /**
96
- * Get statistics about clock entries for a project.
97
- *
98
- * @param projectSlug - Project identifier
99
- * @returns Clock statistics
100
- */
101
- export function getClockStats(projectSlug) {
102
- const refClock = getReferenceClock(projectSlug);
103
- const agents = Object.entries(refClock).map(([agentId, ticks]) => ({
104
- agentId,
105
- ticks,
106
- }));
107
- return {
108
- agentCount: agents.length,
109
- totalTicks: agents.reduce((sum, a) => sum + a.ticks, 0),
110
- agents: agents.sort((a, b) => b.ticks - a.ticks),
111
- };
112
- }
113
- /**
114
- * Estimate the "age" of edges in hop count terms.
115
- * Returns distribution of edges by hop count.
116
- *
117
- * @param projectSlug - Project identifier
118
- * @returns Histogram of hop counts
119
- */
120
- export async function getHopCountDistribution(projectSlug) {
121
- const db = getDb();
122
- const refClock = getReferenceClock(projectSlug);
123
- const distribution = new Map();
124
- const rows = db.prepare(`
125
- SELECT e.vector_clock FROM edges e
126
- JOIN chunks c ON e.source_chunk_id = c.id
127
- WHERE c.session_slug = ?
128
- AND e.vector_clock IS NOT NULL
129
- `).all(projectSlug);
130
- for (const row of rows) {
131
- if (!row.vector_clock)
132
- continue;
133
- const edgeClock = deserialize(row.vector_clock);
134
- const hops = hopCount(edgeClock, refClock);
135
- distribution.set(hops, (distribution.get(hops) ?? 0) + 1);
136
- }
137
- return distribution;
138
- }
139
- /**
140
- * Force refresh the reference clock by merging all agent clocks.
141
- * Useful after data recovery or manual edits.
142
- *
143
- * @param projectSlug - Project identifier
144
- * @returns The refreshed reference clock
145
- */
146
- export function refreshReferenceClock(projectSlug) {
147
- const agentClocks = getAllAgentClocks(projectSlug);
148
- const refClock = {};
149
- for (const [, clock] of agentClocks) {
150
- for (const [agentId, ticks] of Object.entries(clock)) {
151
- refClock[agentId] = Math.max(refClock[agentId] ?? 0, ticks);
152
- }
153
- }
154
- setReferenceClock(projectSlug, refClock);
155
- return refClock;
156
- }
157
- //# sourceMappingURL=clock-compactor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clock-compactor.js","sourceRoot":"","sources":["../../src/temporal/clock-compactor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Temporal module exports.
3
- */
4
- export * from './vector-clock.js';
5
- export * from './clock-compactor.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Temporal module exports.
3
- */
4
- export * from './vector-clock.js';
5
- export * from './clock-compactor.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/temporal/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
@@ -1,143 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,231 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector-clock.js","sourceRoot":"","sources":["../../src/temporal/vector-clock.ts"],"names":[],"mappings":"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"}