(error: unknown)
| 923 | } |
| 924 | |
| 925 | function normalizeModelFailure(error: unknown): ModelFailure { |
| 926 | if (isModelFailure(error)) return error; |
| 927 | const errorClass = classifyError(error); |
| 928 | const presentation = errorPresentationFromClass(errorClass); |
| 929 | const retry = providerRetryMetadata(error); |
| 930 | const code = |
| 931 | error instanceof Error && 'code' in error |
| 932 | ? String((error as { code?: unknown }).code) |
| 933 | : undefined; |
| 934 | return { |
| 935 | type: 'model_failure', |
| 936 | kind: modelFailureKind(errorClass), |
| 937 | retryable: retry.retryable, |
| 938 | ...(retry.retryAfterMs !== undefined ? { retryAfterMs: retry.retryAfterMs } : {}), |
| 939 | ...(code !== undefined ? { code } : {}), |
| 940 | message: presentation.message ?? generalizedErrorMessage(error), |
| 941 | }; |
| 942 | } |
| 943 | |
| 944 | function normalizeProviderFailure(error: unknown): ModelFailure { |
| 945 | if (isModelFailure(error)) return error; |
no test coverage detected