1pub mod client;
11pub mod pipeline;
12pub mod protocol;
13pub mod resilience;
14pub mod telemetry;
15pub mod transport;
16pub mod types;
17pub mod utils;
18
19#[cfg(feature = "routing_mvp")]
20pub mod routing;
21
22#[cfg(feature = "interceptors")]
23pub mod interceptors;
24
25pub use client::CallStats;
27pub use client::CancelHandle;
28pub use client::ChatBatchRequest;
29pub use client::EndpointExt;
30pub use client::{AiClient, AiClientBuilder};
31pub use telemetry::{FeedbackEvent, FeedbackSink};
32pub use types::{
33 events::StreamingEvent,
34 message::{Message, MessageRole},
35 tool::ToolCall,
36};
37
38#[cfg(feature = "routing_mvp")]
40pub use routing::{
41 CustomModelManager, LoadBalancingStrategy, ModelArray, ModelCapabilities, ModelEndpoint,
42 ModelInfo, ModelSelectionStrategy, PerformanceMetrics, PricingInfo, QualityTier, SpeedTier,
43};
44
45use futures::Stream;
46use std::pin::Pin;
47
48pub type Result<T> = std::result::Result<T, Error>;
50
51pub type PipeResult<T> = std::result::Result<T, Error>;
53
54pub type BoxStream<'a, T> = Pin<Box<dyn Stream<Item = PipeResult<T>> + Send + 'a>>;
56
57pub mod error;
59pub use error::{Error, ErrorContext};