vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
97 lines • 3.25 kB
TypeScript
export type ErrorType = 'agent_failure' | 'task_timeout' | 'dependency_failure' | 'resource_exhaustion' | 'communication_failure' | 'validation_error' | 'system_error' | 'unknown_error';
export type RecoveryStrategy = 'retry_same_agent' | 'reassign_different_agent' | 'restart_agent' | 'split_task' | 'escalate_human' | 'skip_task' | 'rollback_changes';
export interface ErrorInfo {
id: string;
taskId: string;
agentId?: string;
errorType: ErrorType;
message: string;
stackTrace?: string;
timestamp: Date;
context: Record<string, unknown>;
severity: 'low' | 'medium' | 'high' | 'critical';
recoverable: boolean;
}
export interface RecoveryAttempt {
id: string;
errorId: string;
strategy: RecoveryStrategy;
attemptNumber: number;
startedAt: Date;
completedAt?: Date;
success: boolean;
message?: string;
newTaskId?: string;
newAgentId?: string;
}
export interface ErrorPattern {
pattern: string;
errorType: ErrorType;
frequency: number;
lastOccurrence: Date;
affectedAgents: Set<string>;
affectedTasks: Set<string>;
suggestedStrategy: RecoveryStrategy;
preventionMeasures: string[];
}
export interface RecoveryConfig {
maxRetryAttempts: number;
retryDelayMinutes: number;
exponentialBackoff: boolean;
maxBackoffMinutes: number;
enablePatternAnalysis: boolean;
patternAnalysisWindowHours: number;
autoRecoveryEnabled: boolean;
escalationThreshold: number;
}
export interface RecoveryStats {
totalErrors: number;
recoveredErrors: number;
failedRecoveries: number;
averageRecoveryTime: number;
mostCommonErrorType: ErrorType;
mostEffectiveStrategy: RecoveryStrategy;
patternsPrevented: number;
lastStatsUpdate: Date;
}
export declare class ErrorRecovery {
private static instance;
private agentOrchestrator;
private taskStreamer;
private executionWatchdog;
private feedbackProcessor;
private config;
private errors;
private recoveryAttempts;
private errorPatterns;
private stats;
private constructor();
static getInstance(config?: Partial<RecoveryConfig>): ErrorRecovery;
reportError(taskId: string, errorType: ErrorType, message: string, agentId?: string, context?: Record<string, unknown>, stackTrace?: string): Promise<string>;
attemptRecovery(errorId: string): Promise<boolean>;
getError(errorId: string): ErrorInfo | null;
getRecoveryAttempts(errorId: string): RecoveryAttempt[];
getErrorPatterns(): ErrorPattern[];
getStats(): RecoveryStats;
cleanup(olderThanHours?: number): void;
private determineSeverity;
private isRecoverable;
private selectRecoveryStrategy;
private executeRecoveryStrategy;
private retryWithSameAgent;
private reassignToDifferentAgent;
private restartAgent;
private splitTask;
private escalateToHuman;
private skipTask;
private analyzeErrorPattern;
private extractPatternFromMessage;
private findMatchingPattern;
private generatePreventionMeasures;
private calculateRetryDelay;
private sleep;
private escalateError;
private updateStats;
destroy(): void;
}
//# sourceMappingURL=error-recovery.d.ts.map