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,351 +0,0 @@
1
- /**
2
- * Relationship Extractor
3
- *
4
- * Populates entity_relations table with typed relationships extracted
5
- * from memory content.
6
- */
7
- import { eq, and, or } from 'drizzle-orm';
8
- import { getDb } from '../../db/index.js';
9
- import { getSchema } from '../../db/schema.js';
10
- import { logger } from '../logger.js';
11
- import { extractEntitiesAndRelations, } from './llm-entity-extractor.js';
12
- // Fallback relationship types for non-LLM extraction
13
- const FALLBACK_RELATION_TYPES = {
14
- CO_OCCURS: 'co_occurs_with',
15
- SAME_SENTENCE: 'mentioned_together',
16
- SEQUENTIAL: 'mentioned_before',
17
- };
18
- /**
19
- * Generate fallback relationships from entity co-occurrence when LLM is unavailable.
20
- * Creates edges between entities that appear in the same memory or sentence.
21
- */
22
- function generateCoOccurrenceRelations(entities, content) {
23
- const relations = [];
24
- if (entities.length < 2)
25
- return relations;
26
- // Split content into sentences
27
- const sentences = content.split(/[.!?]+/).filter(s => s.trim().length > 0);
28
- // For each pair of entities, determine relationship strength based on proximity
29
- for (let i = 0; i < entities.length; i++) {
30
- for (let j = i + 1; j < entities.length; j++) {
31
- const e1 = entities[i];
32
- const e2 = entities[j];
33
- // Skip if same entity
34
- if (e1.name.toLowerCase() === e2.name.toLowerCase())
35
- continue;
36
- // Check if they appear in the same sentence
37
- const sameSentence = sentences.some(sentence => {
38
- return sentence.toLowerCase().includes(e1.name.toLowerCase()) &&
39
- sentence.toLowerCase().includes(e2.name.toLowerCase());
40
- });
41
- // Check if e1 appears before e2 in text
42
- const e1Index = content.toLowerCase().indexOf(e1.name.toLowerCase());
43
- const e2Index = content.toLowerCase().indexOf(e2.name.toLowerCase());
44
- const sequential = e1Index >= 0 && e2Index >= 0 && e1Index < e2Index;
45
- // Determine relation type and confidence
46
- let relationType;
47
- let confidence;
48
- if (sameSentence) {
49
- relationType = FALLBACK_RELATION_TYPES.SAME_SENTENCE;
50
- confidence = 0.7;
51
- }
52
- else if (sequential) {
53
- relationType = FALLBACK_RELATION_TYPES.SEQUENTIAL;
54
- confidence = 0.5;
55
- }
56
- else {
57
- relationType = FALLBACK_RELATION_TYPES.CO_OCCURS;
58
- confidence = 0.3;
59
- }
60
- // Create bidirectional relationships
61
- relations.push({
62
- fromEntity: e1.name,
63
- toEntity: e2.name,
64
- relationType,
65
- confidence,
66
- context: `Co-occurrence in memory (${relationType})`,
67
- });
68
- relations.push({
69
- fromEntity: e2.name,
70
- toEntity: e1.name,
71
- relationType,
72
- confidence,
73
- context: `Co-occurrence in memory (${relationType})`,
74
- });
75
- }
76
- }
77
- return relations;
78
- }
79
- /**
80
- * Extract entities and relations from memory content and store them in the database.
81
- * Returns the stored entities and relations.
82
- */
83
- export async function extractAndStoreRelations(memoryId, content, projectId, options) {
84
- // Step 1: Extract entities and relations from content
85
- const extraction = await extractEntitiesAndRelations(content, options);
86
- if (extraction.entities.length === 0 && extraction.relations.length === 0) {
87
- return { entities: 0, relations: 0, source: extraction.source };
88
- }
89
- // Step 2: Store entities and get their IDs
90
- const entityIdMap = await storeEntities(extraction.entities, projectId);
91
- // Step 3: Generate fallback relationships if LLM didn't produce any
92
- let relationsToStore = extraction.relations;
93
- if (relationsToStore.length === 0 && extraction.entities.length >= 2) {
94
- logger.debug('No relations extracted, generating co-occurrence fallback', {
95
- entityCount: extraction.entities.length,
96
- });
97
- const fallbackRelations = generateCoOccurrenceRelations(extraction.entities, content);
98
- relationsToStore = fallbackRelations;
99
- }
100
- // Step 4: Store relations between entities
101
- const storedRelations = await storeRelations(relationsToStore, entityIdMap);
102
- // Step 5: Link entities to the memory record
103
- await linkEntitiesToMemory(memoryId, extraction.entities, projectId);
104
- logger.info('Extracted and stored entities/relations', {
105
- memoryId,
106
- entityCount: entityIdMap.size,
107
- relationCount: storedRelations,
108
- source: extraction.source,
109
- });
110
- return {
111
- entities: entityIdMap.size,
112
- relations: storedRelations,
113
- source: extraction.source === 'none' ? 'fallback' : extraction.source,
114
- };
115
- }
116
- /**
117
- * Store extracted entities in the database, returning a map of entity name -> ID.
118
- * Deduplicates by name+type within the project.
119
- */
120
- async function storeEntities(entities, projectId) {
121
- const db = await getDb();
122
- const schema = await getSchema();
123
- const entityIdMap = new Map();
124
- for (const entity of entities) {
125
- try {
126
- // Check if entity already exists (by name + type + project)
127
- const existing = await db
128
- .select()
129
- .from(schema.entities)
130
- .where(and(eq(schema.entities.projectId, projectId), eq(schema.entities.name, entity.name), eq(schema.entities.type, entity.type)))
131
- .limit(1);
132
- if (existing.length > 0) {
133
- // Update mention count and last_mentioned_at
134
- await db
135
- .update(schema.entities)
136
- .set({
137
- mentionCount: (existing[0].mentionCount || 0) + 1,
138
- lastMentionedAt: new Date(),
139
- updatedAt: new Date(),
140
- })
141
- .where(eq(schema.entities.id, existing[0].id));
142
- entityIdMap.set(entity.name, existing[0].id);
143
- }
144
- else {
145
- // Create new entity
146
- const newEntity = {
147
- name: entity.name,
148
- type: entity.type,
149
- projectId,
150
- description: entity.context || null,
151
- properties: {
152
- confidence: entity.confidence,
153
- normalized: entity.normalized,
154
- },
155
- };
156
- const inserted = await db
157
- .insert(schema.entities)
158
- .values(newEntity)
159
- .returning();
160
- entityIdMap.set(entity.name, inserted[0].id);
161
- }
162
- }
163
- catch (error) {
164
- logger.debug('Error storing entity', { entity: entity.name, error: error });
165
- // Continue with other entities
166
- }
167
- }
168
- return entityIdMap;
169
- }
170
- /**
171
- * Store extracted relations in the entity_relations table.
172
- * Deduplicates by from+to+type.
173
- */
174
- async function storeRelations(relations, entityIdMap) {
175
- const db = await getDb();
176
- const schema = await getSchema();
177
- let storedCount = 0;
178
- for (const relation of relations) {
179
- const fromId = entityIdMap.get(relation.fromEntity);
180
- const toId = entityIdMap.get(relation.toEntity);
181
- // Skip relations where we can't resolve both entities
182
- if (!fromId || !toId) {
183
- // Try to find entities by name even if not in our extraction
184
- continue;
185
- }
186
- try {
187
- // Check if relation already exists
188
- const existing = await db
189
- .select()
190
- .from(schema.entityRelations)
191
- .where(and(eq(schema.entityRelations.fromEntityId, fromId), eq(schema.entityRelations.toEntityId, toId), eq(schema.entityRelations.type, relation.relationType)))
192
- .limit(1);
193
- if (existing.length > 0) {
194
- // Strengthen existing relation
195
- await db
196
- .update(schema.entityRelations)
197
- .set({
198
- weight: Math.min(10, (existing[0].weight || 1) + 1),
199
- properties: {
200
- ...(existing[0].properties || {}),
201
- confidence: relation.confidence,
202
- context: relation.context,
203
- lastSeen: new Date().toISOString(),
204
- },
205
- })
206
- .where(eq(schema.entityRelations.id, existing[0].id));
207
- }
208
- else {
209
- // Create new relation
210
- await db.insert(schema.entityRelations).values({
211
- fromEntityId: fromId,
212
- toEntityId: toId,
213
- type: relation.relationType,
214
- weight: Math.round(relation.confidence * 10),
215
- properties: {
216
- confidence: relation.confidence,
217
- context: relation.context,
218
- },
219
- });
220
- }
221
- storedCount++;
222
- }
223
- catch (error) {
224
- logger.debug('Error storing relation', {
225
- from: relation.fromEntity,
226
- to: relation.toEntity,
227
- error: error,
228
- });
229
- }
230
- }
231
- return storedCount;
232
- }
233
- /**
234
- * Link extracted entities to a memory record.
235
- * Updates the memory's metadata with entity references.
236
- */
237
- async function linkEntitiesToMemory(memoryId, entities, projectId) {
238
- const db = await getDb();
239
- const schema = await getSchema();
240
- try {
241
- // Get current memory metadata
242
- const memories = await db
243
- .select()
244
- .from(schema.memories)
245
- .where(eq(schema.memories.id, memoryId))
246
- .limit(1);
247
- if (memories.length === 0)
248
- return;
249
- const memory = memories[0];
250
- const existingMetadata = memory.metadata || {};
251
- // Add entity names to metadata
252
- const entityNames = entities.map(e => e.name);
253
- const existingEntities = Array.isArray(existingMetadata.entities) ? existingMetadata.entities : [];
254
- const updatedMetadata = {
255
- ...existingMetadata,
256
- entities: [...new Set([...existingEntities, ...entityNames])],
257
- };
258
- await db
259
- .update(schema.memories)
260
- .set({ metadata: updatedMetadata })
261
- .where(eq(schema.memories.id, memoryId));
262
- }
263
- catch (error) {
264
- logger.debug('Error linking entities to memory', { memoryId, error: error });
265
- }
266
- }
267
- /**
268
- * Get all relations for a set of entity IDs.
269
- * Used by graph traversal to find connected entities.
270
- */
271
- export async function getEntityRelations(entityIds, relationTypes) {
272
- const db = await getDb();
273
- const schema = await getSchema();
274
- const whereConditions = relationTypes
275
- ? and(or(...entityIds.map(id => eq(schema.entityRelations.fromEntityId, id))), or(...relationTypes.map(type => eq(schema.entityRelations.type, type))))
276
- : or(...entityIds.map(id => eq(schema.entityRelations.fromEntityId, id)));
277
- const relations = await db
278
- .select()
279
- .from(schema.entityRelations)
280
- .where(whereConditions);
281
- // Also get incoming relations
282
- const incomingRelations = await db
283
- .select()
284
- .from(schema.entityRelations)
285
- .where(or(...entityIds.map(id => eq(schema.entityRelations.toEntityId, id))));
286
- // Combine and deduplicate
287
- const allRelations = [...relations, ...incomingRelations];
288
- const seen = new Set();
289
- const unique = [];
290
- for (const r of allRelations) {
291
- if (!seen.has(r.id)) {
292
- seen.add(r.id);
293
- unique.push({
294
- id: r.id,
295
- fromEntityId: r.fromEntityId,
296
- toEntityId: r.toEntityId,
297
- fromEntityName: '', // Will be populated by caller if needed
298
- toEntityName: '',
299
- relationType: r.type,
300
- weight: r.weight || 1,
301
- properties: r.properties,
302
- });
303
- }
304
- }
305
- return unique;
306
- }
307
- /**
308
- * Get all entities for a project.
309
- */
310
- export async function getProjectEntities(projectId, limit = 100) {
311
- const db = await getDb();
312
- const schema = await getSchema();
313
- const entities = await db
314
- .select({
315
- id: schema.entities.id,
316
- name: schema.entities.name,
317
- type: schema.entities.type,
318
- description: schema.entities.description,
319
- })
320
- .from(schema.entities)
321
- .where(eq(schema.entities.projectId, projectId))
322
- .limit(limit);
323
- return entities;
324
- }
325
- /**
326
- * Delete all entities and relations for a project (for graph rebuild).
327
- */
328
- export async function clearProjectGraph(projectId) {
329
- const db = await getDb();
330
- const schema = await getSchema();
331
- // Delete relations first (foreign key constraint)
332
- const projectEntities = await db
333
- .select({ id: schema.entities.id })
334
- .from(schema.entities)
335
- .where(eq(schema.entities.projectId, projectId));
336
- const entityIds = projectEntities.map((e) => e.id);
337
- if (entityIds.length > 0) {
338
- // Delete relations involving these entities
339
- for (const entityId of entityIds) {
340
- await db
341
- .delete(schema.entityRelations)
342
- .where(or(eq(schema.entityRelations.fromEntityId, entityId), eq(schema.entityRelations.toEntityId, entityId)));
343
- }
344
- }
345
- // Delete entities
346
- await db
347
- .delete(schema.entities)
348
- .where(eq(schema.entities.projectId, projectId));
349
- logger.info('Cleared project graph', { projectId, entityCount: entityIds.length });
350
- }
351
- //# sourceMappingURL=relationship-extractor.js.map
@@ -1,83 +0,0 @@
1
- /**
2
- * Agent Hooks - Core Logic
3
- *
4
- * Universal hooks for auto-capturing agent activities.
5
- * Works with Claude Code, OpenCode, Cursor, Windsurf.
6
- *
7
- * Hook events:
8
- * - sessionStart: Inject relevant memories on session start
9
- * - postToolUse: Record observations after tool execution
10
- * - sessionEnd: Save snapshot and sync learnings
11
- * - preCompact: Save state before context compaction
12
- */
13
- /**
14
- * Generate a new session ID (universal across agents)
15
- */
16
- export declare function generateSessionId(): string;
17
- /**
18
- * Get current session ID
19
- */
20
- export declare function getCurrentSessionId(): string | null;
21
- /**
22
- * Set session ID (for resume/continue)
23
- */
24
- export declare function setSessionId(sessionId: string): void;
25
- /**
26
- * Session start hook - inject relevant context
27
- */
28
- export declare function handleSessionStart(params: {
29
- projectPath: string;
30
- mode: 'startup' | 'resume' | 'compact';
31
- agentType: 'claude-code' | 'opencode' | 'cursor' | 'windsurf';
32
- }): Promise<{
33
- memories: string[];
34
- sessionId: string;
35
- count: number;
36
- preferences?: Array<{
37
- key: string;
38
- value: string;
39
- }>;
40
- beliefs?: {
41
- failures: string[];
42
- constraints: string[];
43
- decisions: string[];
44
- };
45
- }>;
46
- /**
47
- * Post-tool-use hook - record observations
48
- */
49
- export declare function handlePostToolUse(params: {
50
- toolName: string;
51
- toolInput: Record<string, unknown>;
52
- toolResult: unknown;
53
- projectPath: string;
54
- agentType: 'claude-code' | 'opencode' | 'cursor' | 'windsurf';
55
- }): Promise<{
56
- captured: boolean;
57
- memoryId?: string;
58
- reason?: string;
59
- }>;
60
- /**
61
- * Session end hook - save snapshot and sync to persistent hot cache
62
- */
63
- export declare function handleSessionEnd(params: {
64
- projectPath: string;
65
- agentType: 'claude-code' | 'opencode' | 'cursor' | 'windsurf';
66
- workInProgress?: string;
67
- }): Promise<{
68
- snapshotId?: string;
69
- memoriesSaved: number;
70
- }>;
71
- /**
72
- * Pre-compact hook - save state for recovery
73
- */
74
- export declare function handlePreCompact(params: {
75
- projectPath: string;
76
- agentType: 'claude-code' | 'opencode' | 'cursor' | 'windsurf';
77
- }): Promise<{
78
- stateSaved: boolean;
79
- stateId?: string;
80
- }>;
81
- export { shouldCaptureTool, categorizeTool } from './capture-filter.js';
82
- export { inferTags } from './auto-tagger.js';
83
- //# sourceMappingURL=agent-hooks.d.ts.map