# `MingaAgent.Session.Request`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_agent/session/request.ex#L1)

Immutable, versioned request snapshot handed from a Session to a provider worker.

The snapshot carries the exact ReqLLM values for one request. Providers may
consume it and return an outcome, but they do not own or mutate conversation
history.

# `t`

```elixir
@type t() :: %MingaAgent.Session.Request{
  conversation_revision: non_neg_integer(),
  messages: [ReqLLM.Message.t()],
  request_id: String.t(),
  turn_id: pos_integer(),
  version: pos_integer()
}
```

# `new`

```elixir
@spec new(String.t(), pos_integer(), non_neg_integer(), [ReqLLM.Message.t()]) :: t()
```

Creates the immutable snapshot for one admitted request.

---

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