turbomcp_server/handlers/mod.rs
1//! Handler traits and implementations for MCP operations
2//!
3//! This module contains the decomposed handler system with focused modules:
4//!
5//! - `traits`: All handler trait definitions
6//! - `composite`: Composite handler pattern for multi-type handlers
7//! - `wrapper`: Handler wrapper infrastructure with metadata
8//! - `implementations`: Concrete handler implementations
9//! - `utils`: Utility functions for creating handlers from closures
10
11use std::sync::Arc;
12
13// Core modules
14pub mod composite;
15pub mod implementations;
16pub mod traits;
17pub mod utils;
18pub mod wrapper;
19
20// Re-export main types for backwards compatibility
21pub use composite::CompositeHandler;
22pub use implementations::FunctionToolHandler;
23pub use traits::*;
24pub use utils::{FunctionPromptHandler, FunctionResourceHandler};
25pub use wrapper::{HandlerMetadata, HandlerWrapper};
26
27/// Type alias for existence check functions to reduce complexity
28pub type ExistenceCheckFn =
29 Arc<dyn Fn(&str) -> futures::future::BoxFuture<'static, bool> + Send + Sync>;