import { type FrontMcpLogger } from '../../common/interfaces/logger.interface'; import { type WorkflowExecutionResult } from '../../common/interfaces/workflow.interface'; import { type WorkflowMetadata } from '../../common/metadata/workflow.metadata'; import { type JobRegistryInterface } from '../../job/job.registry'; /** * DAG-based workflow execution engine. * * Algorithm: * 1. Validate DAG (topological sort, detect cycles) * 2. Build step dependency graph * 3. Loop: * a. Find ready steps (all dependsOn completed/skipped) * b. Evaluate conditions * c. Compute inputs * d. Execute ready steps in parallel (bounded by maxConcurrency) * e. Record results * 4. Return WorkflowExecutionResult */ export declare class WorkflowEngine { private readonly metadata; private readonly stepExecutor; private readonly logger; private readonly maxConcurrency; constructor(metadata: WorkflowMetadata, jobRegistry: JobRegistryInterface, logger: FrontMcpLogger, extra: { authInfo: Partial>; contextProviders?: unknown; }); execute(workflowInput?: Record): Promise; /** * Validate the DAG: detect cycles and missing step references. */ private validateDag; } //# sourceMappingURL=workflow.engine.d.ts.map