vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
74 lines • 2.79 kB
TypeScript
import { EventEmitter } from 'events';
import { AtomicTask, TaskStatus } from '../types/task.js';
import { OptimizedDependencyGraph } from '../core/dependency-graph.js';
export interface TaskTransition {
taskId: string;
fromStatus: TaskStatus;
toStatus: TaskStatus;
timestamp: Date;
reason?: string;
triggeredBy?: string;
metadata?: Record<string, unknown>;
isAutomated: boolean;
}
export interface TaskTransitionResult {
success: boolean;
taskId: string;
transition?: TaskTransition;
error?: string;
metadata?: Record<string, unknown>;
}
export interface TaskLifecycleConfig {
enableAutomation: boolean;
transitionTimeout: number;
maxRetries: number;
enableStateHistory: boolean;
enableDependencyTracking: boolean;
automationInterval?: number;
timeoutThreshold?: number;
}
export interface TransitionStatistics {
totalTransitions: number;
byStatus: Record<TaskStatus, number>;
averageTransitionTime: number;
successRate: number;
automatedTransitions: number;
manualTransitions: number;
}
export interface AutomationMetrics {
lastProcessingTime: number;
tasksProcessed: number;
transitionsTriggered: number;
errorsEncountered: number;
}
export declare class TaskLifecycleService extends EventEmitter {
private config;
private transitionHistory;
private statistics;
private automationMetrics;
private transitionLocks;
private automationTimer?;
private disposed;
constructor(config?: Partial<TaskLifecycleConfig>);
isValidTransition(fromStatus: TaskStatus, toStatus: TaskStatus): boolean;
transitionTask(taskId: string, toStatus: TaskStatus, options?: {
reason?: string;
triggeredBy?: string;
metadata?: Record<string, unknown>;
isAutomated?: boolean;
}): Promise<TaskTransitionResult>;
processAutomatedTransitions(tasks: AtomicTask[], dependencyGraph: OptimizedDependencyGraph): Promise<TaskTransitionResult[]>;
processDependencyCascade(completedTaskId: string, tasks: AtomicTask[], _dependencyGraph: OptimizedDependencyGraph): Promise<TaskTransitionResult[]>;
getReadyTasks(tasks: AtomicTask[], _dependencyGraph: OptimizedDependencyGraph): AtomicTask[];
getBlockedTasks(tasks: AtomicTask[], _dependencyGraph: OptimizedDependencyGraph): AtomicTask[];
checkTimeoutTransitions(tasks: AtomicTask[]): Promise<TaskTransitionResult[]>;
getTaskHistory(taskId: string): TaskTransition[];
getTransitionStatistics(): TransitionStatistics;
getAutomationMetrics(): AutomationMetrics;
dispose(): void;
private checkDependencies;
private recordTransition;
private updateStatistics;
private validateConfig;
}
//# sourceMappingURL=task-lifecycle.d.ts.map