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

Provides struct and type for a SessionMessageAssistantTool

# `t`

```elixir
@type t() :: %OpenCode.Generated.SessionMessageAssistantTool{
  id: String.t(),
  name: String.t(),
  provider: OpenCode.Generated.SessionMessageAssistantToolProvider.t() | nil,
  state:
    OpenCode.Generated.SessionMessageToolStateCompleted.t()
    | OpenCode.Generated.SessionMessageToolStateError.t()
    | OpenCode.Generated.SessionMessageToolStatePending.t()
    | OpenCode.Generated.SessionMessageToolStateRunning.t(),
  time: OpenCode.Generated.SessionMessageAssistantToolTime.t(),
  type: String.t()
}
```

---

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