pub struct ReadTool<B: FileBackend>(pub Arc<B>);Tuple Fields§
§0: Arc<B>Trait Implementations§
Source§impl<B: FileBackend> Tool for ReadTool<B>
impl<B: FileBackend> Tool for ReadTool<B>
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable description shown to the LLM.
Source§fn is_read_only(&self) -> bool
fn is_read_only(&self) -> bool
Read-only tools can execute in parallel via
execute_readonly.Source§fn parameters_schema(&self) -> Value
fn parameters_schema(&self) -> Value
JSON Schema for the tool’s parameters (generated via
json_schema_for::<Args>()).fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
args: Value,
ctx: &'life1 mut AgentContext,
) -> Pin<Box<dyn Future<Output = Result<ToolOutput, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn execute_readonly<'life0, 'life1, 'async_trait>(
&'life0 self,
args: Value,
_ctx: &'life1 AgentContext,
) -> Pin<Box<dyn Future<Output = Result<ToolOutput, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute_readonly<'life0, 'life1, 'async_trait>(
&'life0 self,
args: Value,
_ctx: &'life1 AgentContext,
) -> Pin<Box<dyn Future<Output = Result<ToolOutput, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute without mutable context (for parallel read-only dispatch).
Default: delegates to
execute with a cloned context. Override for true
read-only tools to avoid the clone.Source§fn is_system(&self) -> bool
fn is_system(&self) -> bool
System tools are always visible (not subject to progressive discovery).
fn to_def(&self) -> ToolDef
Auto Trait Implementations§
impl<B> Freeze for ReadTool<B>
impl<B> RefUnwindSafe for ReadTool<B>where
B: RefUnwindSafe,
impl<B> Send for ReadTool<B>
impl<B> Sync for ReadTool<B>
impl<B> Unpin for ReadTool<B>
impl<B> UnsafeUnpin for ReadTool<B>
impl<B> UnwindSafe for ReadTool<B>where
B: RefUnwindSafe,
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