libtmux_mcp.models.WaitForTextResult
Python
- Python
- Ruby Unavailable
- Lua Unavailable
- TypeScript Unavailable
- Rust Unavailable
- Go Unavailable
- Java Unavailable
- .NET Unavailable
- C++ Unavailable
- Swift Unavailable
- Bases:
- BaseModel
Result of a bounded wait for new pane output.
Deliberately free of inference. Every field is something the tool observed directly — a match, a clock reading, a tmux flag. There is no "likely cause", no "next action", no quiescence verdict: a confidently-wrong diagnosis costs the agent more than an honest "nothing appeared, here is what the pane shows".
Field count is load-bearing.
outputSchemais re-sent on every request of every session, so a field that no agent branches on is a permanent tax.outcomecarries what three separate booleans carried before it.
Members
- found : bool = Field( description=( "True when a ``patterns`` entry matched new output, or, with " "``patterns=null``, when any new output appeared." ) )
- outcome : t.Literal[ "matched", "any_output", "stopped", "alternate_screen", "timeout" ] = Field( description=( "How the wait ended. ``matched``: a ``patterns`` entry hit. " "``any_output``: ``patterns`` was omitted and something — " "possibly just a prompt repaint — was written; read it as " "'the pane moved', never as 'the command finished'. " "``stopped``: a ``stop`` failure marker hit. " "``alternate_screen``: the pane was under a pager, editor, or " "full-screen TUI, which repaints the whole grid, so matching " "was suppressed — read the screen with snapshot_pane instead " "of retrying. ``timeout``: nothing matched in the budget." ) )
- tail : list[str] = Field( default_factory=list, description=( "Rows from the entry cursor row down at the final poll, " "tail-limited by lines and bytes. Includes stale rows excluded " "from matching, so " "it shows what the pane looks like, not what matched. On a " "timeout this usually already contains the answer — read it " "before retrying with a different pattern." ), )
- saw_new_output : bool = Field( default=False, description=( "True when content was written on or below the entry cursor row. " "Read it with ``found=false``: true means output arrived and did " "not match — read ``tail`` and fix the pattern; false means the " "pane was quiet — suspect the command never ran, or check " "``alternate_screen``." ), )
- matched_at_entry : bool = Field( default=False, description=( "True when ``patterns`` already matched on-screen text before the " "wait began and nothing new matched after. The wait holds out for " "a FRESH occurrence, so re-running a command whose output looks " "identical still works. Read it as: the text is there, but it " "predates your call." ), )
- alternate_screen : bool = Field( default=False, description=( "True when the pane was on the terminal's alternate screen at " "any point during the wait." ), )
- effective_timeout : float = Field( description=( "Seconds actually enforced. Server policy caps the requested " "``timeout``; compare against what you passed to see a clamp." ) )