Skip to main content

Tool

Trait Tool 

Source
pub trait Tool: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn execute<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        args: &'life1 HashMap<String, Value>,
        undo_stack: &'life2 mut Vec<UndoAction>,
        cwd: Option<&'life3 Path>,
    ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
}

Required Methods§

Source

fn name(&self) -> &str

Source

fn execute<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, args: &'life1 HashMap<String, Value>, undo_stack: &'life2 mut Vec<UndoAction>, cwd: Option<&'life3 Path>, ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Tool for ApplyDiffPatchTool

Source§

impl Tool for BulkRenameTool

Source§

impl Tool for CheckPortStatusTool

Source§

impl Tool for CleanupFileTool

Source§

impl Tool for CopyDirectoryTool

Source§

impl Tool for CopyFileTool

Source§

impl Tool for CountLinesTool

Source§

impl Tool for CreateDirectoryTool

Source§

impl Tool for DeleteFileTool

Source§

impl Tool for DiffFilesTool

Source§

impl Tool for EditFileByLinesTool

Source§

impl Tool for FetchUrlTool

Source§

impl Tool for FileExistsTool

Source§

impl Tool for GetEnvVarTool

Source§

impl Tool for GetFileInfoTool

Source§

impl Tool for GitAddTool

Source§

impl Tool for GitBranchTool

Source§

impl Tool for GitCheckoutTool

Source§

impl Tool for GitCloneTool

Source§

impl Tool for GitCommitTool

Source§

impl Tool for GitDiffTool

Source§

impl Tool for GitLogTool

Source§

impl Tool for GitPullTool

Source§

impl Tool for GitPushTool

Source§

impl Tool for GitRemoteListTool

Source§

impl Tool for GitStashTool

Source§

impl Tool for GitStatusTool

Source§

impl Tool for GithubGetFileTool

Source§

impl Tool for GithubIssueCreateTool

Source§

impl Tool for GithubIssueUpdateTool

Source§

impl Tool for GithubPrCreateTool

Source§

impl Tool for GithubPrInfoTool

Source§

impl Tool for GithubPrListTool

Source§

impl Tool for GithubPrMergeTool

Source§

impl Tool for GithubRepoInfoTool

Source§

impl Tool for GithubRepoListIssuesTool

Source§

impl Tool for GithubSearchCodeTool

Source§

impl Tool for GithubSearchReposTool

Source§

impl Tool for GithubWorkflowListTool

Source§

impl Tool for GithubWorkflowRunsTool

Source§

impl Tool for HashFileTool

Source§

impl Tool for JsonUpdateValueTool

Source§

impl Tool for KillBackgroundProcessTool

Source§

impl Tool for ListBackgroundProcessesTool

Source§

impl Tool for ListDirectoryTool

Source§

impl Tool for ListSymbolsTool

Source§

impl Tool for ListTodoTasksTool

Source§

impl Tool for MoveCodeBlockTool

Source§

impl Tool for ProjectCheckpointTool

Source§

impl Tool for ProjectSummaryTool

Source§

impl Tool for ProjectWideReplaceTool

Source§

impl Tool for ReadBackgroundProcessLogsTool

Source§

impl Tool for ReadFileTool

Source§

impl Tool for RegexReplaceTool

Source§

impl Tool for RenameFileTool

Source§

impl Tool for ReplaceTextTool

Source§

impl Tool for RestoreCheckpointTool

Source§

impl Tool for RunPythonTool

Source§

impl Tool for ScreenshotWebappTool

Source§

impl Tool for SearchFilesTool

Source§

impl Tool for ShellTool

Source§

impl Tool for SplitFileTool

Source§

impl Tool for StartBackgroundProcessTool

Source§

impl Tool for SystemInfoTool

Source§

impl Tool for TreeViewTool

Source§

impl Tool for ViewSymbolContentsTool

Source§

impl Tool for WebSearchDuckDuckGoTool

Source§

impl Tool for WriteFileTool