Documentation Index
Fetch the complete documentation index at: https://fal.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Classes & Interfaces
RetryMetrics
Retry metrics for tracking retry attempts
| Name | Type | Description |
|---|
totalAttempts | number | - |
totalDelay | number | - |
lastError? | any | - |
Functions
isRetryableError
function isRetryableError(error: any, retryableStatusCodes: number[]): boolean
Determines if an error is retryable based on the status code.
User-specified timeouts (504 with X-Fal-Request-Timeout-Type: user) are NOT retryable.
| Parameter | Type | Description |
|---|
error | any | - |
retryableStatusCodes | number[] | - |
Returns: boolean
calculateBackoffDelay
function calculateBackoffDelay(attempt: number, baseDelay: number, maxDelay: number, backoffMultiplier: number, enableJitter: boolean): number
Calculates the backoff delay for a given attempt using exponential backoff
| Parameter | Type | Description |
|---|
attempt | number | - |
baseDelay | number | - |
maxDelay | number | - |
backoffMultiplier | number | - |
enableJitter | boolean | - |
Returns: number
executeWithRetry
async function executeWithRetry(operation: () => Promise<T>, options: RetryOptions, onRetry?: (attempt: number, error: any, delay: number) => void): Promise<{ result: T; metrics: RetryMetrics }>
Executes an operation with retry logic and returns both result and metrics
| Parameter | Type | Description |
|---|
operation | () => Promise<T> | - |
options | RetryOptions | - |
onRetry | (attempt: number, error: any, delay: number) => void | - |
Returns: Promise<{ result: T; metrics: RetryMetrics }>
Types
RetryOptions
type RetryOptions = {
maxRetries: number;
baseDelay: number;
maxDelay: number;
backoffMultiplier: number;
retryableStatusCodes: number[];
enableJitter: boolean;
}