Generates human-readable spinner text and summary lines for tool calls.
@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 }