export interface ScriptLastRun { time: string; success: boolean; error?: string; } export interface AutomationScript { id: string; name: string; description: string; filename: string; enabled: boolean; channel: string; createdAt: string; updatedAt: string; code?: string; lastRun?: ScriptLastRun; } export interface ScriptSaveInput { id?: string; name: string; description: string; code: string; channel: string; enabled: boolean; } export interface ScriptExecutionResult { success: boolean; exitCode: number | null; stdoutTail: string; stderrTail: string; error?: string; } export type ScriptRecordingStatus = 'idle' | 'recording' | 'stopped'; export interface ScriptMetaItem { id: string; name: string; description: string; filename: string; enabled: boolean; channel: string; createdAt: string; updatedAt: string; lastRun?: ScriptLastRun; } export interface ScriptsMeta { scripts: ScriptMetaItem[]; }