using System.Text.Json.Serialization;
namespace AIStudio.Assistants.VisualBriefing;
///
/// Defines the strict structured response returned by the evidence agent.
///
[JsonUnmappedMemberHandling(JsonUnmappedMemberHandling.Disallow)]
public sealed class VisualBriefingEvidenceResponse
{
/// Gets or sets the evidence contract version.
[JsonRequired]
public int ContractVersion { get; set; }
/// Gets or sets the extracted factual statements.
[JsonRequired]
public List Facts { get; set; } = [];
/// Gets or sets the extracted numeric metrics.
[JsonRequired]
public List Metrics { get; set; } = [];
/// Gets or sets the extracted tables.
[JsonRequired]
public List Tables { get; set; } = [];
/// Gets or sets the exactly-once source coverage declarations.
[JsonRequired]
public List SourceCoverage { get; set; } = [];
/// Gets or sets the planned use of supplied visual assets.
[JsonRequired]
public List AssetPlan { get; set; } = [];
}