- Introduce `RealtimeConversationManager` for realtime API management - Add `op::conversation` to start conversation, insert audio, insert text, and close conversation. - emit conversation lifecycle and realtime events. - Move shared realtime payload types into codex-protocol and add core e2e websocket tests for start/replace/transport-close paths. Things to consider: - Should we use the same `op::` and `Events` channel to carry audio? I think we should try this simple approach and later we can create separate one if the channels got congested. - Sending text updates to the client: we can start simple and later restrict that. - Provider auth isn't wired for now intentionally
46 lines
1.8 KiB
Rust
46 lines
1.8 KiB
Rust
pub mod auth;
|
|
pub mod common;
|
|
pub mod endpoint;
|
|
pub mod error;
|
|
pub mod provider;
|
|
pub mod rate_limits;
|
|
pub mod requests;
|
|
pub mod sse;
|
|
pub mod telemetry;
|
|
|
|
pub use crate::requests::headers::build_conversation_headers;
|
|
pub use codex_client::RequestTelemetry;
|
|
pub use codex_client::ReqwestTransport;
|
|
pub use codex_client::TransportError;
|
|
|
|
pub use crate::auth::AuthProvider;
|
|
pub use crate::common::CompactionInput;
|
|
pub use crate::common::MemorySummarizeInput;
|
|
pub use crate::common::MemorySummarizeOutput;
|
|
pub use crate::common::RawMemory;
|
|
pub use crate::common::RawMemoryMetadata;
|
|
pub use crate::common::ResponseAppendWsRequest;
|
|
pub use crate::common::ResponseCreateWsRequest;
|
|
pub use crate::common::ResponseEvent;
|
|
pub use crate::common::ResponseStream;
|
|
pub use crate::common::ResponsesApiRequest;
|
|
pub use crate::common::create_text_param_for_request;
|
|
pub use crate::endpoint::aggregate::AggregateStreamExt;
|
|
pub use crate::endpoint::compact::CompactClient;
|
|
pub use crate::endpoint::memories::MemoriesClient;
|
|
pub use crate::endpoint::models::ModelsClient;
|
|
pub use crate::endpoint::realtime_websocket::RealtimeSessionConfig;
|
|
pub use crate::endpoint::realtime_websocket::RealtimeWebsocketClient;
|
|
pub use crate::endpoint::realtime_websocket::RealtimeWebsocketConnection;
|
|
pub use crate::endpoint::responses::ResponsesClient;
|
|
pub use crate::endpoint::responses::ResponsesOptions;
|
|
pub use crate::endpoint::responses_websocket::ResponsesWebsocketClient;
|
|
pub use crate::endpoint::responses_websocket::ResponsesWebsocketConnection;
|
|
pub use crate::error::ApiError;
|
|
pub use crate::provider::Provider;
|
|
pub use crate::provider::is_azure_responses_wire_base_url;
|
|
pub use crate::sse::stream_from_fixture;
|
|
pub use crate::telemetry::SseTelemetry;
|
|
pub use crate::telemetry::WebsocketTelemetry;
|
|
pub use codex_protocol::protocol::RealtimeAudioFrame;
|
|
pub use codex_protocol::protocol::RealtimeEvent;
|