export interface AgentSession {
  id: string;
  taskDescription: string;
  status: 'running' | 'completed' | 'failed' | 'cancelled';
  startedAt: string;
  endedAt?: string;
  durationMs?: number;
  commandCount: number;
  serverTargets: string[];
}

export interface SessionEvent {
  id: string;
  sessionId: string;
  type:
    | 'command_executed'
    | 'output_received'
    | 'approval_requested'
    | 'approval_granted'
    | 'approval_denied'
    | 'error'
    | 'session_started'
    | 'session_completed';
  timestamp: string;
  data: {
    command?: string;
    output?: string;
    riskLevel?: string;
    error?: string;
    exitCode?: number;
  };
}
