squish-memory 0.9.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/{.env.mcp → .env.mcp.example} +23 -0
  2. package/CHANGELOG.md +102 -0
  3. package/QUICK-START.md +10 -4
  4. package/README.md +73 -4
  5. package/config/plugin-manifest.json +152 -0
  6. package/config/plugin-manifest.schema.json +244 -0
  7. package/dist/algorithms/{merge/analytics → analytics}/token-estimator.d.ts +1 -1
  8. package/dist/algorithms/analytics/token-estimator.d.ts.map +1 -0
  9. package/dist/algorithms/{merge/analytics → analytics}/token-estimator.js +3 -3
  10. package/dist/algorithms/analytics/token-estimator.js.map +1 -0
  11. package/dist/algorithms/detection/hash-filters.d.ts.map +1 -0
  12. package/dist/algorithms/detection/hash-filters.js.map +1 -0
  13. package/dist/algorithms/{merge/detection → detection}/semantic-ranker.d.ts +1 -1
  14. package/dist/algorithms/detection/semantic-ranker.d.ts.map +1 -0
  15. package/dist/algorithms/{merge/detection → detection}/semantic-ranker.js +1 -1
  16. package/dist/algorithms/detection/semantic-ranker.js.map +1 -0
  17. package/dist/algorithms/{merge/detection → detection}/two-stage-detector.d.ts +1 -1
  18. package/dist/algorithms/detection/two-stage-detector.d.ts.map +1 -0
  19. package/dist/algorithms/{merge/detection → detection}/two-stage-detector.js +4 -4
  20. package/dist/algorithms/detection/two-stage-detector.js.map +1 -0
  21. package/dist/algorithms/handlers/approve-merge.d.ts.map +1 -0
  22. package/dist/algorithms/{merge/handlers → handlers}/approve-merge.js +4 -4
  23. package/dist/algorithms/handlers/approve-merge.js.map +1 -0
  24. package/dist/algorithms/{merge/handlers → handlers}/detect-duplicates.d.ts +1 -1
  25. package/dist/algorithms/handlers/detect-duplicates.d.ts.map +1 -0
  26. package/dist/algorithms/{merge/handlers → handlers}/detect-duplicates.js +55 -75
  27. package/dist/algorithms/handlers/detect-duplicates.js.map +1 -0
  28. package/dist/algorithms/handlers/get-stats.d.ts.map +1 -0
  29. package/dist/algorithms/{merge/handlers → handlers}/get-stats.js +3 -3
  30. package/dist/algorithms/handlers/get-stats.js.map +1 -0
  31. package/dist/algorithms/handlers/list-proposals.d.ts.map +1 -0
  32. package/dist/algorithms/{merge/handlers → handlers}/list-proposals.js +3 -3
  33. package/dist/algorithms/handlers/list-proposals.js.map +1 -0
  34. package/dist/algorithms/handlers/preview-merge.d.ts.map +1 -0
  35. package/dist/algorithms/{merge/handlers → handlers}/preview-merge.js +3 -3
  36. package/dist/algorithms/handlers/preview-merge.js.map +1 -0
  37. package/dist/algorithms/handlers/reject-merge.d.ts.map +1 -0
  38. package/dist/algorithms/{merge/handlers → handlers}/reject-merge.js +3 -3
  39. package/dist/algorithms/handlers/reject-merge.js.map +1 -0
  40. package/dist/algorithms/handlers/reverse-merge.d.ts.map +1 -0
  41. package/dist/algorithms/{merge/handlers → handlers}/reverse-merge.js +3 -3
  42. package/dist/algorithms/handlers/reverse-merge.js.map +1 -0
  43. package/dist/algorithms/{merge/safety → safety}/safety-checks.d.ts +1 -1
  44. package/dist/algorithms/safety/safety-checks.d.ts.map +1 -0
  45. package/dist/algorithms/safety/safety-checks.js +179 -0
  46. package/dist/algorithms/safety/safety-checks.js.map +1 -0
  47. package/dist/algorithms/{merge/strategies → strategies}/merge-strategies.d.ts +1 -1
  48. package/dist/algorithms/strategies/merge-strategies.d.ts.map +1 -0
  49. package/dist/algorithms/strategies/merge-strategies.js.map +1 -0
  50. package/dist/algorithms/utils/response-builder.d.ts +28 -0
  51. package/dist/algorithms/utils/response-builder.d.ts.map +1 -0
  52. package/dist/algorithms/utils/response-builder.js +37 -0
  53. package/dist/algorithms/utils/response-builder.js.map +1 -0
  54. package/dist/api/web/web.d.ts.map +1 -1
  55. package/dist/api/web/web.js +0 -21
  56. package/dist/api/web/web.js.map +1 -1
  57. package/dist/commands/mcp-server.js +1 -1
  58. package/dist/config.d.ts +9 -1
  59. package/dist/config.d.ts.map +1 -1
  60. package/dist/config.js +35 -32
  61. package/dist/config.js.map +1 -1
  62. package/dist/core/associations.js +2 -2
  63. package/dist/core/associations.js.map +1 -1
  64. package/dist/core/core-memory.d.ts +5 -0
  65. package/dist/core/core-memory.d.ts.map +1 -1
  66. package/dist/core/core-memory.js +17 -5
  67. package/dist/core/core-memory.js.map +1 -1
  68. package/dist/core/embeddings.d.ts +9 -0
  69. package/dist/core/embeddings.d.ts.map +1 -1
  70. package/dist/core/embeddings.js +153 -16
  71. package/dist/core/embeddings.js.map +1 -1
  72. package/dist/core/layers/generator.d.ts +25 -0
  73. package/dist/core/layers/generator.d.ts.map +1 -0
  74. package/dist/core/layers/generator.js +76 -0
  75. package/dist/core/layers/generator.js.map +1 -0
  76. package/dist/core/mcp/tools.d.ts.map +1 -1
  77. package/dist/core/mcp/tools.js +71 -0
  78. package/dist/core/mcp/tools.js.map +1 -1
  79. package/dist/core/memory/hybrid-retrieval.d.ts.map +1 -1
  80. package/dist/core/memory/hybrid-retrieval.js +49 -1
  81. package/dist/core/memory/hybrid-retrieval.js.map +1 -1
  82. package/dist/core/memory/hybrid-search.d.ts.map +1 -1
  83. package/dist/core/memory/hybrid-search.js +0 -7
  84. package/dist/core/memory/hybrid-search.js.map +1 -1
  85. package/dist/core/memory/memories.d.ts.map +1 -1
  86. package/dist/core/memory/memories.js +47 -53
  87. package/dist/core/memory/memories.js.map +1 -1
  88. package/dist/core/memory/progressive-disclosure.d.ts.map +1 -1
  89. package/dist/core/memory/progressive-disclosure.js.map +1 -1
  90. package/dist/core/namespaces/index.d.ts +71 -0
  91. package/dist/core/namespaces/index.d.ts.map +1 -0
  92. package/dist/core/namespaces/index.js +296 -0
  93. package/dist/core/namespaces/index.js.map +1 -0
  94. package/dist/core/namespaces/uri-parser.d.ts +31 -0
  95. package/dist/core/namespaces/uri-parser.d.ts.map +1 -0
  96. package/dist/core/namespaces/uri-parser.js +74 -0
  97. package/dist/core/namespaces/uri-parser.js.map +1 -0
  98. package/dist/core/observations.d.ts.map +1 -1
  99. package/dist/core/observations.js +3 -12
  100. package/dist/core/observations.js.map +1 -1
  101. package/dist/core/projects.d.ts.map +1 -1
  102. package/dist/core/projects.js +0 -12
  103. package/dist/core/projects.js.map +1 -1
  104. package/dist/core/scheduler/cron-scheduler.d.ts.map +1 -1
  105. package/dist/core/scheduler/cron-scheduler.js +14 -0
  106. package/dist/core/scheduler/cron-scheduler.js.map +1 -1
  107. package/dist/core/session-hooks/self-iteration-job.d.ts +20 -0
  108. package/dist/core/session-hooks/self-iteration-job.d.ts.map +1 -0
  109. package/dist/core/session-hooks/self-iteration-job.js +278 -0
  110. package/dist/core/session-hooks/self-iteration-job.js.map +1 -0
  111. package/dist/core/session-hooks/session-hooks.d.ts +18 -0
  112. package/dist/core/session-hooks/session-hooks.d.ts.map +1 -0
  113. package/dist/core/session-hooks/session-hooks.js +55 -0
  114. package/dist/core/session-hooks/session-hooks.js.map +1 -0
  115. package/dist/core/tracing/collector.d.ts +111 -0
  116. package/dist/core/tracing/collector.d.ts.map +1 -0
  117. package/dist/core/tracing/collector.js +338 -0
  118. package/dist/core/tracing/collector.js.map +1 -0
  119. package/dist/core/tracing/visualizer.d.ts +32 -0
  120. package/dist/core/tracing/visualizer.d.ts.map +1 -0
  121. package/dist/core/tracing/visualizer.js +165 -0
  122. package/dist/core/tracing/visualizer.js.map +1 -0
  123. package/dist/db/bootstrap.d.ts.map +1 -1
  124. package/dist/db/bootstrap.js +33 -6
  125. package/dist/db/bootstrap.js.map +1 -1
  126. package/dist/drizzle/schema-sqlite.d.ts +401 -0
  127. package/dist/drizzle/schema-sqlite.d.ts.map +1 -1
  128. package/dist/drizzle/schema-sqlite.js +66 -0
  129. package/dist/drizzle/schema-sqlite.js.map +1 -1
  130. package/dist/drizzle/schema.d.ts +385 -0
  131. package/dist/drizzle/schema.d.ts.map +1 -1
  132. package/dist/drizzle/schema.js +64 -0
  133. package/dist/drizzle/schema.js.map +1 -1
  134. package/dist/index.d.ts +4 -4
  135. package/dist/index.js +101 -62
  136. package/dist/index.js.map +1 -1
  137. package/generated/mcp/manifest.json +23 -0
  138. package/generated/mcp/mcp-servers.json +25 -0
  139. package/generated/mcp/mcporter.json +34 -0
  140. package/generated/mcp/openclaw-memory-qmd.json +17 -0
  141. package/generated/mcp/runtime.json +12 -0
  142. package/package.json +68 -26
  143. package/packages/plugin-claude-code/README.md +73 -0
  144. package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts +35 -0
  145. package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts.map +1 -0
  146. package/packages/plugin-claude-code/dist/plugin-wrapper.js +191 -0
  147. package/packages/plugin-claude-code/dist/plugin-wrapper.js.map +1 -0
  148. package/packages/plugin-claude-code/package.json +31 -0
  149. package/packages/plugin-openclaw/README.md +70 -0
  150. package/packages/plugin-openclaw/dist/index.d.ts +49 -0
  151. package/packages/plugin-openclaw/dist/index.d.ts.map +1 -0
  152. package/packages/plugin-openclaw/dist/index.js +262 -0
  153. package/packages/plugin-openclaw/dist/index.js.map +1 -0
  154. package/packages/plugin-openclaw/openclaw.plugin.json +94 -0
  155. package/packages/plugin-openclaw/package.json +31 -0
  156. package/packages/plugin-opencode/install.mjs +217 -0
  157. package/packages/plugin-opencode/package.json +21 -0
  158. package/scripts/build-release.sh +20 -17
  159. package/scripts/check-secrets.js +132 -0
  160. package/scripts/dependency-manager.mjs +217 -0
  161. package/scripts/detect-clients.mjs +78 -0
  162. package/scripts/github-release.sh +43 -27
  163. package/scripts/install-interactive.mjs +674 -0
  164. package/scripts/install-plugin.mjs +415 -0
  165. package/scripts/test-interactive.mjs +131 -0
  166. package/commands/managed-sync.ts +0 -69
  167. package/commands/mcp-server.ts +0 -519
  168. package/dist/algorithms/merge/analytics/token-estimator.d.ts.map +0 -1
  169. package/dist/algorithms/merge/analytics/token-estimator.js.map +0 -1
  170. package/dist/algorithms/merge/detection/hash-filters.d.ts.map +0 -1
  171. package/dist/algorithms/merge/detection/hash-filters.js.map +0 -1
  172. package/dist/algorithms/merge/detection/semantic-ranker.d.ts.map +0 -1
  173. package/dist/algorithms/merge/detection/semantic-ranker.js.map +0 -1
  174. package/dist/algorithms/merge/detection/two-stage-detector.d.ts.map +0 -1
  175. package/dist/algorithms/merge/detection/two-stage-detector.js.map +0 -1
  176. package/dist/algorithms/merge/handlers/approve-merge.d.ts.map +0 -1
  177. package/dist/algorithms/merge/handlers/approve-merge.js.map +0 -1
  178. package/dist/algorithms/merge/handlers/detect-duplicates.d.ts.map +0 -1
  179. package/dist/algorithms/merge/handlers/detect-duplicates.js.map +0 -1
  180. package/dist/algorithms/merge/handlers/get-stats.d.ts.map +0 -1
  181. package/dist/algorithms/merge/handlers/get-stats.js.map +0 -1
  182. package/dist/algorithms/merge/handlers/list-proposals.d.ts.map +0 -1
  183. package/dist/algorithms/merge/handlers/list-proposals.js.map +0 -1
  184. package/dist/algorithms/merge/handlers/preview-merge.d.ts.map +0 -1
  185. package/dist/algorithms/merge/handlers/preview-merge.js.map +0 -1
  186. package/dist/algorithms/merge/handlers/reject-merge.d.ts.map +0 -1
  187. package/dist/algorithms/merge/handlers/reject-merge.js.map +0 -1
  188. package/dist/algorithms/merge/handlers/reverse-merge.d.ts.map +0 -1
  189. package/dist/algorithms/merge/handlers/reverse-merge.js.map +0 -1
  190. package/dist/algorithms/merge/safety/safety-checks.d.ts.map +0 -1
  191. package/dist/algorithms/merge/safety/safety-checks.js +0 -215
  192. package/dist/algorithms/merge/safety/safety-checks.js.map +0 -1
  193. package/dist/algorithms/merge/strategies/merge-strategies.d.ts.map +0 -1
  194. package/dist/algorithms/merge/strategies/merge-strategies.js.map +0 -1
  195. package/dist/core/embeddings/qmd-provider.d.ts +0 -65
  196. package/dist/core/embeddings/qmd-provider.d.ts.map +0 -1
  197. package/dist/core/embeddings/qmd-provider.js +0 -133
  198. package/dist/core/embeddings/qmd-provider.js.map +0 -1
  199. package/scripts/init-dirs.ts +0 -15
  200. /package/dist/algorithms/{merge/detection → detection}/hash-filters.d.ts +0 -0
  201. /package/dist/algorithms/{merge/detection → detection}/hash-filters.js +0 -0
  202. /package/dist/algorithms/{merge/handlers → handlers}/approve-merge.d.ts +0 -0
  203. /package/dist/algorithms/{merge/handlers → handlers}/get-stats.d.ts +0 -0
  204. /package/dist/algorithms/{merge/handlers → handlers}/list-proposals.d.ts +0 -0
  205. /package/dist/algorithms/{merge/handlers → handlers}/preview-merge.d.ts +0 -0
  206. /package/dist/algorithms/{merge/handlers → handlers}/reject-merge.d.ts +0 -0
  207. /package/dist/algorithms/{merge/handlers → handlers}/reverse-merge.d.ts +0 -0
  208. /package/dist/algorithms/{merge/strategies → strategies}/merge-strategies.js +0 -0
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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"}
@@ -0,0 +1,23 @@
1
+ {
2
+ "mode": "universal",
3
+ "generatedAt": "2026-03-14T16:50:48.822Z",
4
+ "source": "config/mcp.json",
5
+ "files": [
6
+ {
7
+ "file": "mcp-servers.json",
8
+ "sha256": "2c90cc52893f55bc92cc4f29c77bfeeb635c1c73fa46038d287548caeb35ca6a"
9
+ },
10
+ {
11
+ "file": "mcporter.json",
12
+ "sha256": "af42e1c03d44f66fcbe2a9b7694f1d3a126527147c66b760236e72348e1e4573"
13
+ },
14
+ {
15
+ "file": "openclaw-memory-qmd.json",
16
+ "sha256": "8a158ff45e98e0db7a7aff41dba7be76652b72aea82443773f9efc7fb056d615"
17
+ },
18
+ {
19
+ "file": "runtime.json",
20
+ "sha256": "4afbdec03de92c6a29fc24df32f01305c2e9cf69ed2d02866a01e361492d14b6"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "mcpServers": {
3
+ "filesystem": {
4
+ "args": [
5
+ "-y",
6
+ "@modelcontextprotocol/server-filesystem",
7
+ "."
8
+ ],
9
+ "command": "npx",
10
+ "env": {},
11
+ "transport": "stdio"
12
+ },
13
+ "github": {
14
+ "args": [
15
+ "-y",
16
+ "@modelcontextprotocol/server-github"
17
+ ],
18
+ "command": "npx",
19
+ "env": {
20
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
21
+ },
22
+ "transport": "stdio"
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "mcpServers": {
3
+ "filesystem": {
4
+ "args": [
5
+ "-y",
6
+ "@modelcontextprotocol/server-filesystem",
7
+ "."
8
+ ],
9
+ "command": "npx",
10
+ "env": {},
11
+ "transport": "stdio"
12
+ },
13
+ "github": {
14
+ "args": [
15
+ "-y",
16
+ "@modelcontextprotocol/server-github"
17
+ ],
18
+ "command": "npx",
19
+ "env": {
20
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
21
+ },
22
+ "transport": "stdio"
23
+ }
24
+ },
25
+ "imports": [
26
+ "cursor",
27
+ "claude-code",
28
+ "claude-desktop",
29
+ "codex",
30
+ "windsurf",
31
+ "opencode",
32
+ "vscode"
33
+ ]
34
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "memory": {
3
+ "backend": "qmd",
4
+ "qmd": {
5
+ "mcporter": {
6
+ "enabled": true,
7
+ "serverName": "qmd",
8
+ "startDaemon": true
9
+ },
10
+ "limits": {
11
+ "timeoutMs": 60000,
12
+ "maxSnippetChars": 12000,
13
+ "maxResults": 12
14
+ }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "connectionTimeoutMs": 15000,
3
+ "lazyToolDiscovery": true,
4
+ "maxConcurrentToolCalls": 4,
5
+ "requestTimeoutMs": 60000,
6
+ "resultMaxChars": 12000,
7
+ "retry": {
8
+ "backoffMs": 400,
9
+ "enabled": true,
10
+ "maxAttempts": 3
11
+ }
12
+ }
package/package.json CHANGED
@@ -1,18 +1,22 @@
1
1
  {
2
2
  "name": "squish-memory",
3
- "version": "0.9.2",
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",
3
+ "version": "1.0.0",
4
+ "description": "Universal plugin architecture memory system - works as plugin across Claude Code, OpenClaw, OpenCode, Codex, Cursor, VSCode, Windsurf. MCP server with CLI fallback, QMD search, and two-tier storage.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "bin": {
8
8
  "squish": "dist/index.js",
9
- "squish-mcp": "dist/commands/mcp-server.cjs",
10
- "squish-install": "npx-installer.js"
9
+ "squish-mcp": "dist/commands/mcp-server.js",
10
+ "squish-install": "npx-installer.js",
11
+ "squish-install-plugin": "scripts/install-plugin.mjs"
11
12
  },
12
13
  "scripts": {
13
14
  "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/*",
15
+ "build:plugins": "npm run build && npm run build:claude && npm run build:openclaw",
16
+ "build:claude": "cp -r .claude-plugin packages/plugin-claude-code/",
17
+ "build:openclaw": "mkdir -p packages/plugin-openclaw/dist && cp -r plugins/openclaw/* packages/plugin-openclaw/ && (cd packages/plugin-openclaw && npm run build 2>/dev/null || true)",
18
+ "build:mcp": "tsc commands/mcp-server.ts --outDir dist/commands --module ES2022 --moduleResolution node --esModuleInterop --target ES2022 --skipLibCheck",
19
+ "mcp:cjs": "esbuild commands/mcp-server.ts --bundle --platform=node --outfile=dist/commands/mcp-server.cjs --format=cjs --external:better-sqlite3 --external:pg --external:drizzle-orm/*",
16
20
  "start": "node dist/index.js",
17
21
  "mcp": "node dist/commands/mcp-server.cjs",
18
22
  "web": "node dist/api/web/web-server.js",
@@ -22,8 +26,14 @@
22
26
  "verify:mcp": "node scripts/verify-mcp.mjs",
23
27
  "preflight:remote": "node scripts/remote-preflight.mjs",
24
28
  "fallback:dry": "node scripts/squish-fallback.mjs --op health --simulate-mcp-failure --dry-run",
29
+ "deps:check": "node scripts/dependency-manager.mjs",
30
+ "deps:install": "node scripts/dependency-manager.mjs",
31
+ "detect:clients": "node scripts/detect-clients.mjs",
32
+ "install:plugin": "node scripts/install-plugin.mjs",
33
+ "install:interactive": "node scripts/install-interactive.mjs",
34
+ "test:interactive": "node scripts/test-interactive.mjs",
25
35
  "test": "node --test dist/tests/**/*.test.js",
26
- "clean": "rm -rf dist *.log",
36
+ "clean": "rm -rf dist && rm -f *.log",
27
37
  "bench": "bun benchmark/memory.ts",
28
38
  "bench:db": "bun benchmark/run.ts",
29
39
  "db:generate": "drizzle-kit generate",
@@ -33,7 +43,8 @@
33
43
  "prepublishOnly": "npm run clean && npm run build",
34
44
  "prepare": "npm run build",
35
45
  "postinstall": "node scripts/init-dirs.mjs",
36
- "release": "./scripts/build-release.sh && ./scripts/github-release.sh"
46
+ "release": "./scripts/build-release.sh && ./scripts/github-release.sh",
47
+ "check:secrets": "node scripts/check-secrets.js"
37
48
  },
38
49
  "repository": {
39
50
  "type": "git",
@@ -57,6 +68,15 @@
57
68
  "model-context-protocol",
58
69
  "claude-code",
59
70
  "openclaw",
71
+ "opencode",
72
+ "codex",
73
+ "cursor",
74
+ "windsurf",
75
+ "vscode",
76
+ "plugin",
77
+ "plugin-architecture",
78
+ "openclaw-plugin",
79
+ "claude-code-plugin",
60
80
  "qmd",
61
81
  "sqlite",
62
82
  "postgres",
@@ -65,25 +85,47 @@
65
85
  "semantic-search",
66
86
  "local-first",
67
87
  "privacy",
68
- "agent-framework"
69
- ],
70
- "files": [
71
- "dist",
72
- "scripts",
73
- "commands",
74
- "skills",
75
- "hooks",
76
- "config",
77
- "bin",
78
- "plugin.json",
79
- ".claude-plugin",
80
- ".mcp.json",
81
- ".env.mcp",
82
- "LICENSE",
83
- "README.md",
84
- "CHANGELOG.md",
85
- "QUICK-START.md"
88
+ "agent-framework",
89
+ "agent-memory"
86
90
  ],
91
+ "files": [
92
+ "dist",
93
+ "scripts",
94
+ "!scripts/init-dirs.ts",
95
+ "skills",
96
+ "hooks",
97
+ "config",
98
+ "bin",
99
+ "generated",
100
+ "packages/plugin-claude-code/dist",
101
+ "packages/plugin-claude-code/package.json",
102
+ "packages/plugin-claude-code/README.md",
103
+ "packages/plugin-openclaw/dist",
104
+ "packages/plugin-openclaw/package.json",
105
+ "packages/plugin-openclaw/README.md",
106
+ "packages/plugin-openclaw/openclaw.plugin.json",
107
+ "packages/plugin-opencode/package.json",
108
+ "packages/plugin-opencode/install.mjs",
109
+ "plugin.json",
110
+ ".claude-plugin",
111
+ ".mcp.json",
112
+ ".env.mcp.example",
113
+ "LICENSE",
114
+ "README.md",
115
+ "CHANGELOG.md",
116
+ "QUICK-START.md",
117
+ "commands/context-paging.md",
118
+ "commands/context-status.md",
119
+ "commands/context.md",
120
+ "commands/core-memory.md",
121
+ "commands/health.md",
122
+ "commands/init.md",
123
+ "commands/merge.md",
124
+ "commands/observe.md",
125
+ "commands/recall.md",
126
+ "commands/remember.md",
127
+ "commands/search.md"
128
+ ],
87
129
  "author": "michielhdoteth",
88
130
  "license": "MIT",
89
131
  "engines": {
@@ -0,0 +1,73 @@
1
+ # Squish Memory for Claude Code
2
+
3
+ Claude Code plugin for automatic memory capture and context injection with Squish.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @squish/memory-claude-code
9
+ ```
10
+
11
+ ## Features
12
+
13
+ - **Automatic Memory Capture**: User prompts are automatically stored as memories
14
+ - **Context Injection**: Relevant past memories are injected into Claude's context
15
+ - **Session Summaries**: End-of-session summaries are stored for long-term retention
16
+ - **Debounced Capture**: 2-second debounce avoids noise
17
+
18
+ ## Hooks
19
+
20
+ This plugin implements Claude Code plugin hooks:
21
+
22
+ - `SessionStart` - Initialize memory session
23
+ - `UserPromptSubmit` - Capture user input (2s debounced)
24
+ - `PostToolUse` - Capture tool usage observations
25
+ - `SessionEnd` - Generate and store session summary
26
+
27
+ ## Setup
28
+
29
+ 1. Ensure Squish MCP server is running:
30
+ ```bash
31
+ npx squish-memory install-plugin --client=claude-code
32
+ ```
33
+
34
+ 2. Claude Code will automatically load the plugin on next start if installed globally
35
+
36
+ 3. Verify plugin is active:
37
+ ```bash
38
+ npx squish-memory install-plugin --client=claude-code --verify
39
+ ```
40
+
41
+ ## Configuration
42
+
43
+ Environment variables:
44
+
45
+ | Variable | Description |
46
+ |----------|-------------|
47
+ | `SQUISH_DATA_DIR` | Data directory (default: `~/.squish/claude`) |
48
+ | `SQUISH_COMMAND` | Command to start Squish MCP (default: `squish-mcp`) |
49
+
50
+ ## How It Works
51
+
52
+ 1. **Session Start**: Plugin connects to Squish MCP and creates a session
53
+ 2. **User Input Capture**: Prompts are debounced (2s) then stored as `observation` type memories with tags `user-prompt`, `claude-code`
54
+ 3. **Tool Use Capture**: (Planned) Tool calls and results stored as `observation`
55
+ 4. **Session End**: Summary generated and stored, session statistics recorded
56
+
57
+ ## Development
58
+
59
+ ```bash
60
+ cd packages/plugin-claude-code
61
+ npm install
62
+ npm run build
63
+ ```
64
+
65
+ ## Compatibility
66
+
67
+ - Claude Code v0.62+
68
+ - Node.js 18+
69
+ - Squish v1.0.0+
70
+
71
+ ## License
72
+
73
+ MIT
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Claude Code Plugin: Squish Memory Integration
4
+ *
5
+ * Hooks:
6
+ * - SessionStart: Initialize memory session
7
+ * - UserPromptSubmit: Capture user input as memory
8
+ * - PostToolUse: Capture tool usage as observations
9
+ * - SessionEnd: Summarize session
10
+ */
11
+ declare class ClaudeCodeSquishPlugin {
12
+ private client;
13
+ private sessionId;
14
+ private workspaceDir;
15
+ private debounceTimer;
16
+ private recentMemories;
17
+ constructor();
18
+ initialize(): Promise<void>;
19
+ private connectToSquish;
20
+ private registerHooks;
21
+ private onSessionStart;
22
+ private onUserPromptSubmit;
23
+ private captureUserPrompt;
24
+ private onPostToolUse;
25
+ private onSessionEnd;
26
+ private summarizeSession;
27
+ private observe;
28
+ private callTool;
29
+ shutdown(): Promise<void>;
30
+ }
31
+ export declare function onSessionStart(): Promise<ClaudeCodeSquishPlugin>;
32
+ export declare function onUserPromptSubmit(prompt: string): Promise<void>;
33
+ export declare function onSessionEnd(): Promise<void>;
34
+ export {};
35
+ //# sourceMappingURL=plugin-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-wrapper.d.ts","sourceRoot":"","sources":["../src/plugin-wrapper.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AASH,cAAM,sBAAsB;IAC1B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,cAAc,CAAgB;;IAMhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAYnB,eAAe;IA+B7B,OAAO,CAAC,aAAa;YAcP,cAAc;YAYd,kBAAkB;YAiBlB,iBAAiB;YA2BjB,aAAa;YAMb,YAAY;YAoBZ,gBAAgB;YAShB,OAAO;YAUP,QAAQ;IAUT,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC;AAGD,wBAAsB,cAAc,oCAInC;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,iBAGtD;AAED,wBAAsB,YAAY,kBAEjC"}