mirror of
https://github.com/openai/codex.git
synced 2026-04-30 09:26:44 +00:00
## Description Dependent on: - [responsesapi] https://github.com/openai/openai/pull/760991 - [codex-backend] https://github.com/openai/openai/pull/760985 `codex app-server -> codex-backend -> responsesapi` now reuses a persistent websocket connection across many turns. This PR updates tracing when using websockets so that each `response.create` websocket request propagates the current tracing context, so we can get a holistic end-to-end trace for each turn. Tracing is propagated via special keys (`ws_request_header_traceparent`, `ws_request_header_tracestate`) set in the `client_metadata` param in Responses API. Currently tracing on websockets is a bit broken because we only set tracing context on ws connection time, so it's detached from a `turn/start` request.
50 lines
2.1 KiB
Rust
50 lines
2.1 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::ResponseCreateWsRequest;
|
|
pub use crate::common::ResponseEvent;
|
|
pub use crate::common::ResponseStream;
|
|
pub use crate::common::ResponsesApiRequest;
|
|
pub use crate::common::WS_REQUEST_HEADER_TRACEPARENT_CLIENT_METADATA_KEY;
|
|
pub use crate::common::WS_REQUEST_HEADER_TRACESTATE_CLIENT_METADATA_KEY;
|
|
pub use crate::common::create_text_param_for_request;
|
|
pub use crate::common::response_create_client_metadata;
|
|
pub use crate::endpoint::compact::CompactClient;
|
|
pub use crate::endpoint::memories::MemoriesClient;
|
|
pub use crate::endpoint::models::ModelsClient;
|
|
pub use crate::endpoint::realtime_websocket::RealtimeEventParser;
|
|
pub use crate::endpoint::realtime_websocket::RealtimeSessionConfig;
|
|
pub use crate::endpoint::realtime_websocket::RealtimeSessionMode;
|
|
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;
|