fix(providers): warn on shared API key for fallbacks and warm up all providers (#130)

- Warn when fallback providers share the same API key as primary (could fail
  if providers require different keys)
- Warm up all providers instead of just the first, continuing on warmup failures

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Argenis 2026-02-15 08:23:50 -05:00 committed by GitHub
parent 0fe4d2f712
commit 1e19b12efd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 7 deletions

View file

@ -26,9 +26,11 @@ impl ReliableProvider {
#[async_trait]
impl Provider for ReliableProvider {
async fn warmup(&self) -> anyhow::Result<()> {
if let Some((name, provider)) = self.providers.first() {
for (name, provider) in &self.providers {
tracing::info!(provider = name, "Warming up provider connection pool");
provider.warmup().await?;
if let Err(e) = provider.warmup().await {
tracing::warn!(provider = name, "Warmup failed (non-fatal): {e}");
}
}
Ok(())
}