@clipwhisperer/common
Version:
ClipWhisperer Common - Shared library providing core utilities, database schemas, authentication, bucket management, and common functionality across all ClipWhisperer microservices
39 lines (38 loc) • 1.4 kB
TypeScript
import { ServiceConfig } from '../../schemas/services';
import { IEventBus, IHealthChecker, IProcessManager, IServiceOrchestrator, IServiceRegistry, ServiceEvent, ServiceInfo, ServiceStatus } from '../../types/services';
/**
* Enterprise Service Manager
* Main orchestrator implementing dependency injection and enterprise patterns
*/
export declare class EnterpriseServiceManager implements IServiceOrchestrator {
private eventBus;
private serviceRegistry;
private healthChecker;
private processManager;
private logger;
private isRunning;
private config;
constructor(config?: Partial<any>);
private setupEventListeners;
private handleUnhealthyService;
private handleFailedService;
private handleProcessExit;
start(): Promise<void>;
stop(): Promise<void>;
startService(serviceName: string): Promise<void>;
stopService(serviceName: string): Promise<void>;
private waitForServiceReady;
private startHealthMonitoring;
private stopHealthMonitoring;
getStatus(): {
[serviceName: string]: ServiceStatus;
};
getServiceInfo(): ServiceInfo[];
getEventHistory(): ServiceEvent[];
getEventBus(): IEventBus;
getServiceRegistry(): IServiceRegistry;
getHealthChecker(): IHealthChecker;
getProcessManager(): IProcessManager;
getConfig(): ServiceConfig;
}
export default EnterpriseServiceManager;