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::InputStreamed,
42 chat::stream::{ChatStream, Input, InputStream, IntoInput, OutputStream, SendError},
43 traits::ChatProvider,
44 traits::StreamProvider,
45 types::response::StreamEvent,
46};
47
48#[cfg(feature = "completions")]
49pub mod completions {
50 pub use chat_completions::*;
51}
52
53#[cfg(feature = "responses")]
54pub mod responses {
55 pub use chat_responses::*;
56}
57
58#[cfg(feature = "gemini")]
59pub mod gemini {
60 pub use chat_gemini::*;
61}
62
63#[cfg(feature = "claude")]
64pub mod claude {
65 pub use chat_claude::*;
66}
67
68#[cfg(feature = "openai")]
69pub mod openai {
70 pub use chat_openai::*;
71}
72
73#[cfg(feature = "ollama")]
74pub mod ollama {
75 pub use chat_ollama::*;
76}
77
78#[cfg(feature = "huggingface")]
79pub mod huggingface {
80 pub use chat_huggingface::*;
81}
82
83#[cfg(feature = "cerebras")]
84pub mod cerebras {
85 pub use chat_cerebras::*;
86}
87
88#[cfg(feature = "deepseek")]
89pub mod deepseek {
90 pub use chat_deepseek::*;
91}
92
93#[cfg(feature = "openrouter")]
94pub mod openrouter {
95 pub use chat_openrouter::*;
96}
97
98#[cfg(feature = "router")]
99pub mod router {
100 pub use chat_router::*;
101}
102
103pub mod prelude {
104 pub use crate::ChatOptions;
105 pub use crate::Messages;
106 pub use crate::types;
107 pub use crate::{ChatError, ChatFailure};
108 pub use crate::{CompletionProvider, EmbeddingsProvider};
109
110 #[cfg(feature = "completions")]
111 pub use crate::completions;
112
113 #[cfg(feature = "responses")]
114 pub use crate::responses;
115
116 #[cfg(feature = "gemini")]
117 pub use crate::gemini;
118
119 #[cfg(feature = "claude")]
120 pub use crate::claude;
121
122 #[cfg(feature = "openai")]
123 pub use crate::openai;
124
125 #[cfg(feature = "ollama")]
126 pub use crate::ollama;
127
128 #[cfg(feature = "huggingface")]
129 pub use crate::huggingface;
130
131 #[cfg(feature = "cerebras")]
132 pub use crate::cerebras;
133
134 #[cfg(feature = "deepseek")]
135 pub use crate::deepseek;
136
137 #[cfg(feature = "openrouter")]
138 pub use crate::openrouter;
139
140 #[cfg(feature = "router")]
141 pub use crate::router;
142}