export type TerminalAction = "create" | "write" | "read" | "kill" | "resize"; export interface TerminalCreateOpts { agentId: string; shell?: string; cwd: string; cols?: number; rows?: number; preCommand?: string; } export interface TerminalReadOpts { lines?: number; } export interface TerminalReadResult { status: "running" | "exited" | "closed"; exit_code: number | null; output: string; needs_input: boolean; truncated: boolean; } export interface TerminalManager { create(opts: TerminalCreateOpts): { id: string; pid: number | undefined; }; write(id: string, data: string): void; read(id: string, opts: TerminalReadOpts): TerminalReadResult; kill(id: string): void; resize(id: string, cols: number, rows: number): void; killByAgent?(agentId: string): void; }