opi_coding_agent/model_listing.rs
1//! Model listing helpers backed by ProviderRegistry.
2
3/// Entry for --list-models output.
4pub struct ModelEntry {
5 pub provider_id: String,
6 pub model_id: String,
7 pub display_name: String,
8}
9
10/// Convert a provider registry into display rows for model listing.
11pub fn model_entries_from_registry(registry: &opi_ai::ProviderRegistry) -> Vec<ModelEntry> {
12 registry
13 .all_models()
14 .into_iter()
15 .map(|(provider_id, model)| ModelEntry {
16 provider_id: provider_id.to_owned(),
17 model_id: model.id.clone(),
18 display_name: model.display_name.clone(),
19 })
20 .collect()
21}