import type { LogLevel } from '../../../_exports/index.js'; import type { ReplSession } from '../session.js'; import { type ReplHandle } from './replStateMachine.js'; export interface InkReplConsoleProps { session: ReplSession; devicePath: string; /** Connected device's USB serial, forwarded to `ReplConsole` for its alias. */ serialNumber?: string; logLevel?: LogLevel; /** When true, the deploy keybind fires a trigger into the repl's * `deploys$`. Defaults to false so callers that render a plain REPL * (e.g. `deploy --console`) don't accidentally emit into a Subject * no one subscribes to. `InkReplMode` sets this to `true` when a * `driver` is supplied. */ deployEnabled?: boolean; /** Pre-built repl handle. Use when the caller already created the repl * (e.g. to subscribe to its `deploys$` before handing it off). */ repl?: ReplHandle; /** Forwarded to `ReplConsole` for the header watch-mode badge. */ watch?: boolean; } /** * Renders a `ReplConsole` over an existing `ReplSession`. Owns the * Kitty-keyboard cleanup (`\x1b[