CouncilEx.Request (CouncilEx v0.1.0)

Copy Markdown View Source

A normalized LLM request passed from the runner to a provider adapter.

Summary

Types

message()

@type message() :: %{role: String.t(), content: String.t()}

t()

@type t() :: %CouncilEx.Request{
  max_tokens: pos_integer() | nil,
  member_id: atom() | nil,
  messages: [message()],
  metadata: map(),
  model: String.t(),
  parallel_tools: boolean(),
  parallel_tools_strategy: :collect | :fail_fast,
  response_schema: module() | {:json_schema, map()} | nil,
  round_name: atom() | nil,
  run_id: String.t() | nil,
  temperature: float() | nil,
  tool_choice: nil | :auto | :required | :none | String.t(),
  tool_concurrency_factor: float(),
  tool_timeout_ms: pos_integer(),
  tools: [module()] | nil
}

Functions

new(opts)

@spec new(keyword()) :: t()