1#![doc = include_str!("../README.md")]
2
3pub mod alloyed;
4mod assistant_reply;
5pub mod catalog;
6mod chat_message;
7mod context;
8mod credential;
9pub mod error;
10mod llm_response;
11mod message_id;
12mod model_settings;
13pub mod parser;
14pub mod provider;
15pub mod provider_connection;
16pub mod providers;
17mod reasoning;
18pub mod testing;
19mod tool_schema;
20mod tools;
21pub mod types;
22pub mod usage;
23
24pub use assistant_reply::{AssistantContent, AssistantReply, EncryptedReasoningContent};
25pub use catalog::LlmModel;
26pub use chat_message::{ChatMessage, ContentBlock};
27pub use context::Context;
28pub use credential::ProviderCredential;
29pub use error::{LlmError, ProviderError, ProviderErrorKind, Result};
30pub use llm_response::{LlmResponse, StopReason};
31pub use message_id::MessageId;
32pub use model_settings::ModelSettings;
33pub use provider::{LlmResponseStream, StreamingModelProvider};
34pub use provider_connection::{
35 ProviderAuthMode, ProviderConnectionConfig, ProviderConnectionOverride, ProviderConnectionOverrides,
36};
37pub use reasoning::{ReasoningDisabledSupport, ReasoningEffort};
38pub use tools::*;
39pub use usage::{
40 ContextUsage, LlmCallPurpose, ModelIdentity, ModelPricing, SessionUsageEvent, SessionUsageTotals, TokenUsage,
41 Tokens, UsageCost, UsageSource, Usd,
42};
43
44#[cfg(feature = "codex")]
45pub use providers::codex::{CodexProvider, perform_codex_oauth_flow};