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,287 +0,0 @@
1
- /**
2
- * Session Entity Tracker
3
- *
4
- * Tracks "active" entities in conversation sessions to enable
5
- * reference resolution (e.g., resolving "she" to "Alice").
6
- */
7
- import { eq } from 'drizzle-orm';
8
- import { getDb } from '../../db/index.js';
9
- import { getSchema } from '../../db/schema.js';
10
- import { logger } from '../logger.js';
11
- // ─── In-Memory Session Cache ─────────────────────────────────────────────────
12
- const sessionCache = new Map();
13
- const MAX_SESSIONS = 100;
14
- const ENTITY_SALIENCE_DECAY = 0.85; // Per mention, older mentions decay
15
- const MAX_SESSION_ENTITIES = 50;
16
- /**
17
- * Track an entity mention in a session.
18
- * Updates salience based on recency and frequency.
19
- */
20
- export function trackEntityInSession(sessionId, entityId, entityName, entityType) {
21
- let session = sessionCache.get(sessionId);
22
- if (!session) {
23
- session = {
24
- sessionId,
25
- entities: new Map(),
26
- updatedAt: new Date(),
27
- };
28
- sessionCache.set(sessionId, session);
29
- }
30
- // Evict old sessions if cache is full
31
- if (sessionCache.size > MAX_SESSIONS) {
32
- const oldestKey = [...sessionCache.entries()]
33
- .sort(([, a], [, b]) => a.updatedAt.getTime() - b.updatedAt.getTime())[0][0];
34
- sessionCache.delete(oldestKey);
35
- }
36
- const existing = session.entities.get(entityId);
37
- const now = new Date();
38
- if (existing) {
39
- // Update existing entity: increase salience, update mention count
40
- existing.mentionCount += 1;
41
- existing.lastMentionedAt = now;
42
- // Salience increases with each mention, but decays for older mentions
43
- existing.salience = Math.min(1.0, existing.salience + 0.2);
44
- }
45
- else {
46
- // New entity for this session
47
- session.entities.set(entityId, {
48
- entityId,
49
- entityName,
50
- entityType,
51
- mentionCount: 1,
52
- lastMentionedAt: now,
53
- salience: 0.5, // Start at medium salience
54
- });
55
- }
56
- // Evict least salient entities if session has too many
57
- if (session.entities.size > MAX_SESSION_ENTITIES) {
58
- const leastSalient = [...session.entities.entries()]
59
- .sort(([, a], [, b]) => a.salience - b.salience)[0];
60
- if (leastSalient) {
61
- session.entities.delete(leastSalient[0]);
62
- }
63
- }
64
- session.updatedAt = now;
65
- }
66
- /**
67
- * Get active entities for a session, sorted by salience.
68
- * Applies time-based decay to salience scores.
69
- */
70
- export function getActiveSessionEntities(sessionId, options) {
71
- const { limit = 10, minSalience = 0.1, entityTypes } = options || {};
72
- const session = sessionCache.get(sessionId);
73
- if (!session)
74
- return [];
75
- const now = Date.now();
76
- const entities = [];
77
- for (const [id, entity] of session.entities) {
78
- // Apply time-based decay
79
- const timeSinceMention = now - entity.lastMentionedAt.getTime();
80
- const minutesSinceMention = timeSinceMention / (1000 * 60);
81
- const timeDecay = Math.pow(ENTITY_SALIENCE_DECAY, minutesSinceMention / 5); // Decay every 5 minutes
82
- const adjustedSalience = entity.salience * timeDecay;
83
- // Filter by minimum salience
84
- if (adjustedSalience < minSalience)
85
- continue;
86
- // Filter by entity type
87
- if (entityTypes && entityTypes.length > 0 && !entityTypes.includes(entity.entityType))
88
- continue;
89
- entities.push({
90
- ...entity,
91
- salience: adjustedSalience,
92
- });
93
- }
94
- // Sort by salience (most salient first)
95
- entities.sort((a, b) => b.salience - a.salience);
96
- return entities.slice(0, limit);
97
- }
98
- /**
99
- * Resolve a reference (pronoun, definite reference) to an entity in the session.
100
- * Returns the most salient entity matching the reference type.
101
- */
102
- export function resolveReference(sessionId, reference) {
103
- const session = sessionCache.get(sessionId);
104
- if (!session)
105
- return null;
106
- const lowerRef = reference.toLowerCase();
107
- // Pronoun mapping
108
- const pronounMap = {
109
- 'he': ['person'],
110
- 'him': ['person'],
111
- 'his': ['person'],
112
- 'she': ['person'],
113
- 'her': ['person'],
114
- 'hers': ['person'],
115
- 'it': ['tool', 'concept', 'file', 'function', 'class'],
116
- 'they': ['person', 'concept', 'tool'],
117
- 'them': ['person', 'concept', 'tool'],
118
- 'their': ['person', 'concept', 'tool'],
119
- 'this': [], // Any type
120
- 'that': [], // Any type
121
- 'these': [],
122
- 'those': [],
123
- };
124
- // Definite reference patterns
125
- const definitePatterns = [
126
- { pattern: /\bthe (?:project|app|application)\b/i, types: ['concept'] },
127
- { pattern: /\bthe (?:team|group)\b/i, types: ['concept'] },
128
- { pattern: /\bthe (?:database|db)\b/i, types: ['tool'] },
129
- { pattern: /\bthe (?:server|service|api)\b/i, types: ['tool'] },
130
- { pattern: /\bthe (?:issue|bug|problem|outage)\b/i, types: ['concept'] },
131
- { pattern: /\bthe (?:file|module|component)\b/i, types: ['file'] },
132
- ];
133
- // Check pronouns first
134
- const allowedTypes = pronounMap[lowerRef];
135
- if (allowedTypes !== undefined) {
136
- const candidates = getActiveSessionEntities(sessionId, {
137
- limit: 3,
138
- minSalience: 0.2,
139
- entityTypes: allowedTypes.length > 0 ? allowedTypes : undefined,
140
- });
141
- // For pronouns, return the most salient entity of the right type
142
- return candidates.length > 0 ? candidates[0] : null;
143
- }
144
- // Check definite references
145
- for (const { pattern, types } of definitePatterns) {
146
- if (pattern.test(reference)) {
147
- const candidates = getActiveSessionEntities(sessionId, {
148
- limit: 3,
149
- minSalience: 0.2,
150
- entityTypes: types,
151
- });
152
- return candidates.length > 0 ? candidates[0] : null;
153
- }
154
- }
155
- // Try to match by name (partial match)
156
- const nameMatch = [...session.entities.values()]
157
- .filter(e => e.entityName.toLowerCase().includes(lowerRef))
158
- .sort((a, b) => b.salience - a.salience)[0];
159
- return nameMatch || null;
160
- }
161
- /**
162
- * Clear session entities (e.g., when a session ends).
163
- */
164
- export function clearSessionEntities(sessionId) {
165
- sessionCache.delete(sessionId);
166
- }
167
- /**
168
- * Get all active sessions.
169
- */
170
- export function getActiveSessions() {
171
- return [...sessionCache.keys()];
172
- }
173
- /**
174
- * Decay all session entities (call periodically).
175
- * Reduces salience of all entities across all sessions.
176
- */
177
- export function decayAllSessionEntities() {
178
- const now = Date.now();
179
- for (const [sessionId, session] of sessionCache) {
180
- for (const [entityId, entity] of session.entities) {
181
- const timeSinceMention = now - entity.lastMentionedAt.getTime();
182
- const minutesSinceMention = timeSinceMention / (1000 * 60);
183
- entity.salience *= Math.pow(ENTITY_SALIENCE_DECAY, minutesSinceMention / 5);
184
- }
185
- // Remove entities with very low salience
186
- for (const [entityId, entity] of session.entities) {
187
- if (entity.salience < 0.01) {
188
- session.entities.delete(entityId);
189
- }
190
- }
191
- // Remove empty sessions
192
- if (session.entities.size === 0) {
193
- sessionCache.delete(sessionId);
194
- }
195
- }
196
- }
197
- /**
198
- * Persist session entities to the database for durability.
199
- * Called periodically or on session end.
200
- */
201
- export async function persistSessionEntities(sessionId) {
202
- const session = sessionCache.get(sessionId);
203
- if (!session || session.entities.size === 0)
204
- return;
205
- try {
206
- const db = await getDb();
207
- const schema = await getSchema();
208
- // Store session context in the context_sessions table
209
- const entities = [...session.entities.values()];
210
- const entityData = entities.map(e => ({
211
- id: e.entityId,
212
- name: e.entityName,
213
- type: e.entityType,
214
- salience: e.salience,
215
- mentionCount: e.mentionCount,
216
- }));
217
- // Check if session exists
218
- const existing = await db
219
- .select()
220
- .from(schema.contextSessions)
221
- .where(eq(schema.contextSessions.id, sessionId))
222
- .limit(1);
223
- if (existing.length > 0) {
224
- await db
225
- .update(schema.contextSessions)
226
- .set({
227
- metadata: { entities: entityData },
228
- updatedAt: new Date(),
229
- })
230
- .where(eq(schema.contextSessions.id, sessionId));
231
- }
232
- // If session doesn't exist, we don't create it here
233
- // (it will be created by the normal session flow)
234
- logger.debug('Persisted session entities', {
235
- sessionId,
236
- entityCount: entities.length,
237
- });
238
- }
239
- catch (error) {
240
- logger.warn('Failed to persist session entities', { error: error });
241
- }
242
- }
243
- /**
244
- * Load session entities from the database.
245
- * Called when a session starts.
246
- */
247
- export async function loadSessionEntities(sessionId) {
248
- try {
249
- const db = await getDb();
250
- const schema = await getSchema();
251
- const session = await db
252
- .select()
253
- .from(schema.contextSessions)
254
- .where(eq(schema.contextSessions.id, sessionId))
255
- .limit(1);
256
- if (session.length === 0 || !session[0].metadata)
257
- return;
258
- const metadata = session[0].metadata;
259
- const entityData = metadata.entities;
260
- if (!Array.isArray(entityData))
261
- return;
262
- const sessionMap = {
263
- sessionId,
264
- entities: new Map(),
265
- updatedAt: new Date(),
266
- };
267
- for (const e of entityData) {
268
- sessionMap.entities.set(e.id, {
269
- entityId: e.id,
270
- entityName: e.name,
271
- entityType: e.type,
272
- mentionCount: e.mentionCount,
273
- lastMentionedAt: new Date(), // Reset since we just loaded
274
- salience: e.salience * 0.8, // Decay on load
275
- });
276
- }
277
- sessionCache.set(sessionId, sessionMap);
278
- logger.debug('Loaded session entities', {
279
- sessionId,
280
- entityCount: entityData.length,
281
- });
282
- }
283
- catch (error) {
284
- logger.warn('Failed to load session entities', { error: error });
285
- }
286
- }
287
- //# sourceMappingURL=entity-tracker.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * Session Module
3
- * Session management and auto-load
4
- */
5
- export * from './types.js';
6
- export * from './auto-load.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1,7 +0,0 @@
1
- /**
2
- * Session Module
3
- * Session management and auto-load
4
- */
5
- export * from './types.js';
6
- export * from './auto-load.js';
7
- //# sourceMappingURL=index.js.map
@@ -1,26 +0,0 @@
1
- /**
2
- * Reference Resolver
3
- *
4
- * Resolves pronouns and references in queries to specific entities
5
- * using session context. Enables queries like:
6
- * "Was her project affected?" -> "Was Alice's project affected?"
7
- */
8
- export interface ReferenceResolution {
9
- original: string;
10
- resolved: string;
11
- resolvedEntity: string | null;
12
- entityType: string | null;
13
- confidence: number;
14
- method: 'pronoun' | 'definite_reference' | 'name_match' | 'none';
15
- }
16
- /**
17
- * Resolve pronouns and references in a query using session context.
18
- * Returns the original query with pronouns replaced by entity names.
19
- */
20
- export declare function resolvePronouns(query: string, sessionId: string): Promise<ReferenceResolution>;
21
- /**
22
- * Check if a query should trigger reference resolution.
23
- */
24
- export declare function shouldResolveReferences(query: string): boolean;
25
- export declare const wouldBenefitFromReferenceResolution: typeof shouldResolveReferences;
26
- //# sourceMappingURL=reference-resolver.d.ts.map
@@ -1,121 +0,0 @@
1
- /**
2
- * Reference Resolver
3
- *
4
- * Resolves pronouns and references in queries to specific entities
5
- * using session context. Enables queries like:
6
- * "Was her project affected?" -> "Was Alice's project affected?"
7
- */
8
- import { trackEntityInSession, resolveReference } from './entity-tracker.js';
9
- import { extractEntitiesAndRelations } from '../graph/llm-entity-extractor.js';
10
- import { logger } from '../logger.js';
11
- // ─── Pronoun Patterns ─────────────────────────────────────────────────────────
12
- const PRONOUNS = new Set([
13
- 'he', 'him', 'his', 'she', 'her', 'hers',
14
- 'it', 'its', 'they', 'them', 'their', 'theirs',
15
- 'this', 'that', 'these', 'those',
16
- ]);
17
- const POSSESSIVE_PRONOUNS = new Set([
18
- 'his', 'her', 'hers', 'its', 'their', 'theirs', 'my', 'your', 'our',
19
- ]);
20
- // ─── Main Resolution Function ────────────────────────────────────────────────
21
- /**
22
- * Resolve pronouns and references in a query using session context.
23
- * Returns the original query with pronouns replaced by entity names.
24
- */
25
- export async function resolvePronouns(query, sessionId) {
26
- const words = query.split(/\s+/);
27
- let resolved = query;
28
- let bestResolution = {
29
- original: query,
30
- resolved: query,
31
- resolvedEntity: null,
32
- entityType: null,
33
- confidence: 0,
34
- method: 'none',
35
- };
36
- // Step 1: Extract entities from the query itself
37
- const extraction = await extractEntitiesAndRelations(query, { preferLLM: false });
38
- for (const entity of extraction.entities) {
39
- trackEntityInSession(sessionId, entity.name, entity.name, entity.type);
40
- }
41
- // Step 2: Check each word for pronouns
42
- for (let i = 0; i < words.length; i++) {
43
- const word = words[i].toLowerCase().replace(/[.,!?;:]/g, '');
44
- if (PRONOUNS.has(word)) {
45
- const entity = resolveReference(sessionId, words[i]);
46
- if (entity) {
47
- // Replace the pronoun with the entity name
48
- const originalWord = words[i];
49
- words[i] = entity.entityName;
50
- resolved = words.join(' ');
51
- bestResolution = {
52
- original: query,
53
- resolved,
54
- resolvedEntity: entity.entityName,
55
- entityType: entity.entityType,
56
- confidence: entity.salience,
57
- method: 'pronoun',
58
- };
59
- logger.debug('Resolved pronoun', {
60
- pronoun: originalWord,
61
- entity: entity.entityName,
62
- type: entity.entityType,
63
- salience: entity.salience,
64
- });
65
- }
66
- }
67
- }
68
- // Step 3: Check for definite references ("the project", "the database")
69
- if (bestResolution.method === 'none') {
70
- const definiteRefPatterns = [
71
- { pattern: /\bthe (project|app|application)\b/i, types: ['concept'] },
72
- { pattern: /\bthe (team|group)\b/i, types: ['concept'] },
73
- { pattern: /\bthe (database|db)\b/i, types: ['tool'] },
74
- { pattern: /\bthe (server|service|api)\b/i, types: ['tool'] },
75
- { pattern: /\bthe (issue|bug|problem|outage)\b/i, types: ['concept'] },
76
- { pattern: /\bthe (file|module|component)\b/i, types: ['file'] },
77
- ];
78
- for (const { pattern, types } of definiteRefPatterns) {
79
- if (pattern.test(query)) {
80
- const entity = resolveReference(sessionId, query.match(pattern)[0]);
81
- if (entity) {
82
- // Replace "the X" with "the X (EntityName)"
83
- resolved = query.replace(pattern, `$1 (${entity.entityName})`);
84
- bestResolution = {
85
- original: query,
86
- resolved,
87
- resolvedEntity: entity.entityName,
88
- entityType: entity.entityType,
89
- confidence: entity.salience * 0.9, // Slightly lower confidence than direct pronoun
90
- method: 'definite_reference',
91
- };
92
- break;
93
- }
94
- }
95
- }
96
- }
97
- // Step 4: If we resolved something, also track the resolved entity
98
- if (bestResolution.resolvedEntity) {
99
- trackEntityInSession(sessionId, bestResolution.resolvedEntity, bestResolution.resolvedEntity, bestResolution.entityType || 'unknown');
100
- }
101
- return bestResolution;
102
- }
103
- /**
104
- * Check if a query should trigger reference resolution.
105
- */
106
- export function shouldResolveReferences(query) {
107
- const words = query.split(/\s+/);
108
- for (const word of words) {
109
- const clean = word.toLowerCase().replace(/[.,!?;:]/g, '');
110
- if (PRONOUNS.has(clean))
111
- return true;
112
- }
113
- // Check for definite references
114
- const definitePatterns = [
115
- /\bthe (project|app|application|team|group|database|db|server|service|api|issue|bug|problem|outage|file|module|component)\b/i,
116
- ];
117
- return definitePatterns.some(p => p.test(query));
118
- }
119
- // Backward compatibility
120
- export const wouldBenefitFromReferenceResolution = shouldResolveReferences;
121
- //# sourceMappingURL=reference-resolver.js.map
@@ -1,35 +0,0 @@
1
- /** Self-Iteration Job - Auto-extract key facts from ended conversations
2
- *
3
- * Processes conversations to extract memories and generate summaries
4
- */
5
- import { type JobHandler } from '../scheduler/cron-scheduler.js';
6
- import type { MemoryType } from '../lib/types.js';
7
- export interface SelfIterationConfig {
8
- enabled: boolean;
9
- extractFacts: boolean;
10
- generateSummaries: boolean;
11
- consolidateMemories: boolean;
12
- minMessageCount: number;
13
- maxMessagesToProcess: number;
14
- }
15
- declare const DEFAULT_CONFIG: SelfIterationConfig;
16
- export interface MessageRow {
17
- id: string;
18
- conversationId: string;
19
- role: string;
20
- content: string;
21
- createdAt: Date;
22
- }
23
- interface ExtractedFact {
24
- content: string;
25
- type: ExtractableMemoryType;
26
- confidence: number;
27
- }
28
- type ExtractableMemoryType = Extract<MemoryType, 'fact' | 'decision' | 'preference'>;
29
- export declare function extractDurableSelfIterationFacts(messages: MessageRow[]): ExtractedFact[];
30
- /**
31
- * Register self-iteration job handler
32
- */
33
- declare const selfIterationHandler: JobHandler;
34
- export { selfIterationHandler, DEFAULT_CONFIG };
35
- //# sourceMappingURL=self-iteration-job.d.ts.map