pub struct AgentConfig {
pub name: String,
pub max_tool_iterations: usize,
pub auto_update_check: bool,
pub instruction_files: Vec<PathBuf>,
pub instruction_auto_detect: bool,
pub max_tool_retries: usize,
pub tool_repeat_threshold: usize,
pub max_retry_duration_secs: u64,
}Fields§
§name: String§max_tool_iterations: usize§auto_update_check: bool§instruction_files: Vec<PathBuf>Additional instruction files to always load, regardless of provider.
instruction_auto_detect: boolWhen true, automatically detect provider-specific instruction files
(e.g. CLAUDE.md for Claude, AGENTS.md for OpenAI).
max_tool_retries: usizeMaximum retry attempts for transient tool errors (0 to disable).
Retries are bounded per tool call and do not consume the outer max_tool_iterations budget. Capped at 5.
tool_repeat_threshold: usizeNumber of identical tool+args calls within the recent window to trigger repeat-detection
abort (0 to disable). Window size is 2 * tool_repeat_threshold.
max_retry_duration_secs: u64Maximum total wall-clock time (seconds) to spend on retries for a single tool call.
When the budget is exhausted the retry loop breaks even if attempts remain.
0 = no wall-clock budget (only max_tool_retries applies).
Trait Implementations§
Source§impl Debug for AgentConfig
impl Debug for AgentConfig
Source§impl<'de> Deserialize<'de> for AgentConfig
impl<'de> Deserialize<'de> for AgentConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for AgentConfig
impl RefUnwindSafe for AgentConfig
impl Send for AgentConfig
impl Sync for AgentConfig
impl Unpin for AgentConfig
impl UnsafeUnpin for AgentConfig
impl UnwindSafe for AgentConfig
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 moreSource§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>
Wrap the input message
T in a tonic::Request