@xec-sh/cli
Version:
Xec: The Universal Shell for TypeScript
43 lines (42 loc) • 1.36 kB
TypeScript
import { EventEmitter } from 'events';
import { TargetResolver } from './target-resolver.js';
import { VariableInterpolator } from './variable-interpolator.js';
import type { TaskResult, TaskDefinition } from './types.js';
export interface TaskExecutorOptions {
interpolator: VariableInterpolator;
targetResolver: TargetResolver;
defaultTimeout?: number;
debug?: boolean;
dryRun?: boolean;
}
export interface TaskExecutionOptions {
params?: Record<string, any>;
vars?: Record<string, any>;
target?: string;
env?: Record<string, string>;
cwd?: string;
timeout?: number;
quiet?: boolean;
}
export declare class TaskExecutor extends EventEmitter {
private options;
constructor(options: TaskExecutorOptions);
execute(taskName: string, task: TaskDefinition, options?: TaskExecutionOptions): Promise<TaskResult>;
private executeCommand;
private executePipeline;
private executeStepsSequential;
private executeStepsParallel;
private executeStep;
private executeStepCommand;
private executeOnTarget;
private executeStepScript;
private executeScript;
private handleStepError;
private handleTaskError;
private evaluateCondition;
private resolveTarget;
private createTargetEngine;
private getTimeout;
private parseTimeout;
private parseDelay;
}