import { isProviderBalanceError } from "@/lib/request-error"; const IMAGE_FAILOVER_BALANCE_COOLDOWN_MS = 2 * 60 * 60 * 1000; export function isImageFallbackModelBalanceCoolingDown( model: { healthLastEventType?: unknown; healthLastError?: unknown; healthLastFailureAt?: unknown; } | null | undefined, now = Date.now(), ) { if (model?.healthLastEventType !== "quota" || !isProviderBalanceError(model.healthLastError)) { return false; } const failedAt = new Date(String(model.healthLastFailureAt || "")).getTime(); return Number.isFinite(failedAt) && now - failedAt < IMAGE_FAILOVER_BALANCE_COOLDOWN_MS && now >= failedAt; }