limitless-ai-mcp-server
Version:
MCP server for integrating Limitless AI Pendant recordings with AI assistants
38 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.retry = retry;
async function retry(fn, options) {
const { attempts, delay, backoff = 'exponential', maxDelay = 30000, shouldRetry = () => true, onRetry, } = options;
let lastError;
for (let attempt = 1; attempt <= attempts; attempt++) {
try {
return await fn();
}
catch (error) {
lastError = error;
if (attempt === attempts || !shouldRetry(error)) {
throw error;
}
if (onRetry) {
onRetry(error, attempt);
}
const waitTime = calculateDelay(attempt, delay, backoff, maxDelay);
await sleep(waitTime);
}
}
throw lastError;
}
function calculateDelay(attempt, baseDelay, backoff, maxDelay) {
let delay;
if (backoff === 'exponential') {
delay = baseDelay * Math.pow(2, attempt - 1);
}
else {
delay = baseDelay * attempt;
}
return Math.min(delay, maxDelay);
}
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
//# sourceMappingURL=retry.js.map