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
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,103 +1,125 @@
1
- {
2
- "name": "squish-memory",
3
- "version": "0.8.2",
4
- "description": "Persistent memory for Claude Code with OpenClaw integration, semantic search, and team sync",
5
- "main": "dist/index.js",
6
- "type": "module",
7
- "bin": {
8
- "squish": "dist/index.js",
9
- "squish-install": "npx-installer.js"
10
- },
11
- "scripts": {
12
- "build": "tsc",
13
- "start": "node dist/index.js",
14
- "web": "node dist/features/web/web-server.js",
15
- "dev": "bun --hot src/index.ts",
16
- "test": "node --test dist/tests/**/*.test.js",
17
- "clean": "rm -rf dist *.log",
18
- "bench": "bun benchmark/memory.ts",
19
- "bench:db": "bun benchmark/run.ts",
20
- "db:generate": "drizzle-kit generate",
21
- "db:migrate": "drizzle-kit migrate",
22
- "db:push": "drizzle-kit push",
23
- "db:studio": "drizzle-kit studio",
24
- "prepublishOnly": "npm run clean && npm run build",
25
- "prepare": "npm run build",
26
- "postinstall": "node dist/scripts/init-dirs.js",
27
- "release": "./scripts/build-release.sh && ./scripts/github-release.sh"
28
- },
29
- "repository": {
30
- "type": "git",
31
- "url": "https://github.com/michielhdoteth/squish.git"
32
- },
33
- "homepage": "https://github.com/michielhdoteth/squish#readme",
34
- "bugs": {
35
- "url": "https://github.com/michielhdoteth/squish/issues"
36
- },
37
- "keywords": [
38
- "claude",
39
- "claude-code",
40
- "claude-plugin",
41
- "mcp-server",
42
- "model-context-protocol",
43
- "memory",
44
- "persistent-memory",
45
- "core-memory",
46
- "context-management",
47
- "semantic-search",
48
- "openclaw",
49
- "local-first",
50
- "privacy",
51
- "ai-assistant",
52
- "agent-memory"
53
- ],
54
- "files": [
55
- "dist",
56
- "plugin.json",
57
- ".claude-plugin",
58
- "commands",
59
- "skills",
60
- "hooks",
61
- ".mcp.json",
62
- "LICENSE",
63
- "README.md",
64
- "CHANGELOG.md"
65
- ],
66
- "author": "michielhdoteth",
67
- "license": "MIT",
68
- "engines": {
69
- "node": ">=18.0.0"
70
- },
71
- "dependencies": {
72
- "@modelcontextprotocol/sdk": "^1.0.0",
73
- "better-sqlite3": "^12.6.0",
74
- "commander": "^12.0.0",
75
- "bull": "^4.16.0",
76
- "cors": "^2.8.5",
77
- "dotenv": "^16.4.0",
78
- "drizzle-orm": "^0.38.0",
79
- "express": "^4.21.0",
80
- "pg": "^8.13.0",
81
- "pgvector": "^0.2.0",
82
- "redis": "^4.7.0",
83
- "tree-sitter": "^0.22.0",
84
- "tree-sitter-javascript": "^0.23.0",
85
- "tree-sitter-python": "^0.23.0",
86
- "tree-sitter-typescript": "^0.23.0",
87
- "uuid": "^9.0.1",
88
- "ws": "^8.18.0",
89
- "zod": "^3.24.0"
90
- },
91
- "devDependencies": {
92
- "@types/better-sqlite3": "^7.6.13",
93
- "@types/cors": "^2.8.17",
94
- "@types/express": "^5.0.0",
95
- "@types/node": "^22.0.0",
96
- "@types/pg": "^8.11.10",
97
- "@types/ws": "^8.5.13",
98
- "drizzle-kit": "^0.30.0",
99
- "pkg": "^5.8.1",
100
- "typescript": "^5.7.0",
101
- "vitest": "^4.0.17"
102
- }
103
- }
1
+ {
2
+ "name": "squish-memory",
3
+ "version": "0.9.1",
4
+ "description": "The universal two-tier memory layer for any AI agent - persistent, intelligent memory with QMD search tier and SQLite/Postgres storage tier that works with Claude Code, OpenClaw, and any agent framework",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "bin": {
8
+ "squish": "dist/index.js",
9
+ "squish-mcp": "dist/commands/mcp-server.cjs",
10
+ "squish-install": "npx-installer.js"
11
+ },
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "mcp:build": "tsc commands/mcp-server.ts --outDir dist/commands --module ES2022 --moduleResolution node --esModuleInterop --target ES2022 --skipLibCheck",
15
+ "mcp:cjs": "esbuild commands/mcp-server.ts --bundle --platform=node --outfile=dist/commands/mcp-server.cjs --format=cjs --external:bun:* --external:better-sqlite3 --external:pg --external:drizzle-orm/*",
16
+ "start": "node dist/index.js",
17
+ "mcp": "node dist/commands/mcp-server.cjs",
18
+ "web": "node dist/features/web/web-server.js",
19
+ "dev": "bun --hot src/index.ts",
20
+ "dev:mcp": "bun --hot src/commands/mcp-server.ts",
21
+ "verify:mcp": "node scripts/verify-mcp.mjs",
22
+ "preflight:remote": "node scripts/remote-preflight.mjs",
23
+ "fallback:dry": "node scripts/squish-fallback.mjs --op health --simulate-mcp-failure --dry-run",
24
+ "test": "node --test dist/tests/**/*.test.js",
25
+ "clean": "rm -rf dist *.log",
26
+ "bench": "bun benchmark/memory.ts",
27
+ "bench:db": "bun benchmark/run.ts",
28
+ "db:generate": "drizzle-kit generate",
29
+ "db:migrate": "drizzle-kit migrate",
30
+ "db:push": "drizzle-kit push",
31
+ "db:studio": "drizzle-kit studio",
32
+ "prepublishOnly": "npm run clean && npm run build",
33
+ "prepare": "npm run build",
34
+ "postinstall": "node scripts/init-dirs.mjs",
35
+ "release": "./scripts/build-release.sh && ./scripts/github-release.sh"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/michielhdoteth/squish.git"
40
+ },
41
+ "homepage": "https://github.com/michielhdoteth/squish#readme",
42
+ "funding": {
43
+ "type": "github",
44
+ "url": "https://github.com/sponsors/michielhdoteth"
45
+ },
46
+ "bugs": {
47
+ "url": "https://github.com/michielhdoteth/squish/issues"
48
+ },
49
+ "keywords": [
50
+ "ai-agent",
51
+ "memory",
52
+ "persistent-memory",
53
+ "universal-memory",
54
+ "mcp-server",
55
+ "mcp-client",
56
+ "model-context-protocol",
57
+ "claude-code",
58
+ "openclaw",
59
+ "qmd",
60
+ "sqlite",
61
+ "postgres",
62
+ "hybrid-search",
63
+ "context-management",
64
+ "semantic-search",
65
+ "local-first",
66
+ "privacy",
67
+ "agent-framework"
68
+ ],
69
+ "files": [
70
+ "dist",
71
+ "scripts",
72
+ "commands",
73
+ "skills",
74
+ "hooks",
75
+ "config",
76
+ "bin",
77
+ "plugin.json",
78
+ ".claude-plugin",
79
+ ".mcp.json",
80
+ ".env.mcp",
81
+ "LICENSE",
82
+ "README.md",
83
+ "CHANGELOG.md",
84
+ "QUICK-START.md"
85
+ ],
86
+ "author": "michielhdoteth",
87
+ "license": "MIT",
88
+ "engines": {
89
+ "node": ">=18.0.0"
90
+ },
91
+ "dependencies": {
92
+ "@modelcontextprotocol/sdk": "1.27.1",
93
+ "better-sqlite3": "12.6.2",
94
+ "bull": "^4.16.0",
95
+ "commander": "^12.0.0",
96
+ "cors": "2.8.6",
97
+ "dotenv": "^16.4.0",
98
+ "drizzle-orm": "^0.38.0",
99
+ "express": "^4.21.0",
100
+ "pg": "8.19.0",
101
+ "pgvector": "^0.2.0",
102
+ "redis": "^4.7.0",
103
+ "tree-sitter": "^0.22.0",
104
+ "tree-sitter-javascript": "^0.23.0",
105
+ "tree-sitter-python": "^0.23.0",
106
+ "tree-sitter-typescript": "^0.23.0",
107
+ "uuid": "^9.0.1",
108
+ "ws": "^8.18.0",
109
+ "zod": "^3.24.0",
110
+ "node-cron": "^3.0.0"
111
+ },
112
+ "devDependencies": {
113
+ "@types/better-sqlite3": "^7.6.13",
114
+ "@types/cors": "^2.8.17",
115
+ "@types/express": "^5.0.0",
116
+ "@types/node": "^22.0.0",
117
+ "@types/pg": "^8.11.10",
118
+ "@types/node-cron": "^3.0.11",
119
+ "@types/ws": "^8.5.13",
120
+ "drizzle-kit": "^0.30.0",
121
+ "pkg": "^5.8.1",
122
+ "typescript": "^5.7.0",
123
+ "vitest": "^4.0.17"
124
+ }
125
+ }
@@ -0,0 +1,33 @@
1
+ #!/bin/bash
2
+
3
+ # Squish Release Build Script
4
+ # Run this before publishing to ensure everything is ready
5
+
6
+ set -e
7
+
8
+ echo "🔨 Building Squish v0.3.0..."
9
+
10
+ # Clean previous builds
11
+ npm run clean
12
+
13
+ # Build the project (core only, merge system disabled)
14
+ echo "Building core functionality..."
15
+ npx tsc index.ts --outDir dist --skipLibCheck --esModuleInterop --module commonjs
16
+ npx tsc features/web/web.ts --outDir dist/features/web --skipLibCheck --esModuleInterop --module commonjs
17
+ npx tsc features/web/web-server.ts --outDir dist/features/web --skipLibCheck --esModuleInterop --module commonjs
18
+
19
+ # Rename to .js extension for CommonJS
20
+ mv dist/features/web/web-server.js dist/features/web/web-server.cjs 2>/dev/null || true
21
+
22
+ echo "✅ Build complete!"
23
+
24
+ # Test the build
25
+ echo "🧪 Testing build..."
26
+ timeout 5 node dist/index.js &
27
+ sleep 2
28
+ curl -s http://localhost:37777/api/health | grep -q "ok" && echo "✅ API working" || echo "❌ API failed"
29
+
30
+ # Kill test server
31
+ pkill -f "node dist/index.js" || true
32
+
33
+ echo "🎉 Ready for release!"
@@ -0,0 +1,88 @@
1
+ import Database from 'better-sqlite3';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+
5
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+ const dbPath = path.join(__dirname, '.squish', 'squish.db');
7
+
8
+ console.log('=== DATABASE STATUS ===\n');
9
+
10
+ try {
11
+ const db = new Database(dbPath);
12
+
13
+ // Get all tables
14
+ const tables = db.prepare(`
15
+ SELECT name FROM sqlite_master
16
+ WHERE type='table'
17
+ ORDER BY name
18
+ `).all();
19
+
20
+ console.log(`📊 Total Tables: ${tables.length}`);
21
+ tables.forEach(t => console.log(` - ${t.name}`));
22
+ console.log('');
23
+
24
+ // Get memory counts
25
+ console.log('📝 Memory Storage:\n');
26
+
27
+ const memoriesCount = db.prepare('SELECT COUNT(*) as count FROM memories').get();
28
+ console.log(`✅ Memories: ${memoriesCount.count}`);
29
+
30
+ const conversationsCount = db.prepare('SELECT COUNT(*) as count FROM conversations').get();
31
+ console.log(`✅ Conversations: ${conversationsCount.count}`);
32
+
33
+ const observationsCount = db.prepare('SELECT COUNT(*) as count FROM observations').get();
34
+ console.log(`✅ Observations: ${observationsCount.count}`);
35
+
36
+ const coreMemoryCount = db.prepare('SELECT COUNT(*) as count FROM core_memory').get();
37
+ console.log(`✅ Core Memory Sections: ${coreMemoryCount.count}`);
38
+
39
+ console.log('\n');
40
+
41
+ // Show recent memories (if any exist)
42
+ if (memoriesCount.count > 0) {
43
+ console.log('📚 Recent Memories:\n');
44
+ const recentMemories = db.prepare(`
45
+ SELECT id, type, content, createdAt
46
+ FROM memories
47
+ ORDER BY createdAt DESC
48
+ LIMIT 5
49
+ `).all();
50
+
51
+ recentMemories.forEach((mem, i) => {
52
+ const content = mem.content.substring(0, 100) + (mem.content.length > 100 ? '...' : '');
53
+ const date = new Date(mem.createdAt).toLocaleString();
54
+ const memId = String(mem.id).substring(0, 8);
55
+ console.log(`${i+1}. [${mem.type}] ${date}`);
56
+ console.log(` "${content}"`);
57
+ console.log(` ID: ${memId}...`);
58
+ console.log('');
59
+ });
60
+ } else {
61
+ console.log('📚 No memories stored yet\n');
62
+ }
63
+
64
+ // Show core memory content
65
+ console.log('🧠 Core Memory Content:\n');
66
+ const coreMemSections = db.prepare(`
67
+ SELECT section, content, version
68
+ FROM core_memory
69
+ ORDER BY section
70
+ `).all();
71
+
72
+ coreMemSections.forEach(section => {
73
+ const content = section.content || '(empty)';
74
+ console.log(`${section.section.toUpperCase()}: v${section.version}`);
75
+ if (content !== '(empty)') {
76
+ console.log(` ${content.substring(0, 80)}${content.length > 80 ? '...' : ''}`);
77
+ } else {
78
+ console.log(` ${content}`);
79
+ }
80
+ console.log('');
81
+ });
82
+
83
+ db.close();
84
+
85
+ } catch (error) {
86
+ console.error('❌ Error:', error.message);
87
+ process.exit(1);
88
+ }
@@ -0,0 +1,52 @@
1
+ import Database from 'better-sqlite3';
2
+ import { getDataDir } from './dist/config.js';
3
+
4
+ const dbPath = `${getDataDir()}/squish.db`;
5
+ console.log(`Fixing schema for: ${dbPath}`);
6
+
7
+ const db = new Database(dbPath);
8
+
9
+ // Get current columns
10
+ const tableInfo = db.prepare("PRAGMA table_info(memories)").all();
11
+ const existingCols = new Set(tableInfo.map(col => col.name));
12
+
13
+ // All columns from Drizzle schema-sqlite.ts (in order, with snake_case names)
14
+ const allColumns = [
15
+ { name: 'sector', type: "TEXT DEFAULT 'episodic'" },
16
+ { name: 'tier', type: "TEXT DEFAULT 'hot'" },
17
+ { name: 'context_status', type: "TEXT DEFAULT 'out-of-context'" },
18
+ { name: 'decay_rate', type: 'INTEGER DEFAULT 30' },
19
+ { name: 'coactivation_score', type: 'INTEGER DEFAULT 0' },
20
+ { name: 'last_decay_at', type: 'INTEGER' },
21
+ { name: 'agent_role', type: 'TEXT' },
22
+ { name: 'is_pinned', type: 'INTEGER DEFAULT 0' },
23
+ { name: 'is_immutable', type: 'INTEGER DEFAULT 0' },
24
+ { name: 'write_scope', type: 'TEXT' },
25
+ { name: 'read_scope', type: 'TEXT' },
26
+ { name: 'triggered_by', type: 'TEXT' },
27
+ { name: 'capture_reason', type: 'TEXT' },
28
+ { name: 'last_used_at', type: 'INTEGER' },
29
+ { name: 'usage_count', type: 'INTEGER DEFAULT 0' },
30
+ { name: 'valid_from', type: 'INTEGER' },
31
+ { name: 'valid_to', type: 'INTEGER' },
32
+ { name: 'superseded_by', type: 'TEXT' },
33
+ { name: 'version', type: 'INTEGER DEFAULT 1' },
34
+ ];
35
+
36
+ let added = 0;
37
+ for (const col of allColumns) {
38
+ if (!existingCols.has(col.name)) {
39
+ console.log(`Adding: ${col.name}`);
40
+ try {
41
+ db.exec(`ALTER TABLE memories ADD COLUMN ${col.name} ${col.type};`);
42
+ added++;
43
+ } catch (e) {
44
+ console.log(` ⚠️ ${e.message}`);
45
+ }
46
+ } else {
47
+ console.log(`✅ ${col.name}`);
48
+ }
49
+ }
50
+
51
+ db.close();
52
+ console.log(`✅ Added ${added} columns`);
@@ -0,0 +1,55 @@
1
+ import Database from 'better-sqlite3';
2
+ import { getDataDir } from './dist/config.js';
3
+
4
+ const dbPath = `${getDataDir()}/squish.db`;
5
+ console.log(`Fixing schema for: ${dbPath}`);
6
+
7
+ const db = new Database(dbPath);
8
+
9
+ // Get current columns
10
+ const tableInfo = db.prepare("PRAGMA table_info(memories)").all();
11
+ const existingCols = new Set(tableInfo.map(col => col.name));
12
+ console.log('Existing columns:', Array.from(existingCols).join(', '));
13
+
14
+ // All columns from Drizzle schema
15
+ const neededColumns = [
16
+ { name: 'embedding', type: 'BLOB' },
17
+ { name: 'is_private', type: 'INTEGER DEFAULT 0' },
18
+ { name: 'has_secrets', type: 'INTEGER DEFAULT 0' },
19
+ { name: 'is_protected', type: 'INTEGER DEFAULT 0' },
20
+ { name: 'is_active', type: 'INTEGER DEFAULT 1' },
21
+ { name: 'access_count', type: 'INTEGER DEFAULT 0' },
22
+ { name: 'last_accessed_at', type: 'INTEGER' },
23
+ { name: 'expires_at', type: 'INTEGER' },
24
+ { name: 'confidence', type: 'INTEGER DEFAULT 100' },
25
+ { name: 'source', type: 'TEXT' },
26
+ { name: 'summary', type: 'TEXT' },
27
+ { name: 'user_id', type: 'TEXT' },
28
+ { name: 'agent_id', type: 'TEXT' },
29
+ { name: 'visibility_scope', type: 'TEXT DEFAULT \'private\'' },
30
+ { name: 'relevance_score', type: 'INTEGER DEFAULT 50' },
31
+ { name: 'is_merged', type: 'INTEGER DEFAULT 0' },
32
+ { name: 'merged_into_id', type: 'TEXT' },
33
+ { name: 'merged_at', type: 'INTEGER' },
34
+ { name: 'is_canonical', type: 'INTEGER DEFAULT 0' },
35
+ { name: 'merge_source_ids', type: 'TEXT' },
36
+ { name: 'is_mergeable', type: 'INTEGER DEFAULT 1' },
37
+ { name: 'merge_version', type: 'INTEGER DEFAULT 1' },
38
+ ];
39
+
40
+ let added = 0;
41
+ for (const col of neededColumns) {
42
+ if (!existingCols.has(col.name)) {
43
+ console.log(`Adding column: ${col.name}`);
44
+ try {
45
+ db.exec(`ALTER TABLE memories ADD COLUMN ${col.name} ${col.type};`);
46
+ console.log(` ✅ Added ${col.name}`);
47
+ added++;
48
+ } catch (e) {
49
+ console.log(` ⚠️ ${e.message}`);
50
+ }
51
+ }
52
+ }
53
+
54
+ db.close();
55
+ console.log(`✅ Schema fix complete. Added ${added} columns.`);
@@ -0,0 +1,46 @@
1
+ import Database from 'better-sqlite3';
2
+ import { getDataDir } from './dist/config.js';
3
+
4
+ const dbPath = `${getDataDir()}/squish.db`;
5
+ console.log(`Fixing schema for: ${dbPath}`);
6
+
7
+ const db = new Database(dbPath);
8
+
9
+ // Get current columns in memories table
10
+ const tableInfo = db.prepare("PRAGMA table_info(memories)").all();
11
+ const existingCols = new Set(tableInfo.map(col => col.name));
12
+
13
+ // Columns needed by Drizzle schema but might be missing
14
+ const neededColumns = [
15
+ { name: 'embedding', type: 'BLOB' },
16
+ { name: 'is_private', type: 'INTEGER DEFAULT 0' },
17
+ { name: 'has_secrets', type: 'INTEGER DEFAULT 0' },
18
+ { name: 'is_protected', type: 'INTEGER DEFAULT 0' },
19
+ { name: 'is_active', type: 'INTEGER DEFAULT 1' },
20
+ { name: 'access_count', type: 'INTEGER DEFAULT 0' },
21
+ { name: 'last_accessed_at', type: 'INTEGER' },
22
+ { name: 'expires_at', type: 'INTEGER' },
23
+ { name: 'confidence', type: 'INTEGER DEFAULT 100' },
24
+ { name: 'source', type: 'TEXT' },
25
+ { name: 'summary', type: 'TEXT' },
26
+ { name: 'user_id', type: 'TEXT' },
27
+ { name: 'agent_id', type: 'TEXT' },
28
+ { name: 'visibility_scope', type: 'TEXT DEFAULT \'private\'' },
29
+ ];
30
+
31
+ for (const col of neededColumns) {
32
+ if (!existingCols.has(col.name)) {
33
+ console.log(`Adding column: ${col.name}`);
34
+ try {
35
+ db.exec(`ALTER TABLE memories ADD COLUMN ${col.name} ${col.type};`);
36
+ console.log(` ✅ Added ${col.name}`);
37
+ } catch (e) {
38
+ console.log(` ⚠️ ${e.message}`);
39
+ }
40
+ } else {
41
+ console.log(`✅ ${col.name} already exists`);
42
+ }
43
+ }
44
+
45
+ db.close();
46
+ console.log('✅ Schema fix complete');