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,174 +0,0 @@
1
- /**
2
- * Memory Lifecycle Hooks
3
- *
4
- * Provides event hooks for memory operations:
5
- * - memoryCreated: When a memory is stored (DB or markdown files)
6
- * - memoryUpdated: When a memory is updated
7
- * - memoryDeleted: When a memory is deleted
8
- * - tierChange: When memory tier changes (hot/warm/cold)
9
- * - decayApplied: When decay score is updated
10
- *
11
- * Each hook can have sync and async handlers.
12
- * Usage: Register handlers to auto-capture, sync to external systems, etc.
13
- */
14
- import { logger } from '../logger.js';
15
- // Global hook registry
16
- const hooks = [];
17
- /**
18
- * Register a hook handler for a specific event
19
- */
20
- export function registerHook(event, handler, priority = 100) {
21
- hooks.push({ event, handler, priority });
22
- hooks.sort((a, b) => b.priority - a.priority);
23
- logger.info('[Hooks] Registered handler for: ' + event + ' (priority: ' + priority + ')');
24
- }
25
- /**
26
- * Unregister a hook handler
27
- */
28
- export function unregisterHook(event, handler) {
29
- const idx = hooks.findIndex(h => h.event === event && h.handler === handler);
30
- if (idx !== -1) {
31
- hooks.splice(idx, 1);
32
- logger.info('[Hooks] Unregistered handler for: ' + event);
33
- }
34
- }
35
- /**
36
- * Clear all hooks for an event
37
- */
38
- export function clearHooks(event) {
39
- if (event) {
40
- const before = hooks.length;
41
- const filtered = hooks.filter(h => h.event !== event);
42
- hooks.length = 0;
43
- hooks.push(...filtered);
44
- logger.info('[Hooks] Cleared ' + (before - filtered.length) + ' hooks for: ' + event);
45
- }
46
- else {
47
- const count = hooks.length;
48
- hooks.length = 0;
49
- logger.info('[Hooks] Cleared all ' + count + ' hooks');
50
- }
51
- }
52
- /**
53
- * Get registered hooks for an event
54
- */
55
- export function getHooks(event) {
56
- return hooks.filter(h => h.event === event).map(h => h.handler);
57
- }
58
- /**
59
- * List all registered hooks (for debugging)
60
- */
61
- export function listHooks() {
62
- return hooks.map(h => ({ event: h.event, priority: h.priority }));
63
- }
64
- // --- Trigger functions ---
65
- /**
66
- * Trigger memoryCreated hooks
67
- * Called when a memory is stored in DB or markdown files
68
- */
69
- export async function triggerMemoryCreated(context) {
70
- const handlers = getHooks('memoryCreated');
71
- for (const handler of handlers) {
72
- try {
73
- const result = handler(context);
74
- if (result instanceof Promise) {
75
- await result;
76
- }
77
- }
78
- catch (error) {
79
- logger.error('[Hooks] Error in memoryCreated handler: ' + error);
80
- }
81
- }
82
- }
83
- /**
84
- * Trigger memoryUpdated hooks
85
- * Called when a memory content/tags/etc changes
86
- */
87
- export async function triggerMemoryUpdated(context, oldContent) {
88
- const handlers = getHooks('memoryUpdated');
89
- for (const handler of handlers) {
90
- try {
91
- const result = handler({ ...context, oldContent: oldContent || '' });
92
- if (result instanceof Promise) {
93
- await result;
94
- }
95
- }
96
- catch (error) {
97
- logger.error('[Hooks] Error in memoryUpdated handler: ' + error);
98
- }
99
- }
100
- }
101
- /**
102
- * Trigger memoryDeleted hooks
103
- * Called when a memory is deleted
104
- */
105
- export async function triggerMemoryDeleted(context) {
106
- const handlers = getHooks('memoryDeleted');
107
- for (const handler of handlers) {
108
- try {
109
- const result = handler(context);
110
- if (result instanceof Promise) {
111
- await result;
112
- }
113
- }
114
- catch (error) {
115
- logger.error('[Hooks] Error in memoryDeleted handler: ' + error);
116
- }
117
- }
118
- }
119
- /**
120
- * Trigger tierChange hooks
121
- * Called when memory tier changes
122
- */
123
- export async function triggerTierChange(context) {
124
- const handlers = getHooks('tierChange');
125
- for (const handler of handlers) {
126
- try {
127
- const result = handler(context);
128
- if (result instanceof Promise) {
129
- await result;
130
- }
131
- }
132
- catch (error) {
133
- logger.error('[Hooks] Error in tierChange handler: ' + error);
134
- }
135
- }
136
- }
137
- /**
138
- * Trigger decayApplied hooks
139
- * Called when memory decay score changes
140
- */
141
- export async function triggerDecayApplied(context) {
142
- const handlers = getHooks('decayApplied');
143
- for (const handler of handlers) {
144
- try {
145
- const result = handler(context);
146
- if (result instanceof Promise) {
147
- await result;
148
- }
149
- }
150
- catch (error) {
151
- logger.error('[Hooks] Error in decayApplied handler: ' + error);
152
- }
153
- }
154
- }
155
- /**
156
- * Built-in hook: Auto-save to memory files when storing to DB
157
- * Use this to have dual storage (DB + markdown files)
158
- */
159
- export function createMarkdownAutoSyncHook() {
160
- return async function markdownAutoSync(context) {
161
- if (context.tier === 'hot') {
162
- const { saveToMarkdown } = await import('./markdown/markdown-storage.js');
163
- await saveToMarkdown({
164
- content: context.content,
165
- type: context.type,
166
- tags: context.tags,
167
- project: context.project,
168
- source: context.source,
169
- });
170
- logger.info('[Hooks] Auto-synced memory to markdown: ' + context.memoryId);
171
- }
172
- };
173
- }
174
- //# sourceMappingURL=hooks.js.map
@@ -1,27 +0,0 @@
1
- import type { MemoryRecord } from '../lib/types.js';
2
- import type { SearchInput } from './memories.js';
3
- export interface HybridSearchOptions extends SearchInput {
4
- candidateLimit?: number;
5
- resultLimit?: number;
6
- }
7
- export interface HybridSearchResult extends MemoryRecord {
8
- hybridScore: number;
9
- semanticScore: number;
10
- recencyScore: number;
11
- importanceScore: number;
12
- coactivationScore: number;
13
- rank: number;
14
- explanation: string;
15
- }
16
- type ScoredItem = {
17
- memoryId: string;
18
- memory: Record<string, unknown>;
19
- totalScore: number;
20
- components: Record<string, number>;
21
- rank: number;
22
- explanation: string;
23
- };
24
- export declare function applyEntityBoostAndRerank<T extends ScoredItem>(scored: T[]): T[];
25
- export declare function hybridSearch(options: HybridSearchOptions): Promise<HybridSearchResult[]>;
26
- export {};
27
- //# sourceMappingURL=hybrid-retrieval.d.ts.map
@@ -1,37 +0,0 @@
1
- import { hybridSearch as currentHybridSearch } from './hybrid-search.js';
2
- export function applyEntityBoostAndRerank(scored) {
3
- return scored
4
- .map((item) => {
5
- const rawBoost = item.memory._entityBoost;
6
- const entityBoost = typeof rawBoost === 'number' ? rawBoost : 0;
7
- return {
8
- ...item,
9
- totalScore: item.totalScore + entityBoost * 20,
10
- };
11
- })
12
- .sort((a, b) => b.totalScore - a.totalScore)
13
- .map((item, index) => ({
14
- ...item,
15
- rank: index + 1,
16
- }));
17
- }
18
- export async function hybridSearch(options) {
19
- const limit = options.resultLimit ?? options.limit ?? 5;
20
- const results = await currentHybridSearch(options, {
21
- limit,
22
- project: options.project,
23
- type: options.type,
24
- tags: options.tags,
25
- });
26
- return results.map((result, index) => ({
27
- ...result,
28
- hybridScore: result.similarity ?? 0,
29
- semanticScore: result.similarity ?? 0,
30
- recencyScore: 0,
31
- importanceScore: typeof result.importance === 'number' ? result.importance : 0,
32
- coactivationScore: 0,
33
- rank: index + 1,
34
- explanation: 'Compatibility result from current hybrid search',
35
- }));
36
- }
37
- //# sourceMappingURL=hybrid-retrieval.js.map
@@ -1,40 +0,0 @@
1
- /** Hybrid Scorer - Multi-factor relevance scoring for memory ranking */
2
- export interface ScoredMemory {
3
- memoryId: string;
4
- memory: any;
5
- totalScore: number;
6
- components: {
7
- semantic: number;
8
- recency: number;
9
- coactivation: number;
10
- importance: number;
11
- confidence: number;
12
- feedback: number;
13
- };
14
- rank: number;
15
- explanation: string;
16
- }
17
- export interface HybridScorerOptions {
18
- weights?: {
19
- semantic?: number;
20
- recency?: number;
21
- coactivation?: number;
22
- importance?: number;
23
- confidence?: number;
24
- feedback?: number;
25
- };
26
- decayDays?: number;
27
- minSemanticScore?: number;
28
- includeExplanation?: boolean;
29
- }
30
- export declare function hybridScore(queryEmbedding: number[] | null, memories: any[], options?: HybridScorerOptions): Promise<ScoredMemory[]>;
31
- export declare function scoreAndRankMemories(queryEmbedding: number[] | null, memories: any[], topK?: number, options?: HybridScorerOptions): Promise<ScoredMemory[]>;
32
- export declare function getScoreDistribution(scored: ScoredMemory[]): {
33
- min: number;
34
- max: number;
35
- avg: number;
36
- median: number;
37
- p95: number;
38
- p99: number;
39
- };
40
- //# sourceMappingURL=hybrid-scorer.d.ts.map
@@ -1,267 +0,0 @@
1
- /** Hybrid Scorer - Multi-factor relevance scoring for memory ranking */
2
- import { logger } from '../../core/logger.js';
3
- import { cosineSimilarity } from '../utils/vector-operations.js';
4
- export async function hybridScore(queryEmbedding, memories, options = {}) {
5
- const weights = {
6
- semantic: options.weights?.semantic ?? 0.30,
7
- recency: options.weights?.recency ?? 0.20,
8
- coactivation: options.weights?.coactivation ?? 0.10,
9
- importance: options.weights?.importance ?? 0.15,
10
- confidence: options.weights?.confidence ?? 0.15,
11
- feedback: options.weights?.feedback ?? 0.10,
12
- };
13
- const decayDays = options.decayDays ?? 30;
14
- const minSemanticScore = options.minSemanticScore ?? 0.0;
15
- const scored = [];
16
- const now = new Date();
17
- for (const memory of memories) {
18
- if (queryEmbedding && weights.semantic > 0) {
19
- const semanticScore = calculateSemanticScore(queryEmbedding, memory);
20
- if (semanticScore < minSemanticScore)
21
- continue;
22
- }
23
- const components = {
24
- semantic: queryEmbedding ? calculateSemanticScore(queryEmbedding, memory) : 50,
25
- recency: calculateRecencyScore(memory, now, decayDays),
26
- coactivation: calculateCoactivationScore(memory),
27
- importance: calculateImportanceScore(memory),
28
- confidence: calculateConfidenceScore(memory),
29
- feedback: calculateFeedbackScore(memory),
30
- };
31
- const totalScore = Math.min(100, components.semantic * weights.semantic +
32
- components.recency * weights.recency +
33
- components.coactivation * weights.coactivation +
34
- components.importance * weights.importance +
35
- components.confidence * weights.confidence +
36
- components.feedback * weights.feedback);
37
- scored.push({
38
- memoryId: memory.id,
39
- memory,
40
- totalScore: Math.round(totalScore * 100) / 100,
41
- components: {
42
- semantic: Math.round(components.semantic * 100) / 100,
43
- recency: Math.round(components.recency * 100) / 100,
44
- coactivation: Math.round(components.coactivation * 100) / 100,
45
- importance: Math.round(components.importance * 100) / 100,
46
- confidence: Math.round(components.confidence * 100) / 100,
47
- feedback: Math.round(components.feedback * 100) / 100,
48
- },
49
- rank: 0,
50
- explanation: options.includeExplanation
51
- ? generateScoreExplanation(components, weights, memory)
52
- : '',
53
- });
54
- }
55
- scored.sort((a, b) => b.totalScore - a.totalScore);
56
- for (let i = 0; i < scored.length; i++) {
57
- scored[i].rank = i + 1;
58
- }
59
- return scored;
60
- }
61
- function calculateSemanticScore(queryEmbedding, memory) {
62
- if (!memory.embedding || queryEmbedding.length === 0)
63
- return 50;
64
- try {
65
- let memoryEmbedding = null;
66
- if (Array.isArray(memory.embedding)) {
67
- memoryEmbedding = memory.embedding;
68
- }
69
- else if (typeof memory.embedding === 'string') {
70
- memoryEmbedding = JSON.parse(memory.embedding);
71
- }
72
- if (!memoryEmbedding || memoryEmbedding.length === 0)
73
- return 50;
74
- const semanticScore = cosineSimilarity(queryEmbedding, memoryEmbedding);
75
- return Math.max(0, Math.min(100, (semanticScore + 1) * 50));
76
- }
77
- catch (error) {
78
- logger.error('Error calculating semantic score', error);
79
- return 50;
80
- }
81
- }
82
- function calculateRecencyScore(memory, now, decayDays) {
83
- // Enhanced bi-temporal recency scoring: considers validity period and learning time
84
- const validFromDate = memory.validFrom ? new Date(memory.validFrom) : null;
85
- const validToDate = memory.validTo ? new Date(memory.validTo) : null;
86
- const recordedAtDate = memory.recordedAt ? new Date(memory.recordedAt) : null;
87
- const createdDate = memory.createdAt ? new Date(memory.createdAt) : null;
88
- // Calculate score based on how relevant the memory is right now
89
- let score = 50; // Default neutral score
90
- // If we have a validity period, score based on current time's position within that period
91
- if (validFromDate && validToDate) {
92
- const timeInPeriod = now.getTime() - validFromDate.getTime();
93
- const periodLength = validToDate.getTime() - validFromDate.getTime();
94
- if (periodLength > 0) {
95
- // If now is within the validity period, high score
96
- if (now >= validFromDate && now <= validToDate) {
97
- // Full score if right in middle, decreasing toward edges
98
- const progress = timeInPeriod / periodLength;
99
- const distanceFromCenter = Math.abs(0.5 - progress) * 2; // 0 at center, 1 at edges
100
- score = 100 * (1 - distanceFromCenter * 0.8); // 100 at center, 40 at edges
101
- }
102
- else {
103
- // Outside validity period - score based on how recently it expired or how far in future
104
- if (now < validFromDate) {
105
- // Future validity - score based on how soon it becomes valid
106
- const daysUntilValid = (validFromDate.getTime() - now.getTime()) / (24 * 60 * 60 * 1000);
107
- score = Math.max(20, 100 - Math.min(80, daysUntilValid / decayDays * 100));
108
- }
109
- else {
110
- // Past validity - score based on how recently it expired
111
- const daysSinceExpired = (now.getTime() - validToDate.getTime()) / (24 * 60 * 60 * 1000);
112
- score = Math.max(10, 60 - Math.min(50, daysSinceExpired / decayDays * 100));
113
- }
114
- }
115
- }
116
- }
117
- // If we only have validFrom (open-ended validity)
118
- else if (validFromDate) {
119
- const daysSinceValid = (now.getTime() - validFromDate.getTime()) / (24 * 60 * 60 * 1000);
120
- if (now >= validFromDate) {
121
- // Still valid - decay from full score over time
122
- score = Math.max(30, 100 - Math.min(70, daysSinceValid / decayDays * 100));
123
- }
124
- else {
125
- // Becomes valid in future
126
- const daysUntilValid = (validFromDate.getTime() - now.getTime()) / (24 * 60 * 60 * 1000);
127
- score = Math.max(20, 100 - Math.min(80, daysUntilValid / decayDays * 100));
128
- }
129
- }
130
- // Fallback to learned/recorded time
131
- else {
132
- const learnedDate = recordedAtDate || createdDate;
133
- if (learnedDate) {
134
- const daysSinceLearned = (now.getTime() - learnedDate.getTime()) / (24 * 60 * 60 * 1000);
135
- score = 100 * Math.pow(0.5, daysSinceLearned / decayDays);
136
- score = Math.max(0, Math.min(100, score));
137
- }
138
- }
139
- return Math.round(score * 10) / 10; // Return one decimal place
140
- }
141
- function calculateCoactivationScore(memory) {
142
- if (!memory.coactivationScore || memory.coactivationScore === 0)
143
- return 10;
144
- return Math.min(100, memory.coactivationScore * 5);
145
- }
146
- function calculateImportanceScore(memory) {
147
- let score = 50;
148
- // Simplified: hot or cold only (warm removed)
149
- if (memory.tier === 'hot')
150
- score += 30;
151
- // No bonus for cold - it's the fallback
152
- if (memory.relevanceScore)
153
- score += memory.relevanceScore * 0.2;
154
- if (memory.isPinned)
155
- score += 10;
156
- if (memory.isProtected)
157
- score += 10;
158
- if (memory.isMergeable || memory.isMerged)
159
- score -= 10;
160
- return Math.max(0, Math.min(100, score));
161
- }
162
- function calculateConfidenceScore(memory) {
163
- let score = 50;
164
- const signals = memory.metadata?.memorySignals;
165
- if (signals) {
166
- if (signals.priority === 'high')
167
- score += 25;
168
- if (signals.explicitTriggers && signals.explicitTriggers.length > 0) {
169
- score += 15 * Math.min(signals.explicitTriggers.length, 2);
170
- }
171
- if (signals.implicit) {
172
- if (signals.implicit.decision)
173
- score += 10;
174
- if (signals.implicit.correction)
175
- score += 15;
176
- if (signals.implicit.preference)
177
- score += 8;
178
- if (signals.implicit.workflowRule)
179
- score += 12;
180
- if (signals.implicit.lesson)
181
- score += 10;
182
- }
183
- if (signals.requiresConflictCheck)
184
- score -= 5;
185
- }
186
- switch (memory.type) {
187
- case 'decision':
188
- score += 10;
189
- break;
190
- case 'preference':
191
- score += 5;
192
- break;
193
- case 'fact':
194
- score += 8;
195
- break;
196
- case 'context':
197
- score += 3;
198
- break;
199
- }
200
- if (memory.source === 'mcp')
201
- score += 5;
202
- if (memory.accessCount && memory.accessCount > 5) {
203
- score += Math.min(10, memory.accessCount / 2);
204
- }
205
- return Math.max(0, Math.min(100, score));
206
- }
207
- function calculateFeedbackScore(memory) {
208
- const retrievalPriority = memory.retrievalPriority ?? 50;
209
- return Math.max(0, Math.min(100, retrievalPriority));
210
- }
211
- function generateScoreExplanation(components, weights, memory) {
212
- const parts = [];
213
- if (components.semantic > 70)
214
- parts.push(`highly relevant (${components.semantic.toFixed(0)})`);
215
- else if (components.semantic > 50)
216
- parts.push(`somewhat relevant (${components.semantic.toFixed(0)})`);
217
- else
218
- parts.push(`low relevance (${components.semantic.toFixed(0)})`);
219
- if (components.recency > 70)
220
- parts.push('recent');
221
- else if (components.recency > 30)
222
- parts.push('moderately recent');
223
- else
224
- parts.push('older');
225
- // Simplified: hot or cold only (warm removed)
226
- if (memory.tier === 'hot')
227
- parts.push('active memory');
228
- else
229
- parts.push('archived memory');
230
- if (components.coactivation > 60)
231
- parts.push('frequently associated');
232
- if (components.confidence > 80)
233
- parts.push('high confidence');
234
- else if (components.confidence > 60)
235
- parts.push('moderate confidence');
236
- else if (components.confidence < 40)
237
- parts.push('low confidence');
238
- if (components.feedback > 70)
239
- parts.push('frequently useful');
240
- else if (components.feedback < 30)
241
- parts.push('rarely used');
242
- return parts.join(', ');
243
- }
244
- export async function scoreAndRankMemories(queryEmbedding, memories, topK = 10, options = {}) {
245
- const scored = await hybridScore(queryEmbedding, memories, options);
246
- logger.debug('Scored and ranked memories', {
247
- total: scored.length,
248
- topK,
249
- topScores: scored.slice(0, topK).map((s) => ({ id: s.memoryId, score: s.totalScore })),
250
- });
251
- return scored.slice(0, topK);
252
- }
253
- export function getScoreDistribution(scored) {
254
- if (scored.length === 0) {
255
- return { min: 0, max: 0, avg: 0, median: 0, p95: 0, p99: 0 };
256
- }
257
- const scores = scored.map((s) => s.totalScore).sort((a, b) => a - b);
258
- return {
259
- min: scores[0],
260
- max: scores[scores.length - 1],
261
- avg: scores.reduce((a, b) => a + b, 0) / scores.length,
262
- median: scores[Math.floor(scores.length / 2)],
263
- p95: scores[Math.floor((95 / 100) * scores.length)],
264
- p99: scores[Math.floor((99 / 100) * scores.length)],
265
- };
266
- }
267
- //# sourceMappingURL=hybrid-scorer.js.map
@@ -1,23 +0,0 @@
1
- /**
2
- * Vector Search - Pure semantic search with optional graph boosting + multi-session support
3
- *
4
- * Uses cosine similarity on embeddings + optional graph boost
5
- * BM25 removed - use qmd-client for hot tier (BM25 + vectors + reranking)
6
- */
7
- import type { SearchResult, SearchInput } from './memories.js';
8
- export interface HybridSearchOptions {
9
- limit?: number;
10
- project?: string;
11
- type?: string;
12
- tags?: string[];
13
- enableMultiSession?: boolean;
14
- enableGraphTraversal?: boolean;
15
- enableHeuristics?: boolean;
16
- includeAssociations?: boolean;
17
- }
18
- /**
19
- * Main search function - vectors + graph boost + heuristics + places + sessions
20
- * Unified search integrating Places, Graph, and Memory
21
- */
22
- export declare function hybridSearch(input: SearchInput, options?: HybridSearchOptions): Promise<SearchResult[]>;
23
- //# sourceMappingURL=hybrid-search.d.ts.map