UNPKG

smart-thinking-mcp

Version:

Un serveur MCP avancé pour le raisonnement multi-dimensionnel, adaptatif et collaboratif

139 lines (138 loc) 4.81 kB
import { SuggestedTool } from './types'; /** * Classe qui gère l'intégration avec d'autres outils MCP */ export declare class ToolIntegrator { private knownTools; constructor(); /** * Initialise le registre avec des outils MCP courants */ private initializeKnownTools; /** * Suggère des outils pertinents pour un contenu donné avec option pour la vérification * AMÉLIORÉ: Scores plus dynamiques et adaptés au raisonnement * * @param content Le contenu pour lequel suggérer des outils * @param options Options de configuration (limite, mode vérification, etc) * @returns Un tableau d'outils suggérés */ suggestToolsGeneric(content: string, options?: { limit?: number; verificationMode?: boolean; toolFilter?: string[]; previousSuggestions?: SuggestedTool[]; reasoningStage?: 'initial' | 'developing' | 'advanced' | 'final'; }): SuggestedTool[]; /** * Suggère des outils de vérification pertinents pour un contenu donné * @param content Le contenu pour lequel suggérer des outils * @param limit Le nombre maximum d'outils à suggérer * @returns Un tableau d'outils suggérés */ suggestVerificationTools(content: string, limit?: number): SuggestedTool[]; /** * Génère une raison spécifique pour la vérification avec un outil * * @param tool L'outil suggéré * @param content Le contenu à vérifier * @returns Une raison explicative pour la vérification */ private generateVerificationReason; /** * Exécute un outil de vérification sur un contenu donné * * @param toolName Le nom de l'outil à exécuter * @param content Le contenu à vérifier * @returns Le résultat de la vérification */ executeVerificationTool(toolName: string, content: string): Promise<any>; /** * Exécute une recherche Perplexity pour vérifier des informations * * @param content Le contenu à vérifier * @returns Le résultat de la vérification */ private executePerplexitySearch; /** * Exécute une recherche Tavily pour vérifier des informations * * @param content Le contenu à vérifier * @returns Le résultat de la vérification */ private executeTavilySearch; /** * Exécute une recherche Brave pour vérifier des informations * * @param content Le contenu à vérifier * @returns Le résultat de la vérification */ private executeBraveSearch; /** * Exécute une extraction Tavily pour vérifier des informations * * @param content Le contenu à vérifier * @returns Le résultat de la vérification */ private executeTavilyExtract; /** * Vérifie des informations via exécution de code Python * * @param content Le contenu à vérifier * @returns Le résultat de la vérification */ private executePythonVerification; /** * Vérifie des informations via exécution de code JavaScript * * @param content Le contenu à vérifier * @returns Le résultat de la vérification */ private executeJavaScriptVerification; /** * Suggère des outils pertinents pour un contenu donné * * @param content Le contenu pour lequel suggérer des outils * @param limit Le nombre maximum d'outils à suggérer * @returns Un tableau d'outils suggérés */ suggestTools(content: string, limit?: number): SuggestedTool[]; /** * Vérifie si un texte contient l'un des termes donnés * * @param text Le texte à vérifier * @param terms Les termes à rechercher * @returns true si le texte contient au moins un des termes, false sinon */ private containsAny; /** * Génère une raison explicative pour la suggestion d'un outil * * @param tool L'outil suggéré * @param content Le contenu pour lequel l'outil est suggéré * @returns Une raison explicative */ private generateReason; /** * Ajoute un nouvel outil au registre * * @param name Le nom de l'outil * @param description La description de l'outil * @param keywords Les mots-clés associés * @param useCase Le cas d'usage de l'outil */ addTool(name: string, description: string, keywords: string[], useCase: string): void; /** * Supprime un outil du registre * * @param name Le nom de l'outil à supprimer * @returns true si l'outil a été supprimé, false sinon */ removeTool(name: string): boolean; /** * Récupère tous les outils du registre * * @returns Un tableau de tous les outils */ getAllTools(): any[]; }