UNPKG

@bonginkan/maria

Version:

MARIA OS v5.9.5 – Self-Evolving Organizational Intelligence OS | Speed Improvement Phase 3: LLM Optimization + Command Refactoring | Performance Measurement + Run Evidence System | Zero ESLint/TypeScript Errors | 人とAIが役割を持ち、学び、進化し続けるための仕事のOS | GraphRAG ×

66 lines (65 loc) 1.86 kB
/** * Base Service Class for Resource Management * All services should extend this for proper timer/listener cleanup */ export interface ServiceConfig { name: string; enableTelemetry?: boolean; jitterPercent?: number; } export declare abstract class BaseService { protected readonly serviceName: string; protected timers: NodeJS.Timeout[]; protected listeners: Array<() => void>; protected destroyed: boolean; protected telemetryEnabled: boolean; protected jitterPercent: number; constructor(config: ServiceConfig); /** * Register a timer with automatic cleanup and jitter */ protected registerTimer(fn: () => void | Promise<void>, interval: number, options?: { immediate?: boolean; jitter?: boolean; }): void; /** * Register a cleanup listener */ protected registerListener(cleanup: () => void | Promise<void>): void; /** * Register a delayed task */ protected registerDelay(fn: () => void | Promise<void>, delay: number): NodeJS.Timeout; /** * Cancel a specific timer */ protected cancelTimer(timer: NodeJS.Timeout): boolean; /** * Get service health status */ getHealth(): ServiceHealth; /** * Log telemetry event */ protected logTelemetry(event: string, metadata?: Record<string, unknown>): void; /** * Destroy the service and cleanup all resources */ destroy(): void; /** * Check if service is destroyed */ isDestroyed(): boolean; /** * Abstract method - services should implement their initialization */ abstract initialize(): Promise<void>; } export interface ServiceHealth { service: string; status: "healthy" | "unhealthy" | "destroyed"; timers: number; listeners: number; uptime: number; memory: number; }