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