squish-memory 1.1.5 → 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 (646) 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 +44 -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/{dist/core/algorithms/index.js → core/algorithms/index.ts} +39 -26
  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/{dist/core/lib/db-client.d.ts → core/lib/db-client.ts} +168 -114
  81. package/core/lib/parse-embedding.ts +59 -0
  82. package/{dist/core/lib/schemas.js → core/lib/schemas.ts} +102 -87
  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/{dist/core/memory/index.js → core/memory/index.ts} +11 -10
  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/{dist/core/places/index.js → core/places/index.ts} +12 -12
  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 +590 -0
  140. package/core/scheduler/heartbeat.ts +91 -0
  141. package/{dist/core/scheduler/index.js → core/scheduler/index.ts} +8 -8
  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/{dist/core/search/index.js → core/search/index.ts} +4 -5
  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/{dist/core/session/index.js → core/session/index.ts} +7 -7
  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/{dist/core/snapshots/cleanup.js → core/snapshots/cleanup.ts} +13 -12
  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/{dist/core/summarization/cleanup.js → core/summarization/cleanup.ts} +13 -12
  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/{dist/core/utils/vector-operations.js → core/utils/vector-operations.ts} +135 -129
  185. package/core/utils/version-management.ts +74 -0
  186. package/core/worker.ts +333 -0
  187. package/db/adapter.ts +215 -0
  188. package/{dist/db/bootstrap.js → db/bootstrap.ts} +388 -418
  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/mcp.json.example +8 -11
  220. package/package.json +140 -159
  221. package/packages/cli/package.json +22 -0
  222. package/packages/cli/src/commands/clean.ts +68 -0
  223. package/packages/cli/src/commands/context.ts +79 -0
  224. package/packages/cli/src/commands/doctor.ts +357 -0
  225. package/packages/cli/src/commands/forget.ts +72 -0
  226. package/packages/cli/src/commands/health.ts +36 -0
  227. package/packages/cli/src/commands/inspect.ts +41 -0
  228. package/packages/cli/src/commands/link.ts +50 -0
  229. package/packages/cli/src/commands/migrate.ts +93 -0
  230. package/packages/cli/src/commands/recall.ts +99 -0
  231. package/packages/cli/src/commands/recent.ts +57 -0
  232. package/packages/cli/src/commands/remember.ts +139 -0
  233. package/packages/cli/src/commands/run.ts +58 -0
  234. package/packages/cli/src/commands/stale.ts +43 -0
  235. package/packages/cli/src/commands/stats.ts +42 -0
  236. package/packages/cli/src/index.ts +57 -0
  237. package/packages/cli/tsconfig.json +24 -0
  238. package/packages/mcp/package.json +26 -0
  239. package/packages/mcp/src/index.ts +940 -0
  240. package/packages/mcp/tsconfig.json +20 -0
  241. package/skills/squish-memory/SKILL.md +38 -35
  242. package/skills/squish-memory/{scripts/install.sh → install.sh} +1 -1
  243. package/skills/squish-memory/references/claude-desktop.json +12 -0
  244. package/skills/squish-memory/references/openclaw.json +13 -0
  245. package/skills/squish-memory/references/opencode.json +14 -0
  246. package/config/hooks/claude-code-hooks.json +0 -39
  247. package/config/hooks/cursor-hooks.json +0 -30
  248. package/config/hooks/opencode-hooks.json +0 -30
  249. package/config/hooks/windsurf-hooks.json +0 -30
  250. package/config/mcp-cli-fallback-policy.json +0 -22
  251. package/config/mcp.json +0 -38
  252. package/config/plugin-manifest.json +0 -101
  253. package/config/plugin-manifest.schema.json +0 -244
  254. package/config/plugin.json +0 -32
  255. package/config/remote-memory-policy.json +0 -32
  256. package/core/commands/context-paging.md +0 -51
  257. package/core/commands/context-status.md +0 -22
  258. package/core/commands/context.md +0 -5
  259. package/core/commands/core-memory.md +0 -56
  260. package/core/commands/health.md +0 -5
  261. package/core/commands/init.md +0 -39
  262. package/core/commands/merge.md +0 -113
  263. package/core/commands/recall.md +0 -5
  264. package/core/commands/remember.md +0 -11
  265. package/core/commands/search.md +0 -10
  266. package/dist/config.d.ts +0 -83
  267. package/dist/config.js +0 -242
  268. package/dist/core/adapters/config/claude-code.d.ts +0 -45
  269. package/dist/core/adapters/config/claude-code.js +0 -113
  270. package/dist/core/adapters/config/cursor.d.ts +0 -26
  271. package/dist/core/adapters/config/cursor.js +0 -74
  272. package/dist/core/adapters/config/opencode.d.ts +0 -23
  273. package/dist/core/adapters/config/opencode.js +0 -73
  274. package/dist/core/adapters/config/windsurf.d.ts +0 -26
  275. package/dist/core/adapters/config/windsurf.js +0 -74
  276. package/dist/core/adapters/index.d.ts +0 -45
  277. package/dist/core/adapters/index.js +0 -84
  278. package/dist/core/adapters/scripts/install-adapter.d.ts +0 -19
  279. package/dist/core/adapters/scripts/install-adapter.js +0 -149
  280. package/dist/core/adapters/timeline.d.ts +0 -23
  281. package/dist/core/adapters/timeline.js +0 -88
  282. package/dist/core/adapters/types.d.ts +0 -157
  283. package/dist/core/adapters/types.js +0 -50
  284. package/dist/core/algorithms/analytics/token-estimator.d.ts +0 -50
  285. package/dist/core/algorithms/analytics/token-estimator.js +0 -154
  286. package/dist/core/algorithms/detection/hash-filters.d.ts +0 -47
  287. package/dist/core/algorithms/detection/hash-filters.js +0 -190
  288. package/dist/core/algorithms/detection/semantic-ranker.d.ts +0 -32
  289. package/dist/core/algorithms/detection/semantic-ranker.js +0 -118
  290. package/dist/core/algorithms/detection/two-stage-detector.d.ts +0 -52
  291. package/dist/core/algorithms/detection/two-stage-detector.js +0 -299
  292. package/dist/core/algorithms/handlers/approve-merge.d.ts +0 -22
  293. package/dist/core/algorithms/handlers/approve-merge.js +0 -179
  294. package/dist/core/algorithms/handlers/detect-duplicates.d.ts +0 -47
  295. package/dist/core/algorithms/handlers/detect-duplicates.js +0 -145
  296. package/dist/core/algorithms/handlers/get-stats.d.ts +0 -39
  297. package/dist/core/algorithms/handlers/get-stats.js +0 -88
  298. package/dist/core/algorithms/handlers/list-proposals.d.ts +0 -45
  299. package/dist/core/algorithms/handlers/list-proposals.js +0 -83
  300. package/dist/core/algorithms/handlers/preview-merge.d.ts +0 -39
  301. package/dist/core/algorithms/handlers/preview-merge.js +0 -93
  302. package/dist/core/algorithms/handlers/reject-merge.d.ts +0 -28
  303. package/dist/core/algorithms/handlers/reject-merge.js +0 -69
  304. package/dist/core/algorithms/handlers/reverse-merge.d.ts +0 -21
  305. package/dist/core/algorithms/handlers/reverse-merge.js +0 -121
  306. package/dist/core/algorithms/index.d.ts +0 -21
  307. package/dist/core/algorithms/operations/cache-maintenance.d.ts +0 -12
  308. package/dist/core/algorithms/operations/cache-maintenance.js +0 -157
  309. package/dist/core/algorithms/safety/safety-checks.d.ts +0 -22
  310. package/dist/core/algorithms/safety/safety-checks.js +0 -179
  311. package/dist/core/algorithms/strategies/merge-strategies.d.ts +0 -50
  312. package/dist/core/algorithms/strategies/merge-strategies.js +0 -288
  313. package/dist/core/algorithms/types.d.ts +0 -133
  314. package/dist/core/algorithms/types.js +0 -5
  315. package/dist/core/algorithms/utils/response-builder.d.ts +0 -28
  316. package/dist/core/algorithms/utils/response-builder.js +0 -37
  317. package/dist/core/associations.d.ts +0 -31
  318. package/dist/core/associations.js +0 -248
  319. package/dist/core/autosave.d.ts +0 -19
  320. package/dist/core/autosave.js +0 -16
  321. package/dist/core/commands/managed-sync.d.ts +0 -10
  322. package/dist/core/commands/managed-sync.js +0 -64
  323. package/dist/core/commands/mcp-server.d.ts +0 -3
  324. package/dist/core/commands/mcp-server.js +0 -739
  325. package/dist/core/consolidation.d.ts +0 -37
  326. package/dist/core/consolidation.js +0 -248
  327. package/dist/core/context/agent-context.d.ts +0 -106
  328. package/dist/core/context/agent-context.js +0 -274
  329. package/dist/core/context/context-paging.d.ts +0 -80
  330. package/dist/core/context/context-paging.js +0 -328
  331. package/dist/core/context/context-window.d.ts +0 -40
  332. package/dist/core/context/context-window.js +0 -177
  333. package/dist/core/context/context.d.ts +0 -7
  334. package/dist/core/context/context.js +0 -22
  335. package/dist/core/embeddings/google-multimodal.d.ts +0 -14
  336. package/dist/core/embeddings/google-multimodal.js +0 -142
  337. package/dist/core/embeddings/qmd-client.d.ts +0 -136
  338. package/dist/core/embeddings/qmd-client.js +0 -403
  339. package/dist/core/embeddings.d.ts +0 -29
  340. package/dist/core/embeddings.js +0 -454
  341. package/dist/core/error-handling.d.ts +0 -63
  342. package/dist/core/error-handling.js +0 -173
  343. package/dist/core/external-folder/index.d.ts +0 -102
  344. package/dist/core/external-folder/index.js +0 -294
  345. package/dist/core/hooks/agent-hooks.d.ts +0 -74
  346. package/dist/core/hooks/agent-hooks.js +0 -244
  347. package/dist/core/hooks/auto-tagger.d.ts +0 -19
  348. package/dist/core/hooks/auto-tagger.js +0 -155
  349. package/dist/core/hooks/capture-filter.d.ts +0 -41
  350. package/dist/core/hooks/capture-filter.js +0 -128
  351. package/dist/core/index.d.ts +0 -10
  352. package/dist/core/index.js +0 -14
  353. package/dist/core/ingestion/agent-memory.d.ts +0 -22
  354. package/dist/core/ingestion/agent-memory.js +0 -109
  355. package/dist/core/ingestion/core-memory.d.ts +0 -78
  356. package/dist/core/ingestion/core-memory.js +0 -226
  357. package/dist/core/ingestion/learnings.d.ts +0 -57
  358. package/dist/core/ingestion/learnings.js +0 -202
  359. package/dist/core/layers/generator.d.ts +0 -25
  360. package/dist/core/layers/generator.js +0 -76
  361. package/dist/core/lib/db-client.js +0 -130
  362. package/dist/core/lib/schemas.d.ts +0 -129
  363. package/dist/core/lib/utils.d.ts +0 -14
  364. package/dist/core/lib/utils.js +0 -90
  365. package/dist/core/lib/validation.d.ts +0 -38
  366. package/dist/core/lib/validation.js +0 -151
  367. package/dist/core/lifecycle.d.ts +0 -26
  368. package/dist/core/lifecycle.js +0 -302
  369. package/dist/core/local-embeddings.d.ts +0 -11
  370. package/dist/core/logger.d.ts +0 -16
  371. package/dist/core/logger.js +0 -40
  372. package/dist/core/mcp/client.d.ts +0 -17
  373. package/dist/core/mcp/client.js +0 -101
  374. package/dist/core/mcp/index.d.ts +0 -6
  375. package/dist/core/mcp/index.js +0 -6
  376. package/dist/core/mcp/server.d.ts +0 -18
  377. package/dist/core/mcp/server.js +0 -157
  378. package/dist/core/mcp/standalone-server.d.ts +0 -13
  379. package/dist/core/mcp/standalone-server.js +0 -46
  380. package/dist/core/mcp/tools.d.ts +0 -9
  381. package/dist/core/mcp/tools.js +0 -365
  382. package/dist/core/mcp/types.d.ts +0 -315
  383. package/dist/core/mcp/types.js +0 -48
  384. package/dist/core/memory/bridge-discovery.d.ts +0 -50
  385. package/dist/core/memory/bridge-discovery.js +0 -291
  386. package/dist/core/memory/categorizer.d.ts +0 -27
  387. package/dist/core/memory/categorizer.js +0 -305
  388. package/dist/core/memory/conflict-detector.d.ts +0 -7
  389. package/dist/core/memory/conflict-detector.js +0 -43
  390. package/dist/core/memory/consolidation.d.ts +0 -42
  391. package/dist/core/memory/consolidation.js +0 -303
  392. package/dist/core/memory/context-collector.d.ts +0 -10
  393. package/dist/core/memory/context-collector.js +0 -56
  394. package/dist/core/memory/contradiction-resolver.d.ts +0 -40
  395. package/dist/core/memory/contradiction-resolver.js +0 -368
  396. package/dist/core/memory/edit-workflow.d.ts +0 -19
  397. package/dist/core/memory/edit-workflow.js +0 -120
  398. package/dist/core/memory/entity-extractor.d.ts +0 -33
  399. package/dist/core/memory/entity-extractor.js +0 -336
  400. package/dist/core/memory/entity-resolver.d.ts +0 -23
  401. package/dist/core/memory/entity-resolver.js +0 -64
  402. package/dist/core/memory/fact-extractor.d.ts +0 -24
  403. package/dist/core/memory/fact-extractor.js +0 -89
  404. package/dist/core/memory/feedback-tracker.d.ts +0 -12
  405. package/dist/core/memory/feedback-tracker.js +0 -155
  406. package/dist/core/memory/hooks.d.ts +0 -88
  407. package/dist/core/memory/hooks.js +0 -174
  408. package/dist/core/memory/hybrid-retrieval.d.ts +0 -29
  409. package/dist/core/memory/hybrid-retrieval.js +0 -139
  410. package/dist/core/memory/hybrid-scorer.d.ts +0 -40
  411. package/dist/core/memory/hybrid-scorer.js +0 -284
  412. package/dist/core/memory/hybrid-search.d.ts +0 -20
  413. package/dist/core/memory/hybrid-search.js +0 -359
  414. package/dist/core/memory/importance.d.ts +0 -63
  415. package/dist/core/memory/importance.js +0 -298
  416. package/dist/core/memory/index.d.ts +0 -8
  417. package/dist/core/memory/loader.d.ts +0 -31
  418. package/dist/core/memory/loader.js +0 -141
  419. package/dist/core/memory/markdown/markdown-storage.d.ts +0 -72
  420. package/dist/core/memory/markdown/markdown-storage.js +0 -243
  421. package/dist/core/memory/memories.d.ts +0 -47
  422. package/dist/core/memory/memories.js +0 -449
  423. package/dist/core/memory/memory-lifecycle.d.ts +0 -8
  424. package/dist/core/memory/memory-lifecycle.js +0 -55
  425. package/dist/core/memory/memory-manager.d.ts +0 -15
  426. package/dist/core/memory/memory-manager.js +0 -46
  427. package/dist/core/memory/migrate.d.ts +0 -21
  428. package/dist/core/memory/migrate.js +0 -134
  429. package/dist/core/memory/normalization.d.ts +0 -22
  430. package/dist/core/memory/normalization.js +0 -26
  431. package/dist/core/memory/progressive-disclosure.d.ts +0 -43
  432. package/dist/core/memory/progressive-disclosure.js +0 -280
  433. package/dist/core/memory/query-processor.d.ts +0 -21
  434. package/dist/core/memory/query-processor.js +0 -72
  435. package/dist/core/memory/query-rewriter.d.ts +0 -13
  436. package/dist/core/memory/query-rewriter.js +0 -118
  437. package/dist/core/memory/response-analyzer.d.ts +0 -9
  438. package/dist/core/memory/response-analyzer.js +0 -61
  439. package/dist/core/memory/serialization.d.ts +0 -10
  440. package/dist/core/memory/serialization.js +0 -84
  441. package/dist/core/memory/stats.d.ts +0 -22
  442. package/dist/core/memory/stats.js +0 -138
  443. package/dist/core/memory/telemetry.d.ts +0 -69
  444. package/dist/core/memory/telemetry.js +0 -313
  445. package/dist/core/memory/temporal-facts.d.ts +0 -41
  446. package/dist/core/memory/temporal-facts.js +0 -283
  447. package/dist/core/memory/temporal-parser.d.ts +0 -32
  448. package/dist/core/memory/temporal-parser.js +0 -385
  449. package/dist/core/memory/trigger-detector.d.ts +0 -14
  450. package/dist/core/memory/trigger-detector.js +0 -42
  451. package/dist/core/memory/write-gate.d.ts +0 -54
  452. package/dist/core/memory/write-gate.js +0 -210
  453. package/dist/core/namespaces/index.d.ts +0 -71
  454. package/dist/core/namespaces/index.js +0 -305
  455. package/dist/core/namespaces/uri-parser.d.ts +0 -31
  456. package/dist/core/namespaces/uri-parser.js +0 -74
  457. package/dist/core/obsidian-vault.d.ts +0 -30
  458. package/dist/core/obsidian-vault.js +0 -94
  459. package/dist/core/places/index.d.ts +0 -14
  460. package/dist/core/places/memory-places.d.ts +0 -68
  461. package/dist/core/places/memory-places.js +0 -261
  462. package/dist/core/places/places.d.ts +0 -88
  463. package/dist/core/places/places.js +0 -314
  464. package/dist/core/places/rules.d.ts +0 -74
  465. package/dist/core/places/rules.js +0 -240
  466. package/dist/core/places/walking.d.ts +0 -56
  467. package/dist/core/places/walking.js +0 -121
  468. package/dist/core/projects.d.ts +0 -17
  469. package/dist/core/projects.js +0 -108
  470. package/dist/core/redis.d.ts +0 -11
  471. package/dist/core/redis.js +0 -69
  472. package/dist/core/responses.d.ts +0 -96
  473. package/dist/core/responses.js +0 -122
  474. package/dist/core/scheduler/cron-scheduler.d.ts +0 -32
  475. package/dist/core/scheduler/cron-scheduler.js +0 -332
  476. package/dist/core/scheduler/heartbeat.d.ts +0 -11
  477. package/dist/core/scheduler/heartbeat.js +0 -73
  478. package/dist/core/scheduler/index.d.ts +0 -8
  479. package/dist/core/scheduler/job-runner.d.ts +0 -11
  480. package/dist/core/scheduler/job-runner.js +0 -164
  481. package/dist/core/search/conversations.d.ts +0 -25
  482. package/dist/core/search/conversations.js +0 -110
  483. package/dist/core/search/entities.d.ts +0 -12
  484. package/dist/core/search/entities.js +0 -31
  485. package/dist/core/search/folder-context.d.ts +0 -25
  486. package/dist/core/search/folder-context.js +0 -119
  487. package/dist/core/search/graph-boost.d.ts +0 -7
  488. package/dist/core/search/graph-boost.js +0 -23
  489. package/dist/core/search/index.d.ts +0 -4
  490. package/dist/core/search/qmd-search.d.ts +0 -61
  491. package/dist/core/search/qmd-search.js +0 -178
  492. package/dist/core/security/encrypt.d.ts +0 -6
  493. package/dist/core/security/encrypt.js +0 -47
  494. package/dist/core/security/governance.d.ts +0 -26
  495. package/dist/core/security/governance.js +0 -79
  496. package/dist/core/security/privacy.d.ts +0 -23
  497. package/dist/core/security/privacy.js +0 -82
  498. package/dist/core/security/secret-detector.d.ts +0 -32
  499. package/dist/core/security/secret-detector.js +0 -88
  500. package/dist/core/session/auto-load.d.ts +0 -6
  501. package/dist/core/session/auto-load.js +0 -119
  502. package/dist/core/session/index.d.ts +0 -7
  503. package/dist/core/session/self-iteration-job.d.ts +0 -20
  504. package/dist/core/session/self-iteration-job.js +0 -282
  505. package/dist/core/session/session-hooks.d.ts +0 -18
  506. package/dist/core/session/session-hooks.js +0 -58
  507. package/dist/core/session/types.d.ts +0 -26
  508. package/dist/core/session/types.js +0 -10
  509. package/dist/core/session-hooks/self-iteration-job.d.ts +0 -20
  510. package/dist/core/session-hooks/self-iteration-job.js +0 -282
  511. package/dist/core/session-hooks/session-hooks.d.ts +0 -18
  512. package/dist/core/session-hooks/session-hooks.js +0 -58
  513. package/dist/core/snapshots/cleanup.d.ts +0 -9
  514. package/dist/core/snapshots/comparison.d.ts +0 -19
  515. package/dist/core/snapshots/comparison.js +0 -43
  516. package/dist/core/snapshots/creation.d.ts +0 -19
  517. package/dist/core/snapshots/creation.js +0 -126
  518. package/dist/core/snapshots/retrieval.d.ts +0 -7
  519. package/dist/core/snapshots/retrieval.js +0 -41
  520. package/dist/core/snapshots/stats.d.ts +0 -11
  521. package/dist/core/snapshots/stats.js +0 -52
  522. package/dist/core/snapshots.d.ts +0 -29
  523. package/dist/core/snapshots.js +0 -220
  524. package/dist/core/storage/cache.d.ts +0 -13
  525. package/dist/core/storage/cache.js +0 -202
  526. package/dist/core/storage/database.d.ts +0 -12
  527. package/dist/core/storage/database.js +0 -12
  528. package/dist/core/summarization/cleanup.d.ts +0 -9
  529. package/dist/core/summarization/queries.d.ts +0 -9
  530. package/dist/core/summarization/queries.js +0 -28
  531. package/dist/core/summarization/stats.d.ts +0 -14
  532. package/dist/core/summarization/stats.js +0 -52
  533. package/dist/core/summarization/strategies.d.ts +0 -24
  534. package/dist/core/summarization/strategies.js +0 -28
  535. package/dist/core/summarization.d.ts +0 -37
  536. package/dist/core/summarization.js +0 -188
  537. package/dist/core/sync/qmd-sync.d.ts +0 -94
  538. package/dist/core/sync/qmd-sync.js +0 -201
  539. package/dist/core/temporal-facts.d.ts +0 -54
  540. package/dist/core/temporal-facts.js +0 -193
  541. package/dist/core/toon.d.ts +0 -43
  542. package/dist/core/toon.js +0 -160
  543. package/dist/core/tracing/collector.d.ts +0 -111
  544. package/dist/core/tracing/collector.js +0 -350
  545. package/dist/core/tracing/visualizer.d.ts +0 -32
  546. package/dist/core/tracing/visualizer.js +0 -165
  547. package/dist/core/utils/cleanup-operations.d.ts +0 -13
  548. package/dist/core/utils/cleanup-operations.js +0 -44
  549. package/dist/core/utils/content-extraction.d.ts +0 -19
  550. package/dist/core/utils/content-extraction.js +0 -75
  551. package/dist/core/utils/filter-builder.d.ts +0 -13
  552. package/dist/core/utils/filter-builder.js +0 -44
  553. package/dist/core/utils/history-traversal.d.ts +0 -13
  554. package/dist/core/utils/history-traversal.js +0 -50
  555. package/dist/core/utils/memory-operations.d.ts +0 -17
  556. package/dist/core/utils/memory-operations.js +0 -43
  557. package/dist/core/utils/query-operations.d.ts +0 -18
  558. package/dist/core/utils/query-operations.js +0 -65
  559. package/dist/core/utils/summarization-helpers.d.ts +0 -21
  560. package/dist/core/utils/summarization-helpers.js +0 -38
  561. package/dist/core/utils/temporal-queries.d.ts +0 -13
  562. package/dist/core/utils/temporal-queries.js +0 -27
  563. package/dist/core/utils/vector-operations.d.ts +0 -71
  564. package/dist/core/utils/version-management.d.ts +0 -9
  565. package/dist/core/utils/version-management.js +0 -61
  566. package/dist/core/worker.d.ts +0 -82
  567. package/dist/core/worker.js +0 -272
  568. package/dist/db/adapter.d.ts +0 -7
  569. package/dist/db/adapter.js +0 -175
  570. package/dist/db/bootstrap.d.ts +0 -9
  571. package/dist/db/drizzle/schema-sqlite.d.ts +0 -4837
  572. package/dist/db/drizzle/schema-sqlite.js +0 -684
  573. package/dist/db/drizzle/schema.d.ts +0 -4082
  574. package/dist/db/drizzle/schema.js +0 -770
  575. package/dist/db/drizzle.config.d.ts +0 -3
  576. package/dist/db/drizzle.config.js +0 -12
  577. package/dist/db/index.d.ts +0 -7
  578. package/dist/db/index.js +0 -89
  579. package/dist/db/neon.d.ts +0 -8
  580. package/dist/db/neon.js +0 -20
  581. package/dist/db/schema/index.d.ts +0 -40
  582. package/dist/db/schema/index.js +0 -105
  583. package/dist/db/schema/tables/context-sessions.d.ts +0 -9
  584. package/dist/db/schema/tables/context-sessions.js +0 -37
  585. package/dist/db/schema/tables/conversations.d.ts +0 -9
  586. package/dist/db/schema/tables/conversations.js +0 -47
  587. package/dist/db/schema/tables/core-memory.d.ts +0 -9
  588. package/dist/db/schema/tables/core-memory.js +0 -41
  589. package/dist/db/schema/tables/entities.d.ts +0 -9
  590. package/dist/db/schema/tables/entities.js +0 -39
  591. package/dist/db/schema/tables/entity-relations.d.ts +0 -9
  592. package/dist/db/schema/tables/entity-relations.js +0 -31
  593. package/dist/db/schema/tables/learnings.d.ts +0 -9
  594. package/dist/db/schema/tables/learnings.js +0 -66
  595. package/dist/db/schema/tables/memories.d.ts +0 -9
  596. package/dist/db/schema/tables/memories.js +0 -161
  597. package/dist/db/schema/tables/memory-associations.d.ts +0 -9
  598. package/dist/db/schema/tables/memory-associations.js +0 -39
  599. package/dist/db/schema/tables/memory-hash-cache.d.ts +0 -9
  600. package/dist/db/schema/tables/memory-hash-cache.js +0 -29
  601. package/dist/db/schema/tables/memory-merge-history.d.ts +0 -9
  602. package/dist/db/schema/tables/memory-merge-history.js +0 -33
  603. package/dist/db/schema/tables/memory-merge-proposals.d.ts +0 -9
  604. package/dist/db/schema/tables/memory-merge-proposals.js +0 -39
  605. package/dist/db/schema/tables/messages.d.ts +0 -9
  606. package/dist/db/schema/tables/messages.js +0 -41
  607. package/dist/db/schema/tables/namespaces.d.ts +0 -9
  608. package/dist/db/schema/tables/namespaces.js +0 -37
  609. package/dist/db/schema/tables/projects.d.ts +0 -9
  610. package/dist/db/schema/tables/projects.js +0 -31
  611. package/dist/db/schema/tables/users.d.ts +0 -9
  612. package/dist/db/schema/tables/users.js +0 -27
  613. package/dist/db/schema.d.ts +0 -3
  614. package/dist/db/schema.js +0 -11
  615. package/dist/db/supabase.d.ts +0 -9
  616. package/dist/db/supabase.js +0 -24
  617. package/dist/index.d.ts +0 -7
  618. package/dist/index.js +0 -1677
  619. package/dist/vendor/sql.js/sql-wasm.wasm +0 -0
  620. package/dist/webui/server.d.ts +0 -5
  621. package/dist/webui/server.js +0 -642
  622. package/generated/mcp/manifest.json +0 -23
  623. package/generated/mcp/mcp-servers.json +0 -25
  624. package/generated/mcp/mcporter.json +0 -34
  625. package/generated/mcp/openclaw-memory-qmd.json +0 -17
  626. package/generated/mcp/runtime.json +0 -12
  627. package/scripts/README.md +0 -60
  628. package/scripts/build-release.sh +0 -36
  629. package/scripts/check-secrets.js +0 -132
  630. package/scripts/copy-runtime-assets.mjs +0 -26
  631. package/scripts/generate-mcp.mjs +0 -264
  632. package/scripts/github-release.sh +0 -77
  633. package/scripts/init-dirs.mjs +0 -13
  634. package/scripts/install-claude-code.sh +0 -85
  635. package/scripts/install-cursor.sh +0 -56
  636. package/scripts/install-hooks.sh +0 -73
  637. package/scripts/install-interactive.mjs +0 -357
  638. package/scripts/install-opencode.sh +0 -75
  639. package/scripts/install-plugin.mjs +0 -415
  640. package/scripts/install-windsurf.sh +0 -67
  641. package/scripts/remote-preflight.mjs +0 -62
  642. package/scripts/squish-fallback.mjs +0 -132
  643. package/scripts/test-interactive.mjs +0 -131
  644. package/scripts/verify-mcp.mjs +0 -214
  645. package/skills/squish-memory/scripts/install.mjs +0 -335
  646. package/skills/squish-memory/write_skill.js +0 -2
package/.env.example CHANGED
@@ -37,14 +37,21 @@ SQUISH_MCP_SERVER_ENABLED=false
37
37
  # auto = Try OpenAI > Ollama > Google > local fallback
38
38
  SQUISH_EMBEDDINGS_PROVIDER=local
39
39
 
40
- # OpenAI (required for cloud embeddings)
41
- # SQUISH_OPENAI_API_KEY=sk-...
42
- # SQUISH_OPENAI_API_URL=https://api.openai.com/v1/embeddings
43
- # SQUISH_OPENAI_EMBEDDING_MODEL=text-embedding-3-small
44
-
45
- # Ollama
46
- # SQUISH_OLLAMA_URL=http://localhost:11434
47
- # SQUISH_OLLAMA_EMBEDDING_MODEL=nomic-embed-text:v1.5
40
+ # OpenAI (example: set both key and model)
41
+ # SQUISH_OPENAI_API_KEY=sk-...
42
+ # SQUISH_OPENAI_API_URL=https://api.openai.com/v1/embeddings
43
+ # SQUISH_OPENAI_EMBEDDING_MODEL=<openai-embedding-model>
44
+
45
+ # Ollama (example: set URL and model served by your local Ollama)
46
+ # SQUISH_OLLAMA_URL=http://localhost:11434
47
+ # SQUISH_OLLAMA_EMBEDDING_MODEL=<ollama-embedding-model>
48
+
49
+ # LM Studio (example: set URL and model loaded in LM Studio)
50
+ # SQUISH_LM_STUDIO_URL=http://localhost:1234
51
+ # SQUISH_LM_STUDIO_EMBEDDING_MODEL=<lm-studio-embedding-model>
52
+
53
+ # Transformers.js local (example: set a Hugging Face ONNX embedding model)
54
+ # SQUISH_LOCAL_MODEL=<huggingface-onnx-embedding-model>
48
55
 
49
56
  # Google Cloud
50
57
  # GOOGLE_CLOUD_PROJECT=your-project-id
@@ -52,12 +59,19 @@ SQUISH_EMBEDDINGS_PROVIDER=local
52
59
  # GOOGLE_CLOUD_API_KEY=your-api-key
53
60
  # Or use service account:
54
61
  # GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
55
- # SQUISH_GOOGLE_EMBEDDING_MODEL=gemini-embedding-001
62
+ # SQUISH_GOOGLE_EMBEDDING_MODEL=<google-embedding-model>
56
63
 
57
- # Embedding reliability
58
- SQUISH_EMBEDDINGS_TIMEOUT_MS=30000
59
- SQUISH_EMBEDDINGS_MAX_RETRIES=3
60
- SQUISH_EMBEDDINGS_RETRY_DELAY_MS=1000
64
+ # Embedding reliability
65
+ SQUISH_EMBEDDINGS_TIMEOUT_MS=30000
66
+ SQUISH_EMBEDDINGS_MAX_RETRIES=3
67
+ SQUISH_EMBEDDINGS_RETRY_DELAY_MS=1000
68
+
69
+ # Optional LLM graph enrichment (off by default for launch-safe local mode)
70
+ SQUISH_LLM_ENABLED=false
71
+ # SQUISH_LLM_PROVIDER=openai
72
+ # SQUISH_LLM_ENDPOINT=http://localhost:1234
73
+ # SQUISH_LLM_EXTRACTION_MODEL=<llm-extraction-model>
74
+ # SQUISH_LLM_REASONING_MODEL=<llm-reasoning-model>
61
75
 
62
76
  # =============================================================================
63
77
  # QMD (local markdown search)
@@ -102,9 +116,11 @@ SQUISH_GOVERNANCE_ENABLED=true
102
116
  # =============================================================================
103
117
  # GRAPH BOOST (v1.1.0+)
104
118
  # =============================================================================
105
- # Scoring weight for graph boost in recall (default: 1.5)
106
- # Higher = more influence from memory associations
107
- # SQUISH_WEIGHT_GRAPH_BOOST=1.5
119
+ # Scoring weight for graph boost in recall (default: 1.5)
120
+ # Higher = more influence from memory associations
121
+ # SQUISH_WEIGHT_GRAPH_BOOST=1.5
122
+ # SQUISH_GRAPH_AUTO_BUILD=true
123
+ # SQUISH_GRAPH_EXTRACTION_METHOD=auto
108
124
 
109
125
  # =============================================================================
110
126
  # MANAGED MODE (Squish Cloud)
package/CHANGELOG.md CHANGED
@@ -2,6 +2,153 @@
2
2
 
3
3
  All notable changes to Squish will be documented in this file.
4
4
 
5
+ ## [1.2.0] - 2026-04-19
6
+
7
+ ### Added - QMD Integration
8
+
9
+ - **Dependency**: Add @tobilu/qmd@^2.1.0 as npm package
10
+ - **Wrapper**: New core/search/qmd-wrapper.ts with search, query, vsearch, embed functions
11
+ - **Usage as library**: Uses SDK library API (not CLI MCP wrapper)
12
+
13
+ ### Added - Persistent Hot Cache (Karpathy-Style)
14
+
15
+ - **Persistent storage**: .squish/hot-cache.json survives restart
16
+ - **Deduplication**: SHA256 hash-based content deduplication
17
+ - **Stale prevention**: Entries flagged after 7 days without reference
18
+ - **Auto-clean**: Entries older than 14 days removed on load
19
+ - **Session integration**: Loaded on auto-load, saved on session end
20
+ - **Size limit**: ~500 words max with trim-to-recent policy
21
+
22
+ ### Changed - Memory Runtime
23
+
24
+ - **Simplified lifecycle**: Removed deprecated warm tier (hot/cold only now)
25
+ - **Updated schemas**: Both SQLite and Postgres tier columns now hot|cold
26
+ - **Updated lifecycle**: TIER_THRESHOLDS only has hot and cold thresholds
27
+ - **Updated scorer**: Removed warm scoring bonuses
28
+ - **Updated CLI**: Descriptions reflect simplified tier system
29
+
30
+ ## [1.2.0] - 2026-04-19
31
+
32
+ ### Added - Belief System (Derived Semantic Layer)
33
+
34
+ - **Belief extraction from memories**: Automatically extracts beliefs from durable memories
35
+ - **Belief types**: decision, preference, constraint, failure_cause, state_change, dispute
36
+ - **Belief decay engine**: 30-day half-life, disputed beliefs decay 1.5x faster
37
+ - **Source tracking**: Each belief tracks source memories for provenance
38
+ - **Integration**: Beliefs extracted on both explicit and auto-capture durable writes
39
+
40
+ ### Changed - Schema Integration
41
+
42
+ - **Canonical schema**: Belief tables now in SQLite and Postgres drizzle schemas
43
+ - **Bootstrap migration**: Belief table creation included in db/bootstrap.ts
44
+ - **Decay fields**: last_confirmed_at, belief_decay_rate, source_count, confidence
45
+
46
+ ### Changed - Scheduler Resilience
47
+
48
+ - **Catch-up logic**: On scheduler init, checks for missed jobs and runs catch-up
49
+ - **Grace period**: Jobs with elapsed > 1.5x expected interval trigger catch-up
50
+ - **Handles sleep/wake**: No more missed jobs when machine is off/sleeping
51
+
52
+ ### Added - Query Functions
53
+
54
+ - **getAllBeliefs()**: Query all beliefs for a project with filtering
55
+ - **searchBeliefs()**: Search beliefs by statement content
56
+ - **Provenance display**: Memory inspection shows source count, evidence preview
57
+
58
+ ### Fixed - Trust Surfaces
59
+
60
+ - **Beliefs in context**: Context state now includes extracted beliefs
61
+ - **Beliefs in trust report**: Trust report surfaces belief summaries
62
+ - **Enhanced inspect**: Memory explain shows belief provenance
63
+
64
+ ### Added - Signal-Aware Memory Runtime
65
+ - **Signal distillation engine**: Captured events are now classified as `discard`, `session-only`, `durable-distilled`, or `durable-raw+distilled`
66
+ - **Session working set**: Active files, recent commands, failures, hypotheses, active places, and graph cues are compacted for wake-up continuity
67
+ - **Raw fallback snapshots**: Nuance-sensitive durable events can keep linked raw artifacts without polluting normal retrieval
68
+ - **Incremental place + graph routing**: Durable writes now feed place assignment and graph enrichment as part of the same runtime loop
69
+
70
+ ### Added - Trust-Oriented CLI And MCP Surfaces
71
+ - **`squish health`**: New health command for project scope, subsystem status, and next-step guidance
72
+ - **`squish inspect` / `squish_inspect`**: Explanation path for why a memory exists, whether raw fallback exists, and how legacy records should be read
73
+ - **Structured MCP trust outputs**: `squish_context`, `squish_health`, and `squish_stats` now expose current project, runtime state, and recovery guidance in a predictable shape
74
+
75
+ ### Changed - Project Context And Wake-Up Semantics
76
+ - **Canonical current project**: Normal context output now prefers the real workspace path and suppresses legacy placeholder project noise
77
+ - **Wake-up order**: Session working set and active runtime state are surfaced before broad durable recall
78
+ - **Stats semantics**: Durable memory totals are now clearly separated from capture-era signal telemetry
79
+
80
+ ### Fixed - Trust Consistency
81
+ - **`squish doctor` coherence**: Doctor now reads as one combined trust-and-diagnostics command instead of two stacked reports
82
+ - **Legacy inspection**: Older memories now report `legacy-durable` instead of `unknown`, with explicit provenance text
83
+ - **Release verification path**: Added `bun run verify:mcp` for packaged MCP health verification
84
+
85
+ ### Docs
86
+ - README, CLI reference, install quickstart, architecture notes, and release notes updated to match the automatic memory runtime and current command surface
87
+
88
+ ### Added - Unified Write Path (squish_remember)
89
+ - **New unified memory tool**: `squish_remember` auto-detects memory vs learning routing
90
+ - **Auto-type detection**: Detects `success`, `failure`, `fix`, `observation`, `decision`, `preference`, `note`, `reflection`
91
+ - **Hot/cold tier support**: Automatic routing to appropriate storage tier
92
+ - **Code pattern detection**: Recognizes code changes, errors, fixes in agent outputs
93
+ - **Place and pin flags**: Support for place-based and pinned memories
94
+
95
+ ### Added - Graph Auto-Update
96
+ - **Auto-update graph on remember**: Knowledge graph updated automatically when memories are stored
97
+ - **Auto-update graph on link**: Graph updated when associations are created between memories
98
+ - **Integration**: Graph module now integrated into main write path (was previously standalone)
99
+
100
+ ### Added - New CLI Commands
101
+ - **`squish run web`**: Start web UI on port 37777
102
+ - **`squish migrate`**: Unify multiple .squish folders into single location
103
+ - **Full CLI suite**: 10+ commands (remember, search, recall, recent, context, stats, forget, link, stale, clean)
104
+
105
+ ### Added - Memory Decay System
106
+ - **Enabled by default**: Memory decay now runs automatically (was broken in 1.1.x)
107
+ - **Configurable intervals**: Sector decay intervals now configurable via env vars
108
+ - **Auto-clean enabled**: Automatic cleanup of expired memories (was dry-run only)
109
+ - **Fixed**: Removed dead code and consolidated decay logic
110
+
111
+ ### Added - add-mcp Integration
112
+ - **Universal MCP installation**: Replaced manual config writing with `add-mcp`
113
+ - **Multi-client support**: Works with Zed, Goose, Gemini CLI, Claude Code, Cursor, OpenCode, Windsurf
114
+ - **Global flag**: `--global` flag for user-level installation
115
+ - **Simplified installer**: `bin/install-interactive.mjs` rewritten to use add-mcp
116
+
117
+ ### Fixed - v1.1.5 Issues
118
+ - **bin/ tracked in git**: Removed from .gitignore, now included in npm package
119
+ - **CLI commands work**: Fixed npm publishing issue that broke CLI
120
+ - **Type safety**: Fixed LSP errors, obsidian-vault import path, cron types
121
+
122
+ ### Refactored - Code Cleanup
123
+ - **Consolidated estimateTokens**: Moved from 5 files to single source (`core/context/context-window.ts`)
124
+ - **Consolidated MemoryDiff**: Moved from 2 files to `core/snapshots/comparison.ts`
125
+ - **Removed stubs**: Deleted `core/autosave.ts`, `core/external-folder/`, `core/config.js`
126
+ - **Implemented placeholders**: `readFromVault()` in obsidian-vault now functional
127
+
128
+ ### Refactored - Legacy Removal
129
+ - **Removed hooks/**: No longer needed (add-mcp handles installation)
130
+ - **Removed install scripts**: `bin/install-claude-code.sh`, `bin/install-opencode.sh` deleted
131
+ - **Removed config/hooks/**: Hook config files for Claude Code, Cursor, OpenCode, Windsurf deleted
132
+ - **Removed unused config files**: 10+ unused JSON configs deleted (mcp.json, plugin.json, etc.)
133
+ - **Removed core/adapters/scripts/**: Legacy adapter install scripts deleted
134
+
135
+ ### Refactored - MD Docs Cleanup
136
+ - **Removed from core/commands/**: 11 .md files deleted (docs belong in README/CHANGELOG)
137
+ - **Updated package.json**: Removed explicit .md file entries from files array
138
+
139
+ ## [1.1.6] - 2026-04-13
140
+
141
+ ### Fixed - MCP HTTP Transport Migration
142
+ - **Migrated MCP HTTP from SSE to Streamable HTTP**: The deprecated SSE transport wasn't working. Now uses `StreamableHTTPServerTransport` from the MCP SDK with proper session handling.
143
+
144
+ ### Fixed - Database Schema Migrations
145
+ - Added `session_summaries` table
146
+ - Added `memory_associations.metadata` column
147
+ - Added `memories_fts.summary` column (recreates FTS table)
148
+
149
+ ### Added - QMD Dependency
150
+ - Added `qmd` as bundled dependency
151
+
5
152
  ## [1.1.5] - 2026-04-11
6
153
 
7
154
  ### Added - Release Prep Enhancements
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
- # Squish - Universal Memory for AI Agents
1
+ # Squish - Memory Runtime for AI Agents
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/squish-memory)](https://www.npmjs.com/package/squish-memory)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/squish-memory)](https://www.npmjs.com/package/squish-memory)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue.svg)](https://www.typescriptlang.org/)
7
7
 
8
- **Give any AI agent persistent, intelligent memory.** Without memory, agents forget everything between sessions. With Squish, they learn and adapt over time.
8
+ **Your agent forgets. Squish fixes that.** It auto-captures useful context, derives durable beliefs like decisions and constraints, and restores that context through CLI, MCP, and a local web UI.
9
9
 
10
10
  > Squish does not have a crypto token, has no token launch planned, and nobody is authorized to launch one on behalf of the project.
11
11
 
@@ -13,7 +13,7 @@
13
13
  bun add squish-memory
14
14
  ```
15
15
 
16
- ## Why Memory Matters
16
+ ## Why Squish
17
17
 
18
18
  | Without Squish | With Squish |
19
19
  |----------------|-------------|
@@ -22,83 +22,93 @@ bun add squish-memory
22
22
  | No project awareness | Builds understanding over time |
23
23
  | Can't track preferences | Adapts to your style |
24
24
 
25
- ## How It Works
25
+ ## What It Does
26
26
 
27
- **Two-tier architecture** for optimal speed and durability:
27
+ Squish is a forward-only memory runtime for agents:
28
+
29
+ - **Auto-capture** stores durable signal without relying on the model to remember to save it.
30
+ - **Belief derivation** turns memories into decisions, constraints, and preferences that can change future behavior.
31
+ - **Context restore** gives a restarted agent the relevant state instead of a cold start.
32
+ - **Inspection surfaces** let you see what was stored, what belief was derived, and why it was injected back.
33
+
34
+ Under the hood, Squish uses a hybrid memory pipeline for signal quality, persistence, and wake-up continuity:
28
35
 
29
36
  ```
30
- User Action ──► Trigger Detection ──► Write Gate ──► Short-term (QMD)
31
-
32
- Long-term (SQLite/PG)
33
-
34
- Hybrid Retrieval
35
-
36
- Agent Context
37
+ User Action ──► Signal Distillation ──► Write Gate ──► Session Working Set
38
+
39
+ ├─ Durable Distilled Memory
40
+ ├─ Raw Fallback Snapshot
41
+ └─ SQLite/Postgres + Hybrid Retrieval
37
42
  ```
38
43
 
39
- - **Short-term (QMD)**: Lightning-fast file-based search. Instant recall for recent context.
40
- - **Long-term (SQLite/PG)**: Durable storage. SQLite for local, PostgreSQL for teams.
44
+ - **Signal distillation**: Squish suppresses noisy output, keeps session-only context local, and only promotes durable signal.
45
+ - **Session working set**: Active files, recent commands, failures, hypotheses, active places, and small graph cues are compacted for the next wake-up.
46
+ - **Places**: Durable memories are routed into spatial buckets like `WIP`, `Sandbox`, `Board`, and `Ref` for segmented retrieval.
47
+ - **Graph enrichment**: Durable memories strengthen entity and relationship structure used by retrieval scoring.
48
+ - **Durable memory**: Stable facts, corrections, decisions, and fixes are stored for long-term retrieval.
49
+ - **Raw fallback**: Nuance-sensitive output can keep an internal raw artifact for inspection without polluting normal context.
41
50
 
42
51
  ## Quick Start
43
52
 
44
53
  ### Install with add-mcp (Recommended)
45
- One command installs to Claude Code, OpenCode, Cursor, VS Code, Codex, and more:
54
+ One command installs Squish into Claude Code, OpenCode, Cursor, VS Code, Codex, and other MCP-capable clients:
46
55
 
47
56
  ```bash
48
57
  npx add-mcp squish-memory
49
58
  ```
50
59
 
51
- Or traditional npm install:
60
+ Or install the package directly:
52
61
 
53
62
  ```bash
54
63
  bun add squish-memory
55
64
  ```
56
65
 
57
- ```bash
58
- # Store a memory
59
- squish remember "User prefers TypeScript over JavaScript"
60
-
61
- # Save a quick note
62
- squish note "Revisit caching strategy after launch"
66
+ New installs should work on first run with the current schema. If you are upgrading an older local install, use `squish doctor --migrate` to repair it forward.
63
67
 
64
- # Record an observation
65
- squish learn observation "Updated auth flow" --action edit
68
+ Most memory behavior is automatic once Squish is installed. The CLI remains available for explicit saves, inspection, diagnostics, and one-command demos:
66
69
 
67
- # Record a fix or lesson learned
68
- squish learn fix "Patched auth middleware regression"
70
+ ```bash
71
+ # Zero-touch demo: show current project context and derived beliefs
72
+ squish context --json
69
73
 
70
- # Search memories
71
- squish search "coding preferences"
74
+ # Explicit save when you want to pin something intentionally
75
+ squish remember "We chose PostgreSQL for team mode" --type decision
72
76
 
73
- # List projects, then inspect relevant context
74
- squish context --list-projects
75
- squish context
77
+ # Inspect why a memory exists and which beliefs it supports
78
+ squish inspect <memory-id> --json
76
79
 
77
- # Get relevant context or fetch by ID
78
- squish recall "user preferences"
80
+ # Repair an older install forward if local schema drifted
81
+ squish doctor --json --migrate
79
82
  ```
80
83
 
81
- Or use as a plugin:
84
+ Or use the other shipped surfaces directly:
82
85
 
83
86
  ```bash
84
- # Install for Claude Code
85
- npx squish-memory install-plugin --client=claude-code
87
+ # MCP health check / manual startup surface
88
+ squish-mcp --health
86
89
 
87
- # Install for OpenCode
88
- npx squish-memory install-plugin --client=opencode
90
+ # Local web UI
91
+ squish run web
89
92
  ```
90
93
 
91
94
  ## Features
92
95
 
93
96
  ### Memory Intelligence
94
97
  - Auto-detects "remember this", "important", corrections
98
+ - Distills noisy tool output before durable writes
99
+ - Splits events into discarded, session-only, durable, and durable-with-raw-fallback paths
95
100
  - Handles contradictions when facts change
96
101
  - Temporal facts with expiration ("until January")
97
102
  - Confidence scoring for each memory
98
- - **Tier lifecycle**: hot/warm/cold memory tiers with automatic decay
103
+ - **Memory Runtime**: Hot/cold memory lifecycle with automatic decay (hot=active, cold=archived)
99
104
  - **Graph-boosted retrieval**: associations between memories boost relevance
105
+ - **Belief System**: Derived semantic layer - decisions, preferences, constraints extracted from memories
106
+ - **Persistent Hot Cache**: Karpathy-style wiki layer that survives restarts (not just session)
107
+ - **Scheduler Resilience**: Jobs catch up after machine sleep/wake - no missed maintenance
100
108
 
101
109
  ### Retrieval Quality
110
+ - Session wake-up uses compacted working-set context before broad recall
111
+ - Place context remains attached to retrieved memories and can shape context selection
102
112
  - Hybrid search: semantic + keyword (BM25) with Reciprocal Rank Fusion
103
113
  - Multi-factor ranking: relevance, recency, importance, graph-boost
104
114
  - LLM-powered context extraction with Ollama (local)
@@ -106,46 +116,79 @@ npx squish-memory install-plugin --client=opencode
106
116
 
107
117
  ### Security & Encryption
108
118
  - **Client-side encryption**: AES-256-GCM encryption for sensitive memories
109
- - **Passphrase management**: `squish_set_passphrase` and `squish_rotate_key` MCP tools
110
- - Optional encryption via `SQUISH_ENCRYPTION_PASSPHRASE` env var
119
+ - **Passphrase management**: Via `SQUISH_ENCRYPTION_PASSPHRASE` env var (not exposed via MCP)
120
+ - Encryption passphrase configured in `.env` file in data directory
111
121
 
112
122
  ### Universal Compatibility
113
- - **CLI**: `squish config`, `squish remember`, `squish note`, `squish learn`, `squish search`, `squish context`, `squish stats`
123
+ - **CLI**: `squish remember`, `squish recall`, `squish inspect`, `squish context`, `squish stats`, `squish doctor`
114
124
  - **MCP Server**: Works with Claude Code, OpenCode, Cursor, VS Code, OpenClaw
115
- - **HTTP API**: REST API + WebSocket for any agent
125
+ - **Web UI**: Inspect memories, projects, and recent observations locally
116
126
  - **SQLite**: Local, zero-config
117
127
  - **PostgreSQL**: Team mode with Supabase/pgvector
118
- - **QMD Integration**: Native .md file search via QMD
119
-
120
- ### Current MCP Tools
121
- - `squish_remember`, `squish_search`, `squish_recall`, `squish_forget`, `squish_update`
122
- - `squish_link`, `squish_context`, `squish_learn`, `squish_health`, `squish_stats`
123
- - `squish_confidence`, `squish_pin`, `squish_set_passphrase`, `squish_rotate_key`
124
- - `squish_recent`, `squish_stale`, `squish_note`, `squish_tag`
128
+ - **QMD Integration**: Native .md file search via @tobilu/qmd npm package
129
+
130
+ ### Current MCP Tools (12 tools)
131
+ - `squish_timeline` - 3-layer progressive disclosure
132
+ - `squish_remember` - Store memory or learning (auto-detects type)
133
+ - `squish_recall` - Recall memories by query or retrieve memory by ID
134
+ - `squish_forget` - Delete memory by ID or bulk delete
135
+ - `squish_link` - Manage memory associations
136
+ - `squish_context` - Get project context
137
+ - `squish_health` - Check system health
138
+ - `squish_stats` - Get memory statistics
139
+ - `squish_inspect` - Inspect memory retention
140
+ - `squish_pin` - Pin/unpin memory
141
+ - `squish_recent` - Get recent memories
142
+ - `squish_stale` - Show stale memories
125
143
 
126
144
  ## Benchmark Results
127
145
 
128
- Real tests using [LoCoMo](https://github.com/snap-research/locomo) benchmark (22 questions):
146
+ Real tests using academic benchmarks with both configurations:
147
+
148
+ ### LoCoMo (1540 questions)
149
+ | Configuration | Score | Notes |
150
+ |---------------|-------|-------|
151
+ | **Without LLM** | **65.19%** | Vector-only |
152
+ | With LLM | 67.34% | Vector + LLM extraction |
153
+ | Mem0 | 66.88% | Requires LLM |
154
+ | TrueMemory | 91.5% | Uses LLM |
155
+
156
+ **Squish achieves competitive scores WITHOUT requiring LLM tokens.**
129
157
 
158
+ #### LoCoMo Breakdown (No LLM)
159
+ | Category | Score |
160
+ |----------|-------|
161
+ | Single-hop | 85.14% |
162
+ | Multi-hop | 47.78% |
163
+ | Temporal | 95.24% |
164
+ | Open-domain | 98.00% |
165
+ | Common-sense | 1.79% |
166
+
167
+ ### LongMemEval (100 questions)
168
+ | Configuration | Score | Breakdown |
169
+ |---------------|-------|-----------|
170
+ | **Without LLM** | **67.00%** | Temporal: 85%, Multi-session: 40% |
171
+ | With LLM | 67.00% | Temporal: 85%, Multi-session: 40% |
172
+
173
+ Note: LLM extraction helps during storage but scoring uses retrieved context keyword matching.
174
+
175
+ ### Performance
130
176
  | Metric | Result |
131
177
  |--------|--------|
132
- | **LoCoMo Score** | **77%** |
133
178
  | Embedding Latency | 1-5ms |
134
179
  | API Latency | 1-20ms |
135
180
  | Max Throughput | 943 ops/sec |
136
181
  | Package Size | **283 KB** |
137
182
 
138
- ### vs Cloud Solutions
139
-
140
- | | Squish | Cloud Memory |
141
- |--|--------|-------------|
142
- | **Cost** | $0 | API fees |
143
- | **Local-first** | Yes | No |
144
- | **Setup** | 1 command | 3+ steps |
145
- | **API keys** | None | Required |
146
- | **LoCoMo** | 77% | 75-81% |
183
+ ### Local Runtime Characteristics
147
184
 
148
- Squish matches cloud solutions on accuracy while running 100% locally with zero API costs.
185
+ | Characteristic | Result |
186
+ |----------------|--------|
187
+ | Default Cost | $0 local runtime |
188
+ | Local-first | Yes |
189
+ | Setup | 1 command |
190
+ | API keys | Not required for the default path |
191
+ | Session continuity | Built in |
149
192
 
150
193
  ## Supported Clients
151
194
 
@@ -180,9 +223,16 @@ DATABASE_URL=postgresql://user:pass@host/db
180
223
  - **QMD (Files)**: BM25 + vectors for fast recall
181
224
  - **SQLite/PostgreSQL**: ACID-compliant persistent storage
182
225
 
226
+ ### Runtime Pipeline
227
+ - **Signal engine**: classifies captured events as discard, session-only, durable-distilled, or durable-with-raw-fallback
228
+ - **Session working set**: persists active working context, active places, and small graph cues between sessions
229
+ - **Places**: spatially segment durable memory for retrieval and wake-up continuity
230
+ - **Graph**: incrementally enriches durable memories so graph boost applies to cleaner signal
231
+ - **Inspection path**: lets you inspect why a memory was retained and whether a raw fallback artifact exists
232
+
183
233
  ### Interfaces
184
- - **MCP**: Native agent integration
185
- - **HTTP**: REST + WebSocket
234
+ - **packages/mcp**: Native agent integration via Model Context Protocol
235
+ - **HTTP**: Streamable HTTP server
186
236
  - **CLI**: Shell and scripts
187
237
 
188
238
  ### Memory Lifecycle
@@ -202,24 +252,16 @@ bun run verify:mcp
202
252
  ## Troubleshooting
203
253
 
204
254
  ```bash
205
- # Reset local database
206
- rm -rf .squish/squish.db
255
+ # Repair an older local install forward
256
+ squish doctor --migrate
207
257
 
208
- # Verify MCP setup
209
- bun run verify:mcp
258
+ # Zero-touch runtime check
259
+ squish context --json
210
260
 
211
- # Check health
212
- squish health
261
+ # MCP health check
262
+ squish-mcp --health
213
263
  ```
214
264
 
215
- ## CLI Command Families
216
-
217
- - Setup/runtime: `squish`, `squish config`, `squish install`, `squish run mcp`, `squish run web`
218
- - Capture/retrieval: `squish remember`, `squish note`, `squish learn`, `squish search`, `squish recall`, `squish recent`
219
- - Memory management: `squish update`, `squish forget`, `squish pin`, `squish confidence`, `squish tag`, `squish stale`, `squish link`
220
- - Context/project discovery: `squish context --list-projects`, `squish context`
221
- - System: `squish health`, `squish stats`
222
-
223
265
  ## License
224
266
 
225
267
  MIT License. See [LICENSE](LICENSE).