# `ExAthena.Messages.Message`
[🔗](https://github.com/udin-io/ex_athena/blob/v0.7.1/lib/ex_athena/messages.ex#L51)

A single turn in the conversation.

# `role`

```elixir
@type role() :: :system | :user | :assistant | :tool
```

# `t`

```elixir
@type t() :: %ExAthena.Messages.Message{
  content: String.t() | nil,
  name: String.t() | nil,
  role: role(),
  tool_calls: [ExAthena.Messages.ToolCall.t()] | nil,
  tool_results: [ExAthena.Messages.ToolResult.t()] | nil
}
```

---

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