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