import { executeTaskAndCompleteWithResult, executeTaskWithResult } from './taskExecution.js';
import { executeTaskWorkflow } from './taskWorkflowExecution.js';
import { executeWorkflowForRun } from './workflowExecution.js';
async function executeTaskWithRunResult(options, runContext) {
    return executeTaskWorkflow(options, (workflowConfig, task, cwd, workflowOptions) => executeWorkflowForRun(workflowConfig, task, cwd, workflowOptions, runContext));
}
export async function executeRunTaskAndComplete(task, taskRunner, cwd, taskExecutionOptions, parallelOptions, runContext) {
    const taskExecutor = runContext?.ignoreIterationLimit === true
        ? (options) => executeTaskWithRunResult(options, runContext)
        : executeTaskWithResult;
    return executeTaskAndCompleteWithResult(task, taskRunner, cwd, taskExecutor, taskExecutionOptions, parallelOptions);
}
//# sourceMappingURL=runTaskExecution.js.map