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.
- package/CHANGELOG.md +68 -0
- package/README.md +58 -2
- package/config/plugin-manifest.json +152 -0
- package/config/plugin-manifest.schema.json +244 -0
- package/dist/algorithms/{merge/analytics → analytics}/token-estimator.d.ts +1 -1
- package/dist/algorithms/analytics/token-estimator.d.ts.map +1 -0
- package/dist/algorithms/{merge/analytics → analytics}/token-estimator.js +3 -3
- package/dist/algorithms/analytics/token-estimator.js.map +1 -0
- package/dist/algorithms/detection/hash-filters.d.ts.map +1 -0
- package/dist/algorithms/detection/hash-filters.js.map +1 -0
- package/dist/algorithms/{merge/detection → detection}/semantic-ranker.d.ts +1 -1
- package/dist/algorithms/detection/semantic-ranker.d.ts.map +1 -0
- package/dist/algorithms/{merge/detection → detection}/semantic-ranker.js +1 -1
- package/dist/algorithms/detection/semantic-ranker.js.map +1 -0
- package/dist/algorithms/{merge/detection → detection}/two-stage-detector.d.ts +1 -1
- package/dist/algorithms/detection/two-stage-detector.d.ts.map +1 -0
- package/dist/algorithms/{merge/detection → detection}/two-stage-detector.js +4 -4
- package/dist/algorithms/detection/two-stage-detector.js.map +1 -0
- package/dist/algorithms/handlers/approve-merge.d.ts.map +1 -0
- package/dist/algorithms/{merge/handlers → handlers}/approve-merge.js +4 -4
- package/dist/algorithms/handlers/approve-merge.js.map +1 -0
- package/dist/algorithms/{merge/handlers → handlers}/detect-duplicates.d.ts +1 -1
- package/dist/algorithms/handlers/detect-duplicates.d.ts.map +1 -0
- package/dist/algorithms/{merge/handlers → handlers}/detect-duplicates.js +55 -75
- package/dist/algorithms/handlers/detect-duplicates.js.map +1 -0
- package/dist/algorithms/handlers/get-stats.d.ts.map +1 -0
- package/dist/algorithms/{merge/handlers → handlers}/get-stats.js +3 -3
- package/dist/algorithms/handlers/get-stats.js.map +1 -0
- package/dist/algorithms/handlers/list-proposals.d.ts.map +1 -0
- package/dist/algorithms/{merge/handlers → handlers}/list-proposals.js +3 -3
- package/dist/algorithms/handlers/list-proposals.js.map +1 -0
- package/dist/algorithms/handlers/preview-merge.d.ts.map +1 -0
- package/dist/algorithms/{merge/handlers → handlers}/preview-merge.js +3 -3
- package/dist/algorithms/handlers/preview-merge.js.map +1 -0
- package/dist/algorithms/handlers/reject-merge.d.ts.map +1 -0
- package/dist/algorithms/{merge/handlers → handlers}/reject-merge.js +3 -3
- package/dist/algorithms/handlers/reject-merge.js.map +1 -0
- package/dist/algorithms/handlers/reverse-merge.d.ts.map +1 -0
- package/dist/algorithms/{merge/handlers → handlers}/reverse-merge.js +3 -3
- package/dist/algorithms/handlers/reverse-merge.js.map +1 -0
- package/dist/algorithms/{merge/safety → safety}/safety-checks.d.ts +1 -1
- package/dist/algorithms/safety/safety-checks.d.ts.map +1 -0
- package/dist/algorithms/safety/safety-checks.js +179 -0
- package/dist/algorithms/safety/safety-checks.js.map +1 -0
- package/dist/algorithms/{merge/strategies → strategies}/merge-strategies.d.ts +1 -1
- package/dist/algorithms/strategies/merge-strategies.d.ts.map +1 -0
- package/dist/algorithms/strategies/merge-strategies.js.map +1 -0
- package/dist/algorithms/utils/response-builder.d.ts +28 -0
- package/dist/algorithms/utils/response-builder.d.ts.map +1 -0
- package/dist/algorithms/utils/response-builder.js +37 -0
- package/dist/algorithms/utils/response-builder.js.map +1 -0
- package/dist/api/web/web.d.ts.map +1 -1
- package/dist/api/web/web.js +0 -21
- package/dist/api/web/web.js.map +1 -1
- package/dist/commands/mcp-server.js +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -38
- package/dist/config.js.map +1 -1
- package/dist/core/associations.js +2 -2
- package/dist/core/associations.js.map +1 -1
- package/dist/core/layers/generator.d.ts +25 -0
- package/dist/core/layers/generator.d.ts.map +1 -0
- package/dist/core/layers/generator.js +76 -0
- package/dist/core/layers/generator.js.map +1 -0
- package/dist/core/mcp/tools.d.ts.map +1 -1
- package/dist/core/mcp/tools.js +71 -0
- package/dist/core/mcp/tools.js.map +1 -1
- package/dist/core/memory/hybrid-retrieval.d.ts.map +1 -1
- package/dist/core/memory/hybrid-retrieval.js +49 -1
- package/dist/core/memory/hybrid-retrieval.js.map +1 -1
- package/dist/core/memory/hybrid-search.d.ts.map +1 -1
- package/dist/core/memory/hybrid-search.js +0 -7
- package/dist/core/memory/hybrid-search.js.map +1 -1
- package/dist/core/memory/memories.d.ts.map +1 -1
- package/dist/core/memory/memories.js +47 -53
- package/dist/core/memory/memories.js.map +1 -1
- package/dist/core/memory/progressive-disclosure.d.ts.map +1 -1
- package/dist/core/memory/progressive-disclosure.js.map +1 -1
- package/dist/core/namespaces/index.d.ts +71 -0
- package/dist/core/namespaces/index.d.ts.map +1 -0
- package/dist/core/namespaces/index.js +296 -0
- package/dist/core/namespaces/index.js.map +1 -0
- package/dist/core/namespaces/uri-parser.d.ts +31 -0
- package/dist/core/namespaces/uri-parser.d.ts.map +1 -0
- package/dist/core/namespaces/uri-parser.js +74 -0
- package/dist/core/namespaces/uri-parser.js.map +1 -0
- package/dist/core/observations.d.ts.map +1 -1
- package/dist/core/observations.js +3 -12
- package/dist/core/observations.js.map +1 -1
- package/dist/core/projects.d.ts.map +1 -1
- package/dist/core/projects.js +0 -12
- package/dist/core/projects.js.map +1 -1
- package/dist/core/scheduler/cron-scheduler.d.ts.map +1 -1
- package/dist/core/scheduler/cron-scheduler.js +14 -0
- package/dist/core/scheduler/cron-scheduler.js.map +1 -1
- package/dist/core/session-hooks/self-iteration-job.d.ts +20 -0
- package/dist/core/session-hooks/self-iteration-job.d.ts.map +1 -0
- package/dist/core/session-hooks/self-iteration-job.js +278 -0
- package/dist/core/session-hooks/self-iteration-job.js.map +1 -0
- package/dist/core/session-hooks/session-hooks.d.ts +18 -0
- package/dist/core/session-hooks/session-hooks.d.ts.map +1 -0
- package/dist/core/session-hooks/session-hooks.js +55 -0
- package/dist/core/session-hooks/session-hooks.js.map +1 -0
- package/dist/core/tracing/collector.d.ts +111 -0
- package/dist/core/tracing/collector.d.ts.map +1 -0
- package/dist/core/tracing/collector.js +338 -0
- package/dist/core/tracing/collector.js.map +1 -0
- package/dist/core/tracing/visualizer.d.ts +32 -0
- package/dist/core/tracing/visualizer.d.ts.map +1 -0
- package/dist/core/tracing/visualizer.js +165 -0
- package/dist/core/tracing/visualizer.js.map +1 -0
- package/dist/drizzle/schema-sqlite.d.ts +384 -0
- package/dist/drizzle/schema-sqlite.d.ts.map +1 -1
- package/dist/drizzle/schema-sqlite.js +65 -0
- package/dist/drizzle/schema-sqlite.js.map +1 -1
- package/dist/drizzle/schema.d.ts +368 -0
- package/dist/drizzle/schema.d.ts.map +1 -1
- package/dist/drizzle/schema.js +63 -0
- package/dist/drizzle/schema.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +101 -62
- package/dist/index.js.map +1 -1
- package/generated/mcp/manifest.json +23 -0
- package/generated/mcp/mcp-servers.json +25 -0
- package/generated/mcp/mcporter.json +34 -0
- package/generated/mcp/openclaw-memory-qmd.json +17 -0
- package/generated/mcp/runtime.json +12 -0
- package/package.json +50 -9
- package/packages/plugin-claude-code/README.md +73 -0
- package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts +35 -0
- package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts.map +1 -0
- package/packages/plugin-claude-code/dist/plugin-wrapper.js +191 -0
- package/packages/plugin-claude-code/dist/plugin-wrapper.js.map +1 -0
- package/packages/plugin-claude-code/package.json +31 -0
- package/packages/plugin-openclaw/README.md +70 -0
- package/packages/plugin-openclaw/dist/index.d.ts +49 -0
- package/packages/plugin-openclaw/dist/index.d.ts.map +1 -0
- package/packages/plugin-openclaw/dist/index.js +262 -0
- package/packages/plugin-openclaw/dist/index.js.map +1 -0
- package/packages/plugin-openclaw/openclaw.plugin.json +94 -0
- package/packages/plugin-openclaw/package.json +31 -0
- package/packages/plugin-opencode/install.mjs +217 -0
- package/packages/plugin-opencode/package.json +21 -0
- package/scripts/dependency-manager.mjs +217 -0
- package/scripts/detect-clients.mjs +78 -0
- package/scripts/install-interactive.mjs +674 -0
- package/scripts/install-plugin.mjs +415 -0
- package/scripts/test-interactive.mjs +131 -0
- package/commands/managed-sync.ts +0 -69
- package/commands/mcp-server.ts +0 -519
- package/dist/algorithms/merge/analytics/token-estimator.d.ts.map +0 -1
- package/dist/algorithms/merge/analytics/token-estimator.js.map +0 -1
- package/dist/algorithms/merge/detection/hash-filters.d.ts.map +0 -1
- package/dist/algorithms/merge/detection/hash-filters.js.map +0 -1
- package/dist/algorithms/merge/detection/semantic-ranker.d.ts.map +0 -1
- package/dist/algorithms/merge/detection/semantic-ranker.js.map +0 -1
- package/dist/algorithms/merge/detection/two-stage-detector.d.ts.map +0 -1
- package/dist/algorithms/merge/detection/two-stage-detector.js.map +0 -1
- package/dist/algorithms/merge/handlers/approve-merge.d.ts.map +0 -1
- package/dist/algorithms/merge/handlers/approve-merge.js.map +0 -1
- package/dist/algorithms/merge/handlers/detect-duplicates.d.ts.map +0 -1
- package/dist/algorithms/merge/handlers/detect-duplicates.js.map +0 -1
- package/dist/algorithms/merge/handlers/get-stats.d.ts.map +0 -1
- package/dist/algorithms/merge/handlers/get-stats.js.map +0 -1
- package/dist/algorithms/merge/handlers/list-proposals.d.ts.map +0 -1
- package/dist/algorithms/merge/handlers/list-proposals.js.map +0 -1
- package/dist/algorithms/merge/handlers/preview-merge.d.ts.map +0 -1
- package/dist/algorithms/merge/handlers/preview-merge.js.map +0 -1
- package/dist/algorithms/merge/handlers/reject-merge.d.ts.map +0 -1
- package/dist/algorithms/merge/handlers/reject-merge.js.map +0 -1
- package/dist/algorithms/merge/handlers/reverse-merge.d.ts.map +0 -1
- package/dist/algorithms/merge/handlers/reverse-merge.js.map +0 -1
- package/dist/algorithms/merge/safety/safety-checks.d.ts.map +0 -1
- package/dist/algorithms/merge/safety/safety-checks.js +0 -215
- package/dist/algorithms/merge/safety/safety-checks.js.map +0 -1
- package/dist/algorithms/merge/strategies/merge-strategies.d.ts.map +0 -1
- package/dist/algorithms/merge/strategies/merge-strategies.js.map +0 -1
- package/dist/core/embeddings/qmd-provider.d.ts +0 -65
- package/dist/core/embeddings/qmd-provider.d.ts.map +0 -1
- package/dist/core/embeddings/qmd-provider.js +0 -133
- package/dist/core/embeddings/qmd-provider.js.map +0 -1
- package/scripts/init-dirs.ts +0 -15
- /package/dist/algorithms/{merge/detection → detection}/hash-filters.d.ts +0 -0
- /package/dist/algorithms/{merge/detection → detection}/hash-filters.js +0 -0
- /package/dist/algorithms/{merge/handlers → handlers}/approve-merge.d.ts +0 -0
- /package/dist/algorithms/{merge/handlers → handlers}/get-stats.d.ts +0 -0
- /package/dist/algorithms/{merge/handlers → handlers}/list-proposals.d.ts +0 -0
- /package/dist/algorithms/{merge/handlers → handlers}/preview-merge.d.ts +0 -0
- /package/dist/algorithms/{merge/handlers → handlers}/reject-merge.d.ts +0 -0
- /package/dist/algorithms/{merge/handlers → handlers}/reverse-merge.d.ts +0 -0
- /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
|
-
###
|
|
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 '
|
|
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 '
|
|
6
|
-
import { getSchema } from '
|
|
7
|
-
import { createDatabaseClient } from '
|
|
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 '
|
|
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 '
|
|
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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"}
|