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

Provides struct and type for a UserMessage

# `t`

```elixir
@type t() :: %OpenCode.Generated.UserMessage{
  agent: String.t(),
  format:
    OpenCode.Generated.OutputFormatJsonSchema.t()
    | OpenCode.Generated.OutputFormatText.t()
    | nil,
  id: String.t(),
  model: OpenCode.Generated.UserMessageModel.t(),
  role: String.t(),
  session_id: String.t(),
  summary: OpenCode.Generated.UserMessageSummary.t() | nil,
  system: String.t() | nil,
  time: OpenCode.Generated.UserMessageTime.t(),
  tools: map() | nil,
  variant: String.t() | nil
}
```

---

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