import * as plugins from './plugins.js'; import type { IControllerTerminal, TControllerTerminalId } from './interfaces.js'; export interface IReq_ControllerTerminalList extends plugins.typedrequestInterfaces.implementsTR { method: 'controller.terminal.list'; request: { projectId: string; }; response: { terminals: IControllerTerminal[]; }; } export interface IReq_ControllerTerminalCreate extends plugins.typedrequestInterfaces.implementsTR { method: 'controller.terminal.create'; request: { projectId: string; /** Display title; defaults to a shell-derived name. */ title?: string; }; response: { terminal: IControllerTerminal; }; } export interface IReq_ControllerTerminalRename extends plugins.typedrequestInterfaces.implementsTR { method: 'controller.terminal.rename'; request: { projectId: string; terminalId: TControllerTerminalId; title: string; }; response: { terminal: IControllerTerminal; }; } export interface IReq_ControllerTerminalRemove extends plugins.typedrequestInterfaces.implementsTR { method: 'controller.terminal.remove'; request: { projectId: string; terminalId: TControllerTerminalId; }; response: { success: boolean; }; } export interface IReq_ControllerTerminalAttach extends plugins.typedrequestInterfaces.implementsTR { method: 'controller.terminal.attach'; request: { projectId: string; terminalId: TControllerTerminalId; }; response: { success: boolean; }; } export interface IReq_ControllerTerminalDetach extends plugins.typedrequestInterfaces.implementsTR { method: 'controller.terminal.detach'; request: { projectId: string; terminalId: TControllerTerminalId; }; response: { success: boolean; }; } export interface IReq_ControllerTerminalInput extends plugins.typedrequestInterfaces.implementsTR { method: 'controller.terminal.input'; request: { projectId: string; terminalId: TControllerTerminalId; /** Base64-encoded UTF-8 keystroke bytes. */ dataBase64: string; }; response: { success: boolean; }; } export interface IReq_ControllerTerminalResize extends plugins.typedrequestInterfaces.implementsTR { method: 'controller.terminal.resize'; request: { projectId: string; terminalId: TControllerTerminalId; rows: number; cols: number; }; response: { success: boolean; }; }