(error: unknown)
| 254 | } |
| 255 | |
| 256 | export function isProviderRateLimitError(error: unknown): boolean { |
| 257 | if (error instanceof APIProviderRateLimitError) return true; |
| 258 | |
| 259 | const statusCode = getStatusCode(error); |
| 260 | if (statusCode !== undefined) return statusCode === 429; |
| 261 | |
| 262 | const lowerMessage = errorMessage(error).toLowerCase(); |
| 263 | return PROVIDER_RATE_LIMIT_MESSAGE_PATTERNS.some((pattern) => pattern.test(lowerMessage)); |
| 264 | } |
| 265 | |
| 266 | function getStatusCode(error: unknown): number | undefined { |
| 267 | if (typeof error !== 'object' || error === null) return undefined; |
no test coverage detected