squish-memory 0.8.2 → 0.9.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 (266) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/.env.mcp +30 -0
  4. package/.mcp.json +2 -5
  5. package/CHANGELOG.md +111 -0
  6. package/QUICK-START.md +65 -0
  7. package/README.md +188 -530
  8. package/commands/managed-sync.ts +69 -0
  9. package/commands/mcp-server.ts +519 -0
  10. package/config/mcp-cli-fallback-policy.json +22 -0
  11. package/config/mcp-migration-map.json +22 -0
  12. package/config/mcp-mode-semantics.json +21 -0
  13. package/config/mcp-remote-auth.json +36 -0
  14. package/config/mcp-universal.schema.json +48 -0
  15. package/config/mcp.json +38 -0
  16. package/config/remote-memory-policy.json +32 -0
  17. package/dist/algorithms/merge/detection/hash-filters.js +2 -2
  18. package/dist/algorithms/merge/detection/hash-filters.js.map +1 -1
  19. package/dist/algorithms/merge/detection/two-stage-detector.d.ts +5 -2
  20. package/dist/algorithms/merge/detection/two-stage-detector.d.ts.map +1 -1
  21. package/dist/algorithms/merge/detection/two-stage-detector.js +139 -22
  22. package/dist/algorithms/merge/detection/two-stage-detector.js.map +1 -1
  23. package/dist/commands/managed-sync.d.ts +10 -0
  24. package/dist/commands/managed-sync.d.ts.map +1 -0
  25. package/dist/commands/managed-sync.js +64 -0
  26. package/dist/commands/managed-sync.js.map +1 -0
  27. package/dist/commands/mcp-server.d.ts +3 -0
  28. package/dist/commands/mcp-server.d.ts.map +1 -0
  29. package/dist/commands/mcp-server.js +389 -0
  30. package/dist/commands/mcp-server.js.map +1 -0
  31. package/dist/config.d.ts +24 -1
  32. package/dist/config.d.ts.map +1 -1
  33. package/dist/config.js +32 -1
  34. package/dist/config.js.map +1 -1
  35. package/dist/core/associations.d.ts +1 -1
  36. package/dist/core/associations.d.ts.map +1 -1
  37. package/dist/core/consolidation.d.ts +31 -0
  38. package/dist/core/consolidation.d.ts.map +1 -1
  39. package/dist/core/consolidation.js +237 -29
  40. package/dist/core/consolidation.js.map +1 -1
  41. package/dist/core/embeddings/google-multimodal.d.ts +14 -0
  42. package/dist/core/embeddings/google-multimodal.d.ts.map +1 -0
  43. package/dist/core/embeddings/google-multimodal.js +142 -0
  44. package/dist/core/embeddings/google-multimodal.js.map +1 -0
  45. package/dist/core/embeddings.d.ts +3 -2
  46. package/dist/core/embeddings.d.ts.map +1 -1
  47. package/dist/core/embeddings.js +61 -39
  48. package/dist/core/embeddings.js.map +1 -1
  49. package/dist/core/mcp/client.d.ts +17 -0
  50. package/dist/core/mcp/client.d.ts.map +1 -0
  51. package/dist/core/mcp/client.js +101 -0
  52. package/dist/core/mcp/client.js.map +1 -0
  53. package/dist/core/mcp/index.d.ts +6 -0
  54. package/dist/core/mcp/index.d.ts.map +1 -0
  55. package/dist/core/mcp/index.js +6 -0
  56. package/dist/core/mcp/index.js.map +1 -0
  57. package/dist/core/mcp/server.d.ts +18 -0
  58. package/dist/core/mcp/server.d.ts.map +1 -0
  59. package/dist/core/mcp/server.js +131 -0
  60. package/dist/core/mcp/server.js.map +1 -0
  61. package/dist/core/mcp/standalone-server.d.ts +13 -0
  62. package/dist/core/mcp/standalone-server.d.ts.map +1 -0
  63. package/dist/core/mcp/standalone-server.js +46 -0
  64. package/dist/core/mcp/standalone-server.js.map +1 -0
  65. package/dist/core/mcp/tools.d.ts +9 -0
  66. package/dist/core/mcp/tools.d.ts.map +1 -0
  67. package/dist/core/mcp/tools.js +262 -0
  68. package/dist/core/mcp/tools.js.map +1 -0
  69. package/dist/core/mcp/types.d.ts +315 -0
  70. package/dist/core/mcp/types.d.ts.map +1 -0
  71. package/dist/core/mcp/types.js +48 -0
  72. package/dist/core/mcp/types.js.map +1 -0
  73. package/dist/core/memory/categorizer.d.ts +27 -0
  74. package/dist/core/memory/categorizer.d.ts.map +1 -0
  75. package/dist/core/memory/categorizer.js +304 -0
  76. package/dist/core/memory/categorizer.js.map +1 -0
  77. package/dist/core/memory/conflict-detector.d.ts +7 -0
  78. package/dist/core/memory/conflict-detector.d.ts.map +1 -0
  79. package/dist/core/memory/conflict-detector.js +43 -0
  80. package/dist/core/memory/conflict-detector.js.map +1 -0
  81. package/dist/core/memory/context-collector.d.ts +10 -0
  82. package/dist/core/memory/context-collector.d.ts.map +1 -0
  83. package/dist/core/memory/context-collector.js +55 -0
  84. package/dist/core/memory/context-collector.js.map +1 -0
  85. package/dist/core/memory/contradiction-resolver.d.ts +40 -0
  86. package/dist/core/memory/contradiction-resolver.d.ts.map +1 -0
  87. package/dist/core/memory/contradiction-resolver.js +368 -0
  88. package/dist/core/memory/contradiction-resolver.js.map +1 -0
  89. package/dist/core/memory/edit-workflow.d.ts +19 -0
  90. package/dist/core/memory/edit-workflow.d.ts.map +1 -0
  91. package/dist/core/memory/edit-workflow.js +120 -0
  92. package/dist/core/memory/edit-workflow.js.map +1 -0
  93. package/dist/core/memory/feedback-tracker.d.ts +12 -0
  94. package/dist/core/memory/feedback-tracker.d.ts.map +1 -0
  95. package/dist/core/memory/feedback-tracker.js +151 -0
  96. package/dist/core/memory/feedback-tracker.js.map +1 -0
  97. package/dist/core/memory/hybrid-retrieval.d.ts +11 -12
  98. package/dist/core/memory/hybrid-retrieval.d.ts.map +1 -1
  99. package/dist/core/memory/hybrid-retrieval.js +56 -28
  100. package/dist/core/memory/hybrid-retrieval.js.map +1 -1
  101. package/dist/core/memory/hybrid-scorer.d.ts +5 -16
  102. package/dist/core/memory/hybrid-scorer.d.ts.map +1 -1
  103. package/dist/core/memory/hybrid-scorer.js +161 -125
  104. package/dist/core/memory/hybrid-scorer.js.map +1 -1
  105. package/dist/core/memory/hybrid-search.js +53 -19
  106. package/dist/core/memory/hybrid-search.js.map +1 -1
  107. package/dist/core/memory/memories.d.ts +4 -0
  108. package/dist/core/memory/memories.d.ts.map +1 -1
  109. package/dist/core/memory/memories.js +133 -60
  110. package/dist/core/memory/memories.js.map +1 -1
  111. package/dist/core/memory/progressive-disclosure.d.ts +43 -0
  112. package/dist/core/memory/progressive-disclosure.d.ts.map +1 -0
  113. package/dist/core/memory/progressive-disclosure.js +280 -0
  114. package/dist/core/memory/progressive-disclosure.js.map +1 -0
  115. package/dist/core/memory/query-rewriter.d.ts +13 -0
  116. package/dist/core/memory/query-rewriter.d.ts.map +1 -0
  117. package/dist/core/memory/query-rewriter.js +118 -0
  118. package/dist/core/memory/query-rewriter.js.map +1 -0
  119. package/dist/core/memory/response-analyzer.d.ts +9 -0
  120. package/dist/core/memory/response-analyzer.d.ts.map +1 -0
  121. package/dist/core/memory/response-analyzer.js +61 -0
  122. package/dist/core/memory/response-analyzer.js.map +1 -0
  123. package/dist/core/memory/stats.d.ts +17 -0
  124. package/dist/core/memory/stats.d.ts.map +1 -0
  125. package/dist/core/memory/stats.js +87 -0
  126. package/dist/core/memory/stats.js.map +1 -0
  127. package/dist/core/memory/telemetry.d.ts +69 -0
  128. package/dist/core/memory/telemetry.d.ts.map +1 -0
  129. package/dist/core/memory/telemetry.js +313 -0
  130. package/dist/core/memory/telemetry.js.map +1 -0
  131. package/dist/core/memory/temporal-facts.d.ts +41 -0
  132. package/dist/core/memory/temporal-facts.d.ts.map +1 -0
  133. package/dist/core/memory/temporal-facts.js +262 -0
  134. package/dist/core/memory/temporal-facts.js.map +1 -0
  135. package/dist/core/memory/trigger-detector.d.ts +14 -0
  136. package/dist/core/memory/trigger-detector.d.ts.map +1 -0
  137. package/dist/core/memory/trigger-detector.js +42 -0
  138. package/dist/core/memory/trigger-detector.js.map +1 -0
  139. package/dist/core/memory/write-gate.d.ts +54 -0
  140. package/dist/core/memory/write-gate.d.ts.map +1 -0
  141. package/dist/core/memory/write-gate.js +210 -0
  142. package/dist/core/memory/write-gate.js.map +1 -0
  143. package/dist/core/projects.d.ts +2 -0
  144. package/dist/core/projects.d.ts.map +1 -1
  145. package/dist/core/projects.js +33 -0
  146. package/dist/core/projects.js.map +1 -1
  147. package/dist/core/scheduler/cron-scheduler.d.ts +32 -0
  148. package/dist/core/scheduler/cron-scheduler.d.ts.map +1 -0
  149. package/dist/core/scheduler/cron-scheduler.js +238 -0
  150. package/dist/core/scheduler/cron-scheduler.js.map +1 -0
  151. package/dist/core/scheduler/heartbeat.d.ts +11 -0
  152. package/dist/core/scheduler/heartbeat.d.ts.map +1 -0
  153. package/dist/core/scheduler/heartbeat.js +73 -0
  154. package/dist/core/scheduler/heartbeat.js.map +1 -0
  155. package/dist/core/scheduler/index.d.ts +8 -0
  156. package/dist/core/scheduler/index.d.ts.map +1 -0
  157. package/dist/core/scheduler/index.js +8 -0
  158. package/dist/core/scheduler/index.js.map +1 -0
  159. package/dist/core/scheduler/job-runner.d.ts +11 -0
  160. package/dist/core/scheduler/job-runner.d.ts.map +1 -0
  161. package/dist/core/scheduler/job-runner.js +161 -0
  162. package/dist/core/scheduler/job-runner.js.map +1 -0
  163. package/dist/core/session/auto-load.d.ts +6 -0
  164. package/dist/core/session/auto-load.d.ts.map +1 -0
  165. package/dist/core/session/auto-load.js +119 -0
  166. package/dist/core/session/auto-load.js.map +1 -0
  167. package/dist/core/session/index.d.ts +7 -0
  168. package/dist/core/session/index.d.ts.map +1 -0
  169. package/dist/core/session/index.js +7 -0
  170. package/dist/core/session/index.js.map +1 -0
  171. package/dist/core/session/types.d.ts +26 -0
  172. package/dist/core/session/types.d.ts.map +1 -0
  173. package/dist/core/session/types.js +10 -0
  174. package/dist/core/session/types.js.map +1 -0
  175. package/dist/core/snapshots/comparison.d.ts.map +1 -1
  176. package/dist/core/snapshots/comparison.js +8 -2
  177. package/dist/core/snapshots/comparison.js.map +1 -1
  178. package/dist/core/utils/content-extraction.d.ts.map +1 -1
  179. package/dist/core/utils/content-extraction.js +11 -1
  180. package/dist/core/utils/content-extraction.js.map +1 -1
  181. package/dist/core/utils/summarization-helpers.d.ts.map +1 -1
  182. package/dist/core/utils/summarization-helpers.js +4 -1
  183. package/dist/core/utils/summarization-helpers.js.map +1 -1
  184. package/dist/core/utils.d.ts.map +1 -1
  185. package/dist/core/utils.js +26 -3
  186. package/dist/core/utils.js.map +1 -1
  187. package/dist/core/worker.d.ts +20 -0
  188. package/dist/core/worker.d.ts.map +1 -1
  189. package/dist/core/worker.js +86 -0
  190. package/dist/core/worker.js.map +1 -1
  191. package/dist/db/adapter.d.ts +1 -5
  192. package/dist/db/adapter.d.ts.map +1 -1
  193. package/dist/db/adapter.js +125 -12
  194. package/dist/db/adapter.js.map +1 -1
  195. package/dist/db/bootstrap.d.ts.map +1 -1
  196. package/dist/db/bootstrap.js +178 -3
  197. package/dist/db/bootstrap.js.map +1 -1
  198. package/dist/db/index.d.ts +1 -5
  199. package/dist/db/index.d.ts.map +1 -1
  200. package/dist/db/index.js +7 -4
  201. package/dist/db/index.js.map +1 -1
  202. package/dist/drizzle/schema-sqlite.d.ts +1953 -612
  203. package/dist/drizzle/schema-sqlite.d.ts.map +1 -1
  204. package/dist/drizzle/schema-sqlite.js +134 -0
  205. package/dist/drizzle/schema-sqlite.js.map +1 -1
  206. package/dist/drizzle/schema.d.ts +684 -3
  207. package/dist/drizzle/schema.d.ts.map +1 -1
  208. package/dist/drizzle/schema.js +81 -1
  209. package/dist/drizzle/schema.js.map +1 -1
  210. package/dist/index.d.ts +3 -3
  211. package/dist/index.js +152 -13
  212. package/dist/index.js.map +1 -1
  213. package/package.json +125 -103
  214. package/scripts/build-release.sh +33 -0
  215. package/scripts/db/check-db.mjs +88 -0
  216. package/scripts/db/fix-all-columns.mjs +52 -0
  217. package/scripts/db/fix-schema-all.mjs +55 -0
  218. package/scripts/db/fix-schema-full.mjs +46 -0
  219. package/scripts/db/fix-schema.mjs +38 -0
  220. package/scripts/db/init-db.mjs +13 -0
  221. package/scripts/db/recreate-db.mjs +14 -0
  222. package/scripts/generate-mcp.mjs +264 -0
  223. package/scripts/github-release.sh +61 -0
  224. package/scripts/init-dirs.mjs +13 -0
  225. package/scripts/init-dirs.ts +15 -0
  226. package/scripts/install-mcp.mjs +116 -0
  227. package/scripts/install-web.sh +120 -0
  228. package/scripts/install.mjs +340 -0
  229. package/scripts/openclaw-bootstrap.mjs +127 -0
  230. package/scripts/package-release.sh +71 -0
  231. package/scripts/remote-preflight.mjs +62 -0
  232. package/scripts/squish-fallback.mjs +132 -0
  233. package/scripts/test/test-all-systems.mjs +139 -0
  234. package/scripts/test/test-memory-system.mjs +139 -0
  235. package/scripts/test/test-v0.5.0.mjs +210 -0
  236. package/scripts/verify-mcp.mjs +214 -0
  237. package/skills/memory-guide/SKILL.md +181 -123
  238. package/skills/squish-cli/SKILL.md +200 -0
  239. package/skills/squish-mcp/SKILL.md +311 -0
  240. package/skills/squish-memory/SKILL.md +100 -62
  241. package/skills/squish-memory/claude-desktop.json +12 -0
  242. package/skills/squish-memory/install.mjs +335 -0
  243. package/skills/squish-memory/install.sh +94 -62
  244. package/skills/squish-memory/openclaw.json +13 -0
  245. package/skills/squish-memory/opencode.json +14 -0
  246. package/skills/squish-memory/skill.json +32 -0
  247. package/dist/adapters/claude-code/capture.d.ts +0 -11
  248. package/dist/adapters/claude-code/capture.d.ts.map +0 -1
  249. package/dist/adapters/claude-code/capture.js +0 -100
  250. package/dist/adapters/claude-code/capture.js.map +0 -1
  251. package/dist/adapters/claude-code/index.d.ts +0 -5
  252. package/dist/adapters/claude-code/index.d.ts.map +0 -1
  253. package/dist/adapters/claude-code/index.js +0 -6
  254. package/dist/adapters/claude-code/index.js.map +0 -1
  255. package/dist/adapters/claude-code/injection.d.ts +0 -34
  256. package/dist/adapters/claude-code/injection.d.ts.map +0 -1
  257. package/dist/adapters/claude-code/injection.js +0 -127
  258. package/dist/adapters/claude-code/injection.js.map +0 -1
  259. package/dist/adapters/claude-code/plugin-wrapper.d.ts +0 -21
  260. package/dist/adapters/claude-code/plugin-wrapper.d.ts.map +0 -1
  261. package/dist/adapters/claude-code/plugin-wrapper.js +0 -239
  262. package/dist/adapters/claude-code/plugin-wrapper.js.map +0 -1
  263. package/dist/adapters/claude-code/types.d.ts +0 -46
  264. package/dist/adapters/claude-code/types.d.ts.map +0 -1
  265. package/dist/adapters/claude-code/types.js +0 -6
  266. package/dist/adapters/claude-code/types.js.map +0 -1
@@ -6,8 +6,8 @@
6
6
  "plugins": [
7
7
  {
8
8
  "name": "squish",
9
- "version": "0.6.0",
10
- "description": "Production-ready two-tier memory system for Claude Code with 11 consolidated MCP tools. Always-visible core memory (persona, user info, project context, notes) + intelligent context paging. Advanced features: merge detection, semantic search, lifecycle management, bridge discovery. Features: 30-100x performance gains, automatic session hooks, privacy-first encryption, PostgreSQL team collaboration. Major consolidation: 39% fewer tools with same functionality.",
9
+ "version": "0.9.0",
10
+ "description": "The memory layer for AI agents. Give Claude Code persistent, intelligent memory with trigger detection, contradiction resolution, and hybrid search. Works with any MCP client.",
11
11
  "author": {
12
12
  "name": "michielhdoteth"
13
13
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "squish",
3
- "version": "0.6.0",
4
- "description": "11 consolidated MCP tools for persistent two-tier memory system: core_memory, context_paging, merge, plus semantic search, lifecycle management, and intelligent context paging",
3
+ "version": "0.9.0",
4
+ "description": "The memory layer for AI agents - persistent, intelligent memory with trigger detection, contradiction resolution, and hybrid search",
5
5
  "author": {
6
6
  "name": "michielhdoteth",
7
7
  "url": "https://github.com/michielhdoteth"
package/.env.mcp ADDED
@@ -0,0 +1,30 @@
1
+ # MCP Server Configuration
2
+ SQUISH_MCP_PORT=8767
3
+ SQUISH_MCP_SERVER_ENABLED=true
4
+
5
+ # Embeddings - Hybrid mode for best quality
6
+ SQUISH_EMBEDDINGS_PROVIDER=hybrid
7
+ SQUISH_MULTIMODAL_EMBEDDINGS_ENABLED=true
8
+
9
+ # Google Cloud Multimodal (1408-dim vectors)
10
+ # Get API key from: https://console.cloud.google.com/apis/credentials
11
+ GOOGLE_CLOUD_PROJECT=your-project-id
12
+ GOOGLE_CLOUD_LOCATION=us-central1
13
+ # GOOGLE_CLOUD_API_KEY=your-api-key
14
+ # Or use service account:
15
+ # GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
16
+
17
+ # QMD for local markdown search
18
+ SQUISH_QMD_ENABLED=true
19
+ SQUISH_QMD_COLLECTIONS=./qmd-collections
20
+ SQUISH_QMD_FALLBACK=hybrid
21
+
22
+ # Managed Mode (Squish Cloud - optional)
23
+ # SQUISH_MANAGED_MODE=true
24
+ # SQUISH_MANAGED_API_URL=https://api.squish.dev
25
+ # SQUISH_MANAGED_API_KEY=your-api-key
26
+
27
+ # Lifecycle & Summarization
28
+ SQUISH_LIFECYCLE_ENABLED=true
29
+ SQUISH_SUMMARIZATION_ENABLED=true
30
+ SQUISH_GOVERNANCE_ENABLED=true
package/.mcp.json CHANGED
@@ -2,12 +2,9 @@
2
2
  "mcpServers": {
3
3
  "squish": {
4
4
  "command": "node",
5
- "args": ["./dist/index.js"],
6
- "cwd": "${CLAUDE_PLUGIN_ROOT}",
5
+ "args": ["dist/commands/mcp-server.js"],
7
6
  "env": {
8
- "SQUISH_MODE": "local",
9
- "NODE_ENV": "production",
10
- "SQUISH_DATA_DIR": "${CLAUDE_WORKING_DIRECTORY}/.squish"
7
+ "NODE_ENV": "production"
11
8
  }
12
9
  }
13
10
  }
package/CHANGELOG.md ADDED
@@ -0,0 +1,111 @@
1
+ # Changelog
2
+
3
+ All notable changes to Squish will be documented in this file.
4
+
5
+ ## [0.9.1] - 2026-03-14
6
+
7
+ ### Fixed - CLI & Database
8
+ - Fixed `core_memory` CLI command to properly create/resolve projects
9
+ - Fixed SQLite schema initialization (was missing core_memory, observations, users tables)
10
+ - Fixed database health check SQL syntax error
11
+ - Fixed missing database migrations (recorded_at, retrieval_priority, etc.)
12
+
13
+ ### Fixed - MCP Integration
14
+ - MCP verification now passes all checks
15
+ - All 14 MCP tools properly registered and tested
16
+
17
+ ### Added - New Components
18
+ - MCP client, server, standalone-server implementations
19
+ - Memory modules: categorizer, conflict-detector, edit-workflow, progressive-disclosure
20
+ - MCP config files for Claude Desktop, OpenClaw, OpenCode
21
+
22
+ ### Known Issues
23
+ - `memory_associations` table not yet created (optional feature for graph traversal)
24
+ - QMD optional (works without it)
25
+
26
+ ## [0.9.0] - 2026-02-28
27
+
28
+ ### Added - OpenClaw Self-Install
29
+
30
+ #### Self-Install Command
31
+ - `npx squish-memory install` - One-command OpenClaw setup
32
+ - `squish install` - CLI command for self-installation
33
+ - `squish health` - Service health check with JSON output option
34
+ - `squish stats` - Memory statistics by project
35
+ - Automatic mcporter.json configuration for MCP
36
+ - Creates ~/.squish data directory automatically
37
+ - Smart binary detection across platforms
38
+
39
+ #### Updated Skill Files
40
+ - `skills/squish-memory/SKILL.md` - v0.9.0 with self-install docs
41
+ - `skills/squish-memory/install.mjs` - Node.js installer script
42
+ - `skills/squish-memory/install.sh` - Bash fallback installer
43
+ - `skills/squish-memory/mcp-config.json` - MCP config template
44
+
45
+ ### Added - Competitive Core Features
46
+
47
+ #### Trigger Detection (`core/memory/trigger-detector.ts`)
48
+ - Automatic detection of explicit memory triggers ("remember", "important", "don't forget")
49
+ - Implicit signal detection (decisions, corrections, preferences, workflow rules, lessons)
50
+ - Priority classification (high/normal) based on signal strength
51
+ - Type inference for automatic memory classification
52
+
53
+ #### Contradiction Resolution (`core/memory/contradiction-resolver.ts`)
54
+ - Auto-detection of contradictions when writing new memories
55
+ - Supersession logic for outdated information
56
+ - Temporal contradiction detection (facts that are no longer valid)
57
+ - Automatic archiving of superseded memories with traceability
58
+
59
+ #### Write Gate Enforcement (`core/memory/write-gate.ts`)
60
+ - Content validation before memory storage
61
+ - Secret detection and sanitization integration
62
+ - Quality scoring (0-100) for memory content
63
+ - Contradiction pre-check integration
64
+
65
+ #### Hybrid Scorer (`core/memory/hybrid-scorer.ts`)
66
+ - Multi-factor relevance scoring (semantic, recency, coactivation, importance, confidence)
67
+ - Trigger-aware confidence scoring
68
+ - Customizable weight configuration
69
+ - Score distribution analytics
70
+
71
+ #### Retrieval Quality Telemetry (`core/memory/telemetry.ts`)
72
+ - Echo/fizzle tracking for memory usage patterns
73
+ - Telemetry-based retrieval boosting (0.5-2.0 factor)
74
+ - Memory quality analytics
75
+ - Automatic flush to database
76
+
77
+ #### Temporal Facts Lifecycle (`core/memory/temporal-facts.ts`)
78
+ - Temporal validity checking
79
+ - Auto-supersession of outdated temporal facts
80
+ - Expired fact cleanup job
81
+ - Temporal fact statistics
82
+
83
+ ### Improved
84
+
85
+ - **Memory Pipeline**: Integrated trigger detection and contradiction resolution in write path
86
+ - **Hybrid Retrieval**: Entity-aware reranking with boost factors
87
+ - **Worker Jobs**: Strengthened decay/dedup automation
88
+ - **Test Coverage**: Added 24 new tests (145 total, up from 121)
89
+
90
+ ### Fixed
91
+
92
+ - Worker.ts syntax errors (duplicate method declarations, missing braces)
93
+ - AssociationType now includes 'duplicate' and 'merged' types
94
+ - Logger calls properly typed in telemetry module
95
+ - Memory metadata type definition for contradiction resolution
96
+
97
+ ## [0.8.2] - 2026-01-30
98
+
99
+ ### Added
100
+ - Hybrid Search: BM25 + vector search with Reciprocal Rank Fusion
101
+ - Importance Scoring: Auto-score memories with temporal decay
102
+ - Consolidation: Summarize old, low-importance memory clusters
103
+ - Core Memory: 2KB always-visible 4-section memory
104
+ - Context Paging: Token budgeting (8KB budget)
105
+ - CLI fallback mode when MCP fails
106
+ - 16 MCP tools for Claude Code integration
107
+
108
+ ### Technical
109
+ - SQLite with FTS5 for local mode
110
+ - PostgreSQL + pgvector for team mode
111
+ - Drizzle ORM for database abstraction
package/QUICK-START.md ADDED
@@ -0,0 +1,65 @@
1
+ # Squish - Quick Start
2
+
3
+ Universal two-tier memory for any AI agent.
4
+
5
+ ## Start in 30 seconds
6
+
7
+ ```bash
8
+ # 1. Install
9
+ bun install
10
+
11
+ # 2. Build
12
+ bun run build
13
+
14
+ # 3. Start MCP server (works with Claude Code, OpenClaw, or any MCP client)
15
+ bun run mcp
16
+
17
+ # ✓ Running on http://localhost:8767
18
+ ```
19
+
20
+ ## Test it
21
+
22
+ ```bash
23
+ # Health check
24
+ curl http://localhost:8767/health
25
+
26
+ # Expected output:
27
+ {
28
+ "status": "ok",
29
+ "server": "squish-mcp",
30
+ "version": "0.9.0",
31
+ "tools": 6
32
+ }
33
+ ```
34
+
35
+ ## Use it
36
+
37
+ ```bash
38
+ # Search memories
39
+ curl -X POST http://localhost:8767/tools/call \
40
+ -H "Content-Type: application/json" \
41
+ -d '{
42
+ "name": "squish_search",
43
+ "arguments": {
44
+ "query": "authentication"
45
+ }
46
+ }'
47
+ ```
48
+
49
+ ## Configure
50
+
51
+ Copy `.env.mcp` to `.env` and customize:
52
+
53
+ ```bash
54
+ cp .env.mcp .env
55
+ ```
56
+
57
+ Key settings:
58
+
59
+ - **SQUISH_MCP_PORT**: Server port (default: 8767)
60
+ - **SQUISH_EMBEDDINGS_PROVIDER**: local|google-multimodal|hybrid
61
+ - **SQUISH_QMD_ENABLED**: Enable markdown search (true/false)
62
+
63
+ ## Full Docs
64
+
65
+ See [docs/MCP-SERVER.md](docs/MCP-SERVER.md)