pub struct RuntimeAgent {
pub system_prompt: String,
pub model: String,
pub tools: Vec<ToolDefinition>,
pub max_iterations: usize,
pub temperature: Option<f32>,
pub max_tokens: Option<u32>,
pub tool_search: Option<ToolSearchConfig>,
pub prompt_cache: Option<PromptCacheConfig>,
pub openrouter_routing: Option<OpenRouterRoutingConfig>,
pub network_access: Option<NetworkAccessList>,
pub parallel_tool_calls: Option<bool>,
}Expand description
Runtime configuration for the agent loop
Fields§
§system_prompt: StringSystem prompt that defines the agent’s behavior
model: StringModel identifier (e.g., “gpt-5.2”, “claude-3-opus”)
tools: Vec<ToolDefinition>Available tools for the agent
max_iterations: usizeMaximum number of tool-calling iterations (prevents infinite loops)
temperature: Option<f32>Temperature for LLM sampling (0.0 - 2.0)
max_tokens: Option<u32>Maximum tokens to generate per response
tool_search: Option<ToolSearchConfig>Tool search config (set by openai_tool_search capability)
prompt_cache: Option<PromptCacheConfig>Prompt caching config (set by prompt_caching capability)
openrouter_routing: Option<OpenRouterRoutingConfig>OpenRouter routing controls, including provider-executed server tools
(set by the openrouter_server_tools capability). Only forwarded to
OpenRouter-compatible endpoints.
network_access: Option<NetworkAccessList>Merged network access list (harness ∩ agent ∩ session). Used by tools (web_fetch) to enforce URL access policy.
parallel_tool_calls: Option<bool>Request-level parallel tool calling preference (EVE-598).
None (default) preserves provider defaults and the act scheduler’s
class-aware concurrent schedule. Some(true) explicitly signals the
provider that parallel tool calls are wanted; Some(false) asks the
provider to emit at most one tool call per turn AND forces the act
scheduler to serialize the batch (see ActInput.parallel_tool_calls).
Implementations§
Trait Implementations§
Source§impl Clone for RuntimeAgent
impl Clone for RuntimeAgent
Source§fn clone(&self) -> RuntimeAgent
fn clone(&self) -> RuntimeAgent
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 RuntimeAgent
impl Debug for RuntimeAgent
Source§impl Default for RuntimeAgent
impl Default for RuntimeAgent
Source§impl<'de> Deserialize<'de> for RuntimeAgent
impl<'de> Deserialize<'de> for RuntimeAgent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<&RuntimeAgent> for LlmCallConfig
impl From<&RuntimeAgent> for LlmCallConfig
Source§fn from(runtime_agent: &RuntimeAgent) -> Self
fn from(runtime_agent: &RuntimeAgent) -> Self
Auto Trait Implementations§
impl Freeze for RuntimeAgent
impl RefUnwindSafe for RuntimeAgent
impl Send for RuntimeAgent
impl Sync for RuntimeAgent
impl Unpin for RuntimeAgent
impl UnsafeUnpin for RuntimeAgent
impl UnwindSafe for RuntimeAgent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request