pub struct ProtocolExternalToolDefinition {
pub defer: Option<ProtocolExternalToolDefer>,
pub description: String,
pub is_terminal: Option<bool>,
pub metadata: Option<HashMap<String, Value>>,
pub name: String,
pub overrides_built_in_tool: Option<bool>,
pub parameters: Option<HashMap<String, Value>>,
pub skip_permission: Option<bool>,
pub title: Option<String>,
}Expand description
Serializable definition of a caller-implemented tool whose execution is handled over the SDK connection.
Experimental. This type is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases.
Fields§
§defer: Option<ProtocolExternalToolDefer>Tool-loading deferral policy.
description: StringModel-visible explanation of what the tool does.
is_terminal: Option<bool>Whether the tool executes commands in a terminal.
metadata: Option<HashMap<String, Value>>Optional caller-defined metadata associated with the tool.
name: StringUnique model-visible tool name.
overrides_built_in_tool: Option<bool>Whether this definition replaces a built-in tool with the same name.
parameters: Option<HashMap<String, Value>>JSON Schema describing the tool’s input arguments.
skip_permission: Option<bool>Whether execution bypasses the normal tool permission prompt.
title: Option<String>Optional human-readable display title.
Trait Implementations§
Source§impl Clone for ProtocolExternalToolDefinition
impl Clone for ProtocolExternalToolDefinition
Source§fn clone(&self) -> ProtocolExternalToolDefinition
fn clone(&self) -> ProtocolExternalToolDefinition
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 Default for ProtocolExternalToolDefinition
impl Default for ProtocolExternalToolDefinition
Source§fn default() -> ProtocolExternalToolDefinition
fn default() -> ProtocolExternalToolDefinition
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ProtocolExternalToolDefinition
impl<'de> Deserialize<'de> for ProtocolExternalToolDefinition
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 ProtocolExternalToolDefinition
impl RefUnwindSafe for ProtocolExternalToolDefinition
impl Send for ProtocolExternalToolDefinition
impl Sync for ProtocolExternalToolDefinition
impl Unpin for ProtocolExternalToolDefinition
impl UnsafeUnpin for ProtocolExternalToolDefinition
impl UnwindSafe for ProtocolExternalToolDefinition
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