pub struct SubagentSpawn { /* private fields */ }Expand description
Delegates a subtask to a child AgentRun with its own conversation and sandbox. §15: “Each subagent gets its own conversation, terminal, and a Python RPC channel.”
Holds the router + config (not a parent Engine) so it can build a fresh child
engine per call — this avoids a self-referential Arc
Implementations§
Trait Implementations§
Source§impl Tool for SubagentSpawn
impl Tool for SubagentSpawn
fn name(&self) -> &str
fn description(&self) -> &str
fn schema(&self) -> Value
fn risk(&self) -> RiskLevel
fn call<'life0, 'life1, 'async_trait>(
&'life0 self,
args: Value,
_ctx: &'life1 ToolCtx,
) -> Pin<Box<dyn Future<Output = Result<ToolResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn metadata(&self) -> ToolMetadata
Auto Trait Implementations§
impl !RefUnwindSafe for SubagentSpawn
impl !UnwindSafe for SubagentSpawn
impl Freeze for SubagentSpawn
impl Send for SubagentSpawn
impl Sync for SubagentSpawn
impl Unpin for SubagentSpawn
impl UnsafeUnpin for SubagentSpawn
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 more