export type TerminalDiagnosticsBufferKind = "normal" | "alternate" | "unknown"; export type TerminalDiagnosticsNodeKind = "terminal" | "agent"; export interface TerminalDiagnosticsSnapshot { bufferKind: TerminalDiagnosticsBufferKind; activeBaseY: number | null; activeViewportY: number | null; activeLength: number | null; cols: number; rows: number; viewportScrollTop: number | null; viewportScrollHeight: number | null; viewportClientHeight: number | null; hasViewport: boolean; hasVerticalScrollbar: boolean; } export type TerminalDiagnosticsDetailValue = string | number | boolean | null; export interface TerminalDiagnosticsLogInput { source: "renderer-terminal"; nodeId: string; sessionId: string; nodeKind: TerminalDiagnosticsNodeKind; title: string; event: string; details?: Record; snapshot: TerminalDiagnosticsSnapshot; } export type RuntimeDiagnosticsLevel = "info" | "error"; export type RuntimeDiagnosticsSource = | "main-app" | "main-window" | "renderer-error-boundary" | "renderer-preload" | "renderer-workspace-surface"; export type RuntimeDiagnosticsDetailValue = string | number | boolean | null; export interface RuntimeDiagnosticsLogInput { source: RuntimeDiagnosticsSource; level: RuntimeDiagnosticsLevel; event: string; message: string; details?: Record; } export type IpcInspectorKind = "invoke" | "send"; export type IpcInspectorStatus = "pending" | "ok" | "error" | "sent"; export interface IpcInspectorRecord { recordId: string; kind: IpcInspectorKind; channel: string; payload: unknown; status: IpcInspectorStatus; startedAt: number; completedAt: number; durationMs: number; result?: unknown; error?: unknown; } export interface IpcInspectorExportResult { content: string; }