pub struct AgentRunConfig {
pub root: PathBuf,
pub model: String,
pub search_mode: WebSearchMode,
pub search_url: Option<String>,
pub reasoning_effort: ReasoningEffort,
pub reasoning_summary: ReasoningSummary,
pub max_tool_iterations: usize,
pub mcp_manager: Option<Arc<McpManager>>,
pub process_registry: Option<ProcessRegistry>,
pub accounting_turn_id: Option<String>,
pub accounting_context: Vec<ContextItemSnapshot>,
}Expand description
Configuration for an agent run, shared by the fake and Umans providers.
Fields§
§root: PathBufWorkspace root for tool containment and file reads.
model: StringSelected model name.
search_mode: WebSearchModeWeb search mode.
search_url: Option<String>Optional SearXNG base URL used by the application-owned web search tool.
reasoning_effort: ReasoningEffortReasoning effort requested for supporting provider models.
TODO: Route this through every provider/model family that supports reasoning-effort controls.
reasoning_summary: ReasoningSummaryWhether supporting providers should return reasoning summaries.
TODO: Route this through every provider/model family that supports reasoning-summary controls.
max_tool_iterations: usizeMaximum tool-call iterations per turn.
mcp_manager: Option<Arc<McpManager>>Optional MCP manager used to extend the built-in tool registry.
process_registry: Option<ProcessRegistry>Shared application owner for background shell processes.
accounting_turn_id: Option<String>Turn id associated with request accounting.
accounting_context: Vec<ContextItemSnapshot>Context candidates captured before the first provider request.
Implementations§
Source§impl AgentRunConfig
impl AgentRunConfig
pub fn new(root: PathBuf, model: String, search_mode: WebSearchMode) -> Self
Sourcepub fn with_reasoning(
self,
effort: ReasoningEffort,
summary: ReasoningSummary,
) -> Self
pub fn with_reasoning( self, effort: ReasoningEffort, summary: ReasoningSummary, ) -> Self
Apply the resolved reasoning settings for this run.
Sourcepub fn with_search_url(self, search_url: Option<String>) -> Self
pub fn with_search_url(self, search_url: Option<String>) -> Self
Apply the configured SearXNG base URL for this run.
Sourcepub fn search_config(&self) -> SearchConfig
pub fn search_config(&self) -> SearchConfig
Build the application-owned search configuration for this run.
Sourcepub fn with_mcp_manager(self, manager: Arc<McpManager>) -> Self
pub fn with_mcp_manager(self, manager: Arc<McpManager>) -> Self
Attach an MCP manager to this run.
Sourcepub fn with_process_registry(self, registry: ProcessRegistry) -> Self
pub fn with_process_registry(self, registry: ProcessRegistry) -> Self
Attach the application-owned registry used for background shell tools.
Sourcepub fn with_request_context(
self,
turn_id: impl Into<String>,
ledger: &ContextLedger,
) -> Self
pub fn with_request_context( self, turn_id: impl Into<String>, ledger: &ContextLedger, ) -> Self
Attach the immutable context snapshot used by provider request accounting.
Trait Implementations§
Source§impl Clone for AgentRunConfig
impl Clone for AgentRunConfig
Source§fn clone(&self) -> AgentRunConfig
fn clone(&self) -> AgentRunConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for AgentRunConfig
impl !UnwindSafe for AgentRunConfig
impl Freeze for AgentRunConfig
impl Send for AgentRunConfig
impl Sync for AgentRunConfig
impl Unpin for AgentRunConfig
impl UnsafeUnpin for AgentRunConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more