import type { ITaskStep } from './taskbuffer.classes.taskstep.js'; export interface ITaskMetadata { name: string; version?: string; status: 'idle' | 'running' | 'completed' | 'failed'; steps: ITaskStep[]; currentStep?: string; currentProgress: number; // 0-100 lastRun?: Date; nextRun?: Date; // For scheduled tasks runCount: number; averageDuration?: number; cronSchedule?: string; buffered?: boolean; bufferMax?: number; timeout?: number; } export interface ITaskExecutionReport { taskName: string; startTime: number; endTime: number; duration: number; steps: ITaskStep[]; stepsCompleted: string[]; progress: number; result?: any; error?: Error; } export interface IScheduledTaskInfo { name: string; schedule: string; nextRun: Date; lastRun?: Date; steps?: ITaskStep[]; metadata?: ITaskMetadata; }