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, ToolChoice, ToolSpec,
28};
29pub use response::{FinishReason, ModelResponse, ModelUsage, ModelWarning};
30pub use retry::{
31 ModelRetryPolicy, ModelRetryPolicyError, RetryJitter, RouterSleepFuture, RouterSleeper,
32 SystemRouterSleeper,
33};
34pub use router::{
35 ModelFallbackPolicy, ModelRoute, ModelRouter, ModelRouterBuildError, ModelRouterBuilder,
36};
37pub use stream::{ContentBlockKind, ModelStreamAccumulator, ModelStreamEvent, ProviderEvent};
38pub use structured::{StructuredOutputError, StructuredOutputErrorKind};
39
40pub type ExtensionMap = std::collections::BTreeMap<String, serde_json::Value>;