pub struct Tool {
pub annotations: Option<ToolAnnotations>,
pub description: Option<String>,
pub input_schema: ToolInputSchema,
pub name: String,
pub extra: Map<String, Value>,
}
Expand description
Definition for a tool the client can call.
Fields§
§annotations: Option<ToolAnnotations>
Optional additional tool information.
description: Option<String>
A human-readable description of the tool.
This can be used by clients to improve the LLM’s understanding of available tools. It can be thought of like a “hint” to the model.
input_schema: ToolInputSchema
A JSON Schema object defining the expected parameters for the tool.
name: String
The name of the tool.
extra: Map<String, Value>
Additional parameters that are not part of the schema.
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
impl StructuralPartialEq for Tool
Auto Trait Implementations§
impl Freeze for Tool
impl RefUnwindSafe for Tool
impl Send for Tool
impl Sync for Tool
impl Unpin 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