pub struct ToolDefinition {
pub name: String,
pub description: String,
pub input_schema: Value,
pub title: Option<String>,
pub output_schema: Option<Value>,
pub annotations: Option<ToolAnnotations>,
pub category: Option<String>,
pub tags: Vec<String>,
pub timeout_secs: Option<u32>,
}Expand description
Complete description of a tool’s interface and behavior.
This is the canonical tool definition used across all Agent OS projects. It is MCP-aligned with additional fields for categorization and timeouts.
Fields§
§name: StringUnique tool name (e.g. “read_file”, “bash”).
description: StringHuman-readable description of what the tool does.
input_schema: ValueJSON Schema describing the tool’s input parameters.
title: Option<String>Human-readable display name (MCP: title).
output_schema: Option<Value>JSON Schema for structured output (MCP: outputSchema).
annotations: Option<ToolAnnotations>Behavioral hints (MCP: annotations).
category: Option<String>Tool category for grouping (“filesystem”, “code”, “shell”, “mcp”).
Tags for filtering and matching.
timeout_secs: Option<u32>Maximum execution timeout in seconds.
Trait Implementations§
Source§impl Clone for ToolDefinition
impl Clone for ToolDefinition
Source§fn clone(&self) -> ToolDefinition
fn clone(&self) -> ToolDefinition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ToolDefinition
impl Debug for ToolDefinition
Source§impl<'de> Deserialize<'de> for ToolDefinition
impl<'de> Deserialize<'de> for ToolDefinition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ToolDefinition
impl PartialEq for ToolDefinition
Source§impl Serialize for ToolDefinition
impl Serialize for ToolDefinition
impl StructuralPartialEq for ToolDefinition
Auto Trait Implementations§
impl Freeze for ToolDefinition
impl RefUnwindSafe for ToolDefinition
impl Send for ToolDefinition
impl Sync for ToolDefinition
impl Unpin for ToolDefinition
impl UnsafeUnpin for ToolDefinition
impl UnwindSafe for ToolDefinition
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