pub enum ToolCapability {
ProcessSpawn,
FileSystem,
Network,
}Expand description
A platform feature a built-in tool depends on.
Each built-in declares the capabilities it requires (see
tool_required_capabilities); the current platform declares what it
provides (see PlatformCapabilities). A tool whose requirements aren’t
met by the platform simply doesn’t register - it’s dropped from
advertisement, name-recognition, and dispatch. This lets platform-specific
tools (like shell, which spawns OS processes) coexist without per-tool
#[cfg] gates or one-off boolean flags.
Variants§
ProcessSpawn
Can launch child processes (e.g. the shell tool, stdio MCP servers).
FileSystem
Can read and write files.
Network
Can make outbound network/HTTP requests.
Trait Implementations§
Source§impl Clone for ToolCapability
impl Clone for ToolCapability
Source§fn clone(&self) -> ToolCapability
fn clone(&self) -> ToolCapability
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 moreimpl Copy for ToolCapability
Source§impl Debug for ToolCapability
impl Debug for ToolCapability
impl Eq for ToolCapability
Source§impl Hash for ToolCapability
impl Hash for ToolCapability
Source§impl PartialEq for ToolCapability
impl PartialEq for ToolCapability
impl StructuralPartialEq for ToolCapability
Auto Trait Implementations§
impl Freeze for ToolCapability
impl RefUnwindSafe for ToolCapability
impl Send for ToolCapability
impl Sync for ToolCapability
impl Unpin for ToolCapability
impl UnsafeUnpin for ToolCapability
impl UnwindSafe for ToolCapability
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.