UNPKG

@alvinveroy/codecompass

Version:

AI-powered MCP server for codebase navigation and LLM prompt optimization

23 lines (22 loc) 908 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.withRetry = withRetry; const config_service_1 = require("../lib/config-service"); // Utility: Retry logic async function withRetry(fn, retries = config_service_1.configService.MAX_RETRIES) { let lastError; for (let i = 0; i < retries; i++) { try { return await fn(); } catch (error) { lastError = error instanceof Error ? error : new Error(String(error)); config_service_1.logger.warn(`Retry ${i + 1}/${retries} after error: ${lastError.message}`); if (i < retries - 1) { // Use exponential backoff for retries await new Promise(resolve => setTimeout(resolve, config_service_1.configService.RETRY_DELAY * Math.pow(2, i))); } } } throw lastError || new Error("All retries failed"); }