fix(runtime-fallback): classify localized balance failures

This commit is contained in:
Qihao
2026-05-11 10:41:27 +08:00
parent b213d0dab1
commit 583fa2420f
2 changed files with 25 additions and 1 deletions
@@ -97,6 +97,13 @@ export function extractErrorName(error: unknown): string | undefined {
return undefined
}
function isLocalizedQuotaExhaustionMessage(message: string): boolean {
return (
(/预扣费额度失败/i.test(message) && /用户剩余额度/i.test(message)) ||
(/用户剩余额度/i.test(message) && /需要预扣费额度/i.test(message))
)
}
export function classifyErrorType(error: unknown): string | undefined {
const message = getErrorMessage(error)
const errorName = extractErrorName(error)?.toLowerCase()
@@ -135,7 +142,8 @@ export function classifyErrorType(error: unknown): string | undefined {
/out\s+of\s+credits?/i.test(message) ||
/payment.?required/i.test(message) ||
/usage\s+limit/i.test(message) ||
/credit\s+balance.*too\s+low/i.test(message)
/credit\s+balance.*too\s+low/i.test(message) ||
isLocalizedQuotaExhaustionMessage(message)
) {
return "quota_exceeded"
}