1mod capability;
4mod circuit;
5mod content;
6mod error;
7mod invocation;
8mod request;
9mod response;
10mod retry;
11mod router;
12mod stream;
13mod structured;
14
15pub use capability::{FeatureSupport, ModelCapabilities, SupportLevel};
16pub use circuit::{
17 CircuitBreakerConfig, CircuitBreakerConfigError, CircuitState, ModelRouteHealth, RouterClock,
18 SystemRouterClock,
19};
20pub use content::{
21 Citation, ContentPart, MediaSource, Message, ProviderData, ReasoningPart, Role, ToolCall,
22 ToolResult,
23};
24pub use error::{ModelError, ModelErrorKind};
25pub use invocation::{Model, ModelCallContext, ModelEventStream, ModelFuture, ProviderModel};
26pub use request::{
27 FeaturePolicy, GenerationOptions, ModelRef, ModelRequest, OutputFormat, ProviderToolSpec,
28 ResponseMode, ToolChoice, ToolSpec,
29};
30pub use response::{FinishReason, ModelResponse, ModelUsage, ModelWarning};
31pub use retry::{
32 ModelRetryPolicy, ModelRetryPolicyError, RetryJitter, RouterSleepFuture, RouterSleeper,
33 SystemRouterSleeper,
34};
35pub use router::{
36 ModelFallbackPolicy, ModelRoute, ModelRouter, ModelRouterBuildError, ModelRouterBuilder,
37};
38pub use stream::{ContentBlockKind, ModelStreamAccumulator, ModelStreamEvent, ProviderEvent};
39pub use structured::{StructuredOutputError, StructuredOutputErrorKind};
40
41pub type ExtensionMap = std::collections::BTreeMap<String, serde_json::Value>;