import type { StructuredCaller } from '../../../agents/structured-caller.js'; import type { AgentResponse, WorkflowConfig, WorkflowMaxSteps, WorkflowResumePoint, WorkflowResumePointEntry, WorkflowState, WorkflowStep } from '../../models/types.js'; import type { RunPaths } from '../run/run-paths.js'; import type { WorkflowEngineOptions, WorkflowSharedRuntimeState } from '../types.js'; import { ArpeggioRunner } from './ArpeggioRunner.js'; import { LoopMonitorJudgeRunner } from './LoopMonitorJudgeRunner.js'; import { OptionsBuilder } from './OptionsBuilder.js'; import { ParallelRunner } from './ParallelRunner.js'; import { StepExecutor } from './StepExecutor.js'; import { SystemStepExecutor } from './SystemStepExecutor.js'; import { TeamLeaderRunner } from './TeamLeaderRunner.js'; import { WorkflowCallRunner } from './WorkflowCallRunner.js'; import type { WorkflowCallChildEngine } from '../types.js'; import type { StructuredOutputNormalizerRegistry } from './structured-output-normalizer.js'; import { type WorkflowStepAbortSignalContext } from './step-deadline.js'; interface WorkflowEngineSetupParams { config: WorkflowConfig; state: WorkflowState; task: string; projectCwd: string; getCwd: () => string; getReportDir: () => string; getRunPaths: () => RunPaths; getMaxSteps: () => WorkflowMaxSteps; options: WorkflowEngineOptions & { structuredOutputNormalizers: StructuredOutputNormalizerRegistry; }; structuredCaller: StructuredCaller; sharedRuntime: WorkflowSharedRuntimeState; resumeStackPrefix: readonly WorkflowResumePointEntry[]; getCurrentWorkflowStack: () => WorkflowResumePointEntry[] | undefined; runPaths: RunPaths; updateMaxSteps: (maxSteps: WorkflowMaxSteps) => void; claimStepOccurrence: (step: WorkflowStep, resumeStackPrefix: readonly WorkflowResumePointEntry[]) => number; consumeWorkflowCallContinuation: (step: WorkflowStep, occurrence: number, resumeStackPrefix: readonly WorkflowResumePointEntry[]) => WorkflowResumePointEntry | undefined; setActiveResumePoint: (step: WorkflowStep, iteration: number, occurrence: number, resumeStackPrefix: readonly WorkflowResumePointEntry[]) => void; commitDynamicParallelSelection: (identity: string, selection: import('../../models/types.js').DynamicParallelSelectionSnapshot) => Promise; commitDynamicFacetSelection: (identity: string, selection: import('../../models/types.js').DynamicFacetSelectionSnapshot) => Promise; updatePersonaSession: (persona: string, sessionId: string | undefined) => void; resolveNextStepFromDone: (step: WorkflowStep, response: AgentResponse) => string; resetCycleDetector: () => void; emitEvent: (event: string, ...args: unknown[]) => void; createEngine: (config: WorkflowConfig, cwd: string, task: string, options: WorkflowEngineOptions) => WorkflowCallChildEngine; } export interface WorkflowEngineServices { stepAbortSignalContext: WorkflowStepAbortSignalContext; optionsBuilder: OptionsBuilder; stepExecutor: StepExecutor; parallelRunner: ParallelRunner; arpeggioRunner: ArpeggioRunner; teamLeaderRunner: TeamLeaderRunner; systemStepExecutor: SystemStepExecutor; loopMonitorJudgeRunner: LoopMonitorJudgeRunner; workflowCallRunner: WorkflowCallRunner; } export declare function assertTaskPrefixPair(taskPrefix: string | undefined, taskColorIndex: number | undefined): void; export declare function createSharedRuntime(resumePoint: WorkflowResumePoint | undefined, maxSteps: WorkflowMaxSteps): WorkflowSharedRuntimeState; export declare function ensureRunDirsExist(runPaths: RunPaths): void; export declare function applyRuntimeEnvironment(cwd: string, config: WorkflowConfig, stage: 'init' | 'step'): void; export declare function createWorkflowEngineServices(params: WorkflowEngineSetupParams): WorkflowEngineServices; export {}; //# sourceMappingURL=WorkflowEngineSetup.d.ts.map