MCPcopy Index your code
hub / github.com/ChrisFeldmeier/OpenCodeRust / model_to_bootstrap

Function model_to_bootstrap

crates/opencode-server/src/server.rs:287–316  ·  view source on GitHub ↗
(id: &str, model: &opencode_config::ModelConfig)

Source from the content-addressed store, hash-verified

285}
286
287fn model_to_bootstrap(id: &str, model: &opencode_config::ModelConfig) -> BootstrapConfigModel {
288 let mut options = HashMap::new();
289 if let Some(api_key) = &model.api_key {
290 options.insert(
291 "apiKey".to_string(),
292 serde_json::Value::String(api_key.clone()),
293 );
294 }
295
296 let variants = model.variants.as_ref().map(|variants| {
297 variants
298 .iter()
299 .map(|(name, variant)| (name.clone(), variant_to_bootstrap(variant)))
300 .collect()
301 });
302
303 BootstrapConfigModel {
304 id: model.model.clone().or_else(|| Some(id.to_string())),
305 name: model.name.clone(),
306 provider: model.base_url.as_ref().map(|url| {
307 opencode_provider::bootstrap::ConfigModelProvider {
308 api: Some(url.clone()),
309 npm: None,
310 }
311 }),
312 options: (!options.is_empty()).then_some(options),
313 variants,
314 ..Default::default()
315 }
316}
317
318fn variant_to_bootstrap(
319 variant: &opencode_config::ModelVariantConfig,

Callers 1

provider_to_bootstrapFunction · 0.70

Calls 4

newFunction · 0.85
is_emptyMethod · 0.80
variant_to_bootstrapFunction · 0.70
cloneMethod · 0.45

Tested by

no test coverage detected