""" Shared utilities for Kao detectors. """ import requests DEFAULT_AGGREGATOR_URL = "http://localhost:5100" def send_event(url, event_id, priority, message, check_interval): """Send an event to the aggregator with heartbeat TTL.""" ttl = check_interval * 2 try: response = requests.post( f"{url}/event", json={"id": event_id, "priority": priority, "message": message, "ttl": ttl}, timeout=5, ) print(f"[EVENT] {event_id}: {message} (priority {priority}, ttl {ttl}s) -> {response.status_code}") except requests.RequestException as e: print(f"[ERROR] Failed to send event: {e}") def clear_event(url, event_id): """Clear an event from the aggregator.""" try: response = requests.post( f"{url}/clear", json={"id": event_id}, timeout=5, ) if response.status_code == 200: print(f"[CLEAR] {event_id}") except requests.RequestException as e: print(f"[ERROR] Failed to clear event: {e}")