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 = "responses")]
51pub mod responses {
52 pub use chat_responses::*;
53}
54
55#[cfg(feature = "gemini")]
56pub mod gemini {
57 pub use chat_gemini::*;
58}
59
60#[cfg(feature = "claude")]
61pub mod claude {
62 pub use chat_claude::*;
63}
64
65#[cfg(feature = "openai")]
66pub mod openai {
67 pub use chat_openai::*;
68}
69
70#[cfg(feature = "ollama")]
71pub mod ollama {
72 pub use chat_ollama::*;
73}
74
75#[cfg(feature = "huggingface")]
76pub mod huggingface {
77 pub use chat_huggingface::*;
78}
79
80#[cfg(feature = "cerebras")]
81pub mod cerebras {
82 pub use chat_cerebras::*;
83}
84
85#[cfg(feature = "deepseek")]
86pub mod deepseek {
87 pub use chat_deepseek::*;
88}
89
90#[cfg(feature = "router")]
91pub mod router {
92 pub use chat_router::*;
93}
94
95pub mod prelude {
96 pub use crate::ChatOptions;
97 pub use crate::Messages;
98 pub use crate::types;
99 pub use crate::{ChatError, ChatFailure};
100 pub use crate::{CompletionProvider, EmbeddingsProvider};
101
102 #[cfg(feature = "completions")]
103 pub use crate::completions;
104
105 #[cfg(feature = "responses")]
106 pub use crate::responses;
107
108 #[cfg(feature = "gemini")]
109 pub use crate::gemini;
110
111 #[cfg(feature = "claude")]
112 pub use crate::claude;
113
114 #[cfg(feature = "openai")]
115 pub use crate::openai;
116
117 #[cfg(feature = "ollama")]
118 pub use crate::ollama;
119
120 #[cfg(feature = "huggingface")]
121 pub use crate::huggingface;
122
123 #[cfg(feature = "cerebras")]
124 pub use crate::cerebras;
125
126 #[cfg(feature = "deepseek")]
127 pub use crate::deepseek;
128
129 #[cfg(feature = "router")]
130 pub use crate::router;
131}