namespace ClaudeDo.Worker.Runner;

public sealed class RunResult
{
    public required int ExitCode { get; init; }
    public string? ResultMarkdown { get; init; }
    public string? ErrorMarkdown { get; init; }
    public string? StructuredOutputJson { get; init; }
    public string? SessionId { get; init; }
    public int TurnCount { get; init; }
    public int TokensIn { get; init; }
    public int TokensOut { get; init; }
    public IReadOnlyList<string> Blocks { get; init; } = Array.Empty<string>();

    public bool IsSuccess => ExitCode == 0 && ResultMarkdown is not null;
}
