using System.Text.Json.Serialization; internal sealed class ConsoleVerificationReport { public string Schema { get; init; } = string.Empty; public bool HostOnly { get; init; } public bool GuestExecution { get; init; } public string Runtime { get; init; } = string.Empty; public string OperatingSystem { get; init; } = string.Empty; public ConsolePackage Package { get; init; } = new("", ""); public string SystemConsoleColorPal { get; init; } = string.Empty; public bool Passed { get; init; } public Dictionary Assertions { get; init; } = []; public string[] Lines { get; init; } = []; public string[] Foreground { get; init; } = []; public string Transcript { get; init; } = string.Empty; } internal sealed record ConsolePackage(string Id, string Version); [JsonSerializable(typeof(ConsoleVerificationReport))] [JsonSourceGenerationOptions(WriteIndented = true)] internal partial class ConsoleReportJsonContext : JsonSerializerContext;