vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
88 lines • 3.39 kB
TypeScript
import { EventEmitter } from 'events';
import { WorkflowPhase } from './workflow-state-manager.js';
export type AgentActivity = 'idle' | 'decomposition' | 'orchestration' | 'task_execution' | 'research' | 'context_enrichment' | 'dependency_analysis';
export interface WorkflowAwareAgentState {
agentId: string;
currentActivity: AgentActivity;
activityStartTime: Date;
lastHeartbeat: Date;
lastProgressUpdate: Date;
workflowId?: string;
sessionId?: string;
expectedDuration?: number;
progressPercentage: number;
isWorkflowCritical: boolean;
extendedTimeoutUntil?: Date;
gracePeriodCount: number;
metadata: {
workflowPhase?: WorkflowPhase;
taskCount?: number;
estimatedCompletion?: Date;
lastActivityUpdate?: Date;
[key: string]: unknown;
};
}
export interface WorkflowTimeoutConfig {
baseHeartbeatInterval: number;
activityTimeoutMultipliers: Record<AgentActivity, number>;
maxGracePeriods: number;
gracePeriodDuration: number;
progressUpdateInterval: number;
workflowCriticalExtension: number;
enableAdaptiveTimeouts: boolean;
}
export declare class WorkflowAwareAgentManager extends EventEmitter {
private static instance;
private config;
private agentStates;
private agentOrchestrator;
private workflowStateManager;
private decompositionService;
private monitoringInterval;
private isMonitoring;
private startTime;
private constructor();
private scheduleAsyncInitialization;
private initializeDecompositionService;
private getAgentOrchestrator;
static getInstance(config?: Partial<WorkflowTimeoutConfig>): WorkflowAwareAgentManager;
startMonitoring(): Promise<void>;
stopMonitoring(): Promise<void>;
registerAgentActivity(agentId: string, activity: AgentActivity, options?: {
workflowId?: string;
sessionId?: string;
expectedDuration?: number;
isWorkflowCritical?: boolean;
metadata?: Record<string, unknown>;
}): Promise<void>;
updateAgentProgress(agentId: string, progressPercentage: number, metadata?: Record<string, unknown>): Promise<void>;
completeAgentActivity(agentId: string, success?: boolean, metadata?: Record<string, unknown>): Promise<void>;
getAgentState(agentId: string): WorkflowAwareAgentState | undefined;
getAllAgentStates(): WorkflowAwareAgentState[];
getWorkflowAwareStats(): {
totalAgents: number;
activeWorkflows: number;
agentsByActivity: Record<AgentActivity, number>;
criticalAgents: number;
agentsInGracePeriod: number;
averageProgress: number;
};
private setupEventListeners;
private performWorkflowAwareHealthCheck;
private shouldMarkAgentOffline;
private calculateActivityTimeout;
private adjustTimeoutBasedOnProgress;
private handleAgentTimeout;
private handleWorkflowPhaseChange;
private handleWorkflowProgressUpdate;
private handleDecompositionStarted;
private handleDecompositionProgress;
private handleDecompositionCompleted;
private handleDecompositionFailed;
private handleEpicGenerationStarted;
private handleEpicGenerationCompleted;
private handleTaskListStarted;
private handleTaskListCompleted;
dispose(): void;
}
//# sourceMappingURL=workflow-aware-agent-manager.d.ts.map