namespace AIStudio.Assistants.ModelComparison;
///
/// What one model answered, together with how the request went.
///
public sealed record ModelComparisonAnswer
{
///
/// The name to show for the model. It says who wrote the answer, and is not shown until the
/// user has voted.
///
public required string Label { get; init; }
///
/// The answer without the thinking of the model. Only an answer which is
/// is complete: after a failure or a cancellation, this is whatever
/// arrived before, and it must not be shown as a result.
///
public required string Text { get; init; }
///
/// Whether the model answered. False when the request failed, when the user canceled it, and
/// when the model ended without saying anything.
///
public required bool Completed { get; init; }
///
/// The time from sending the request until the first piece of the answer arrived, or null when
/// nothing arrived.
///
public TimeSpan? FirstTokenTime { get; init; }
///
/// The time from sending the request until the answer was complete, or null when it never was.
///
public TimeSpan? TotalTime { get; init; }
}