Interface: TerminalHarness
@termwright/driver / TerminalHarness
Interface: TerminalHarness
Section titled “Interface: TerminalHarness”Defined in: driver/src/api.ts:172
@termwright/driver — PTY + VT sessions, locators, actions and waits.
The normative public API lives in api.ts; this module is the only entry
point and re-exports the types from there together with their runtime
implementations.
Example
Section titled “Example”import { launchTerminal } from '@termwright/driver';
const terminal = await launchTerminal({ command: ['node', 'app.js'] });await terminal.waitForText('Ready');await terminal.getByRole('button', { name: 'Approve' }).activate();await terminal.close();Properties
Section titled “Properties”artifactSecurity
Section titled “artifactSecurity”
readonlyartifactSecurity:ResolvedArtifactSecurityPolicy
Defined in: driver/src/api.ts:175
Resolved policy inherited by traces, reports and other artifact sinks.
events
Section titled “events”
readonlyevents:SessionEvents
Defined in: driver/src/api.ts:259
readonlyexit:Promise<ExitStatus>
Defined in: driver/src/api.ts:290
keyboard
Section titled “keyboard”
readonlykeyboard:Keyboard
Defined in: driver/src/api.ts:181
One physical keyboard implementation. Convenience methods delegate here.
readonlymouse:Mouse
Defined in: driver/src/api.ts:183
One physical mouse implementation. Locator actions delegate here after planning.
scrollback
Section titled “scrollback”
readonlyscrollback:ScrollbackApi
Defined in: driver/src/api.ts:255
selection
Section titled “selection”
readonlyselection:SelectionApi
Defined in: driver/src/api.ts:256
sessionId
Section titled “sessionId”
readonlysessionId:string
Defined in: driver/src/api.ts:173
readonlyshell:ShellApi
Defined in: driver/src/api.ts:179
Shell command boundaries and prompt state when the child emits OSC 133.
terminalProfile
Section titled “terminalProfile”
readonlyterminalProfile:TerminalProfileId
Defined in: driver/src/api.ts:177
Immutable terminal profile used to decode the very first PTY byte.
terminalState
Section titled “terminalState”
readonlyterminalState:TerminalState
Defined in: driver/src/api.ts:187
Emulator facts captured together at the current screen revision.
window
Section titled “window”
readonlywindow:TerminalWindow
Defined in: driver/src/api.ts:185
Terminal-window focus reports, distinct from semantic element focus.
Methods
Section titled “Methods”appLogs()
Section titled “appLogs()”appLogs(): readonly
AppLogEvent[]
Defined in: driver/src/api.ts:273
Bounded, oldest-first application-log history, including entries emitted
while launchTerminal() was still starting. Consumers should subscribe to
app-log first and then seed from this snapshot to avoid a startup gap.
Returns
Section titled “Returns”readonly AppLogEvent[]
bindOperationBudget()?
Section titled “bindOperationBudget()?”
optionalbindOperationBudget(budget):void
Defined in: driver/src/api.ts:189
Binds one attempt-wide budget before any user operation starts.
Parameters
Section titled “Parameters”budget
Section titled “budget”Returns
Section titled “Returns”void
cell()
Section titled “cell()”cell(
pos):CellSnapshot
Defined in: driver/src/api.ts:213
Parameters
Section titled “Parameters”column
Section titled “column”number
number
Returns
Section titled “Returns”checkpoint()
Section titled “checkpoint()”checkpoint():
ObservationStamp
Defined in: driver/src/api.ts:194
Atomic identity of the currently committed terminal/semantic observation.
Returns
Section titled “Returns”close()
Section titled “close()”close():
Promise<void>
Defined in: driver/src/api.ts:289
Idempotent; bounded physical cleanup. Never sends signals implicitly.
Returns
Section titled “Returns”Promise<void>
contract()
Section titled “contract()”contract():
EffectiveSessionContract|null
Defined in: driver/src/api.ts:192
Frozen negotiated contract, or null until negotiation has completed.
Returns
Section titled “Returns”EffectiveSessionContract | null
crashReport()
Section titled “crashReport()”crashReport():
CrashReport|null
Defined in: driver/src/api.ts:280
What the session knew when the program died unexpectedly, or null — for a
live session, a clean exit, or one the harness asked for via close() or
signal(). Available as soon as the exit event fires.
Returns
Section titled “Returns”CrashReport | null
diagnostics()
Section titled “diagnostics()”diagnostics(): readonly
SessionDiagnostic[]
Defined in: driver/src/api.ts:266
Bounded, oldest-first log of what the session decided behind the scenes:
dropped or superseded revisions, unverified markers, adapter negotiation,
protocol violations. The same entries are emitted as diagnostic events.
Returns
Section titled “Returns”readonly SessionDiagnostic[]
getByLabel()
Section titled “getByLabel()”getByLabel(
text,opts?):SemanticLocator
Defined in: driver/src/api.ts:217
Parameters
Section titled “Parameters”string | RegExp
exact?
Section titled “exact?”boolean
Returns
Section titled “Returns”getByRole()
Section titled “getByRole()”getByRole(
role,opts?):SemanticLocator
Defined in: driver/src/api.ts:216
Parameters
Section titled “Parameters”"application" | "region" | "dialog" | "alert" | "status" | "list" | "listitem" | "menu" | "menuitem" | "button" | "checkbox" | "radio" | "tab" | "textbox" | "heading" | "text" | "progressbar" | "separator" | "scrollbar" | "table" | "row" | "cell" | "generic"
Returns
Section titled “Returns”getByScreenText()
Section titled “getByScreenText()”getByScreenText(
text,opts?):ScreenLocator
Defined in: driver/src/api.ts:221
Physical terminal-grid text, optionally narrowed by occurrence or style.
Parameters
Section titled “Parameters”string | RegExp
Returns
Section titled “Returns”getByTestId()
Section titled “getByTestId()”getByTestId(
testId):SemanticLocator
Defined in: driver/src/api.ts:222
Parameters
Section titled “Parameters”testId
Section titled “testId”string
Returns
Section titled “Returns”getByText()
Section titled “getByText()”getByText(
text,opts?):SemanticLocator
Defined in: driver/src/api.ts:219
Semantic text only. Never falls back to the terminal grid.
Parameters
Section titled “Parameters”string | RegExp
Returns
Section titled “Returns”locator()
Section titled “locator()”locator(
selector):SemanticLocator
Defined in: driver/src/api.ts:224
Advanced Termwright semantic selector: ‘dialog button.primary:focused’, ‘#id’.
Parameters
Section titled “Parameters”selector
Section titled “selector”string
Returns
Section titled “Returns”locatorForRef()
Section titled “locatorForRef()”Call Signature
Section titled “Call Signature”locatorForRef(
ref):SemanticLocator
Defined in: driver/src/api.ts:231
Rebuilds a locator from a ref returned by a resolved target.
('semantic:n8@42' for a semantic node, 'screen:r,c,w,h@7' for a grid match).
The ref stays bound to its revision: resolving it after that revision was
superseded raises stale-snapshot.
Parameters
Section titled “Parameters”`semantic:${string}@${number}`
Returns
Section titled “Returns”Call Signature
Section titled “Call Signature”locatorForRef(
ref):ScreenLocator
Defined in: driver/src/api.ts:232
Parameters
Section titled “Parameters”`screen:${number},${number},${number},${number}@${number}`
Returns
Section titled “Returns”Call Signature
Section titled “Call Signature”locatorForRef(
ref):SemanticLocator|ScreenLocator
Defined in: driver/src/api.ts:233
Parameters
Section titled “Parameters”Returns
Section titled “Returns”SemanticLocator | ScreenLocator
ownedProcessResources()
Section titled “ownedProcessResources()”ownedProcessResources():
OwnedProcessResourceUsage|null
Defined in: driver/src/api.ts:286
Native whole-tree accounting captured immediately before PTY disposal.
Returns null when the backend cannot make an authoritative claim.
Returns
Section titled “Returns”OwnedProcessResourceUsage | null
paste()
Section titled “paste()”paste(
text):Promise<void>
Defined in: driver/src/api.ts:238
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<void>
press()
Section titled “press()”press(
keys):Promise<void>
Defined in: driver/src/api.ts:236
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
resize()
Section titled “resize()”resize(
size):Promise<ResizeReceipt>
Defined in: driver/src/api.ts:240
Parameters
Section titled “Parameters”columns
Section titled “columns”number
number
Returns
Section titled “Returns”Promise<ResizeReceipt>
screen()
Section titled “screen()”screen():
ScreenSnapshot
Defined in: driver/src/api.ts:211
Returns
Section titled “Returns”semanticTree()
Section titled “semanticTree()”semanticTree():
SemanticSnapshot|null
Defined in: driver/src/api.ts:212
Returns
Section titled “Returns”SemanticSnapshot | null
settled()
Section titled “settled()”settled(
opts?):Promise<EffectiveSessionContract>
Defined in: driver/src/api.ts:210
Waits for the one frozen Effective Session Contract and, for a semantic session, for the first paired tree. There is no provisional capability API.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<EffectiveSessionContract>
signal()
Section titled “signal()”signal(
sig):Promise<void>
Defined in: driver/src/api.ts:241
Parameters
Section titled “Parameters”"INT" | "TERM" | "KILL" | "HUP"
Returns
Section titled “Returns”Promise<void>
title()
Section titled “title()”title():
string
Defined in: driver/src/api.ts:251
Returns
Section titled “Returns”string
type()
Section titled “type()”type(
text):Promise<void>
Defined in: driver/src/api.ts:237
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<void>
waitForCheckpointChange()
Section titled “waitForCheckpointChange()”waitForCheckpointChange(
options):Promise<ObservationStamp>
Defined in: driver/src/api.ts:196
Wait until a committed observation newer than after is available.
Parameters
Section titled “Parameters”options
Section titled “options”object & WaitOptions
Returns
Section titled “Returns”Promise<ObservationStamp>
waitForCommittedObservation()
Section titled “waitForCommittedObservation()”waitForCommittedObservation(
opts?):Promise<ObservationStamp>
Defined in: driver/src/api.ts:205
Waits until currently observable parser work, semantic frame pairing and provider-evidence invalidation have committed. This cannot predict a future semantic frame before either of its causal signals reaches the driver, and it is not a quiet/global-idle heuristic.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<ObservationStamp>
waitForExit()
Section titled “waitForExit()”waitForExit(
opts?):Promise<ExitStatus>
Defined in: driver/src/api.ts:250
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<ExitStatus>
waitForQuiet()
Section titled “waitForQuiet()”waitForQuiet(
opts?):Promise<void>
Defined in: driver/src/api.ts:247
Heuristic only: waits for a stated interval with no screen or semantic change.
Parameters
Section titled “Parameters”object & WaitOptions
Returns
Section titled “Returns”Promise<void>
waitForRender()
Section titled “waitForRender()”waitForRender(
opts):Promise<void>
Defined in: driver/src/api.ts:245
Parameters
Section titled “Parameters”object & WaitOptions
Returns
Section titled “Returns”Promise<void>
waitForShellPrompt()
Section titled “waitForShellPrompt()”waitForShellPrompt(
opts?):Promise<void>
Defined in: driver/src/api.ts:249
Authoritative: waits for an OSC 133 prompt marker from shell integration.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<void>
waitForText()
Section titled “waitForText()”waitForText(
text,opts?):Promise<void>
Defined in: driver/src/api.ts:244
Parameters
Section titled “Parameters”string | RegExp
Returns
Section titled “Returns”Promise<void>
waitForTitle()
Section titled “waitForTitle()”waitForTitle(
text,opts?):Promise<void>
Defined in: driver/src/api.ts:252
Parameters
Section titled “Parameters”string | RegExp
Returns
Section titled “Returns”Promise<void>
write()
Section titled “write()”write(
bytes):Promise<void>
Defined in: driver/src/api.ts:239
Parameters
Section titled “Parameters”string | Uint8Array<ArrayBufferLike>
Returns
Section titled “Returns”Promise<void>