claude-conversation-memory-mcp 0.6.0 → 1.1.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 (63) hide show
  1. package/README.md +53 -0
  2. package/dist/ConversationMemory.d.ts +151 -10
  3. package/dist/ConversationMemory.d.ts.map +1 -1
  4. package/dist/ConversationMemory.js +127 -10
  5. package/dist/ConversationMemory.js.map +1 -1
  6. package/dist/cache/QueryCache.d.ts +215 -0
  7. package/dist/cache/QueryCache.d.ts.map +1 -0
  8. package/dist/cache/QueryCache.js +294 -0
  9. package/dist/cache/QueryCache.js.map +1 -0
  10. package/dist/mcp-server.d.ts.map +1 -1
  11. package/dist/mcp-server.js +4 -1
  12. package/dist/mcp-server.js.map +1 -1
  13. package/dist/parsers/ConversationParser.d.ts +62 -3
  14. package/dist/parsers/ConversationParser.d.ts.map +1 -1
  15. package/dist/parsers/ConversationParser.js +50 -3
  16. package/dist/parsers/ConversationParser.js.map +1 -1
  17. package/dist/parsers/DecisionExtractor.d.ts +61 -3
  18. package/dist/parsers/DecisionExtractor.d.ts.map +1 -1
  19. package/dist/parsers/DecisionExtractor.js +47 -3
  20. package/dist/parsers/DecisionExtractor.js.map +1 -1
  21. package/dist/parsers/GitIntegrator.d.ts +88 -3
  22. package/dist/parsers/GitIntegrator.d.ts.map +1 -1
  23. package/dist/parsers/GitIntegrator.js +68 -3
  24. package/dist/parsers/GitIntegrator.js.map +1 -1
  25. package/dist/parsers/MistakeExtractor.d.ts +62 -3
  26. package/dist/parsers/MistakeExtractor.d.ts.map +1 -1
  27. package/dist/parsers/MistakeExtractor.js +50 -3
  28. package/dist/parsers/MistakeExtractor.js.map +1 -1
  29. package/dist/parsers/RequirementsExtractor.d.ts +95 -4
  30. package/dist/parsers/RequirementsExtractor.d.ts.map +1 -1
  31. package/dist/parsers/RequirementsExtractor.js +73 -4
  32. package/dist/parsers/RequirementsExtractor.js.map +1 -1
  33. package/dist/storage/BackupManager.d.ts +58 -0
  34. package/dist/storage/BackupManager.d.ts.map +1 -0
  35. package/dist/storage/BackupManager.js +213 -0
  36. package/dist/storage/BackupManager.js.map +1 -0
  37. package/dist/storage/ConversationStorage.d.ts +271 -2
  38. package/dist/storage/ConversationStorage.d.ts.map +1 -1
  39. package/dist/storage/ConversationStorage.js +356 -7
  40. package/dist/storage/ConversationStorage.js.map +1 -1
  41. package/dist/storage/DeletionService.d.ts +70 -0
  42. package/dist/storage/DeletionService.d.ts.map +1 -0
  43. package/dist/storage/DeletionService.js +198 -0
  44. package/dist/storage/DeletionService.js.map +1 -0
  45. package/dist/tools/ToolDefinitions.d.ts +26 -0
  46. package/dist/tools/ToolDefinitions.d.ts.map +1 -1
  47. package/dist/tools/ToolDefinitions.js +24 -0
  48. package/dist/tools/ToolDefinitions.js.map +1 -1
  49. package/dist/tools/ToolHandlers.d.ts +564 -16
  50. package/dist/tools/ToolHandlers.d.ts.map +1 -1
  51. package/dist/tools/ToolHandlers.js +664 -24
  52. package/dist/tools/ToolHandlers.js.map +1 -1
  53. package/dist/types/ToolTypes.d.ts +22 -0
  54. package/dist/types/ToolTypes.d.ts.map +1 -1
  55. package/dist/utils/Logger.d.ts +67 -0
  56. package/dist/utils/Logger.d.ts.map +1 -0
  57. package/dist/utils/Logger.js +119 -0
  58. package/dist/utils/Logger.js.map +1 -0
  59. package/dist/utils/constants.d.ts +75 -0
  60. package/dist/utils/constants.d.ts.map +1 -0
  61. package/dist/utils/constants.js +105 -0
  62. package/dist/utils/constants.js.map +1 -0
  63. package/package.json +1 -1
@@ -0,0 +1,198 @@
1
+ /**
2
+ * DeletionService - Handle selective deletion of conversations by topic/keyword
3
+ * Uses semantic + FTS5 search to find matching conversations
4
+ */
5
+ import { BackupManager } from "./BackupManager.js";
6
+ /**
7
+ * DeletionService class
8
+ */
9
+ export class DeletionService {
10
+ db;
11
+ backupManager;
12
+ storage;
13
+ semanticSearch;
14
+ constructor(db, storage, semanticSearch = null) {
15
+ this.db = db;
16
+ this.backupManager = new BackupManager(db);
17
+ this.storage = storage;
18
+ this.semanticSearch = semanticSearch;
19
+ }
20
+ /**
21
+ * Preview what would be deleted for given keywords/topics
22
+ */
23
+ async previewDeletionByTopic(keywords, projectPath) {
24
+ // Find matching conversations using search
25
+ const conversationIds = await this.findConversationsByTopic(keywords, projectPath);
26
+ if (conversationIds.length === 0) {
27
+ return {
28
+ conversationIds: [],
29
+ conversations: [],
30
+ totalMessages: 0,
31
+ totalDecisions: 0,
32
+ totalMistakes: 0,
33
+ summary: `No conversations found matching: ${keywords.join(", ")}`,
34
+ };
35
+ }
36
+ // Get conversation details
37
+ const placeholders = conversationIds.map(() => "?").join(",");
38
+ const conversations = this.db
39
+ .prepare(`SELECT id, session_id, created_at, message_count
40
+ FROM conversations
41
+ WHERE id IN (${placeholders})
42
+ ORDER BY created_at DESC`)
43
+ .all(...conversationIds);
44
+ // Count related records
45
+ const totalMessages = this.countMessages(conversationIds);
46
+ const totalDecisions = this.countDecisions(conversationIds);
47
+ const totalMistakes = this.countMistakes(conversationIds);
48
+ const summary = `Found ${conversations.length} conversation${conversations.length !== 1 ? "s" : ""} (${totalMessages} messages, ${totalDecisions} decisions, ${totalMistakes} mistakes) matching: ${keywords.join(", ")}`;
49
+ return {
50
+ conversationIds,
51
+ conversations,
52
+ totalMessages,
53
+ totalDecisions,
54
+ totalMistakes,
55
+ summary,
56
+ };
57
+ }
58
+ /**
59
+ * Delete conversations by topic/keywords with automatic backup
60
+ */
61
+ async forgetByTopic(keywords, projectPath) {
62
+ // First, preview what we're going to delete
63
+ const preview = await this.previewDeletionByTopic(keywords, projectPath);
64
+ if (preview.conversationIds.length === 0) {
65
+ throw new Error(`No conversations found matching: ${keywords.join(", ")}`);
66
+ }
67
+ // Create backup before deletion
68
+ const description = `Forget conversations about: ${keywords.join(", ")}`;
69
+ const backup = this.backupManager.createBackupForConversations(preview.conversationIds, description, projectPath);
70
+ // Count records before deletion for reporting
71
+ const beforeCounts = {
72
+ conversations: preview.conversationIds.length,
73
+ messages: preview.totalMessages,
74
+ decisions: preview.totalDecisions,
75
+ mistakes: preview.totalMistakes,
76
+ toolUses: this.countToolUses(preview.conversationIds),
77
+ fileEdits: this.countFileEdits(preview.conversationIds),
78
+ };
79
+ // Perform deletion (CASCADE will handle related records)
80
+ const placeholders = preview.conversationIds.map(() => "?").join(",");
81
+ // Use transaction for atomic deletion
82
+ this.db.transaction(() => {
83
+ // Delete FTS entries first (no CASCADE)
84
+ this.db
85
+ .prepare(`DELETE FROM messages_fts
86
+ WHERE rowid IN (
87
+ SELECT rowid FROM messages
88
+ WHERE conversation_id IN (${placeholders})
89
+ )`)
90
+ .run(...preview.conversationIds);
91
+ this.db
92
+ .prepare(`DELETE FROM decisions_fts
93
+ WHERE rowid IN (
94
+ SELECT rowid FROM decisions
95
+ WHERE conversation_id IN (${placeholders})
96
+ )`)
97
+ .run(...preview.conversationIds);
98
+ // Delete conversations (CASCADE handles the rest)
99
+ this.db
100
+ .prepare(`DELETE FROM conversations WHERE id IN (${placeholders})`)
101
+ .run(...preview.conversationIds);
102
+ })();
103
+ // Clear cache since data was deleted
104
+ this.storage.clearCache();
105
+ const summary = `✓ Deleted ${beforeCounts.conversations} conversations (${beforeCounts.messages} messages, ${beforeCounts.decisions} decisions, ${beforeCounts.mistakes} mistakes)\n✓ Backup saved: ${backup.backupPath}`;
106
+ return {
107
+ backup,
108
+ deleted: beforeCounts,
109
+ summary,
110
+ };
111
+ }
112
+ /**
113
+ * Find conversations matching keywords/topics using search
114
+ */
115
+ async findConversationsByTopic(keywords, projectPath) {
116
+ const conversationIds = new Set();
117
+ // Build search query from keywords
118
+ const searchQuery = keywords.join(" ");
119
+ // Try semantic search if available
120
+ if (this.semanticSearch) {
121
+ try {
122
+ const results = await this.semanticSearch.searchConversations(searchQuery, 100 // Cast wide net
123
+ );
124
+ // Filter by project path
125
+ for (const result of results) {
126
+ if (result.conversation.project_path === projectPath) {
127
+ conversationIds.add(result.conversation.id);
128
+ }
129
+ }
130
+ }
131
+ catch (error) {
132
+ console.warn("Semantic search failed, falling back to FTS:", error.message);
133
+ }
134
+ }
135
+ // Also try FTS5 search for exact matches
136
+ try {
137
+ const ftsQuery = keywords.map((k) => `"${k}"`).join(" OR ");
138
+ const messages = this.db
139
+ .prepare(`SELECT DISTINCT m.conversation_id
140
+ FROM messages_fts mf
141
+ JOIN messages m ON m.rowid = mf.rowid
142
+ WHERE messages_fts MATCH ?
143
+ AND m.project_path = ?
144
+ LIMIT 100`)
145
+ .all(ftsQuery, projectPath);
146
+ for (const msg of messages) {
147
+ conversationIds.add(msg.conversation_id);
148
+ }
149
+ }
150
+ catch (error) {
151
+ console.warn("FTS search failed:", error.message);
152
+ }
153
+ return Array.from(conversationIds);
154
+ }
155
+ /**
156
+ * Count helpers
157
+ */
158
+ countMessages(conversationIds) {
159
+ const placeholders = conversationIds.map(() => "?").join(",");
160
+ const result = this.db
161
+ .prepare(`SELECT COUNT(*) as count FROM messages WHERE conversation_id IN (${placeholders})`)
162
+ .get(...conversationIds);
163
+ return result.count;
164
+ }
165
+ countDecisions(conversationIds) {
166
+ const placeholders = conversationIds.map(() => "?").join(",");
167
+ const result = this.db
168
+ .prepare(`SELECT COUNT(*) as count FROM decisions WHERE conversation_id IN (${placeholders})`)
169
+ .get(...conversationIds);
170
+ return result.count;
171
+ }
172
+ countMistakes(conversationIds) {
173
+ const placeholders = conversationIds.map(() => "?").join(",");
174
+ const result = this.db
175
+ .prepare(`SELECT COUNT(*) as count FROM mistakes WHERE conversation_id IN (${placeholders})`)
176
+ .get(...conversationIds);
177
+ return result.count;
178
+ }
179
+ countToolUses(conversationIds) {
180
+ const placeholders = conversationIds.map(() => "?").join(",");
181
+ const result = this.db
182
+ .prepare(`SELECT COUNT(*) as count
183
+ FROM tool_uses
184
+ WHERE message_id IN (
185
+ SELECT id FROM messages WHERE conversation_id IN (${placeholders})
186
+ )`)
187
+ .get(...conversationIds);
188
+ return result.count;
189
+ }
190
+ countFileEdits(conversationIds) {
191
+ const placeholders = conversationIds.map(() => "?").join(",");
192
+ const result = this.db
193
+ .prepare(`SELECT COUNT(*) as count FROM file_edits WHERE conversation_id IN (${placeholders})`)
194
+ .get(...conversationIds);
195
+ return result.count;
196
+ }
197
+ }
198
+ //# sourceMappingURL=DeletionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeletionService.js","sourceRoot":"","sources":["../../src/storage/DeletionService.ts"],"names":[],"mappings":"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"}
@@ -346,5 +346,31 @@ export declare const TOOLS: {
346
346
  required: string[];
347
347
  };
348
348
  };
349
+ forget_by_topic: {
350
+ name: string;
351
+ description: string;
352
+ inputSchema: {
353
+ type: string;
354
+ properties: {
355
+ keywords: {
356
+ type: string;
357
+ description: string;
358
+ items: {
359
+ type: string;
360
+ };
361
+ };
362
+ project_path: {
363
+ type: string;
364
+ description: string;
365
+ };
366
+ confirm: {
367
+ type: string;
368
+ description: string;
369
+ default: boolean;
370
+ };
371
+ };
372
+ required: string[];
373
+ };
374
+ };
349
375
  };
350
376
  //# sourceMappingURL=ToolDefinitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolDefinitions.d.ts","sourceRoot":"","sources":["../../src/tools/ToolDefinitions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgWjB,CAAC"}
1
+ {"version":3,"file":"ToolDefinitions.d.ts","sourceRoot":"","sources":["../../src/tools/ToolDefinitions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyXjB,CAAC"}
@@ -340,5 +340,29 @@ export const TOOLS = {
340
340
  required: ["source_folder", "old_project_path", "new_project_path"],
341
341
  },
342
342
  },
343
+ forget_by_topic: {
344
+ name: "forget_by_topic",
345
+ description: "Forget conversations about specific topics or keywords. Searches for matching conversations and optionally deletes them with automatic backup. Use confirm=false to preview what would be deleted, then set confirm=true to actually delete.",
346
+ inputSchema: {
347
+ type: "object",
348
+ properties: {
349
+ keywords: {
350
+ type: "array",
351
+ description: "Topics or keywords to search for (e.g., ['authentication', 'redesign'])",
352
+ items: { type: "string" },
353
+ },
354
+ project_path: {
355
+ type: "string",
356
+ description: "Path to the project (defaults to current working directory)",
357
+ },
358
+ confirm: {
359
+ type: "boolean",
360
+ description: "Set to true to actually delete conversations. If false (default), only shows preview of what would be deleted",
361
+ default: false,
362
+ },
363
+ },
364
+ required: ["keywords"],
365
+ },
366
+ },
343
367
  };
344
368
  //# sourceMappingURL=ToolDefinitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolDefinitions.js","sourceRoot":"","sources":["../../src/tools/ToolDefinitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolDefinitions.js","sourceRoot":"","sources":["../../src/tools/ToolDefinitions.ts"],"names":[],"mappings":"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"}