INNER CODE UNIT · Rust
find_model
stakpak/agent · libs/api/src/lib.rs:41
pub fn find_model(model_str: &str, use_stakpak: bool) -> Option<Model> {
const PROVIDERS: &[&str] = &["anthropic", "openai", "google"];
let (provider_hint, model_id) = parse_model_string(model_str);
// Search with provider hint first, then fall back to searching all
let model = provider_hint
.and_then(|p| find_in_provider(p, model_id))
.or_else(|| {
PROVIDERS
.iter()
.find_map(|&p| find_in_provider(p, model_id))
})?;
Some(if use_stakpak {
transform_for_stakpak(model)
} else {
model