namespace Sdt.Core; public enum RunEventType { WorkflowStarted, WorkflowPlanned, WorkflowStepStarted, WorkflowStepCompleted, ProbeChecked, ProbeFailed, InstallPlanPrepared, InstallDeclined, InstallCommandStarted, InstallCommandCompleted, WorkflowCompleted, DebugStarted, DebugCommandStarted, DebugCommandCompleted, DebugCompleted, } public sealed record RunEvent( string Category, RunEventType Type, string Message, string? WorkflowId = null, string? StepId = null, string? Tool = null, bool? Success = null, int? ExitCode = null, DateTimeOffset? Timestamp = null) { public DateTimeOffset OccurredAt { get; init; } = Timestamp ?? DateTimeOffset.Now; }