Skip to main content

Tool

Trait Tool 

Source
pub trait Tool: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn tier(&self) -> Tier;
    fn call<'a>(
        &'a self,
        args: ToolArgs,
        ctx: &'a ToolCtx,
    ) -> BoxFut<'a, ToolResult>;

    // Provided methods
    fn requires_call_intent(&self) -> bool { ... }
    fn invocation_plane(&self) -> InvocationPlane { ... }
    fn approval_level(&self, _args: &ToolArgs, _ctx: &ToolCtx) -> ApprovalLevel { ... }
    fn cancel_behavior(&self) -> CancelBehavior { ... }
    fn description(&self) -> Option<&str> { ... }
    fn input_schema(&self) -> Value { ... }
    fn invocation_provenance(
        &self,
        _args: &ToolArgs,
        _ctx: &ToolCtx,
    ) -> Result<ResourceProvenance, RuntimeError> { ... }
    fn model_followups(&self, _result: &Value, _ctx: &ToolCtx) -> Vec<Message> { ... }
    fn preview_call<'a>(
        &'a self,
        _args: &'a ToolArgs,
        _ctx: &'a ToolCtx,
    ) -> BoxFut<'a, Option<String>> { ... }
}

Required Methods§

Source

fn name(&self) -> &str

Source

fn tier(&self) -> Tier

Source

fn call<'a>( &'a self, args: ToolArgs, ctx: &'a ToolCtx, ) -> BoxFut<'a, ToolResult>

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl Tool for AgentKill

Source§

impl Tool for AgentOutput

Source§

impl Tool for AgentSpawn

Source§

impl Tool for AgentStatus

Source§

impl Tool for AnchorEdit

Source§

impl Tool for AnchorRead

Source§

impl Tool for AnchorUndo

Source§

impl Tool for AnchorWrite

Source§

impl Tool for BashKill

Source§

impl Tool for BashList

Source§

impl Tool for BashOutput

Source§

impl Tool for BashSpawn

Source§

impl Tool for BashStatus

Source§

impl Tool for ComposeEmailPreview

Source§

impl Tool for Concat

Source§

impl Tool for ContextRecordAppend

Source§

impl Tool for DispatchAll

Source§

impl Tool for EstimateTokens

Source§

impl Tool for ExtractFinalAnswer

Source§

impl Tool for ExtractToolUses

Source§

impl Tool for FinalAnswer

Source§

impl Tool for FinalizeResponse

Source§

impl Tool for FindCompactRange

Source§

impl Tool for FlowCheck

Source§

impl Tool for FlowDescribe

Source§

impl Tool for FlowInstances

Source§

impl Tool for FlowInterject

Source§

impl Tool for FlowList

Source§

impl Tool for FlowSearch

Source§

impl Tool for FormAsk

Source§

impl Tool for atman_runtime::tools::fs::FsEdit

Source§

impl Tool for atman_runtime::tools::hunk::FsEdit

Source§

impl Tool for FsGrep

Source§

impl Tool for FsList

Source§

impl Tool for FsRead

Source§

impl Tool for FsWrite

Source§

impl Tool for GitAdd

Source§

impl Tool for GitBranch

Source§

impl Tool for GitBranchCreate

Source§

impl Tool for GitBranchDelete

Source§

impl Tool for GitBranchList

Source§

impl Tool for GitBranchRename

Source§

impl Tool for GitBranchSwitch

Source§

impl Tool for GitCommit

Source§

impl Tool for GitDiff

Source§

impl Tool for GitFetch

Source§

impl Tool for GitInit

Source§

impl Tool for GitLog

Source§

impl Tool for GitPush

Source§

impl Tool for GitRemoteList

Source§

impl Tool for GitRestore

Source§

impl Tool for GitRevert

Source§

impl Tool for GitShow

Source§

impl Tool for GitStatus

Source§

impl Tool for GitTagCreate

Source§

impl Tool for GitTagList

Source§

impl Tool for GitWorkspaceCreate

Source§

impl Tool for GitWorkspaceGet

Source§

impl Tool for GitWorkspaceList

Source§

impl Tool for GitWorkspacePrune

Source§

impl Tool for GitWorkspaceRelease

Source§

impl Tool for GitWorkspaceRetain

Source§

impl Tool for GitWorktreeAdd

Source§

impl Tool for GitWorktreeList

Source§

impl Tool for GitWorktreeLock

Source§

impl Tool for GitWorktreePrune

Source§

impl Tool for GitWorktreeRemove

Source§

impl Tool for GitWorktreeUnlock

Source§

impl Tool for HasPendingInjections

Source§

impl Tool for Head

Source§

impl Tool for HelpShow

Source§

impl Tool for HunkApply

Source§

impl Tool for HunkReview

Source§

impl Tool for ImageRead

Source§

impl Tool for IsEmpty

Source§

impl Tool for Len

Source§

impl Tool for LlmCallTool

Source§

impl Tool for LlmClassifyTool

Source§

impl Tool for LlmExtractTool

Source§

impl Tool for LlmGenerateBranchesTool

Source§

impl Tool for McpAwait

Source§

impl Tool for McpCall

Source§

impl Tool for McpStatus

Source§

impl Tool for McpToolAdapter

Source§

impl Tool for McpTools

Source§

impl Tool for MemoryConfess

Source§

impl Tool for MemoryFetchConfessions

Source§

impl Tool for MemoryGoalClear

Source§

impl Tool for MemoryGoalGet

Source§

impl Tool for MemoryGoalSet

Source§

impl Tool for MemoryHistoryCount

Source§

impl Tool for MemoryHistoryRead

Source§

impl Tool for MemoryHistorySearch

Source§

impl Tool for MemoryRecentTurns

Source§

impl Tool for MemorySpecDeviate

Source§

impl Tool for MemorySpecMaterialize

Source§

impl Tool for MemorySpecRead

Source§

impl Tool for MemorySpecReview

Source§

impl Tool for MemorySpecStatus

Source§

impl Tool for MemorySpecUpdate

Source§

impl Tool for MemoryTodoCancel

Source§

impl Tool for MemoryTodoDelete

Source§

impl Tool for MemoryTodoDone

Source§

impl Tool for MemoryTodoList

Source§

impl Tool for MemoryTodoSet

Source§

impl Tool for MessageAssistant

Source§

impl Tool for MessageSystem

Source§

impl Tool for MessageTool

Source§

impl Tool for MessageUser

Source§

impl Tool for OutputRead

Source§

impl Tool for PermissionApprove

Source§

impl Tool for PermissionBatch

Source§

impl Tool for PermissionDefer

Source§

impl Tool for PermissionDeny

Source§

impl Tool for PermissionGet

Source§

impl Tool for PermissionGroupTool

Source§

impl Tool for PermissionList

Source§

impl Tool for PermissionUngroup

Source§

impl Tool for PlanRead

Source§

impl Tool for PlanTick

Source§

impl Tool for PlanWrite

Source§

impl Tool for PreviewPush

Source§

impl Tool for RenderPromptMarkdown

Source§

impl Tool for RenderPromptTerse

Source§

impl Tool for RenderPromptXml

Source§

impl Tool for ReplaceMessagesRange

Source§

impl Tool for RuleFetch

Source§

impl Tool for SessionPush

Source§

impl Tool for ShellQuote

Source§

impl Tool for Sleep

Source§

impl Tool for Tail

Source§

impl Tool for TaskKill

Source§

impl Tool for TaskList

Source§

impl Tool for TermCapture

Source§

impl Tool for TermFind

Source§

impl Tool for TermInput

Source§

impl Tool for TermKill

Source§

impl Tool for TermList

Source§

impl Tool for TermResize

Source§

impl Tool for TermSpawn

Source§

impl Tool for TestRun

Source§

impl Tool for TextConcat

Source§

impl Tool for ToJsonString

Source§

impl Tool for WaitForWatcher

Source§

impl Tool for Watch

Source§

impl Tool for WatcherList

Source§

impl Tool for WatcherUnwatch

Source§

impl Tool for WebFetch

Source§

impl Tool for WebSearch