@memory-bank/mcp
Version:
Memory-enabled Co-Pilot (MCP) server for managing project documentation and context
56 lines • 1.82 kB
TypeScript
export declare const FILE_SYSTEM_BUSY = "FILE_SYSTEM_BUSY";
export declare const TEMPORARY_ERROR = "TEMPORARY_ERROR";
export declare const IO_ERROR = "IO_ERROR";
/**
* Retry options
*/
export interface RetryOptions {
/**
* Maximum number of retry attempts
* @default 3
*/
maxRetries?: number;
/**
* Base delay in milliseconds between retries (will be exponentially increased)
* @default 300
*/
baseDelay?: number;
/**
* Factor to multiply delay by for each retry
* @default 2
*/
backoffFactor?: number;
/**
* Maximum delay in milliseconds
* @default 2000
*/
maxDelay?: number;
/**
* Custom error filter to determine if an error is retryable
* @default (error) => isRetryableError(error)
*/
retryableErrorFilter?: (error: unknown) => boolean;
}
/**
* Determines if an error is retryable
* @param error Error to check
* @returns True if the error is retryable, false otherwise
*/
export declare function isRetryableError(error: unknown): boolean;
/**
* Retry a function with exponential backoff
* @param fn Function to retry
* @param options Retry options
* @returns Promise resolving to the result of the function
* @throws The last error if all retries fail
*/
export declare function withRetry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
/**
* Wrapper for file system operations to automatically retry on retryable errors
* @param operation Operation name for logging
* @param fn Function to execute
* @param options Retry options
* @returns Promise resolving to the result of the function
*/
export declare function withFileSystemRetry<T>(operation: string, fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
//# sourceMappingURL=FileSystemRetryUtils.d.ts.map