1pub use chat_core::{parts, retry_strategy};
10
11pub mod transport {
12 pub use chat_core::transport::*;
13}
14
15pub use chat_core::{
16 builder::ChatBuilder,
17 chat::Chat,
18 chat::state::{Structured, Unstructured},
19 error::{ChatError, ChatFailure},
20 traits::{CompletionProvider, EmbeddingsProvider},
21 transport::Transport,
22 types,
23 types::{
24 callback::{CallbackRetryContext, CallbackStrategy, RetryStrategy},
25 messages::{
26 Messages,
27 content::Content,
28 parts::{PartEnum, Parts},
29 tool::{Tool, ToolStatus},
30 },
31 metadata::Metadata,
32 options::ChatOptions,
33 provider_meta::ProviderMeta,
34 response::{ChatOutcome, ChatResponse, EmbeddingsResponse, PauseReason},
35 tools::{Action, ScopedCollection, TypedCollection},
36 },
37};
38
39#[cfg(feature = "stream")]
40pub use chat_core::{
41 chat::state::Streamed, traits::ChatProvider, traits::StreamProvider,
42 types::response::StreamEvent,
43};
44
45#[cfg(feature = "completions")]
46pub mod completions {
47 pub use chat_completions::*;
48}
49
50#[cfg(feature = "gemini")]
51pub mod gemini {
52 pub use chat_gemini::*;
53}
54
55#[cfg(feature = "claude")]
56pub mod claude {
57 pub use chat_claude::*;
58}
59
60#[cfg(feature = "openai")]
61pub mod openai {
62 pub use chat_openai::*;
63}
64
65#[cfg(feature = "ollama")]
66pub mod ollama {
67 pub use chat_ollama::*;
68}
69
70#[cfg(feature = "huggingface")]
71pub mod huggingface {
72 pub use chat_huggingface::*;
73}
74
75#[cfg(feature = "cerebras")]
76pub mod cerebras {
77 pub use chat_cerebras::*;
78}
79
80#[cfg(feature = "router")]
81pub mod router {
82 pub use chat_router::*;
83}
84
85pub mod prelude {
86 pub use crate::ChatOptions;
87 pub use crate::Messages;
88 pub use crate::types;
89 pub use crate::{ChatError, ChatFailure};
90 pub use crate::{CompletionProvider, EmbeddingsProvider};
91
92 #[cfg(feature = "completions")]
93 pub use crate::completions;
94
95 #[cfg(feature = "gemini")]
96 pub use crate::gemini;
97
98 #[cfg(feature = "claude")]
99 pub use crate::claude;
100
101 #[cfg(feature = "openai")]
102 pub use crate::openai;
103
104 #[cfg(feature = "ollama")]
105 pub use crate::ollama;
106
107 #[cfg(feature = "huggingface")]
108 pub use crate::huggingface;
109
110 #[cfg(feature = "cerebras")]
111 pub use crate::cerebras;
112
113 #[cfg(feature = "router")]
114 pub use crate::router;
115}