/** * Task subsystem types. Mirrors openclaw/openclaw src/tasks/task-registry.types.ts * with channel/delivery fields stripped — Franklin is CLI-first single-user. */ export type TaskStatus = 'queued' | 'running' | 'succeeded' | 'failed' | 'timed_out' | 'cancelled' | 'lost'; export type TaskRuntime = 'detached-bash'; export type TaskTerminalOutcome = 'succeeded' | 'blocked'; export type TaskEventKind = Exclude | 'progress'; export interface TaskEventRecord { at: number; kind: TaskEventKind; summary?: string; } export interface TaskRecord { runId: string; runtime: TaskRuntime; label: string; command: string; workingDir: string; pid?: number; status: TaskStatus; createdAt: number; startedAt?: number; endedAt?: number; lastEventAt?: number; exitCode?: number; error?: string; progressSummary?: string; terminalSummary?: string; terminalOutcome?: TaskTerminalOutcome; } export declare function isTerminalTaskStatus(s: TaskStatus): boolean;