Reduce the surface of collaboration modes (#20149)

Collaboration modes were slightly invasive both into ThreadManager
construction and ModelProvider
This commit is contained in:
pakrym-oai
2026-04-29 17:22:41 -07:00
committed by GitHub
parent c8abcbf925
commit fedcefe9da
41 changed files with 121 additions and 346 deletions
@@ -11,7 +11,6 @@ use codex_login::AuthManager;
use codex_login::CodexAuth;
use codex_model_provider_info::ModelProviderAwsAuthInfo;
use codex_model_provider_info::ModelProviderInfo;
use codex_models_manager::collaboration_mode_presets::CollaborationModesConfig;
use codex_models_manager::manager::SharedModelsManager;
use codex_models_manager::manager::StaticModelsManager;
use codex_protocol::account::ProviderAccount;
@@ -94,12 +93,10 @@ impl ModelProvider for AmazonBedrockModelProvider {
&self,
_codex_home: PathBuf,
config_model_catalog: Option<ModelsResponse>,
collaboration_modes_config: CollaborationModesConfig,
) -> SharedModelsManager {
Arc::new(StaticModelsManager::new(
/*auth_manager*/ None,
config_model_catalog.unwrap_or_else(static_model_catalog),
collaboration_modes_config,
))
}
}
+4 -16
View File
@@ -7,7 +7,6 @@ use codex_api::SharedAuthProvider;
use codex_login::AuthManager;
use codex_login::CodexAuth;
use codex_model_provider_info::ModelProviderInfo;
use codex_models_manager::collaboration_mode_presets::CollaborationModesConfig;
use codex_models_manager::manager::OpenAiModelsManager;
use codex_models_manager::manager::SharedModelsManager;
use codex_models_manager::manager::StaticModelsManager;
@@ -118,7 +117,6 @@ pub trait ModelProvider: fmt::Debug + Send + Sync {
&self,
codex_home: PathBuf,
config_model_catalog: Option<ModelsResponse>,
collaboration_modes_config: CollaborationModesConfig,
) -> SharedModelsManager;
}
@@ -213,13 +211,11 @@ impl ModelProvider for ConfiguredModelProvider {
&self,
codex_home: PathBuf,
config_model_catalog: Option<ModelsResponse>,
collaboration_modes_config: CollaborationModesConfig,
) -> SharedModelsManager {
match config_model_catalog {
Some(model_catalog) => Arc::new(StaticModelsManager::new(
self.auth_manager.clone(),
model_catalog,
collaboration_modes_config,
)),
None => {
let endpoint = Arc::new(OpenAiModelsEndpoint::new(
@@ -230,7 +226,6 @@ impl ModelProvider for ConfiguredModelProvider {
codex_home,
endpoint,
self.auth_manager.clone(),
collaboration_modes_config,
))
}
}
@@ -445,11 +440,8 @@ mod tests {
ModelProviderInfo::create_amazon_bedrock_provider(/*aws*/ None),
/*auth_manager*/ None,
);
let manager = provider.models_manager(
test_codex_home(),
/*config_model_catalog*/ None,
Default::default(),
);
let manager =
provider.models_manager(test_codex_home(), /*config_model_catalog*/ None);
let catalog = manager.raw_model_catalog(RefreshStrategy::Online).await;
let model_ids = catalog
@@ -491,7 +483,6 @@ mod tests {
Some(ModelsResponse {
models: vec![custom_model],
}),
Default::default(),
);
let catalog = manager.raw_model_catalog(RefreshStrategy::Online).await;
@@ -528,11 +519,8 @@ mod tests {
)),
);
let manager = provider.models_manager(
test_codex_home(),
/*config_model_catalog*/ None,
Default::default(),
);
let manager =
provider.models_manager(test_codex_home(), /*config_model_catalog*/ None);
let catalog = manager.raw_model_catalog(RefreshStrategy::Online).await;
assert!(