export type SubTaskStatus = 'pending' | 'running' | 'success' | 'failed'; export interface SubTask { id: string; taskId: string; scriptId: string; name: string; status: SubTaskStatus; progress: number; message: string; stdoutTail: string; stderrTail: string; error?: string; startedAt: string; completedAt?: string; } export type TaskStatus = 'pending' | 'running' | 'success' | 'partial_failed' | 'failed'; export interface Task { id: string; title: string; operation: 'open' | 'close'; roomType: string; dateRange: [string, string]; status: TaskStatus; subTasks: SubTask[]; roomList: any[]; createdAt: string; updatedAt: string; } export interface TaskProgressPayload { taskId: string; subTaskId: string; progress?: number; message?: string; stdoutTail?: string; stderrTail?: string; }