pub struct ModelTurnInput {
pub system_prompt: Option<String>,
pub messages: Vec<ChatMessage>,
pub tools: Vec<ToolSpec>,
pub tool_choice: ToolChoice,
pub parallel_tool_calls: Option<bool>,
}Fields§
§system_prompt: Option<String>Optional system prompt (already composed: spec_snapshot system_prompt
- driver.append_system_prompt).
None⇒ no system message sent.
messages: Vec<ChatMessage>Full conversation history for this turn. AgentLoopHarness appends
each Assistant / Tool message as the loop progresses so the
model retains its own prior reasoning across tool round-trips.
tools: Vec<ToolSpec>Tool specs available this turn. Sourced from ToolRuntime::specs()
so adding / removing a tool changes one place. Empty Vec ⇒ no tools
advertised (final-answer-only mode).
tool_choice: ToolChoiceHow the model should pick (or skip) tools. Defaults to Auto.
Set via AgentLoopHarness::with_tool_choice from
bootstrap.driver.native_model.tool_choice.
parallel_tool_calls: Option<bool>Whether the model may emit multiple tool_use blocks in one
response (OpenAI’s parallel_tool_calls). None ⇒ provider
default (true for OpenAI). Anthropic is always implicitly
multi-tool-capable so this field is OpenAI-only.
Trait Implementations§
Source§impl Clone for ModelTurnInput
impl Clone for ModelTurnInput
Source§fn clone(&self) -> ModelTurnInput
fn clone(&self) -> ModelTurnInput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ModelTurnInput
impl Debug for ModelTurnInput
Source§impl PartialEq for ModelTurnInput
impl PartialEq for ModelTurnInput
Source§fn eq(&self, other: &ModelTurnInput) -> bool
fn eq(&self, other: &ModelTurnInput) -> bool
self and other values to be equal, and is used by ==.