fix: remove Option from model listing return types, propagate errors (#7074)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Adrian Cole
2026-02-09 08:03:10 +08:00
committed by GitHub
parent 4e87011981
commit 08b89ca66b
27 changed files with 177 additions and 218 deletions
+6 -14
View File
@@ -445,22 +445,14 @@ impl Provider for LeadWorkerProvider {
final_result
}
async fn fetch_supported_models(&self) -> Result<Option<Vec<String>>, ProviderError> {
async fn fetch_supported_models(&self) -> Result<Vec<String>, ProviderError> {
// Combine models from both providers
let lead_models = self.lead_provider.fetch_supported_models().await?;
let mut all_models = self.lead_provider.fetch_supported_models().await?;
let worker_models = self.worker_provider.fetch_supported_models().await?;
match (lead_models, worker_models) {
(Some(lead), Some(worker)) => {
let mut all_models = lead;
all_models.extend(worker);
all_models.sort();
all_models.dedup();
Ok(Some(all_models))
}
(Some(models), None) | (None, Some(models)) => Ok(Some(models)),
(None, None) => Ok(None),
}
all_models.extend(worker_models);
all_models.sort();
all_models.dedup();
Ok(all_models)
}
fn supports_embeddings(&self) -> bool {