pub struct TaskTool { /* private fields */ }Implementations§
Source§impl TaskTool
impl TaskTool
pub fn new(registry: TaskRegistry) -> Self
pub fn subagent_registry( self, subagent_registry: IndexRegistry<SubagentIndex>, ) -> Self
pub fn max_background_tasks(self, max: usize) -> Self
Sourcepub fn description_with_subagents(&self) -> String
pub fn description_with_subagents(&self) -> String
Generate description with dynamic subagent list.
Use this method when building system prompts to include all registered subagents (both built-in and custom) in the tool description.
Trait Implementations§
Source§impl SchemaTool for TaskTool
impl SchemaTool for TaskTool
const NAME: &'static str = "Task"
const DESCRIPTION: &'static str = "Launch a new agent to handle complex, multi-step tasks autonomously. Use description_with_subagents() for the full dynamic description including available agent types."
type Input = TaskInput
Source§fn custom_description(&self) -> Option<String>
fn custom_description(&self) -> Option<String>
Override to provide a dynamic description instead of the static DESCRIPTION constant. Read more
fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
input: TaskInput,
context: &'life1 ExecutionContext,
) -> Pin<Box<dyn Future<Output = ToolResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
const STRICT: bool = false
fn input_schema() -> Value
Auto Trait Implementations§
impl Freeze for TaskTool
impl !RefUnwindSafe for TaskTool
impl Send for TaskTool
impl Sync for TaskTool
impl Unpin for TaskTool
impl !UnwindSafe for TaskTool
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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.