# `OpenCode.Generated.ToolPart`
[🔗](https://github.com/UtkarshUsername/opencode-sdk-elixir/blob/v0.1.84/lib/opencode/generated/tool_part.ex#L1)

Provides struct and type for a ToolPart

# `t`

```elixir
@type t() :: %OpenCode.Generated.ToolPart{
  call_id: String.t(),
  id: String.t(),
  message_id: String.t(),
  metadata: map() | nil,
  session_id: String.t(),
  state:
    OpenCode.Generated.ToolStateCompleted.t()
    | OpenCode.Generated.ToolStateError.t()
    | OpenCode.Generated.ToolStatePending.t()
    | OpenCode.Generated.ToolStateRunning.t(),
  tool: String.t(),
  type: String.t()
}
```

---

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