defect-inspection-tools-mcp-server
Version:
Defect inspection tools server handling defect detection, analysis, and reporting with AI/ML capabilities for quality control
51 lines (50 loc) • 1.86 kB
TypeScript
import { DatabaseService, DatabaseConfig } from './database-service.js';
import { ExternalApiService, ExternalApiConfig } from './external-api-service.js';
import { BaseService, ServiceHealthStatus } from './base-service.js';
export interface ServiceManagerConfig {
database: DatabaseConfig;
openai?: ExternalApiConfig;
perplexity?: ExternalApiConfig;
cohere?: ExternalApiConfig;
typesense?: ExternalApiConfig;
}
export interface ServiceHealth {
serviceName: string;
status: ServiceHealthStatus;
metrics: any;
timestamp: Date;
}
export interface OverallHealth {
status: ServiceHealthStatus;
services: ServiceHealth[];
timestamp: Date;
}
export declare class ServiceManager {
private static instance;
private services;
private isInitialized;
private constructor();
static getInstance(): ServiceManager;
initialize(): Promise<void>;
private initializeDatabaseService;
private initializeExternalApiServices;
getService<T extends BaseService>(serviceName: string): T | undefined;
getDatabaseService(): DatabaseService | undefined;
getExternalApiService(serviceName: string): ExternalApiService | undefined;
getAllServices(): Map<string, BaseService>;
healthCheck(): Promise<OverallHealth>;
getServiceMetrics(): Promise<Record<string, any>>;
shutdown(): Promise<void>;
isServiceManagerInitialized(): boolean;
resetAllMetrics(): void;
addService(serviceName: string, service: BaseService): void;
removeService(serviceName: string): boolean;
getServiceStatusSummary(): {
serviceName: string;
status: string;
config: any;
}[];
}
export declare const serviceManager: ServiceManager;
export { DatabaseService, ExternalApiService, BaseService, ServiceHealthStatus };
export type { DatabaseConfig, ExternalApiConfig };