pub struct ScheduleTasksTool { /* private fields */ }Expand description
One tool for schedule CRUD + actions.
We intentionally keep schedule operations as a server-only tool that calls internal Rust methods (NOT http_request) to avoid SSRF issues and to keep latency low.
Implementations§
Source§impl ScheduleTasksTool
impl ScheduleTasksTool
pub fn new( schedule_store: Arc<ScheduleStore>, schedule_manager: Arc<ScheduleManager>, session_store: Arc<SessionStoreV2>, storage: Arc<dyn Storage>, ) -> Self
Trait Implementations§
Source§impl Tool for ScheduleTasksTool
impl Tool for ScheduleTasksTool
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 ScheduleTasksTool
impl !RefUnwindSafe for ScheduleTasksTool
impl Send for ScheduleTasksTool
impl Sync for ScheduleTasksTool
impl Unpin for ScheduleTasksTool
impl UnsafeUnpin for ScheduleTasksTool
impl !UnwindSafe for ScheduleTasksTool
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