import time DEDUP_TTL = 30.0 MAX_DEDUP_ENTRIES = 200 _dedup_cache: dict[int, float] = {} def is_duplicate(message_index: int) -> bool: now = time.monotonic() if message_index in _dedup_cache: if now - _dedup_cache[message_index] < DEDUP_TTL: return True _dedup_cache[message_index] = now if len(_dedup_cache) > MAX_DEDUP_ENTRIES: stale = [k for k, v in _dedup_cache.items() if now - v > DEDUP_TTL] for k in stale: del _dedup_cache[k] return False def mark_seen(message_index: int) -> None: _dedup_cache[message_index] = time.monotonic() def reset() -> None: _dedup_cache.clear()