Skip to main content

Interface: RetryOptions

Defined in: shared/utils/retry.ts:39

Options controlling retry behavior for withRetry.

Propertiesโ€‹

delayMs?โ€‹

optional delayMs?:
| number
| ((args: {
attempt: number;
error: unknown;
}) => number);

Defined in: shared/utils/retry.ts:48

Delay between attempts in milliseconds.

Remarksโ€‹

Can be a constant or a function for exponential backoff / jitter.

Default Valueโ€‹

300;

maxRetries?โ€‹

optional maxRetries?: number;

Defined in: shared/utils/retry.ts:60

Maximum number of attempts (including the first attempt).

Default Valueโ€‹

5;

onError?โ€‹

optional onError?: (error: unknown, attempt: number) => void;

Defined in: shared/utils/retry.ts:69

Optional hook invoked after a failed attempt.

Parametersโ€‹

errorโ€‹

unknown

attemptโ€‹

number

Returnsโ€‹

void

Remarksโ€‹

Errors thrown by this callback are swallowed to avoid masking the original failure.


onFailedAttempt?โ€‹

optional onFailedAttempt?: (args: {
attempt: number;
delayMs: number;
error: unknown;
}) => void;

Defined in: shared/utils/retry.ts:75

Optional hook invoked after a failed attempt and after the delay for the next attempt is computed.

Parametersโ€‹

argsโ€‹
attemptโ€‹

number

delayMsโ€‹

number

errorโ€‹

unknown

Returnsโ€‹

void


operationName?โ€‹

optional operationName?: string;

Defined in: shared/utils/retry.ts:82

Optional label for debugging/logging by callers.


shouldRetry?โ€‹

optional shouldRetry?: (error: unknown, attempt: number) => boolean;

Defined in: shared/utils/retry.ts:90

Optional predicate to stop retrying for specific errors.

Parametersโ€‹

errorโ€‹

unknown

attemptโ€‹

number

Returnsโ€‹

boolean

Remarksโ€‹

Returning false stops retrying and rethrows the most recent error.


unrefDelay?โ€‹

optional unrefDelay?: boolean;

Defined in: shared/utils/retry.ts:96

When true, uses an unref'd timer for the delay between retries so the process can exit naturally.