ExAgent.ModelRequestParameters (ExAgent v0.1.0)

Copy Markdown View Source

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

output_mode()

@type output_mode() :: :text | :tool | :native | :prompted | :auto

output_object()

@type output_object() :: %{json_schema: map(), module: module() | nil}

t()

@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()]
}