UNPKG

survey-mcp-server

Version:

Survey management server handling survey creation, response collection, analysis, and reporting with database access for data management

58 lines (57 loc) 2.37 kB
export { BaseService, CircuitBreaker, RetryHandler, CircuitBreakerConfig, RetryConfig, HealthCheckResult, CircuitBreakerState, ServiceConfig, defaultServiceConfig } from './base.js'; export { DatabaseService, databaseService, DatabaseQuery, DatabaseUpdateQuery, DatabaseDeleteQuery, QueryResult, ConnectionPoolStats } from './database.js'; export { SearchService, searchService, SearchQuery, SearchResult, SearchHit, FacetCount, GroupedHit, IndexInfo } from './search.js'; export { ExternalApiService, externalApiService, ApiEndpoint, ApiRequest, ApiResponse, RateLimitState } from './external-api.js'; import { DatabaseService } from './database.js'; import { SearchService } from './search.js'; import { ExternalApiService } from './external-api.js'; import { BaseService } from './base.js'; export interface ServiceManagerConfig { enableHealthMonitoring?: boolean; healthCheckInterval?: number; shutdownTimeout?: number; } export interface SystemHealthReport { isHealthy: boolean; timestamp: Date; services: { [serviceName: string]: { isHealthy: boolean; status: string; responseTime?: number; error?: string; lastCheck: Date; metrics?: any; }; }; summary: { totalServices: number; healthyServices: number; unhealthyServices: number; overallSuccessRate: number; }; } export declare class ServiceManager { private static instance; private services; private healthMonitoringInterval; private config; private isShuttingDown; private constructor(); static getInstance(config?: ServiceManagerConfig): ServiceManager; initialize(): Promise<void>; registerService(name: string, service: BaseService): void; getService<T extends BaseService>(name: string): T | undefined; getDatabaseService(): DatabaseService; getSearchService(): SearchService; getExternalApiService(): ExternalApiService; getSystemHealth(): Promise<SystemHealthReport>; private startHealthMonitoring; private stopHealthMonitoring; resetAllCircuitBreakers(): Promise<void>; gracefulShutdown(): Promise<void>; getServiceList(): string[]; isServiceRegistered(name: string): boolean; getServiceCount(): number; } export declare const serviceManager: ServiceManager;