pub struct SubSessionTool { /* private fields */ }Implementations§
Source§impl SubSessionTool
impl SubSessionTool
pub fn new( adapter: Arc<ChildSessionAdapter>, profiles: Arc<SubagentProfileRegistry>, ) -> Self
Trait Implementations§
Source§impl Tool for SubSessionTool
impl Tool for SubSessionTool
fn name(&self) -> &str
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable tool description for LLM.
Source§fn parameters_schema(&self) -> Value
fn parameters_schema(&self) -> Value
JSON Schema for tool parameters.
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<ToolResult, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<ToolResult, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute the tool with given arguments.
Source§fn execute_with_context<'life0, 'life1, 'async_trait>(
&'life0 self,
args: Value,
ctx: ToolExecutionContext<'life1>,
) -> Pin<Box<dyn Future<Output = Result<ToolResult, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute_with_context<'life0, 'life1, 'async_trait>(
&'life0 self,
args: Value,
ctx: ToolExecutionContext<'life1>,
) -> Pin<Box<dyn Future<Output = Result<ToolResult, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute the tool with a streaming-capable context. Read more
Source§fn mutability(&self) -> ToolMutability
fn mutability(&self) -> ToolMutability
Declares whether this tool is read-only or mutating for orchestration and
parallel scheduling decisions. Defaults to mutating to stay conservative.
Source§fn call_mutability(&self, _args: &Value) -> ToolMutability
fn call_mutability(&self, _args: &Value) -> ToolMutability
Args-aware mutability hook. Defaults to the static mutability declaration.
Source§fn concurrency_safe(&self) -> bool
fn concurrency_safe(&self) -> bool
Declares whether this tool can safely run in parallel with other
read-only tools. Defaults to false so tools remain serialized unless
they opt in explicitly.
Source§fn call_concurrency_safe(&self, _args: &Value) -> bool
fn call_concurrency_safe(&self, _args: &Value) -> bool
Args-aware parallel-safety hook. Defaults to the static declaration.
Source§fn to_schema(&self) -> ToolSchema
fn to_schema(&self) -> ToolSchema
Convert tool to LLM-compatible schema. Read more
Auto Trait Implementations§
impl Freeze for SubSessionTool
impl !RefUnwindSafe for SubSessionTool
impl Send for SubSessionTool
impl Sync for SubSessionTool
impl Unpin for SubSessionTool
impl UnsafeUnpin for SubSessionTool
impl !UnwindSafe for SubSessionTool
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