from typing import Dict, Tuple, List import time _nav_cache: dict = {} _nav_cache_ts: float = 0.0 _nav_ttl_seconds = 60 * 60 * 6 _detail_cache: Dict[str, Dict] = {} _detail_cache_ts: Dict[str, float] = {} _detail_ttl_seconds = 60 * 60 * 6 KNOWN_PRODUCT_SLUGS: set[str] = set() _listing_variant_cache: Dict[str, Tuple[str, float]] = {} _listing_variant_ttl = 60 * 60 * 6 _listing_page_cache: Dict[str, Tuple[Tuple[List[Dict], int], float]] = {} _listing_page_ttl = 60 * 30 def now() -> float: return time.time()