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.
Files changed (142) hide show
  1. package/AGENTS.md +60 -0
  2. package/README.md +166 -2
  3. package/bootstrap-kb/decisions/decisions.md +244 -0
  4. package/bootstrap-kb/glossary/glossary.md +46 -0
  5. package/bootstrap-kb/modules/.claude-plugin.md +22 -0
  6. package/bootstrap-kb/modules/agents.md.md +15 -0
  7. package/bootstrap-kb/modules/claude.md.md +15 -0
  8. package/bootstrap-kb/modules/context.md.md +15 -0
  9. package/bootstrap-kb/modules/docs.md +18 -0
  10. package/bootstrap-kb/modules/handoff.md.md +15 -0
  11. package/bootstrap-kb/modules/package-lock.json.md +15 -0
  12. package/bootstrap-kb/modules/package.json.md +15 -0
  13. package/bootstrap-kb/modules/plan.md.md +15 -0
  14. package/bootstrap-kb/modules/readme.md.md +15 -0
  15. package/bootstrap-kb/modules/scripts.md +26 -0
  16. package/bootstrap-kb/modules/spec.md.md +15 -0
  17. package/bootstrap-kb/modules/specs.md +20 -0
  18. package/bootstrap-kb/modules/src.md +51 -0
  19. package/bootstrap-kb/modules/tests.md +42 -0
  20. package/bootstrap-kb/modules/tsconfig.json.md +15 -0
  21. package/bootstrap-kb/modules/vitest.config.ts.md +15 -0
  22. package/bootstrap-kb/overview/overview.md +40 -0
  23. package/bootstrap-kb/sources/manifest.json +950 -0
  24. package/bootstrap-kb/sources/manifest.md +227 -0
  25. package/bootstrap-kb/timeline/timeline.md +57 -0
  26. package/d.sh +3 -0
  27. package/deploy.sh +3 -0
  28. package/dist/cli/index.js +3577 -389
  29. package/dist/cli/index.js.map +4 -4
  30. package/dist/core/index.js +1383 -138
  31. package/dist/core/index.js.map +4 -4
  32. package/dist/hooks/post-tool-use.js +1917 -214
  33. package/dist/hooks/post-tool-use.js.map +4 -4
  34. package/dist/hooks/session-end.js +1813 -231
  35. package/dist/hooks/session-end.js.map +4 -4
  36. package/dist/hooks/session-start.js +1802 -205
  37. package/dist/hooks/session-start.js.map +4 -4
  38. package/dist/hooks/stop.js +1909 -248
  39. package/dist/hooks/stop.js.map +4 -4
  40. package/dist/hooks/user-prompt-submit.js +1861 -206
  41. package/dist/hooks/user-prompt-submit.js.map +4 -4
  42. package/dist/server/api/index.js +2341 -217
  43. package/dist/server/api/index.js.map +4 -4
  44. package/dist/server/index.js +2350 -226
  45. package/dist/server/index.js.map +4 -4
  46. package/dist/services/memory-service.js +1805 -206
  47. package/dist/services/memory-service.js.map +4 -4
  48. package/dist/ui/app.js +1447 -55
  49. package/dist/ui/index.html +318 -147
  50. package/dist/ui/style.css +892 -0
  51. package/docs/MCP_MEMORY_SERVICE_COMPARATIVE_REVIEW.md +271 -0
  52. package/docs/MEMU_ADOPTION.md +40 -0
  53. package/docs/OPERATIONS.md +18 -0
  54. package/memory/.claude-plugin/commands/2026-02-25.md +263 -0
  55. package/memory/_index.md +405 -0
  56. package/memory/default/uncategorized/2026-02-25.md +4839 -0
  57. package/memory/specs/20260207-dashboard-upgrade/2026-02-25.md +142 -0
  58. package/memory/specs/citations-system/2026-02-25.md +1121 -0
  59. package/memory/specs/endless-mode/2026-02-25.md +1392 -0
  60. package/memory/specs/entity-edge-model/2026-02-25.md +1263 -0
  61. package/memory/specs/evidence-aligner-v2/2026-02-25.md +1028 -0
  62. package/memory/specs/mcp-desktop-integration/2026-02-25.md +1334 -0
  63. package/memory/specs/post-tool-use-hook/2026-02-25.md +1164 -0
  64. package/memory/specs/private-tags/2026-02-25.md +1057 -0
  65. package/memory/specs/progressive-disclosure/2026-02-25.md +1436 -0
  66. package/memory/specs/task-entity-system/2026-02-25.md +924 -0
  67. package/memory/specs/vector-outbox-v2/2026-02-25.md +1510 -0
  68. package/memory/specs/web-viewer-ui/2026-02-25.md +1709 -0
  69. package/package.json +9 -2
  70. package/scripts/build.ts +6 -0
  71. package/scripts/fix-sync-gap.js +32 -0
  72. package/scripts/heartbeat-memory-orchestrator.sh +28 -0
  73. package/scripts/report-sync-gap.js +26 -0
  74. package/scripts/review-queue-auto-resolve.js +21 -0
  75. package/scripts/sync-gap-auto-heal.sh +17 -0
  76. package/specs/20260207-dashboard-upgrade/context.md +38 -0
  77. package/specs/20260207-dashboard-upgrade/spec.md +96 -0
  78. package/src/cli/index.ts +391 -60
  79. package/src/core/consolidated-store.ts +63 -1
  80. package/src/core/consolidation-worker.ts +115 -6
  81. package/src/core/event-store.ts +14 -0
  82. package/src/core/index.ts +1 -0
  83. package/src/core/ingest-interceptor.ts +80 -0
  84. package/src/core/markdown-mirror.ts +70 -0
  85. package/src/core/md-mirror.ts +92 -0
  86. package/src/core/mongo-sync-config.ts +165 -0
  87. package/src/core/mongo-sync-worker.ts +381 -0
  88. package/src/core/retriever.ts +540 -150
  89. package/src/core/sqlite-event-store.ts +794 -7
  90. package/src/core/sqlite-wrapper.ts +8 -0
  91. package/src/core/tag-taxonomy.ts +51 -0
  92. package/src/core/turn-state.ts +159 -0
  93. package/src/core/types.ts +51 -8
  94. package/src/core/vector-store.ts +21 -3
  95. package/src/hooks/post-tool-use.ts +68 -23
  96. package/src/hooks/session-end.ts +8 -3
  97. package/src/hooks/stop.ts +96 -25
  98. package/src/hooks/user-prompt-submit.ts +44 -5
  99. package/src/server/api/chat.ts +244 -0
  100. package/src/server/api/citations.ts +3 -3
  101. package/src/server/api/events.ts +30 -5
  102. package/src/server/api/health.ts +53 -0
  103. package/src/server/api/index.ts +9 -1
  104. package/src/server/api/projects.ts +74 -0
  105. package/src/server/api/search.ts +3 -3
  106. package/src/server/api/sessions.ts +3 -3
  107. package/src/server/api/stats.ts +89 -8
  108. package/src/server/api/turns.ts +143 -0
  109. package/src/server/api/utils.ts +46 -0
  110. package/src/services/bootstrap-organizer.ts +443 -0
  111. package/src/services/codex-session-history-importer.ts +474 -0
  112. package/src/services/memory-service.ts +508 -71
  113. package/src/services/session-history-importer.ts +215 -51
  114. package/src/ui/app.js +1447 -55
  115. package/src/ui/index.html +318 -147
  116. package/src/ui/style.css +892 -0
  117. package/tests/bootstrap-organizer.test.ts +111 -0
  118. package/tests/consolidation-worker.test.ts +75 -0
  119. package/tests/ingest-interceptor.test.ts +38 -0
  120. package/tests/markdown-mirror.test.ts +85 -0
  121. package/tests/md-mirror.test.ts +50 -0
  122. package/tests/retriever-fallback-chain.test.ts +223 -0
  123. package/tests/retriever-strategy-scope.test.ts +97 -0
  124. package/tests/retriever.memu-adoption.test.ts +122 -0
  125. package/tests/sqlite-event-store-replication.test.ts +92 -0
  126. package/.claude/settings.local.json +0 -27
  127. package/.claude-memory/test.sqlite +0 -0
  128. package/.history/package_20260201112328.json +0 -45
  129. package/.history/package_20260201113602.json +0 -45
  130. package/.history/package_20260201113713.json +0 -45
  131. package/.history/package_20260201114110.json +0 -45
  132. package/.history/package_20260201114632.json +0 -46
  133. package/.history/package_20260201133143.json +0 -45
  134. package/.history/package_20260201134319.json +0 -45
  135. package/.history/package_20260201134326.json +0 -45
  136. package/.history/package_20260201134334.json +0 -45
  137. package/.history/package_20260201134912.json +0 -45
  138. package/.history/package_20260201142928.json +0 -46
  139. package/.history/package_20260201192048.json +0 -47
  140. package/.history/package_20260202114053.json +0 -49
  141. package/.history/package_20260202121115.json +0 -49
  142. 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);