Defines a reusable agent with instructions, tools, and hooks.
Summary
Functions
Builds a validated %Codex.Agent{} struct.
Types
@type t() :: %Codex.Agent{ handoff_description: String.t() | nil, handoffs: list(), hooks: term(), input_guardrails: list(), instructions: String.t() | nil, model: String.t() | nil, model_settings: map() | struct() | nil, name: String.t() | nil, output_guardrails: list(), prompt: map() | String.t() | nil, reset_tool_choice: boolean(), tool_input_guardrails: list(), tool_output_guardrails: list(), tool_use_behavior: :run_llm_again | :stop_on_first_tool | %{optional(:stop_at_tool_names) => [String.t()]} | function() | nil, tools: list() }