from __future__ import annotations from review_agent.models import FileSummaryBatch, WorkflowEvent def record_event(batch: FileSummaryBatch, event_type: str, payload: dict | None = None) -> WorkflowEvent: return WorkflowEvent.objects.create( batch=batch, workflow_type="file_summary", workflow_batch_id=batch.pk, conversation=batch.conversation, event_type=event_type, payload=payload or {}, ) def serialize_event(event: WorkflowEvent) -> dict[str, object]: return { "id": event.pk, "event_type": event.event_type, "payload": event.payload, "created_at": event.created_at.isoformat(), }