pub trait Tool: Send + Sync {
// Required methods
fn descriptor(&self) -> &ToolDescriptor;
fn invoke(
&self,
input: Value,
context: ToolContext,
) -> ToolFuture<'_, Result<ToolOutput, ToolError>>;
}Expand description
Object-safe execution boundary implemented by tools.
Required Methods§
Sourcefn descriptor(&self) -> &ToolDescriptor
fn descriptor(&self) -> &ToolDescriptor
Returns the tool’s immutable semantic contract.
Sourcefn invoke(
&self,
input: Value,
context: ToolContext,
) -> ToolFuture<'_, Result<ToolOutput, ToolError>>
fn invoke( &self, input: Value, context: ToolContext, ) -> ToolFuture<'_, Result<ToolOutput, ToolError>>
Executes one invocation.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".