pub struct AgentDefinition {
pub description: String,
pub prompt: String,
pub tools: Option<Vec<String>>,
pub disallowed_tools: Option<Vec<String>>,
pub model: Option<AgentModel>,
pub mcp_servers: Option<Vec<AgentMcpServerSpec>>,
pub skills: Option<Vec<String>>,
pub max_turns: Option<u32>,
}Expand description
Configuration for a subagent defined programmatically.
Fields§
§description: StringNatural language description of when to use this agent.
prompt: StringThe agent’s system prompt defining its role and behavior.
tools: Option<Vec<String>>Array of allowed tool names. If None, inherits all tools from parent.
disallowed_tools: Option<Vec<String>>Array of tool names to explicitly disallow for this agent.
model: Option<AgentModel>Model override for this agent.
mcp_servers: Option<Vec<AgentMcpServerSpec>>MCP server specifications for this agent.
skills: Option<Vec<String>>Array of skill names to preload into the agent context.
max_turns: Option<u32>Maximum number of agentic turns before stopping.
Implementations§
Source§impl AgentDefinition
impl AgentDefinition
pub fn new(description: impl Into<String>, prompt: impl Into<String>) -> Self
pub fn with_tools(self, tools: Vec<String>) -> Self
pub fn with_model(self, model: AgentModel) -> Self
pub fn with_max_turns(self, max_turns: u32) -> Self
Trait Implementations§
Source§impl Clone for AgentDefinition
impl Clone for AgentDefinition
Source§fn clone(&self) -> AgentDefinition
fn clone(&self) -> AgentDefinition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AgentDefinition
impl Debug for AgentDefinition
Source§impl<'de> Deserialize<'de> for AgentDefinition
impl<'de> Deserialize<'de> for AgentDefinition
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 AgentDefinition
impl RefUnwindSafe for AgentDefinition
impl Send for AgentDefinition
impl Sync for AgentDefinition
impl Unpin for AgentDefinition
impl UnsafeUnpin for AgentDefinition
impl UnwindSafe for AgentDefinition
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> 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>
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 moreCreates a shared type from an unshared type.