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, Context, Provider, RequestOptions, ThinkingLevel, ToolDefinition,
28};
29pub use stream::{ProviderError, StreamEvent};
30pub use text::{prefix_chars, truncate_chars, truncate_chars_with_suffix};
31pub use usage::{Cost, Usage};
32
33pub fn now() -> u64 {
35 std::time::SystemTime::now()
36 .duration_since(std::time::UNIX_EPOCH)
37 .unwrap_or_default()
38 .as_secs()
39}