pms-analysis-reports-mcp-server
Version:
PMS analysis reports server handling maintenance reports, equipment analysis, compliance tracking, and performance metrics with ERP access for data extraction
66 lines (65 loc) • 2.1 kB
TypeScript
export { BaseService, ServiceConfig, ServiceResponse, ServiceMetrics } from './base-service.js';
export { CacheService, CacheConfig, CacheStats } from './cache-service.js';
export { ExternalApiService, ExternalApiConfig, ApiRequest } from './external-api-service.js';
export { DatabaseService, DatabaseConfig, QueryOptions, AggregationOptions } from './database-service.js';
import { CacheService, CacheConfig } from './cache-service.js';
import { ExternalApiService, ExternalApiConfig } from './external-api-service.js';
import { DatabaseService, DatabaseConfig } from './database-service.js';
export interface ServiceManagerConfig {
cache?: CacheConfig;
database?: DatabaseConfig;
externalApis?: {
openai?: ExternalApiConfig;
google?: ExternalApiConfig;
typesense?: ExternalApiConfig;
[key: string]: ExternalApiConfig | undefined;
};
}
export declare class ServiceManager {
private static instance;
private services;
private healthCheckInterval?;
private constructor();
static getInstance(): ServiceManager;
/**
* Initialize services with configuration
*/
initialize(config: ServiceManagerConfig): Promise<void>;
/**
* Get service by name
*/
getService<T = any>(name: string): T | undefined;
/**
* Get cache service
*/
getCache(): CacheService | undefined;
/**
* Get database service
*/
getDatabase(): DatabaseService | undefined;
/**
* Get external API service
*/
getExternalApi(name: string): ExternalApiService | undefined;
/**
* Get all service health statuses
*/
getHealthStatus(): Promise<Record<string, any>>;
/**
* Start health monitoring for all services
*/
private startHealthMonitoring;
/**
* Shutdown all services gracefully
*/
shutdown(): Promise<void>;
/**
* Reset service manager (useful for testing)
*/
reset(): void;
/**
* Get service metrics
*/
getMetrics(): Record<string, any>;
}
export declare const serviceManager: ServiceManager;