Skip to main content

kaish_kernel/tools/
mod.rs

1//! Tool system for kaish.
2//!
3//! Tools are the primary way to perform actions in kaish. Every command
4//! is a tool — builtins and user-defined tools all implement
5//! the same `Tool` trait.
6//!
7//! # Architecture
8//!
9//! ```text
10//! ToolRegistry
11//! ├── Builtins (echo, ls, cat, ...)
12//! └── User Tools (defined via `tool` statements)
13//! ```
14
15mod builtin;
16mod context;
17mod registry;
18mod traits;
19
20pub use builtin::register_builtins;
21#[cfg(feature = "native")]
22pub use builtin::resolve_in_path;
23pub use context::{ExecContext, OutputContext};
24pub use registry::ToolRegistry;
25pub use traits::{extract_output_format, is_global_output_flag, validate_against_schema, Tool, ToolArgs, ToolSchema, ParamSchema};