1pub mod circuit_breaker;
27pub mod error;
28pub mod health;
29pub mod manager;
30pub mod session;
31pub mod storage;
32pub mod strategy;
33pub mod types;
34
35#[cfg(feature = "graph")]
36pub mod graph;
37
38#[cfg(feature = "browser")]
39pub mod browser;
40
41#[cfg(feature = "mcp")]
43pub mod mcp;
44
45pub use circuit_breaker::{CircuitBreaker, STATE_CLOSED, STATE_HALF_OPEN, STATE_OPEN};
47pub use error::{ProxyError, ProxyResult};
48pub use health::{HealthChecker, HealthMap};
49pub use manager::{PoolStats, ProxyHandle, ProxyManager, ProxyManagerBuilder};
50pub use session::{SessionMap, StickyPolicy};
51pub use storage::MemoryProxyStore;
52pub use strategy::{
53 BoxedRotationStrategy, LeastUsedStrategy, ProxyCandidate, RandomStrategy, RotationStrategy,
54 RoundRobinStrategy, WeightedStrategy,
55};
56pub use types::{Proxy, ProxyConfig, ProxyMetrics, ProxyRecord, ProxyType};
57
58#[cfg(feature = "graph")]
59pub use graph::{BoxedProxyManager, NoopProxyManager, ProxyManagerPort};
60
61#[cfg(feature = "browser")]
62pub use browser::{BrowserProxySource, ProxyManagerBridge};