Files
pi-agent-integrated/pi-web/lib/custom-ui-terminal.ts
T

28 lines
701 B
TypeScript

export const DEFAULT_CUSTOM_UI_COLUMNS = 92;
export const DEFAULT_CUSTOM_UI_ROWS = 40;
export interface HeadlessCustomUiTerminal {
readonly columns: number;
readonly rows: number;
readonly kittyProtocolActive: false;
}
export interface HeadlessCustomUiTui {
readonly terminal: HeadlessCustomUiTerminal;
requestRender(force?: boolean): void;
}
export function createHeadlessCustomUiTui(
requestRender: (force?: boolean) => void,
columns = DEFAULT_CUSTOM_UI_COLUMNS,
rows = DEFAULT_CUSTOM_UI_ROWS,
): HeadlessCustomUiTui {
const terminal = Object.freeze({
columns,
rows,
kittyProtocolActive: false as const,
});
return Object.freeze({ terminal, requestRender });
}