UNPKG

@sailboat-computer/health-monitoring

Version:

Comprehensive health monitoring system for sailboat computer v3 with marine-specific health checks

126 lines 3.43 kB
/** * Recovery orchestrator for self-healing mechanisms */ import { HealthCheckResult, OperationalContextType, MarineEnvironmentStatus } from '../types'; import { BaseRecoveryAction, RecoveryActionResult, RecoveryPolicy, RecoveryEvent } from './RecoveryAction'; /** * Recovery orchestrator configuration */ export interface RecoveryOrchestratorConfig { /** * Whether automated recovery is enabled */ automatedRecoveryEnabled: boolean; /** * Maximum concurrent recovery actions */ maxConcurrentActions: number; /** * Default timeout for recovery actions in ms */ defaultActionTimeout: number; /** * Default retry count for recovery actions */ defaultRetryCount: number; /** * Default retry delay in ms */ defaultRetryDelay: number; /** * Whether to prioritize safety-critical systems */ prioritizeSafetyCritical: boolean; /** * Marine-specific settings */ marineSettings: { /** * Whether to adapt recovery to marine conditions */ adaptToMarineConditions: boolean; /** * Whether to adapt to power status */ powerAware: boolean; /** * Whether to limit recovery actions in rough seas */ limitInRoughSeas: boolean; /** * Whether to require approval in emergency situations */ requireApprovalInEmergency: boolean; }; } /** * Recovery orchestrator for managing self-healing actions */ export declare class RecoveryOrchestrator { private config; private recoveryActions; private recoveryPolicies; private activeRecoveries; private recoveryHistory; private eventListeners; private currentOperationalContext; private currentMarineEnvironment?; constructor(config: RecoveryOrchestratorConfig); /** * Register a recovery action */ registerRecoveryAction(action: BaseRecoveryAction): void; /** * Register a recovery policy */ registerRecoveryPolicy(policy: RecoveryPolicy): void; /** * Update operational context */ updateOperationalContext(context: OperationalContextType): void; /** * Update marine environment */ updateMarineEnvironment(environment: MarineEnvironmentStatus): void; /** * Process a health check result and trigger recovery if needed */ processHealthCheckResult(result: HealthCheckResult): Promise<void>; /** * Execute a recovery policy */ private executeRecoveryPolicy; /** * Check if a policy is applicable in the current context */ private isPolicyApplicable; /** * Subscribe to recovery events */ onEvent(listener: (event: RecoveryEvent) => void): () => void; /** * Emit a recovery event */ private emitEvent; /** * Get recovery history */ getRecoveryHistory(): RecoveryActionResult[]; /** * Get active recoveries */ getActiveRecoveries(): string[]; /** * Get registered recovery actions */ getRegisteredActions(): string[]; /** * Get registered recovery policies */ getRegisteredPolicies(): string[]; } /** * Create a default recovery orchestrator */ export declare const defaultRecoveryOrchestrator: RecoveryOrchestrator; //# sourceMappingURL=RecoveryOrchestrator.d.ts.map