opendev_tools_core/lib.rs
1//! Tool framework foundation for OpenDev.
2//!
3//! This crate provides:
4//! - [`traits`] — `BaseTool` async trait, `ToolResult`, `ToolContext`
5//! - [`registry`] — `ToolRegistry` for tool discovery and dispatch
6//! - [`middleware`] — `ToolMiddleware` trait for execution pipeline hooks
7//! - [`validation`] — JSON Schema parameter validation
8//! - [`normalizer`] — Parameter normalization (camelCase, path resolution)
9//! - [`sanitizer`] — Result truncation to prevent context bloat
10//! - [`policy`] — Tool access profiles and group-based permissions
11//! - [`parallel`] — Parallel execution policy for read-only tools
12
13pub mod middleware;
14pub mod normalizer;
15pub mod parallel;
16pub mod path;
17pub mod policy;
18pub mod registry;
19pub mod sanitizer;
20pub mod traits;
21pub mod validation;
22
23pub use middleware::ToolMiddleware;
24pub use policy::ToolPolicy;
25pub use registry::ToolRegistry;
26pub use sanitizer::{ToolResultSanitizer, cleanup_overflow_dir};
27pub use traits::{
28 BaseTool, DiagnosticProvider, FileDiagnostic, ToolContext, ToolDisplayMeta, ToolError,
29 ToolResult, ToolTimeoutConfig, ValidationError,
30};