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 tool::{Tool, ToolStatus},
25 },
26 metadata::Metadata,
27 options::ChatOptions,
28 provider_meta::ProviderMeta,
29 response::{ChatOutcome, ChatResponse, EmbeddingsResponse, PauseReason},
30 tools::{Action, ScopedCollection, TypedCollection},
31 },
32};
33
34#[cfg(feature = "stream")]
35pub use chat_core::{
36 chat::state::Streamed, traits::ChatProvider, traits::StreamProvider,
37 types::response::StreamEvent,
38};
39
40#[cfg(feature = "gemini")]
41pub mod gemini {
42 pub use chat_gemini::*;
43}
44
45
46#[cfg(feature = "claude")]
47pub mod claude {
48 pub use chat_claude::*;
49}
50
51#[cfg(feature = "openai")]
52pub mod openai {
53 pub use chat_openai::*;
54}
55
56#[cfg(feature = "router")]
57pub mod router {
58 pub use chat_router::*;
59}
60
61pub mod prelude {
62 pub use crate::ChatOptions;
63 pub use crate::Messages;
64 pub use crate::types;
65 pub use crate::{ChatError, ChatFailure};
66 pub use crate::{CompletionProvider, EmbeddingsProvider};
67
68 #[cfg(feature = "gemini")]
69 pub use crate::gemini;
70
71 #[cfg(feature = "claude")]
72 pub use crate::claude;
73
74 #[cfg(feature = "openai")]
75 pub use crate::openai;
76
77 #[cfg(feature = "router")]
78 pub use crate::router;
79}