1pub mod auth;
8pub mod error;
9pub mod message;
10pub mod model;
11pub mod oauth;
12pub mod provider;
13pub mod providers;
14pub mod stream;
15pub mod text;
16pub mod usage;
17
18pub use error::{Error, Result};
19pub use message::{
20 AssistantMessage, ContentBlock, Message, StopReason, ToolResultMessage, UserMessage,
21};
22pub use model::{
23 ApiStyle, Capabilities, Model, ModelMeta, ModelPricing, ModelRegistry, ProviderMeta,
24 ProviderRegistry,
25};
26pub use provider::{
27 CacheOptions, CancellationMode, Context, ContinuationMode, PersistentSessionMode, Provider,
28 RequestOptions, ResumabilityMode, ThinkingLevel, ToolDefinition, TransportCapabilities,
29};
30pub use stream::{ProviderError, StreamEvent};
31pub use text::{prefix_chars, truncate_chars, truncate_chars_with_suffix};
32pub use usage::{Cost, Usage};
33
34pub fn now() -> u64 {
36 std::time::SystemTime::now()
37 .duration_since(std::time::UNIX_EPOCH)
38 .unwrap_or_default()
39 .as_secs()
40}