smart-thinking-mcp 10.0.0 → 10.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/thought-graph.js +133 -34
- package/build/thought-graph.js.map +1 -1
- package/package.json +1 -1
- package/build/utils/e2b-calculator.d.ts +0 -118
- package/build/utils/e2b-calculator.js +0 -365
- package/build/utils/e2b-calculator.js.map +0 -1
- package/build/utils/e2b-client.d.ts +0 -53
- package/build/utils/e2b-client.js +0 -185
- package/build/utils/e2b-client.js.map +0 -1
- package/build/utils/enhanced-math-evaluator.d.ts +0 -42
- package/build/utils/enhanced-math-evaluator.js +0 -110
- package/build/utils/enhanced-math-evaluator.js.map +0 -1
package/build/thought-graph.js
CHANGED
|
@@ -575,7 +575,7 @@ class ThoughtGraph {
|
|
|
575
575
|
*/
|
|
576
576
|
inferRelationsByPatterns(confidenceThreshold) {
|
|
577
577
|
let newRelationsCount = 0;
|
|
578
|
-
// Détecter
|
|
578
|
+
// Détecter des clusters de pensées fortement connectées
|
|
579
579
|
const clusters = this.detectClusters();
|
|
580
580
|
// Pour chaque cluster, créer des hyperliens entre les membres
|
|
581
581
|
for (const cluster of clusters) {
|
|
@@ -984,23 +984,127 @@ class ThoughtGraph {
|
|
|
984
984
|
*/
|
|
985
985
|
async suggestNextSteps(limit = 3, sessionId) {
|
|
986
986
|
const sessionThoughts = this.getAllThoughts(sessionId);
|
|
987
|
+
// Si aucune pensée n'existe dans la session, retourner un tableau vide
|
|
987
988
|
if (sessionThoughts.length === 0) {
|
|
988
|
-
return [
|
|
989
|
-
description: "Commencez par définir le problème ou la question à explorer dans cette session",
|
|
990
|
-
type: 'regular',
|
|
991
|
-
confidence: 0.9,
|
|
992
|
-
reasoning: "Une définition claire du problème est essentielle pour un raisonnement efficace"
|
|
993
|
-
}];
|
|
989
|
+
return [];
|
|
994
990
|
}
|
|
991
|
+
// Recueillir un contexte riche pour le LLM
|
|
992
|
+
// 1. Obtenir la pensée initiale (probablement la première de la session)
|
|
993
|
+
const initialThought = sessionThoughts.length > 0 ?
|
|
994
|
+
sessionThoughts.reduce((earliest, current) => new Date(earliest.metadata?.timestamp || 0) <= new Date(current.metadata?.timestamp || 0) ? earliest : current, sessionThoughts[0]) : null;
|
|
995
|
+
const initialThoughtSummary = initialThought ?
|
|
996
|
+
`[${initialThought.type}] ${initialThought.content.substring(0, 150)}...` :
|
|
997
|
+
'Non identifié';
|
|
998
|
+
// 2. Identifier les nœuds clés
|
|
999
|
+
// Hypothèses récentes
|
|
1000
|
+
const hypotheses = sessionThoughts.filter(t => t.type === 'hypothesis');
|
|
1001
|
+
const recentHypotheses = hypotheses
|
|
1002
|
+
.sort((a, b) => new Date(b.metadata?.timestamp || 0).getTime() - new Date(a.metadata?.timestamp || 0).getTime())
|
|
1003
|
+
.slice(0, 3);
|
|
1004
|
+
const hypothesesSummary = recentHypotheses.length > 0 ?
|
|
1005
|
+
recentHypotheses.map(h => h.content.substring(0, 100)).join('\n') :
|
|
1006
|
+
'Aucune hypothèse formulée';
|
|
1007
|
+
// Conclusions récentes
|
|
1008
|
+
const conclusions = sessionThoughts.filter(t => t.type === 'conclusion');
|
|
1009
|
+
const recentConclusions = conclusions
|
|
1010
|
+
.sort((a, b) => new Date(b.metadata?.timestamp || 0).getTime() - new Date(a.metadata?.timestamp || 0).getTime())
|
|
1011
|
+
.slice(0, 2);
|
|
1012
|
+
const conclusionsSummary = recentConclusions.length > 0 ?
|
|
1013
|
+
recentConclusions.map(c => c.content.substring(0, 100)).join('\n') :
|
|
1014
|
+
'Aucune conclusion formulée';
|
|
1015
|
+
// Questions ouvertes (pensées contenant des points d'interrogation ou des mots-clés de question)
|
|
1016
|
+
const questionKeywords = ['pourquoi', 'comment', 'quoi', 'qui', 'où', 'quand', 'quel', 'quelle'];
|
|
1017
|
+
const openQuestions = sessionThoughts.filter(t => t.content.includes('?') ||
|
|
1018
|
+
questionKeywords.some(keyword => t.content.toLowerCase().includes(keyword)));
|
|
1019
|
+
const recentQuestions = openQuestions
|
|
1020
|
+
.sort((a, b) => new Date(b.metadata?.timestamp || 0).getTime() - new Date(a.metadata?.timestamp || 0).getTime())
|
|
1021
|
+
.slice(0, 3);
|
|
1022
|
+
const questionsSummary = recentQuestions.length > 0 ?
|
|
1023
|
+
recentQuestions.map(q => q.content.substring(0, 100)).join('\n') :
|
|
1024
|
+
'Aucune question explicite identifiée';
|
|
1025
|
+
// 3. Identifier les contradictions et problèmes
|
|
1026
|
+
const contradictions = sessionThoughts.filter(thought => thought.connections.some(conn => {
|
|
1027
|
+
// Check if the connected thought also belongs to the session
|
|
1028
|
+
const targetThought = this.getThought(conn.targetId);
|
|
1029
|
+
return conn.type === 'contradicts' && targetThought?.metadata?.sessionId === sessionId;
|
|
1030
|
+
}));
|
|
1031
|
+
const contradictionsSummary = contradictions.length > 0 ?
|
|
1032
|
+
contradictions.map(c => {
|
|
1033
|
+
const contradictingConnections = c.connections.filter(conn => conn.type === 'contradicts');
|
|
1034
|
+
const contradictedThoughts = contradictingConnections.map(conn => this.getThought(conn.targetId));
|
|
1035
|
+
return `"${c.content.substring(0, 70)}..." contredit "${contradictedThoughts[0]?.content.substring(0, 70)}..."`;
|
|
1036
|
+
}).join('\n') :
|
|
1037
|
+
'Aucune contradiction explicite détectée';
|
|
1038
|
+
// 4. Résumer l'activité récente
|
|
995
1039
|
const recentThoughts = this.getRecentThoughts(5, sessionId);
|
|
996
|
-
const
|
|
997
|
-
const
|
|
1040
|
+
const thoughtTypes = recentThoughts.map(t => t.type);
|
|
1041
|
+
const uniqueTypes = [...new Set(thoughtTypes)];
|
|
1042
|
+
const recentActivitySummary = `Activité récente: ${uniqueTypes.join(', ')}`;
|
|
1043
|
+
// 5. Analyser la structure du graphe
|
|
1044
|
+
let graphStructureSummary = 'Structure indéterminée';
|
|
1045
|
+
if (sessionThoughts.length <= 3) {
|
|
1046
|
+
graphStructureSummary = 'Exploration initiale';
|
|
1047
|
+
}
|
|
1048
|
+
else {
|
|
1049
|
+
// Vérifier si la structure est principalement linéaire
|
|
1050
|
+
const isLinear = sessionThoughts.every(t => t.connections.length <= 2);
|
|
1051
|
+
// Vérifier s'il y a des clusters
|
|
1052
|
+
const hasClusters = this.detectClusters().length > 1;
|
|
1053
|
+
// Vérifier s'il y a beaucoup de connexions (structure en réseau)
|
|
1054
|
+
const avgConnections = sessionThoughts.reduce((sum, t) => sum + t.connections.length, 0) / sessionThoughts.length;
|
|
1055
|
+
if (isLinear) {
|
|
1056
|
+
graphStructureSummary = 'Progression principalement linéaire';
|
|
1057
|
+
}
|
|
1058
|
+
else if (hasClusters) {
|
|
1059
|
+
graphStructureSummary = 'Plusieurs clusters de pensées identifiés';
|
|
1060
|
+
}
|
|
1061
|
+
else if (avgConnections > 3) {
|
|
1062
|
+
graphStructureSummary = 'Structure en réseau avec nombreuses connexions';
|
|
1063
|
+
}
|
|
1064
|
+
else {
|
|
1065
|
+
graphStructureSummary = 'Structure mixte avec quelques branches';
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
// 6. Construire un prompt utilisateur enrichi
|
|
1069
|
+
const userPrompt = `
|
|
1070
|
+
Analyse de la Session de Raisonnement (ID: ${sessionId || 'session principale'}):
|
|
1071
|
+
- Pensée Initiale/Objectif: ${initialThoughtSummary}
|
|
1072
|
+
- Focus d'Activité Récente: ${recentActivitySummary}
|
|
1073
|
+
- Nœuds Clés:
|
|
1074
|
+
- Hypothèses: ${hypothesesSummary}
|
|
1075
|
+
- Conclusions: ${conclusionsSummary}
|
|
1076
|
+
- Questions Ouvertes: ${questionsSummary}
|
|
1077
|
+
- État du Graphe: ${graphStructureSummary} (${sessionThoughts.length} pensées au total)
|
|
1078
|
+
- Problèmes Identifiés: ${contradictionsSummary}
|
|
1079
|
+
|
|
1080
|
+
En fonction de cet état, suggérez les ${limit} prochaines étapes concrètes pour faire avancer le processus de raisonnement.
|
|
1081
|
+
Concentrez-vous sur des étapes qui:
|
|
1082
|
+
- Répondent aux questions ouvertes
|
|
1083
|
+
- Testent les hypothèses formulées
|
|
1084
|
+
- Résolvent les contradictions identifiées
|
|
1085
|
+
- Approfondissent l'analyse des points importants
|
|
1086
|
+
- Utilisent les outils disponibles (recherche web, exécution de code, etc.) quand c'est pertinent
|
|
1087
|
+
|
|
1088
|
+
Formatez la réponse comme un tableau JSON d'objets, chacun avec 'description' (string), 'type' (ThoughtType comme 'regular', 'hypothesis', 'meta', etc.), 'confidence' (nombre entre 0 et 1), et 'reasoning' (string expliquant pourquoi cette étape est suggérée).
|
|
1089
|
+
|
|
1090
|
+
Exemple: [{"description": "Vérifier l'affirmation X avec une recherche web", "type": "regular", "confidence": 0.9, "reasoning": "Cette affirmation manque de sources fiables"}, ...]
|
|
1091
|
+
`;
|
|
1092
|
+
// 7. Améliorer le prompt système
|
|
1093
|
+
const systemPrompt = `Vous êtes un assistant IA expert guidant un processus de raisonnement complexe suivi dans un graphe de pensées.
|
|
1094
|
+
Votre tâche est d'analyser le résumé fourni de l'état actuel du raisonnement (incluant objectifs, nœuds clés, structure et problèmes)
|
|
1095
|
+
et de suggérer ${limit} prochaines étapes concrètes, logiques et pertinentes.
|
|
1096
|
+
|
|
1097
|
+
Les suggestions doivent aider l'utilisateur à faire progresser sa réflexion, explorer des possibilités, vérifier des informations,
|
|
1098
|
+
ou synthétiser des découvertes. Vos suggestions doivent être spécifiques et actionables, pas génériques.
|
|
1099
|
+
|
|
1100
|
+
Assurez-vous que votre sortie est UNIQUEMENT le tableau JSON demandé, correctement formaté et parsable.`;
|
|
1101
|
+
// 8. Appeler le LLM avec le contexte enrichi
|
|
998
1102
|
let llmSuggestions = null;
|
|
999
1103
|
try {
|
|
1000
|
-
|
|
1001
|
-
const
|
|
1002
|
-
const llmResponse = await (0, openrouter_client_1.callInternalLlm)(systemPrompt, userPrompt, 1000);
|
|
1104
|
+
// Réduire la température pour une sortie JSON plus fiable
|
|
1105
|
+
const llmResponse = await (0, openrouter_client_1.callInternalLlm)(systemPrompt, userPrompt, 2000);
|
|
1003
1106
|
if (llmResponse) {
|
|
1107
|
+
// Améliorer la détection et l'analyse du JSON
|
|
1004
1108
|
const jsonMatch = llmResponse.match(/\[\s*\{[\s\S]*\}\s*\]/);
|
|
1005
1109
|
if (jsonMatch) {
|
|
1006
1110
|
const jsonString = jsonMatch[0];
|
|
@@ -1009,12 +1113,17 @@ class ThoughtGraph {
|
|
|
1009
1113
|
if (Array.isArray(parsedSuggestions) && parsedSuggestions.length > 0) {
|
|
1010
1114
|
const validatedSuggestions = [];
|
|
1011
1115
|
for (const suggestion of parsedSuggestions) {
|
|
1012
|
-
if (suggestion &&
|
|
1116
|
+
if (suggestion &&
|
|
1117
|
+
typeof suggestion.description === 'string' &&
|
|
1118
|
+
typeof suggestion.type === 'string') {
|
|
1119
|
+
// Valider et normaliser la structure
|
|
1013
1120
|
validatedSuggestions.push({
|
|
1014
1121
|
description: suggestion.description,
|
|
1015
1122
|
type: suggestion.type,
|
|
1016
|
-
confidence:
|
|
1017
|
-
|
|
1123
|
+
confidence: typeof suggestion.confidence === 'number' ?
|
|
1124
|
+
Math.min(Math.max(suggestion.confidence, 0), 1) : 0.8,
|
|
1125
|
+
reasoning: typeof suggestion.reasoning === 'string' ?
|
|
1126
|
+
suggestion.reasoning : "Suggéré par LLM basé sur l'état du graphe."
|
|
1018
1127
|
});
|
|
1019
1128
|
if (validatedSuggestions.length >= limit)
|
|
1020
1129
|
break;
|
|
@@ -1026,17 +1135,23 @@ class ThoughtGraph {
|
|
|
1026
1135
|
}
|
|
1027
1136
|
}
|
|
1028
1137
|
catch (parseError) {
|
|
1029
|
-
console.warn(`LLM
|
|
1138
|
+
console.warn(`Réponse LLM pour suggestion d'étapes suivantes n'était pas un JSON valide: ${llmResponse}`, parseError);
|
|
1139
|
+
// Log the raw response for debugging
|
|
1140
|
+
console.log('Réponse brute du LLM:', llmResponse);
|
|
1030
1141
|
}
|
|
1031
1142
|
}
|
|
1143
|
+
else {
|
|
1144
|
+
console.warn('Aucun JSON trouvé dans la réponse LLM:', llmResponse);
|
|
1145
|
+
}
|
|
1032
1146
|
}
|
|
1033
1147
|
}
|
|
1034
1148
|
catch (llmError) {
|
|
1035
|
-
console.error('
|
|
1149
|
+
console.error('Erreur lors de l\'appel au LLM pour suggestion d\'étapes suivantes:', llmError);
|
|
1036
1150
|
}
|
|
1037
1151
|
if (llmSuggestions && llmSuggestions.length > 0) {
|
|
1038
1152
|
return llmSuggestions;
|
|
1039
1153
|
}
|
|
1154
|
+
// Fallback à la méthode heuristique si le LLM échoue
|
|
1040
1155
|
return this.suggestNextStepsHeuristic(limit, sessionId);
|
|
1041
1156
|
}
|
|
1042
1157
|
/**
|
|
@@ -1045,14 +1160,7 @@ class ThoughtGraph {
|
|
|
1045
1160
|
suggestNextStepsHeuristic(limit = 3, sessionId) {
|
|
1046
1161
|
// Use session-specific thoughts
|
|
1047
1162
|
const sessionThoughts = this.getAllThoughts(sessionId);
|
|
1048
|
-
|
|
1049
|
-
return [{
|
|
1050
|
-
description: "Commencez par définir le problème ou la question à explorer dans cette session",
|
|
1051
|
-
type: 'regular',
|
|
1052
|
-
confidence: 0.9,
|
|
1053
|
-
reasoning: "Une définition claire du problème est essentielle pour un raisonnement efficace"
|
|
1054
|
-
}];
|
|
1055
|
-
}
|
|
1163
|
+
// Removed the initial check for sessionThoughts.length === 0
|
|
1056
1164
|
const suggestions = [];
|
|
1057
1165
|
// Use session-specific recent thoughts
|
|
1058
1166
|
const recentThoughts = this.getRecentThoughts(3, sessionId);
|
|
@@ -1151,15 +1259,6 @@ class ThoughtGraph {
|
|
|
1151
1259
|
reasoning: "L'analyse des relations multi-nœuds peut révéler des insights cachés"
|
|
1152
1260
|
});
|
|
1153
1261
|
}
|
|
1154
|
-
// Si aucune suggestion spécifique n'a été faite, proposer une continuation simple
|
|
1155
|
-
if (suggestions.length === 0) {
|
|
1156
|
-
suggestions.push({
|
|
1157
|
-
description: "Continuez votre raisonnement en développant vos idées actuelles",
|
|
1158
|
-
type: 'regular',
|
|
1159
|
-
confidence: 0.6,
|
|
1160
|
-
reasoning: "Approfondir les pensées existantes peut révéler de nouvelles perspectives"
|
|
1161
|
-
});
|
|
1162
|
-
}
|
|
1163
1262
|
// Assurer de ne pas dépasser la limite
|
|
1164
1263
|
return suggestions.slice(0, limit);
|
|
1165
1264
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thought-graph.js","sourceRoot":"","sources":["../src/thought-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thought-graph.js","sourceRoot":"","sources":["../src/thought-graph.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* e2b-calculator.ts
|
|
3
|
-
*
|
|
4
|
-
* Module d'intégration avec l'API Sandbox E2B pour les calculs complexes
|
|
5
|
-
* Permet d'exécuter du code dans un environnement sécurisé et isolé
|
|
6
|
-
*/
|
|
7
|
-
export interface CalculationResult {
|
|
8
|
-
original: string;
|
|
9
|
-
expressionText: string;
|
|
10
|
-
result: number;
|
|
11
|
-
isCorrect: boolean;
|
|
12
|
-
claimedResult: number;
|
|
13
|
-
confidence: number;
|
|
14
|
-
error?: string;
|
|
15
|
-
logs?: string[];
|
|
16
|
-
context?: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Classe pour gérer les calculs via l'API Sandbox E2B
|
|
20
|
-
*/
|
|
21
|
-
export declare class E2BCalculator {
|
|
22
|
-
private static instance;
|
|
23
|
-
private expressionCache;
|
|
24
|
-
private readonly apiKey;
|
|
25
|
-
private sandboxId;
|
|
26
|
-
private sandboxConnected;
|
|
27
|
-
/**
|
|
28
|
-
* Constructeur privé pour le pattern Singleton
|
|
29
|
-
*/
|
|
30
|
-
private constructor();
|
|
31
|
-
/**
|
|
32
|
-
* Obtient l'instance unique d'E2BCalculator (Singleton)
|
|
33
|
-
*/
|
|
34
|
-
static getInstance(): E2BCalculator;
|
|
35
|
-
/**
|
|
36
|
-
* Méthode pour déterminer si un calcul est complexe
|
|
37
|
-
* @param expression Expression à évaluer
|
|
38
|
-
* @returns boolean indiquant si le calcul est complexe
|
|
39
|
-
*/
|
|
40
|
-
isComplexCalculation(expression: string): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Méthode pour déterminer si un calcul est très complexe
|
|
43
|
-
* @param expression Expression à évaluer
|
|
44
|
-
* @returns boolean indiquant si le calcul est très complexe
|
|
45
|
-
*/
|
|
46
|
-
isVeryComplexCalculation(expression: string): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Vérifie le cache pour une expression
|
|
49
|
-
* @param expression Expression à vérifier
|
|
50
|
-
* @returns Résultat en cache ou null si non trouvé
|
|
51
|
-
*/
|
|
52
|
-
private getCachedResult;
|
|
53
|
-
/**
|
|
54
|
-
* Mémorise un résultat dans le cache
|
|
55
|
-
* @param expression Expression à mémoriser
|
|
56
|
-
* @param result Résultat du calcul
|
|
57
|
-
*/
|
|
58
|
-
private cacheResult;
|
|
59
|
-
/**
|
|
60
|
-
* Génère et exécute du code Python pour évaluer une expression mathématique
|
|
61
|
-
* @param expression Expression à évaluer
|
|
62
|
-
* @returns Promesse de résultat du calcul
|
|
63
|
-
*/
|
|
64
|
-
evaluateWithPython(expression: string): Promise<number>;
|
|
65
|
-
/**
|
|
66
|
-
* Génère et exécute du code JavaScript pour évaluer une expression mathématique
|
|
67
|
-
* @param expression Expression à évaluer
|
|
68
|
-
* @returns Promesse de résultat du calcul
|
|
69
|
-
*/
|
|
70
|
-
evaluateWithJavaScript(expression: string): Promise<number>;
|
|
71
|
-
/**
|
|
72
|
-
* Évalue une expression mathématique avec le langage préféré
|
|
73
|
-
* @param expression Expression à évaluer
|
|
74
|
-
* @returns Promesse de résultat du calcul
|
|
75
|
-
*/
|
|
76
|
-
evaluate(expression: string): Promise<number>;
|
|
77
|
-
/**
|
|
78
|
-
* Nettoie une expression pour éviter les injections
|
|
79
|
-
* @param expression Expression à nettoyer
|
|
80
|
-
* @returns Expression nettoyée
|
|
81
|
-
*/
|
|
82
|
-
private sanitizeExpression;
|
|
83
|
-
/**
|
|
84
|
-
* Exécute du code via l'API E2B JavaScript
|
|
85
|
-
* @param code Code à exécuter
|
|
86
|
-
* @returns Réponse de l'exécution
|
|
87
|
-
*/
|
|
88
|
-
private executeCode;
|
|
89
|
-
/**
|
|
90
|
-
* Exécute du code JavaScript via l'API E2B
|
|
91
|
-
* Cette méthode utilise directement l'API executeJavaScript disponible
|
|
92
|
-
* @param code Code JavaScript à exécuter
|
|
93
|
-
*/
|
|
94
|
-
private executeJavaScriptViaE2B;
|
|
95
|
-
/**
|
|
96
|
-
* Exécute du code Python via l'API E2B
|
|
97
|
-
* Cette méthode utilise directement l'API executePython disponible
|
|
98
|
-
* @param code Code Python à exécuter
|
|
99
|
-
*/
|
|
100
|
-
private executePythonViaE2B;
|
|
101
|
-
/**
|
|
102
|
-
* Analyse une expression et un résultat revendiqué
|
|
103
|
-
* @param original Expression originale complète
|
|
104
|
-
* @param expressionText Expression mathématique extraite
|
|
105
|
-
* @param claimedResult Résultat revendiqué
|
|
106
|
-
* @returns Promesse de résultat du calcul
|
|
107
|
-
*/
|
|
108
|
-
analyzeCalculation(original: string, expressionText: string, claimedResult: number): Promise<CalculationResult>;
|
|
109
|
-
/**
|
|
110
|
-
* Compare deux nombres en tenant compte des erreurs d'arrondi
|
|
111
|
-
* @param a Premier nombre
|
|
112
|
-
* @param b Deuxième nombre
|
|
113
|
-
* @returns Vrai si les nombres sont considérés égaux
|
|
114
|
-
*/
|
|
115
|
-
private areNumbersEqual;
|
|
116
|
-
}
|
|
117
|
-
declare const _default: E2BCalculator;
|
|
118
|
-
export default _default;
|