Reusable line/byte windows for large model-facing tool output.
Summary
Types
@type mode() :: :head | :tail
@type t() :: %Vibe.ToolOutput.Window{ full_output_path: String.t() | nil, limit_bytes: pos_integer(), limit_lines: pos_integer(), mode: mode(), output_bytes: non_neg_integer(), output_lines: non_neg_integer(), partial_line?: boolean(), text: String.t(), total_bytes: non_neg_integer(), total_lines: non_neg_integer(), truncated?: boolean() }