import type { ScreenName } from "../screens/screen.js"; export type Focus = { traceId: string; screen: ScreenName; /** Undefined on the trace picker, or on a row with no address. */ rowId: string | undefined; }; export type NavigateResult = "ok" | "no such trace" | "no such row" | "row hidden by filter"; export type SessionPort = { focus(): Focus; navigate(traceId: string, rowId: string | undefined): NavigateResult; /** Re-read the comments file and redraw; the CLI sends this after a write. */ reloadComments(): void; /** Open the list of traces, so the person can choose one. */ pick(): void; notify(message: string): void; };