pub struct WorkspaceTool;Expand description
Unified workspace tool: get or set the session working directory.
- When called without
path→ returns the current workspace directory. - When called with
path→ sets the workspace and returns the new path.
This replaces the previous GetCurrentDir + SetWorkspace pair.
Implementations§
Source§impl WorkspaceTool
impl WorkspaceTool
Trait Implementations§
Source§impl Default for WorkspaceTool
impl Default for WorkspaceTool
Source§impl Tool for WorkspaceTool
impl Tool for WorkspaceTool
fn name(&self) -> &str
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable tool description for LLM.
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 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 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 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 to_schema(&self) -> ToolSchema
fn to_schema(&self) -> ToolSchema
Convert tool to LLM-compatible schema. Read more
Auto Trait Implementations§
impl Freeze for WorkspaceTool
impl RefUnwindSafe for WorkspaceTool
impl Send for WorkspaceTool
impl Sync for WorkspaceTool
impl Unpin for WorkspaceTool
impl UnsafeUnpin for WorkspaceTool
impl UnwindSafe for WorkspaceTool
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