pub struct ToolsConfig {
pub default_policy: ToolPolicy,
pub policies: IndexMap<String, ToolPolicy>,
pub max_tool_loops: usize,
pub max_repeated_tool_calls: usize,
pub max_tool_rate_per_second: Option<usize>,
pub web_fetch: WebFetchConfig,
pub plugins: PluginRuntimeConfig,
pub loop_thresholds: IndexMap<String, usize>,
}Expand description
Tools configuration
Fields§
§default_policy: ToolPolicyDefault policy for tools not explicitly listed
policies: IndexMap<String, ToolPolicy>Specific tool policies
max_tool_loops: usizeMaximum inner tool-call loops per user turn
Prevents infinite tool-calling cycles in interactive chat. This limits how many back-and-forths the agent will perform executing tools and re-asking the model before returning a final answer.
max_repeated_tool_calls: usizeMaximum number of times the same tool invocation can be retried with the identical arguments within a single turn.
max_tool_rate_per_second: Option<usize>Optional per-second rate limit for tool calls to smooth bursty retries. When unset, the runtime defaults apply.
web_fetch: WebFetchConfigWeb Fetch tool security configuration
plugins: PluginRuntimeConfigDynamic plugin runtime configuration
loop_thresholds: IndexMap<String, usize>Tool-specific loop thresholds (Adaptive Loop Detection) Allows setting higher loop limits for read-only tools (e.g., ls, grep) and lower limits for mutating tools.
Trait Implementations§
Source§impl Clone for ToolsConfig
impl Clone for ToolsConfig
Source§fn clone(&self) -> ToolsConfig
fn clone(&self) -> ToolsConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ToolsConfig
impl Debug for ToolsConfig
Source§impl Default for ToolsConfig
impl Default for ToolsConfig
Source§impl<'de> Deserialize<'de> for ToolsConfig
impl<'de> Deserialize<'de> for ToolsConfig
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 JsonSchema for ToolsConfig
impl JsonSchema for ToolsConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for ToolsConfig
impl RefUnwindSafe for ToolsConfig
impl Send for ToolsConfig
impl Sync for ToolsConfig
impl Unpin for ToolsConfig
impl UnsafeUnpin for ToolsConfig
impl UnwindSafe for ToolsConfig
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