Skip to main content

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}