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