@pcircle/memesh 2.9.1 → 2.9.3

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 (121) hide show
  1. package/README.de.md +119 -78
  2. package/README.es.md +116 -75
  3. package/README.fr.md +116 -75
  4. package/README.id.md +115 -74
  5. package/README.ja.md +111 -70
  6. package/README.ko.md +116 -75
  7. package/README.md +113 -72
  8. package/README.th.md +118 -77
  9. package/README.vi.md +116 -75
  10. package/README.zh-CN.md +120 -79
  11. package/README.zh-TW.md +116 -75
  12. package/dist/core/GitCommandParser.d.ts +11 -0
  13. package/dist/core/GitCommandParser.d.ts.map +1 -0
  14. package/dist/core/GitCommandParser.js +43 -0
  15. package/dist/core/GitCommandParser.js.map +1 -0
  16. package/dist/core/HookIntegration.d.ts +0 -3
  17. package/dist/core/HookIntegration.d.ts.map +1 -1
  18. package/dist/core/HookIntegration.js +6 -30
  19. package/dist/core/HookIntegration.js.map +1 -1
  20. package/dist/embeddings/EmbeddingService.d.ts +3 -0
  21. package/dist/embeddings/EmbeddingService.d.ts.map +1 -1
  22. package/dist/embeddings/EmbeddingService.js +32 -6
  23. package/dist/embeddings/EmbeddingService.js.map +1 -1
  24. package/dist/embeddings/InMemoryVectorAdapter.d.ts +15 -0
  25. package/dist/embeddings/InMemoryVectorAdapter.d.ts.map +1 -0
  26. package/dist/embeddings/InMemoryVectorAdapter.js +58 -0
  27. package/dist/embeddings/InMemoryVectorAdapter.js.map +1 -0
  28. package/dist/embeddings/SqliteVecAdapter.d.ts +15 -0
  29. package/dist/embeddings/SqliteVecAdapter.d.ts.map +1 -0
  30. package/dist/embeddings/SqliteVecAdapter.js +107 -0
  31. package/dist/embeddings/SqliteVecAdapter.js.map +1 -0
  32. package/dist/embeddings/VectorExtension.d.ts +2 -4
  33. package/dist/embeddings/VectorExtension.d.ts.map +1 -1
  34. package/dist/embeddings/VectorExtension.js.map +1 -1
  35. package/dist/embeddings/VectorSearchAdapter.d.ts +17 -0
  36. package/dist/embeddings/VectorSearchAdapter.d.ts.map +1 -0
  37. package/dist/embeddings/VectorSearchAdapter.js +2 -0
  38. package/dist/embeddings/VectorSearchAdapter.js.map +1 -0
  39. package/dist/embeddings/index.d.ts +6 -1
  40. package/dist/embeddings/index.d.ts.map +1 -1
  41. package/dist/embeddings/index.js +4 -1
  42. package/dist/embeddings/index.js.map +1 -1
  43. package/dist/knowledge-graph/ContentHasher.d.ts +4 -0
  44. package/dist/knowledge-graph/ContentHasher.d.ts.map +1 -0
  45. package/dist/knowledge-graph/ContentHasher.js +8 -0
  46. package/dist/knowledge-graph/ContentHasher.js.map +1 -0
  47. package/dist/knowledge-graph/KGSearchEngine.d.ts +36 -0
  48. package/dist/knowledge-graph/KGSearchEngine.d.ts.map +1 -0
  49. package/dist/knowledge-graph/KGSearchEngine.js +257 -0
  50. package/dist/knowledge-graph/KGSearchEngine.js.map +1 -0
  51. package/dist/knowledge-graph/index.d.ts +18 -7
  52. package/dist/knowledge-graph/index.d.ts.map +1 -1
  53. package/dist/knowledge-graph/index.js +147 -242
  54. package/dist/knowledge-graph/index.js.map +1 -1
  55. package/dist/mcp/ServerInitializer.d.ts.map +1 -1
  56. package/dist/mcp/ServerInitializer.js +1 -1
  57. package/dist/mcp/ServerInitializer.js.map +1 -1
  58. package/dist/mcp/StdinBufferManager.d.ts +11 -0
  59. package/dist/mcp/StdinBufferManager.d.ts.map +1 -0
  60. package/dist/mcp/StdinBufferManager.js +62 -0
  61. package/dist/mcp/StdinBufferManager.js.map +1 -0
  62. package/dist/mcp/daemon/StdioProxyClient.d.ts.map +1 -1
  63. package/dist/mcp/daemon/StdioProxyClient.js +6 -0
  64. package/dist/mcp/daemon/StdioProxyClient.js.map +1 -1
  65. package/dist/mcp/handlers/HookToolHandler.d.ts +10 -0
  66. package/dist/mcp/handlers/HookToolHandler.d.ts.map +1 -0
  67. package/dist/mcp/handlers/HookToolHandler.js +92 -0
  68. package/dist/mcp/handlers/HookToolHandler.js.map +1 -0
  69. package/dist/mcp/handlers/MemoryToolHandler.d.ts +21 -0
  70. package/dist/mcp/handlers/MemoryToolHandler.d.ts.map +1 -0
  71. package/dist/mcp/handlers/MemoryToolHandler.js +430 -0
  72. package/dist/mcp/handlers/MemoryToolHandler.js.map +1 -0
  73. package/dist/mcp/handlers/SystemToolHandler.d.ts +14 -0
  74. package/dist/mcp/handlers/SystemToolHandler.d.ts.map +1 -0
  75. package/dist/mcp/handlers/SystemToolHandler.js +224 -0
  76. package/dist/mcp/handlers/SystemToolHandler.js.map +1 -0
  77. package/dist/mcp/handlers/ToolHandlers.d.ts +4 -17
  78. package/dist/mcp/handlers/ToolHandlers.d.ts.map +1 -1
  79. package/dist/mcp/handlers/ToolHandlers.js +19 -689
  80. package/dist/mcp/handlers/ToolHandlers.js.map +1 -1
  81. package/dist/mcp/handlers/index.d.ts +3 -0
  82. package/dist/mcp/handlers/index.d.ts.map +1 -1
  83. package/dist/mcp/handlers/index.js +3 -0
  84. package/dist/mcp/handlers/index.js.map +1 -1
  85. package/dist/mcp/server-bootstrap.js +24 -59
  86. package/dist/mcp/server-bootstrap.js.map +1 -1
  87. package/dist/mcp/tools/create-entities.d.ts.map +1 -1
  88. package/dist/mcp/tools/create-entities.js +18 -24
  89. package/dist/mcp/tools/create-entities.js.map +1 -1
  90. package/dist/memory/MemorySearchEngine.d.ts +17 -0
  91. package/dist/memory/MemorySearchEngine.d.ts.map +1 -0
  92. package/dist/memory/MemorySearchEngine.js +88 -0
  93. package/dist/memory/MemorySearchEngine.js.map +1 -0
  94. package/dist/memory/ProactiveRecaller.d.ts +26 -0
  95. package/dist/memory/ProactiveRecaller.d.ts.map +1 -0
  96. package/dist/memory/ProactiveRecaller.js +96 -0
  97. package/dist/memory/ProactiveRecaller.js.map +1 -0
  98. package/dist/memory/UnifiedMemoryStore.d.ts +1 -0
  99. package/dist/memory/UnifiedMemoryStore.d.ts.map +1 -1
  100. package/dist/memory/UnifiedMemoryStore.js +7 -63
  101. package/dist/memory/UnifiedMemoryStore.js.map +1 -1
  102. package/dist/memory/index.d.ts +3 -0
  103. package/dist/memory/index.d.ts.map +1 -1
  104. package/dist/memory/index.js +2 -0
  105. package/dist/memory/index.js.map +1 -1
  106. package/dist/utils/index.d.ts +0 -2
  107. package/dist/utils/index.d.ts.map +1 -1
  108. package/dist/utils/index.js +0 -2
  109. package/dist/utils/index.js.map +1 -1
  110. package/dist/utils/tracing/index.d.ts +0 -1
  111. package/dist/utils/tracing/index.d.ts.map +1 -1
  112. package/dist/utils/tracing/index.js +0 -1
  113. package/dist/utils/tracing/index.js.map +1 -1
  114. package/package.json +2 -11
  115. package/plugin.json +1 -1
  116. package/scripts/hooks/__tests__/post-tool-use-recall.test.js +192 -0
  117. package/scripts/hooks/__tests__/session-start-recall.test.js +86 -0
  118. package/scripts/hooks/post-tool-use-recall-utils.js +74 -0
  119. package/scripts/hooks/post-tool-use.js +79 -0
  120. package/scripts/hooks/session-start-recall-utils.js +40 -0
  121. package/scripts/hooks/session-start.js +66 -0
@@ -0,0 +1,430 @@
1
+ import { z } from 'zod';
2
+ import { ValidationError, OperationError } from '../../errors/index.js';
3
+ import { RateLimiter } from '../../utils/RateLimiter.js';
4
+ import { MistakePatternEngine } from '../../memory/MistakePatternEngine.js';
5
+ import { UserPreferenceEngine } from '../../memory/UserPreferenceEngine.js';
6
+ import { recallMemoryTool } from '../tools/recall-memory.js';
7
+ import { createEntitiesTool } from '../tools/create-entities.js';
8
+ import { addObservationsTool } from '../tools/add-observations.js';
9
+ import { createRelationsTool } from '../tools/create-relations.js';
10
+ import { handleBuddyRecordMistake } from './BuddyRecordMistake.js';
11
+ import { handleError, logError } from '../../utils/errorHandler.js';
12
+ import { RecallMemoryInputSchema, CreateEntitiesInputSchema, AddObservationsInputSchema, CreateRelationsInputSchema, formatValidationError, } from '../validation.js';
13
+ export class MemoryToolHandler {
14
+ knowledgeGraph;
15
+ projectMemoryManager;
16
+ unifiedMemoryStore;
17
+ memoryRateLimiter;
18
+ mistakePatternEngine;
19
+ userPreferenceEngine;
20
+ constructor(knowledgeGraph, projectMemoryManager, unifiedMemoryStore) {
21
+ this.knowledgeGraph = knowledgeGraph;
22
+ this.projectMemoryManager = projectMemoryManager;
23
+ this.unifiedMemoryStore = unifiedMemoryStore;
24
+ this.memoryRateLimiter = new RateLimiter({ requestsPerMinute: 10 });
25
+ this.mistakePatternEngine = unifiedMemoryStore ? new MistakePatternEngine(unifiedMemoryStore) : undefined;
26
+ this.userPreferenceEngine = unifiedMemoryStore ? new UserPreferenceEngine(unifiedMemoryStore) : undefined;
27
+ }
28
+ isCloudOnlyMode() {
29
+ return this.knowledgeGraph === undefined || this.projectMemoryManager === undefined;
30
+ }
31
+ cloudOnlyModeError(toolName) {
32
+ return {
33
+ content: [
34
+ {
35
+ type: 'text',
36
+ text: `\u274C Tool '${toolName}' is not available in cloud-only mode.\n\n` +
37
+ `This MCP server is running without local SQLite storage (better-sqlite3 unavailable).\n\n` +
38
+ `To use local memory tools:\n` +
39
+ `1. Install better-sqlite3: npm install better-sqlite3\n` +
40
+ `2. Restart the MCP server\n\n` +
41
+ `Local SQLite storage is required for memory features.`,
42
+ },
43
+ ],
44
+ isError: true,
45
+ };
46
+ }
47
+ async handleRecallMemory(args) {
48
+ if (this.isCloudOnlyMode()) {
49
+ return this.cloudOnlyModeError('recall-memory');
50
+ }
51
+ if (!this.memoryRateLimiter.consume()) {
52
+ throw new OperationError('Memory operation rate limit exceeded. Please try again later.', {
53
+ component: 'ToolHandlers',
54
+ method: 'handleRecallMemory',
55
+ rateLimitStatus: this.memoryRateLimiter.getStatus(),
56
+ });
57
+ }
58
+ try {
59
+ let validatedInput;
60
+ try {
61
+ validatedInput = RecallMemoryInputSchema.parse(args);
62
+ }
63
+ catch (error) {
64
+ if (error instanceof z.ZodError) {
65
+ throw new ValidationError(formatValidationError(error), {
66
+ component: 'ToolHandlers',
67
+ method: 'handleRecallMemory',
68
+ schema: 'RecallMemoryInputSchema',
69
+ providedArgs: args,
70
+ });
71
+ }
72
+ throw error;
73
+ }
74
+ const result = await recallMemoryTool.handler(validatedInput, this.projectMemoryManager);
75
+ let text = 'Project Memory Recall\n';
76
+ text += '='.repeat(60) + '\n\n';
77
+ if (result.memories.length === 0) {
78
+ text += 'No memories found.\n\n';
79
+ text += 'Memories will be created as you work on the project.\n';
80
+ }
81
+ else {
82
+ text += `Found ${result.memories.length} recent memories:\n\n`;
83
+ result.memories.forEach((memory, index) => {
84
+ text += `${index + 1}. ${memory.type}\n`;
85
+ if (memory.timestamp) {
86
+ text += ` Timestamp: ${memory.timestamp}\n`;
87
+ }
88
+ if (memory.observations && memory.observations.length > 0) {
89
+ text += ' Observations:\n';
90
+ memory.observations.forEach(obs => {
91
+ text += ` - ${obs}\n`;
92
+ });
93
+ }
94
+ text += '\n';
95
+ });
96
+ }
97
+ text += '='.repeat(60) + '\n';
98
+ return {
99
+ content: [
100
+ {
101
+ type: 'text',
102
+ text,
103
+ },
104
+ ],
105
+ };
106
+ }
107
+ catch (error) {
108
+ logError(error, {
109
+ component: 'ToolHandlers',
110
+ method: 'handleRecallMemory',
111
+ operation: 'recalling project memory',
112
+ data: { query: args?.query, limit: args?.limit },
113
+ });
114
+ const handled = handleError(error, {
115
+ component: 'ToolHandlers',
116
+ method: 'handleRecallMemory',
117
+ });
118
+ return {
119
+ content: [
120
+ {
121
+ type: 'text',
122
+ text: `Failed to recall memory: ${handled.message}`,
123
+ },
124
+ ],
125
+ };
126
+ }
127
+ }
128
+ async handleCreateEntities(args) {
129
+ if (this.isCloudOnlyMode()) {
130
+ return this.cloudOnlyModeError('create-entities');
131
+ }
132
+ if (!this.memoryRateLimiter.consume()) {
133
+ throw new OperationError('Memory operation rate limit exceeded. Please try again later.', {
134
+ component: 'ToolHandlers',
135
+ method: 'handleCreateEntities',
136
+ rateLimitStatus: this.memoryRateLimiter.getStatus(),
137
+ });
138
+ }
139
+ try {
140
+ let validatedInput;
141
+ try {
142
+ validatedInput = CreateEntitiesInputSchema.parse(args);
143
+ }
144
+ catch (error) {
145
+ if (error instanceof z.ZodError) {
146
+ throw new ValidationError(formatValidationError(error), {
147
+ component: 'ToolHandlers',
148
+ method: 'handleCreateEntities',
149
+ schema: 'CreateEntitiesInputSchema',
150
+ providedArgs: args,
151
+ });
152
+ }
153
+ throw error;
154
+ }
155
+ const result = await createEntitiesTool.handler(validatedInput, this.knowledgeGraph);
156
+ let text = 'Knowledge Graph Entity Creation\n';
157
+ text += '='.repeat(60) + '\n\n';
158
+ if (result.count === 0) {
159
+ text += 'No entities were created.\n\n';
160
+ if (result.errors && result.errors.length > 0) {
161
+ text += 'Errors encountered:\n';
162
+ result.errors.forEach(error => {
163
+ text += ` - ${error.name}: ${error.error}\n`;
164
+ });
165
+ }
166
+ }
167
+ else {
168
+ text += `Successfully created ${result.count} ${result.count === 1 ? 'entity' : 'entities'}:\n\n`;
169
+ result.created.forEach((name, index) => {
170
+ text += `${index + 1}. ${name}\n`;
171
+ });
172
+ if (result.errors && result.errors.length > 0) {
173
+ text += '\nSome entities failed:\n';
174
+ result.errors.forEach(error => {
175
+ text += ` - ${error.name}: ${error.error}\n`;
176
+ });
177
+ }
178
+ }
179
+ text += '\n' + '='.repeat(60) + '\n';
180
+ return {
181
+ content: [
182
+ {
183
+ type: 'text',
184
+ text,
185
+ },
186
+ ],
187
+ };
188
+ }
189
+ catch (error) {
190
+ logError(error, {
191
+ component: 'ToolHandlers',
192
+ method: 'handleCreateEntities',
193
+ operation: 'creating knowledge graph entities',
194
+ data: { entityCount: args?.entities?.length ?? 0 },
195
+ });
196
+ const handled = handleError(error, {
197
+ component: 'ToolHandlers',
198
+ method: 'handleCreateEntities',
199
+ });
200
+ return {
201
+ content: [
202
+ {
203
+ type: 'text',
204
+ text: `Failed to create entities: ${handled.message}`,
205
+ },
206
+ ],
207
+ };
208
+ }
209
+ }
210
+ async handleAddObservations(args) {
211
+ if (this.isCloudOnlyMode()) {
212
+ return this.cloudOnlyModeError('add-observations');
213
+ }
214
+ if (!this.memoryRateLimiter.consume()) {
215
+ throw new OperationError('Memory operation rate limit exceeded. Please try again later.', {
216
+ component: 'ToolHandlers',
217
+ method: 'handleAddObservations',
218
+ rateLimitStatus: this.memoryRateLimiter.getStatus(),
219
+ });
220
+ }
221
+ try {
222
+ let validatedInput;
223
+ try {
224
+ validatedInput = AddObservationsInputSchema.parse(args);
225
+ }
226
+ catch (error) {
227
+ if (error instanceof z.ZodError) {
228
+ throw new ValidationError(formatValidationError(error), {
229
+ component: 'ToolHandlers',
230
+ method: 'handleAddObservations',
231
+ schema: 'AddObservationsInputSchema',
232
+ providedArgs: args,
233
+ });
234
+ }
235
+ throw error;
236
+ }
237
+ const result = await addObservationsTool.handler(validatedInput, this.knowledgeGraph);
238
+ let text = 'Knowledge Graph Observation Update\n';
239
+ text += '='.repeat(60) + '\n\n';
240
+ if (result.count === 0) {
241
+ text += 'No observations were added.\n\n';
242
+ if (result.notFound && result.notFound.length > 0) {
243
+ text += 'Entities not found:\n';
244
+ result.notFound.forEach(name => {
245
+ text += ` - ${name}\n`;
246
+ });
247
+ }
248
+ if (result.errors && result.errors.length > 0) {
249
+ text += '\nErrors encountered:\n';
250
+ result.errors.forEach(error => {
251
+ text += ` - ${error.entityName}: ${error.error}\n`;
252
+ });
253
+ }
254
+ }
255
+ else {
256
+ text += `Successfully updated ${result.count} ${result.count === 1 ? 'entity' : 'entities'}:\n\n`;
257
+ result.updated.forEach((name, index) => {
258
+ text += `${index + 1}. ${name}\n`;
259
+ });
260
+ if (result.notFound && result.notFound.length > 0) {
261
+ text += '\nSome entities were not found:\n';
262
+ result.notFound.forEach(name => {
263
+ text += ` - ${name}\n`;
264
+ });
265
+ }
266
+ if (result.errors && result.errors.length > 0) {
267
+ text += '\nSome updates failed:\n';
268
+ result.errors.forEach(error => {
269
+ text += ` - ${error.entityName}: ${error.error}\n`;
270
+ });
271
+ }
272
+ }
273
+ text += '\n' + '='.repeat(60) + '\n';
274
+ return {
275
+ content: [
276
+ {
277
+ type: 'text',
278
+ text,
279
+ },
280
+ ],
281
+ };
282
+ }
283
+ catch (error) {
284
+ logError(error, {
285
+ component: 'ToolHandlers',
286
+ method: 'handleAddObservations',
287
+ operation: 'adding observations to entities',
288
+ data: { observationCount: args?.observations?.length ?? 0 },
289
+ });
290
+ const handled = handleError(error, {
291
+ component: 'ToolHandlers',
292
+ method: 'handleAddObservations',
293
+ });
294
+ return {
295
+ content: [
296
+ {
297
+ type: 'text',
298
+ text: `Failed to add observations: ${handled.message}`,
299
+ },
300
+ ],
301
+ };
302
+ }
303
+ }
304
+ async handleCreateRelations(args) {
305
+ if (this.isCloudOnlyMode()) {
306
+ return this.cloudOnlyModeError('create-relations');
307
+ }
308
+ if (!this.memoryRateLimiter.consume()) {
309
+ throw new OperationError('Memory operation rate limit exceeded. Please try again later.', {
310
+ component: 'ToolHandlers',
311
+ method: 'handleCreateRelations',
312
+ rateLimitStatus: this.memoryRateLimiter.getStatus(),
313
+ });
314
+ }
315
+ try {
316
+ let validatedInput;
317
+ try {
318
+ validatedInput = CreateRelationsInputSchema.parse(args);
319
+ }
320
+ catch (error) {
321
+ if (error instanceof z.ZodError) {
322
+ throw new ValidationError(formatValidationError(error), {
323
+ component: 'ToolHandlers',
324
+ method: 'handleCreateRelations',
325
+ schema: 'CreateRelationsInputSchema',
326
+ providedArgs: args,
327
+ });
328
+ }
329
+ throw error;
330
+ }
331
+ const result = await createRelationsTool.handler(validatedInput, this.knowledgeGraph);
332
+ let text = 'Knowledge Graph Relation Creation\n';
333
+ text += '='.repeat(60) + '\n\n';
334
+ if (result.count === 0) {
335
+ text += 'No relations were created.\n\n';
336
+ if (result.missingEntities && result.missingEntities.length > 0) {
337
+ text += 'Entities not found:\n';
338
+ result.missingEntities.forEach(name => {
339
+ text += ` - ${name}\n`;
340
+ });
341
+ }
342
+ if (result.errors && result.errors.length > 0) {
343
+ text += '\nErrors encountered:\n';
344
+ result.errors.forEach(error => {
345
+ text += ` - ${error.from} -> ${error.to}: ${error.error}\n`;
346
+ });
347
+ }
348
+ }
349
+ else {
350
+ text += `Successfully created ${result.count} ${result.count === 1 ? 'relation' : 'relations'}:\n\n`;
351
+ result.created.forEach((rel, index) => {
352
+ text += `${index + 1}. ${rel.from} --[${rel.type}]--> ${rel.to}\n`;
353
+ });
354
+ if (result.missingEntities && result.missingEntities.length > 0) {
355
+ text += '\nSome entities were not found:\n';
356
+ result.missingEntities.forEach(name => {
357
+ text += ` - ${name}\n`;
358
+ });
359
+ }
360
+ if (result.errors && result.errors.length > 0) {
361
+ text += '\nSome relations failed:\n';
362
+ result.errors.forEach(error => {
363
+ text += ` - ${error.from} -> ${error.to}: ${error.error}\n`;
364
+ });
365
+ }
366
+ }
367
+ text += '\n' + '='.repeat(60) + '\n';
368
+ return {
369
+ content: [
370
+ {
371
+ type: 'text',
372
+ text,
373
+ },
374
+ ],
375
+ };
376
+ }
377
+ catch (error) {
378
+ logError(error, {
379
+ component: 'ToolHandlers',
380
+ method: 'handleCreateRelations',
381
+ operation: 'creating entity relations',
382
+ data: { relationCount: args?.relations?.length ?? 0 },
383
+ });
384
+ const handled = handleError(error, {
385
+ component: 'ToolHandlers',
386
+ method: 'handleCreateRelations',
387
+ });
388
+ return {
389
+ content: [
390
+ {
391
+ type: 'text',
392
+ text: `Failed to create relations: ${handled.message}`,
393
+ },
394
+ ],
395
+ };
396
+ }
397
+ }
398
+ async handleBuddyRecordMistake(args) {
399
+ if (this.isCloudOnlyMode()) {
400
+ return this.cloudOnlyModeError('buddy-record-mistake');
401
+ }
402
+ if (!this.memoryRateLimiter.consume()) {
403
+ throw new OperationError('Memory operation rate limit exceeded. Please try again later.', {
404
+ component: 'ToolHandlers',
405
+ method: 'handleBuddyRecordMistake',
406
+ rateLimitStatus: this.memoryRateLimiter.getStatus(),
407
+ });
408
+ }
409
+ if (!args || typeof args !== 'object') {
410
+ throw new ValidationError('Invalid input: expected object', {
411
+ component: 'ToolHandlers',
412
+ method: 'handleBuddyRecordMistake',
413
+ providedArgs: args,
414
+ });
415
+ }
416
+ const input = args;
417
+ const requiredFields = ['action', 'errorType', 'userCorrection', 'correctMethod', 'impact', 'preventionMethod'];
418
+ for (const field of requiredFields) {
419
+ if (!(field in input) || !input[field]) {
420
+ throw new ValidationError(`Missing required field: ${field}`, {
421
+ component: 'ToolHandlers',
422
+ method: 'handleBuddyRecordMistake',
423
+ missingField: field,
424
+ });
425
+ }
426
+ }
427
+ return handleBuddyRecordMistake(input, this.unifiedMemoryStore, this.mistakePatternEngine, this.userPreferenceEngine);
428
+ }
429
+ }
430
+ //# sourceMappingURL=MemoryToolHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryToolHandler.js","sourceRoot":"","sources":["../../../src/mcp/handlers/MemoryToolHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import { SkillManager } from '../../skills/index.js';
3
+ import { UninstallManager } from '../../management/index.js';
4
+ import { SamplingClient } from '../SamplingClient.js';
5
+ export declare class SystemToolHandler {
6
+ private skillManager;
7
+ private uninstallManager;
8
+ private samplingClient;
9
+ constructor(skillManager: SkillManager, uninstallManager: UninstallManager, samplingClient: SamplingClient);
10
+ handleListSkills(args: unknown): Promise<CallToolResult>;
11
+ handleUninstall(args: unknown): Promise<CallToolResult>;
12
+ handleGenerateTests(args: unknown): Promise<CallToolResult>;
13
+ }
14
+ //# sourceMappingURL=SystemToolHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemToolHandler.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/SystemToolHandler.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAiBtD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;gBAFd,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc;IAMlC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA+HxD,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA0DvD,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CAmDlE"}