import type { NodeIdDTO } from './common.js'; /** One viewer row: a node's single on-screen pane in a tmux session. */ export interface FocusDTO { focus_id: string; pane: string | null; session: string | null; node_id: NodeIdDTO; } /** `POST /v1/focuses` body — register a viewer pane as a node's focus row. * UNIQUE(node_id): returns the existing row (no insert) when the pane or node * is already registered. `window` is accepted for the call contract but not * stored (the table keys on pane + session). */ export interface RegisterFocusRequest { node_id: NodeIdDTO; pane: string; session: string | null; window: string | null; } /** `PATCH /v1/focuses/{focus_id}` body — re-point a viewer row's pane + its * derived session cache after the pane moves. */ export interface SetFocusPaneRequest { pane: string | null; session: string | null; }