diff --git a/codex-rs/app-server/src/request_processors/external_agent_config_processor.rs b/codex-rs/app-server/src/request_processors/external_agent_config_processor.rs index b2899f6ba7..8490990af6 100644 --- a/codex-rs/app-server/src/request_processors/external_agent_config_processor.rs +++ b/codex-rs/app-server/src/request_processors/external_agent_config_processor.rs @@ -308,7 +308,8 @@ impl ExternalAgentConfigRequestProcessor { initial_history: InitialHistory::Forked(rollout_items), session_source: None, thread_source: None, - code_mode_session_provider_selection: Default::default(), + code_mode_session_provider_selection: + codex_code_mode::SessionProviderSelection::InProcess, dynamic_tools: Vec::new(), persist_extended_history: false, metrics_service_name: None, diff --git a/codex-rs/app-server/src/request_processors/thread_processor.rs b/codex-rs/app-server/src/request_processors/thread_processor.rs index 6cd4ac2996..24e672e55f 100644 --- a/codex-rs/app-server/src/request_processors/thread_processor.rs +++ b/codex-rs/app-server/src/request_processors/thread_processor.rs @@ -1105,7 +1105,8 @@ impl ThreadRequestProcessor { }, session_source: None, thread_source, - code_mode_session_provider_selection: Default::default(), + code_mode_session_provider_selection: + codex_code_mode::SessionProviderSelection::InProcess, dynamic_tools: core_dynamic_tools, persist_extended_history: false, metrics_service_name: service_name, diff --git a/codex-rs/code-mode/src/service.rs b/codex-rs/code-mode/src/service.rs index cb881ae894..74a62474f4 100644 --- a/codex-rs/code-mode/src/service.rs +++ b/codex-rs/code-mode/src/service.rs @@ -157,9 +157,8 @@ pub trait CodeModeSessionProvider: Send + Sync { } /// Selects how a code-mode session is provisioned for a Codex session. -#[derive(Clone, Default)] +#[derive(Clone)] pub enum SessionProviderSelection { - #[default] InProcess, Disabled, Custom(Arc), @@ -970,11 +969,11 @@ mod tests { } #[tokio::test] - async fn provider_selection_defaults_to_in_process_and_can_disable() { + async fn provider_selection_can_use_in_process_or_disable() { let delegate = Arc::new(NoopCodeModeSessionDelegate); assert!( - SessionProviderSelection::default() + SessionProviderSelection::InProcess .create_session(delegate.clone()) .await .unwrap() diff --git a/codex-rs/core/src/thread_manager.rs b/codex-rs/core/src/thread_manager.rs index 8d9f4c52ef..321e5195c2 100644 --- a/codex-rs/core/src/thread_manager.rs +++ b/codex-rs/core/src/thread_manager.rs @@ -577,7 +577,8 @@ impl ThreadManager { initial_history: InitialHistory::New, session_source: None, thread_source: None, - code_mode_session_provider_selection: Default::default(), + code_mode_session_provider_selection: + codex_code_mode::SessionProviderSelection::InProcess, dynamic_tools, persist_extended_history, metrics_service_name: None, @@ -948,7 +949,9 @@ impl ThreadManager { } pub(crate) fn agent_control(&self) -> AgentControl { - self.agent_control_with_code_mode_session_provider_selection(Default::default()) + self.agent_control_with_code_mode_session_provider_selection( + codex_code_mode::SessionProviderSelection::InProcess, + ) } fn agent_control_with_code_mode_session_provider_selection( diff --git a/codex-rs/core/src/thread_manager_tests.rs b/codex-rs/core/src/thread_manager_tests.rs index 7d0f4a09df..c9b1e60502 100644 --- a/codex-rs/core/src/thread_manager_tests.rs +++ b/codex-rs/core/src/thread_manager_tests.rs @@ -348,7 +348,8 @@ async fn start_thread_rejects_explicit_local_environment_when_default_provider_i initial_history: InitialHistory::New, session_source: None, thread_source: None, - code_mode_session_provider_selection: Default::default(), + code_mode_session_provider_selection: + codex_code_mode::SessionProviderSelection::InProcess, dynamic_tools: Vec::new(), persist_extended_history: false, metrics_service_name: None, @@ -532,7 +533,8 @@ async fn start_thread_keeps_internal_threads_hidden_from_normal_lookups() { InternalSessionSource::MemoryConsolidation, )), thread_source: None, - code_mode_session_provider_selection: Default::default(), + code_mode_session_provider_selection: + codex_code_mode::SessionProviderSelection::InProcess, dynamic_tools: Vec::new(), persist_extended_history: false, metrics_service_name: None, diff --git a/codex-rs/core/tests/suite/subagent_notifications.rs b/codex-rs/core/tests/suite/subagent_notifications.rs index 3c387767df..887567ab09 100644 --- a/codex-rs/core/tests/suite/subagent_notifications.rs +++ b/codex-rs/core/tests/suite/subagent_notifications.rs @@ -751,7 +751,8 @@ async fn subagent_stop_replaces_stop_and_skips_internal_subagents() -> Result<() initial_history: InitialHistory::New, session_source: Some(SessionSource::SubAgent(SubAgentSource::Review)), thread_source: None, - code_mode_session_provider_selection: Default::default(), + code_mode_session_provider_selection: + codex_code_mode::SessionProviderSelection::InProcess, dynamic_tools: Vec::new(), persist_extended_history: false, metrics_service_name: None, diff --git a/codex-rs/memories/write/src/runtime.rs b/codex-rs/memories/write/src/runtime.rs index dbfac7d8a4..1dc2ff9c0d 100644 --- a/codex-rs/memories/write/src/runtime.rs +++ b/codex-rs/memories/write/src/runtime.rs @@ -247,7 +247,8 @@ impl MemoryStartupContext { InternalSessionSource::MemoryConsolidation, )), thread_source: Some(ThreadSource::MemoryConsolidation), - code_mode_session_provider_selection: Default::default(), + code_mode_session_provider_selection: + codex_code_mode::SessionProviderSelection::InProcess, dynamic_tools: Vec::new(), persist_extended_history: false, metrics_service_name: None,