export const SIGNED_READ_URL_CACHE_SAFETY_WINDOW_MS = 30 * 1000; export type SignedReadUrlCacheEntry = { signedUrl: string; expiresAtMs: number; }; export function parseSignedReadUrlExpiresAtMs(expiresAt: string) { if (!expiresAt) { return 0; } const parsed = Date.parse(expiresAt); return Number.isFinite(parsed) ? parsed : 0; } export function shouldReuseSignedReadUrlCacheEntry( entry: SignedReadUrlCacheEntry | undefined, nowMs = Date.now(), ) { if (!entry) { return false; } return entry.expiresAtMs - SIGNED_READ_URL_CACHE_SAFETY_WINDOW_MS > nowMs; }