async function getWithBackoff(url, attempt = 0) {
const response = await fetch(url, { headers: { 'X-Api-Key': process.env.CALLARO_API_KEY } });
if (response.status !== 429) return response;
const waitMs = Math.min(1000 * 2 ** attempt, 16000);
await new Promise((resolve) => setTimeout(resolve, waitMs));
return getWithBackoff(url, attempt + 1);
}