from datetime import datetime from pydantic import BaseModel, Field class HostSummary(BaseModel): id: int hostname: str display_name: str | None os_family: str product: str product_version: str | None ipv4: str | None last_seen_at: datetime event_count: int | None = None model_config = {"from_attributes": True} class HostListResponse(BaseModel): items: list[HostSummary] total: int page: int page_size: int class EventSummary(BaseModel): id: int event_id: str host_id: int hostname: str occurred_at: datetime received_at: datetime category: str type: str severity: str title: str summary: str model_config = {"from_attributes": True} class EventDetail(EventSummary): details: dict | None = None raw: dict | None = None dedup_key: str | None = None correlation_id: str | None = None payload: dict class EventListResponse(BaseModel): items: list[EventSummary] total: int page: int page_size: int