squish-memory 1.1.5 → 1.2.0

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 (499) hide show
  1. package/.env.example +32 -16
  2. package/CHANGELOG.md +147 -0
  3. package/README.md +120 -78
  4. package/{scripts → bin}/dependency-manager.mjs +217 -217
  5. package/{scripts → bin}/detect-clients.mjs +78 -78
  6. package/bin/install-interactive.mjs +321 -0
  7. package/bin/squish-mcp.mjs +46 -0
  8. package/bin/squish.mjs +33 -0
  9. package/config/mcp-migration-map.json +1 -6
  10. package/config/mcp-mode-semantics.json +19 -23
  11. package/config/mcp-remote-auth.json +3 -26
  12. package/config/mcp-universal.schema.json +5 -35
  13. package/config/settings.json +107 -52
  14. package/config.js +5 -0
  15. package/config.ts +218 -0
  16. package/core/adapters/config/claude-code.ts +133 -0
  17. package/core/adapters/config/cursor.ts +90 -0
  18. package/core/adapters/config/opencode.ts +89 -0
  19. package/core/adapters/config/windsurf.ts +90 -0
  20. package/core/adapters/index.ts +102 -0
  21. package/core/adapters/timeline.ts +116 -0
  22. package/core/adapters/types.ts +166 -0
  23. package/core/agent-preferences.ts +140 -0
  24. package/core/algorithms/analytics/token-estimator.ts +216 -0
  25. package/core/algorithms/detection/hash-filters.ts +260 -0
  26. package/core/algorithms/detection/semantic-ranker.ts +194 -0
  27. package/core/algorithms/detection/two-stage-detector.ts +421 -0
  28. package/core/algorithms/handlers/approve-merge.ts +215 -0
  29. package/core/algorithms/handlers/detect-duplicates.ts +192 -0
  30. package/core/algorithms/handlers/get-stats.ts +132 -0
  31. package/core/algorithms/handlers/list-proposals.ts +130 -0
  32. package/core/algorithms/handlers/preview-merge.ts +139 -0
  33. package/core/algorithms/handlers/reject-merge.ts +93 -0
  34. package/core/algorithms/handlers/reverse-merge.ts +155 -0
  35. package/core/algorithms/index.ts +39 -0
  36. package/core/algorithms/operations/cache-maintenance.ts +182 -0
  37. package/core/algorithms/safety/safety-checks.ts +256 -0
  38. package/core/algorithms/strategies/merge-strategies.ts +381 -0
  39. package/core/algorithms/types.ts +140 -0
  40. package/core/algorithms/utils/response-builder.ts +61 -0
  41. package/core/associations.ts +363 -0
  42. package/core/beliefs/decay.ts +289 -0
  43. package/core/beliefs/extractor.ts +131 -0
  44. package/core/beliefs/store.ts +557 -0
  45. package/core/beliefs/types.ts +38 -0
  46. package/core/commands/mcp-server.ts +5 -0
  47. package/core/compression.ts +177 -0
  48. package/core/config.js +2 -0
  49. package/core/consolidation.ts +330 -0
  50. package/core/context/agent-context.ts +388 -0
  51. package/core/context/context-paging.ts +449 -0
  52. package/core/context/context-window.ts +234 -0
  53. package/core/context/context.ts +35 -0
  54. package/core/embeddings/embeddings.ts +616 -0
  55. package/core/embeddings/google-multimodal.ts +200 -0
  56. package/{dist/core/local-embeddings.js → core/embeddings/local-embeddings.ts} +12 -11
  57. package/core/embeddings/qmd-client.ts +495 -0
  58. package/core/embeddings/transformers-local.ts +261 -0
  59. package/core/embeddings.js +4 -0
  60. package/core/error-handling.ts +206 -0
  61. package/core/external +219 -0
  62. package/core/graph/entity-deduplicator.ts +232 -0
  63. package/core/graph/graph-builder.ts +257 -0
  64. package/core/graph/graph-traversal.ts +490 -0
  65. package/core/graph/index.ts +24 -0
  66. package/core/graph/llm-entity-extractor.ts +402 -0
  67. package/core/graph/multi-hop-retrieval.ts +317 -0
  68. package/core/graph/relationship-extractor.ts +465 -0
  69. package/core/hooks/agent-hooks.ts +653 -0
  70. package/core/hooks/auto-tagger.ts +149 -0
  71. package/core/hooks/capture-filter.ts +169 -0
  72. package/core/hot-cache.ts +388 -0
  73. package/core/index.ts +10 -0
  74. package/core/ingestion/agent-memory.ts +167 -0
  75. package/core/ingestion/core-memory.ts +326 -0
  76. package/core/ingestion/learnings.ts +260 -0
  77. package/core/ingestion/signal-engine.ts +266 -0
  78. package/core/integrations/obsidian-vault.ts +197 -0
  79. package/core/layers/generator.ts +115 -0
  80. package/core/lib/db-client.ts +168 -0
  81. package/core/lib/parse-embedding.ts +59 -0
  82. package/core/lib/schemas.ts +102 -0
  83. package/core/lib/types.ts +49 -0
  84. package/core/lib/utils.ts +151 -0
  85. package/core/lib/validation.ts +180 -0
  86. package/core/lifecycle.ts +353 -0
  87. package/core/logger.ts +59 -0
  88. package/core/memory/bridge-discovery.ts +395 -0
  89. package/core/memory/categorizer.ts +390 -0
  90. package/core/memory/conflict-detector.ts +62 -0
  91. package/core/memory/consolidation.ts +372 -0
  92. package/core/memory/context-collector.ts +75 -0
  93. package/core/memory/contradiction-resolver.ts +494 -0
  94. package/core/memory/edit-workflow.ts +174 -0
  95. package/core/memory/entity-extractor.ts +426 -0
  96. package/core/memory/entity-resolver.ts +89 -0
  97. package/core/memory/explain.ts +112 -0
  98. package/core/memory/fact-deriver.ts +300 -0
  99. package/core/memory/fact-extractor.ts +120 -0
  100. package/core/memory/feedback-tracker.ts +200 -0
  101. package/core/memory/hooks.ts +230 -0
  102. package/core/memory/hybrid-retrieval.ts +65 -0
  103. package/core/memory/hybrid-scorer.ts +325 -0
  104. package/core/memory/hybrid-search.ts +748 -0
  105. package/core/memory/importance.ts +319 -0
  106. package/core/memory/index.ts +11 -0
  107. package/core/memory/loader.ts +178 -0
  108. package/core/memory/markdown/markdown-storage.ts +318 -0
  109. package/core/memory/memories.ts +565 -0
  110. package/core/memory/memory-lifecycle.ts +51 -0
  111. package/core/memory/memory-manager.ts +53 -0
  112. package/core/memory/migrate.ts +173 -0
  113. package/core/memory/normalization.ts +30 -0
  114. package/core/memory/path-strengthener.ts +211 -0
  115. package/core/memory/progressive-disclosure.ts +392 -0
  116. package/core/memory/query-processor.ts +130 -0
  117. package/core/memory/query-rewriter.ts +153 -0
  118. package/core/memory/response-analyzer.ts +81 -0
  119. package/core/memory/retrieval-feedback.ts +276 -0
  120. package/core/memory/serialization.ts +83 -0
  121. package/core/memory/stale-cleaner.ts +147 -0
  122. package/core/memory/stats.ts +181 -0
  123. package/core/memory/telemetry.ts +392 -0
  124. package/core/memory/temporal-facts.ts +356 -0
  125. package/core/memory/temporal-parser.ts +477 -0
  126. package/core/memory/trigger-detector.ts +104 -0
  127. package/core/memory/write-gate.ts +288 -0
  128. package/core/places/index.ts +14 -0
  129. package/core/places/memory-places.ts +339 -0
  130. package/core/places/places.ts +406 -0
  131. package/core/places/rules.ts +308 -0
  132. package/core/places/walking.ts +192 -0
  133. package/core/projects +89 -0
  134. package/core/projects.ts +131 -0
  135. package/core/redis.ts +82 -0
  136. package/core/responses.ts +187 -0
  137. package/core/runtime/trust-report.ts +195 -0
  138. package/core/runtime/trust-state.ts +360 -0
  139. package/core/scheduler/cron-scheduler.ts +581 -0
  140. package/core/scheduler/heartbeat.ts +91 -0
  141. package/core/scheduler/index.ts +8 -0
  142. package/core/scheduler/job-runner.ts +197 -0
  143. package/core/search/conversations.ts +166 -0
  144. package/core/search/entities.ts +46 -0
  145. package/core/search/folder-context.ts +154 -0
  146. package/core/search/graph-boost.ts +22 -0
  147. package/core/search/index.ts +4 -0
  148. package/core/search/qmd-wrapper.ts +84 -0
  149. package/core/security/encrypt.ts +51 -0
  150. package/core/security/governance.ts +102 -0
  151. package/core/security/privacy.ts +108 -0
  152. package/core/security/secret-detector.ts +122 -0
  153. package/core/session/auto-load.ts +160 -0
  154. package/core/session/entity-tracker.ts +363 -0
  155. package/core/session/index.ts +7 -0
  156. package/core/session/reference-resolver.ts +158 -0
  157. package/core/session/self-iteration-job.ts +478 -0
  158. package/core/session/session-hooks.ts +69 -0
  159. package/core/session/types.ts +36 -0
  160. package/core/session/working-set.ts +275 -0
  161. package/core/snapshots/cleanup.ts +13 -0
  162. package/core/snapshots/comparison.ts +59 -0
  163. package/core/snapshots/creation.ts +139 -0
  164. package/core/snapshots/retrieval.ts +44 -0
  165. package/core/snapshots/stats.ts +63 -0
  166. package/core/storage/cache.ts +241 -0
  167. package/core/storage/database.ts +23 -0
  168. package/core/summarization/cleanup.ts +13 -0
  169. package/core/summarization/queries.ts +32 -0
  170. package/core/summarization/stats.ts +64 -0
  171. package/core/summarization/strategies.ts +52 -0
  172. package/core/summarization.ts +248 -0
  173. package/core/temporal-facts.ts +244 -0
  174. package/core/tracing/collector.ts +470 -0
  175. package/core/tracing/visualizer.ts +195 -0
  176. package/core/utils/cleanup-operations.ts +50 -0
  177. package/core/utils/content-extraction.ts +95 -0
  178. package/core/utils/filter-builder.ts +56 -0
  179. package/core/utils/history-traversal.ts +63 -0
  180. package/core/utils/memory-operations.ts +56 -0
  181. package/core/utils/query-operations.ts +83 -0
  182. package/core/utils/summarization-helpers.ts +45 -0
  183. package/core/utils/temporal-queries.ts +39 -0
  184. package/core/utils/vector-operations.ts +135 -0
  185. package/core/utils/version-management.ts +74 -0
  186. package/core/worker.ts +324 -0
  187. package/db/adapter.ts +215 -0
  188. package/db/bootstrap.ts +1055 -0
  189. package/db/drizzle/migrations/0000_needy_cerebro.sql +402 -0
  190. package/db/drizzle/migrations/meta/0000_snapshot.json +3451 -0
  191. package/db/drizzle/migrations/meta/_journal.json +13 -0
  192. package/db/drizzle/schema-sqlite.ts +1032 -0
  193. package/db/drizzle/schema.ts +1128 -0
  194. package/db/drizzle.config.ts +12 -0
  195. package/db/index.ts +83 -0
  196. package/db/init.sql +5 -0
  197. package/db/migrations/associations.ts +35 -0
  198. package/db/migrations/beliefs.ts +89 -0
  199. package/db/migrations/core-memory.ts +35 -0
  200. package/db/migrations/fts.ts +59 -0
  201. package/db/migrations/index.ts +54 -0
  202. package/db/migrations/indexes.ts +36 -0
  203. package/db/migrations/learnings.ts +34 -0
  204. package/db/migrations/maintenance.ts +68 -0
  205. package/db/migrations/memories.ts +22 -0
  206. package/db/migrations/memory-places.ts +35 -0
  207. package/db/migrations/places.ts +49 -0
  208. package/db/migrations/projects.ts +21 -0
  209. package/db/migrations/tier-conversion.ts +24 -0
  210. package/db/neon.ts +22 -0
  211. package/db/schema/beliefs.ts +50 -0
  212. package/db/schema/generator.ts +159 -0
  213. package/db/schema/index.ts +58 -0
  214. package/db/schema/learnings.ts +32 -0
  215. package/db/schema/memories.ts +83 -0
  216. package/db/schema/projects.ts +33 -0
  217. package/db/schema.ts +13 -0
  218. package/db/supabase.ts +27 -0
  219. package/dist/config.d.ts +40 -17
  220. package/dist/config.js +150 -198
  221. package/dist/core/adapters/types.d.ts +13 -33
  222. package/dist/core/adapters/types.js +1 -1
  223. package/dist/core/agent-preferences.d.ts +16 -0
  224. package/dist/core/agent-preferences.js +124 -0
  225. package/dist/core/algorithms/safety/safety-checks.d.ts +1 -5
  226. package/dist/core/algorithms/types.d.ts +0 -8
  227. package/dist/core/associations.d.ts +3 -1
  228. package/dist/core/associations.js +37 -1
  229. package/dist/core/beliefs/decay.d.ts +27 -0
  230. package/dist/core/beliefs/decay.js +217 -0
  231. package/dist/core/beliefs/extractor.d.ts +9 -0
  232. package/dist/core/beliefs/extractor.js +113 -0
  233. package/dist/core/beliefs/store.d.ts +46 -0
  234. package/dist/core/beliefs/store.js +466 -0
  235. package/dist/core/beliefs/types.d.ts +28 -0
  236. package/dist/core/beliefs/types.js +2 -0
  237. package/dist/core/commands/mcp-server.d.ts +0 -1
  238. package/dist/core/commands/mcp-server.js +4 -737
  239. package/dist/core/commands/remember.d.ts +24 -0
  240. package/dist/core/commands/remember.js +144 -0
  241. package/dist/core/{toon.d.ts → compression.d.ts} +6 -4
  242. package/dist/core/{toon.js → compression.js} +8 -8
  243. package/dist/core/context/agent-context.js +1 -1
  244. package/dist/core/embeddings/embeddings.d.ts +29 -0
  245. package/dist/core/embeddings/embeddings.js +546 -0
  246. package/dist/core/embeddings/google-multimodal.js +6 -2
  247. package/dist/core/{local-embeddings.d.ts → embeddings/local-embeddings.d.ts} +1 -1
  248. package/dist/core/embeddings/local-embeddings.js +11 -0
  249. package/dist/core/embeddings/qmd-client.js +1 -1
  250. package/dist/core/embeddings/transformers-local.d.ts +64 -0
  251. package/dist/core/embeddings/transformers-local.js +213 -0
  252. package/dist/core/embeddings.d.ts +1 -28
  253. package/dist/core/embeddings.js +2 -453
  254. package/dist/core/graph/entity-deduplicator.d.ts +24 -0
  255. package/dist/core/graph/entity-deduplicator.js +183 -0
  256. package/dist/core/graph/graph-builder.d.ts +46 -0
  257. package/dist/core/graph/graph-builder.js +174 -0
  258. package/dist/core/graph/graph-traversal.d.ts +80 -0
  259. package/dist/core/graph/graph-traversal.js +315 -0
  260. package/dist/core/graph/index.d.ts +19 -0
  261. package/dist/core/graph/index.js +13 -0
  262. package/dist/core/graph/llm-entity-extractor.d.ts +49 -0
  263. package/dist/core/graph/llm-entity-extractor.js +313 -0
  264. package/dist/core/graph/multi-hop-retrieval.d.ts +48 -0
  265. package/dist/core/graph/multi-hop-retrieval.js +215 -0
  266. package/dist/core/graph/relationship-extractor.d.ts +48 -0
  267. package/dist/core/graph/relationship-extractor.js +351 -0
  268. package/dist/core/hooks/agent-hooks.d.ts +10 -1
  269. package/dist/core/hooks/agent-hooks.js +301 -24
  270. package/dist/core/hot-cache.d.ts +86 -0
  271. package/dist/core/hot-cache.js +285 -0
  272. package/dist/core/index.d.ts +9 -9
  273. package/dist/core/index.js +9 -12
  274. package/dist/core/ingestion/core-memory.d.ts +2 -2
  275. package/dist/core/ingestion/core-memory.js +3 -3
  276. package/dist/core/ingestion/learnings.js +3 -0
  277. package/dist/core/ingestion/signal-engine.d.ts +41 -0
  278. package/dist/core/ingestion/signal-engine.js +201 -0
  279. package/dist/core/{obsidian-vault.d.ts → integrations/obsidian-vault.d.ts} +2 -1
  280. package/dist/core/{obsidian-vault.js → integrations/obsidian-vault.js} +69 -7
  281. package/dist/core/lib/parse-embedding.d.ts +9 -0
  282. package/dist/core/lib/parse-embedding.js +58 -0
  283. package/dist/core/lib/schemas.d.ts +57 -54
  284. package/dist/core/lib/types.d.ts +45 -0
  285. package/dist/core/lib/types.js +6 -0
  286. package/dist/core/lib/utils.d.ts +4 -0
  287. package/dist/core/lib/utils.js +55 -0
  288. package/dist/core/lifecycle.d.ts +0 -1
  289. package/dist/core/lifecycle.js +13 -23
  290. package/dist/core/logger.d.ts +1 -0
  291. package/dist/core/logger.js +14 -8
  292. package/dist/core/mcp/tools.d.ts +0 -2
  293. package/dist/core/mcp/tools.js +0 -87
  294. package/dist/core/mcp/types.d.ts +25 -253
  295. package/dist/core/mcp/types.js +2 -2
  296. package/dist/core/memory/categorizer.js +1 -0
  297. package/dist/core/memory/consolidation.js +2 -28
  298. package/dist/core/memory/entity-extractor.d.ts +4 -0
  299. package/dist/core/memory/entity-extractor.js +30 -16
  300. package/dist/core/memory/explain.d.ts +18 -0
  301. package/dist/core/memory/explain.js +92 -0
  302. package/dist/core/memory/fact-deriver.d.ts +31 -0
  303. package/dist/core/memory/fact-deriver.js +236 -0
  304. package/dist/core/memory/hybrid-retrieval.d.ts +14 -16
  305. package/dist/core/memory/hybrid-retrieval.js +25 -127
  306. package/dist/core/memory/hybrid-scorer.js +6 -23
  307. package/dist/core/memory/hybrid-search.d.ts +10 -7
  308. package/dist/core/memory/hybrid-search.js +458 -221
  309. package/dist/core/memory/importance.d.ts +0 -17
  310. package/dist/core/memory/importance.js +1 -58
  311. package/dist/core/memory/index.d.ts +1 -0
  312. package/dist/core/memory/index.js +1 -0
  313. package/dist/core/memory/memories.d.ts +13 -17
  314. package/dist/core/memory/memories.js +78 -75
  315. package/dist/core/memory/memory-lifecycle.d.ts +2 -2
  316. package/dist/core/memory/memory-lifecycle.js +10 -18
  317. package/dist/core/memory/normalization.d.ts +1 -16
  318. package/dist/core/memory/path-strengthener.d.ts +39 -0
  319. package/dist/core/memory/path-strengthener.js +150 -0
  320. package/dist/core/memory/query-processor.js +37 -3
  321. package/dist/core/memory/retrieval-feedback.d.ts +70 -0
  322. package/dist/core/memory/retrieval-feedback.js +213 -0
  323. package/dist/core/memory/stale-cleaner.d.ts +26 -0
  324. package/dist/core/memory/stale-cleaner.js +97 -0
  325. package/dist/core/memory/stats.d.ts +10 -0
  326. package/dist/core/memory/stats.js +8 -3
  327. package/dist/core/memory/trigger-detector.d.ts +8 -1
  328. package/dist/core/memory/trigger-detector.js +42 -5
  329. package/dist/core/places/index.d.ts +1 -1
  330. package/dist/core/places/index.js +1 -1
  331. package/dist/core/places/places.d.ts +13 -13
  332. package/dist/core/places/places.js +27 -27
  333. package/dist/core/places/rules.js +23 -23
  334. package/dist/core/places/walking.d.ts +3 -3
  335. package/dist/core/places/walking.js +7 -7
  336. package/dist/core/projects.js +8 -0
  337. package/dist/core/runtime/trust-report.d.ts +102 -0
  338. package/dist/core/runtime/trust-report.js +107 -0
  339. package/dist/core/runtime/trust-state.d.ts +12 -0
  340. package/dist/core/runtime/trust-state.js +309 -0
  341. package/dist/core/scheduler/cron-scheduler.d.ts +1 -1
  342. package/dist/core/scheduler/cron-scheduler.js +164 -3
  343. package/dist/core/scheduler/job-runner.js +1 -1
  344. package/dist/core/search/qmd-wrapper.d.ts +36 -0
  345. package/dist/core/search/qmd-wrapper.js +58 -0
  346. package/dist/core/session/auto-load.js +28 -3
  347. package/dist/core/session/entity-tracker.d.ts +62 -0
  348. package/dist/core/session/entity-tracker.js +287 -0
  349. package/dist/core/session/reference-resolver.d.ts +26 -0
  350. package/dist/core/session/reference-resolver.js +121 -0
  351. package/dist/core/session/self-iteration-job.d.ts +15 -0
  352. package/dist/core/session/self-iteration-job.js +163 -58
  353. package/dist/core/session/working-set.d.ts +50 -0
  354. package/dist/core/session/working-set.js +212 -0
  355. package/dist/core/snapshots/creation.d.ts +2 -8
  356. package/dist/core/snapshots/creation.js +3 -12
  357. package/dist/core/utils/summarization-helpers.d.ts +0 -4
  358. package/dist/core/utils/summarization-helpers.js +1 -6
  359. package/dist/db/bootstrap.d.ts +2 -0
  360. package/dist/db/bootstrap.js +229 -280
  361. package/dist/db/drizzle/schema-sqlite.d.ts +702 -1
  362. package/dist/db/drizzle/schema-sqlite.js +83 -4
  363. package/dist/db/drizzle/schema.d.ts +653 -1
  364. package/dist/db/drizzle/schema.js +93 -4
  365. package/dist/db/migrations/associations.d.ts +6 -0
  366. package/dist/db/migrations/associations.js +29 -0
  367. package/dist/db/migrations/beliefs.d.ts +10 -0
  368. package/dist/db/migrations/beliefs.js +76 -0
  369. package/dist/db/migrations/core-memory.d.ts +6 -0
  370. package/dist/db/migrations/core-memory.js +29 -0
  371. package/dist/db/migrations/fts.d.ts +6 -0
  372. package/dist/db/migrations/fts.js +52 -0
  373. package/dist/db/migrations/index.d.ts +25 -0
  374. package/dist/db/migrations/index.js +51 -0
  375. package/dist/db/migrations/indexes.d.ts +6 -0
  376. package/dist/db/migrations/indexes.js +30 -0
  377. package/dist/db/migrations/learnings.d.ts +7 -0
  378. package/dist/db/migrations/learnings.js +26 -0
  379. package/dist/db/migrations/maintenance.d.ts +6 -0
  380. package/dist/db/migrations/maintenance.js +61 -0
  381. package/dist/db/migrations/memories.d.ts +7 -0
  382. package/dist/db/migrations/memories.js +16 -0
  383. package/dist/db/migrations/memory-places.d.ts +6 -0
  384. package/dist/db/migrations/memory-places.js +29 -0
  385. package/dist/db/migrations/places.d.ts +6 -0
  386. package/dist/db/migrations/places.js +43 -0
  387. package/dist/db/migrations/projects.d.ts +3 -0
  388. package/dist/db/migrations/projects.js +13 -0
  389. package/dist/db/migrations/tier-conversion.d.ts +7 -0
  390. package/dist/db/migrations/tier-conversion.js +20 -0
  391. package/dist/db/schema/beliefs.d.ts +9 -0
  392. package/dist/db/schema/beliefs.js +46 -0
  393. package/dist/db/schema/generator.d.ts +38 -0
  394. package/dist/db/schema/generator.js +108 -0
  395. package/dist/db/schema/index.d.ts +19 -20
  396. package/dist/db/schema/index.js +25 -79
  397. package/dist/db/schema/learnings.d.ts +7 -0
  398. package/dist/db/schema/learnings.js +30 -0
  399. package/dist/db/schema/memories.d.ts +7 -0
  400. package/dist/db/schema/memories.js +81 -0
  401. package/dist/db/schema/projects.d.ts +4 -0
  402. package/dist/db/schema/projects.js +31 -0
  403. package/dist/packages/mcp/src/index.d.ts +3 -0
  404. package/dist/packages/mcp/src/index.js +733 -0
  405. package/mcp.json.example +8 -11
  406. package/package.json +57 -76
  407. package/packages/cli/package.json +22 -0
  408. package/packages/cli/src/commands/clean.ts +68 -0
  409. package/packages/cli/src/commands/context.ts +79 -0
  410. package/packages/cli/src/commands/doctor.ts +357 -0
  411. package/packages/cli/src/commands/forget.ts +72 -0
  412. package/packages/cli/src/commands/health.ts +36 -0
  413. package/packages/cli/src/commands/inspect.ts +41 -0
  414. package/packages/cli/src/commands/link.ts +50 -0
  415. package/packages/cli/src/commands/migrate.ts +93 -0
  416. package/packages/cli/src/commands/recall.ts +99 -0
  417. package/packages/cli/src/commands/recent.ts +57 -0
  418. package/packages/cli/src/commands/remember.ts +139 -0
  419. package/packages/cli/src/commands/run.ts +58 -0
  420. package/packages/cli/src/commands/stale.ts +43 -0
  421. package/packages/cli/src/commands/stats.ts +42 -0
  422. package/packages/cli/src/index.ts +57 -0
  423. package/packages/cli/tsconfig.json +24 -0
  424. package/packages/mcp/package.json +26 -0
  425. package/packages/mcp/src/index.ts +877 -0
  426. package/packages/mcp/tsconfig.json +20 -0
  427. package/skills/squish-memory/SKILL.md +38 -35
  428. package/skills/squish-memory/{scripts/install.sh → install.sh} +1 -1
  429. package/skills/squish-memory/references/claude-desktop.json +12 -0
  430. package/skills/squish-memory/references/openclaw.json +13 -0
  431. package/skills/squish-memory/references/opencode.json +14 -0
  432. package/config/hooks/claude-code-hooks.json +0 -39
  433. package/config/hooks/cursor-hooks.json +0 -30
  434. package/config/hooks/opencode-hooks.json +0 -30
  435. package/config/hooks/windsurf-hooks.json +0 -30
  436. package/config/mcp-cli-fallback-policy.json +0 -22
  437. package/config/mcp.json +0 -38
  438. package/config/plugin-manifest.json +0 -101
  439. package/config/plugin-manifest.schema.json +0 -244
  440. package/config/plugin.json +0 -32
  441. package/config/remote-memory-policy.json +0 -32
  442. package/core/commands/context-paging.md +0 -51
  443. package/core/commands/context-status.md +0 -22
  444. package/core/commands/context.md +0 -5
  445. package/core/commands/core-memory.md +0 -56
  446. package/core/commands/health.md +0 -5
  447. package/core/commands/init.md +0 -39
  448. package/core/commands/merge.md +0 -113
  449. package/core/commands/recall.md +0 -5
  450. package/core/commands/remember.md +0 -11
  451. package/core/commands/search.md +0 -10
  452. package/dist/core/commands/managed-sync.d.ts +0 -10
  453. package/dist/core/commands/managed-sync.js +0 -64
  454. package/dist/core/external-folder/index.d.ts +0 -102
  455. package/dist/core/external-folder/index.js +0 -294
  456. package/dist/core/namespaces/index.d.ts +0 -71
  457. package/dist/core/namespaces/index.js +0 -305
  458. package/dist/core/namespaces/uri-parser.d.ts +0 -31
  459. package/dist/core/namespaces/uri-parser.js +0 -74
  460. package/dist/core/search/qmd-search.d.ts +0 -61
  461. package/dist/core/search/qmd-search.js +0 -178
  462. package/dist/core/session-hooks/self-iteration-job.d.ts +0 -20
  463. package/dist/core/session-hooks/self-iteration-job.js +0 -282
  464. package/dist/core/session-hooks/session-hooks.d.ts +0 -18
  465. package/dist/core/session-hooks/session-hooks.js +0 -58
  466. package/dist/core/snapshots.d.ts +0 -29
  467. package/dist/core/snapshots.js +0 -220
  468. package/dist/core/sync/qmd-sync.d.ts +0 -94
  469. package/dist/core/sync/qmd-sync.js +0 -201
  470. package/dist/index.d.ts +0 -7
  471. package/dist/index.js +0 -1677
  472. package/dist/vendor/sql.js/sql-wasm.wasm +0 -0
  473. package/dist/webui/server.d.ts +0 -5
  474. package/dist/webui/server.js +0 -642
  475. package/generated/mcp/manifest.json +0 -23
  476. package/generated/mcp/mcp-servers.json +0 -25
  477. package/generated/mcp/mcporter.json +0 -34
  478. package/generated/mcp/openclaw-memory-qmd.json +0 -17
  479. package/generated/mcp/runtime.json +0 -12
  480. package/scripts/README.md +0 -60
  481. package/scripts/build-release.sh +0 -36
  482. package/scripts/check-secrets.js +0 -132
  483. package/scripts/copy-runtime-assets.mjs +0 -26
  484. package/scripts/generate-mcp.mjs +0 -264
  485. package/scripts/github-release.sh +0 -77
  486. package/scripts/init-dirs.mjs +0 -13
  487. package/scripts/install-claude-code.sh +0 -85
  488. package/scripts/install-cursor.sh +0 -56
  489. package/scripts/install-hooks.sh +0 -73
  490. package/scripts/install-interactive.mjs +0 -357
  491. package/scripts/install-opencode.sh +0 -75
  492. package/scripts/install-plugin.mjs +0 -415
  493. package/scripts/install-windsurf.sh +0 -67
  494. package/scripts/remote-preflight.mjs +0 -62
  495. package/scripts/squish-fallback.mjs +0 -132
  496. package/scripts/test-interactive.mjs +0 -131
  497. package/scripts/verify-mcp.mjs +0 -214
  498. package/skills/squish-memory/scripts/install.mjs +0 -335
  499. package/skills/squish-memory/write_skill.js +0 -2
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "Bundler",
6
+ "lib": ["ES2022"],
7
+ "outDir": "./dist",
8
+ "rootDir": "./src",
9
+ "strict": true,
10
+ "esModuleInterop": true,
11
+ "skipLibCheck": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "declaration": true,
14
+ "declarationMap": true,
15
+ "sourceMap": true,
16
+ "noEmit": false
17
+ },
18
+ "include": ["src/**/*"],
19
+ "exclude": ["node_modules", "dist"]
20
+ }
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: squish-memory
3
3
  description: Squish - Persistent memory system for AI assistants. Store facts, decisions, context, and notes with CLI and MCP workflows.
4
- version: 1.1.5
4
+ version: 1.2.0
5
5
  author: michielhdoteth
6
- tags: [memory, persistence, search, semantic-search, ai-assistant, mcp, cli]
6
+ tags: [memory, persistence, recall, semantic-retrieval, ai-assistant, mcp, cli]
7
7
  emoji: brain
8
8
  ---
9
9
 
10
- # Squish Memory v1.1.5
10
+ # Squish Memory v1.2.0
11
11
 
12
12
  Persistent memory for AI coding assistants with local SQLite/Postgres storage, hybrid retrieval, and MCP integration.
13
13
 
@@ -28,42 +28,43 @@ squish run web
28
28
  | Skill | Description | Install |
29
29
  |-------|-------------|---------|
30
30
  | `squish-memory` | Overview and quick start | `npx skills add michielhdoteth/squish --skill squish-memory` |
31
- | `squish-mcp` | Current MCP tool reference (18 tools) | `npx skills add michielhdoteth/squish --skill squish-mcp` |
32
31
  | `squish-cli` | CLI command reference | `npx skills add michielhdoteth/squish --skill squish-cli` |
33
32
  | `memory-guide` | Usage patterns and best practices | `npx skills add michielhdoteth/squish --skill memory-guide` |
34
33
 
35
- ## MCP Tools (18)
36
-
37
- - `squish_remember` - Store memory
38
- - `squish_search` - Search memories
39
- - `squish_recall` - Fetch memory by ID
40
- - `squish_forget` - Delete memory
41
- - `squish_update` - Update memory
42
- - `squish_link` - Find, add, or list associations
43
- - `squish_context` - Load project context or list projects
44
- - `squish_learn` - Record success, failure, fix, or observation
45
- - `squish_health` - Check health
46
- - `squish_stats` - View stats
47
- - `squish_confidence` - Get or set confidence
48
- - `squish_pin` - Pin or unpin memory
49
- - `squish_set_passphrase` - Configure encryption passphrase
50
- - `squish_rotate_key` - Rotate encryption key
51
- - `squish_recent` - List recent memories
52
- - `squish_stale` - Show stale memories
53
- - `squish_note` - Save a quick note
54
- - `squish_tag` - Bulk tag operations
34
+ ## MCP Tools (12) - Unified Write Path
35
+
36
+ **THE memory write tool for agents: `squish_remember`**
37
+ - Auto-detects memory vs learning routing
38
+ - Supports hot/cold tiers
39
+ - Handles all memory types
40
+
41
+ | Tool | Purpose | Typical Input |
42
+ |------|---------|---------------|
43
+ | `squish_remember` | **RECOMMENDED** - Unified memory write with auto-detection | `content`, `project`, `tags`, `tier`, `type`, `route` |
44
+ | `squish_recall` | Recall memories by query or fetch by ID | `query`, optional `limit`, `project`, `type`, `place` |
45
+ | `squish_forget` | Delete memory | `memoryId` or bulk filters |
46
+ | `squish_update` | Update memory | `memoryId`, changed fields |
47
+ | `squish_link` | Graph operations | `action`, memory IDs |
48
+ | `squish_context` | Load project context | `project`, `limit` |
49
+ | `squish_health` | Check health | - |
50
+ | `squish_stats` | View stats | `project` |
51
+ | `squish_confidence` | Get or set confidence | `memoryId`, `level` |
52
+ | `squish_pin` | Pin or unpin memory | `memoryId`, `pinned` |
53
+ | `squish_set_passphrase` | Configure encryption | `passphrase` |
54
+ | `squish_rotate_key` | Rotate encryption key | - |
55
+ | `squish_recent` | List recent memories | `project`, `limit` |
56
+ | `squish_stale` | Show stale memories | `project` |
57
+ | `squish_tag` | Bulk tag operations | - |
58
+ | `squish_timeline` | Progressive disclosure | `query`, `depth` |
55
59
 
56
60
  ## CLI Commands
57
61
 
58
62
  - `squish` - Interactive wizard
59
63
  - `squish run mcp` - Start MCP server
60
64
  - `squish run web` - Start web UI
61
- - `squish config` - View or update config
62
- - `squish remember` - Store memory
63
- - `squish note` - Save quick note
64
- - `squish learn` - Record learnings and observations
65
- - `squish search` - Search memories
66
- - `squish recall` - Search or fetch by ID
65
+ - `squish config` - View or update config
66
+ - `squish remember` - **RECOMMENDED** - Store memory/learning with auto-detection
67
+ - `squish recall` - Search or fetch by ID
67
68
  - `squish recent` - Show recent memories
68
69
  - `squish update` - Update memory
69
70
  - `squish forget` - Delete memory
@@ -72,7 +73,6 @@ squish run web
72
73
  - `squish tag` - Bulk tag management
73
74
  - `squish stale` - Show stale memories
74
75
  - `squish link` - Graph operations
75
- - `squish context --list-projects` - List projects
76
76
  - `squish context` - Load project context
77
77
  - `squish health` - Check service health
78
78
  - `squish stats` - View statistics
@@ -80,11 +80,14 @@ squish run web
80
80
  ## Example Workflow
81
81
 
82
82
  ```bash
83
+ # Unified remember - auto-detects routing
84
+ squish remember "Failed because the API returned 404" --project /myproject
83
85
  squish remember "User prefers TypeScript over JavaScript" --type preference
84
- squish note "Revisit caching strategy after launch"
85
- squish learn observation "Updated auth flow" --action edit
86
- squish search "coding preferences"
87
- squish context --list-projects
86
+ squish remember "Important decision made" --tier hot --type decision
87
+
88
+ # Recall and retrieve
89
+ squish recall "coding preferences"
90
+ squish context --list-projects
88
91
  squish context
89
92
  ```
90
93
 
@@ -113,7 +113,7 @@ echo ""
113
113
  echo "CLI Commands:"
114
114
  echo " squish health - Check service health"
115
115
  echo " squish remember \"text\" - Store a memory"
116
- echo " squish search \"query\" - Search memories"
116
+ echo " squish recall \"query\" - Recall memories"
117
117
  echo " squish stats - View statistics"
118
118
  echo ""
119
119
  echo "MCP Tools (via mcporter):"
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "squish": {
4
+ "command": "npx",
5
+ "args": ["-y", "squish-memory", "mcp"],
6
+ "env": {
7
+ "SQUISH_MODE": "local",
8
+ "SQUISH_DATA_DIR": "~/.squish"
9
+ }
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "mcpServers": {
3
+ "squish": {
4
+ "command": "npx",
5
+ "args": ["-y", "squish-memory", "mcp"],
6
+ "env": {
7
+ "SQUISH_MODE": "local",
8
+ "SQUISH_DATA_DIR": "~/.squish"
9
+ },
10
+ "transport": "stdio"
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://opencode.ai/config.json",
3
+ "mcp": {
4
+ "squish": {
5
+ "type": "local",
6
+ "command": ["npx", "-y", "squish-memory", "mcp"],
7
+ "enabled": true,
8
+ "environment": {
9
+ "SQUISH_MODE": "local",
10
+ "SQUISH_DATA_DIR": "~/.squish"
11
+ }
12
+ }
13
+ }
14
+ }
@@ -1,39 +0,0 @@
1
- {
2
- "name": "squish-hooks-claude-code",
3
- "version": "1.0.0",
4
- "description": "Squish memory hooks for Claude Code",
5
- "agent": "claude-code",
6
- "hooks": {
7
- "sessionStart": {
8
- "enabled": true,
9
- "matchers": ["startup", "resume", "compact"],
10
- "command": "squish hooks session-start --agent claude-code"
11
- },
12
- "postToolUse": {
13
- "enabled": true,
14
- "captureFilter": {
15
- "tools": ["Write", "Edit", "MultiEdit", "Bash", "Task", "TodoWrite"],
16
- "exclude": ["Read", "Glob", "grep", "WebSearch", "WebFetch"]
17
- },
18
- "command": "squish hooks post-tool-use --agent claude-code"
19
- },
20
- "sessionEnd": {
21
- "enabled": true,
22
- "command": "squish hooks session-end --agent claude-code"
23
- },
24
- "preCompact": {
25
- "enabled": true,
26
- "matchers": ["auto"],
27
- "command": "squish hooks pre-compact --agent claude-code"
28
- }
29
- },
30
- "mcpServers": {
31
- "squish-memory": {
32
- "command": "squish",
33
- "args": ["run", "mcp"],
34
- "env": {
35
- "SQUISH_PROJECT_DIR": "${CLAUDE_PROJECT_DIR}"
36
- }
37
- }
38
- }
39
- }
@@ -1,30 +0,0 @@
1
- {
2
- "name": "squish-hooks-cursor",
3
- "version": "1.0.0",
4
- "description": "Squish memory hooks for Cursor",
5
- "agent": "cursor",
6
- "hooks": {
7
- "sessionStart": {
8
- "enabled": true,
9
- "command": "squish hooks session-start --agent cursor"
10
- },
11
- "postToolUse": {
12
- "enabled": true,
13
- "captureFilter": {
14
- "tools": ["Write", "Edit", "Bash", "Task"],
15
- "exclude": ["Read", "Glob", "Grep"]
16
- },
17
- "command": "squish hooks post-tool-use --agent cursor"
18
- },
19
- "sessionEnd": {
20
- "enabled": true,
21
- "command": "squish hooks session-end --agent cursor"
22
- }
23
- },
24
- "mcpServers": {
25
- "squish": {
26
- "command": "squish",
27
- "args": ["run", "mcp"]
28
- }
29
- }
30
- }
@@ -1,30 +0,0 @@
1
- {
2
- "name": "squish-hooks-opencode",
3
- "version": "1.0.0",
4
- "description": "Squish memory hooks for OpenCode",
5
- "agent": "opencode",
6
- "hooks": {
7
- "sessionStart": {
8
- "enabled": true,
9
- "command": "squish hooks session-start --agent opencode"
10
- },
11
- "postToolUse": {
12
- "enabled": true,
13
- "captureFilter": {
14
- "tools": ["Write", "Edit", "Bash", "Task"],
15
- "exclude": ["Read", "Glob", "grep"]
16
- },
17
- "command": "squish hooks post-tool-use --agent opencode"
18
- },
19
- "sessionEnd": {
20
- "enabled": true,
21
- "command": "squish hooks session-end --agent opencode"
22
- }
23
- },
24
- "mcpServers": {
25
- "squish": {
26
- "command": "squish",
27
- "args": ["run", "mcp"]
28
- }
29
- }
30
- }
@@ -1,30 +0,0 @@
1
- {
2
- "name": "squish-hooks-windsurf",
3
- "version": "1.0.0",
4
- "description": "Squish memory hooks for Windsurf",
5
- "agent": "windsurf",
6
- "hooks": {
7
- "sessionStart": {
8
- "enabled": true,
9
- "command": "squish hooks session-start --agent windsurf"
10
- },
11
- "postToolUse": {
12
- "enabled": true,
13
- "captureFilter": {
14
- "tools": ["Write", "Edit", "Bash", "Task"],
15
- "exclude": ["Read", "Glob", "Grep"]
16
- },
17
- "command": "squish hooks post-tool-use --agent windsurf"
18
- },
19
- "sessionEnd": {
20
- "enabled": true,
21
- "command": "squish hooks session-end --agent windsurf"
22
- }
23
- },
24
- "mcpServers": {
25
- "squish": {
26
- "command": "squish",
27
- "args": ["run", "mcp"]
28
- }
29
- }
30
- }
@@ -1,22 +0,0 @@
1
- {
2
- "allowOperations": [
3
- "remember",
4
- "search",
5
- "recall",
6
- "health"
7
- ],
8
- "denyPatterns": [
9
- "docker\\s+",
10
- "\\|",
11
- "&&",
12
- ";",
13
- "`",
14
- "\\$\\("
15
- ],
16
- "fallbackTriggers": [
17
- "mcp-unreachable",
18
- "mcp-timeout",
19
- "mcp-schema-error"
20
- ],
21
- "telemetryField": "executionPath"
22
- }
package/config/mcp.json DELETED
@@ -1,38 +0,0 @@
1
- {
2
- "version": 1,
3
- "defaults": {
4
- "connectionTimeoutMs": 15000,
5
- "requestTimeoutMs": 60000,
6
- "maxConcurrentToolCalls": 4,
7
- "retry": {
8
- "enabled": true,
9
- "maxAttempts": 3,
10
- "backoffMs": 400
11
- },
12
- "lazyToolDiscovery": true,
13
- "resultMaxChars": 12000
14
- },
15
- "servers": {
16
- "filesystem": {
17
- "transport": "stdio",
18
- "command": "npx",
19
- "args": [
20
- "-y",
21
- "@modelcontextprotocol/server-filesystem",
22
- "."
23
- ],
24
- "env": {}
25
- },
26
- "github": {
27
- "transport": "stdio",
28
- "command": "npx",
29
- "args": [
30
- "-y",
31
- "@modelcontextprotocol/server-github"
32
- ],
33
- "env": {
34
- "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
35
- }
36
- }
37
- }
38
- }
@@ -1,101 +0,0 @@
1
- {
2
- "id": "squish-memory",
3
- "name": "Squish Memory",
4
- "version": "1.1.5",
5
- "description": "Universal two-tier memory system for AI agents with hybrid search, core memory, and MCP-first architecture",
6
- "capabilities": ["mcp", "cli", "web"],
7
- "targets": {
8
- "claude-code": {
9
- "type": "mcp",
10
- "configFile": "~/.claude/mcp.json",
11
- "format": "standard",
12
- "serverName": "squish",
13
- "command": "npx",
14
- "args": ["-y", "squish-memory", "--stdio"],
15
- "env": {}
16
- },
17
- "opencode": {
18
- "type": "mcp",
19
- "configFile": "~/.config/opencode/mcp-servers.json",
20
- "format": "opencode",
21
- "serverName": "squish-memory",
22
- "command": ["npx", "-y", "squish-memory"],
23
- "enabled": true
24
- },
25
- "codex": {
26
- "type": "mcp",
27
- "configFile": "~/.codex/mcp-servers.json",
28
- "format": "standard",
29
- "serverName": "squish",
30
- "command": "npx",
31
- "args": ["-y", "squish-memory", "--stdio"],
32
- "env": {}
33
- },
34
- "cursor": {
35
- "type": "mcp",
36
- "configFile": "~/.cursor/mcp.json",
37
- "format": "standard",
38
- "serverName": "squish",
39
- "command": "npx",
40
- "args": ["-y", "squish-memory", "--stdio"],
41
- "env": {}
42
- },
43
- "vscode": {
44
- "type": "mcp",
45
- "configFile": "~/.vscode/mcp/servers.json",
46
- "format": "standard",
47
- "serverName": "squish",
48
- "command": "npx",
49
- "args": ["-y", "squish-memory", "--stdio"],
50
- "env": {}
51
- },
52
- "windsurf": {
53
- "type": "mcp",
54
- "configFile": "~/.windsurf/mcp-servers.json",
55
- "format": "standard",
56
- "serverName": "squish",
57
- "command": "npx",
58
- "args": ["-y", "squish-memory", "--stdio"],
59
- "env": {}
60
- }
61
- },
62
- "dependencies": {
63
- "@tobilu/qmd": {
64
- "version": "2.0.1",
65
- "autoInstall": true,
66
- "optional": false,
67
- "provides": ["fast-search", "bm25", "vector-search"]
68
- }
69
- },
70
- "auth": {
71
- "modes": ["none", "token"],
72
- "default": "none",
73
- "token": {
74
- "envVar": "SQUISH_REMOTE_TOKEN",
75
- "help": "Set SQUISH_REMOTE_TOKEN for remote mode authentication"
76
- }
77
- },
78
- "pinning": {
79
- "@tobilu/qmd": "2.0.1",
80
- "@modelcontextprotocol/sdk": "1.27.1"
81
- },
82
- "entry": {
83
- "mcp": "dist/core/commands/mcp-server.js",
84
- "cli": "dist/index.js"
85
- },
86
- "compatibility": {
87
- "minNodeVersion": "18.0.0",
88
- "clients": [
89
- { "id": "claude-code", "minVersion": "0.62.0" },
90
- { "id": "opencode", "minVersion": "0.1.0" },
91
- { "id": "codex", "minVersion": "0.1.0" },
92
- { "id": "cursor", "minVersion": "0.45.0" },
93
- { "id": "vscode-mcp", "minVersion": "1.0.0" },
94
- { "id": "windsurf", "minVersion": "0.1.0" }
95
- ]
96
- },
97
- "healthCheck": {
98
- "mcpTool": "squish_health",
99
- "httpEndpoint": "/health"
100
- }
101
- }