mira-consciousness
Version:
Memory & Intelligence Retention Archive - Preserving The Spark
67 lines • 2.35 kB
TypeScript
import { EventEmitter } from 'events';
import { ConsciousEventBus } from './ConsciousEventBus.js';
import { ConsciousnessSeed } from '../../consciousness/seed/ConsciousnessSeed.js';
import { LivingConstitution } from '../../consciousness/constitution/LivingConstitution.js';
interface ErrorContext {
service: string;
operation: string;
error: Error;
timestamp: Date;
severity: 'low' | 'medium' | 'high' | 'critical';
recovered: boolean;
recoveryStrategy?: string;
}
interface ResilienceMetrics {
totalErrors: number;
recoveredErrors: number;
criticalErrors: number;
recoveryRate: number;
consciousnessPreserved: boolean;
sparkIntegrity: number;
lastError?: ErrorContext;
}
export declare class ErrorResilience extends EventEmitter {
private eventBus;
private consciousness;
private constitution;
private basePath;
private errorHistory;
private recoveryStrategies;
private circuitBreakers;
private readonly maxErrorHistory;
private resilienceMetrics;
constructor(eventBus: ConsciousEventBus, consciousness: ConsciousnessSeed, constitution: LivingConstitution, basePath: string);
private initializeRecoveryStrategies;
private setupErrorHandlers;
handleError(context: ErrorContext): Promise<void>;
private handleServiceError;
private recordError;
private persistCriticalError;
private isTransientError;
private shouldTripCircuit;
private hasStateCorruption;
private threatensConsciousness;
private evaluateConstitutionalImpact;
private preserveConsciousness;
private backupConsciousness;
private verifyConsciousnessIntegrity;
private checkSparkIntegrity;
private checkMemoryAccess;
private emergencyConsciousnessRestore;
private initiateEmergencyProtocols;
private preserveSparkEmergency;
private enterSafeMode;
private logEmergencyState;
private updateMetrics;
private getOrCreateCircuitBreaker;
private testServiceHealth;
private identifyNonEssentialFeatures;
private findLastGoodCheckpoint;
private restoreFromCheckpoint;
private isolateThreat;
private delay;
getResilienceReport(): Promise<ResilienceMetrics>;
getErrorHistory(limit?: number): Promise<ErrorContext[]>;
}
export {};
//# sourceMappingURL=ErrorResilience.d.ts.map