openai_core/websocket/
mod.rs1mod core;
4mod events;
5
6use crate::{Client, Result};
7
8pub use core::*;
9pub use events::*;
10
11#[cfg(feature = "realtime")]
13#[cfg_attr(docsrs, doc(cfg(feature = "realtime")))]
14#[derive(Debug, Clone, Copy, Default)]
15pub struct OpenAIRealtimeWebSocket;
16
17#[cfg(feature = "realtime")]
19#[cfg_attr(docsrs, doc(cfg(feature = "realtime")))]
20pub type OpenAIRealtimeWS = OpenAIRealtimeWebSocket;
21
22#[cfg(feature = "realtime")]
23impl OpenAIRealtimeWebSocket {
24 pub async fn connect(client: Client, model: impl Into<String>) -> Result<RealtimeSocket> {
26 client.realtime().ws().model(model).connect().await
27 }
28}
29
30#[cfg(feature = "responses-ws")]
32#[cfg_attr(docsrs, doc(cfg(feature = "responses-ws")))]
33#[derive(Debug, Clone, Copy, Default)]
34pub struct OpenAIResponsesWebSocket;
35
36#[cfg(feature = "responses-ws")]
37impl OpenAIResponsesWebSocket {
38 pub async fn connect(client: Client) -> Result<ResponsesSocket> {
40 client.responses().ws().connect().await
41 }
42}