codex: fix CI failure on PR #15237

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Ahmed Ibrahim
2026-03-19 16:21:52 -07:00
parent fd329382ae
commit 035dcf8bc3
3 changed files with 23 additions and 10 deletions

View File

@@ -1,7 +1,6 @@
use crate::auth::AuthProvider;
use crate::endpoint::realtime_websocket::RealtimeSessionConfig;
use crate::endpoint::realtime_websocket::methods_common::normalized_session_mode;
use crate::endpoint::realtime_websocket::methods_common::session_update_session;
use crate::endpoint::realtime_websocket::session_update_session_json;
use crate::endpoint::session::EndpointSession;
use crate::error::ApiError;
use crate::provider::Provider;
@@ -61,13 +60,11 @@ impl<T: HttpTransport, A: AuthProvider> RealtimeClientSecretsClient<T, A> {
}
fn realtime_client_secret_request_body(config: &RealtimeSessionConfig) -> Result<Value, ApiError> {
let session_mode = normalized_session_mode(config.event_parser, config.session_mode);
let mut session = serde_json::to_value(session_update_session(
let mut session = session_update_session_json(
config.event_parser,
config.instructions.clone(),
session_mode,
))
.map_err(|err| ApiError::Stream(format!("failed to encode realtime session config: {err}")))?;
config.session_mode,
)?;
if let Some(model) = config.model.as_ref()
&& let Some(session_object) = session.as_object_mut()
{

View File

@@ -10,11 +10,13 @@ use crate::endpoint::realtime_websocket::protocol::RealtimeEventParser;
use crate::endpoint::realtime_websocket::protocol::RealtimeOutboundMessage;
use crate::endpoint::realtime_websocket::protocol::RealtimeSessionMode;
use crate::endpoint::realtime_websocket::protocol::SessionUpdateSession;
use crate::error::ApiError;
use serde_json::Value;
pub(super) const REALTIME_AUDIO_SAMPLE_RATE: u32 = 24_000;
const AGENT_FINAL_MESSAGE_PREFIX: &str = "\"Agent Final Message\":\n\n";
pub(crate) fn normalized_session_mode(
fn normalized_session_mode(
event_parser: RealtimeEventParser,
session_mode: RealtimeSessionMode,
) -> RealtimeSessionMode {
@@ -48,7 +50,7 @@ pub(super) fn conversation_handoff_append_message(
}
}
pub(crate) fn session_update_session(
fn session_update_session(
event_parser: RealtimeEventParser,
instructions: String,
session_mode: RealtimeSessionMode,
@@ -60,6 +62,19 @@ pub(crate) fn session_update_session(
}
}
pub(crate) fn session_update_session_json(
event_parser: RealtimeEventParser,
instructions: String,
session_mode: RealtimeSessionMode,
) -> Result<Value, ApiError> {
serde_json::to_value(session_update_session(
event_parser,
instructions,
session_mode,
))
.map_err(|err| ApiError::Stream(format!("failed to encode realtime session config: {err}")))
}
pub(super) fn websocket_intent(event_parser: RealtimeEventParser) -> Option<&'static str> {
match event_parser {
RealtimeEventParser::V1 => v1_websocket_intent(),

View File

@@ -1,5 +1,5 @@
pub mod methods;
pub(crate) mod methods_common;
mod methods_common;
mod methods_v1;
mod methods_v2;
pub mod protocol;
@@ -13,6 +13,7 @@ pub use methods::RealtimeWebsocketClient;
pub use methods::RealtimeWebsocketConnection;
pub use methods::RealtimeWebsocketEvents;
pub use methods::RealtimeWebsocketWriter;
pub(crate) use methods_common::session_update_session_json;
pub use protocol::RealtimeEventParser;
pub use protocol::RealtimeSessionConfig;
pub use protocol::RealtimeSessionMode;