Skip to main content
Dotset CLI API Documentation / index / RetryOptions

Interface: RetryOptions

Defined in: src/shield/errors/index.ts:544 Error Handling and Recovery Module Comprehensive error handling with retry logic and circuit breakers.

Example

import {
  withRetry,
  withTimeout,
  CircuitBreaker,
  isRetryableError,
} from '@dotsetlabs/cli';

// Retry with exponential backoff
const result = await withRetry(
  () => fetchSecrets(),
  { maxAttempts: 3, baseDelayMs: 1000, backoffMultiplier: 2 }
);

// Add timeout to operation
const secrets = await withTimeout(fetchSecrets(), 5000);

// Use circuit breaker for external services
const breaker = new CircuitBreaker('aws-sm', {
  failureThreshold: 5,
  resetTimeoutMs: 30000,
});

const secret = await breaker.execute(() => getFromAWS(key));

Extended by

Properties

backoffMultiplier?

optional backoffMultiplier: number;
Defined in: src/shield/errors/index.ts:548

baseDelayMs?

optional baseDelayMs: number;
Defined in: src/shield/errors/index.ts:546

jitterFactor?

optional jitterFactor: number;
Defined in: src/shield/errors/index.ts:549

maxAttempts?

optional maxAttempts: number;
Defined in: src/shield/errors/index.ts:545

maxDelayMs?

optional maxDelayMs: number;
Defined in: src/shield/errors/index.ts:547

onRetry()?

optional onRetry: (error, attempt, delayMs) => void;
Defined in: src/shield/errors/index.ts:551

Parameters

error
attempt
number
delayMs
number

Returns

void

retryableErrors?

optional retryableErrors: ErrorCode[];
Defined in: src/shield/errors/index.ts:550

shouldRetry()?

optional shouldRetry: (error, attempt) => boolean;
Defined in: src/shield/errors/index.ts:552

Parameters

error
attempt
number

Returns

boolean

timeout?

optional timeout: number;
Defined in: src/shield/errors/index.ts:553