1#![warn(missing_docs)]
2#[cfg(feature = "batches")]
18pub mod batches;
19pub mod buffer;
20#[cfg(feature = "caches")]
21pub mod caches;
22#[cfg(feature = "chats")]
23pub mod chats;
24pub mod client;
25#[cfg(feature = "embed")]
26pub mod embed;
27#[cfg(feature = "files")]
28pub mod files;
29#[cfg(feature = "generate")]
30pub mod generate;
31#[cfg(feature = "models")]
32pub mod models;
33pub mod protocol;
34pub mod quick;
35pub mod session;
36pub mod telemetry;
37#[cfg(feature = "tokens")]
38pub mod tokens;
39pub mod transport;
40#[cfg(feature = "tunings")]
41pub mod tunings;
42pub mod turn;
43#[cfg(feature = "vad")]
44pub mod vad;
45
46pub use client::Client;
48pub use quick::{quick_connect, quick_connect_vertex};
49
50pub mod prelude {
52 pub use crate::protocol::messages::*;
54 pub use crate::protocol::types::*;
55 pub use crate::protocol::Platform;
56
57 pub use crate::transport::auth::{
59 AuthProvider, GoogleAIAuth, GoogleAITokenAuth, ServiceEndpoint, VertexAIAuth,
60 };
61 pub use crate::transport::recording::{
62 read_wire_log, FileWireRecorder, MemoryWireRecorder, RecordingCodec, WireDirection,
63 WireEntry, WireLogError, WireRecorder, WireRecorderHandle,
64 };
65 pub use crate::transport::replay::{ReplayControl, ReplayTransport};
66 pub use crate::transport::ws::{MockTransport, Transport, TungsteniteTransport};
67 pub use crate::transport::{
68 connect, connect_with, Codec, CodecError, ConnectBuilder, JsonCodec, TransportConfig,
69 };
70
71 pub use crate::session::{
73 recv_event, AuthError, ResumeInfo, SessionCommand, SessionError, SessionEvent,
74 SessionHandle, SessionPhase, SessionReader, SessionWriter, SetupError, WebSocketError,
75 };
76
77 pub use crate::buffer::{bytes_to_i16, i16_to_bytes, into_shared};
79 pub use crate::buffer::{AudioJitterBuffer, JitterConfig, SpscRing};
80
81 #[cfg(feature = "vad")]
83 pub use crate::vad::{VadConfig, VadEvent, VoiceActivityDetector};
84
85 pub use crate::turn::{
87 BargeInAction, BargeInConfig, BargeInDetector, TurnDetectionConfig, TurnDetectionEvent,
88 TurnDetector,
89 };
90
91 pub use crate::telemetry::TelemetryConfig;
93
94 pub use crate::protocol::types::{
96 CitationMetadata, CitationSource, FileData, FinishReason, HarmBlockThreshold, HarmCategory,
97 HarmProbability, SafetyRating, SafetySetting,
98 };
99
100 #[cfg(feature = "http")]
102 pub use crate::client::http::{HttpClient, HttpConfig, HttpError};
103 pub use crate::client::Client;
104
105 #[cfg(feature = "generate")]
107 pub use crate::generate::{
108 Candidate, GenerateContentConfig, GenerateContentResponse, GenerateError,
109 };
110
111 #[cfg(feature = "tokens")]
113 pub use crate::tokens::{CountTokensResponse, TokensError};
114
115 #[cfg(feature = "models")]
117 pub use crate::models::{ListModelsResponse, ModelInfo, ModelsError};
118
119 #[cfg(feature = "embed")]
121 pub use crate::embed::{
122 ContentEmbedding, EmbedContentConfig, EmbedContentResponse, EmbedError, TaskType,
123 };
124
125 #[cfg(feature = "files")]
127 pub use crate::files::{
128 File, FileSource, FileState, FilesError, ListFilesResponse, UploadFileConfig,
129 };
130
131 #[cfg(feature = "caches")]
133 pub use crate::caches::{
134 CachedContent, CachedContentUsageMetadata, CachesError, CreateCachedContentConfig,
135 ListCachedContentsResponse, UpdateCachedContentRequest,
136 };
137
138 #[cfg(feature = "tunings")]
140 pub use crate::tunings::{
141 CreateTuningJobConfig, ListTuningJobsResponse, SupervisedTuningSpec, TuningHyperParameters,
142 TuningJob, TuningJobState, TuningsError,
143 };
144
145 #[cfg(feature = "batches")]
147 pub use crate::batches::{
148 BatchJob, BatchJobDestination, BatchJobSource, BatchJobState, BatchesError,
149 CreateBatchJobConfig, ListBatchJobsResponse,
150 };
151
152 #[cfg(feature = "chats")]
154 pub use crate::chats::ChatSession;
155
156 pub use crate::quick::{quick_connect, quick_connect_vertex};
158}