UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

89 lines 2.82 kB
import { AtomicTask } from '../types/task.js'; export interface WatchdogConfig { taskType: string; timeoutMinutes: number; warningThresholdMinutes: number; maxRetries: number; escalationDelayMinutes: number; healthCheckIntervalMinutes: number; } export interface TaskMonitor { taskId: string; agentId: string; startTime: Date; lastHeartbeat: Date; timeoutAt: Date; warningAt: Date; status: 'monitoring' | 'warning' | 'timeout' | 'escalated' | 'recovered'; retryCount: number; escalationLevel: number; taskType: string; estimatedDuration?: number; } export interface AgentHealth { agentId: string; lastSeen: Date; consecutiveTimeouts: number; totalTasksAssigned: number; totalTasksCompleted: number; averageCompletionTime: number; healthScore: number; status: 'healthy' | 'degraded' | 'unhealthy' | 'offline'; lastHealthCheck: Date; } export interface WatchdogStats { totalTasksMonitored: number; activeMonitors: number; timeoutsDetected: number; escalationsTriggered: number; recoveredTasks: number; averageTaskDuration: number; agentsMonitored: number; unhealthyAgents: number; lastStatsUpdate: Date; } export type EscalationAction = 'reassign_task' | 'restart_agent' | 'human_intervention' | 'task_cancellation' | 'system_alert'; export interface EscalationProcedure { level: number; action: EscalationAction; delayMinutes: number; description: string; autoExecute: boolean; } export declare class ExecutionWatchdog { private static instance; private configs; private monitors; private agentHealth; private agentOrchestrator; private taskStreamer; private feedbackProcessor; private watchdogTimer?; private healthCheckTimer?; private stats; private escalationProcedures; private constructor(); static getInstance(): ExecutionWatchdog; startMonitoring(taskId: string, agentId: string, task: AtomicTask): Promise<void>; stopMonitoring(taskId: string, completed?: boolean): Promise<void>; updateTaskHeartbeat(taskId: string): void; configureTaskType(config: WatchdogConfig): void; getStats(): WatchdogStats; getAgentHealth(agentId?: string): AgentHealth[]; getActiveMonitors(): TaskMonitor[]; forceTimeoutCheck(): Promise<void>; private initializeDefaultConfigs; private getConfigForTaskType; private startWatchdog; private checkTimeouts; private handleTimeout; private retryTask; private escalateTask; private executeEscalationAction; private initializeAgentHealth; private performHealthChecks; private calculateHealthScore; private determineHealthStatus; destroy(): void; } //# sourceMappingURL=execution-watchdog.d.ts.map