MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / default_model

Method default_model

crates/opencode-provider/src/bootstrap.rs:1697–1727  ·  view source on GitHub ↗

Get the default model from config or first available provider.

(
        &self,
        config_model: Option<&str>,
        recent: &[(String, String)],
    )

Source from the content-addressed store, hash-verified

1695
1696 /// Get the default model from config or first available provider.
1697 pub fn default_model(
1698 &self,
1699 config_model: Option<&str>,
1700 recent: &[(String, String)],
1701 ) -> Option<ParsedModel> {
1702 if let Some(model_str) = config_model {
1703 return Some(parse_model(model_str));
1704 }
1705
1706 // Check recent models
1707 for (provider_id, model_id) in recent {
1708 if let Some(provider) = self.providers.get(provider_id) {
1709 if provider.models.contains_key(model_id) {
1710 return Some(ParsedModel {
1711 provider_id: provider_id.clone(),
1712 model_id: model_id.clone(),
1713 });
1714 }
1715 }
1716 }
1717
1718 // Fall back to first provider, sorted models
1719 let provider = self.providers.values().next()?;
1720 let mut models: Vec<ProviderModel> = provider.models.values().cloned().collect();
1721 Self::sort_models(&mut models);
1722 let model = models.first()?;
1723 Some(ParsedModel {
1724 provider_id: provider.id.clone(),
1725 model_id: model.id.clone(),
1726 })
1727 }
1728}
1729
1730// ---------------------------------------------------------------------------

Callers

nothing calls this directly

Calls 3

parse_modelFunction · 0.85
getMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected