Remove legacy ModelInfo and merge it with ModelFamily (#7748)

This is a step towards removing the need to know `model` when
constructing config. We firstly don't need to know `model_info` and just
respect if the user has already set it. Next step, we don't need to know
`model` unless the user explicitly set it in `config.toml`
This commit is contained in:
Ahmed Ibrahim authored and GitHub committed 2025-12-08 15:29:37 -08:00
1 parent ac5fa6baf8
commit 382f047a10
10 files changed
+205 -225

No files matched your search

+2 -11
View File
@@ -48,7 +48,6 @@ use crate::error::Result;
use crate::flags::CODEX_RS_SSE_FIXTURE;
use crate::model_provider_info::ModelProviderInfo;
use crate::model_provider_info::WireApi;
use crate::openai_model_info::get_model_info;
use crate::openai_models::model_family::ModelFamily;
use crate::tools::spec::create_tools_json_for_chat_completions_api;
use crate::tools::spec::create_tools_json_for_responses_api;
@@ -95,19 +94,11 @@ impl ModelClient {
pub fn get_model_context_window(&self) -> Option<i64> {
let model_family = self.get_model_family();
let effective_context_window_percent = model_family.effective_context_window_percent;
self.config
.model_context_window
.or_else(|| get_model_info(&model_family).map(|info| info.context_window))
model_family
.context_window
.map(|w| w.saturating_mul(effective_context_window_percent) / 100)
}
pub fn get_auto_compact_token_limit(&self) -> Option<i64> {
let model_family = self.get_model_family();
self.config.model_auto_compact_token_limit.or_else(|| {
get_model_info(&model_family).and_then(|info| info.auto_compact_token_limit)
})
}
pub fn config(&self) -> Arc<Config> {
Arc::clone(&self.config)
}