ClaudeCode.Message.ToolUseSummaryMessage (ClaudeCode v0.29.0)

View Source

Represents a tool use summary message from the Claude CLI.

Emitted as a summary of tool usage in a conversation, providing a human-readable description of what one or more tools did.

Fields

  • :summary - Human-readable summary of the tool usage
  • :preceding_tool_use_ids - List of tool use IDs this summary covers
  • :uuid - Message UUID
  • :session_id - Session identifier

JSON Format

{
  "type": "tool_use_summary",
  "summary": "Read 3 files and edited 1 file",
  "preceding_tool_use_ids": ["toolu_abc", "toolu_def"],
  "uuid": "...",
  "session_id": "..."
}

Summary

Functions

Creates a new ToolUseSummaryMessage from JSON data.

Type guard to check if a value is a ToolUseSummaryMessage.

Types

t()

@type t() :: %ClaudeCode.Message.ToolUseSummaryMessage{
  preceding_tool_use_ids: [String.t()],
  session_id: String.t(),
  summary: String.t(),
  type: :tool_use_summary,
  uuid: String.t() | nil
}

Functions

new(json)

@spec new(map()) :: {:ok, t()} | {:error, atom()}

Creates a new ToolUseSummaryMessage from JSON data.

Examples

iex> ToolUseSummaryMessage.new(%{
...>   "type" => "tool_use_summary",
...>   "summary" => "Read 3 files",
...>   "session_id" => "session-1"
...> })
{:ok, %ToolUseSummaryMessage{type: :tool_use_summary, ...}}

iex> ToolUseSummaryMessage.new(%{"type" => "assistant"})
{:error, :invalid_message_type}

tool_use_summary_message?(arg1)

@spec tool_use_summary_message?(any()) :: boolean()

Type guard to check if a value is a ToolUseSummaryMessage.