The per-request contract handed to a model. It bundles the tools the agent has prepared (function tools + output tools), the negotiated output mode, and the structured-output schema (if any).
The struct is deliberately minimal for now and grows as we add tool/output features.
Summary
Types
@type output_mode() :: :text | :tool | :native | :prompted | :auto
@type t() :: %ExAgent.ModelRequestParameters{ allow_text_output: boolean(), function_tools: [ExAgent.Tool.t()], instructions: [ExAgent.Message.Part.System.t()], output_mode: output_mode(), output_object: output_object() | nil, output_tools: [ExAgent.Tool.t()] }