using System.Text.Json; using System.Text.Json.Serialization; namespace AIStudio.Assistants.VisualBriefing; /// /// Defines one bounded declarative interaction control. /// [JsonUnmappedMemberHandling(JsonUnmappedMemberHandling.Disallow)] [CanonicalJsonShape("42306121")] public sealed class VisualBriefingControlSpec { /// Gets or sets the globally unique control identifier. [JsonRequired] public string ControlId { get; init; } = string.Empty; /// Gets or sets the owning component identifier. [JsonRequired] public string ComponentId { get; init; } = string.Empty; /// Gets or sets the control kind. [JsonRequired] public VisualBriefingControlKind Kind { get; init; } /// Gets or sets the deterministic initial value. [JsonRequired] public JsonElement InitialValue { get; init; } /// Gets or sets the selectable options. [JsonRequired] public List Options { get; init; } = []; }