squish-memory 0.9.3 → 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 (192) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +58 -2
  3. package/config/plugin-manifest.json +152 -0
  4. package/config/plugin-manifest.schema.json +244 -0
  5. package/dist/algorithms/{merge/analytics → analytics}/token-estimator.d.ts +1 -1
  6. package/dist/algorithms/analytics/token-estimator.d.ts.map +1 -0
  7. package/dist/algorithms/{merge/analytics → analytics}/token-estimator.js +3 -3
  8. package/dist/algorithms/analytics/token-estimator.js.map +1 -0
  9. package/dist/algorithms/detection/hash-filters.d.ts.map +1 -0
  10. package/dist/algorithms/detection/hash-filters.js.map +1 -0
  11. package/dist/algorithms/{merge/detection → detection}/semantic-ranker.d.ts +1 -1
  12. package/dist/algorithms/detection/semantic-ranker.d.ts.map +1 -0
  13. package/dist/algorithms/{merge/detection → detection}/semantic-ranker.js +1 -1
  14. package/dist/algorithms/detection/semantic-ranker.js.map +1 -0
  15. package/dist/algorithms/{merge/detection → detection}/two-stage-detector.d.ts +1 -1
  16. package/dist/algorithms/detection/two-stage-detector.d.ts.map +1 -0
  17. package/dist/algorithms/{merge/detection → detection}/two-stage-detector.js +4 -4
  18. package/dist/algorithms/detection/two-stage-detector.js.map +1 -0
  19. package/dist/algorithms/handlers/approve-merge.d.ts.map +1 -0
  20. package/dist/algorithms/{merge/handlers → handlers}/approve-merge.js +4 -4
  21. package/dist/algorithms/handlers/approve-merge.js.map +1 -0
  22. package/dist/algorithms/{merge/handlers → handlers}/detect-duplicates.d.ts +1 -1
  23. package/dist/algorithms/handlers/detect-duplicates.d.ts.map +1 -0
  24. package/dist/algorithms/{merge/handlers → handlers}/detect-duplicates.js +55 -75
  25. package/dist/algorithms/handlers/detect-duplicates.js.map +1 -0
  26. package/dist/algorithms/handlers/get-stats.d.ts.map +1 -0
  27. package/dist/algorithms/{merge/handlers → handlers}/get-stats.js +3 -3
  28. package/dist/algorithms/handlers/get-stats.js.map +1 -0
  29. package/dist/algorithms/handlers/list-proposals.d.ts.map +1 -0
  30. package/dist/algorithms/{merge/handlers → handlers}/list-proposals.js +3 -3
  31. package/dist/algorithms/handlers/list-proposals.js.map +1 -0
  32. package/dist/algorithms/handlers/preview-merge.d.ts.map +1 -0
  33. package/dist/algorithms/{merge/handlers → handlers}/preview-merge.js +3 -3
  34. package/dist/algorithms/handlers/preview-merge.js.map +1 -0
  35. package/dist/algorithms/handlers/reject-merge.d.ts.map +1 -0
  36. package/dist/algorithms/{merge/handlers → handlers}/reject-merge.js +3 -3
  37. package/dist/algorithms/handlers/reject-merge.js.map +1 -0
  38. package/dist/algorithms/handlers/reverse-merge.d.ts.map +1 -0
  39. package/dist/algorithms/{merge/handlers → handlers}/reverse-merge.js +3 -3
  40. package/dist/algorithms/handlers/reverse-merge.js.map +1 -0
  41. package/dist/algorithms/{merge/safety → safety}/safety-checks.d.ts +1 -1
  42. package/dist/algorithms/safety/safety-checks.d.ts.map +1 -0
  43. package/dist/algorithms/safety/safety-checks.js +179 -0
  44. package/dist/algorithms/safety/safety-checks.js.map +1 -0
  45. package/dist/algorithms/{merge/strategies → strategies}/merge-strategies.d.ts +1 -1
  46. package/dist/algorithms/strategies/merge-strategies.d.ts.map +1 -0
  47. package/dist/algorithms/strategies/merge-strategies.js.map +1 -0
  48. package/dist/algorithms/utils/response-builder.d.ts +28 -0
  49. package/dist/algorithms/utils/response-builder.d.ts.map +1 -0
  50. package/dist/algorithms/utils/response-builder.js +37 -0
  51. package/dist/algorithms/utils/response-builder.js.map +1 -0
  52. package/dist/api/web/web.d.ts.map +1 -1
  53. package/dist/api/web/web.js +0 -21
  54. package/dist/api/web/web.js.map +1 -1
  55. package/dist/commands/mcp-server.js +1 -1
  56. package/dist/config.d.ts +1 -1
  57. package/dist/config.d.ts.map +1 -1
  58. package/dist/config.js +30 -38
  59. package/dist/config.js.map +1 -1
  60. package/dist/core/associations.js +2 -2
  61. package/dist/core/associations.js.map +1 -1
  62. package/dist/core/layers/generator.d.ts +25 -0
  63. package/dist/core/layers/generator.d.ts.map +1 -0
  64. package/dist/core/layers/generator.js +76 -0
  65. package/dist/core/layers/generator.js.map +1 -0
  66. package/dist/core/mcp/tools.d.ts.map +1 -1
  67. package/dist/core/mcp/tools.js +71 -0
  68. package/dist/core/mcp/tools.js.map +1 -1
  69. package/dist/core/memory/hybrid-retrieval.d.ts.map +1 -1
  70. package/dist/core/memory/hybrid-retrieval.js +49 -1
  71. package/dist/core/memory/hybrid-retrieval.js.map +1 -1
  72. package/dist/core/memory/hybrid-search.d.ts.map +1 -1
  73. package/dist/core/memory/hybrid-search.js +0 -7
  74. package/dist/core/memory/hybrid-search.js.map +1 -1
  75. package/dist/core/memory/memories.d.ts.map +1 -1
  76. package/dist/core/memory/memories.js +47 -53
  77. package/dist/core/memory/memories.js.map +1 -1
  78. package/dist/core/memory/progressive-disclosure.d.ts.map +1 -1
  79. package/dist/core/memory/progressive-disclosure.js.map +1 -1
  80. package/dist/core/namespaces/index.d.ts +71 -0
  81. package/dist/core/namespaces/index.d.ts.map +1 -0
  82. package/dist/core/namespaces/index.js +296 -0
  83. package/dist/core/namespaces/index.js.map +1 -0
  84. package/dist/core/namespaces/uri-parser.d.ts +31 -0
  85. package/dist/core/namespaces/uri-parser.d.ts.map +1 -0
  86. package/dist/core/namespaces/uri-parser.js +74 -0
  87. package/dist/core/namespaces/uri-parser.js.map +1 -0
  88. package/dist/core/observations.d.ts.map +1 -1
  89. package/dist/core/observations.js +3 -12
  90. package/dist/core/observations.js.map +1 -1
  91. package/dist/core/projects.d.ts.map +1 -1
  92. package/dist/core/projects.js +0 -12
  93. package/dist/core/projects.js.map +1 -1
  94. package/dist/core/scheduler/cron-scheduler.d.ts.map +1 -1
  95. package/dist/core/scheduler/cron-scheduler.js +14 -0
  96. package/dist/core/scheduler/cron-scheduler.js.map +1 -1
  97. package/dist/core/session-hooks/self-iteration-job.d.ts +20 -0
  98. package/dist/core/session-hooks/self-iteration-job.d.ts.map +1 -0
  99. package/dist/core/session-hooks/self-iteration-job.js +278 -0
  100. package/dist/core/session-hooks/self-iteration-job.js.map +1 -0
  101. package/dist/core/session-hooks/session-hooks.d.ts +18 -0
  102. package/dist/core/session-hooks/session-hooks.d.ts.map +1 -0
  103. package/dist/core/session-hooks/session-hooks.js +55 -0
  104. package/dist/core/session-hooks/session-hooks.js.map +1 -0
  105. package/dist/core/tracing/collector.d.ts +111 -0
  106. package/dist/core/tracing/collector.d.ts.map +1 -0
  107. package/dist/core/tracing/collector.js +338 -0
  108. package/dist/core/tracing/collector.js.map +1 -0
  109. package/dist/core/tracing/visualizer.d.ts +32 -0
  110. package/dist/core/tracing/visualizer.d.ts.map +1 -0
  111. package/dist/core/tracing/visualizer.js +165 -0
  112. package/dist/core/tracing/visualizer.js.map +1 -0
  113. package/dist/drizzle/schema-sqlite.d.ts +384 -0
  114. package/dist/drizzle/schema-sqlite.d.ts.map +1 -1
  115. package/dist/drizzle/schema-sqlite.js +65 -0
  116. package/dist/drizzle/schema-sqlite.js.map +1 -1
  117. package/dist/drizzle/schema.d.ts +368 -0
  118. package/dist/drizzle/schema.d.ts.map +1 -1
  119. package/dist/drizzle/schema.js +63 -0
  120. package/dist/drizzle/schema.js.map +1 -1
  121. package/dist/index.d.ts +4 -4
  122. package/dist/index.js +101 -62
  123. package/dist/index.js.map +1 -1
  124. package/generated/mcp/manifest.json +23 -0
  125. package/generated/mcp/mcp-servers.json +25 -0
  126. package/generated/mcp/mcporter.json +34 -0
  127. package/generated/mcp/openclaw-memory-qmd.json +17 -0
  128. package/generated/mcp/runtime.json +12 -0
  129. package/package.json +50 -9
  130. package/packages/plugin-claude-code/README.md +73 -0
  131. package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts +35 -0
  132. package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts.map +1 -0
  133. package/packages/plugin-claude-code/dist/plugin-wrapper.js +191 -0
  134. package/packages/plugin-claude-code/dist/plugin-wrapper.js.map +1 -0
  135. package/packages/plugin-claude-code/package.json +31 -0
  136. package/packages/plugin-openclaw/README.md +70 -0
  137. package/packages/plugin-openclaw/dist/index.d.ts +49 -0
  138. package/packages/plugin-openclaw/dist/index.d.ts.map +1 -0
  139. package/packages/plugin-openclaw/dist/index.js +262 -0
  140. package/packages/plugin-openclaw/dist/index.js.map +1 -0
  141. package/packages/plugin-openclaw/openclaw.plugin.json +94 -0
  142. package/packages/plugin-openclaw/package.json +31 -0
  143. package/packages/plugin-opencode/install.mjs +217 -0
  144. package/packages/plugin-opencode/package.json +21 -0
  145. package/scripts/dependency-manager.mjs +217 -0
  146. package/scripts/detect-clients.mjs +78 -0
  147. package/scripts/install-interactive.mjs +674 -0
  148. package/scripts/install-plugin.mjs +415 -0
  149. package/scripts/test-interactive.mjs +131 -0
  150. package/commands/managed-sync.ts +0 -69
  151. package/commands/mcp-server.ts +0 -519
  152. package/dist/algorithms/merge/analytics/token-estimator.d.ts.map +0 -1
  153. package/dist/algorithms/merge/analytics/token-estimator.js.map +0 -1
  154. package/dist/algorithms/merge/detection/hash-filters.d.ts.map +0 -1
  155. package/dist/algorithms/merge/detection/hash-filters.js.map +0 -1
  156. package/dist/algorithms/merge/detection/semantic-ranker.d.ts.map +0 -1
  157. package/dist/algorithms/merge/detection/semantic-ranker.js.map +0 -1
  158. package/dist/algorithms/merge/detection/two-stage-detector.d.ts.map +0 -1
  159. package/dist/algorithms/merge/detection/two-stage-detector.js.map +0 -1
  160. package/dist/algorithms/merge/handlers/approve-merge.d.ts.map +0 -1
  161. package/dist/algorithms/merge/handlers/approve-merge.js.map +0 -1
  162. package/dist/algorithms/merge/handlers/detect-duplicates.d.ts.map +0 -1
  163. package/dist/algorithms/merge/handlers/detect-duplicates.js.map +0 -1
  164. package/dist/algorithms/merge/handlers/get-stats.d.ts.map +0 -1
  165. package/dist/algorithms/merge/handlers/get-stats.js.map +0 -1
  166. package/dist/algorithms/merge/handlers/list-proposals.d.ts.map +0 -1
  167. package/dist/algorithms/merge/handlers/list-proposals.js.map +0 -1
  168. package/dist/algorithms/merge/handlers/preview-merge.d.ts.map +0 -1
  169. package/dist/algorithms/merge/handlers/preview-merge.js.map +0 -1
  170. package/dist/algorithms/merge/handlers/reject-merge.d.ts.map +0 -1
  171. package/dist/algorithms/merge/handlers/reject-merge.js.map +0 -1
  172. package/dist/algorithms/merge/handlers/reverse-merge.d.ts.map +0 -1
  173. package/dist/algorithms/merge/handlers/reverse-merge.js.map +0 -1
  174. package/dist/algorithms/merge/safety/safety-checks.d.ts.map +0 -1
  175. package/dist/algorithms/merge/safety/safety-checks.js +0 -215
  176. package/dist/algorithms/merge/safety/safety-checks.js.map +0 -1
  177. package/dist/algorithms/merge/strategies/merge-strategies.d.ts.map +0 -1
  178. package/dist/algorithms/merge/strategies/merge-strategies.js.map +0 -1
  179. package/dist/core/embeddings/qmd-provider.d.ts +0 -65
  180. package/dist/core/embeddings/qmd-provider.d.ts.map +0 -1
  181. package/dist/core/embeddings/qmd-provider.js +0 -133
  182. package/dist/core/embeddings/qmd-provider.js.map +0 -1
  183. package/scripts/init-dirs.ts +0 -15
  184. /package/dist/algorithms/{merge/detection → detection}/hash-filters.d.ts +0 -0
  185. /package/dist/algorithms/{merge/detection → detection}/hash-filters.js +0 -0
  186. /package/dist/algorithms/{merge/handlers → handlers}/approve-merge.d.ts +0 -0
  187. /package/dist/algorithms/{merge/handlers → handlers}/get-stats.d.ts +0 -0
  188. /package/dist/algorithms/{merge/handlers → handlers}/list-proposals.d.ts +0 -0
  189. /package/dist/algorithms/{merge/handlers → handlers}/preview-merge.d.ts +0 -0
  190. /package/dist/algorithms/{merge/handlers → handlers}/reject-merge.d.ts +0 -0
  191. /package/dist/algorithms/{merge/handlers → handlers}/reverse-merge.d.ts +0 -0
  192. /package/dist/algorithms/{merge/strategies → strategies}/merge-strategies.js +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,74 @@
2
2
 
3
3
  All notable changes to Squish will be documented in this file.
4
4
 
5
+ ## [1.0.0] - 2026-03-17
6
+
7
+ ### 🚀 Major Release - Universal Plugin Architecture
8
+
9
+ #### Added - Interactive Multi-Step Wizard Installer
10
+ - **Beautiful CLI Wizard** with 5-step installation flow using `@clack/prompts`
11
+ - Step 1: Component Selection (CLI, MCP Server, AI Agent Plugins)
12
+ - Step 2: Plugin Selection (Claude Code, OpenClaw, Cursor, etc.)
13
+ - Step 3: Configuration (Local/Remote mode, Embeddings provider)
14
+ - Step 4: Review Summary with visual confirmation
15
+ - Step 5: Automated installation with progress spinners
16
+ - **Quick Install Mode**: `bun run install:interactive --quick` for CLI + all plugins
17
+ - **Dry-run support**: Preview installations without making changes
18
+ - **Configuration persistence**: Saves settings to `~/.squish/config.json`
19
+
20
+ #### Added - Universal Plugin Architecture
21
+ - **Multi-client support**: Works with Claude Code, OpenClaw, OpenCode, Codex, Cursor, VS Code, Windsurf
22
+ - **Plugin types**: Hooks (Claude Code), Plugin-slot (OpenClaw), MCP (all others)
23
+ - **Auto-detection**: Detects which AI agents are already installed
24
+ - **Source indicators**: Shows which plugins have source code available (📦)
25
+
26
+ #### Added - Core Infrastructure
27
+ - **Search Tracing System**: Debug and performance analysis for searches
28
+ - `core/tracing/collector.ts` - Collects search traces
29
+ - `core/tracing/visualizer.ts` - Visualizes trace data
30
+ - New MCP tools: `squish_get_search_traces`, `squish_get_trace_by_id`
31
+ - **Namespace Support**: Hierarchical memory organization
32
+ - `core/namespaces/index.ts` - Namespace management
33
+ - `core/namespaces/uri-parser.ts` - URI parsing for namespaces
34
+ - **Memory Layers (L0/L1/L2)**: Token-efficient retrieval
35
+ - `core/layers/generator.ts` - Generates memory layers
36
+ - **Self-Iteration Job**: Conversation memory extraction
37
+ - `core/session-hooks/self-iteration-job.ts` - Extracts memories from conversations
38
+ - `core/session-hooks/session-hooks.ts` - Session lifecycle hooks
39
+ - **Database Schema Updates**:
40
+ - Added `namespaces` table
41
+ - Added `memory_layers` table
42
+ - Added `search_traces` table
43
+
44
+ #### Fixed - Dependencies
45
+ - **qmd package**: Fixed from non-existent `qmd@0.15.1` to `@tobilu/qmd@2.0.1`
46
+ - **mcporter version**: Updated from `1.2.0` to `0.7.3` (matches installed version)
47
+ - **Scoped package support**: Dependency manager now handles `@scope/package` names
48
+ - **Binary detection**: Properly maps scoped packages to their binary names
49
+
50
+ #### Changed - Code Organization
51
+ - **Refactored CLI**: Improved imports and removed duplicates in `index.ts`
52
+ - **Safety Checks**: Better helper functions for algorithm validation
53
+ - **Response Builder**: Unified response builder for algorithm handlers
54
+ - **Config Validation**: Fixed provider validation logic
55
+ - **Association SQL**: Fixed placeholder issues in SQL queries
56
+ - **Directory Reorganization**: Renamed `core/sessions/` to `core/session-hooks/` for clarity
57
+ - Session lifecycle hooks now in dedicated directory
58
+ - Separates session auto-load (`core/session/`) from hooks/jobs (`core/session-hooks/`)
59
+
60
+ #### Documentation
61
+ - **Interactive Installer Guide**: Complete docs for wizard usage
62
+ - **Plugin Architecture**: Documentation for universal plugin system
63
+ - **Installation Guide**: Quick-start for all supported AI agents
64
+
65
+ ### Breaking Changes
66
+ None - fully backward compatible with 0.9.x
67
+
68
+ ### Migration Notes
69
+ - Run `bun run install:interactive` to use the new wizard
70
+ - Existing installations continue to work without changes
71
+ - Configuration automatically migrated on first run
72
+
5
73
  ## [0.9.3] - 2026-03-14
6
74
 
7
75
  ### Added - Core Memory & Embeddings Improvements (v0.9.2+)
package/README.md CHANGED
@@ -73,14 +73,26 @@ Agent Action -----> [Squish Memory Layer]
73
73
 
74
74
  ## Quick Start
75
75
 
76
- ### For Claude Code (Plugin)
76
+ ### Universal Plugin Installer (Recommended)
77
+ ```bash
78
+ # Install for your AI assistant(s)
79
+ npx squish-memory install-plugin --client=claude-code # Claude Code
80
+ npx squish-memory install-plugin --client=openclaw # OpenClaw
81
+ npx squish-memory install-plugin --client=opencode # OpenCode
82
+ npx squish-memory install-plugin --client=all # All supported clients
83
+
84
+ # Verify installation
85
+ npx squish-memory install-plugin --client=claude-code --verify
86
+ ```
87
+
88
+ ### For Claude Code (Plugin) - Legacy Method
77
89
  ```bash
78
90
  # Install from marketplace
79
91
  /plugin marketplace add https://github.com/michielhdoteth/squish.git
80
92
  /plugin install squish@michielhdoteth-squish
81
93
  ```
82
94
 
83
- ### For OpenClaw (npm)
95
+ ### For OpenClaw (npm) - Legacy Method
84
96
  ```bash
85
97
  npm install -g squish-memory
86
98
  ```
@@ -128,6 +140,50 @@ curl "http://localhost:3000/api/memories/search?q=TypeScript"
128
140
  - **Transport Agnostic**: MCP (stdio/SSE), CLI, or HTTP/WebSocket - choose your preference
129
141
  - **Storage Flexible**: SQLite for local, PostgreSQL for team deployments
130
142
 
143
+ ## Universal Plugin Architecture
144
+
145
+ Squish now provides a **universal plugin system** that works as a plugin across all major AI assistant frameworks through a single manifest-driven installer.
146
+
147
+ ### How It Works
148
+ 1. Single `plugin-manifest.json` defines the plugin for all clients
149
+ 2. `npx squish-memory install-plugin --client=<target>` handles installation
150
+ 3. Auto-installs dependencies (mcporter, qmd) with pinned versions
151
+ 4. Generates client-specific configurations automatically
152
+ 5. Provides unified verification and troubleshooting
153
+
154
+ ### Supported Clients
155
+ | Client | Installation Method | Status |
156
+ |--------|-------------------|---------|
157
+ | Claude Code | Plugin hooks (.claude-plugin/) | ✅ Stable |
158
+ | OpenClaw | Memory slot via MCP bridge | ✅ Stable |
159
+ | OpenCode | MCP server config | ✅ Stable |
160
+ | Codex | MCP server config | ✅ Stable |
161
+ | Cursor | MCP server config | ✅ Beta |
162
+ | VS Code | MCP server config | ✅ Beta |
163
+ | Windsurf | MCP server config | ✅ Beta |
164
+
165
+ ### Quick Installation Examples
166
+ ```bash
167
+ # Install for Claude Code (recommended for Claude users)
168
+ npx squish-memory install-plugin --client=claude-code --verify
169
+
170
+ # Install for OpenClaw (recommended for OpenClaw users)
171
+ npx squish-memory install-plugin --client=openclaw --verify
172
+
173
+ # Install for all supported clients
174
+ npx squish-memory install-plugin --client=all --verify
175
+
176
+ # Install for multiple specific clients
177
+ npx squish-memory install-plugin --client=claude-code,openclaw,opencode --verify
178
+ ```
179
+
180
+ ### Benefits
181
+ - **One manifest to rule them all**: Single source of truth
182
+ - **Zero manual configuration**: Automatic dependency installation
183
+ - **Version pinned dependencies**: Stable, reproducible builds
184
+ - **Unified verification**: One command to check all clients
185
+ - **Backward compatible**: Existing integrations still work
186
+
131
187
  ## Universal API
132
188
 
133
189
  Squish now provides a universal HTTP API that works with any AI agent:
@@ -0,0 +1,152 @@
1
+ {
2
+ "id": "squish-memory",
3
+ "name": "Squish Memory",
4
+ "version": "1.0.0",
5
+ "description": "Universal two-tier memory system for AI agents with hybrid search, core memory, and MCP-first architecture",
6
+ "capabilities": ["mcp", "cli", "web"],
7
+ "targets": {
8
+ "claude-code": {
9
+ "type": "hooks",
10
+ "hooks": ["SessionStart", "UserPromptSubmit", "PostToolUse", "SessionEnd"],
11
+ "install": {
12
+ "copy": [
13
+ { "from": ".claude-plugin/plugin.json", "to": "~/.claude/plugin.json" }
14
+ ]
15
+ },
16
+ "verify": {
17
+ "fileExists": "~/.claude/plugin.json",
18
+ "toolCheck": "squish_health"
19
+ }
20
+ },
21
+ "openclaw": {
22
+ "type": "plugin-slot",
23
+ "slot": "memory",
24
+ "tools": ["memory_search", "memory_get"],
25
+ "install": {
26
+ "command": "node scripts/openclaw-bootstrap.mjs --skip-tool-check"
27
+ },
28
+ "verify": {
29
+ "fileExists": "~/.openclaw/openclaw-memory.json",
30
+ "toolCheck": "memory_search"
31
+ }
32
+ },
33
+ "opencode": {
34
+ "type": "mcp",
35
+ "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
36
+ "install": {
37
+ "copy": [
38
+ { "from": "generated/mcp/mcp-servers.json", "to": "~/.config/opencode/mcp-servers.json" }
39
+ ]
40
+ },
41
+ "verify": {
42
+ "fileExists": "~/.config/opencode/mcp-servers.json",
43
+ "toolCheck": "squish_health"
44
+ }
45
+ },
46
+ "codex": {
47
+ "type": "mcp",
48
+ "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
49
+ "install": {
50
+ "copy": [
51
+ { "from": "generated/mcp/mcp-servers.json", "to": "~/.codex/mcp-servers.json" }
52
+ ]
53
+ },
54
+ "verify": {
55
+ "fileExists": "~/.codex/mcp-servers.json",
56
+ "toolCheck": "squish_health"
57
+ }
58
+ },
59
+ "cursor": {
60
+ "type": "mcp",
61
+ "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
62
+ "install": {
63
+ "copy": [
64
+ { "from": "generated/mcp/mcp-servers.json", "to": "~/.cursor/mcp.json" }
65
+ ]
66
+ },
67
+ "verify": {
68
+ "fileExists": "~/.cursor/mcp.json",
69
+ "toolCheck": "squish_health"
70
+ }
71
+ },
72
+ "vscode": {
73
+ "type": "mcp",
74
+ "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
75
+ "install": {
76
+ "copy": [
77
+ { "from": "generated/mcp/mcp-servers.json", "to": "~/.vscode/mcp/servers.json" }
78
+ ]
79
+ },
80
+ "verify": {
81
+ "fileExists": "~/.vscode/mcp/servers.json",
82
+ "toolCheck": "squish_health"
83
+ }
84
+ },
85
+ "windsurf": {
86
+ "type": "mcp",
87
+ "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
88
+ "install": {
89
+ "copy": [
90
+ { "from": "generated/mcp/mcp-servers.json", "to": "~/.windsurf/mcp-servers.json" }
91
+ ]
92
+ },
93
+ "verify": {
94
+ "fileExists": "~/.windsurf/mcp-servers.json",
95
+ "toolCheck": "squish_health"
96
+ }
97
+ }
98
+ },
99
+ "dependencies": {
100
+ "mcporter": {
101
+ "version": "0.7.3",
102
+ "autoInstall": true,
103
+ "optional": false,
104
+ "provides": ["mcp-bridge", "openclaw-memory"]
105
+ },
106
+ "@tobilu/qmd": {
107
+ "version": "2.0.1",
108
+ "autoInstall": true,
109
+ "optional": false,
110
+ "provides": ["fast-search", "bm25", "vector-search"]
111
+ }
112
+ },
113
+ "auth": {
114
+ "modes": ["none", "token"],
115
+ "default": "none",
116
+ "token": {
117
+ "envVar": "SQUISH_REMOTE_TOKEN",
118
+ "help": "Set SQUISH_REMOTE_TOKEN for remote mode authentication"
119
+ }
120
+ },
121
+ "pinning": {
122
+ "mcporter": "0.7.3",
123
+ "@tobilu/qmd": "2.0.1",
124
+ "@modelcontextprotocol/sdk": "1.27.1"
125
+ },
126
+ "entry": {
127
+ "mcp": "dist/commands/mcp-server.cjs",
128
+ "cli": "dist/index.js",
129
+ "plugin": "packages/plugin-openclaw/dist/index.js"
130
+ },
131
+ "compatibility": {
132
+ "minNodeVersion": "18.0.0",
133
+ "clients": [
134
+ { "id": "claude-code", "minVersion": "0.62.0" },
135
+ { "id": "openclaw", "minVersion": "2026.2.15" },
136
+ { "id": "opencode", "minVersion": "0.1.0" },
137
+ { "id": "codex", "minVersion": "0.1.0" },
138
+ { "id": "cursor", "minVersion": "0.45.0" },
139
+ { "id": "vscode-mcp", "minVersion": "1.0.0" },
140
+ { "id": "windsurf", "minVersion": "0.1.0" }
141
+ ]
142
+ },
143
+ "healthCheck": {
144
+ "mcpTool": "squish_health",
145
+ "httpEndpoint": "/health"
146
+ },
147
+ "generated": {
148
+ "from": "config/plugin-manifest.json",
149
+ "generator": "squish-memory@1.0.0",
150
+ "timestamp": "2026-01-17T00:00:00.000Z"
151
+ }
152
+ }
@@ -0,0 +1,244 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Squish Universal Plugin Manifest",
4
+ "description": "Universal plugin manifest for Squish memory system across all AI assistant clients",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "id",
9
+ "name",
10
+ "version",
11
+ "description",
12
+ "capabilities",
13
+ "targets",
14
+ "dependencies",
15
+ "auth"
16
+ ],
17
+ "properties": {
18
+ "id": {
19
+ "type": "string",
20
+ "pattern": "^@squish/(memory|plugin)-[a-z0-9-]+$",
21
+ "description": "Unique plugin identifier in @squish/ scope"
22
+ },
23
+ "name": {
24
+ "type": "string",
25
+ "minLength": 1,
26
+ "description": "Human-readable plugin name"
27
+ },
28
+ "version": {
29
+ "type": "string",
30
+ "pattern": "^\\d+\\.\\d+\\.\\d+$",
31
+ "description": "Semantic version (major.minor.patch)"
32
+ },
33
+ "description": {
34
+ "type": "string",
35
+ "minLength": 10,
36
+ "description": "Short description of the plugin"
37
+ },
38
+ "capabilities": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "string",
42
+ "enum": ["mcp", "cli", "web", "hooks"]
43
+ },
44
+ "minItems": 1,
45
+ "description": "What capabilities this plugin provides"
46
+ },
47
+ "targets": {
48
+ "type": "object",
49
+ "additionalProperties": {
50
+ "type": "object",
51
+ "required": ["type"],
52
+ "properties": {
53
+ "type": {
54
+ "type": "string",
55
+ "enum": ["mcp", "hooks", "plugin-slot"]
56
+ },
57
+ "slot": {
58
+ "type": "string",
59
+ "description": "Plugin slot name (for plugin-slot type)"
60
+ },
61
+ "tools": {
62
+ "type": "array",
63
+ "items": { "type": "string" },
64
+ "description": "List of tools this plugin exposes (for mcp type)"
65
+ },
66
+ "hooks": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "string",
70
+ "enum": [
71
+ "SessionStart",
72
+ "UserPromptSubmit",
73
+ "PostToolUse",
74
+ "SessionEnd",
75
+ "onInstall"
76
+ ]
77
+ },
78
+ "description": "List of hooks to register (for hooks type)"
79
+ },
80
+ "configPath": {
81
+ "type": "string",
82
+ "description": "Relative path to client config file"
83
+ },
84
+ "install": {
85
+ "type": "object",
86
+ "properties": {
87
+ "copy": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "object",
91
+ "required": ["from", "to"],
92
+ "properties": {
93
+ "from": { "type": "string" },
94
+ "to": { "type": "string" }
95
+ }
96
+ }
97
+ },
98
+ "merge": {
99
+ "type": "object",
100
+ "properties": {
101
+ "file": { "type": "string" },
102
+ "strategy": { "type": "string", "enum": ["deep-merge", "replace"] }
103
+ }
104
+ },
105
+ "command": {
106
+ "type": "string",
107
+ "description": "Custom install command to run"
108
+ }
109
+ }
110
+ },
111
+ "verify": {
112
+ "type": "object",
113
+ "properties": {
114
+ "command": { "type": "string" },
115
+ "fileExists": { "type": "string" },
116
+ "toolCheck": { "type": "string" }
117
+ }
118
+ }
119
+ }
120
+ },
121
+ "minProperties": 1,
122
+ "description": "Client-specific configurations"
123
+ },
124
+ "dependencies": {
125
+ "type": "object",
126
+ "additionalProperties": {
127
+ "type": "object",
128
+ "required": ["version", "autoInstall"],
129
+ "properties": {
130
+ "version": {
131
+ "type": "string",
132
+ "description": "Pinned version (e.g., '1.2.0')"
133
+ },
134
+ "autoInstall": {
135
+ "type": "boolean",
136
+ "description": "Whether to auto-install if missing"
137
+ },
138
+ "optional": {
139
+ "type": "boolean",
140
+ "default": false,
141
+ "description": "Whether this dependency is optional"
142
+ },
143
+ "provides": {
144
+ "type": "array",
145
+ "items": { "type": "string" },
146
+ "description": "List of capabilities this dependency provides"
147
+ }
148
+ }
149
+ },
150
+ "description": "Runtime dependencies with version pinning"
151
+ },
152
+ "auth": {
153
+ "type": "object",
154
+ "required": ["modes", "default"],
155
+ "properties": {
156
+ "modes": {
157
+ "type": "array",
158
+ "items": {
159
+ "type": "string",
160
+ "enum": ["none", "token", "oauth"]
161
+ },
162
+ "minItems": 1,
163
+ "description": "Supported authentication modes"
164
+ },
165
+ "default": {
166
+ "type": "string",
167
+ "enum": ["none", "token", "oauth"],
168
+ "description": "Default auth mode"
169
+ },
170
+ "token": {
171
+ "type": "object",
172
+ "properties": {
173
+ "envVar": { "type": "string" },
174
+ "help": { "type": "string" }
175
+ }
176
+ },
177
+ "oauth": {
178
+ "type": "object",
179
+ "properties": {
180
+ "providers": {
181
+ "type": "array",
182
+ "items": { "type": "string", "enum": ["github", "google", "anthropic"] }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ },
188
+ "pinning": {
189
+ "type": "object",
190
+ "additionalProperties": {
191
+ "type": "string"
192
+ },
193
+ "description": "Compatibility matrix for all dependencies"
194
+ },
195
+ "entry": {
196
+ "type": "object",
197
+ "properties": {
198
+ "mcp": {
199
+ "type": "string",
200
+ "description": "Path to MCP server entry point (for mcp capability)"
201
+ },
202
+ "plugin": {
203
+ "type": "string",
204
+ "description": "Path to plugin entry point (for plugin-slot type)"
205
+ },
206
+ "cli": {
207
+ "type": "string",
208
+ "description": "Path to CLI binary (for cli capability)"
209
+ }
210
+ }
211
+ },
212
+ "compatibility": {
213
+ "type": "object",
214
+ "properties": {
215
+ "minNodeVersion": { "type": "string" },
216
+ "maxNodeVersion": { "type": "string" },
217
+ "clients": {
218
+ "type": "array",
219
+ "items": {
220
+ "type": "object",
221
+ "properties": {
222
+ "id": { "type": "string" },
223
+ "minVersion": { "type": "string" },
224
+ "maxVersion": { "type": "string" }
225
+ }
226
+ }
227
+ }
228
+ }
229
+ },
230
+ "healthCheck": {
231
+ "type": "object",
232
+ "properties": {
233
+ "mcpTool": {
234
+ "type": "string",
235
+ "description": "Tool name to call for health check"
236
+ },
237
+ "httpEndpoint": {
238
+ "type": "string",
239
+ "description": "HTTP endpoint for health check"
240
+ }
241
+ }
242
+ }
243
+ }
244
+ }
@@ -2,7 +2,7 @@
2
2
  * Token estimation for calculating context window savings from merges.
3
3
  * Uses simple heuristic: 1 token ≈ 4 characters (can be upgraded to tiktoken for accuracy).
4
4
  */
5
- import type { Memory } from '../../../drizzle/schema.js';
5
+ import type { Memory } from '../../drizzle/schema.js';
6
6
  import type { MergedMemory } from '../strategies/merge-strategies.js';
7
7
  export declare function estimateTokensSaved(sources: Memory[], merged: MergedMemory): number;
8
8
  export declare function calculateProjectTokenSavings(projectId: string): Promise<{
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-estimator.d.ts","sourceRoot":"","sources":["../../../algorithms/analytics/token-estimator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAwDtE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAMnF;AAED,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC,CAuCD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAevD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GAAG,MAAM,CAkBT;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,YAAY,GACnB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAOlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAmBA"}
@@ -2,9 +2,9 @@
2
2
  * Token estimation for calculating context window savings from merges.
3
3
  * Uses simple heuristic: 1 token ≈ 4 characters (can be upgraded to tiktoken for accuracy).
4
4
  */
5
- import { getDb } from '../../../db/index.js';
6
- import { getSchema } from '../../../db/schema.js';
7
- import { createDatabaseClient } from '../../../core/database.js';
5
+ import { getDb } from '../../db/index.js';
6
+ import { getSchema } from '../../db/schema.js';
7
+ import { createDatabaseClient } from '../../core/database.js';
8
8
  import { eq } from 'drizzle-orm';
9
9
  function estimateTokensSimple(text) {
10
10
  if (!text)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-estimator.js","sourceRoot":"","sources":["../../../algorithms/analytics/token-estimator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-filters.d.ts","sourceRoot":"","sources":["../../../algorithms/detection/hash-filters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAM;IAEjC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAuCrC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOrD,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE;IAaX,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,QAAQ;CAQjB;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAK;IAE/B,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAuB5C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;IAmBzD,cAAc,CACZ,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC9B,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE;IAaX,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;CAU1B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACnC,OAAO,EAAE;IACP,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,mBAAmB,EAAE,CAiDvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-filters.js","sourceRoot":"","sources":["../../../algorithms/detection/hash-filters.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Semantic ranking using embeddings (Stage 2 of two-stage detection).
3
3
  * Ranks candidates from Stage 1 by semantic similarity using cosine distance.
4
4
  */
5
- import type { Memory } from '../../../drizzle/schema.js';
5
+ import type { Memory } from '../../drizzle/schema.js';
6
6
  export interface RankedCandidate {
7
7
  memoryId1: string;
8
8
  memoryId2: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-ranker.d.ts","sourceRoot":"","sources":["../../../algorithms/detection/semantic-ranker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;CACrB;AAwFD,wBAAsB,cAAc,CAClC,UAAU,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACjC,OAAO,EAAE;IACP,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,OAAO,CAAC,eAAe,EAAE,CAAC,CAqD5B;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAAE,GACnB;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAYA"}
@@ -2,7 +2,7 @@
2
2
  * Semantic ranking using embeddings (Stage 2 of two-stage detection).
3
3
  * Ranks candidates from Stage 1 by semantic similarity using cosine distance.
4
4
  */
5
- import { cosineSimilarity } from '../../../core/local-embeddings.js';
5
+ import { cosineSimilarity } from '../../core/local-embeddings.js';
6
6
  function calculateConfidence(memory1, memory2, cosineSim) {
7
7
  if (cosineSim >= 0.90) {
8
8
  const factors = calculateConfidenceFactors(memory1, memory2);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-ranker.js","sourceRoot":"","sources":["../../../algorithms/detection/semantic-ranker.ts"],"names":[],"mappings":"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"}