pub struct ToolDefaults {
pub is_enabled: bool,
pub is_concurrency_safe: bool,
pub is_read_only: bool,
pub is_destructive: bool,
pub check_permissions: Arc<dyn Fn(Value) -> Pin<Box<dyn Future<Output = PermissionResult> + Send>> + Send + Sync>,
pub to_auto_classifier_input: Arc<dyn Fn(Value) -> Value + Send + Sync>,
pub user_facing_name: Arc<dyn Fn() -> String + Send + Sync>,
}Expand description
Default values for tool methods, mirroring the TypeScript TOOL_DEFAULTS.
Defaults (fail-closed where it matters):
is_enabled->trueis_concurrency_safe->false(assume not safe)is_read_only->false(assume writes)is_destructive->falsecheck_permissions->{ behavior: "allow", updatedInput }(defer to general permission system)to_auto_classifier_input->""(skip classifier - security-relevant tools must override)user_facing_name-> tool’s name
Fields§
§is_enabled: bool§is_concurrency_safe: bool§is_read_only: bool§is_destructive: bool§check_permissions: Arc<dyn Fn(Value) -> Pin<Box<dyn Future<Output = PermissionResult> + Send>> + Send + Sync>§to_auto_classifier_input: Arc<dyn Fn(Value) -> Value + Send + Sync>§user_facing_name: Arc<dyn Fn() -> String + Send + Sync>Trait Implementations§
Auto Trait Implementations§
impl Freeze for ToolDefaults
impl !RefUnwindSafe for ToolDefaults
impl Send for ToolDefaults
impl Sync for ToolDefaults
impl Unpin for ToolDefaults
impl UnsafeUnpin for ToolDefaults
impl !UnwindSafe for ToolDefaults
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