Something went wrong. Try again.
I'm going to build my own OpenClaw, with blackjack... and bun!
Something went wrong. Try again.
TypeScript
12345678910111213141516171819202122232425262728/** * queue/retry-policy.ts – Retry configuration and helpers for the AgentQueue. * * Defines the default retry limits and exponential back-off calculation. * Used exclusively by queue.ts. */
/** Maximum number of retries before giving up on a failed queue item. */export const DEFAULT_MAX_RETRIES = 3;/** Base delay (ms) for exponential back-off. Actual delay = base * 2^(retry-1). */export const DEFAULT_BASE_RETRY_MS = 5000;
/** Determine whether a failed item should be retried. */export function shouldRetry(retries: number, maxRetries: number, shuttingDown: boolean): boolean { return !shuttingDown && retries < maxRetries;}
/** Calculate the exponential back-off delay for the Nth retry. */export function getRetryDelay(retryCount: number, baseMs: number): number { if (retryCount <= 0) return 0; return baseMs * Math.pow(2, retryCount - 1);}
/** Calculate the next retry timestamp as an ISO string. */export function getRetryAtIso(retryCount: number, baseMs: number, nowMs = Date.now()): string { return new Date(nowMs + getRetryDelay(retryCount, baseMs)).toISOString();}