Skip to content

Interface: InkFixtureHarness

@termwright/ink


@termwright/ink / InkFixtureHarness

Defined in: ink/src/fixture.ts:80

A TerminalHarness over a fixture process, plus the prop update only a control channel can deliver.

readonly artifactSecurity: ResolvedArtifactSecurityPolicy

Defined in: driver/dist/session-DOkKra9W.d.ts:123

Resolved policy inherited by traces, reports and other artifact sinks.

TerminalHarness.artifactSecurity


readonly events: SessionEvents

Defined in: driver/dist/session-DOkKra9W.d.ts:208

TerminalHarness.events


readonly exit: Promise<ExitStatus>

Defined in: driver/dist/session-DOkKra9W.d.ts:234

TerminalHarness.exit


readonly keyboard: Keyboard

Defined in: driver/dist/session-DOkKra9W.d.ts:129

One physical keyboard implementation. Convenience methods delegate here.

TerminalHarness.keyboard


readonly mouse: Mouse

Defined in: driver/dist/session-DOkKra9W.d.ts:131

One physical mouse implementation. Locator actions delegate here after planning.

TerminalHarness.mouse


readonly scrollback: ScrollbackApi

Defined in: driver/dist/session-DOkKra9W.d.ts:206

TerminalHarness.scrollback


readonly selection: SelectionApi

Defined in: driver/dist/session-DOkKra9W.d.ts:207

TerminalHarness.selection


readonly sessionId: string

Defined in: driver/dist/session-DOkKra9W.d.ts:121

TerminalHarness.sessionId


readonly shell: ShellApi

Defined in: driver/dist/session-DOkKra9W.d.ts:127

Shell command boundaries and prompt state when the child emits OSC 133.

TerminalHarness.shell


readonly terminalProfile: TerminalProfileId

Defined in: driver/dist/session-DOkKra9W.d.ts:125

Immutable terminal profile used to decode the very first PTY byte.

TerminalHarness.terminalProfile


readonly terminalState: TerminalState

Defined in: driver/dist/session-DOkKra9W.d.ts:135

Emulator facts captured together at the current screen revision.

TerminalHarness.terminalState


readonly window: TerminalWindow

Defined in: driver/dist/session-DOkKra9W.d.ts:133

Terminal-window focus reports, distinct from semantic element focus.

TerminalHarness.window

appLogs(): readonly AppLogEvent[]

Defined in: driver/dist/session-DOkKra9W.d.ts:220

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.

readonly AppLogEvent[]

TerminalHarness.appLogs


optional bindOperationBudget(budget): void

Defined in: driver/dist/session-DOkKra9W.d.ts:137

Binds one attempt-wide budget before any user operation starts.

OperationBudget

void

TerminalHarness.bindOperationBudget


cell(pos): CellSnapshot

Defined in: driver/dist/session-DOkKra9W.d.ts:160

number

number

CellSnapshot

TerminalHarness.cell


checkpoint(): ObservationStamp

Defined in: driver/dist/session-DOkKra9W.d.ts:141

Atomic identity of the currently committed terminal/semantic observation.

ObservationStamp

TerminalHarness.checkpoint


close(): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:233

Idempotent; bounded physical cleanup. Never sends signals implicitly.

Promise<void>

TerminalHarness.close


contract(): EffectiveSessionContract | null

Defined in: driver/dist/session-DOkKra9W.d.ts:139

Frozen negotiated contract, or null until negotiation has completed.

EffectiveSessionContract | null

TerminalHarness.contract


crashReport(): CrashReport | null

Defined in: driver/dist/session-DOkKra9W.d.ts:226

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.

CrashReport | null

TerminalHarness.crashReport


diagnostics(): readonly SessionDiagnostic[]

Defined in: driver/dist/session-DOkKra9W.d.ts:214

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.

readonly SessionDiagnostic[]

TerminalHarness.diagnostics


getByLabel(text, opts?): SemanticLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:165

string | RegExp

boolean

SemanticLocator

TerminalHarness.getByLabel


getByRole(role, opts?): SemanticLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:164

"application" | "region" | "dialog" | "alert" | "status" | "list" | "listitem" | "menu" | "menuitem" | "button" | "checkbox" | "radio" | "tab" | "textbox" | "heading" | "text" | "progressbar" | "separator" | "scrollbar" | "table" | "row" | "cell" | "generic"

RoleLocatorOptions

SemanticLocator

TerminalHarness.getByRole


getByScreenText(text, opts?): ScreenLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:171

Physical terminal-grid text, optionally narrowed by occurrence or style.

string | RegExp

ScreenTextLocatorOptions

ScreenLocator

TerminalHarness.getByScreenText


getByTestId(testId): SemanticLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:172

string

SemanticLocator

TerminalHarness.getByTestId


getByText(text, opts?): SemanticLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:169

Semantic text only. Never falls back to the terminal grid.

string | RegExp

TextLocatorOptions

SemanticLocator

TerminalHarness.getByText


locator(selector): SemanticLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:174

Advanced Termwright semantic selector: ‘dialog button.primary:focused’, ‘#id’.

string

SemanticLocator

TerminalHarness.locator


locatorForRef(ref): SemanticLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:181

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.

`semantic:${string}@${number}`

SemanticLocator

TerminalHarness.locatorForRef

locatorForRef(ref): ScreenLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:182

`screen:${number},${number},${number},${number}@${number}`

ScreenLocator

TerminalHarness.locatorForRef

locatorForRef(ref): SemanticLocator | ScreenLocator

Defined in: driver/dist/session-DOkKra9W.d.ts:183

LocatorRef

SemanticLocator | ScreenLocator

TerminalHarness.locatorForRef


ownedProcessResources(): OwnedProcessResourceUsage | null

Defined in: driver/dist/session-DOkKra9W.d.ts:231

Native whole-tree accounting captured immediately before PTY disposal. Returns null when the backend cannot make an authoritative claim.

OwnedProcessResourceUsage | null

TerminalHarness.ownedProcessResources


paste(text): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:186

ExecutableValue

Promise<void>

TerminalHarness.paste


press(keys): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:184

string

Promise<void>

TerminalHarness.press


rerender(props, opts?): Promise<void>

Defined in: ink/src/fixture.ts:95

Replaces the fixture’s props and resolves once the resulting frame has been committed and published.

The counterpart of InkHarness.rerender, and deliberately not the same signature: a mount takes a React element because it shares a heap with the test, while a fixture is another process and can only be sent data. Props cross as bounded JSON over a private socket — never over stdin, which belongs to the simulated user, and never as code.

The component is fixed when the fixture starts and is never re-resolved from a message: a rerender changes what it is showing, never which code runs.

JsonProps

SettleOptions

Promise<void>


resize(size): Promise<ResizeReceipt>

Defined in: driver/dist/session-DOkKra9W.d.ts:188

number

number

Promise<ResizeReceipt>

TerminalHarness.resize


screen(): ScreenSnapshot

Defined in: driver/dist/session-DOkKra9W.d.ts:158

ScreenSnapshot

TerminalHarness.screen


semanticTree(): SemanticSnapshot | null

Defined in: driver/dist/session-DOkKra9W.d.ts:159

SemanticSnapshot | null

TerminalHarness.semanticTree


settled(opts?): Promise<EffectiveSessionContract>

Defined in: driver/dist/session-DOkKra9W.d.ts:157

Waits for the one frozen Effective Session Contract and, for a semantic session, for the first paired tree. There is no provisional capability API.

WaitOptions

Promise<EffectiveSessionContract>

TerminalHarness.settled


signal(sig): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:192

"INT" | "TERM" | "KILL" | "HUP"

Promise<void>

TerminalHarness.signal


title(): string

Defined in: driver/dist/session-DOkKra9W.d.ts:204

string

TerminalHarness.title


type(text): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:185

ExecutableValue

Promise<void>

TerminalHarness.type


waitForCheckpointChange(options): Promise<ObservationStamp>

Defined in: driver/dist/session-DOkKra9W.d.ts:143

Wait until a committed observation newer than after is available.

object & WaitOptions

Promise<ObservationStamp>

TerminalHarness.waitForCheckpointChange


waitForCommittedObservation(opts?): Promise<ObservationStamp>

Defined in: driver/dist/session-DOkKra9W.d.ts:152

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.

WaitOptions

Promise<ObservationStamp>

TerminalHarness.waitForCommittedObservation


waitForExit(opts?): Promise<ExitStatus>

Defined in: driver/dist/session-DOkKra9W.d.ts:203

WaitOptions

Promise<ExitStatus>

TerminalHarness.waitForExit


waitForQuiet(opts?): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:198

Heuristic only: waits for a stated interval with no screen or semantic change.

object & WaitOptions

Promise<void>

TerminalHarness.waitForQuiet


waitForRender(opts): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:194

object & WaitOptions

Promise<void>

TerminalHarness.waitForRender


waitForShellPrompt(opts?): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:202

Authoritative: waits for an OSC 133 prompt marker from shell integration.

WaitOptions

Promise<void>

TerminalHarness.waitForShellPrompt


waitForText(text, opts?): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:193

string | RegExp

WaitOptions

Promise<void>

TerminalHarness.waitForText


waitForTitle(text, opts?): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:205

string | RegExp

WaitOptions

Promise<void>

TerminalHarness.waitForTitle


write(bytes): Promise<void>

Defined in: driver/dist/session-DOkKra9W.d.ts:187

string | Uint8Array<ArrayBufferLike>

Promise<void>

TerminalHarness.write