mirror of
https://github.com/openai/codex.git
synced 2026-09-05 15:18:41 +00:00
Make code mode session provider selection explicit
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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<dyn CodeModeSessionProvider>),
|
||||
@@ -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()
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user