Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

libtmux_mcp.models.WaitForTextResult

Python
  • Python
  • Ruby Unavailable
  • Lua Unavailable
  • TypeScript Unavailable
  • Rust Unavailable
  • Go Unavailable
  • Java Unavailable
  • .NET Unavailable
  • C++ Unavailable
  • Swift Unavailable

API reference · Markdown

class libtmux_mcp.models.WaitForTextResult
class [source]
class [source]
class libtmux_mcp.models.WaitForTextResult
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. outputSchema is re-sent on every request of every session, so a field that no agent branches on is a permanent tax. outcome carries what three separate booleans carried before it.

Members

found

found : bool = Field( description=( "True when a ``patterns`` entry matched new output, or, with " "``patterns=null``, when any new output appeared." ) )
attribute [source]
attribute [source]
found

outcome

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." ) )
attribute [source]
attribute [source]
outcome

matched_index

matched_index : int | None = Field( default=None, description=( "Zero-based index into ``patterns``, or into ``stop`` when " "``outcome`` is ``stopped``. Null otherwise." ), )
attribute [source]
attribute [source]
matched_index

matched_lines

matched_lines : list[str] = Field( default_factory=list, description="Newly-written lines that matched (empty on timeout).", )
attribute [source]
attribute [source]
matched_lines

tail

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." ), )
attribute [source]
attribute [source]
tail

saw_new_output

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``." ), )
attribute [source]
attribute [source]
saw_new_output

matched_at_entry

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." ), )
attribute [source]
attribute [source]
matched_at_entry

alternate_screen

alternate_screen : bool = Field( default=False, description=( "True when the pane was on the terminal's alternate screen at " "any point during the wait." ), )
attribute [source]
attribute [source]
alternate_screen

pane_id

pane_id : str = Field(description="Pane ID that was polled")
attribute [source]
attribute [source]
pane_id

elapsed_seconds

elapsed_seconds : float = Field(description="Time spent waiting in seconds")
attribute [source]
attribute [source]
elapsed_seconds

effective_timeout

effective_timeout : float = Field( description=( "Seconds actually enforced. Server policy caps the requested " "``timeout``; compare against what you passed to see a clamp." ) )
attribute [source]
attribute [source]
effective_timeout
Esc

Type to search.