smart-thinking-mcp 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-integrator.js","sourceRoot":"","sources":["../src/tool-integrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Types communs pour le projet Smart-Thinking
3
+ */
4
+ export type ThoughtType = 'regular' | 'revision' | 'meta' | 'hypothesis' | 'conclusion';
5
+ export type ConnectionType = 'supports' | 'contradicts' | 'refines' | 'branches' | 'derives' | 'associates';
6
+ export interface ThoughtNode {
7
+ id: string;
8
+ content: string;
9
+ type: ThoughtType;
10
+ timestamp: Date;
11
+ connections: Connection[];
12
+ metrics: ThoughtMetrics;
13
+ metadata: Record<string, any>;
14
+ }
15
+ export interface Connection {
16
+ targetId: string;
17
+ type: ConnectionType;
18
+ strength: number;
19
+ description?: string;
20
+ }
21
+ export interface ThoughtMetrics {
22
+ confidence: number;
23
+ relevance: number;
24
+ quality: number;
25
+ }
26
+ export interface SuggestedTool {
27
+ name: string;
28
+ confidence: number;
29
+ reason: string;
30
+ priority?: number;
31
+ }
32
+ export interface Visualization {
33
+ nodes: VisualizationNode[];
34
+ links: VisualizationLink[];
35
+ metadata?: Record<string, any>;
36
+ }
37
+ export interface VisualizationNode {
38
+ id: string;
39
+ label: string;
40
+ type: ThoughtType;
41
+ metrics: ThoughtMetrics;
42
+ size?: number;
43
+ color?: string;
44
+ }
45
+ export interface VisualizationLink {
46
+ source: string;
47
+ target: string;
48
+ type: ConnectionType;
49
+ strength: number;
50
+ width?: number;
51
+ color?: string;
52
+ }
53
+ export interface MemoryItem {
54
+ id: string;
55
+ content: string;
56
+ tags: string[];
57
+ timestamp: Date;
58
+ relevanceScore?: number;
59
+ }
60
+ export interface NextStepSuggestion {
61
+ description: string;
62
+ type: ThoughtType;
63
+ confidence: number;
64
+ reasoning: string;
65
+ }
66
+ export interface SmartThinkingParams {
67
+ thought: string;
68
+ thoughtType?: ThoughtType;
69
+ connections?: Connection[];
70
+ requestSuggestions?: boolean;
71
+ generateVisualization?: boolean;
72
+ suggestTools?: boolean;
73
+ sessionId?: string;
74
+ userId?: string;
75
+ visualizationType?: 'graph' | 'chronological' | 'thematic';
76
+ help?: boolean;
77
+ }
78
+ export interface SmartThinkingResponse {
79
+ thoughtId: string;
80
+ thought: string;
81
+ thoughtType: ThoughtType;
82
+ qualityMetrics: ThoughtMetrics;
83
+ suggestedTools?: SuggestedTool[];
84
+ visualization?: Visualization;
85
+ relevantMemories?: MemoryItem[];
86
+ suggestedNextSteps?: NextStepSuggestion[];
87
+ }
package/build/types.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Types communs pour le projet Smart-Thinking
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,55 @@
1
+ import { Visualization } from './types';
2
+ import { ThoughtGraph } from './thought-graph';
3
+ /**
4
+ * Classe qui génère des visualisations du graphe de pensées
5
+ */
6
+ export declare class Visualizer {
7
+ private thoughtTypeColors;
8
+ private connectionTypeColors;
9
+ /**
10
+ * Génère une visualisation du graphe de pensées
11
+ *
12
+ * @param thoughtGraph Le graphe de pensées à visualiser
13
+ * @param centerThoughtId Optionnel: l'ID de la pensée centrale (si non spécifié, utilise la plus récente)
14
+ * @returns Une visualisation du graphe
15
+ */
16
+ generateVisualization(thoughtGraph: ThoughtGraph, centerThoughtId?: string): Visualization;
17
+ /**
18
+ * Génère une visualisation chronologique du graphe de pensées
19
+ *
20
+ * @param thoughtGraph Le graphe de pensées à visualiser
21
+ * @returns Une visualisation chronologique du graphe
22
+ */
23
+ generateChronologicalVisualization(thoughtGraph: ThoughtGraph): Visualization;
24
+ /**
25
+ * Génère une visualisation thématique du graphe de pensées
26
+ *
27
+ * @param thoughtGraph Le graphe de pensées à visualiser
28
+ * @returns Une visualisation thématique du graphe
29
+ */
30
+ generateThematicVisualization(thoughtGraph: ThoughtGraph): Visualization;
31
+ /**
32
+ * Génère des métadonnées pour la visualisation
33
+ *
34
+ * @param thoughts Les pensées du graphe
35
+ * @param links Les liens de la visualisation
36
+ * @param centerThoughtId L'ID de la pensée centrale
37
+ * @returns Les métadonnées de la visualisation
38
+ */
39
+ private generateMetadata;
40
+ /**
41
+ * Tronque un texte à une longueur maximale
42
+ *
43
+ * @param text Le texte à tronquer
44
+ * @param maxLength La longueur maximale
45
+ * @returns Le texte tronqué
46
+ */
47
+ private truncateText;
48
+ /**
49
+ * Extrait les thèmes (mots-clés) des pensées
50
+ *
51
+ * @param thoughts Les pensées dont extraire les thèmes
52
+ * @returns Un tableau de thèmes
53
+ */
54
+ private extractThemes;
55
+ }
@@ -0,0 +1,346 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Visualizer = void 0;
4
+ /**
5
+ * Classe qui génère des visualisations du graphe de pensées
6
+ */
7
+ class Visualizer {
8
+ // Couleurs associées aux types de pensées
9
+ thoughtTypeColors = {
10
+ 'regular': '#4285F4', // Bleu
11
+ 'revision': '#EA4335', // Rouge
12
+ 'meta': '#FBBC05', // Jaune
13
+ 'hypothesis': '#34A853', // Vert
14
+ 'conclusion': '#9C27B0' // Violet
15
+ };
16
+ // Couleurs associées aux types de connexions
17
+ connectionTypeColors = {
18
+ 'supports': '#34A853', // Vert
19
+ 'contradicts': '#EA4335', // Rouge
20
+ 'refines': '#4285F4', // Bleu
21
+ 'branches': '#FBBC05', // Jaune
22
+ 'derives': '#9C27B0', // Violet
23
+ 'associates': '#757575' // Gris
24
+ };
25
+ /**
26
+ * Génère une visualisation du graphe de pensées
27
+ *
28
+ * @param thoughtGraph Le graphe de pensées à visualiser
29
+ * @param centerThoughtId Optionnel: l'ID de la pensée centrale (si non spécifié, utilise la plus récente)
30
+ * @returns Une visualisation du graphe
31
+ */
32
+ generateVisualization(thoughtGraph, centerThoughtId) {
33
+ const thoughts = thoughtGraph.getAllThoughts();
34
+ if (thoughts.length === 0) {
35
+ return {
36
+ nodes: [],
37
+ links: [],
38
+ metadata: {
39
+ isEmpty: true
40
+ }
41
+ };
42
+ }
43
+ // Si aucun ID central n'est spécifié, utiliser la pensée la plus récente
44
+ if (!centerThoughtId) {
45
+ const recentThoughts = thoughtGraph.getRecentThoughts(1);
46
+ centerThoughtId = recentThoughts[0]?.id;
47
+ }
48
+ // Créer les nœuds de visualisation
49
+ const nodes = thoughts.map(thought => {
50
+ // Calculer la taille du nœud en fonction du nombre de connexions
51
+ const connectionCount = thought.connections.length;
52
+ const size = 10 + Math.min(connectionCount * 2, 15);
53
+ // Obtenir la couleur en fonction du type de pensée
54
+ const color = this.thoughtTypeColors[thought.type] || '#757575';
55
+ return {
56
+ id: thought.id,
57
+ label: this.truncateText(thought.content, 40),
58
+ type: thought.type,
59
+ metrics: thought.metrics,
60
+ size,
61
+ color
62
+ };
63
+ });
64
+ // Créer les liens de visualisation
65
+ const links = [];
66
+ // Pour chaque pensée, ajouter ses connexions comme liens
67
+ for (const thought of thoughts) {
68
+ for (const connection of thought.connections) {
69
+ // Éviter les doublons (chaque lien ne doit apparaître qu'une fois)
70
+ const linkExists = links.some(link => (link.source === thought.id && link.target === connection.targetId) ||
71
+ (link.source === connection.targetId && link.target === thought.id));
72
+ if (!linkExists) {
73
+ // Calculer l'épaisseur du lien en fonction de la force de la connexion
74
+ const width = 1 + connection.strength * 4;
75
+ // Obtenir la couleur en fonction du type de connexion
76
+ const color = this.connectionTypeColors[connection.type] || '#757575';
77
+ links.push({
78
+ source: thought.id,
79
+ target: connection.targetId,
80
+ type: connection.type,
81
+ strength: connection.strength,
82
+ width,
83
+ color
84
+ });
85
+ }
86
+ }
87
+ }
88
+ // Génération de métadonnées pour la visualisation
89
+ const metadata = this.generateMetadata(thoughts, links, centerThoughtId);
90
+ return {
91
+ nodes,
92
+ links,
93
+ metadata
94
+ };
95
+ }
96
+ /**
97
+ * Génère une visualisation chronologique du graphe de pensées
98
+ *
99
+ * @param thoughtGraph Le graphe de pensées à visualiser
100
+ * @returns Une visualisation chronologique du graphe
101
+ */
102
+ generateChronologicalVisualization(thoughtGraph) {
103
+ const thoughts = thoughtGraph.getAllThoughts()
104
+ .sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
105
+ if (thoughts.length === 0) {
106
+ return {
107
+ nodes: [],
108
+ links: [],
109
+ metadata: {
110
+ isEmpty: true
111
+ }
112
+ };
113
+ }
114
+ // Créer les nœuds de visualisation
115
+ const nodes = thoughts.map((thought, index) => {
116
+ // Calculer la taille du nœud en fonction de l'ordre chronologique
117
+ // Les pensées plus récentes sont légèrement plus grandes
118
+ const size = 10 + Math.min(index * 0.5, 10);
119
+ // Obtenir la couleur en fonction du type de pensée
120
+ const color = this.thoughtTypeColors[thought.type] || '#757575';
121
+ return {
122
+ id: thought.id,
123
+ label: this.truncateText(thought.content, 40),
124
+ type: thought.type,
125
+ metrics: thought.metrics,
126
+ size,
127
+ color
128
+ };
129
+ });
130
+ // Créer les liens chronologiques
131
+ const links = [];
132
+ // Connecter chaque pensée à la suivante chronologiquement
133
+ for (let i = 0; i < thoughts.length - 1; i++) {
134
+ links.push({
135
+ source: thoughts[i].id,
136
+ target: thoughts[i + 1].id,
137
+ type: 'associates',
138
+ strength: 0.5,
139
+ width: 1,
140
+ color: '#757575'
141
+ });
142
+ }
143
+ // Ajouter également les connexions explicites
144
+ for (const thought of thoughts) {
145
+ for (const connection of thought.connections) {
146
+ // Éviter les doublons (chaque lien ne doit apparaître qu'une fois)
147
+ const linkExists = links.some(link => (link.source === thought.id && link.target === connection.targetId) ||
148
+ (link.source === connection.targetId && link.target === thought.id));
149
+ if (!linkExists) {
150
+ // Calculer l'épaisseur du lien en fonction de la force de la connexion
151
+ const width = 1 + connection.strength * 3;
152
+ // Obtenir la couleur en fonction du type de connexion
153
+ const color = this.connectionTypeColors[connection.type] || '#757575';
154
+ links.push({
155
+ source: thought.id,
156
+ target: connection.targetId,
157
+ type: connection.type,
158
+ strength: connection.strength,
159
+ width,
160
+ color
161
+ });
162
+ }
163
+ }
164
+ }
165
+ // Génération de métadonnées pour la visualisation
166
+ const metadata = {
167
+ type: 'chronological',
168
+ thoughtCount: thoughts.length,
169
+ timeline: thoughts.map(thought => ({
170
+ id: thought.id,
171
+ timestamp: thought.timestamp.toISOString()
172
+ }))
173
+ };
174
+ return {
175
+ nodes,
176
+ links,
177
+ metadata
178
+ };
179
+ }
180
+ /**
181
+ * Génère une visualisation thématique du graphe de pensées
182
+ *
183
+ * @param thoughtGraph Le graphe de pensées à visualiser
184
+ * @returns Une visualisation thématique du graphe
185
+ */
186
+ generateThematicVisualization(thoughtGraph) {
187
+ const thoughts = thoughtGraph.getAllThoughts();
188
+ if (thoughts.length === 0) {
189
+ return {
190
+ nodes: [],
191
+ links: [],
192
+ metadata: {
193
+ isEmpty: true
194
+ }
195
+ };
196
+ }
197
+ // Extraire les thèmes (mots-clés) des pensées
198
+ const themes = this.extractThemes(thoughts);
199
+ // Associer chaque pensée à ses thèmes
200
+ const thoughtThemes = {};
201
+ for (const thought of thoughts) {
202
+ thoughtThemes[thought.id] = themes.filter(theme => thought.content.toLowerCase().includes(theme.toLowerCase()));
203
+ }
204
+ // Créer les nœuds de visualisation
205
+ const nodes = thoughts.map(thought => {
206
+ // Obtenir la couleur en fonction du type de pensée
207
+ const color = this.thoughtTypeColors[thought.type] || '#757575';
208
+ // La taille dépend du nombre de thèmes associés
209
+ const themeCount = thoughtThemes[thought.id].length;
210
+ const size = 10 + Math.min(themeCount * 2, 15);
211
+ return {
212
+ id: thought.id,
213
+ label: this.truncateText(thought.content, 40),
214
+ type: thought.type,
215
+ metrics: thought.metrics,
216
+ size,
217
+ color
218
+ };
219
+ });
220
+ // Créer les liens thématiques
221
+ const links = [];
222
+ // Connecter les pensées qui partagent des thèmes
223
+ for (let i = 0; i < thoughts.length; i++) {
224
+ for (let j = i + 1; j < thoughts.length; j++) {
225
+ const thoughtA = thoughts[i];
226
+ const thoughtB = thoughts[j];
227
+ // Trouver les thèmes communs
228
+ const themesA = thoughtThemes[thoughtA.id];
229
+ const themesB = thoughtThemes[thoughtB.id];
230
+ const commonThemes = themesA.filter(theme => themesB.includes(theme));
231
+ // S'il y a des thèmes communs, créer un lien
232
+ if (commonThemes.length > 0) {
233
+ // La force dépend du nombre de thèmes communs
234
+ const strength = Math.min(0.3 + commonThemes.length * 0.1, 0.9);
235
+ links.push({
236
+ source: thoughtA.id,
237
+ target: thoughtB.id,
238
+ type: 'associates',
239
+ strength,
240
+ width: 1 + commonThemes.length,
241
+ color: '#757575'
242
+ });
243
+ }
244
+ }
245
+ }
246
+ // Génération de métadonnées pour la visualisation
247
+ const metadata = {
248
+ type: 'thematic',
249
+ thoughtCount: thoughts.length,
250
+ themes,
251
+ themeAssociations: Object.entries(thoughtThemes).map(([id, themeList]) => ({
252
+ id,
253
+ themes: themeList
254
+ }))
255
+ };
256
+ return {
257
+ nodes,
258
+ links,
259
+ metadata
260
+ };
261
+ }
262
+ /**
263
+ * Génère des métadonnées pour la visualisation
264
+ *
265
+ * @param thoughts Les pensées du graphe
266
+ * @param links Les liens de la visualisation
267
+ * @param centerThoughtId L'ID de la pensée centrale
268
+ * @returns Les métadonnées de la visualisation
269
+ */
270
+ generateMetadata(thoughts, links, centerThoughtId) {
271
+ // Compter les types de pensées
272
+ const thoughtTypeCount = {};
273
+ for (const thought of thoughts) {
274
+ thoughtTypeCount[thought.type] = (thoughtTypeCount[thought.type] || 0) + 1;
275
+ }
276
+ // Compter les types de connexions
277
+ const connectionTypeCount = {};
278
+ for (const link of links) {
279
+ connectionTypeCount[link.type] = (connectionTypeCount[link.type] || 0) + 1;
280
+ }
281
+ // Identifier la pensée centrale
282
+ const centerThought = centerThoughtId
283
+ ? thoughts.find(t => t.id === centerThoughtId)
284
+ : thoughts[thoughts.length - 1];
285
+ return {
286
+ type: 'graph',
287
+ thoughtCount: thoughts.length,
288
+ linkCount: links.length,
289
+ thoughtTypeDistribution: thoughtTypeCount,
290
+ connectionTypeDistribution: connectionTypeCount,
291
+ centerThought: centerThought ? {
292
+ id: centerThought.id,
293
+ type: centerThought.type
294
+ } : undefined
295
+ };
296
+ }
297
+ /**
298
+ * Tronque un texte à une longueur maximale
299
+ *
300
+ * @param text Le texte à tronquer
301
+ * @param maxLength La longueur maximale
302
+ * @returns Le texte tronqué
303
+ */
304
+ truncateText(text, maxLength) {
305
+ if (text.length <= maxLength) {
306
+ return text;
307
+ }
308
+ return text.substring(0, maxLength - 3) + '...';
309
+ }
310
+ /**
311
+ * Extrait les thèmes (mots-clés) des pensées
312
+ *
313
+ * @param thoughts Les pensées dont extraire les thèmes
314
+ * @returns Un tableau de thèmes
315
+ */
316
+ extractThemes(thoughts) {
317
+ // Liste de mots courants à ignorer (stop words)
318
+ const stopWords = [
319
+ 'le', 'la', 'les', 'un', 'une', 'des', 'ce', 'cette', 'ces',
320
+ 'et', 'ou', 'mais', 'donc', 'car', 'ni', 'que', 'qui',
321
+ 'dans', 'sur', 'sous', 'avec', 'sans', 'pour', 'par',
322
+ 'je', 'tu', 'il', 'elle', 'nous', 'vous', 'ils', 'elles',
323
+ 'est', 'sont', 'être', 'avoir', 'fait', 'faire',
324
+ 'plus', 'moins', 'très', 'trop', 'peu', 'beaucoup'
325
+ ];
326
+ // Extraire tous les mots de toutes les pensées
327
+ const allWords = thoughts.flatMap(thought => thought.content.toLowerCase()
328
+ .split(/\W+/)
329
+ .filter(word => word.length > 4 &&
330
+ !stopWords.includes(word)));
331
+ // Compter l'occurrence de chaque mot
332
+ const wordCount = {};
333
+ for (const word of allWords) {
334
+ wordCount[word] = (wordCount[word] || 0) + 1;
335
+ }
336
+ // Sélectionner les mots qui apparaissent au moins 2 fois
337
+ const themes = Object.entries(wordCount)
338
+ .filter(([_, count]) => count >= 2)
339
+ .sort(([_, countA], [__, countB]) => countB - countA)
340
+ .map(([word, _]) => word)
341
+ .slice(0, 10); // Limiter aux 10 thèmes les plus fréquents
342
+ return themes;
343
+ }
344
+ }
345
+ exports.Visualizer = Visualizer;
346
+ //# sourceMappingURL=visualizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visualizer.js","sourceRoot":"","sources":["../src/visualizer.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "smart-thinking-mcp",
3
+ "version": "1.0.0",
4
+ "description": "Un serveur MCP avancé pour le raisonnement multi-dimensionnel, adaptatif et collaboratif",
5
+ "main": "build/index.js",
6
+ "bin": {
7
+ "smart-thinking-mcp": "./build/index.js"
8
+ },
9
+ "files": [
10
+ "build"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "dev": "ts-node src/index.ts",
15
+ "watch": "tsc --watch",
16
+ "start": "node build/index.js",
17
+ "test": "jest",
18
+ "prepublishOnly": "npm run build"
19
+ },
20
+ "keywords": [
21
+ "mcp",
22
+ "claude",
23
+ "ai",
24
+ "reasoning",
25
+ "thinking",
26
+ "sequential-thinking",
27
+ "smart-thinking"
28
+ ],
29
+ "author": "Smart-Thinking Team",
30
+ "license": "MIT",
31
+ "dependencies": {
32
+ "@modelcontextprotocol/sdk": "^1.7.0",
33
+ "zod": "^3.22.4"
34
+ },
35
+ "devDependencies": {
36
+ "@types/jest": "^29.5.3",
37
+ "@types/node": "^20.4.8",
38
+ "jest": "^29.6.2",
39
+ "ts-jest": "^29.1.1",
40
+ "ts-node": "^10.9.1",
41
+ "typescript": "^5.1.6"
42
+ }
43
+ }