claude-memory-layer 1.0.10 → 1.0.12
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/AGENTS.md +60 -0
- package/README.md +166 -2
- package/bootstrap-kb/decisions/decisions.md +244 -0
- package/bootstrap-kb/glossary/glossary.md +46 -0
- package/bootstrap-kb/modules/.claude-plugin.md +22 -0
- package/bootstrap-kb/modules/agents.md.md +15 -0
- package/bootstrap-kb/modules/claude.md.md +15 -0
- package/bootstrap-kb/modules/context.md.md +15 -0
- package/bootstrap-kb/modules/docs.md +18 -0
- package/bootstrap-kb/modules/handoff.md.md +15 -0
- package/bootstrap-kb/modules/package-lock.json.md +15 -0
- package/bootstrap-kb/modules/package.json.md +15 -0
- package/bootstrap-kb/modules/plan.md.md +15 -0
- package/bootstrap-kb/modules/readme.md.md +15 -0
- package/bootstrap-kb/modules/scripts.md +26 -0
- package/bootstrap-kb/modules/spec.md.md +15 -0
- package/bootstrap-kb/modules/specs.md +20 -0
- package/bootstrap-kb/modules/src.md +51 -0
- package/bootstrap-kb/modules/tests.md +42 -0
- package/bootstrap-kb/modules/tsconfig.json.md +15 -0
- package/bootstrap-kb/modules/vitest.config.ts.md +15 -0
- package/bootstrap-kb/overview/overview.md +40 -0
- package/bootstrap-kb/sources/manifest.json +950 -0
- package/bootstrap-kb/sources/manifest.md +227 -0
- package/bootstrap-kb/timeline/timeline.md +57 -0
- package/d.sh +3 -0
- package/deploy.sh +3 -0
- package/dist/cli/index.js +3577 -389
- package/dist/cli/index.js.map +4 -4
- package/dist/core/index.js +1383 -138
- package/dist/core/index.js.map +4 -4
- package/dist/hooks/post-tool-use.js +1917 -214
- package/dist/hooks/post-tool-use.js.map +4 -4
- package/dist/hooks/session-end.js +1813 -231
- package/dist/hooks/session-end.js.map +4 -4
- package/dist/hooks/session-start.js +1802 -205
- package/dist/hooks/session-start.js.map +4 -4
- package/dist/hooks/stop.js +1909 -248
- package/dist/hooks/stop.js.map +4 -4
- package/dist/hooks/user-prompt-submit.js +1861 -206
- package/dist/hooks/user-prompt-submit.js.map +4 -4
- package/dist/server/api/index.js +2341 -217
- package/dist/server/api/index.js.map +4 -4
- package/dist/server/index.js +2350 -226
- package/dist/server/index.js.map +4 -4
- package/dist/services/memory-service.js +1805 -206
- package/dist/services/memory-service.js.map +4 -4
- package/dist/ui/app.js +1447 -55
- package/dist/ui/index.html +318 -147
- package/dist/ui/style.css +892 -0
- package/docs/MCP_MEMORY_SERVICE_COMPARATIVE_REVIEW.md +271 -0
- package/docs/MEMU_ADOPTION.md +40 -0
- package/docs/OPERATIONS.md +18 -0
- package/memory/.claude-plugin/commands/2026-02-25.md +263 -0
- package/memory/_index.md +405 -0
- package/memory/default/uncategorized/2026-02-25.md +4839 -0
- package/memory/specs/20260207-dashboard-upgrade/2026-02-25.md +142 -0
- package/memory/specs/citations-system/2026-02-25.md +1121 -0
- package/memory/specs/endless-mode/2026-02-25.md +1392 -0
- package/memory/specs/entity-edge-model/2026-02-25.md +1263 -0
- package/memory/specs/evidence-aligner-v2/2026-02-25.md +1028 -0
- package/memory/specs/mcp-desktop-integration/2026-02-25.md +1334 -0
- package/memory/specs/post-tool-use-hook/2026-02-25.md +1164 -0
- package/memory/specs/private-tags/2026-02-25.md +1057 -0
- package/memory/specs/progressive-disclosure/2026-02-25.md +1436 -0
- package/memory/specs/task-entity-system/2026-02-25.md +924 -0
- package/memory/specs/vector-outbox-v2/2026-02-25.md +1510 -0
- package/memory/specs/web-viewer-ui/2026-02-25.md +1709 -0
- package/package.json +9 -2
- package/scripts/build.ts +6 -0
- package/scripts/fix-sync-gap.js +32 -0
- package/scripts/heartbeat-memory-orchestrator.sh +28 -0
- package/scripts/report-sync-gap.js +26 -0
- package/scripts/review-queue-auto-resolve.js +21 -0
- package/scripts/sync-gap-auto-heal.sh +17 -0
- package/specs/20260207-dashboard-upgrade/context.md +38 -0
- package/specs/20260207-dashboard-upgrade/spec.md +96 -0
- package/src/cli/index.ts +391 -60
- package/src/core/consolidated-store.ts +63 -1
- package/src/core/consolidation-worker.ts +115 -6
- package/src/core/event-store.ts +14 -0
- package/src/core/index.ts +1 -0
- package/src/core/ingest-interceptor.ts +80 -0
- package/src/core/markdown-mirror.ts +70 -0
- package/src/core/md-mirror.ts +92 -0
- package/src/core/mongo-sync-config.ts +165 -0
- package/src/core/mongo-sync-worker.ts +381 -0
- package/src/core/retriever.ts +540 -150
- package/src/core/sqlite-event-store.ts +794 -7
- package/src/core/sqlite-wrapper.ts +8 -0
- package/src/core/tag-taxonomy.ts +51 -0
- package/src/core/turn-state.ts +159 -0
- package/src/core/types.ts +51 -8
- package/src/core/vector-store.ts +21 -3
- package/src/hooks/post-tool-use.ts +68 -23
- package/src/hooks/session-end.ts +8 -3
- package/src/hooks/stop.ts +96 -25
- package/src/hooks/user-prompt-submit.ts +44 -5
- package/src/server/api/chat.ts +244 -0
- package/src/server/api/citations.ts +3 -3
- package/src/server/api/events.ts +30 -5
- package/src/server/api/health.ts +53 -0
- package/src/server/api/index.ts +9 -1
- package/src/server/api/projects.ts +74 -0
- package/src/server/api/search.ts +3 -3
- package/src/server/api/sessions.ts +3 -3
- package/src/server/api/stats.ts +89 -8
- package/src/server/api/turns.ts +143 -0
- package/src/server/api/utils.ts +46 -0
- package/src/services/bootstrap-organizer.ts +443 -0
- package/src/services/codex-session-history-importer.ts +474 -0
- package/src/services/memory-service.ts +508 -71
- package/src/services/session-history-importer.ts +215 -51
- package/src/ui/app.js +1447 -55
- package/src/ui/index.html +318 -147
- package/src/ui/style.css +892 -0
- package/tests/bootstrap-organizer.test.ts +111 -0
- package/tests/consolidation-worker.test.ts +75 -0
- package/tests/ingest-interceptor.test.ts +38 -0
- package/tests/markdown-mirror.test.ts +85 -0
- package/tests/md-mirror.test.ts +50 -0
- package/tests/retriever-fallback-chain.test.ts +223 -0
- package/tests/retriever-strategy-scope.test.ts +97 -0
- package/tests/retriever.memu-adoption.test.ts +122 -0
- package/tests/sqlite-event-store-replication.test.ts +92 -0
- package/.claude/settings.local.json +0 -27
- package/.claude-memory/test.sqlite +0 -0
- package/.history/package_20260201112328.json +0 -45
- package/.history/package_20260201113602.json +0 -45
- package/.history/package_20260201113713.json +0 -45
- package/.history/package_20260201114110.json +0 -45
- package/.history/package_20260201114632.json +0 -46
- package/.history/package_20260201133143.json +0 -45
- package/.history/package_20260201134319.json +0 -45
- package/.history/package_20260201134326.json +0 -45
- package/.history/package_20260201134334.json +0 -45
- package/.history/package_20260201134912.json +0 -45
- package/.history/package_20260201142928.json +0 -46
- package/.history/package_20260201192048.json +0 -47
- package/.history/package_20260202114053.json +0 -49
- package/.history/package_20260202121115.json +0 -49
- package/test_access.js +0 -49
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "claude-memory-layer",
|
|
3
|
-
"version": "1.0.6",
|
|
4
|
-
"description": "Claude Code plugin that learns from conversations to provide personalized assistance",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"code-memory": "dist/cli/index.js"
|
|
8
|
-
},
|
|
9
|
-
"type": "module",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsx scripts/build.ts",
|
|
12
|
-
"dev": "tsx src/cli/index.ts",
|
|
13
|
-
"test": "vitest",
|
|
14
|
-
"test:coverage": "vitest --coverage",
|
|
15
|
-
"lint": "eslint src/**/*.ts",
|
|
16
|
-
"typecheck": "tsc --noEmit"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [
|
|
19
|
-
"claude-code",
|
|
20
|
-
"plugin",
|
|
21
|
-
"memory",
|
|
22
|
-
"learning",
|
|
23
|
-
"personalization",
|
|
24
|
-
"context"
|
|
25
|
-
],
|
|
26
|
-
"author": "Buzzni",
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=18.0.0"
|
|
30
|
-
},
|
|
31
|
-
"dependencies": {
|
|
32
|
-
"@lancedb/lancedb": "^0.5.0",
|
|
33
|
-
"@xenova/transformers": "^2.17.0",
|
|
34
|
-
"commander": "^12.0.0",
|
|
35
|
-
"duckdb": "^0.10.0",
|
|
36
|
-
"zod": "^3.22.0"
|
|
37
|
-
},
|
|
38
|
-
"devDependencies": {
|
|
39
|
-
"@types/node": "^20.11.0",
|
|
40
|
-
"esbuild": "^0.20.0",
|
|
41
|
-
"tsx": "^4.7.0",
|
|
42
|
-
"typescript": "^5.4.0",
|
|
43
|
-
"vitest": "^1.4.0"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "claude-memory-layer",
|
|
3
|
-
"version": "1.0.7",
|
|
4
|
-
"description": "Claude Code plugin that learns from conversations to provide personalized assistance",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"claude-memory-layer": "dist/cli/index.js"
|
|
8
|
-
},
|
|
9
|
-
"type": "module",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsx scripts/build.ts",
|
|
12
|
-
"dev": "tsx src/cli/index.ts",
|
|
13
|
-
"test": "vitest",
|
|
14
|
-
"test:coverage": "vitest --coverage",
|
|
15
|
-
"lint": "eslint src/**/*.ts",
|
|
16
|
-
"typecheck": "tsc --noEmit"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [
|
|
19
|
-
"claude-code",
|
|
20
|
-
"plugin",
|
|
21
|
-
"memory",
|
|
22
|
-
"learning",
|
|
23
|
-
"personalization",
|
|
24
|
-
"context"
|
|
25
|
-
],
|
|
26
|
-
"author": "Buzzni",
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=18.0.0"
|
|
30
|
-
},
|
|
31
|
-
"dependencies": {
|
|
32
|
-
"@lancedb/lancedb": "^0.5.0",
|
|
33
|
-
"@xenova/transformers": "^2.17.0",
|
|
34
|
-
"commander": "^12.0.0",
|
|
35
|
-
"duckdb": "^0.10.0",
|
|
36
|
-
"hono": "^4.0.0",
|
|
37
|
-
"zod": "^3.22.0"
|
|
38
|
-
},
|
|
39
|
-
"devDependencies": {
|
|
40
|
-
"@types/node": "^20.11.0",
|
|
41
|
-
"esbuild": "^0.20.0",
|
|
42
|
-
"tsx": "^4.7.0",
|
|
43
|
-
"typescript": "^5.4.0",
|
|
44
|
-
"vitest": "^1.4.0"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "claude-memory-layer",
|
|
3
|
-
"version": "1.0.8",
|
|
4
|
-
"description": "Claude Code plugin that learns from conversations to provide personalized assistance",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"claude-memory-layer": "dist/cli/index.js"
|
|
8
|
-
},
|
|
9
|
-
"type": "module",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsx scripts/build.ts",
|
|
12
|
-
"dev": "tsx src/cli/index.ts",
|
|
13
|
-
"test": "vitest",
|
|
14
|
-
"test:coverage": "vitest --coverage",
|
|
15
|
-
"lint": "eslint src/**/*.ts",
|
|
16
|
-
"typecheck": "tsc --noEmit"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [
|
|
19
|
-
"claude-code",
|
|
20
|
-
"plugin",
|
|
21
|
-
"memory",
|
|
22
|
-
"learning",
|
|
23
|
-
"personalization",
|
|
24
|
-
"context"
|
|
25
|
-
],
|
|
26
|
-
"author": "Buzzni",
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=18.0.0"
|
|
30
|
-
},
|
|
31
|
-
"dependencies": {
|
|
32
|
-
"@hono/node-server": "^1.13.0",
|
|
33
|
-
"@lancedb/lancedb": "^0.5.0",
|
|
34
|
-
"@xenova/transformers": "^2.17.0",
|
|
35
|
-
"commander": "^12.0.0",
|
|
36
|
-
"duckdb": "^0.10.0",
|
|
37
|
-
"hono": "^4.0.0",
|
|
38
|
-
"zod": "^3.22.0"
|
|
39
|
-
},
|
|
40
|
-
"devDependencies": {
|
|
41
|
-
"@types/node": "^20.11.0",
|
|
42
|
-
"esbuild": "^0.20.0",
|
|
43
|
-
"tsx": "^4.7.0",
|
|
44
|
-
"typescript": "^5.4.0",
|
|
45
|
-
"vitest": "^1.4.0"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "claude-memory-layer",
|
|
3
|
-
"version": "1.0.9",
|
|
4
|
-
"description": "Claude Code plugin that learns from conversations to provide personalized assistance",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"claude-memory-layer": "dist/cli/index.js"
|
|
8
|
-
},
|
|
9
|
-
"type": "module",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsx scripts/build.ts",
|
|
12
|
-
"dev": "tsx src/cli/index.ts",
|
|
13
|
-
"test": "vitest",
|
|
14
|
-
"test:coverage": "vitest --coverage",
|
|
15
|
-
"lint": "eslint src/**/*.ts",
|
|
16
|
-
"typecheck": "tsc --noEmit"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [
|
|
19
|
-
"claude-code",
|
|
20
|
-
"plugin",
|
|
21
|
-
"memory",
|
|
22
|
-
"learning",
|
|
23
|
-
"personalization",
|
|
24
|
-
"context"
|
|
25
|
-
],
|
|
26
|
-
"author": "Buzzni",
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=18.0.0"
|
|
30
|
-
},
|
|
31
|
-
"dependencies": {
|
|
32
|
-
"@hono/node-server": "^1.13.0",
|
|
33
|
-
"@lancedb/lancedb": "^0.5.0",
|
|
34
|
-
"@xenova/transformers": "^2.17.0",
|
|
35
|
-
"better-sqlite3": "^12.6.2",
|
|
36
|
-
"commander": "^12.0.0",
|
|
37
|
-
"duckdb": "^0.10.0",
|
|
38
|
-
"hono": "^4.0.0",
|
|
39
|
-
"zod": "^3.22.0"
|
|
40
|
-
},
|
|
41
|
-
"devDependencies": {
|
|
42
|
-
"@types/better-sqlite3": "^7.6.13",
|
|
43
|
-
"@types/node": "^20.11.0",
|
|
44
|
-
"esbuild": "^0.20.0",
|
|
45
|
-
"tsx": "^4.7.0",
|
|
46
|
-
"typescript": "^5.4.0",
|
|
47
|
-
"vitest": "^1.4.0"
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "claude-memory-layer",
|
|
3
|
-
"version": "1.0.10",
|
|
4
|
-
"description": "Claude Code plugin that learns from conversations to provide personalized assistance",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"claude-memory-layer": "dist/cli/index.js"
|
|
8
|
-
},
|
|
9
|
-
"type": "module",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsx scripts/build.ts",
|
|
12
|
-
"dev": "tsx src/cli/index.ts",
|
|
13
|
-
"test": "vitest",
|
|
14
|
-
"test:coverage": "vitest --coverage",
|
|
15
|
-
"lint": "eslint src/**/*.ts",
|
|
16
|
-
"typecheck": "tsc --noEmit"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [
|
|
19
|
-
"claude-code",
|
|
20
|
-
"plugin",
|
|
21
|
-
"memory",
|
|
22
|
-
"learning",
|
|
23
|
-
"personalization",
|
|
24
|
-
"context"
|
|
25
|
-
],
|
|
26
|
-
"author": "Buzzni",
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=18.0.0"
|
|
30
|
-
},
|
|
31
|
-
"dependencies": {
|
|
32
|
-
"@hono/node-server": "^1.13.0",
|
|
33
|
-
"@lancedb/lancedb": "^0.5.0",
|
|
34
|
-
"@xenova/transformers": "^2.17.0",
|
|
35
|
-
"better-sqlite3": "^12.6.2",
|
|
36
|
-
"commander": "^12.0.0",
|
|
37
|
-
"duckdb": "^0.10.0",
|
|
38
|
-
"hono": "^4.0.0",
|
|
39
|
-
"zod": "^3.22.0"
|
|
40
|
-
},
|
|
41
|
-
"devDependencies": {
|
|
42
|
-
"@types/better-sqlite3": "^7.6.13",
|
|
43
|
-
"@types/node": "^20.11.0",
|
|
44
|
-
"esbuild": "^0.20.0",
|
|
45
|
-
"tsx": "^4.7.0",
|
|
46
|
-
"typescript": "^5.4.0",
|
|
47
|
-
"vitest": "^1.4.0"
|
|
48
|
-
}
|
|
49
|
-
}
|
package/test_access.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
const { SQLiteEventStore } = require('./dist/cli/index.js');
|
|
2
|
-
const path = require('path');
|
|
3
|
-
|
|
4
|
-
async function test() {
|
|
5
|
-
const dbPath = path.join(process.cwd(), '.claude-memory', 'test.sqlite');
|
|
6
|
-
const store = new SQLiteEventStore(dbPath);
|
|
7
|
-
|
|
8
|
-
await store.initialize();
|
|
9
|
-
|
|
10
|
-
// Add some test events
|
|
11
|
-
const event1 = {
|
|
12
|
-
eventType: 'user_prompt',
|
|
13
|
-
sessionId: 'test-session',
|
|
14
|
-
content: 'Test content about DuckDB implementation',
|
|
15
|
-
metadata: {}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const event2 = {
|
|
19
|
-
eventType: 'agent_response',
|
|
20
|
-
sessionId: 'test-session',
|
|
21
|
-
content: 'Response about memory tracking and access counts',
|
|
22
|
-
metadata: {}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const result1 = await store.append(event1);
|
|
26
|
-
const result2 = await store.append(event2);
|
|
27
|
-
|
|
28
|
-
console.log('Added events:', result1.eventId, result2.eventId);
|
|
29
|
-
|
|
30
|
-
// Now increment access counts
|
|
31
|
-
if (result1.eventId && result2.eventId) {
|
|
32
|
-
await store.incrementAccessCount([result1.eventId]);
|
|
33
|
-
await store.incrementAccessCount([result1.eventId]);
|
|
34
|
-
await store.incrementAccessCount([result2.eventId]);
|
|
35
|
-
|
|
36
|
-
console.log('Incremented access counts');
|
|
37
|
-
|
|
38
|
-
// Get most accessed
|
|
39
|
-
const mostAccessed = await store.getMostAccessed(5);
|
|
40
|
-
console.log('Most accessed events:');
|
|
41
|
-
mostAccessed.forEach(e => {
|
|
42
|
-
console.log(`- ${e.id}: ${e.access_count} accesses - ${e.content.substring(0, 50)}...`);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
await store.close();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
test().catch(console.error);
|