autoagent-cli
Version:
Run autonomous AI agents using Claude or Gemini for task execution
30 lines (29 loc) • 1.28 kB
TypeScript
export interface RetryOptions {
maxAttempts?: number;
initialDelay?: number;
maxDelay?: number;
backoffMultiplier?: number;
shouldRetry?: (error: Error) => boolean;
onRetry?: (error: Error, attempt: number) => void;
}
export declare class RetryError extends Error {
readonly attempts: number;
readonly lastError: Error;
constructor(message: string, attempts: number, lastError: Error);
}
export declare class RateLimitError extends Error {
readonly retryAfter?: number | undefined;
constructor(message: string, retryAfter?: number | undefined);
}
export declare function retry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
export declare function retryWithJitter<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
export declare function createRetryableFunction<T extends (...args: unknown[]) => Promise<unknown>>(fn: T, options?: RetryOptions): T;
export declare function isRateLimitError(error: Error): boolean;
export declare function isRateLimitOrUsageError(message: string): boolean;
export declare function extractRetryAfter(error: Error): number | undefined;
export declare const retryDefaults: {
maxAttempts: number;
initialDelay: number;
maxDelay: number;
backoffMultiplier: number;
};