#[non_exhaustive]pub enum ToolKind {
Read,
Write,
Edit,
Search,
Execute,
Other,
}Expand description
A neutral, cross-harness classification of what a tool call does — so a
consumer can route by behaviour (a read → a context pill, an edit → a
file-op card) without re-encoding each harness’s native tool vocabulary
(bob’s read_file, Claude’s Read, codex’s file_change). The raw
name is kept alongside for display/phrasing; tool_kind is for
behaviour. Named tool_kind (not kind) so it never collides with the
#[serde(tag = "kind")] event discriminator on RunEvent.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Read
Read or inspect a file’s contents.
Write
Create or overwrite a whole file.
Edit
Modify part of an existing file.
Search
Search or list files / the web.
Execute
Run a shell command or external process.
Other
Anything else (MCP calls, task spawns, completion signals, …).
Trait Implementations§
impl Copy for ToolKind
impl Eq for ToolKind
impl StructuralPartialEq for ToolKind
Auto Trait Implementations§
impl Freeze for ToolKind
impl RefUnwindSafe for ToolKind
impl Send for ToolKind
impl Sync for ToolKind
impl Unpin for ToolKind
impl UnsafeUnpin for ToolKind
impl UnwindSafe for ToolKind
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