Skip to content

Interface: LaunchTerminalWithBackendOptions

@termwright/driver/experimental


@termwright/driver/experimental / LaunchTerminalWithBackendOptions

Interface: LaunchTerminalWithBackendOptions

Section titled “Interface: LaunchTerminalWithBackendOptions”

Defined in: session.ts:221

Low-level integration options exported only from @termwright/driver/experimental.

  • LaunchTerminalOptions

readonly optional artifactSecurity?: ArtifactSecurityPolicy

Defined in: api.ts:135

One policy for every artifact boundary. Defaults to secure redacted.

LaunchTerminalOptions.artifactSecurity


readonly backend: PtyBackend

Defined in: session.ts:222


readonly optional columns?: number

Defined in: api.ts:113

LaunchTerminalOptions.columns


readonly command: readonly string[]

Defined in: api.ts:88

LaunchTerminalOptions.command


readonly optional cwd?: string

Defined in: api.ts:89

LaunchTerminalOptions.cwd


readonly optional debug?: boolean

Defined in: api.ts:97

Streams a live log of API calls, waits, revisions and diagnostics to stderr. Also enabled by TERMWRIGHT_DEBUG=1 (=all adds raw PTY traffic).

LaunchTerminalOptions.debug


readonly optional env?: Readonly<Record<string, string>>

Defined in: api.ts:90

LaunchTerminalOptions.env


readonly optional envMode?: EnvMode

Defined in: api.ts:92

Defaults to 'replace': a test process’s secrets are not the child’s.

LaunchTerminalOptions.envMode


readonly optional logs?: readonly AppLogSource[]

Defined in: api.ts:103

Log files to follow for the lifetime of the session. A file that does not exist yet is waited for; one that already exists is followed from its current end, so a session never replays a previous run.

LaunchTerminalOptions.logs


readonly optional modesObservable?: boolean

Defined in: session.ts:217

Whether the child’s input-mode requests are observable. Defaults to true for every certified backend, including pinned passthrough ConPTY. Set false only for an embedding or synthetic backend that cannot expose DECSET.

LaunchTerminalOptions.modesObservable


readonly optional operationBudget?: OperationBudget

Defined in: api.ts:132

LaunchTerminalOptions.operationBudget


readonly optional recording?: RecordingOptions

Defined in: api.ts:133

LaunchTerminalOptions.recording


readonly optional requiredCapabilities?: readonly ("semantic-tree" | "stable-identity" | "intended-geometry" | "clipped-geometry" | "painted-region" | "pointer-geometry" | "pointer-hit-testing" | "focus" | "scroll" | "render-order" | "action-strategies" | "keyboard-input" | "pointer-input" | "focus-input" | "paired-revisions")[]

Defined in: api.ts:146

Capabilities that must be present in the frozen session contract. Launch waits for negotiation and throws CapabilityUnavailableError before returning a harness when any requirement is missing.

LaunchTerminalOptions.requiredCapabilities


readonly optional rows?: number

Defined in: api.ts:114

LaunchTerminalOptions.rows


readonly optional scrollbackLines?: number

Defined in: api.ts:130

LaunchTerminalOptions.scrollbackLines


readonly optional semanticFrameQueueCapacity?: number

Defined in: api.ts:129

Negotiated ceiling for semantic frames in flight between a framework probe and the driver. Defaults to 32 and is capped at 256. Compatible probes may use it as their publication budget; a full queue still fails closed instead of dropping or retrying a semantic revision.

LaunchTerminalOptions.semanticFrameQueueCapacity


readonly optional semanticNegotiationMs?: number

Defined in: api.ts:122

Maximum time to discover an optional semantic adapter. Defaults to 2,000 ms for generic auto-detection. A peer accepted within that window keeps its own bounded hello deadline; peers first seen afterwards are refused. When requiredCapabilities is non-empty, the default discovery budget is the larger of 2,000 ms and the session ready timeout.

LaunchTerminalOptions.semanticNegotiationMs


readonly optional shellIntegration?: "external" | "termwright-posix" | "termwright-powershell"

Defined in: api.ts:140

Termwright-managed modes instrument an interactive shell with exact command markers. Test authors should normally use terminal.openShell().

LaunchTerminalOptions.shellIntegration


readonly optional terminalProfile?: TerminalProfileId

Defined in: api.ts:112

Terminal profile: which width tables and which of the switches terminals disagree on this session uses. The built-in ids are 'default' and 'cjk-wide'.

It is recorded with the session so a replay, a screenshot and the runner pane can count characters exactly as the live session did.

LaunchTerminalOptions.terminalProfile


readonly optional timeouts?: TimeoutClasses

Defined in: api.ts:131

LaunchTerminalOptions.timeouts