MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / Tool

Interface Tool

crates/opencode-tool/src/tool.rs:689–704  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

687
688#[async_trait]
689pub trait Tool: Send + Sync {
690 fn id(&self) -> &str;
691 fn description(&self) -> &str;
692 fn parameters(&self) -> serde_json::Value;
693
694 async fn execute(
695 &self,
696 args: serde_json::Value,
697 ctx: ToolContext,
698 ) -> Result<ToolResult, ToolError>;
699
700 fn validate(&self, args: &serde_json::Value) -> Result<(), ToolError> {
701 let _ = args;
702 Ok(())
703 }
704}
705
706#[derive(Debug, thiserror::Error)]
707pub enum ToolError {

Callers 1

prune_sessionMethod · 0.85

Implementers 15

ls.rscrates/opencode-tool/src/ls.rs
read.rscrates/opencode-tool/src/read.rs
websearch.rscrates/opencode-tool/src/websearch.rs
webfetch.rscrates/opencode-tool/src/webfetch.rs
glob_tool.rscrates/opencode-tool/src/glob_tool.rs
bash.rscrates/opencode-tool/src/bash.rs
apply_patch.rscrates/opencode-tool/src/apply_patch.r
grep_tool.rscrates/opencode-tool/src/grep_tool.rs
codesearch.rscrates/opencode-tool/src/codesearch.rs
batch.rscrates/opencode-tool/src/batch.rs
lsp_tool.rscrates/opencode-tool/src/lsp_tool.rs
write.rscrates/opencode-tool/src/write.rs

Calls

no outgoing calls

Tested by

no test coverage detected