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

Provides struct and type for a AssistantMessage

# `t`

```elixir
@type t() :: %OpenCode.Generated.AssistantMessage{
  agent: String.t(),
  cost: number(),
  error:
    OpenCode.Generated.APIError.t()
    | OpenCode.Generated.ContextOverflowError.t()
    | OpenCode.Generated.MessageAbortedError.t()
    | OpenCode.Generated.MessageOutputLengthError.t()
    | OpenCode.Generated.ProviderAuthError.t()
    | OpenCode.Generated.StructuredOutputError.t()
    | OpenCode.Generated.UnknownError.t()
    | nil,
  finish: String.t() | nil,
  id: String.t(),
  mode: String.t(),
  model_id: String.t(),
  parent_id: String.t(),
  path: OpenCode.Generated.AssistantMessagePath.t(),
  provider_id: String.t(),
  role: String.t(),
  session_id: String.t(),
  structured: map() | nil,
  summary: boolean() | nil,
  time: OpenCode.Generated.AssistantMessageTime.t(),
  tokens: OpenCode.Generated.AssistantMessageTokens.t(),
  variant: String.t() | nil
}
```

---

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