Struct ResolvedAgentExecution
pub struct ResolvedAgentExecution<'a> {Show 20 fields
pub model_access: ResolvedModelAccess<'a>,
pub tools_registry: &'a [Box<dyn Tool>],
pub observer: &'a dyn Observer,
pub silent: bool,
pub approval: Option<&'a ApprovalManager>,
pub multimodal_config: &'a MultimodalConfig,
pub config: Option<&'a Config>,
pub max_tool_iterations: usize,
pub hooks: Option<&'a HookRunner>,
pub excluded_tools: &'a [String],
pub dedup_exempt_tools: &'a [String],
pub activated_tools: Option<&'a Arc<Mutex<ActivatedToolSet>>>,
pub model_switch_callback: Option<ModelSwitchCallback>,
pub pacing: &'a PacingConfig,
pub strict_tool_parsing: bool,
pub parallel_tools: bool,
pub max_tool_result_chars: usize,
pub context_token_budget: usize,
pub receipt_generator: Option<&'a ReceiptGenerator>,
pub knobs: &'a LoopKnobs,
}Fields§
§model_access: ResolvedModelAccess<'a>Provider + model + temperature.
tools_registry: &'a [Box<dyn Tool>]The tools available this turn (gated per the agent’s policy upstream).
observer: &'a dyn ObserverTelemetry/audit sink.
silent: boolSuppress stderr output (subagents/reviews run silent).
approval: Option<&'a ApprovalManager>Approval policy + back-channel; None for paths that never prompt.
multimodal_config: &'a MultimodalConfigVision-model routing config.
config: Option<&'a Config>Full config, for resolving the configured vision_model_provider’s
alias-specific runtime options (the vision override, endpoint URI,
credentials) on the vision route. None on configless (test) paths,
where the route falls back to the legacy factory.
max_tool_iterations: usizeAgentic loop iteration cap.
hooks: Option<&'a HookRunner>Lifecycle hooks; None when unconfigured.
excluded_tools: &'a [String]Tools the policy denies (never invoked).
dedup_exempt_tools: &'a [String]Tools exempt from call-dedup.
activated_tools: Option<&'a Arc<Mutex<ActivatedToolSet>>>Activation set for on-demand (tool_search) MCP tools; shared so activated tools persist across iterations.
model_switch_callback: Option<ModelSwitchCallback>Back-channel for the model_switch tool.
pacing: &'a PacingConfigLoop-detection / ignore-tools / timing policy.
strict_tool_parsing: boolReject malformed tool-call protocol.
parallel_tools: boolAllow concurrent tool execution.
max_tool_result_chars: usizeTruncation limit for tool outputs.
context_token_budget: usizeHistory-pruning token threshold.
receipt_generator: Option<&'a ReceiptGenerator>Tool-receipt tracer; None when receipts are off.
knobs: &'a LoopKnobsFine-grained loop behavior flags.
Implementations§
Source§impl<'a> ResolvedAgentExecution<'a>
impl<'a> ResolvedAgentExecution<'a>
pub fn resolve( model_access: ResolvedModelAccess<'a>, io: ResolvedIo<'a>, runtime: ResolvedRuntimeKnobs<'a>, ) -> Self
Auto Trait Implementations§
impl<'a> Freeze for ResolvedAgentExecution<'a>
impl<'a> !RefUnwindSafe for ResolvedAgentExecution<'a>
impl<'a> Send for ResolvedAgentExecution<'a>
impl<'a> Sync for ResolvedAgentExecution<'a>
impl<'a> Unpin for ResolvedAgentExecution<'a>
impl<'a> UnsafeUnpin for ResolvedAgentExecution<'a>
impl<'a> !UnwindSafe for ResolvedAgentExecution<'a>
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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