/** * Pipeline executor - executes prompt pipelines with sequential/parallel stages * * MAINT-002: Large Files Need Splitting - Refactored to use extracted classes: * - StageScheduler -> stage-scheduler.ts * - PipelineValidator -> pipeline-validator.ts * - StageExecutor -> stage-executor.ts */ import type { CommandResult, PipelineStage } from '../types/command.types.js'; import type { AgentLoader } from './agent-loader.js'; import type { PromptLoader } from './prompt-loader.js'; import { type PipelineEventEmitter } from './pipeline-events.js'; import { type PipelineExecutionContext } from './stage-executor.js'; /** * Detect if running in a git worktree and return its info */ export declare class PipelineExecutor { private eventEmitter; private inputPreResolver; private interactiveQuestionHandler; private pipelineValidator; private preResolvedInputs; private stageExecutor; private stageScheduler; constructor(promptLoader: PromptLoader, agentLoader: AgentLoader, eventEmitter?: PipelineEventEmitter); /** * Execute a pipeline of stages */ execute(stages: PipelineStage[], context: PipelineExecutionContext): Promise; /** * Validate pipeline stages */ validatePipeline(stages: PipelineStage[]): string[]; /** * Execute a stage with optional retry on failure. * Only sequential stages support retry; parallel stages are never retried here. */ private executeStageWithRetry; /** * Trigger memory extraction only when a feedback pipeline completed successfully. * Guards the commandName + requiredStagesSuccessful check so execute() stays below * the cyclomatic-complexity ceiling. */ private maybeTriggerMemoryExtraction; /** * Trigger memory extraction from feedback pipeline stage outputs. * Non-fatal: errors are logged as warnings and must never block pipeline execution. */ private triggerMemoryExtraction; /** * Merge outputs from all stages */ private mergeOutputs; /** * Get pre-resolved inputs for a stage if available * Returns undefined if no pre-resolved inputs exist */ private getPreResolvedInputsForStage; /** * Handle interactive questions from a stage output * If the stage produced clarifying questions and interactive mode is enabled, * prompt the user for answers and store them for subsequent stages. * * @param result - The stage output to check for questions * @param context - The pipeline execution context * @param stage - The pipeline stage that was executed * @returns true if questions were handled, false otherwise */ private executeParallelGroup; private executeSequentialGroup; private handleInteractiveQuestions; private initCheckpointManager; private loadExistingCheckpoints; private processSequentialStage; private processStageGroup; } //# sourceMappingURL=pipeline.d.ts.map