from pydantic import BaseModel, ConfigDict class EventItem(BaseModel): id: str | None = None timestamp: str | None = None service: str | None = None operation: str | None = None result: str | None = None actor_display: str | None = None target_displays: list[str] | None = None display_summary: str | None = None display_category: str | None = None dedupe_key: str | None = None actor: dict | None = None targets: list[dict] | None = None raw: dict | None = None raw_text: str | None = None model_config = ConfigDict(extra="allow") class PaginatedEventResponse(BaseModel): items: list[dict] total: int page_size: int next_cursor: str | None = None class FilterOptionsResponse(BaseModel): services: list[str] operations: list[str] results: list[str] actors: list[str] actor_upns: list[str] devices: list[str] class FetchAuditLogsResponse(BaseModel): stored_events: int errors: list[str]