merge: sync with upstream/main (5xx error fallback feature)
This commit is contained in:
@@ -218,5 +218,15 @@ export async function sendMessage(anthropicRequest, accountManager, fallbackEnab
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// All retries exhausted - try fallback model if enabled
|
||||||
|
if (fallbackEnabled) {
|
||||||
|
const fallbackModel = getFallbackModel(model);
|
||||||
|
if (fallbackModel) {
|
||||||
|
logger.warn(`[CloudCode] All retries exhausted for ${model}. Attempting fallback to ${fallbackModel}`);
|
||||||
|
const fallbackRequest = { ...anthropicRequest, model: fallbackModel };
|
||||||
|
return await sendMessage(fallbackRequest, accountManager, false); // Disable fallback for recursive call
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
throw new Error('Max retries exceeded');
|
throw new Error('Max retries exceeded');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -285,6 +285,17 @@ export async function* sendMessageStream(anthropicRequest, accountManager, fallb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// All retries exhausted - try fallback model if enabled
|
||||||
|
if (fallbackEnabled) {
|
||||||
|
const fallbackModel = getFallbackModel(model);
|
||||||
|
if (fallbackModel) {
|
||||||
|
logger.warn(`[CloudCode] All retries exhausted for ${model}. Attempting fallback to ${fallbackModel} (streaming)`);
|
||||||
|
const fallbackRequest = { ...anthropicRequest, model: fallbackModel };
|
||||||
|
yield* sendMessageStream(fallbackRequest, accountManager, false); // Disable fallback for recursive call
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
throw new Error('Max retries exceeded');
|
throw new Error('Max retries exceeded');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user