Core/legacy event emitted when a turn is aborted, including optional timing.
Current app-server interruption instead terminates through TurnCompleted with an interrupted status.
TurnCompleted
@type t() :: %Codex.Events.TurnAborted{ completed_at: integer() | nil, duration_ms: integer() | nil, reason: String.t() | atom() | map() | nil, started_at: integer() | nil, turn_id: String.t() | nil }