# `Sycophant.ToolCall`

Represents a tool invocation requested by the LLM.

When an LLM decides to use a tool, it returns one or more `ToolCall` structs
in `response.tool_calls`. Each contains a provider-assigned `:id`, the tool
`:name`, and the parsed `:arguments` map.

## Examples

    %Sycophant.ToolCall{id: "call_abc", name: "get_weather", arguments: %{"city" => "Paris"}}

# `t`

```elixir
@type t() :: %Sycophant.ToolCall{
  arguments: map(),
  id: String.t(),
  metadata: map(),
  name: String.t()
}
```

# `from_map`

```elixir
@spec from_map(map()) :: t()
```

Reconstructs a ToolCall struct from a serialized map.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
