/** * Base terminal adapter interface */ export interface Terminal { id: string; pid?: number; executeCommand(command: string): Promise; write(data: string): Promise; read(): Promise; isAlive(): boolean; kill(): Promise; addOutputListener?(listener: (data: string) => void): void; removeOutputListener?(listener: (data: string) => void): void; } export interface ITerminalAdapter { initialize(): Promise; shutdown(): Promise; createTerminal(): Promise; destroyTerminal(terminal: Terminal): Promise; } export interface TerminalEvents { 'terminal:created': { terminalId: string; pid?: number }; 'terminal:closed': { terminalId: string; code?: number; signal?: string }; 'terminal:error': { terminalId: string; error: Error }; 'terminal:output': { terminalId: string; data: string }; }