//! Tool trait, registry-facing types, and per-call context.

pub mod kinds;
pub mod events;
pub mod context;
pub mod erase;
pub mod macros;

pub use kinds::{ClientKind, ProtocolKind, ToolKind};
pub use events::{
    PermissionRequestId, ToolEvent, ToolEventSink, ToolLocation, ToolResultContent,
};
pub use context::ToolContext;
pub use erase::{AnyTool, AnyToolInput, Erased, Tool, ToolInput};
