from __future__ import annotations from dataclasses import dataclass, field from typing import List, Dict, Any import time @dataclass class AuditLogEntry: entry_id: str fleet_id: str event: str details: Dict[str, Any] = field(default_factory=dict) timestamp: float = field(default_factory=time.time) class AuditLog: def __init__(self) -> None: self._entries: List[AuditLogEntry] = [] def add(self, fleet_id: str, event: str, details: Dict[str, Any] | None = None) -> None: self._entries.append(AuditLogEntry(entry_id=str(len(self._entries) + 1), fleet_id=fleet_id, event=event, details=details or {})) def all(self) -> List[AuditLogEntry]: return list(self._entries)