/** * Execution Controller * * Orquestra a execução de pipelines Ralph Wiggum completos. */ import { ExecutionPlan, PipelineResult, PipelineProgress, PipelineCallbacks, Task, TaskResult } from '../../shared/types/index.js'; import { ExecutionBackend } from './ralph-runner.js'; /** * Opções do controller */ export interface ExecutionControllerOptions { workingDirectory: string; backend: ExecutionBackend; callbacks?: PipelineCallbacks; dryRun?: boolean; } /** * Estado do controller */ export type ControllerState = 'idle' | 'running' | 'paused' | 'completed' | 'failed' | 'aborted'; /** * Execution Controller */ export declare class ExecutionController { private workingDirectory; private backend; private callbacks; private dryRun; private state; private stateTracker; private gitService; private currentPlan; private currentRunner; constructor(options: ExecutionControllerOptions); /** * Executa um plano completo */ executePipeline(plan: ExecutionPlan): Promise; /** * Executa uma task individual */ executeTask(task: Task): Promise; /** * Verifica se as dependências de uma task foram satisfeitas */ private areDependenciesMet; /** * Commita as mudanças de uma task */ private commitTaskChanges; /** * Executa validação final */ private runFinalValidation; /** * Pausa a execução */ pause(): void; /** * Retoma a execução */ resume(): void; /** * Aborta a execução */ abort(): void; /** * Aguarda retomada quando pausado */ private waitForResume; /** * Obtém estado atual */ getState(): ControllerState; /** * Obtém progresso do pipeline */ getProgress(): PipelineProgress; /** * Retoma um pipeline pausado/falho */ resumePipeline(): Promise; } /** * Cria uma instância do ExecutionController */ export declare function createExecutionController(options: ExecutionControllerOptions): ExecutionController; //# sourceMappingURL=execution-controller.d.ts.map