smart-thinking-mcp 8.0.2 → 9.0.1
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/build/index.js +99 -40
- package/build/index.js.map +1 -1
- package/build/memory-manager.d.ts +25 -8
- package/build/memory-manager.js +99 -29
- package/build/memory-manager.js.map +1 -1
- package/build/metrics-calculator.d.ts +16 -15
- package/build/metrics-calculator.js +175 -142
- package/build/metrics-calculator.js.map +1 -1
- package/build/quality-evaluator.d.ts +12 -11
- package/build/quality-evaluator.js +42 -50
- package/build/quality-evaluator.js.map +1 -1
- package/build/services/verification-service.js +48 -14
- package/build/services/verification-service.js.map +1 -1
- package/build/thought-graph.d.ts +28 -14
- package/build/thought-graph.js +471 -151
- package/build/thought-graph.js.map +1 -1
- package/build/tool-integrator.d.ts +14 -46
- package/build/tool-integrator.js +225 -235
- package/build/tool-integrator.js.map +1 -1
- package/build/utils/openrouter-client.d.ts +36 -0
- package/build/utils/openrouter-client.js +255 -0
- package/build/utils/openrouter-client.js.map +1 -0
- package/package.json +2 -1
package/build/index.js
CHANGED
|
@@ -111,21 +111,28 @@ const embeddingService = new embedding_service_1.EmbeddingService(COHERE_API_KEY
|
|
|
111
111
|
const metricsCalculator = new metrics_calculator_1.MetricsCalculator();
|
|
112
112
|
const qualityEvaluator = new quality_evaluator_1.QualityEvaluator();
|
|
113
113
|
const toolIntegrator = new tool_integrator_1.ToolIntegrator();
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
const
|
|
118
|
-
//
|
|
119
|
-
|
|
114
|
+
// Note: ThoughtGraph and MemoryManager instances are typically created per request or session
|
|
115
|
+
// For simplicity in this example, we'll manage session context within the handler.
|
|
116
|
+
// A more robust implementation might use a factory or manage instances per session ID.
|
|
117
|
+
const globalEmbeddingService = embeddingService; // Keep a global instance
|
|
118
|
+
const globalQualityEvaluator = qualityEvaluator; // Keep a global instance
|
|
119
|
+
const globalToolIntegrator = toolIntegrator; // Keep a global instance
|
|
120
|
+
const globalMetricsCalculator = metricsCalculator; // Keep a global instance
|
|
121
|
+
// Get ServiceContainer instance first
|
|
120
122
|
const serviceContainer = service_container_1.ServiceContainer.getInstance();
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
// Initialize services if not already done (assuming initializeServices handles idempotency or is called only once)
|
|
124
|
+
serviceContainer.initializeServices(globalToolIntegrator, globalMetricsCalculator, globalEmbeddingService);
|
|
125
|
+
// Now get the verification service
|
|
126
|
+
const globalVerificationService = serviceContainer.getVerificationService();
|
|
127
|
+
const globalMemoryManager = new memory_manager_1.MemoryManager(globalEmbeddingService); // Global memory manager for persistence
|
|
128
|
+
const visualizer = new visualizer_1.Visualizer(); // Visualizer can likely remain global
|
|
129
|
+
const verificationMemory = verification_memory_1.VerificationMemory.getInstance(); // Singleton
|
|
130
|
+
// Configuration des dépendances (assurez-vous que les services globaux sont configurés)
|
|
131
|
+
verificationMemory.setEmbeddingService(globalEmbeddingService);
|
|
132
|
+
// Ensure quality evaluator uses the correct verification service instance
|
|
133
|
+
globalQualityEvaluator.setVerificationService(globalVerificationService);
|
|
134
|
+
// Note: Event listeners on a per-session graph would need careful management.
|
|
135
|
+
// For this fix, we'll assume events are handled within the request lifecycle or globally if appropriate.
|
|
129
136
|
// Créer une instance du serveur MCP
|
|
130
137
|
const server = new mcp_js_1.McpServer({
|
|
131
138
|
name: "smart-thinking-mcp",
|
|
@@ -327,13 +334,44 @@ generateVisualization: true
|
|
|
327
334
|
]
|
|
328
335
|
};
|
|
329
336
|
}
|
|
330
|
-
// console.error('Smart-Thinking: traitement de la pensée:', params.
|
|
337
|
+
// console.error('Smart-Thinking: traitement de la pensée pour session:', params.sessionId || 'default');
|
|
338
|
+
// --- Session Management & State Loading ---
|
|
339
|
+
const currentSessionId = params.sessionId || 'default';
|
|
340
|
+
const memoryManager = globalMemoryManager; // Use global manager for persistence
|
|
341
|
+
// Create a new graph instance for the session
|
|
342
|
+
const sessionThoughtGraph = new thought_graph_1.ThoughtGraph(currentSessionId, globalEmbeddingService, globalQualityEvaluator);
|
|
343
|
+
// Attempt to load previous graph state for this session
|
|
344
|
+
const loadedStateJson = await memoryManager.loadGraphState(currentSessionId);
|
|
345
|
+
if (loadedStateJson) {
|
|
346
|
+
const importSuccess = sessionThoughtGraph.importEnrichedGraph(loadedStateJson);
|
|
347
|
+
if (importSuccess) {
|
|
348
|
+
console.error(`Smart-Thinking [${currentSessionId}]: État du graphe précédent chargé avec succès.`);
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
console.error(`Smart-Thinking [${currentSessionId}]: Échec du chargement/parsing de l'état du graphe précédent.`);
|
|
352
|
+
// Continue with an empty graph for this session
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
console.error(`Smart-Thinking [${currentSessionId}]: Aucun état de graphe précédent trouvé, nouvelle session de graphe démarrée.`);
|
|
357
|
+
}
|
|
358
|
+
// Use global services (assuming they are stateless or manage their own state)
|
|
359
|
+
// Use the global memoryManager instance directly
|
|
360
|
+
const verificationService = globalVerificationService;
|
|
361
|
+
const qualityEvaluator = globalQualityEvaluator; // Use global
|
|
362
|
+
// const memoryManager = globalMemoryManager; // REMOVED local redeclaration
|
|
363
|
+
const metricsCalculator = globalMetricsCalculator; // Use global
|
|
364
|
+
const toolIntegrator = globalToolIntegrator; // Use global
|
|
331
365
|
// Traitement de la pensée
|
|
332
366
|
const preliminaryResult = await verificationService.performPreliminaryVerification(params.thought, !!params.containsCalculations);
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
367
|
+
// Add thought to the session-specific graph instance
|
|
368
|
+
const thoughtId = sessionThoughtGraph.addThought(preliminaryResult.preverifiedThought, params.thoughtType, params.connections
|
|
369
|
+
// Note: addThought now implicitly uses the graph's sessionId
|
|
370
|
+
);
|
|
371
|
+
// Évaluation de la qualité (maintenant asynchrone) using the session graph
|
|
372
|
+
const qualityMetrics = await qualityEvaluator.evaluate(thoughtId, sessionThoughtGraph);
|
|
373
|
+
// Update metrics on the session graph instance
|
|
374
|
+
sessionThoughtGraph.updateThoughtMetrics(thoughtId, qualityMetrics);
|
|
337
375
|
// Détermination du statut de vérification
|
|
338
376
|
let verificationStatus = 'unverified';
|
|
339
377
|
let certaintySummary = "Information non vérifiée";
|
|
@@ -383,12 +421,13 @@ generateVisualization: true
|
|
|
383
421
|
response.reliabilityScore = (qualityMetrics.confidence * 0.7) + (calculationAccuracy * 0.3);
|
|
384
422
|
}
|
|
385
423
|
}
|
|
386
|
-
// Vérification des informations précédemment vérifiées
|
|
387
|
-
const thought =
|
|
424
|
+
// Vérification des informations précédemment vérifiées (using session ID)
|
|
425
|
+
const thought = sessionThoughtGraph.getThought(thoughtId); // Get from session graph
|
|
388
426
|
// Récupérer les IDs des pensées connectées
|
|
389
427
|
const connectedThoughtIds = params.connections?.map(conn => conn.targetId) || [];
|
|
390
428
|
// Appel amélioré avec type de pensée et connexions
|
|
391
|
-
const previousResult = await verificationService.checkPreviousVerification(thought?.content || params.thought,
|
|
429
|
+
const previousResult = await verificationService.checkPreviousVerification(thought?.content || params.thought, currentSessionId, // Pass current session ID
|
|
430
|
+
params.thoughtType || 'regular', connectedThoughtIds);
|
|
392
431
|
if (previousResult.previousVerification) {
|
|
393
432
|
response.isVerified = previousResult.isVerified;
|
|
394
433
|
response.verificationStatus = previousResult.verificationStatus;
|
|
@@ -396,6 +435,7 @@ generateVisualization: true
|
|
|
396
435
|
response.verification = previousResult.verification;
|
|
397
436
|
response.reliabilityScore = metricsCalculator.calculateReliabilityScore(qualityMetrics, previousResult.verificationStatus, preliminaryResult.verifiedCalculations, response.reliabilityScore // Utiliser le score déjà calculé comme référence
|
|
398
437
|
);
|
|
438
|
+
// Update the thought within the session graph instance
|
|
399
439
|
if (thought) {
|
|
400
440
|
thought.metadata.previousVerification = {
|
|
401
441
|
similarity: previousResult.previousVerification.similarity,
|
|
@@ -406,13 +446,15 @@ generateVisualization: true
|
|
|
406
446
|
}
|
|
407
447
|
}
|
|
408
448
|
// Vérification approfondie si nécessaire
|
|
449
|
+
// Ensure qualityMetrics is awaited before accessing its properties
|
|
409
450
|
if ((qualityMetrics.confidence < config_1.VerificationConfig.CONFIDENCE.VERIFICATION_REQUIRED || params.requestVerification) && !previousResult.previousVerification) {
|
|
410
451
|
// Débogage silencieux
|
|
411
|
-
// console.error(
|
|
452
|
+
// console.error(`Smart-Thinking [${currentSessionId}]: Confiance faible ou vérification demandée, vérification complète nécessaire...`);
|
|
412
453
|
try {
|
|
413
|
-
if (thought) {
|
|
454
|
+
if (thought) { // Ensure thought exists in session graph
|
|
414
455
|
response.verificationStatus = 'verification_in_progress';
|
|
415
|
-
const verification = await verificationService.deepVerify(thought, params.containsCalculations || false, false,
|
|
456
|
+
const verification = await verificationService.deepVerify(thought, params.containsCalculations || false, false, currentSessionId // Pass current session ID
|
|
457
|
+
);
|
|
416
458
|
response.verification = verification;
|
|
417
459
|
response.isVerified = verification.status === 'verified' ||
|
|
418
460
|
verification.status === 'partially_verified' ||
|
|
@@ -423,7 +465,8 @@ generateVisualization: true
|
|
|
423
465
|
response.certaintySummary = metricsCalculator.generateCertaintySummary(verification.status, response.reliabilityScore);
|
|
424
466
|
if (verification.verifiedCalculations && verification.verifiedCalculations.length > 0) {
|
|
425
467
|
response.thought = verificationService.annotateThoughtWithVerifications(response.thought, verification.verifiedCalculations);
|
|
426
|
-
|
|
468
|
+
// Update content in the session graph instance
|
|
469
|
+
sessionThoughtGraph.updateThoughtContent(thoughtId, response.thought);
|
|
427
470
|
}
|
|
428
471
|
}
|
|
429
472
|
}
|
|
@@ -431,44 +474,53 @@ generateVisualization: true
|
|
|
431
474
|
// Suppression des logs d'erreur
|
|
432
475
|
// console.error('Smart-Thinking: Erreur lors de la vérification complète:', error);
|
|
433
476
|
response.verificationStatus = 'inconclusive';
|
|
477
|
+
// Ensure qualityMetrics is awaited before accessing its properties here too
|
|
434
478
|
response.certaintySummary = `Erreur lors de la vérification: ${error instanceof Error ? error.message : 'Erreur inconnue'}. Niveau de confiance: ${Math.round(qualityMetrics.confidence * 100)}%.`;
|
|
435
479
|
}
|
|
436
480
|
}
|
|
437
481
|
// Fonctionnalités additionnelles selon les paramètres
|
|
438
482
|
if (params.suggestTools) {
|
|
439
|
-
|
|
483
|
+
// suggestTools is now async
|
|
484
|
+
response.suggestedTools = await toolIntegrator.suggestTools(params.thought); // Tool suggestions are likely context-dependent, not session-dependent
|
|
440
485
|
}
|
|
441
|
-
// Génération de visualisation si demandée
|
|
486
|
+
// Génération de visualisation si demandée (using session graph)
|
|
442
487
|
if (params.generateVisualization) {
|
|
443
488
|
try {
|
|
444
489
|
const visualizationType = params.visualizationType || 'graph';
|
|
445
490
|
const visualizationOptions = params.visualizationOptions || {};
|
|
491
|
+
// Pass the session-specific graph to the visualizer methods
|
|
446
492
|
const generateVisualizationAsync = async () => {
|
|
447
493
|
switch (visualizationType) {
|
|
448
494
|
case 'chronological':
|
|
449
|
-
|
|
495
|
+
// Pass session graph
|
|
496
|
+
return await Promise.resolve(visualizer.generateChronologicalVisualization(sessionThoughtGraph));
|
|
450
497
|
case 'thematic':
|
|
451
|
-
|
|
498
|
+
// Pass session graph
|
|
499
|
+
return await Promise.resolve(visualizer.generateThematicVisualization(sessionThoughtGraph));
|
|
452
500
|
case 'hierarchical':
|
|
453
|
-
|
|
501
|
+
// Pass session graph
|
|
502
|
+
return await Promise.resolve(visualizer.generateHierarchicalVisualization(sessionThoughtGraph, visualizationOptions.centerNode, {
|
|
454
503
|
direction: visualizationOptions.direction,
|
|
455
504
|
levelSeparation: 100,
|
|
456
505
|
clusterBy: visualizationOptions.clusterBy
|
|
457
506
|
}));
|
|
458
507
|
case 'force':
|
|
459
|
-
|
|
508
|
+
// Pass session graph
|
|
509
|
+
return await Promise.resolve(visualizer.generateForceDirectedVisualization(sessionThoughtGraph, {
|
|
460
510
|
clusterBy: visualizationOptions.clusterBy,
|
|
461
511
|
forceStrength: 0.5,
|
|
462
512
|
centerNode: visualizationOptions.centerNode
|
|
463
513
|
}));
|
|
464
514
|
case 'radial':
|
|
465
|
-
|
|
515
|
+
// Pass session graph
|
|
516
|
+
return await Promise.resolve(visualizer.generateRadialVisualization(sessionThoughtGraph, visualizationOptions.centerNode, {
|
|
466
517
|
maxDepth: visualizationOptions.maxDepth,
|
|
467
518
|
radialDistance: 120
|
|
468
519
|
}));
|
|
469
520
|
case 'graph':
|
|
470
521
|
default:
|
|
471
|
-
|
|
522
|
+
// Pass session graph
|
|
523
|
+
return await Promise.resolve(visualizer.generateVisualization(sessionThoughtGraph, thoughtId));
|
|
472
524
|
}
|
|
473
525
|
};
|
|
474
526
|
response.visualization = await generateVisualizationAsync();
|
|
@@ -484,20 +536,27 @@ generateVisualization: true
|
|
|
484
536
|
// console.error('Smart-Thinking: Erreur lors de la génération de la visualisation:', error);
|
|
485
537
|
}
|
|
486
538
|
}
|
|
487
|
-
// Récupération des mémoires et suggestions
|
|
488
|
-
const relevantMemoriesPromise =
|
|
489
|
-
|
|
539
|
+
// Récupération des mémoires et suggestions (pass session ID) using globalMemoryManager
|
|
540
|
+
const relevantMemoriesPromise = globalMemoryManager.getRelevantMemories(params.thought, 3, currentSessionId);
|
|
541
|
+
// Pass session ID to suggestNextSteps
|
|
542
|
+
response.suggestedNextSteps = await sessionThoughtGraph.suggestNextSteps(3, currentSessionId);
|
|
490
543
|
response.relevantMemories = await relevantMemoriesPromise;
|
|
491
|
-
// Stockage de la pensée dans la mémoire
|
|
544
|
+
// Stockage de la pensée dans la mémoire (pass session ID)
|
|
492
545
|
if (response.qualityMetrics.quality > 0.7) {
|
|
493
546
|
const tags = params.thought
|
|
494
547
|
.toLowerCase()
|
|
495
548
|
.split(/\W+/)
|
|
496
549
|
.filter((word) => word.length > 4)
|
|
497
550
|
.slice(0, 5);
|
|
498
|
-
|
|
551
|
+
// Pass session ID when adding memory using globalMemoryManager
|
|
552
|
+
globalMemoryManager.addMemory(params.thought, tags, currentSessionId);
|
|
499
553
|
}
|
|
500
|
-
// console.error(
|
|
554
|
+
// console.error(`Smart-Thinking [${currentSessionId}]: pensée traitée avec succès, id:`, thoughtId);
|
|
555
|
+
// --- State Saving ---
|
|
556
|
+
// Export and save the updated graph state before returning using globalMemoryManager
|
|
557
|
+
const currentStateJson = sessionThoughtGraph.exportEnrichedGraph();
|
|
558
|
+
await globalMemoryManager.saveGraphState(currentSessionId, currentStateJson);
|
|
559
|
+
console.error(`Smart-Thinking [${currentSessionId}]: État actuel du graphe sauvegardé.`);
|
|
501
560
|
// Retour de la réponse formatée pour MCP
|
|
502
561
|
return {
|
|
503
562
|
content: [
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,9 +57,10 @@ export declare class MemoryManager {
|
|
|
57
57
|
*
|
|
58
58
|
* @param content Le contenu de l'élément de mémoire
|
|
59
59
|
* @param tags Les tags associés
|
|
60
|
+
* @param sessionId L'identifiant de session facultatif
|
|
60
61
|
* @returns L'identifiant de l'élément ajouté
|
|
61
62
|
*/
|
|
62
|
-
addMemory(content: string, tags?: string[]): string;
|
|
63
|
+
addMemory(content: string, tags?: string[], sessionId?: string): string;
|
|
63
64
|
/**
|
|
64
65
|
* Récupère un élément de mémoire par son identifiant
|
|
65
66
|
*
|
|
@@ -71,24 +72,27 @@ export declare class MemoryManager {
|
|
|
71
72
|
* Récupère les éléments de mémoire les plus récents
|
|
72
73
|
*
|
|
73
74
|
* @param limit Le nombre maximum d'éléments à récupérer
|
|
74
|
-
* @
|
|
75
|
+
* @param sessionId L'identifiant de session facultatif pour filtrer
|
|
76
|
+
* @returns Un tableau des éléments les plus récents (filtrés par session)
|
|
75
77
|
*/
|
|
76
|
-
getRecentMemories(limit?: number): MemoryItem[];
|
|
78
|
+
getRecentMemories(limit?: number, sessionId?: string): MemoryItem[];
|
|
77
79
|
/**
|
|
78
80
|
* Récupère les éléments de mémoire les plus pertinents pour un contexte donné
|
|
79
81
|
* AMÉLIORÉ: Fiabilité améliorée et meilleure gestion des erreurs
|
|
80
82
|
*
|
|
81
83
|
* @param context Le contexte pour lequel chercher des éléments pertinents
|
|
82
84
|
* @param limit Le nombre maximum d'éléments à récupérer
|
|
83
|
-
* @
|
|
85
|
+
* @param sessionId L'identifiant de session facultatif pour filtrer
|
|
86
|
+
* @returns Un tableau des éléments les plus pertinents (filtrés par session)
|
|
84
87
|
*/
|
|
85
|
-
getRelevantMemories(context: string, limit?: number): Promise<MemoryItem[]>;
|
|
88
|
+
getRelevantMemories(context: string, limit?: number, sessionId?: string): Promise<MemoryItem[]>;
|
|
86
89
|
/**
|
|
87
90
|
* Implémentation de secours basée sur les mots-clés
|
|
88
91
|
*
|
|
89
92
|
* @param context Le contexte pour lequel chercher des éléments pertinents
|
|
90
93
|
* @param limit Le nombre maximum d'éléments à récupérer
|
|
91
|
-
* @
|
|
94
|
+
* @param sessionId L'identifiant de session facultatif pour filtrer
|
|
95
|
+
* @returns Un tableau des éléments les plus pertinents (filtrés par session)
|
|
92
96
|
*/
|
|
93
97
|
private getRelevantMemoriesWithKeywords;
|
|
94
98
|
/**
|
|
@@ -96,9 +100,10 @@ export declare class MemoryManager {
|
|
|
96
100
|
*
|
|
97
101
|
* @param tag Le tag à rechercher
|
|
98
102
|
* @param limit Le nombre maximum d'éléments à récupérer
|
|
99
|
-
* @
|
|
103
|
+
* @param sessionId L'identifiant de session facultatif pour filtrer
|
|
104
|
+
* @returns Un tableau des éléments correspondant au tag (filtrés par session)
|
|
100
105
|
*/
|
|
101
|
-
getMemoriesByTag(tag: string, limit?: number): MemoryItem[];
|
|
106
|
+
getMemoriesByTag(tag: string, limit?: number, sessionId?: string): MemoryItem[];
|
|
102
107
|
/**
|
|
103
108
|
* Ajoute ou met à jour un élément dans la base de connaissances
|
|
104
109
|
*
|
|
@@ -117,4 +122,16 @@ export declare class MemoryManager {
|
|
|
117
122
|
* Efface toutes les mémoires et connaissances
|
|
118
123
|
*/
|
|
119
124
|
clear(): void;
|
|
125
|
+
/**
|
|
126
|
+
* Sauvegarde l'état complet d'un graphe de session dans un fichier dédié.
|
|
127
|
+
* @param sessionId L'identifiant de la session.
|
|
128
|
+
* @param graphStateJson La représentation JSON de l'état du graphe.
|
|
129
|
+
*/
|
|
130
|
+
saveGraphState(sessionId: string, graphStateJson: string): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Charge l'état complet d'un graphe de session depuis son fichier dédié.
|
|
133
|
+
* @param sessionId L'identifiant de la session.
|
|
134
|
+
* @returns Le JSON de l'état du graphe ou null si non trouvé ou en cas d'erreur.
|
|
135
|
+
*/
|
|
136
|
+
loadGraphState(sessionId: string): Promise<string | null>;
|
|
120
137
|
}
|
package/build/memory-manager.js
CHANGED
|
@@ -307,15 +307,19 @@ class MemoryManager {
|
|
|
307
307
|
*
|
|
308
308
|
* @param content Le contenu de l'élément de mémoire
|
|
309
309
|
* @param tags Les tags associés
|
|
310
|
+
* @param sessionId L'identifiant de session facultatif
|
|
310
311
|
* @returns L'identifiant de l'élément ajouté
|
|
311
312
|
*/
|
|
312
|
-
addMemory(content, tags = []) {
|
|
313
|
+
addMemory(content, tags = [], sessionId) {
|
|
313
314
|
const id = this.generateUniqueId();
|
|
314
315
|
const memory = {
|
|
315
316
|
id,
|
|
316
317
|
content,
|
|
317
318
|
tags,
|
|
318
|
-
timestamp: new Date()
|
|
319
|
+
timestamp: new Date(),
|
|
320
|
+
metadata: {
|
|
321
|
+
sessionId: sessionId || 'default' // Use 'default' if no session ID provided
|
|
322
|
+
}
|
|
319
323
|
};
|
|
320
324
|
this.memories.set(id, memory);
|
|
321
325
|
this.saveToStorage();
|
|
@@ -334,10 +338,15 @@ class MemoryManager {
|
|
|
334
338
|
* Récupère les éléments de mémoire les plus récents
|
|
335
339
|
*
|
|
336
340
|
* @param limit Le nombre maximum d'éléments à récupérer
|
|
337
|
-
* @
|
|
341
|
+
* @param sessionId L'identifiant de session facultatif pour filtrer
|
|
342
|
+
* @returns Un tableau des éléments les plus récents (filtrés par session)
|
|
338
343
|
*/
|
|
339
|
-
getRecentMemories(limit = 5) {
|
|
340
|
-
|
|
344
|
+
getRecentMemories(limit = 5, sessionId) {
|
|
345
|
+
const allMemories = Array.from(this.memories.values());
|
|
346
|
+
const filteredMemories = sessionId
|
|
347
|
+
? allMemories.filter(m => m.metadata?.sessionId === sessionId)
|
|
348
|
+
: allMemories.filter(m => !m.metadata?.sessionId || m.metadata?.sessionId === 'default'); // Include default session if no ID specified
|
|
349
|
+
return filteredMemories
|
|
341
350
|
.sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime())
|
|
342
351
|
.slice(0, limit);
|
|
343
352
|
}
|
|
@@ -347,37 +356,43 @@ class MemoryManager {
|
|
|
347
356
|
*
|
|
348
357
|
* @param context Le contexte pour lequel chercher des éléments pertinents
|
|
349
358
|
* @param limit Le nombre maximum d'éléments à récupérer
|
|
350
|
-
* @
|
|
359
|
+
* @param sessionId L'identifiant de session facultatif pour filtrer
|
|
360
|
+
* @returns Un tableau des éléments les plus pertinents (filtrés par session)
|
|
351
361
|
*/
|
|
352
|
-
async getRelevantMemories(context, limit = 3) {
|
|
362
|
+
async getRelevantMemories(context, limit = 3, sessionId) {
|
|
363
|
+
// Filter memories by session first
|
|
353
364
|
const allMemories = Array.from(this.memories.values());
|
|
354
|
-
|
|
355
|
-
|
|
365
|
+
const sessionMemories = sessionId
|
|
366
|
+
? allMemories.filter(m => m.metadata?.sessionId === sessionId)
|
|
367
|
+
: allMemories.filter(m => !m.metadata?.sessionId || m.metadata?.sessionId === 'default'); // Include default session if no ID specified
|
|
368
|
+
// Vérifier si nous avons des mémoires à traiter dans cette session
|
|
369
|
+
if (sessionMemories.length === 0) {
|
|
356
370
|
this.debugLog('Aucune mémoire disponible pour la recherche de pertinence');
|
|
357
371
|
return [];
|
|
358
372
|
}
|
|
359
|
-
// Si nous n'avons pas de service d'embeddings, utiliser l'algorithme de base
|
|
373
|
+
// Si nous n'avons pas de service d'embeddings, utiliser l'algorithme de base sur les mémoires de la session
|
|
360
374
|
if (!this.embeddingService) {
|
|
361
|
-
this.debugLog('Service d\'embeddings non disponible, utilisation de l\'algorithme de mots-clés');
|
|
362
|
-
return this.getRelevantMemoriesWithKeywords(context, limit);
|
|
375
|
+
this.debugLog('Service d\'embeddings non disponible, utilisation de l\'algorithme de mots-clés pour la session');
|
|
376
|
+
return this.getRelevantMemoriesWithKeywords(context, limit, sessionId);
|
|
363
377
|
}
|
|
364
378
|
try {
|
|
365
|
-
// Utiliser le service d'embeddings pour trouver les mémoires similaires
|
|
366
|
-
const memoryTexts =
|
|
379
|
+
// Utiliser le service d'embeddings pour trouver les mémoires similaires DANS LA SESSION
|
|
380
|
+
const memoryTexts = sessionMemories.map(memory => memory.content);
|
|
367
381
|
this.debugLog(`Recherche de mémoires pertinentes parmi ${memoryTexts.length} éléments avec embeddings`);
|
|
368
382
|
// Utiliser un seuil de similarité plus bas pour augmenter les chances de trouver des correspondances
|
|
369
383
|
const threshold = 0.3; // Seuil de similarité plus bas
|
|
370
384
|
const similarResults = await this.embeddingService.findSimilarTexts(context, memoryTexts, limit, threshold);
|
|
371
385
|
this.debugLog(`${similarResults.length} résultats similaires trouvés avec embeddings`);
|
|
372
386
|
if (similarResults.length === 0) {
|
|
373
|
-
// Aucun résultat avec embeddings, essayer avec mots-clés
|
|
374
|
-
this.debugLog('Aucun résultat avec embeddings, utilisation des mots-clés');
|
|
375
|
-
return this.getRelevantMemoriesWithKeywords(context, limit);
|
|
387
|
+
// Aucun résultat avec embeddings dans la session, essayer avec mots-clés pour la session
|
|
388
|
+
this.debugLog('Aucun résultat avec embeddings pour la session, utilisation des mots-clés pour la session');
|
|
389
|
+
return this.getRelevantMemoriesWithKeywords(context, limit, sessionId);
|
|
376
390
|
}
|
|
377
|
-
// Convertir les résultats en mémoires
|
|
391
|
+
// Convertir les résultats en mémoires (en s'assurant qu'ils proviennent de la session)
|
|
378
392
|
const memoryResults = [];
|
|
379
393
|
for (const result of similarResults) {
|
|
380
|
-
|
|
394
|
+
// Find the matching memory within the session memories
|
|
395
|
+
const matchingMemory = sessionMemories.find(memory => memory.content === result.text);
|
|
381
396
|
if (matchingMemory) {
|
|
382
397
|
// Créer une copie avec le score de pertinence
|
|
383
398
|
memoryResults.push({
|
|
@@ -392,8 +407,8 @@ class MemoryManager {
|
|
|
392
407
|
catch (error) {
|
|
393
408
|
// Log d'erreur important - garder
|
|
394
409
|
console.error('Smart-Thinking: Erreur lors de la recherche de mémoires pertinentes avec embeddings:', error);
|
|
395
|
-
// En cas d'erreur, revenir à l'algorithme basé sur les mots-clés
|
|
396
|
-
return this.getRelevantMemoriesWithKeywords(context, limit);
|
|
410
|
+
// En cas d'erreur, revenir à l'algorithme basé sur les mots-clés pour la session
|
|
411
|
+
return this.getRelevantMemoriesWithKeywords(context, limit, sessionId);
|
|
397
412
|
}
|
|
398
413
|
}
|
|
399
414
|
/**
|
|
@@ -401,12 +416,20 @@ class MemoryManager {
|
|
|
401
416
|
*
|
|
402
417
|
* @param context Le contexte pour lequel chercher des éléments pertinents
|
|
403
418
|
* @param limit Le nombre maximum d'éléments à récupérer
|
|
404
|
-
* @
|
|
419
|
+
* @param sessionId L'identifiant de session facultatif pour filtrer
|
|
420
|
+
* @returns Un tableau des éléments les plus pertinents (filtrés par session)
|
|
405
421
|
*/
|
|
406
|
-
getRelevantMemoriesWithKeywords(context, limit = 3) {
|
|
407
|
-
//
|
|
422
|
+
getRelevantMemoriesWithKeywords(context, limit = 3, sessionId) {
|
|
423
|
+
// Filter memories by session first
|
|
424
|
+
const allMemories = Array.from(this.memories.values());
|
|
425
|
+
const sessionMemories = sessionId
|
|
426
|
+
? allMemories.filter(m => m.metadata?.sessionId === sessionId)
|
|
427
|
+
: allMemories.filter(m => !m.metadata?.sessionId || m.metadata?.sessionId === 'default');
|
|
428
|
+
if (sessionMemories.length === 0)
|
|
429
|
+
return [];
|
|
430
|
+
// Une implémentation simple basée sur la correspondance de mots-clés DANS LA SESSION
|
|
408
431
|
const contextWords = context.toLowerCase().split(/\W+/).filter(word => word.length > 3);
|
|
409
|
-
return
|
|
432
|
+
return sessionMemories
|
|
410
433
|
.map(memory => {
|
|
411
434
|
const memoryWords = memory.content.toLowerCase().split(/\W+/).filter(word => word.length > 3);
|
|
412
435
|
const memoryTagWords = memory.tags.join(' ').toLowerCase().split(/\W+/).filter(word => word.length > 3);
|
|
@@ -437,11 +460,15 @@ class MemoryManager {
|
|
|
437
460
|
*
|
|
438
461
|
* @param tag Le tag à rechercher
|
|
439
462
|
* @param limit Le nombre maximum d'éléments à récupérer
|
|
440
|
-
* @
|
|
463
|
+
* @param sessionId L'identifiant de session facultatif pour filtrer
|
|
464
|
+
* @returns Un tableau des éléments correspondant au tag (filtrés par session)
|
|
441
465
|
*/
|
|
442
|
-
getMemoriesByTag(tag, limit = 10) {
|
|
443
|
-
|
|
444
|
-
|
|
466
|
+
getMemoriesByTag(tag, limit = 10, sessionId) {
|
|
467
|
+
const allMemories = Array.from(this.memories.values());
|
|
468
|
+
const filteredMemories = sessionId
|
|
469
|
+
? allMemories.filter(m => m.metadata?.sessionId === sessionId && m.tags.includes(tag))
|
|
470
|
+
: allMemories.filter(m => (!m.metadata?.sessionId || m.metadata?.sessionId === 'default') && m.tags.includes(tag));
|
|
471
|
+
return filteredMemories
|
|
445
472
|
.sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime())
|
|
446
473
|
.slice(0, limit);
|
|
447
474
|
}
|
|
@@ -472,6 +499,49 @@ class MemoryManager {
|
|
|
472
499
|
this.knowledgeBase.clear();
|
|
473
500
|
this.saveToStorage();
|
|
474
501
|
}
|
|
502
|
+
/**
|
|
503
|
+
* Sauvegarde l'état complet d'un graphe de session dans un fichier dédié.
|
|
504
|
+
* @param sessionId L'identifiant de la session.
|
|
505
|
+
* @param graphStateJson La représentation JSON de l'état du graphe.
|
|
506
|
+
*/
|
|
507
|
+
async saveGraphState(sessionId, graphStateJson) {
|
|
508
|
+
try {
|
|
509
|
+
await this.ensureDirectoriesExist(); // Assure que le répertoire data existe
|
|
510
|
+
const filePath = path_1.default.join(this.dataDir, `graph_state_${sessionId}.json`);
|
|
511
|
+
await fs_1.promises.writeFile(filePath, graphStateJson, 'utf8');
|
|
512
|
+
this.debugLog(`État du graphe pour la session ${sessionId} sauvegardé dans ${filePath}`);
|
|
513
|
+
}
|
|
514
|
+
catch (error) {
|
|
515
|
+
console.error(`Smart-Thinking: Erreur lors de la sauvegarde de l'état du graphe pour la session ${sessionId}:`, error);
|
|
516
|
+
// Ne pas bloquer l'exécution principale si la sauvegarde échoue, mais logger l'erreur.
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Charge l'état complet d'un graphe de session depuis son fichier dédié.
|
|
521
|
+
* @param sessionId L'identifiant de la session.
|
|
522
|
+
* @returns Le JSON de l'état du graphe ou null si non trouvé ou en cas d'erreur.
|
|
523
|
+
*/
|
|
524
|
+
async loadGraphState(sessionId) {
|
|
525
|
+
try {
|
|
526
|
+
await this.ensureDirectoriesExist(); // Assure que le répertoire data existe
|
|
527
|
+
const filePath = path_1.default.join(this.dataDir, `graph_state_${sessionId}.json`);
|
|
528
|
+
// Vérifier si le fichier existe avant de tenter de le lire
|
|
529
|
+
try {
|
|
530
|
+
await fs_1.promises.access(filePath, fs_1.promises.constants.R_OK);
|
|
531
|
+
}
|
|
532
|
+
catch (accessError) {
|
|
533
|
+
this.debugLog(`Aucun état de graphe sauvegardé trouvé pour la session ${sessionId} à ${filePath}`);
|
|
534
|
+
return null; // Fichier non trouvé ou inaccessible
|
|
535
|
+
}
|
|
536
|
+
const graphStateJson = await fs_1.promises.readFile(filePath, 'utf8');
|
|
537
|
+
this.debugLog(`État du graphe pour la session ${sessionId} chargé depuis ${filePath}`);
|
|
538
|
+
return graphStateJson;
|
|
539
|
+
}
|
|
540
|
+
catch (error) {
|
|
541
|
+
console.error(`Smart-Thinking: Erreur lors du chargement de l'état du graphe pour la session ${sessionId}:`, error);
|
|
542
|
+
return null; // Retourner null en cas d'erreur de lecture ou de parsing
|
|
543
|
+
}
|
|
544
|
+
}
|
|
475
545
|
}
|
|
476
546
|
exports.MemoryManager = MemoryManager;
|
|
477
547
|
//# sourceMappingURL=memory-manager.js.map
|