fix(secretaria): fallback resiliente a erros de rede no callAI
isRecoverableError inclui fetch failed/timeout/econnreset/etimedout/und_err — um blip de rede no primeiro provider agora cai para o próximo da chain (openai→ gemini→anthropic→ollama) em vez de virar "[Erro ao chamar IA: fetch failed]". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -482,7 +482,17 @@ export class ProtocolEngine {
|
||||
msg.includes('invalid_api_key') ||
|
||||
msg.includes('econnrefused') ||
|
||||
msg.includes('enotfound') ||
|
||||
msg.includes('não configurada')
|
||||
msg.includes('não configurada') ||
|
||||
// Erros de rede transitórios — devem cair para o próximo provider da chain,
|
||||
// não abortar a resposta (era o que gerava "[Erro ao chamar IA: fetch failed]").
|
||||
msg.includes('fetch failed') ||
|
||||
msg.includes('timeout') ||
|
||||
msg.includes('timed out') ||
|
||||
msg.includes('aborted') ||
|
||||
msg.includes('econnreset') ||
|
||||
msg.includes('etimedout') ||
|
||||
msg.includes('und_err') ||
|
||||
msg.includes('socket hang up')
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user