UNPKG

smart-thinking-mcp

Version:

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

116 lines (115 loc) 4.07 kB
import { MemoryItem } from './types'; import { EmbeddingService } from './embedding-service'; /** * Classe qui gère la mémoire persistante des sessions précédentes */ export declare class MemoryManager { private memories; private knowledgeBase; private embeddingService?; private dataDir; private memoriesDir; private knowledgeFilePath; constructor(embeddingService?: EmbeddingService); /** * Génère un identifiant unique */ private generateUniqueId; /** * Assure que les répertoires de stockage nécessaires existent */ private ensureDirectoriesExist; /** * Charge les mémoires et la base de connaissances depuis le stockage persistant */ private loadFromStorage; /** * Charge les mémoires depuis les fichiers dans le répertoire memories * @returns true si au moins une mémoire a été chargée, false sinon */ private loadMemoriesFromFiles; /** * Charge la base de connaissances depuis le fichier knowledge.json * @returns true si la base de connaissances a été chargée, false sinon */ private loadKnowledgeFromFile; /** * Simule la récupération de mémoires sauvegardées * Utilisé comme fallback si aucun fichier n'est disponible */ private getSavedMemories; /** * Simule la récupération de connaissances sauvegardées * Utilisé comme fallback si aucun fichier n'est disponible */ private getSavedKnowledge; /** * Sauvegarde l'état actuel dans le stockage persistant */ private saveToStorage; /** * Ajoute un élément à la mémoire * * @param content Le contenu de l'élément de mémoire * @param tags Les tags associés * @returns L'identifiant de l'élément ajouté */ addMemory(content: string, tags?: string[]): string; /** * Récupère un élément de mémoire par son identifiant * * @param id L'identifiant de l'élément * @returns L'élément de mémoire ou undefined si non trouvé */ getMemory(id: string): MemoryItem | undefined; /** * Récupère les éléments de mémoire les plus récents * * @param limit Le nombre maximum d'éléments à récupérer * @returns Un tableau des éléments les plus récents */ getRecentMemories(limit?: number): MemoryItem[]; /** * Récupère les éléments de mémoire les plus pertinents pour un contexte donné * AMÉLIORÉ: Fiabilité améliorée et meilleure gestion des erreurs * * @param context Le contexte pour lequel chercher des éléments pertinents * @param limit Le nombre maximum d'éléments à récupérer * @returns Un tableau des éléments les plus pertinents */ getRelevantMemories(context: string, limit?: number): Promise<MemoryItem[]>; /** * Implémentation de secours basée sur les mots-clés * * @param context Le contexte pour lequel chercher des éléments pertinents * @param limit Le nombre maximum d'éléments à récupérer * @returns Un tableau des éléments les plus pertinents */ private getRelevantMemoriesWithKeywords; /** * Récupère les éléments de mémoire par tag * * @param tag Le tag à rechercher * @param limit Le nombre maximum d'éléments à récupérer * @returns Un tableau des éléments correspondant au tag */ getMemoriesByTag(tag: string, limit?: number): MemoryItem[]; /** * Ajoute ou met à jour un élément dans la base de connaissances * * @param key La clé de l'élément * @param value La valeur de l'élément */ setKnowledge(key: string, value: any): void; /** * Récupère un élément de la base de connaissances * * @param key La clé de l'élément * @returns La valeur de l'élément ou undefined si non trouvé */ getKnowledge(key: string): any; /** * Efface toutes les mémoires et connaissances */ clear(): void; }