claude-memory-layer 1.0.10 → 1.0.11

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 (74) hide show
  1. package/dist/cli/index.js +1266 -181
  2. package/dist/cli/index.js.map +4 -4
  3. package/dist/core/index.js +367 -7
  4. package/dist/core/index.js.map +2 -2
  5. package/dist/hooks/post-tool-use.js +598 -40
  6. package/dist/hooks/post-tool-use.js.map +4 -4
  7. package/dist/hooks/session-end.js +486 -49
  8. package/dist/hooks/session-end.js.map +3 -3
  9. package/dist/hooks/session-start.js +474 -22
  10. package/dist/hooks/session-start.js.map +3 -3
  11. package/dist/hooks/stop.js +586 -70
  12. package/dist/hooks/stop.js.map +4 -4
  13. package/dist/hooks/user-prompt-submit.js +537 -27
  14. package/dist/hooks/user-prompt-submit.js.map +4 -4
  15. package/dist/server/api/index.js +938 -39
  16. package/dist/server/api/index.js.map +4 -4
  17. package/dist/server/index.js +947 -48
  18. package/dist/server/index.js.map +4 -4
  19. package/dist/services/memory-service.js +475 -22
  20. package/dist/services/memory-service.js.map +3 -3
  21. package/dist/ui/app.js +1380 -55
  22. package/dist/ui/index.html +311 -148
  23. package/dist/ui/style.css +892 -0
  24. package/docs/OPERATIONS.md +18 -0
  25. package/package.json +8 -2
  26. package/scripts/fix-sync-gap.js +32 -0
  27. package/scripts/heartbeat-memory-orchestrator.sh +28 -0
  28. package/scripts/report-sync-gap.js +26 -0
  29. package/scripts/review-queue-auto-resolve.js +21 -0
  30. package/scripts/sync-gap-auto-heal.sh +17 -0
  31. package/specs/20260207-dashboard-upgrade/context.md +38 -0
  32. package/specs/20260207-dashboard-upgrade/spec.md +96 -0
  33. package/src/cli/index.ts +110 -58
  34. package/src/core/sqlite-event-store.ts +444 -6
  35. package/src/core/sqlite-wrapper.ts +8 -0
  36. package/src/core/turn-state.ts +159 -0
  37. package/src/core/types.ts +23 -8
  38. package/src/core/vector-store.ts +21 -3
  39. package/src/hooks/post-tool-use.ts +68 -23
  40. package/src/hooks/session-end.ts +8 -3
  41. package/src/hooks/stop.ts +96 -25
  42. package/src/hooks/user-prompt-submit.ts +44 -5
  43. package/src/server/api/chat.ts +244 -0
  44. package/src/server/api/citations.ts +3 -3
  45. package/src/server/api/events.ts +30 -5
  46. package/src/server/api/index.ts +7 -1
  47. package/src/server/api/projects.ts +74 -0
  48. package/src/server/api/search.ts +3 -3
  49. package/src/server/api/sessions.ts +3 -3
  50. package/src/server/api/stats.ts +43 -7
  51. package/src/server/api/turns.ts +143 -0
  52. package/src/server/api/utils.ts +46 -0
  53. package/src/services/memory-service.ts +137 -5
  54. package/src/services/session-history-importer.ts +215 -51
  55. package/src/ui/app.js +1380 -55
  56. package/src/ui/index.html +311 -148
  57. package/src/ui/style.css +892 -0
  58. package/.claude/settings.local.json +0 -27
  59. package/.claude-memory/test.sqlite +0 -0
  60. package/.history/package_20260201112328.json +0 -45
  61. package/.history/package_20260201113602.json +0 -45
  62. package/.history/package_20260201113713.json +0 -45
  63. package/.history/package_20260201114110.json +0 -45
  64. package/.history/package_20260201114632.json +0 -46
  65. package/.history/package_20260201133143.json +0 -45
  66. package/.history/package_20260201134319.json +0 -45
  67. package/.history/package_20260201134326.json +0 -45
  68. package/.history/package_20260201134334.json +0 -45
  69. package/.history/package_20260201134912.json +0 -45
  70. package/.history/package_20260201142928.json +0 -46
  71. package/.history/package_20260201192048.json +0 -47
  72. package/.history/package_20260202114053.json +0 -49
  73. package/.history/package_20260202121115.json +0 -49
  74. package/test_access.js +0 -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);