Packages
Provider-agnostic Elixir client for agent runtimes — one Session loop, any loop host: server-side (Anthropic Claude Managed Agents, AWS Bedrock AgentCore) or in-process (Local, over any OpenAI-compatible chat endpoint). Your tools run locally.
Current section
Files
Jump to
Current section
Files
lib/req_managed_agents/turn_result.ex
defmodule ReqManagedAgents.TurnResult do
@moduledoc "The canonical outcome of ONE turn — what `Provider.normalize/1` returns."
@derive Jason.Encoder
defstruct terminal: :terminated,
stop_reason: nil,
text: "",
custom_tool_uses: [],
server_tool_uses: [],
usage: nil,
events: []
@type t :: %__MODULE__{
terminal: ReqManagedAgents.Provider.terminal(),
stop_reason: String.t() | map() | atom() | nil,
text: String.t(),
custom_tool_uses: [ReqManagedAgents.ToolUse.t()],
server_tool_uses: [ReqManagedAgents.ToolUse.t()],
usage: ReqManagedAgents.Usage.t() | nil,
events: [map()]
}
end