turbomcp_client/client/mod.rs
1//! MCP client core implementation
2//!
3//! This module contains the decomposed client implementation with focused
4//! modules for different responsibilities:
5//!
6//! - `core`: Main `Client<T>` implementation and connection management
7//! - `protocol`: ProtocolClient for JSON-RPC communication
8//! - `config`: Configuration types and utilities
9//! - `builder`: ClientBuilder pattern for construction
10//! - `operations`: MCP operations (tools, resources, prompts, etc.)
11//! - `systems`: Supporting systems (handlers, plugins, connection)
12//!
13//! Note: `Client<T>` is now cloneable via `Arc<ClientInner<T>>` - no need for SharedClient!
14
15// Core modules
16pub mod config;
17pub mod core;
18pub mod manager;
19pub mod operations;
20pub mod protocol;
21
22// Design Note: Module decomposition is complete for 2.0.0
23//
24// The client module is decomposed into focused submodules:
25// - config: Connection and initialization configuration
26// - core: Core client implementation
27// - manager: Session and connection management
28// - operations: MCP operation implementations (tools, prompts, resources)
29// - protocol: Protocol-level communication
30//
31// Further decomposition (builder, shared, systems) is not currently needed.
32// The current structure balances cohesion and simplicity.
33
34// Re-export main types for backwards compatibility
35pub use config::{ConnectionConfig, InitializeResult};
36pub use manager::{ConnectionInfo, ConnectionState, ManagerConfig, ServerGroup, SessionManager};