UNPKG

smart-thinking-mcp

Version:

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

65 lines (64 loc) 2.18 kB
import { ToolIntegrator } from '../tool-integrator'; import { MetricsCalculator } from '../metrics-calculator'; import { IVerificationService } from './verification-service.interface'; import { EmbeddingService } from '../embedding-service'; /** * Conteneur de services amélioré pour l'injection de dépendances * Utilise le service de vérification amélioré */ export declare class ServiceContainer { private static instance; private services; /** * Constructeur privé pour implémenter le pattern Singleton */ private constructor(); /** * Méthode pour obtenir l'instance unique du conteneur */ static getInstance(): ServiceContainer; /** * Initialise et enregistre les services principaux * * @param toolIntegrator L'intégrateur d'outils existant * @param metricsCalculator Le calculateur de métriques existant * @param embeddingService Le service d'embeddings existant */ initializeServices(toolIntegrator: ToolIntegrator, metricsCalculator: MetricsCalculator, embeddingService: EmbeddingService): void; /** * Obtient un service par son nom * * @param serviceName Le nom du service * @returns L'instance du service ou null s'il n'existe pas */ getService<T>(serviceName: string): T | null; /** * Obtient le service de vérification * * @returns Le service de vérification */ getVerificationService(): IVerificationService; /** * Enregistre un service * * @param serviceName Le nom du service * @param serviceInstance L'instance du service */ registerService(serviceName: string, serviceInstance: any): void; /** * Vérifie si un service est disponible * * @param serviceName Le nom du service à vérifier * @returns true si le service est disponible, false sinon */ hasService(serviceName: string): boolean; /** * Réinitialise le conteneur de services (utile pour les tests) */ static resetInstance(): void; /** * Affiche la liste des services disponibles * Utile pour le débogage */ listServices(): string[]; }