pub struct ToolInputSchema {
pub schema_type: String,
pub properties: Option<HashMap<String, Value>>,
pub required: Option<Vec<String>>,
pub additional_properties: Option<bool>,
}Expand description
Defines the structure of the arguments a tool accepts, as a JSON Schema object.
Fields§
§schema_type: StringThe type of the schema, which must be “object” for tool inputs.
properties: Option<HashMap<String, Value>>A map defining the properties (parameters) the tool accepts.
required: Option<Vec<String>>A list of property names that are required.
additional_properties: Option<bool>Whether additional, unspecified properties are allowed.
Implementations§
Source§impl ToolInputSchema
impl ToolInputSchema
Sourcepub fn with_properties(properties: HashMap<String, Value>) -> Self
pub fn with_properties(properties: HashMap<String, Value>) -> Self
Creates a new schema with a given set of properties.
Sourcepub fn with_required_properties(
properties: HashMap<String, Value>,
required: Vec<String>,
) -> Self
pub fn with_required_properties( properties: HashMap<String, Value>, required: Vec<String>, ) -> Self
Creates a new schema with a given set of properties and a list of required properties.
Sourcepub fn add_property(self, name: String, property: Value) -> Self
pub fn add_property(self, name: String, property: Value) -> Self
Adds a property to the schema using a builder pattern.
§Example
let schema = ToolInputSchema::empty()
.add_property("name".to_string(), json!({ "type": "string" }));Sourcepub fn require_property(self, name: String) -> Self
pub fn require_property(self, name: String) -> Self
Marks a property as required using a builder pattern.
§Example
let schema = ToolInputSchema::empty()
.add_property("name".to_string(), json!({ "type": "string" }))
.require_property("name".to_string());Trait Implementations§
Source§impl Clone for ToolInputSchema
impl Clone for ToolInputSchema
Source§fn clone(&self) -> ToolInputSchema
fn clone(&self) -> ToolInputSchema
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 ToolInputSchema
impl Debug for ToolInputSchema
Source§impl Default for ToolInputSchema
impl Default for ToolInputSchema
Source§impl<'de> Deserialize<'de> for ToolInputSchema
impl<'de> Deserialize<'de> for ToolInputSchema
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
Auto Trait Implementations§
impl Freeze for ToolInputSchema
impl RefUnwindSafe for ToolInputSchema
impl Send for ToolInputSchema
impl Sync for ToolInputSchema
impl Unpin for ToolInputSchema
impl UnwindSafe for ToolInputSchema
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