TeeCliIO class final

CliIO decorator teeing the rendered session trace to a file (--log-file): every write/writeln chunk is appended to sink verbatim and then delegated unchanged, so the log mirrors the trace — assistant text, tool lines, diagnostics — while stdout/stderr behave exactly as before. Input, interrupts and the rest of the CliIO surface delegate straight through.

Implemented types

Constructors

TeeCliIO(CliIO _inner, LogTeeSink _sink)

Properties

columns → int
Terminal width in columns. Non-TUI hosts use the 80-column default.
no setteroverride
hashCode → int
The hash code for this object.
no setterinherited
interrupts → Stream<void>
Cancel signals (Ctrl-C). Each event aborts the current run.
no setteroverride
isInteractive → bool
Whether a human is present to answer approval prompts (a real terminal, not piped input). When false, prompt-policy tool calls are denied with a reason — the safe non-interactive default.
no setteroverride
keys → Stream<KeyEvent>
Raw key events when the terminal is in raw mode. Non-raw hosts (tests, headless, web) provide an empty stream.
no setteroverride
lines → Stream<String>
User-typed input lines, without the trailing newline.
no setteroverride
rows → int
Terminal height in rows. Non-TUI hosts use the 24-row default.
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
supportsRawMode → bool
Whether the underlying terminal supports raw-mode character input with ANSI escape sequences. True for dart:io terminals; false for tests.
no setteroverride

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited
write(String text) → void
Writes text without a trailing newline (streaming deltas).
override
writeln(String text) → void
Writes text followed by a newline.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited