import type { RangeMileageResult } from './cache.js'; const MANUAL_SNAPSHOT_TTL_MS = 60 * 1000; interface ManualSnapshot { result: RangeMileageResult; updatedAt: string; expiresAt: number; } let snapshot: ManualSnapshot | null = null; export function storeManualMonitoringSnapshot( result: RangeMileageResult, now = Date.now(), ): ManualSnapshot { snapshot = { result, updatedAt: new Date(now).toISOString(), expiresAt: now + MANUAL_SNAPSHOT_TTL_MS, }; return snapshot; } export function getManualMonitoringSnapshot( start: string, end: string, now = Date.now(), ): ManualSnapshot | null { if (!snapshot || snapshot.expiresAt <= now) { snapshot = null; return null; } if (snapshot.result.start !== start || snapshot.result.end !== end) return null; return snapshot; } export function clearManualMonitoringSnapshot(): void { snapshot = null; }