1pub use chat_core::{
10 builder::ChatBuilder,
11 chat::Chat,
12 chat::state::{Structured, Unstructured},
13 error::{ChatError, ChatFailure},
14 traits::{CompletionProvider, EmbeddingsProvider},
15 types,
16 types::{
17 callback::{CallbackRetryContext, CallbackStrategy, RetryStrategy},
18 messages::{
19 Messages,
20 content::Content,
21 parts::{PartEnum, Parts},
22 },
23 metadata::Metadata,
24 options::ChatOptions,
25 response::{ChatResponse, EmbeddingsResponse},
26 },
27};
28
29#[cfg(feature = "stream")]
30pub use chat_core::{chat::state::Streamed, traits::StreamProvider, types::response::StreamEvent};
31
32#[cfg(feature = "gemini")]
33pub mod gemini {
34 pub use chat_gemini::*;
35}
36
37#[cfg(feature = "claude")]
38pub mod claude {
39 pub use chat_claude::*;
40}
41
42#[cfg(feature = "openai")]
43pub mod openai {
44 pub use chat_openai::*;
45}
46
47pub mod prelude {
48 pub use crate::ChatOptions;
49 pub use crate::Messages;
50 pub use crate::types;
51 pub use crate::{ChatError, ChatFailure};
52 pub use crate::{CompletionProvider, EmbeddingsProvider};
53
54 #[cfg(feature = "gemini")]
55 pub use crate::gemini::*;
56
57 #[cfg(feature = "claude")]
58 pub use crate::claude::*;
59
60 #[cfg(feature = "openai")]
61 pub use crate::openai::*;
62}