## Summary - add realtime websocket client transport in codex-api - send session.create on connect with backend prompt and optional conversation_id - keep session.update for prompt changes after connect - switch inbound event parsing to a tagged enum (typed variants instead of optional field bag) - add a websocket e2e integration test in codex-rs/codex-api/tests/realtime_websocket_e2e.rs ## Why This moves the realtime transport to an explicit session-create handshake and improves protocol safety with typed inbound events. ## Testing - Added e2e integration test coverage for session create + event flow in the API crate.
46 lines
1.9 KiB
Rust
46 lines
1.9 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::RealtimeAudioFrame;
|
|
pub use crate::endpoint::realtime_websocket::RealtimeEvent;
|
|
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;
|