smart-thinking-mcp
Version:
Un serveur MCP avancé pour le raisonnement multi-dimensionnel, adaptatif et collaboratif
65 lines (64 loc) • 2.18 kB
TypeScript
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[];
}