pub struct ToolContract {
pub input_schema: Value,
pub output_schema: Value,
pub input_schema_projections: Vec<SchemaProjectionOverride>,
pub output_schema_projections: Vec<SchemaProjectionOverride>,
pub output_contract: ToolOutputContract,
pub examples: Vec<String>,
}Expand description
Heavy tool contract resolved only when a prompt or call needs schemas/docs.
Fields§
§input_schema: Value§output_schema: Value§input_schema_projections: Vec<SchemaProjectionOverride>§output_schema_projections: Vec<SchemaProjectionOverride>§output_contract: ToolOutputContract§examples: Vec<String>Implementations§
Source§impl ToolContract
impl ToolContract
pub fn default_input_schema() -> Value
pub fn compact_contract(&self, manifest: &ToolManifest) -> CompactToolContract
pub fn compact_contract_with_example_limit( &self, manifest: &ToolManifest, example_limit: usize, ) -> CompactToolContract
pub fn input_signature(&self, manifest: &ToolManifest) -> String
pub fn output_summary(&self) -> String
pub fn parameter_metadata(&self) -> Vec<Value>
pub fn model_tool(&self, manifest: &ToolManifest) -> ModelTool
Trait Implementations§
Source§impl Clone for ToolContract
impl Clone for ToolContract
Source§fn clone(&self) -> ToolContract
fn clone(&self) -> ToolContract
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ToolContract
impl Debug for ToolContract
Source§impl Default for ToolContract
impl Default for ToolContract
Source§fn default() -> ToolContract
fn default() -> ToolContract
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ToolContract
impl<'de> Deserialize<'de> for ToolContract
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ToolContract, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ToolContract, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ToolContract
impl Serialize for ToolContract
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ToolContract
impl RefUnwindSafe for ToolContract
impl Send for ToolContract
impl Sync for ToolContract
impl Unpin for ToolContract
impl UnsafeUnpin for ToolContract
impl UnwindSafe for ToolContract
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