pub struct PartialToolDefinition {Show 19 fields
pub name: String,
pub description: Option<String>,
pub input_schema: Option<ToolInputSchema>,
pub aliases: Option<Vec<String>>,
pub search_hint: Option<String>,
pub max_result_size_chars: Option<usize>,
pub should_defer: Option<bool>,
pub always_load: Option<bool>,
pub is_enabled: Option<Box<dyn Fn() -> bool + Send + Sync>>,
pub is_concurrency_safe: Option<Box<dyn Fn(&Value) -> bool + Send + Sync>>,
pub is_read_only: Option<Box<dyn Fn(&Value) -> bool + Send + Sync>>,
pub is_destructive: Option<Box<dyn Fn(&Value) -> bool + Send + Sync>>,
pub interrupt_behavior: Option<Box<dyn Fn() -> InterruptBehavior + Send + Sync>>,
pub is_search_or_read_command: Option<Box<dyn Fn(&Value) -> SearchOrReadCommand + Send + Sync>>,
pub is_open_world: Option<Box<dyn Fn(&Value) -> bool + Send + Sync>>,
pub requires_user_interaction: Option<Box<dyn Fn() -> bool + Send + Sync>>,
pub is_mcp: Option<bool>,
pub is_lsp: Option<bool>,
pub user_facing_name: Option<Box<dyn Fn(Option<&Value>) -> String + Send + Sync>>,
}Expand description
Tool definition with optional fields (like ToolDef in TypeScript)
Fields§
§name: String§description: Option<String>§input_schema: Option<ToolInputSchema>§aliases: Option<Vec<String>>§search_hint: Option<String>§max_result_size_chars: Option<usize>§should_defer: Option<bool>§always_load: Option<bool>§is_enabled: Option<Box<dyn Fn() -> bool + Send + Sync>>§is_concurrency_safe: Option<Box<dyn Fn(&Value) -> bool + Send + Sync>>§is_read_only: Option<Box<dyn Fn(&Value) -> bool + Send + Sync>>§is_destructive: Option<Box<dyn Fn(&Value) -> bool + Send + Sync>>§interrupt_behavior: Option<Box<dyn Fn() -> InterruptBehavior + Send + Sync>>§is_search_or_read_command: Option<Box<dyn Fn(&Value) -> SearchOrReadCommand + Send + Sync>>§is_open_world: Option<Box<dyn Fn(&Value) -> bool + Send + Sync>>§requires_user_interaction: Option<Box<dyn Fn() -> bool + Send + Sync>>§is_mcp: Option<bool>§is_lsp: Option<bool>§user_facing_name: Option<Box<dyn Fn(Option<&Value>) -> String + Send + Sync>>Trait Implementations§
Auto Trait Implementations§
impl Freeze for PartialToolDefinition
impl !RefUnwindSafe for PartialToolDefinition
impl Send for PartialToolDefinition
impl Sync for PartialToolDefinition
impl Unpin for PartialToolDefinition
impl UnsafeUnpin for PartialToolDefinition
impl !UnwindSafe for PartialToolDefinition
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