//! Business domains.
//!
//! Every domain exposes its operations as MCP tools through
//! `pub fn tools() -> ToolRouter<McpServer>`; register it below. Domains keep
//! their internals private and share only what they re-export from their
//! `mod.rs` (for example, `user::user_repository`).
use rmcp::handler::server::router::tool::ToolRouter;
use crate::base::mcp::McpServer;
pub mod auth;
pub mod role;
pub mod user;
/// Tools of every registered domain.
pub fn tools() -> ToolRouter<McpServer> {
[
auth::tools(),
role::tools(),
user::tools(),
// slave:tools (new domains are registered above this line)
]
.into_iter()
.fold(ToolRouter::new(), |all, tools| all + tools)
}