Skip to content

IReplSessionInfo

Provides read-only information about the current REPL session. Injectable as a handler parameter to inspect client and transport properties.

public interface IReplSessionInfo

Gets a value indicating whether the client supports ANSI/VT escape sequences.

bool AnsiSupported { get; }

bool

Gets remote peer information for the active session (for example “203.0.113.7:50124”), or null when unknown.

string? RemotePeer { get; }

string

Gets a human-readable snapshot of the shell-integration mark autodetection for the current interactive prompt cycle: the active protocol ("OSC 133", "OSC 633 (VS Code)") or "off ()" naming the gate that disabled emission. null when no interactive prompt cycle has run in this scope (for example CLI one-shot execution). Informational only — the string format is not a stable contract.

string? ShellIntegrationStatus { get; }

string

Gets the terminal capability flags reported or inferred for the current session.

TerminalCapabilities TerminalCapabilities { get; }

TerminalCapabilities

Gets the terminal identity reported by the client (e.g. “xterm-256color”), or null when unknown.

string? TerminalIdentity { get; }

string

Gets the transport name (e.g. “websocket”, “telnet”, “signalr”), or null for local console.

string? TransportName { get; }

string

Gets the current terminal window size, or null when unknown. This value updates live as the client resizes.

(int Width, int Height)? WindowSize { get; }

(int Width, int Height)?