1#![cfg_attr(test, allow(clippy::panic))]
2#[cfg(target_arch = "wasm32")]
9pub mod tokio {
10 pub use tokio_with_wasm::alias::*;
11}
12
13pub mod adapter;
14pub mod block_assembler;
15pub mod error;
16pub mod factory;
17mod http;
18pub mod provider;
19mod streaming;
20mod test_client;
21pub mod types;
22
23#[cfg(feature = "anthropic")]
24pub mod anthropic;
25
26#[cfg(feature = "openai")]
27pub mod openai;
28#[cfg(feature = "openai")]
29pub mod openai_compatible;
30
31#[cfg(feature = "gemini")]
32pub mod gemini;
33
34pub use adapter::LlmClientAdapter;
35pub use block_assembler::{BlockAssembler, BlockKey, StreamAssemblyError};
36pub use error::LlmError;
37pub use factory::{
38 DefaultClientFactory, DefaultFactoryConfig, FactoryError, LlmClientFactory, LlmProvider,
39};
40pub use provider::ProviderResolver;
41pub use test_client::TestClient;
42pub use types::{LlmClient, LlmDoneOutcome, LlmEvent, LlmRequest, LlmResponse, ToolCallBuffer};
43
44#[cfg(feature = "anthropic")]
45pub use anthropic::AnthropicClient;
46
47#[cfg(feature = "openai")]
48pub use openai::OpenAiClient;
49#[cfg(feature = "openai")]
50pub use openai_compatible::{OpenAiCompatibleClient, OpenAiCompatibleMode};
51
52#[cfg(feature = "gemini")]
53pub use gemini::GeminiClient;