const DEFAULT_TIMEOUT_MS = 5000; export async function fetchWithTimeout( url: string, options: RequestInit & { timeoutMs?: number } = {}, ): Promise { const { timeoutMs = DEFAULT_TIMEOUT_MS, ...fetchOptions } = options; return fetch(url, { ...fetchOptions, signal: AbortSignal.timeout(timeoutMs), }); }