# `CommBus.Protocol.Packet`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

Canonical payload produced by CommBus protocol adapters.

# `message`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

```elixir
@type message() :: %{
  role: message_role() | String.t(),
  content: String.t(),
  metadata: map()
}
```

# `message_role`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

```elixir
@type message_role() :: CommBus.Message.role() | :tool
```

# `t`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

```elixir
@type t() :: %CommBus.Protocol.Packet{
  conversation: CommBus.Conversation.t() | nil,
  excluded_entries: [CommBus.Entry.t()],
  included_entries: [CommBus.Entry.t()],
  messages: [message()],
  metadata: map(),
  sections: map(),
  token_usage: map()
}
```

---

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