pub struct ToolSpec {
pub name: String,
pub description: String,
pub input_schema: Value,
pub command: String,
pub args: Vec<String>,
pub env: HashMap<String, String>,
pub timeout_ms: u64,
pub is_concurrency_safe: bool,
pub permission: ToolPermission,
}Expand description
Declarative JSON spec for a plugin tool (e.g. tools/my-tool.json).
Fields§
§name: String§description: String§input_schema: Value§command: String§args: Vec<String>§env: HashMap<String, String>§timeout_ms: u64§is_concurrency_safe: bool§permission: ToolPermissionDefault permission decision when no rule matches.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ToolSpec
impl<'de> Deserialize<'de> for ToolSpec
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 ToolSpec
impl RefUnwindSafe for ToolSpec
impl Send for ToolSpec
impl Sync for ToolSpec
impl Unpin for ToolSpec
impl UnsafeUnpin for ToolSpec
impl UnwindSafe for ToolSpec
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