using System.Text.Json.Serialization;
namespace AIStudio.Assistants.VisualBriefing;
///
/// Defines the strict structured response returned by the content agent.
///
[JsonUnmappedMemberHandling(JsonUnmappedMemberHandling.Disallow)]
public sealed class VisualBriefingContentResponse
{
/// Gets or sets the content contract version.
[JsonRequired]
public int ContractVersion { get; set; }
/// Gets or sets exactly one value for every planned slot.
[JsonRequired]
public List Slots { get; set; } = [];
/// Gets or sets the semantic chart specifications.
[JsonRequired]
public List Charts { get; set; } = [];
/// Gets or sets the declarative interaction controls.
[JsonRequired]
public List Controls { get; set; } = [];
/// Gets or sets the deterministic simulation formulas.
[JsonRequired]
public List Formulas { get; set; } = [];
/// Gets or sets assistive descriptions keyed by component identifier.
[JsonRequired]
public Dictionary AccessibilityTexts { get; set; } = new(StringComparer.Ordinal);
}