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,241 +0,0 @@
1
- /**
2
- * Importance Scoring System
3
- * Calculates and manages memory importance scores (0-100) with temporal decay
4
- */
5
- import { eq } from 'drizzle-orm';
6
- import { getDbClient } from '../lib/db-client.js';
7
- /**
8
- * Type weights for importance scoring
9
- * Higher values = more important memory types
10
- */
11
- const TYPE_WEIGHTS = {
12
- decision: 15,
13
- fact: 10,
14
- preference: 8,
15
- context: 5,
16
- observation: 0,
17
- };
18
- /**
19
- * Calculate importance score for a memory
20
- *
21
- * Formula: base + recency + accessFrequency + typeWeight + userFlags
22
- * All values are clamped to 0-100 range
23
- */
24
- export function calculateImportance(memory) {
25
- const components = {
26
- base: 50, // Neutral starting point
27
- recency: calculateRecencyComponent(memory),
28
- accessFrequency: calculateAccessFrequencyComponent(memory),
29
- typeWeight: calculateTypeWeightComponent(memory),
30
- userFlags: calculateUserFlagsComponent(memory),
31
- };
32
- // Calculate total score (clamped to 0-100)
33
- const score = Math.min(100, Math.max(0, components.base +
34
- components.recency +
35
- components.accessFrequency +
36
- components.typeWeight +
37
- components.userFlags));
38
- return {
39
- score,
40
- components,
41
- explanation: generateImportanceExplanation(components, memory),
42
- };
43
- }
44
- /**
45
- * Calculate recency component (0-30 points)
46
- * Uses exponential decay based on memory age
47
- */
48
- function calculateRecencyComponent(memory) {
49
- if (!memory.createdAt)
50
- return 0;
51
- const now = Date.now();
52
- const createdAt = new Date(memory.createdAt).getTime();
53
- const ageDays = (now - createdAt) / (1000 * 60 * 60 * 24);
54
- // Decay rate: default 30 days half-life
55
- const decayRate = memory.importanceDecayRate ?? 30;
56
- // Exponential decay: 30 * (0.5 ^ (age / halfLife))
57
- // Maximum 30 points for very recent memories
58
- const recencyScore = 30 * Math.pow(0.5, ageDays / decayRate);
59
- return Math.max(0, Math.min(30, recencyScore));
60
- }
61
- /**
62
- * Calculate access frequency component (0-15 points)
63
- * More frequently accessed memories are more important
64
- */
65
- function calculateAccessFrequencyComponent(memory) {
66
- const accessCount = memory.accessCount ?? 0;
67
- const usageCount = memory.usageCount ?? 0;
68
- // Combined access count (from both fields)
69
- const totalAccess = accessCount + usageCount;
70
- // Logarithmic scaling: 15 * log10(totalAccess + 1)
71
- // This gives diminishing returns for high access counts
72
- const accessScore = 15 * Math.log10(totalAccess + 1);
73
- return Math.min(15, accessScore);
74
- }
75
- /**
76
- * Calculate type weight component (0-15 points)
77
- * Different memory types have different inherent importance
78
- */
79
- function calculateTypeWeightComponent(memory) {
80
- const type = memory.type ?? 'observation';
81
- return TYPE_WEIGHTS[type] ?? 0;
82
- }
83
- /**
84
- * Calculate user flags component (0 or +20 points)
85
- * Pinned or protected memories get maximum importance
86
- */
87
- function calculateUserFlagsComponent(memory) {
88
- // Pinned memories get maximum boost
89
- if (memory.isPinned)
90
- return 20;
91
- // Protected memories also get significant boost
92
- if (memory.isProtected)
93
- return 15;
94
- // Immutable memories are important but not as much
95
- if (memory.isImmutable)
96
- return 10;
97
- return 0;
98
- }
99
- /**
100
- * Generate human-readable explanation for importance score
101
- */
102
- function generateImportanceExplanation(components, memory) {
103
- const parts = [];
104
- // Base score
105
- parts.push(`base: ${components.base}`);
106
- // Recency
107
- if (components.recency > 20) {
108
- parts.push('very recent');
109
- }
110
- else if (components.recency > 10) {
111
- parts.push('recent');
112
- }
113
- else if (components.recency > 0) {
114
- parts.push('somewhat recent');
115
- }
116
- // Access frequency
117
- const totalAccess = (memory.accessCount ?? 0) + (memory.usageCount ?? 0);
118
- if (totalAccess > 10) {
119
- parts.push('frequently accessed');
120
- }
121
- else if (totalAccess > 3) {
122
- parts.push('occasionally accessed');
123
- }
124
- // Type
125
- const type = memory.type ?? 'observation';
126
- if (type !== 'observation') {
127
- parts.push(`${type} type`);
128
- }
129
- // User flags
130
- if (memory.isPinned) {
131
- parts.push('pinned by user');
132
- }
133
- else if (memory.isProtected) {
134
- parts.push('protected');
135
- }
136
- return parts.join(', ');
137
- }
138
- /**
139
- * Update importance score for a memory
140
- * Used when memory is accessed or modified
141
- */
142
- export async function updateImportanceScore(memoryId, incrementAccess = false) {
143
- const { db, schema } = await getDbClient();
144
- // Get current memory
145
- const memories = await db
146
- .select()
147
- .from(schema.memories)
148
- .where(eq(schema.memories.id, memoryId))
149
- .limit(1);
150
- if (memories.length === 0) {
151
- throw new Error(`Memory not found: ${memoryId}`);
152
- }
153
- const memory = memories[0];
154
- // Calculate new importance score
155
- const importance = calculateImportance(memory);
156
- // Update memory with new score
157
- const updateData = {
158
- importanceScore: importance.score,
159
- lastImportanceRecalc: new Date(),
160
- };
161
- // Increment access count if requested
162
- if (incrementAccess) {
163
- updateData.accessCount = (memory.accessCount ?? 0) + 1;
164
- updateData.lastAccessedAt = new Date();
165
- }
166
- await db
167
- .update(schema.memories)
168
- .set(updateData)
169
- .where(eq(schema.memories.id, memoryId));
170
- return importance.score;
171
- }
172
- /**
173
- * Get low-importance memories that are candidates for consolidation
174
- * These are old, rarely accessed memories with low importance scores
175
- */
176
- export async function getLowImportanceMemories(projectId, options = {}) {
177
- const { db, schema } = await getDbClient();
178
- const { minAge = 90, // 90 days old by default
179
- maxImportance = 30, // importance score below 30
180
- limit = 100, } = options;
181
- const minAgeTimestamp = new Date(Date.now() - minAge * 24 * 60 * 60 * 1000);
182
- const memories = await db
183
- .select()
184
- .from(schema.memories)
185
- .where(eq(schema.memories.projectId, projectId))
186
- .all();
187
- // Filter by criteria
188
- return memories
189
- .filter((m) => {
190
- // Skip pinned/protected/consolidated
191
- if (m.isPinned || m.isProtected || m.isConsolidated) {
192
- return false;
193
- }
194
- // Check age
195
- if (m.createdAt) {
196
- const createdAt = new Date(m.createdAt).getTime();
197
- if (createdAt > minAgeTimestamp.getTime()) {
198
- return false;
199
- }
200
- }
201
- // Check importance
202
- if ((m.importanceScore ?? 50) > maxImportance) {
203
- return false;
204
- }
205
- return true;
206
- })
207
- .slice(0, limit);
208
- }
209
- /**
210
- * Set importance score manually (for user override)
211
- */
212
- export async function setImportanceScore(memoryId, score) {
213
- if (score < 0 || score > 100) {
214
- throw new Error('Importance score must be between 0 and 100');
215
- }
216
- const { db, schema } = await getDbClient();
217
- await db
218
- .update(schema.memories)
219
- .set({
220
- importanceScore: Math.round(score),
221
- lastImportanceRecalc: new Date(),
222
- })
223
- .where(eq(schema.memories.id, memoryId));
224
- }
225
- /**
226
- * Pin a memory to prevent decay and consolidation
227
- */
228
- export async function pinMemory(memoryId, pinned = true) {
229
- const { db, schema } = await getDbClient();
230
- await db
231
- .update(schema.memories)
232
- .set({
233
- isPinned: pinned ? 1 : 0,
234
- // When pinning, set max importance; when unpinning, recalculate
235
- importanceScore: pinned ? 100 : undefined,
236
- lastImportanceRecalc: new Date(),
237
- })
238
- .where(eq(schema.memories.id, memoryId));
239
- }
240
- // cosineSimilarity has been removed - import from core/utils/vector-operations.ts directly
241
- //# sourceMappingURL=importance.js.map
@@ -1,9 +0,0 @@
1
- export * from './normalization.js';
2
- export * from './memories.js';
3
- export * from './memory-manager.js';
4
- export * from './serialization.js';
5
- export * from './temporal-parser.js';
6
- export * from './entity-extractor.js';
7
- export * from './hybrid-scorer.js';
8
- export * from './bridge-discovery.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1,11 +0,0 @@
1
- // Memory feature - Store and manage memories
2
- export * from './normalization.js';
3
- export * from './memories.js';
4
- export * from './memory-manager.js';
5
- export * from './serialization.js';
6
- // Advanced memory features
7
- export * from './temporal-parser.js';
8
- export * from './entity-extractor.js';
9
- export * from './hybrid-scorer.js';
10
- export * from './bridge-discovery.js';
11
- //# sourceMappingURL=index.js.map
@@ -1,31 +0,0 @@
1
- /**
2
- * Memory Loading Abstraction
3
- * Unified utilities for loading memories by ID with configurable options
4
- */
5
- import { type MemoryRecord } from './normalization.js';
6
- export interface LoadMemoryOptions {
7
- incrementAccess?: boolean;
8
- decrypt?: boolean;
9
- normalize?: boolean;
10
- includeSensitive?: boolean;
11
- }
12
- /**
13
- * Load a single memory by ID with configurable options
14
- */
15
- export declare function loadMemory(id: string, options?: LoadMemoryOptions): Promise<MemoryRecord | any | null>;
16
- /**
17
- * Load multiple memories by IDs efficiently
18
- * Returns a Map keyed by memory ID
19
- */
20
- export declare function loadMemories(ids: string[], options?: LoadMemoryOptions): Promise<Map<string, any>>;
21
- /**
22
- * Load a memory by ID with raw database access, no processing.
23
- *
24
- * This is for special cases that need the raw database row without
25
- * normalization, decryption, or access count updates.
26
- *
27
- * @param id - Memory UUID
28
- * @returns Raw database row or null if not found
29
- */
30
- export declare function loadMemoryRaw(id: string): Promise<any | null>;
31
- //# sourceMappingURL=loader.d.ts.map
@@ -1,141 +0,0 @@
1
- /**
2
- * Memory Loading Abstraction
3
- * Unified utilities for loading memories by ID with configurable options
4
- */
5
- import { eq, inArray } from 'drizzle-orm';
6
- import { getDbClient } from '../lib/db-client.js';
7
- import { decrypt } from '../security/encrypt.js';
8
- import { normalizeMemory } from './normalization.js';
9
- import { requireUuid } from '../lib/validation.js';
10
- /**
11
- * Load a single memory by ID with configurable options
12
- */
13
- export async function loadMemory(id, options = {}) {
14
- const { incrementAccess = true, decrypt: shouldDecrypt = true, normalize = true, includeSensitive = false } = options;
15
- // Validate UUID
16
- requireUuid(id);
17
- const { db, schema } = await getDbClient();
18
- // Query the memory
19
- const rows = await db.select().from(schema.memories).where(eq(schema.memories.id, id)).limit(1);
20
- const row = rows[0];
21
- if (!row)
22
- return null;
23
- // Increment access count if needed
24
- if (incrementAccess) {
25
- await db.update(schema.memories)
26
- .set({
27
- accessCount: (row.accessCount ?? 0) + 1,
28
- lastAccessedAt: new Date(),
29
- })
30
- .where(eq(schema.memories.id, id));
31
- }
32
- // Determine content: decrypt if needed
33
- let content = row.content;
34
- let encryptedContent = row.encrypted_content;
35
- let encryptionNonce = row.encryption_nonce;
36
- if (shouldDecrypt && row.is_encrypted) {
37
- try {
38
- content = decrypt(encryptedContent, encryptionNonce);
39
- }
40
- catch (e) {
41
- console.warn('Failed to decrypt memory', e);
42
- content = row.content; // fallback to stored content (encrypted)
43
- }
44
- }
45
- // Build result object
46
- let result = { ...row, content };
47
- // If not decrypting and includeSensitive, keep encrypted fields
48
- if (!shouldDecrypt && includeSensitive) {
49
- result.encrypted_content = encryptedContent;
50
- result.encryption_nonce = encryptionNonce;
51
- }
52
- // If normalize, convert to MemoryRecord shape
53
- if (normalize) {
54
- return normalizeMemory(result);
55
- }
56
- // Otherwise return raw-ish row (with content possibly decrypted)
57
- return result;
58
- }
59
- /**
60
- * Load multiple memories by IDs efficiently
61
- * Returns a Map keyed by memory ID
62
- */
63
- export async function loadMemories(ids, options = {}) {
64
- const { incrementAccess = true, decrypt: shouldDecrypt = true, normalize = true, includeSensitive = false } = options;
65
- if (ids.length === 0) {
66
- return new Map();
67
- }
68
- // Validate all UUIDs
69
- for (const id of ids) {
70
- requireUuid(id);
71
- }
72
- const { db, schema } = await getDbClient();
73
- // Batch query using IN operator
74
- const rows = await db
75
- .select()
76
- .from(schema.memories)
77
- .where(inArray(schema.memories.id, ids));
78
- // Create a map from id to row
79
- const rowMap = new Map();
80
- for (const row of rows) {
81
- rowMap.set(row.id, row);
82
- }
83
- // Increment access counts if needed
84
- if (incrementAccess) {
85
- const now = new Date();
86
- for (const row of rows) {
87
- await db.update(schema.memories)
88
- .set({
89
- accessCount: (row.accessCount ?? 0) + 1,
90
- lastAccessedAt: now,
91
- })
92
- .where(eq(schema.memories.id, row.id));
93
- }
94
- }
95
- // Process each row according to options
96
- const resultMap = new Map();
97
- for (const row of rows) {
98
- let content = row.content;
99
- let encryptedContent = row.encrypted_content;
100
- let encryptionNonce = row.encryption_nonce;
101
- if (shouldDecrypt && row.is_encrypted) {
102
- try {
103
- content = decrypt(encryptedContent, encryptionNonce);
104
- }
105
- catch (e) {
106
- console.warn('Failed to decrypt memory', e);
107
- content = row.content;
108
- }
109
- }
110
- let result = { ...row, content };
111
- if (!shouldDecrypt && includeSensitive) {
112
- result.encrypted_content = encryptedContent;
113
- result.encryption_nonce = encryptionNonce;
114
- }
115
- if (normalize) {
116
- resultMap.set(row.id, normalizeMemory(result));
117
- }
118
- else {
119
- resultMap.set(row.id, result);
120
- }
121
- }
122
- return resultMap;
123
- }
124
- /**
125
- * Load a memory by ID with raw database access, no processing.
126
- *
127
- * This is for special cases that need the raw database row without
128
- * normalization, decryption, or access count updates.
129
- *
130
- * @param id - Memory UUID
131
- * @returns Raw database row or null if not found
132
- */
133
- export async function loadMemoryRaw(id) {
134
- // Validate UUID
135
- requireUuid(id);
136
- const { db, schema } = await getDbClient();
137
- // Direct query without any processing
138
- const rows = await db.select().from(schema.memories).where(eq(schema.memories.id, id)).limit(1);
139
- return rows[0] || null;
140
- }
141
- //# sourceMappingURL=loader.js.map
@@ -1,72 +0,0 @@
1
- /**
2
- * Memory Markdown Storage
3
- *
4
- * Stores memories as markdown files in .squish/memory/
5
- * Following Karpathy LLM Memory pattern:
6
- * - raw/ : Append-only memory files (never edit)
7
- * - processed/ : LLM-generated articles (future)
8
- * - outputs/ : Query responses (future)
9
- *
10
- * Each memory = one .md file with YAML frontmatter
11
- */
12
- import type { MemoryType } from '../memories.js';
13
- export interface MarkdownMemoryInput {
14
- content: string;
15
- type?: MemoryType;
16
- tags?: string[];
17
- reasoning?: string;
18
- memoryContext?: string;
19
- examples?: string;
20
- exceptions?: string;
21
- source?: string;
22
- project?: string;
23
- }
24
- export interface MarkdownMemoryFile {
25
- id: string;
26
- type: MemoryType;
27
- content: string;
28
- tags: string[];
29
- createdAt: string;
30
- source?: string;
31
- project?: string;
32
- reasoning?: string;
33
- memoryContext?: string;
34
- examples?: string;
35
- exceptions?: string;
36
- }
37
- /**
38
- * Save a memory to memory raw folder
39
- */
40
- export declare function saveToMarkdown(input: MarkdownMemoryInput): Promise<MarkdownMemoryFile>;
41
- /**
42
- * Get all memories from memory raw folder
43
- */
44
- export declare function getMarkdownMemories(options?: {
45
- since?: Date;
46
- until?: Date;
47
- tags?: string[];
48
- type?: MemoryType;
49
- project?: string;
50
- }): Promise<MarkdownMemoryFile[]>;
51
- /**
52
- * Get a specific memory by ID
53
- */
54
- export declare function getMarkdownMemory(id: string): Promise<MarkdownMemoryFile | null>;
55
- /**
56
- * Delete a memory from memory
57
- */
58
- export declare function deleteMarkdownMemory(id: string): Promise<boolean>;
59
- /**
60
- * Get memory storage stats
61
- */
62
- export declare function getMemoryStats(): Promise<{
63
- totalMemories: number;
64
- byType: Record<string, number>;
65
- byTag: Record<string, number>;
66
- storageSizeBytes: number;
67
- }>;
68
- /**
69
- * Check if memory storage is available
70
- */
71
- export declare function isMemoryStorageAvailable(): boolean;
72
- //# sourceMappingURL=markdown-storage.d.ts.map