UNPKG

claude-flow

Version:

Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration

48 lines 1.64 kB
/** * Production Retry Mechanisms * * Provides retry with: * - Exponential backoff * - Jitter * - Per-error-type configuration * - Circuit breaker integration * * @module @claude-flow/cli/production/retry */ export interface RetryConfig { maxAttempts: number; initialDelayMs: number; maxDelayMs: number; backoffMultiplier: number; jitter: number; nonRetryableErrors: string[]; shouldRetry?: (error: Error, attempt: number) => boolean; onRetry?: (error: Error, attempt: number, delayMs: number) => void; } export interface RetryResult<T> { success: boolean; result?: T; error?: Error; attempts: number; totalTimeMs: number; retryHistory: Array<{ attempt: number; error: string; delayMs: number; }>; } export type RetryStrategy = 'exponential' | 'linear' | 'constant' | 'fibonacci'; /** * Execute a function with retry logic */ export declare function withRetry<T>(fn: () => Promise<T>, config?: Partial<RetryConfig>, strategy?: RetryStrategy): Promise<RetryResult<T>>; /** * Create a retryable version of a function */ export declare function makeRetryable<T extends (...args: unknown[]) => Promise<unknown>>(fn: T, config?: Partial<RetryConfig>, strategy?: RetryStrategy): (...args: Parameters<T>) => Promise<RetryResult<Awaited<ReturnType<T>>>>; /** * Retry decorator for class methods */ export declare function Retryable(config?: Partial<RetryConfig>, strategy?: RetryStrategy): (_target: unknown, _propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; export default withRetry; //# sourceMappingURL=retry.d.ts.map