INNER CODE UNIT · TypeScript
body
JuliusBrussee/caveman · packages/device-auth/src/index.ts:102
const body = await response.json().catch(() => null) as { error?: { code?: unknown } } | null;
const code = typeof body?.error?.code === "string" ? body.error.code : `HTTP ${response.status}`;
lastError = code;
if (response.status < 500 && response.status !== 429) break;
} catch (error) {
lastError = error instanceof Error ? error.message : String(error);
}
if (attempt < 4) await options.sleep(Math.min(2000, 200 * 2 ** attempt));
}
throw new Error(`device credential delivery acknowledgement failed (${lastError}); credentials were persisted locally but the server may revoke them after the delivery window`);
}
export async function runCavemanDeviceFlow(options: {
baseURL: string;
client: string;
fetch?: typeof globalThis.fetch;
signal?: AbortSignal;
sleep?: (ms: number) => Promise<void>;