namespace AIStudio.Settings.DataModel; /// /// A saved set of model comparison inputs, so a familiar test case does not have to be typed and /// picked by hand again every time. /// /// /// Purely local to this user: unlike , there is no Lua import /// path and no enterprise ownership, because nothing here needs to be rolled out centrally. /// public sealed record ModelComparisonPreset { public required string Id { get; init; } /// /// The name shown in the preset picker. Mutable, unlike the rest of a saved preset: renaming is /// an edit to a saved entry, while every other field is only ever set once, at the moment the /// current form is captured. /// public required string Name { get; set; } /// /// The first model's provider ID, or empty when none was selected while saving. Resolved back to /// a provider through , which already answers /// for an ID that no longer exists. /// public string FirstProviderId { get; init; } = string.Empty; /// /// The second model's provider ID. See . /// public string SecondProviderId { get; init; } = string.Empty; public bool JudgeEnabled { get; init; } /// /// The judge's provider ID. See . /// public string JudgeProviderId { get; init; } = string.Empty; public string JudgeInstructions { get; init; } = string.Empty; public string Context { get; init; } = string.Empty; public string Question { get; init; } = string.Empty; public int RunCount { get; init; } = 1; }