From eeee6260b1bbfb8428e14d48531e2401ed7a7241 Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Wed, 8 Apr 2026 20:57:46 -0700 Subject: [PATCH] Use enum default for realtime v2 Make RealtimeConversationVersion::V2 the derived default and remove the custom RealtimeConfig default implementation. Co-authored-by: Codex --- codex-rs/config/src/config_toml.rs | 13 +------------ codex-rs/protocol/src/protocol.rs | 2 +- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/codex-rs/config/src/config_toml.rs b/codex-rs/config/src/config_toml.rs index b7bca973e4..4d1f3da2ad 100644 --- a/codex-rs/config/src/config_toml.rs +++ b/codex-rs/config/src/config_toml.rs @@ -457,7 +457,7 @@ pub enum RealtimeTransport { pub use codex_protocol::protocol::RealtimeConversationVersion as RealtimeWsVersion; pub use codex_protocol::protocol::RealtimeVoice; -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema)] +#[derive(Serialize, Deserialize, Debug, Clone, Default, PartialEq, Eq, JsonSchema)] #[schemars(deny_unknown_fields)] pub struct RealtimeConfig { pub version: RealtimeWsVersion, @@ -467,17 +467,6 @@ pub struct RealtimeConfig { pub voice: Option, } -impl Default for RealtimeConfig { - fn default() -> Self { - Self { - version: RealtimeWsVersion::V2, - session_type: RealtimeWsMode::default(), - transport: RealtimeTransport::default(), - voice: None, - } - } -} - #[derive(Serialize, Deserialize, Debug, Clone, Default, PartialEq, Eq, JsonSchema)] #[schemars(deny_unknown_fields)] pub struct RealtimeToml { diff --git a/codex-rs/protocol/src/protocol.rs b/codex-rs/protocol/src/protocol.rs index dd3d1bfca9..8083db9358 100644 --- a/codex-rs/protocol/src/protocol.rs +++ b/codex-rs/protocol/src/protocol.rs @@ -1649,8 +1649,8 @@ pub struct HookCompletedEvent { #[derive(Debug, Clone, Copy, Default, Deserialize, Serialize, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "snake_case")] pub enum RealtimeConversationVersion { - #[default] V1, + #[default] V2, }