# `ReqManagedAgents.SessionResult`
[🔗](https://github.com/cash-mckeeman/req_managed_agents/blob/v0.12.0/req_managed_agents/lib/req_managed_agents/session_result.ex#L1)

The accumulated outcome of a whole run — what `Session.run/2` and `message/2` deliver.

`transcript` is the provider's client-held history when the provider exports
`transcript/1` (potentially large); `nil` for server-held providers.

# `t`

```elixir
@type t() :: %ReqManagedAgents.SessionResult{
  custom_tool_uses: [ReqManagedAgents.ToolUse.t()],
  events: [map()],
  server_tool_uses: [ReqManagedAgents.ToolUse.t()],
  session_id: String.t() | nil,
  stop_reason: String.t() | map() | atom() | nil,
  terminal: ReqManagedAgents.Provider.terminal(),
  text: String.t(),
  transcript: [map()] | nil,
  turns: non_neg_integer(),
  usage: ReqManagedAgents.Usage.t()
}
```

---

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