namespace AIStudio.Assistants.VisualBriefing;
///
/// Defines VisualBriefingVersion for the visual briefing feature.
///
public sealed class VisualBriefingVersion
{
/// Gets or sets the canonical data schema used by this revision.
public int SchemaVersion { get; set; } = VisualBriefingVersions.SCHEMA;
/// Gets or sets the semantic intermediate-artifact format.
public int IntermediateArtifactVersion { get; set; } = VisualBriefingVersions.INTERMEDIATE_ARTIFACT;
/// Gets or sets the evidence contract used by this revision.
public int EvidenceContractVersion { get; set; } = VisualBriefingVersions.EVIDENCE_CONTRACT;
/// Gets or sets the plan contract used by this revision.
public int PlanContractVersion { get; set; } = VisualBriefingVersions.PLAN_CONTRACT;
/// Gets or sets the content contract used by this revision.
public int ContentContractVersion { get; set; } = VisualBriefingVersions.CONTENT_CONTRACT;
/// Gets or sets the design contract used by this revision.
public int DesignContractVersion { get; set; } = VisualBriefingVersions.DESIGN_CONTRACT;
///
/// Defines VersionNumber for the visual briefing feature.
///
public int VersionNumber { get; set; }
///
/// Defines RevisionId for the visual briefing feature.
///
public Guid RevisionId { get; set; }
///
/// Defines ParentRevisionId for the visual briefing feature.
///
public Guid? ParentRevisionId { get; set; }
///
/// Defines CreatedAtUtc for the visual briefing feature.
///
public DateTimeOffset CreatedAtUtc { get; set; }
///
/// Defines EditMode for the visual briefing feature.
///
public VisualBriefingEditMode EditMode { get; set; }
///
/// Defines Instruction for the visual briefing feature.
///
public string Instruction { get; set; } = string.Empty;
///
/// Gets or sets the SHA-256 hash of the complete standalone HTML document.
///
public string DocumentHash { get; set; } = string.Empty;
///
/// Defines Origin for the visual briefing feature.
///
public string Origin { get; set; } = string.Empty;
///
/// Defines FileName for the visual briefing feature.
///
public string FileName { get; set; } = string.Empty;
///
/// Defines DataHash for the visual briefing feature.
///
public string DataHash { get; set; } = string.Empty;
///
/// Defines AssetHash for the visual briefing feature.
///
public string AssetHash { get; set; } = string.Empty;
///
/// Defines TemplateHash for the visual briefing feature.
///
public string TemplateHash { get; set; } = string.Empty;
///
/// Defines CssHash for the visual briefing feature.
///
public string CssHash { get; set; } = string.Empty;
///
/// Defines RuntimeHash for the visual briefing feature.
///
public string RuntimeHash { get; set; } = string.Empty;
///
/// Defines ContentArtifactId for the visual briefing feature.
///
public Guid? ContentArtifactId { get; set; }
///
/// Defines EvidenceArtifactId for the visual briefing feature.
///
public Guid? EvidenceArtifactId { get; set; }
///
/// Defines PlanArtifactId for the visual briefing feature.
///
public Guid? PlanArtifactId { get; set; }
///
/// Defines PresentationArtifactId for the visual briefing feature.
///
public Guid? PresentationArtifactId { get; set; }
///
/// Defines BuildId for the visual briefing feature.
///
public Guid? BuildId { get; set; }
///
/// Defines OperationId for the visual briefing feature.
///
public Guid? OperationId { get; set; }
///
/// Defines ModelContributions for the visual briefing feature.
///
public List ModelContributions { get; set; } = [];
}