UNPKG

@xec-sh/cli

Version:

Xec: The Universal Shell for TypeScript

48 lines (47 loc) 1.77 kB
import { EventEmitter } from 'events'; import { ConfigurationManager } from './configuration-manager.js'; import { TaskExecutionOptions } from './task-executor.js'; import type { TaskConfig, TaskResult, TaskParameter, TaskDefinition } from './types.js'; export interface TaskManagerOptions { configManager: ConfigurationManager; debug?: boolean; dryRun?: boolean; defaultTimeout?: number; } export interface TaskInfo { name: string; description?: string; params?: TaskParameter[]; isPrivate?: boolean; hasSteps?: boolean; hasCommand?: boolean; hasScript?: boolean; target?: string; targets?: string[]; } export declare class TaskManager extends EventEmitter { private options; private parser; private executor; private configManager; private interpolator; private targetResolver; private parsedTasks; private config; constructor(options: TaskManagerOptions); load(): Promise<void>; list(): Promise<TaskInfo[]>; get(taskName: string): Promise<TaskDefinition | null>; exists(taskName: string): Promise<boolean>; run(taskName: string, params?: Record<string, any>, options?: TaskExecutionOptions): Promise<TaskResult>; runOnTarget(taskName: string, target: string, params?: Record<string, any>, options?: TaskExecutionOptions): Promise<TaskResult>; create(taskName: string, config: TaskConfig): Promise<void>; update(taskName: string, config: TaskConfig): Promise<void>; delete(taskName: string): Promise<void>; explain(taskName: string, params?: Record<string, any>): Promise<string[]>; private applyParameterDefaults; private validateParameters; private validateParameterType; private ensureLoaded; clearCache(): void; }