fix(runtime-fallback): make fallback provider selection provider-agnostic (fixes #2303)

This commit is contained in:
MoerAI
2026-03-19 21:02:34 +09:00
committed by sspark-kisane
parent d2a49428b9
commit 0e610a72bc
4 changed files with 82 additions and 3 deletions
@@ -35,10 +35,14 @@ export function tryFallbackRetry(args: {
const providerModelsCache = readProviderModelsCache()
const connectedProviders = providerModelsCache?.connected ?? readConnectedProvidersCache()
const connectedSet = connectedProviders ? new Set(connectedProviders.map(p => p.toLowerCase())) : null
const preferredProvider = task.model?.providerID?.toLowerCase()
const isReachable = (entry: FallbackEntry): boolean => {
if (!connectedSet) return true
return entry.providers.some((p) => connectedSet.has(p.toLowerCase()))
if (entry.providers.some((provider) => connectedSet.has(provider.toLowerCase()))) {
return true
}
return preferredProvider ? connectedSet.has(preferredProvider) : false
}
let selectedAttemptCount = attemptCount