MCPcopy Create free account
hub / github.com/GCWing/BitFun / load_current_model_name

Method load_current_model_name

src/apps/cli/src/ui/startup.rs:2116–2178  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

2114 }
2115
2116 fn load_current_model_name(&mut self) {
2117 let agent_type = self.agent_type.clone();
2118 let result: Option<String> = tokio::task::block_in_place(|| {
2119 tokio::runtime::Handle::current().block_on(async {
2120 let config_service = GlobalConfigManager::get_service().await.ok()?;
2121 let models: Vec<bitfun_core::service::config::AIModelConfig> =
2122 config_service.get_ai_models().await.ok()?;
2123 let global_config: bitfun_core::service::config::GlobalConfig =
2124 config_service.get_config(None).await.ok()?;
2125
2126 let model_id = global_config
2127 .ai
2128 .agent_models
2129 .get(&agent_type)
2130 .cloned()
2131 .or_else(|| global_config.ai.default_models.primary.clone())
2132 .unwrap_or_else(|| "primary".to_string());
2133
2134 fn provider_display_name(
2135 model: &bitfun_core::service::config::AIModelConfig,
2136 ) -> String {
2137 let raw_name = model.name.trim();
2138 let model_name = model.model_name.trim();
2139 if !raw_name.is_empty() && !model_name.is_empty() {
2140 let dashed_suffix = format!(" - {}", model_name);
2141 let slash_suffix = format!("/{}", model_name);
2142 if let Some(provider) = raw_name.strip_suffix(&dashed_suffix) {
2143 return provider.trim().to_string();
2144 }
2145 if let Some(provider) = raw_name.strip_suffix(&slash_suffix) {
2146 return provider.trim().to_string();
2147 }
2148 }
2149 if raw_name.is_empty() {
2150 model.provider.clone()
2151 } else {
2152 raw_name.to_string()
2153 }
2154 }
2155
2156 fn model_display_name(
2157 model: &bitfun_core::service::config::AIModelConfig,
2158 ) -> String {
2159 format!("{} / {}", model.model_name, provider_display_name(model))
2160 }
2161
2162 if model_id == "primary" {
2163 let primary_id = global_config.ai.default_models.primary.as_deref()?;
2164 models
2165 .iter()
2166 .find(|m| m.id == primary_id)
2167 .map(model_display_name)
2168 } else {
2169 models
2170 .iter()
2171 .find(|m| m.id == model_id)
2172 .map(model_display_name)
2173 }

Callers 5

newMethod · 0.45
save_new_modelMethod · 0.45
update_existing_modelMethod · 0.45
apply_agent_selectionMethod · 0.45
cycle_agentMethod · 0.45

Calls 6

get_ai_modelsMethod · 0.80
iterMethod · 0.80
cloneMethod · 0.45
okMethod · 0.45
get_configMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected