pub struct DelegateAgentConfig {
pub provider: String,
pub model: String,
pub system_prompt: Option<String>,
pub api_key: Option<String>,
pub temperature: Option<f64>,
pub max_depth: u32,
pub agentic: bool,
pub allowed_tools: Vec<String>,
pub max_iterations: usize,
pub timeout_secs: Option<u64>,
pub agentic_timeout_secs: Option<u64>,
pub skills_directory: Option<String>,
}Expand description
Configuration for a delegate sub-agent used by the delegate tool.
Fields§
§provider: StringProvider name (e.g. “ollama”, “openrouter”, “anthropic”)
model: StringModel name
system_prompt: Option<String>Optional system prompt for the sub-agent
api_key: Option<String>Optional API key override
temperature: Option<f64>Temperature override
max_depth: u32Max recursion depth for nested delegation
agentic: boolEnable agentic sub-agent mode (multi-turn tool-call loop).
allowed_tools: Vec<String>Allowlist of tool names available to the sub-agent in agentic mode.
max_iterations: usizeMaximum tool-call iterations in agentic mode.
timeout_secs: Option<u64>Optional timeout in seconds for non-agentic sub-agent provider calls.
When None, falls back to [delegate].timeout_secs (default: 120).
agentic_timeout_secs: Option<u64>Optional timeout in seconds for agentic sub-agent runs.
When None, falls back to [delegate].agentic_timeout_secs (default: 300).
skills_directory: Option<String>Optional skills directory path (relative to workspace root) for scoped skill loading.
When unset or empty, the sub-agent falls back to the default workspace skills/ directory.
Trait Implementations§
Source§impl Clone for DelegateAgentConfig
impl Clone for DelegateAgentConfig
Source§fn clone(&self) -> DelegateAgentConfig
fn clone(&self) -> DelegateAgentConfig
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 DelegateAgentConfig
impl Debug for DelegateAgentConfig
Source§impl<'de> Deserialize<'de> for DelegateAgentConfig
impl<'de> Deserialize<'de> for DelegateAgentConfig
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 DelegateAgentConfig
impl JsonSchema for DelegateAgentConfig
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 DelegateAgentConfig
impl RefUnwindSafe for DelegateAgentConfig
impl Send for DelegateAgentConfig
impl Sync for DelegateAgentConfig
impl Unpin for DelegateAgentConfig
impl UnsafeUnpin for DelegateAgentConfig
impl UnwindSafe for DelegateAgentConfig
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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