AgentSessionManager.Rendering.Studio.ToolSummary (AgentSessionManager v0.8.0)

Copy Markdown View Source

Generates human-readable spinner text and summary lines for tool calls.

Used by StudioRenderer to transform raw tool event data into concise one-line descriptions suitable for terminal display.

Summary

Types

tool_info()

@type tool_info() :: %{
  optional(:name) => String.t(),
  optional(:input) => map() | nil,
  optional(:output) => String.t() | map() | nil,
  optional(:exit_code) => integer() | nil,
  optional(:duration_ms) => integer() | nil,
  optional(:status) => :completed | :failed | :running
}

Functions

format_size(n)

@spec format_size(non_neg_integer() | nil) :: String.t()

preview_lines(tool_info, max_lines)

@spec preview_lines(tool_info(), non_neg_integer()) :: [String.t()]

shorten_path(path, max_len \\ 60)

@spec shorten_path(String.t(), pos_integer()) :: String.t()

spinner_text(tool_info)

@spec spinner_text(tool_info()) :: String.t()

summary_line(tool_info)

@spec summary_line(tool_info()) :: String.t()