pub enum Tool {
McpToolset(McpToolset),
Custom(CustomTool),
ToolSearch(ToolSearchTool),
Bash(BashTool),
TextEditor(TextEditorTool),
WebSearch(WebSearchTool),
}Expand description
Tool definition
Variants§
McpToolset(McpToolset)
MCP toolset definition
Custom(CustomTool)
Custom tool definition (must come before ToolSearch: CustomTool requires
input_schema which acts as a discriminator — ToolSearchTool JSON lacks
it and falls through, while CustomTool JSON with “type” would incorrectly
match ToolSearchTool’s less-restrictive shape if tried first)
ToolSearch(ToolSearchTool)
Tool search tool
Bash(BashTool)
Bash tool (computer use)
TextEditor(TextEditorTool)
Text editor tool (computer use)
WebSearch(WebSearchTool)
Web search tool
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Tool
impl<'de> Deserialize<'de> for Tool
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 JsonSchema for Tool
impl JsonSchema for Tool
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for Tool
impl RefUnwindSafe for Tool
impl Send for Tool
impl Sync for Tool
impl Unpin for Tool
impl UnsafeUnpin for Tool
impl UnwindSafe for Tool
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