squish-memory 1.2.0 → 1.2.1

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 (449) hide show
  1. package/bin/squish-mcp.mjs +40 -42
  2. package/core/scheduler/cron-scheduler.ts +10 -1
  3. package/core/worker.ts +10 -1
  4. package/package.json +119 -119
  5. package/packages/mcp/src/index.ts +99 -36
  6. package/dist/config.d.ts +0 -106
  7. package/dist/config.js +0 -194
  8. package/dist/core/adapters/config/claude-code.d.ts +0 -45
  9. package/dist/core/adapters/config/claude-code.js +0 -113
  10. package/dist/core/adapters/config/cursor.d.ts +0 -26
  11. package/dist/core/adapters/config/cursor.js +0 -74
  12. package/dist/core/adapters/config/opencode.d.ts +0 -23
  13. package/dist/core/adapters/config/opencode.js +0 -73
  14. package/dist/core/adapters/config/windsurf.d.ts +0 -26
  15. package/dist/core/adapters/config/windsurf.js +0 -74
  16. package/dist/core/adapters/index.d.ts +0 -45
  17. package/dist/core/adapters/index.js +0 -84
  18. package/dist/core/adapters/scripts/install-adapter.d.ts +0 -19
  19. package/dist/core/adapters/scripts/install-adapter.js +0 -149
  20. package/dist/core/adapters/timeline.d.ts +0 -23
  21. package/dist/core/adapters/timeline.js +0 -88
  22. package/dist/core/adapters/types.d.ts +0 -137
  23. package/dist/core/adapters/types.js +0 -50
  24. package/dist/core/agent-preferences.d.ts +0 -16
  25. package/dist/core/agent-preferences.js +0 -124
  26. package/dist/core/algorithms/analytics/token-estimator.d.ts +0 -50
  27. package/dist/core/algorithms/analytics/token-estimator.js +0 -154
  28. package/dist/core/algorithms/detection/hash-filters.d.ts +0 -47
  29. package/dist/core/algorithms/detection/hash-filters.js +0 -190
  30. package/dist/core/algorithms/detection/semantic-ranker.d.ts +0 -32
  31. package/dist/core/algorithms/detection/semantic-ranker.js +0 -118
  32. package/dist/core/algorithms/detection/two-stage-detector.d.ts +0 -52
  33. package/dist/core/algorithms/detection/two-stage-detector.js +0 -299
  34. package/dist/core/algorithms/handlers/approve-merge.d.ts +0 -22
  35. package/dist/core/algorithms/handlers/approve-merge.js +0 -179
  36. package/dist/core/algorithms/handlers/detect-duplicates.d.ts +0 -47
  37. package/dist/core/algorithms/handlers/detect-duplicates.js +0 -145
  38. package/dist/core/algorithms/handlers/get-stats.d.ts +0 -39
  39. package/dist/core/algorithms/handlers/get-stats.js +0 -88
  40. package/dist/core/algorithms/handlers/list-proposals.d.ts +0 -45
  41. package/dist/core/algorithms/handlers/list-proposals.js +0 -83
  42. package/dist/core/algorithms/handlers/preview-merge.d.ts +0 -39
  43. package/dist/core/algorithms/handlers/preview-merge.js +0 -93
  44. package/dist/core/algorithms/handlers/reject-merge.d.ts +0 -28
  45. package/dist/core/algorithms/handlers/reject-merge.js +0 -69
  46. package/dist/core/algorithms/handlers/reverse-merge.d.ts +0 -21
  47. package/dist/core/algorithms/handlers/reverse-merge.js +0 -121
  48. package/dist/core/algorithms/index.d.ts +0 -21
  49. package/dist/core/algorithms/index.js +0 -26
  50. package/dist/core/algorithms/operations/cache-maintenance.d.ts +0 -12
  51. package/dist/core/algorithms/operations/cache-maintenance.js +0 -157
  52. package/dist/core/algorithms/safety/safety-checks.d.ts +0 -18
  53. package/dist/core/algorithms/safety/safety-checks.js +0 -179
  54. package/dist/core/algorithms/strategies/merge-strategies.d.ts +0 -50
  55. package/dist/core/algorithms/strategies/merge-strategies.js +0 -288
  56. package/dist/core/algorithms/types.d.ts +0 -125
  57. package/dist/core/algorithms/types.js +0 -5
  58. package/dist/core/algorithms/utils/response-builder.d.ts +0 -28
  59. package/dist/core/algorithms/utils/response-builder.js +0 -37
  60. package/dist/core/associations.d.ts +0 -33
  61. package/dist/core/associations.js +0 -284
  62. package/dist/core/autosave.d.ts +0 -19
  63. package/dist/core/autosave.js +0 -16
  64. package/dist/core/beliefs/decay.d.ts +0 -27
  65. package/dist/core/beliefs/decay.js +0 -217
  66. package/dist/core/beliefs/extractor.d.ts +0 -9
  67. package/dist/core/beliefs/extractor.js +0 -113
  68. package/dist/core/beliefs/store.d.ts +0 -46
  69. package/dist/core/beliefs/store.js +0 -466
  70. package/dist/core/beliefs/types.d.ts +0 -28
  71. package/dist/core/beliefs/types.js +0 -2
  72. package/dist/core/commands/mcp-server.d.ts +0 -2
  73. package/dist/core/commands/mcp-server.js +0 -6
  74. package/dist/core/commands/remember.d.ts +0 -24
  75. package/dist/core/commands/remember.js +0 -144
  76. package/dist/core/compression.d.ts +0 -45
  77. package/dist/core/compression.js +0 -160
  78. package/dist/core/consolidation.d.ts +0 -37
  79. package/dist/core/consolidation.js +0 -248
  80. package/dist/core/context/agent-context.d.ts +0 -106
  81. package/dist/core/context/agent-context.js +0 -274
  82. package/dist/core/context/context-paging.d.ts +0 -80
  83. package/dist/core/context/context-paging.js +0 -328
  84. package/dist/core/context/context-window.d.ts +0 -40
  85. package/dist/core/context/context-window.js +0 -177
  86. package/dist/core/context/context.d.ts +0 -7
  87. package/dist/core/context/context.js +0 -22
  88. package/dist/core/embeddings/embeddings.d.ts +0 -29
  89. package/dist/core/embeddings/embeddings.js +0 -546
  90. package/dist/core/embeddings/google-multimodal.d.ts +0 -14
  91. package/dist/core/embeddings/google-multimodal.js +0 -146
  92. package/dist/core/embeddings/local-embeddings.d.ts +0 -11
  93. package/dist/core/embeddings/local-embeddings.js +0 -11
  94. package/dist/core/embeddings/qmd-client.d.ts +0 -136
  95. package/dist/core/embeddings/qmd-client.js +0 -403
  96. package/dist/core/embeddings/transformers-local.d.ts +0 -64
  97. package/dist/core/embeddings/transformers-local.js +0 -213
  98. package/dist/core/embeddings.d.ts +0 -2
  99. package/dist/core/embeddings.js +0 -3
  100. package/dist/core/error-handling.d.ts +0 -63
  101. package/dist/core/error-handling.js +0 -173
  102. package/dist/core/graph/entity-deduplicator.d.ts +0 -24
  103. package/dist/core/graph/entity-deduplicator.js +0 -183
  104. package/dist/core/graph/graph-builder.d.ts +0 -46
  105. package/dist/core/graph/graph-builder.js +0 -174
  106. package/dist/core/graph/graph-traversal.d.ts +0 -80
  107. package/dist/core/graph/graph-traversal.js +0 -315
  108. package/dist/core/graph/index.d.ts +0 -19
  109. package/dist/core/graph/index.js +0 -13
  110. package/dist/core/graph/llm-entity-extractor.d.ts +0 -49
  111. package/dist/core/graph/llm-entity-extractor.js +0 -313
  112. package/dist/core/graph/multi-hop-retrieval.d.ts +0 -48
  113. package/dist/core/graph/multi-hop-retrieval.js +0 -215
  114. package/dist/core/graph/relationship-extractor.d.ts +0 -48
  115. package/dist/core/graph/relationship-extractor.js +0 -351
  116. package/dist/core/hooks/agent-hooks.d.ts +0 -83
  117. package/dist/core/hooks/agent-hooks.js +0 -521
  118. package/dist/core/hooks/auto-tagger.d.ts +0 -19
  119. package/dist/core/hooks/auto-tagger.js +0 -155
  120. package/dist/core/hooks/capture-filter.d.ts +0 -41
  121. package/dist/core/hooks/capture-filter.js +0 -128
  122. package/dist/core/hot-cache.d.ts +0 -86
  123. package/dist/core/hot-cache.js +0 -285
  124. package/dist/core/index.d.ts +0 -10
  125. package/dist/core/index.js +0 -11
  126. package/dist/core/ingestion/agent-memory.d.ts +0 -22
  127. package/dist/core/ingestion/agent-memory.js +0 -109
  128. package/dist/core/ingestion/core-memory.d.ts +0 -78
  129. package/dist/core/ingestion/core-memory.js +0 -226
  130. package/dist/core/ingestion/learnings.d.ts +0 -57
  131. package/dist/core/ingestion/learnings.js +0 -205
  132. package/dist/core/ingestion/signal-engine.d.ts +0 -41
  133. package/dist/core/ingestion/signal-engine.js +0 -201
  134. package/dist/core/integrations/obsidian-vault.d.ts +0 -31
  135. package/dist/core/integrations/obsidian-vault.js +0 -156
  136. package/dist/core/layers/generator.d.ts +0 -25
  137. package/dist/core/layers/generator.js +0 -76
  138. package/dist/core/lib/db-client.d.ts +0 -114
  139. package/dist/core/lib/db-client.js +0 -130
  140. package/dist/core/lib/parse-embedding.d.ts +0 -9
  141. package/dist/core/lib/parse-embedding.js +0 -58
  142. package/dist/core/lib/schemas.d.ts +0 -132
  143. package/dist/core/lib/schemas.js +0 -87
  144. package/dist/core/lib/types.d.ts +0 -45
  145. package/dist/core/lib/types.js +0 -6
  146. package/dist/core/lib/utils.d.ts +0 -18
  147. package/dist/core/lib/utils.js +0 -145
  148. package/dist/core/lib/validation.d.ts +0 -38
  149. package/dist/core/lib/validation.js +0 -151
  150. package/dist/core/lifecycle.d.ts +0 -25
  151. package/dist/core/lifecycle.js +0 -292
  152. package/dist/core/logger.d.ts +0 -17
  153. package/dist/core/logger.js +0 -46
  154. package/dist/core/mcp/client.d.ts +0 -17
  155. package/dist/core/mcp/client.js +0 -101
  156. package/dist/core/mcp/index.d.ts +0 -6
  157. package/dist/core/mcp/index.js +0 -6
  158. package/dist/core/mcp/server.d.ts +0 -18
  159. package/dist/core/mcp/server.js +0 -157
  160. package/dist/core/mcp/standalone-server.d.ts +0 -13
  161. package/dist/core/mcp/standalone-server.js +0 -46
  162. package/dist/core/mcp/tools.d.ts +0 -7
  163. package/dist/core/mcp/tools.js +0 -278
  164. package/dist/core/mcp/types.d.ts +0 -87
  165. package/dist/core/mcp/types.js +0 -48
  166. package/dist/core/memory/bridge-discovery.d.ts +0 -50
  167. package/dist/core/memory/bridge-discovery.js +0 -291
  168. package/dist/core/memory/categorizer.d.ts +0 -27
  169. package/dist/core/memory/categorizer.js +0 -306
  170. package/dist/core/memory/conflict-detector.d.ts +0 -7
  171. package/dist/core/memory/conflict-detector.js +0 -43
  172. package/dist/core/memory/consolidation.d.ts +0 -42
  173. package/dist/core/memory/consolidation.js +0 -277
  174. package/dist/core/memory/context-collector.d.ts +0 -10
  175. package/dist/core/memory/context-collector.js +0 -56
  176. package/dist/core/memory/contradiction-resolver.d.ts +0 -40
  177. package/dist/core/memory/contradiction-resolver.js +0 -368
  178. package/dist/core/memory/edit-workflow.d.ts +0 -19
  179. package/dist/core/memory/edit-workflow.js +0 -120
  180. package/dist/core/memory/entity-extractor.d.ts +0 -37
  181. package/dist/core/memory/entity-extractor.js +0 -350
  182. package/dist/core/memory/entity-resolver.d.ts +0 -23
  183. package/dist/core/memory/entity-resolver.js +0 -64
  184. package/dist/core/memory/explain.d.ts +0 -18
  185. package/dist/core/memory/explain.js +0 -92
  186. package/dist/core/memory/fact-deriver.d.ts +0 -31
  187. package/dist/core/memory/fact-deriver.js +0 -236
  188. package/dist/core/memory/fact-extractor.d.ts +0 -24
  189. package/dist/core/memory/fact-extractor.js +0 -89
  190. package/dist/core/memory/feedback-tracker.d.ts +0 -12
  191. package/dist/core/memory/feedback-tracker.js +0 -155
  192. package/dist/core/memory/hooks.d.ts +0 -88
  193. package/dist/core/memory/hooks.js +0 -174
  194. package/dist/core/memory/hybrid-retrieval.d.ts +0 -27
  195. package/dist/core/memory/hybrid-retrieval.js +0 -37
  196. package/dist/core/memory/hybrid-scorer.d.ts +0 -40
  197. package/dist/core/memory/hybrid-scorer.js +0 -267
  198. package/dist/core/memory/hybrid-search.d.ts +0 -23
  199. package/dist/core/memory/hybrid-search.js +0 -596
  200. package/dist/core/memory/importance.d.ts +0 -46
  201. package/dist/core/memory/importance.js +0 -241
  202. package/dist/core/memory/index.d.ts +0 -9
  203. package/dist/core/memory/index.js +0 -11
  204. package/dist/core/memory/loader.d.ts +0 -31
  205. package/dist/core/memory/loader.js +0 -141
  206. package/dist/core/memory/markdown/markdown-storage.d.ts +0 -72
  207. package/dist/core/memory/markdown/markdown-storage.js +0 -243
  208. package/dist/core/memory/memories.d.ts +0 -43
  209. package/dist/core/memory/memories.js +0 -452
  210. package/dist/core/memory/memory-lifecycle.d.ts +0 -8
  211. package/dist/core/memory/memory-lifecycle.js +0 -47
  212. package/dist/core/memory/memory-manager.d.ts +0 -15
  213. package/dist/core/memory/memory-manager.js +0 -46
  214. package/dist/core/memory/migrate.d.ts +0 -21
  215. package/dist/core/memory/migrate.js +0 -134
  216. package/dist/core/memory/normalization.d.ts +0 -7
  217. package/dist/core/memory/normalization.js +0 -26
  218. package/dist/core/memory/path-strengthener.d.ts +0 -39
  219. package/dist/core/memory/path-strengthener.js +0 -150
  220. package/dist/core/memory/progressive-disclosure.d.ts +0 -43
  221. package/dist/core/memory/progressive-disclosure.js +0 -280
  222. package/dist/core/memory/query-processor.d.ts +0 -21
  223. package/dist/core/memory/query-processor.js +0 -106
  224. package/dist/core/memory/query-rewriter.d.ts +0 -13
  225. package/dist/core/memory/query-rewriter.js +0 -118
  226. package/dist/core/memory/response-analyzer.d.ts +0 -9
  227. package/dist/core/memory/response-analyzer.js +0 -61
  228. package/dist/core/memory/retrieval-feedback.d.ts +0 -70
  229. package/dist/core/memory/retrieval-feedback.js +0 -213
  230. package/dist/core/memory/serialization.d.ts +0 -10
  231. package/dist/core/memory/serialization.js +0 -84
  232. package/dist/core/memory/stale-cleaner.d.ts +0 -26
  233. package/dist/core/memory/stale-cleaner.js +0 -97
  234. package/dist/core/memory/stats.d.ts +0 -32
  235. package/dist/core/memory/stats.js +0 -143
  236. package/dist/core/memory/telemetry.d.ts +0 -69
  237. package/dist/core/memory/telemetry.js +0 -313
  238. package/dist/core/memory/temporal-facts.d.ts +0 -41
  239. package/dist/core/memory/temporal-facts.js +0 -283
  240. package/dist/core/memory/temporal-parser.d.ts +0 -32
  241. package/dist/core/memory/temporal-parser.js +0 -385
  242. package/dist/core/memory/trigger-detector.d.ts +0 -21
  243. package/dist/core/memory/trigger-detector.js +0 -79
  244. package/dist/core/memory/write-gate.d.ts +0 -54
  245. package/dist/core/memory/write-gate.js +0 -210
  246. package/dist/core/places/index.d.ts +0 -14
  247. package/dist/core/places/index.js +0 -14
  248. package/dist/core/places/memory-places.d.ts +0 -68
  249. package/dist/core/places/memory-places.js +0 -261
  250. package/dist/core/places/places.d.ts +0 -88
  251. package/dist/core/places/places.js +0 -314
  252. package/dist/core/places/rules.d.ts +0 -74
  253. package/dist/core/places/rules.js +0 -240
  254. package/dist/core/places/walking.d.ts +0 -56
  255. package/dist/core/places/walking.js +0 -121
  256. package/dist/core/projects.d.ts +0 -17
  257. package/dist/core/projects.js +0 -116
  258. package/dist/core/redis.d.ts +0 -11
  259. package/dist/core/redis.js +0 -69
  260. package/dist/core/responses.d.ts +0 -96
  261. package/dist/core/responses.js +0 -122
  262. package/dist/core/runtime/trust-report.d.ts +0 -102
  263. package/dist/core/runtime/trust-report.js +0 -107
  264. package/dist/core/runtime/trust-state.d.ts +0 -12
  265. package/dist/core/runtime/trust-state.js +0 -309
  266. package/dist/core/scheduler/cron-scheduler.d.ts +0 -32
  267. package/dist/core/scheduler/cron-scheduler.js +0 -493
  268. package/dist/core/scheduler/heartbeat.d.ts +0 -11
  269. package/dist/core/scheduler/heartbeat.js +0 -73
  270. package/dist/core/scheduler/index.d.ts +0 -8
  271. package/dist/core/scheduler/index.js +0 -8
  272. package/dist/core/scheduler/job-runner.d.ts +0 -11
  273. package/dist/core/scheduler/job-runner.js +0 -164
  274. package/dist/core/search/conversations.d.ts +0 -25
  275. package/dist/core/search/conversations.js +0 -110
  276. package/dist/core/search/entities.d.ts +0 -12
  277. package/dist/core/search/entities.js +0 -31
  278. package/dist/core/search/folder-context.d.ts +0 -25
  279. package/dist/core/search/folder-context.js +0 -119
  280. package/dist/core/search/graph-boost.d.ts +0 -7
  281. package/dist/core/search/graph-boost.js +0 -23
  282. package/dist/core/search/index.d.ts +0 -4
  283. package/dist/core/search/index.js +0 -5
  284. package/dist/core/search/qmd-wrapper.d.ts +0 -36
  285. package/dist/core/search/qmd-wrapper.js +0 -58
  286. package/dist/core/security/encrypt.d.ts +0 -6
  287. package/dist/core/security/encrypt.js +0 -47
  288. package/dist/core/security/governance.d.ts +0 -26
  289. package/dist/core/security/governance.js +0 -79
  290. package/dist/core/security/privacy.d.ts +0 -23
  291. package/dist/core/security/privacy.js +0 -82
  292. package/dist/core/security/secret-detector.d.ts +0 -32
  293. package/dist/core/security/secret-detector.js +0 -88
  294. package/dist/core/session/auto-load.d.ts +0 -6
  295. package/dist/core/session/auto-load.js +0 -144
  296. package/dist/core/session/entity-tracker.d.ts +0 -62
  297. package/dist/core/session/entity-tracker.js +0 -287
  298. package/dist/core/session/index.d.ts +0 -7
  299. package/dist/core/session/index.js +0 -7
  300. package/dist/core/session/reference-resolver.d.ts +0 -26
  301. package/dist/core/session/reference-resolver.js +0 -121
  302. package/dist/core/session/self-iteration-job.d.ts +0 -35
  303. package/dist/core/session/self-iteration-job.js +0 -387
  304. package/dist/core/session/session-hooks.d.ts +0 -18
  305. package/dist/core/session/session-hooks.js +0 -58
  306. package/dist/core/session/types.d.ts +0 -26
  307. package/dist/core/session/types.js +0 -10
  308. package/dist/core/session/working-set.d.ts +0 -50
  309. package/dist/core/session/working-set.js +0 -212
  310. package/dist/core/snapshots/cleanup.d.ts +0 -9
  311. package/dist/core/snapshots/cleanup.js +0 -12
  312. package/dist/core/snapshots/comparison.d.ts +0 -19
  313. package/dist/core/snapshots/comparison.js +0 -43
  314. package/dist/core/snapshots/creation.d.ts +0 -13
  315. package/dist/core/snapshots/creation.js +0 -117
  316. package/dist/core/snapshots/retrieval.d.ts +0 -7
  317. package/dist/core/snapshots/retrieval.js +0 -41
  318. package/dist/core/snapshots/stats.d.ts +0 -11
  319. package/dist/core/snapshots/stats.js +0 -52
  320. package/dist/core/storage/cache.d.ts +0 -13
  321. package/dist/core/storage/cache.js +0 -202
  322. package/dist/core/storage/database.d.ts +0 -12
  323. package/dist/core/storage/database.js +0 -12
  324. package/dist/core/summarization/cleanup.d.ts +0 -9
  325. package/dist/core/summarization/cleanup.js +0 -12
  326. package/dist/core/summarization/queries.d.ts +0 -9
  327. package/dist/core/summarization/queries.js +0 -28
  328. package/dist/core/summarization/stats.d.ts +0 -14
  329. package/dist/core/summarization/stats.js +0 -52
  330. package/dist/core/summarization/strategies.d.ts +0 -24
  331. package/dist/core/summarization/strategies.js +0 -28
  332. package/dist/core/summarization.d.ts +0 -37
  333. package/dist/core/summarization.js +0 -188
  334. package/dist/core/temporal-facts.d.ts +0 -54
  335. package/dist/core/temporal-facts.js +0 -193
  336. package/dist/core/tracing/collector.d.ts +0 -111
  337. package/dist/core/tracing/collector.js +0 -350
  338. package/dist/core/tracing/visualizer.d.ts +0 -32
  339. package/dist/core/tracing/visualizer.js +0 -165
  340. package/dist/core/utils/cleanup-operations.d.ts +0 -13
  341. package/dist/core/utils/cleanup-operations.js +0 -44
  342. package/dist/core/utils/content-extraction.d.ts +0 -19
  343. package/dist/core/utils/content-extraction.js +0 -75
  344. package/dist/core/utils/filter-builder.d.ts +0 -13
  345. package/dist/core/utils/filter-builder.js +0 -44
  346. package/dist/core/utils/history-traversal.d.ts +0 -13
  347. package/dist/core/utils/history-traversal.js +0 -50
  348. package/dist/core/utils/memory-operations.d.ts +0 -17
  349. package/dist/core/utils/memory-operations.js +0 -43
  350. package/dist/core/utils/query-operations.d.ts +0 -18
  351. package/dist/core/utils/query-operations.js +0 -65
  352. package/dist/core/utils/summarization-helpers.d.ts +0 -17
  353. package/dist/core/utils/summarization-helpers.js +0 -33
  354. package/dist/core/utils/temporal-queries.d.ts +0 -13
  355. package/dist/core/utils/temporal-queries.js +0 -27
  356. package/dist/core/utils/vector-operations.d.ts +0 -71
  357. package/dist/core/utils/vector-operations.js +0 -129
  358. package/dist/core/utils/version-management.d.ts +0 -9
  359. package/dist/core/utils/version-management.js +0 -61
  360. package/dist/core/worker.d.ts +0 -82
  361. package/dist/core/worker.js +0 -272
  362. package/dist/db/adapter.d.ts +0 -7
  363. package/dist/db/adapter.js +0 -175
  364. package/dist/db/bootstrap.d.ts +0 -11
  365. package/dist/db/bootstrap.js +0 -1034
  366. package/dist/db/drizzle/schema-sqlite.d.ts +0 -5538
  367. package/dist/db/drizzle/schema-sqlite.js +0 -763
  368. package/dist/db/drizzle/schema.d.ts +0 -4734
  369. package/dist/db/drizzle/schema.js +0 -859
  370. package/dist/db/drizzle.config.d.ts +0 -3
  371. package/dist/db/drizzle.config.js +0 -12
  372. package/dist/db/index.d.ts +0 -7
  373. package/dist/db/index.js +0 -89
  374. package/dist/db/migrations/associations.d.ts +0 -6
  375. package/dist/db/migrations/associations.js +0 -29
  376. package/dist/db/migrations/beliefs.d.ts +0 -10
  377. package/dist/db/migrations/beliefs.js +0 -76
  378. package/dist/db/migrations/core-memory.d.ts +0 -6
  379. package/dist/db/migrations/core-memory.js +0 -29
  380. package/dist/db/migrations/fts.d.ts +0 -6
  381. package/dist/db/migrations/fts.js +0 -52
  382. package/dist/db/migrations/index.d.ts +0 -25
  383. package/dist/db/migrations/index.js +0 -51
  384. package/dist/db/migrations/indexes.d.ts +0 -6
  385. package/dist/db/migrations/indexes.js +0 -30
  386. package/dist/db/migrations/learnings.d.ts +0 -7
  387. package/dist/db/migrations/learnings.js +0 -26
  388. package/dist/db/migrations/maintenance.d.ts +0 -6
  389. package/dist/db/migrations/maintenance.js +0 -61
  390. package/dist/db/migrations/memories.d.ts +0 -7
  391. package/dist/db/migrations/memories.js +0 -16
  392. package/dist/db/migrations/memory-places.d.ts +0 -6
  393. package/dist/db/migrations/memory-places.js +0 -29
  394. package/dist/db/migrations/places.d.ts +0 -6
  395. package/dist/db/migrations/places.js +0 -43
  396. package/dist/db/migrations/projects.d.ts +0 -3
  397. package/dist/db/migrations/projects.js +0 -13
  398. package/dist/db/migrations/tier-conversion.d.ts +0 -7
  399. package/dist/db/migrations/tier-conversion.js +0 -20
  400. package/dist/db/neon.d.ts +0 -8
  401. package/dist/db/neon.js +0 -20
  402. package/dist/db/schema/beliefs.d.ts +0 -9
  403. package/dist/db/schema/beliefs.js +0 -46
  404. package/dist/db/schema/generator.d.ts +0 -38
  405. package/dist/db/schema/generator.js +0 -108
  406. package/dist/db/schema/index.d.ts +0 -39
  407. package/dist/db/schema/index.js +0 -51
  408. package/dist/db/schema/learnings.d.ts +0 -7
  409. package/dist/db/schema/learnings.js +0 -30
  410. package/dist/db/schema/memories.d.ts +0 -7
  411. package/dist/db/schema/memories.js +0 -81
  412. package/dist/db/schema/projects.d.ts +0 -4
  413. package/dist/db/schema/projects.js +0 -31
  414. package/dist/db/schema/tables/context-sessions.d.ts +0 -9
  415. package/dist/db/schema/tables/context-sessions.js +0 -37
  416. package/dist/db/schema/tables/conversations.d.ts +0 -9
  417. package/dist/db/schema/tables/conversations.js +0 -47
  418. package/dist/db/schema/tables/core-memory.d.ts +0 -9
  419. package/dist/db/schema/tables/core-memory.js +0 -41
  420. package/dist/db/schema/tables/entities.d.ts +0 -9
  421. package/dist/db/schema/tables/entities.js +0 -39
  422. package/dist/db/schema/tables/entity-relations.d.ts +0 -9
  423. package/dist/db/schema/tables/entity-relations.js +0 -31
  424. package/dist/db/schema/tables/learnings.d.ts +0 -9
  425. package/dist/db/schema/tables/learnings.js +0 -66
  426. package/dist/db/schema/tables/memories.d.ts +0 -9
  427. package/dist/db/schema/tables/memories.js +0 -161
  428. package/dist/db/schema/tables/memory-associations.d.ts +0 -9
  429. package/dist/db/schema/tables/memory-associations.js +0 -39
  430. package/dist/db/schema/tables/memory-hash-cache.d.ts +0 -9
  431. package/dist/db/schema/tables/memory-hash-cache.js +0 -29
  432. package/dist/db/schema/tables/memory-merge-history.d.ts +0 -9
  433. package/dist/db/schema/tables/memory-merge-history.js +0 -33
  434. package/dist/db/schema/tables/memory-merge-proposals.d.ts +0 -9
  435. package/dist/db/schema/tables/memory-merge-proposals.js +0 -39
  436. package/dist/db/schema/tables/messages.d.ts +0 -9
  437. package/dist/db/schema/tables/messages.js +0 -41
  438. package/dist/db/schema/tables/namespaces.d.ts +0 -9
  439. package/dist/db/schema/tables/namespaces.js +0 -37
  440. package/dist/db/schema/tables/projects.d.ts +0 -9
  441. package/dist/db/schema/tables/projects.js +0 -31
  442. package/dist/db/schema/tables/users.d.ts +0 -9
  443. package/dist/db/schema/tables/users.js +0 -27
  444. package/dist/db/schema.d.ts +0 -3
  445. package/dist/db/schema.js +0 -11
  446. package/dist/db/supabase.d.ts +0 -9
  447. package/dist/db/supabase.js +0 -24
  448. package/dist/packages/mcp/src/index.d.ts +0 -3
  449. package/dist/packages/mcp/src/index.js +0 -733
@@ -1,54 +0,0 @@
1
- /**
2
- * Temporal Facts System
3
- * Manages versioned facts with validity windows
4
- */
5
- /**
6
- * Store a new fact with temporal validity
7
- */
8
- export declare function storeFact(content: string, options?: {
9
- validFrom?: Date;
10
- validTo?: Date;
11
- confidence?: number;
12
- tags?: string[];
13
- projectId?: string;
14
- }): Promise<string>;
15
- /**
16
- * Update a fact by creating a new version
17
- */
18
- export declare function updateFact(previousFactId: string, newContent: string, reason: string): Promise<string>;
19
- /**
20
- * Query facts valid at a specific point in time
21
- */
22
- export declare function queryFactsAtTime(timestamp?: Date, options?: {
23
- minConfidence?: number;
24
- tags?: string[];
25
- projectId?: string;
26
- limit?: number;
27
- }): Promise<any[]>;
28
- /**
29
- * Get the complete version history of a fact
30
- */
31
- export declare function getFactHistory(factId: string): Promise<any[]>;
32
- /**
33
- * Apply confidence decay based on temporal distance
34
- */
35
- export declare function applyConfidenceDecay(factId: string, ageDays: number): Promise<void>;
36
- /**
37
- * Invalidate a fact (mark as no longer valid)
38
- */
39
- export declare function invalidateFact(factId: string, reason: string): Promise<void>;
40
- /**
41
- * Check if a fact is currently valid
42
- */
43
- export declare function isFactValid(factId: string, atTime?: Date): Promise<boolean>;
44
- /**
45
- * Get statistics about facts
46
- */
47
- export declare function getFactStats(projectId?: string): Promise<{
48
- totalFacts: number;
49
- activeFacts: number;
50
- expiredFacts: number;
51
- avgConfidence: number;
52
- avgAge: number;
53
- }>;
54
- //# sourceMappingURL=temporal-facts.d.ts.map
@@ -1,193 +0,0 @@
1
- /**
2
- * Temporal Facts System
3
- * Manages versioned facts with validity windows
4
- */
5
- import { and, eq, gte, desc } from 'drizzle-orm';
6
- import { randomUUID } from 'crypto';
7
- import { getDb } from '../db/index.js';
8
- import { getSchema } from '../db/schema.js';
9
- import { traverseSupersededChain } from './utils/history-traversal.js';
10
- import { createNewFactVersion } from './utils/version-management.js';
11
- import { buildFactAtTimeQuery } from './utils/temporal-queries.js';
12
- import { logger } from './logger.js';
13
- /**
14
- * Store a new fact with temporal validity
15
- */
16
- export async function storeFact(content, options = {}) {
17
- try {
18
- const db = await getDb();
19
- const schema = await getSchema();
20
- const factId = randomUUID();
21
- await db.insert(schema.memories).values({
22
- id: factId,
23
- type: 'fact',
24
- sector: 'semantic',
25
- content,
26
- confidence: options.confidence || 100,
27
- validFrom: options.validFrom || new Date(),
28
- validTo: options.validTo || null,
29
- version: 1,
30
- tags: options.tags || [],
31
- projectId: options.projectId || null,
32
- createdAt: new Date(),
33
- updatedAt: new Date(),
34
- });
35
- return factId;
36
- }
37
- catch (error) {
38
- logger.error('Error storing fact', error);
39
- throw error;
40
- }
41
- }
42
- /**
43
- * Update a fact by creating a new version
44
- */
45
- export async function updateFact(previousFactId, newContent, reason) {
46
- return createNewFactVersion(previousFactId, newContent, {}, reason);
47
- }
48
- /**
49
- * Query facts valid at a specific point in time
50
- */
51
- export async function queryFactsAtTime(timestamp = new Date(), options = {}) {
52
- try {
53
- const db = await getDb();
54
- const schema = await getSchema();
55
- const minConfidence = options.minConfidence || 0;
56
- const limit = options.limit || 100;
57
- const additionalFilters = [gte(schema.memories.confidence, minConfidence)];
58
- if (options.projectId) {
59
- additionalFilters.push(eq(schema.memories.projectId, options.projectId));
60
- }
61
- const where = buildFactAtTimeQuery(schema, timestamp, additionalFilters);
62
- const results = await db
63
- .select()
64
- .from(schema.memories)
65
- .where(where)
66
- .orderBy(desc(schema.memories.confidence))
67
- .limit(limit);
68
- return results;
69
- }
70
- catch (error) {
71
- logger.error('Error querying facts at time', error);
72
- return [];
73
- }
74
- }
75
- /**
76
- * Get the complete version history of a fact
77
- */
78
- export async function getFactHistory(factId) {
79
- return traverseSupersededChain(factId);
80
- }
81
- /**
82
- * Apply confidence decay based on temporal distance
83
- */
84
- export async function applyConfidenceDecay(factId, ageDays) {
85
- try {
86
- const db = await getDb();
87
- const schema = await getSchema();
88
- // Confidence decays exponentially: newConfidence = originalConfidence * e^(-lambda * ageDays)
89
- // Using lambda = 0.01 for moderate decay
90
- const decayFactor = Math.exp(-0.01 * ageDays);
91
- const fact = await db
92
- .select()
93
- .from(schema.memories)
94
- .where(eq(schema.memories.id, factId))
95
- .limit(1);
96
- if (fact.length === 0)
97
- return;
98
- const newConfidence = Math.max(0, Math.floor(fact[0].confidence * decayFactor));
99
- await db
100
- .update(schema.memories)
101
- .set({ confidence: newConfidence })
102
- .where(eq(schema.memories.id, factId));
103
- }
104
- catch (error) {
105
- logger.error('Error applying confidence decay', error);
106
- }
107
- }
108
- /**
109
- * Invalidate a fact (mark as no longer valid)
110
- */
111
- export async function invalidateFact(factId, reason) {
112
- try {
113
- const db = await getDb();
114
- const schema = await getSchema();
115
- await db
116
- .update(schema.memories)
117
- .set({
118
- validTo: new Date(),
119
- metadata: { invalidationReason: reason, invalidatedAt: new Date().toISOString() },
120
- })
121
- .where(eq(schema.memories.id, factId));
122
- }
123
- catch (error) {
124
- logger.error('Error invalidating fact', error);
125
- }
126
- }
127
- /**
128
- * Check if a fact is currently valid
129
- */
130
- export async function isFactValid(factId, atTime = new Date()) {
131
- try {
132
- const db = await getDb();
133
- const schema = await getSchema();
134
- const additionalFilters = [eq(schema.memories.id, factId)];
135
- const where = buildFactAtTimeQuery(schema, atTime, additionalFilters);
136
- const fact = await db
137
- .select()
138
- .from(schema.memories)
139
- .where(where)
140
- .limit(1);
141
- return fact.length > 0;
142
- }
143
- catch (error) {
144
- logger.error('Error checking fact validity', error);
145
- return false;
146
- }
147
- }
148
- /**
149
- * Get statistics about facts
150
- */
151
- export async function getFactStats(projectId) {
152
- try {
153
- const db = await getDb();
154
- const schema = await getSchema();
155
- const now = new Date();
156
- const where = projectId
157
- ? and(eq(schema.memories.type, 'fact'), eq(schema.memories.projectId, projectId))
158
- : eq(schema.memories.type, 'fact');
159
- const facts = await db.select().from(schema.memories).where(where);
160
- let active = 0;
161
- let expired = 0;
162
- let totalConfidence = 0;
163
- let totalAge = 0;
164
- for (const fact of facts) {
165
- totalConfidence += fact.confidence || 0;
166
- if (fact.validTo && new Date(fact.validTo) < now) {
167
- expired++;
168
- }
169
- else if (!fact.validTo || new Date(fact.validTo) >= now) {
170
- active++;
171
- }
172
- totalAge += (now.getTime() - new Date(fact.createdAt).getTime()) / (1000 * 60 * 60 * 24);
173
- }
174
- return {
175
- totalFacts: facts.length,
176
- activeFacts: active,
177
- expiredFacts: expired,
178
- avgConfidence: facts.length > 0 ? totalConfidence / facts.length : 0,
179
- avgAge: facts.length > 0 ? totalAge / facts.length : 0,
180
- };
181
- }
182
- catch (error) {
183
- logger.error('Error getting fact stats', error);
184
- return {
185
- totalFacts: 0,
186
- activeFacts: 0,
187
- expiredFacts: 0,
188
- avgConfidence: 0,
189
- avgAge: 0,
190
- };
191
- }
192
- }
193
- //# sourceMappingURL=temporal-facts.js.map
@@ -1,111 +0,0 @@
1
- /** Trace Collector - Collects search pipeline traces for debugging and performance analysis
2
- *
3
- * Trace storage format - All search operations are logged with timing information
4
- * Trace retrieval - Get traces by session or ID
5
- */
6
- export interface SearchTrace {
7
- id: string;
8
- sessionId: string | null;
9
- query: string;
10
- timestamp: Date;
11
- totalDurationMs: number;
12
- metadata: Record<string, unknown>;
13
- queryRewrite?: QueryRewriteStage;
14
- candidateRetrieval?: RetrievalStage;
15
- entityFiltering?: RetrievalStage;
16
- hybridScoring?: ScoringStage;
17
- reranking?: RerankingStage;
18
- resultCount?: number;
19
- topResults?: TopResult[];
20
- }
21
- export interface QueryRewriteStage {
22
- original?: string;
23
- rewritten?: string;
24
- method?: string;
25
- timeMs?: number;
26
- }
27
- export interface RetrievalStage {
28
- candidates?: number;
29
- results?: number;
30
- timeMs?: number;
31
- entities?: string[];
32
- }
33
- export interface ScoringStage {
34
- results?: number;
35
- timeMs?: number;
36
- }
37
- export interface RerankingStage {
38
- results?: number;
39
- timeMs?: number;
40
- }
41
- export interface TopResult {
42
- type?: string;
43
- content?: string;
44
- hybridScore?: number;
45
- }
46
- export interface TraceOptions {
47
- sessionId?: string;
48
- limit?: number;
49
- session?: string;
50
- }
51
- export interface TraceStats {
52
- totalTraces: number;
53
- totalDurationMs: number;
54
- avgDurationMs: number;
55
- recentSessions: number;
56
- totalErrors: number;
57
- errorRate: number;
58
- }
59
- /**
60
- * Start a new search trace collection
61
- */
62
- export declare function startTrace(sessionId: string, query: string): Promise<string>;
63
- /**
64
- * Add query rewrite stage data
65
- */
66
- export declare function addQueryRewriteStage(traceId: string, stage: QueryRewriteStage): Promise<void>;
67
- /**
68
- * Add candidate retrieval stage data
69
- */
70
- export declare function addCandidateRetrievalStage(traceId: string, stage: RetrievalStage): Promise<void>;
71
- /**
72
- * Add entity filtering stage data
73
- */
74
- export declare function addEntityFilteringStage(traceId: string, stage: RetrievalStage): Promise<void>;
75
- /**
76
- * Add hybrid scoring stage data
77
- */
78
- export declare function addHybridScoringStage(traceId: string, stage: ScoringStage): Promise<void>;
79
- /**
80
- * Add reranking stage data
81
- */
82
- export declare function addRerankingStage(traceId: string, stage: RerankingStage): Promise<void>;
83
- /**
84
- * Complete current trace (all stages done)
85
- */
86
- export declare function completeTrace(traceId: string, results: TopResult[]): Promise<void>;
87
- /**
88
- * Get traces for a session
89
- */
90
- export declare function getTraces(options?: TraceOptions): Promise<SearchTrace[]>;
91
- /**
92
- * Get a specific trace by ID
93
- */
94
- export declare function getTraceById(traceId: string): Promise<SearchTrace | null>;
95
- /**
96
- * Get recent traces (limited)
97
- */
98
- export declare function getRecentTraces(limit?: number): Promise<SearchTrace[]>;
99
- /**
100
- * Get recent session summary traces (aggregated by session)
101
- */
102
- export declare function getSessionTraces(sessionId: string): Promise<SearchTrace[]>;
103
- /**
104
- * Create visual ASCII visualization of a trace
105
- */
106
- export declare function visualizeTrace(trace: SearchTrace): string;
107
- /**
108
- * Get trace statistics (performance metrics)
109
- */
110
- export declare function getTraceStats(): Promise<TraceStats>;
111
- //# sourceMappingURL=collector.d.ts.map
@@ -1,350 +0,0 @@
1
- /** Trace Collector - Collects search pipeline traces for debugging and performance analysis
2
- *
3
- * Trace storage format - All search operations are logged with timing information
4
- * Trace retrieval - Get traces by session or ID
5
- */
6
- import { logger } from '../logger.js';
7
- import { getDb } from '../../db/index.js';
8
- import { getSchema } from '../../db/schema.js';
9
- import { eq, desc, sql } from 'drizzle-orm';
10
- /**
11
- * Start a new search trace collection
12
- */
13
- export async function startTrace(sessionId, query) {
14
- const db = await getDb();
15
- if (!db) {
16
- logger.error('Database unavailable for trace collection');
17
- return '';
18
- }
19
- const schema = await getSchema();
20
- const sqliteDb = db;
21
- const traceId = crypto.randomUUID();
22
- const timestamp = new Date();
23
- // Create trace record
24
- await sqliteDb.insert(schema.searchTraces).values({
25
- id: traceId,
26
- sessionId,
27
- query,
28
- timestamp,
29
- resultCount: 0,
30
- totalDurationMs: 0,
31
- });
32
- logger.info(`[Tracing] Started trace ${traceId}`);
33
- return traceId;
34
- }
35
- /**
36
- * Add query rewrite stage data
37
- */
38
- export async function addQueryRewriteStage(traceId, stage) {
39
- const db = await getDb();
40
- if (!db)
41
- return;
42
- const schema = await getSchema();
43
- const sqliteDb = db;
44
- const data = JSON.stringify(stage);
45
- await sqliteDb.update(schema.searchTraces)
46
- .set({
47
- queryRewrite: sql `CAST(? AS jsonb)`,
48
- })
49
- .where(eq(schema.searchTraces.id, traceId))
50
- .set({ queryRewrite: data });
51
- logger.debug(`[Tracing] Added queryRewrite stage to trace ${traceId}`);
52
- }
53
- /**
54
- * Add candidate retrieval stage data
55
- */
56
- export async function addCandidateRetrievalStage(traceId, stage) {
57
- const db = await getDb();
58
- if (!db)
59
- return;
60
- const schema = await getSchema();
61
- const sqliteDb = db;
62
- const data = JSON.stringify(stage);
63
- await sqliteDb.update(schema.searchTraces)
64
- .set({ candidateRetrieval: data })
65
- .where(eq(schema.searchTraces.id, traceId));
66
- logger.debug(`[Tracing] Added candidateRetrieval stage to trace ${traceId}`);
67
- }
68
- /**
69
- * Add entity filtering stage data
70
- */
71
- export async function addEntityFilteringStage(traceId, stage) {
72
- const db = await getDb();
73
- if (!db)
74
- return;
75
- const schema = await getSchema();
76
- const sqliteDb = db;
77
- const data = JSON.stringify(stage);
78
- await sqliteDb.update(schema.searchTraces)
79
- .set({ entityFiltering: data })
80
- .where(eq(schema.searchTraces.id, traceId));
81
- logger.debug(`[Tracing] Added entityFiltering stage to trace ${traceId}`);
82
- }
83
- /**
84
- * Add hybrid scoring stage data
85
- */
86
- export async function addHybridScoringStage(traceId, stage) {
87
- const db = await getDb();
88
- if (!db)
89
- return;
90
- const schema = await getSchema();
91
- const sqliteDb = db;
92
- const data = JSON.stringify(stage);
93
- await sqliteDb.update(schema.searchTraces)
94
- .set({ hybridScoring: data })
95
- .where(eq(schema.searchTraces.id, traceId));
96
- logger.debug(`[Tracing] Added hybridScoring stage to trace ${traceId}`);
97
- }
98
- /**
99
- * Add reranking stage data
100
- */
101
- export async function addRerankingStage(traceId, stage) {
102
- const db = await getDb();
103
- if (!db)
104
- return;
105
- const schema = await getSchema();
106
- const sqliteDb = db;
107
- const data = JSON.stringify(stage);
108
- await sqliteDb.update(schema.searchTraces)
109
- .set({ reranking: data })
110
- .where(eq(schema.searchTraces.id, traceId));
111
- logger.debug(`[Tracing] Added reranking stage to trace ${traceId}`);
112
- }
113
- /**
114
- * Complete current trace (all stages done)
115
- */
116
- export async function completeTrace(traceId, results) {
117
- const db = await getDb();
118
- if (!db)
119
- return;
120
- const schema = await getSchema();
121
- const sqliteDb = db;
122
- // Get trace
123
- const rows = await sqliteDb.select()
124
- .from(schema.searchTraces)
125
- .where(eq(schema.searchTraces.id, traceId))
126
- .limit(1);
127
- if (!rows || rows.length === 0) {
128
- logger.warn(`[Tracing] Trace ${traceId} not found`);
129
- return;
130
- }
131
- const trace = rows[0];
132
- const startTime = trace.timestamp.getTime();
133
- const endTime = Date.now();
134
- const totalDurationMs = endTime - startTime;
135
- const resultCount = results.length;
136
- const topResults = results.slice(0, 10);
137
- await sqliteDb.update(schema.searchTraces)
138
- .set({
139
- resultCount,
140
- topResults: JSON.stringify(topResults),
141
- totalDurationMs,
142
- })
143
- .where(eq(schema.searchTraces.id, traceId));
144
- logger.info(`[Tracing] Completed trace ${traceId} with ${resultCount} results`);
145
- }
146
- /**
147
- * Get traces for a session
148
- */
149
- export async function getTraces(options = {}) {
150
- const db = await getDb();
151
- if (!db)
152
- return [];
153
- const schema = await getSchema();
154
- const sqliteDb = db;
155
- let conditions = [];
156
- if (options.sessionId) {
157
- conditions.push(eq(schema.searchTraces.sessionId, options.sessionId));
158
- }
159
- if (options.session && options.session.length > 0) {
160
- conditions.push(eq(schema.searchTraces.sessionId, options.session));
161
- }
162
- const query = sqliteDb.select()
163
- .from(schema.searchTraces)
164
- .where(conditions.length > 0 ? eq(schema.searchTraces.sessionId, options.sessionId || options.session || '') : undefined)
165
- .orderBy(desc(schema.searchTraces.timestamp));
166
- if (options.limit) {
167
- query.limit(options.limit);
168
- }
169
- const traces = await query;
170
- return traces.map((row) => ({
171
- id: row.id,
172
- sessionId: row.session_id,
173
- query: row.query,
174
- timestamp: row.timestamp,
175
- totalDurationMs: row.total_duration_ms,
176
- metadata: row.metadata ? JSON.parse(String(row.metadata)) : {},
177
- queryRewrite: row.query_rewrite ? JSON.parse(String(row.query_rewrite)) : undefined,
178
- candidateRetrieval: row.candidate_retrieval ? JSON.parse(String(row.candidate_retrieval)) : undefined,
179
- entityFiltering: row.entity_filtering ? JSON.parse(String(row.entity_filtering)) : undefined,
180
- hybridScoring: row.hybrid_scoring ? JSON.parse(String(row.hybrid_scoring)) : undefined,
181
- reranking: row.reranking ? JSON.parse(String(row.reranking)) : undefined,
182
- resultCount: row.result_count,
183
- topResults: row.top_results ? JSON.parse(String(row.top_results)) : undefined,
184
- }));
185
- }
186
- /**
187
- * Get a specific trace by ID
188
- */
189
- export async function getTraceById(traceId) {
190
- const db = await getDb();
191
- if (!db)
192
- return null;
193
- const schema = await getSchema();
194
- const sqliteDb = db;
195
- const rows = await sqliteDb.select()
196
- .from(schema.searchTraces)
197
- .where(eq(schema.searchTraces.id, traceId))
198
- .limit(1);
199
- if (rows.length === 0)
200
- return null;
201
- const row = rows[0];
202
- return {
203
- id: row.id,
204
- sessionId: row.session_id,
205
- query: row.query,
206
- timestamp: row.timestamp,
207
- totalDurationMs: row.total_duration_ms,
208
- metadata: row.metadata ? JSON.parse(String(row.metadata)) : {},
209
- queryRewrite: row.query_rewrite ? JSON.parse(String(row.query_rewrite)) : undefined,
210
- candidateRetrieval: row.candidate_retrieval ? JSON.parse(String(row.candidate_retrieval)) : undefined,
211
- entityFiltering: row.entity_filtering ? JSON.parse(String(row.entity_filtering)) : undefined,
212
- hybridScoring: row.hybrid_scoring ? JSON.parse(String(row.hybrid_scoring)) : undefined,
213
- reranking: row.reranking ? JSON.parse(String(row.reranking)) : undefined,
214
- resultCount: row.result_count,
215
- topResults: row.top_results ? JSON.parse(String(row.top_results)) : undefined,
216
- };
217
- }
218
- /**
219
- * Get recent traces (limited)
220
- */
221
- export async function getRecentTraces(limit = 10) {
222
- const db = await getDb();
223
- if (!db)
224
- return [];
225
- const schema = await getSchema();
226
- const sqliteDb = db;
227
- const traces = await sqliteDb.select()
228
- .from(schema.searchTraces)
229
- .orderBy(desc(schema.searchTraces.timestamp))
230
- .limit(limit);
231
- return traces.map((row) => ({
232
- id: row.id,
233
- sessionId: row.session_id,
234
- query: row.query,
235
- timestamp: row.timestamp,
236
- totalDurationMs: row.total_duration_ms,
237
- metadata: row.metadata ? JSON.parse(String(row.metadata)) : {},
238
- queryRewrite: row.query_rewrite ? JSON.parse(String(row.query_rewrite)) : undefined,
239
- candidateRetrieval: row.candidate_retrieval ? JSON.parse(String(row.candidate_retrieval)) : undefined,
240
- entityFiltering: row.entity_filtering ? JSON.parse(String(row.entity_filtering)) : undefined,
241
- hybridScoring: row.hybrid_scoring ? JSON.parse(String(row.hybrid_scoring)) : undefined,
242
- reranking: row.reranking ? JSON.parse(String(row.reranking)) : undefined,
243
- resultCount: row.result_count,
244
- topResults: row.top_results ? JSON.parse(String(row.top_results)) : undefined,
245
- }));
246
- }
247
- /**
248
- * Get recent session summary traces (aggregated by session)
249
- */
250
- export async function getSessionTraces(sessionId) {
251
- const db = await getDb();
252
- if (!db)
253
- return [];
254
- const schema = await getSchema();
255
- const sqliteDb = db;
256
- // Get all traces for this session
257
- const traces = await sqliteDb.select()
258
- .from(schema.searchTraces)
259
- .where(eq(schema.searchTraces.sessionId, sessionId))
260
- .orderBy(desc(schema.searchTraces.timestamp));
261
- if (traces.length === 0)
262
- return [];
263
- return traces.map((row) => ({
264
- id: row.id,
265
- sessionId: row.session_id,
266
- query: row.query,
267
- timestamp: row.timestamp,
268
- totalDurationMs: row.total_duration_ms,
269
- metadata: row.metadata ? JSON.parse(String(row.metadata)) : {},
270
- queryRewrite: row.query_rewrite ? JSON.parse(String(row.query_rewrite)) : undefined,
271
- candidateRetrieval: row.candidate_retrieval ? JSON.parse(String(row.candidate_retrieval)) : undefined,
272
- entityFiltering: row.entity_filtering ? JSON.parse(String(row.entity_filtering)) : undefined,
273
- hybridScoring: row.hybrid_scoring ? JSON.parse(String(row.hybrid_scoring)) : undefined,
274
- reranking: row.reranking ? JSON.parse(String(row.reranking)) : undefined,
275
- resultCount: row.result_count,
276
- topResults: row.top_results ? JSON.parse(String(row.top_results)) : undefined,
277
- }));
278
- }
279
- /**
280
- * Create visual ASCII visualization of a trace
281
- */
282
- export function visualizeTrace(trace) {
283
- const lines = [];
284
- // Header
285
- lines.push(`Search Trace: ${trace.id}`);
286
- lines.push(`Session: ${trace.sessionId || 'N/A'}`);
287
- lines.push(`Query: "${trace.query}"`);
288
- lines.push('');
289
- // Total duration
290
- lines.push(`Duration: ${trace.totalDurationMs}ms (${(trace.totalDurationMs / 1000).toFixed(2)}s)`);
291
- lines.push('');
292
- // Stages summary
293
- const stageNames = [];
294
- if (trace.queryRewrite)
295
- stageNames.push(`Query Rewrite (${trace.queryRewrite.timeMs || 0}ms)`);
296
- if (trace.candidateRetrieval)
297
- stageNames.push(`Candidate Retrieval (${trace.candidateRetrieval.timeMs || 0}ms)`);
298
- if (trace.entityFiltering)
299
- stageNames.push(`Entity Filtering (${trace.entityFiltering.timeMs || 0}ms)`);
300
- if (trace.hybridScoring)
301
- stageNames.push(`Hybrid Scoring (${trace.hybridScoring.timeMs || 0}ms)`);
302
- if (trace.reranking)
303
- stageNames.push(`Reranking (${trace.reranking.timeMs || 0}ms)`);
304
- if (stageNames.length > 0) {
305
- lines.push('Stages:');
306
- stageNames.forEach(name => lines.push(` - ${name}`));
307
- }
308
- lines.push('');
309
- // Top results
310
- if (trace.topResults && trace.topResults.length > 0) {
311
- lines.push(`Top Results (${trace.topResults.length}):`);
312
- trace.topResults.slice(0, 5).forEach((result, i) => lines.push(` ${i + 1}. [${result.type || 'memory'}] ${result.content?.substring(0, 50)}... (score: ${result.hybridScore?.toFixed(2)})`));
313
- }
314
- return lines.join('\n');
315
- }
316
- /**
317
- * Get trace statistics (performance metrics)
318
- */
319
- export async function getTraceStats() {
320
- const db = await getDb();
321
- if (!db) {
322
- return {
323
- totalTraces: 0,
324
- totalDurationMs: 0,
325
- avgDurationMs: 0,
326
- recentSessions: 0,
327
- totalErrors: 0,
328
- errorRate: 0,
329
- };
330
- }
331
- const schema = await getSchema();
332
- const sqliteDb = db;
333
- const traces = await sqliteDb.select()
334
- .from(schema.searchTraces)
335
- .limit(100);
336
- const totalTraces = traces.length;
337
- const totalDurationMs = traces.reduce((sum, t) => sum + (t.total_duration_ms || 0), 0);
338
- const avgDurationMs = totalTraces > 0 ? Math.round(totalDurationMs / totalTraces) : 0;
339
- const uniqueSessions = new Set(traces.map((t) => t.session_id).filter(Boolean));
340
- const recentSessions = uniqueSessions.size;
341
- return {
342
- totalTraces,
343
- totalDurationMs,
344
- avgDurationMs,
345
- recentSessions,
346
- totalErrors: 0,
347
- errorRate: 0,
348
- };
349
- }
350
- //# sourceMappingURL=collector.js.map