using AIStudio.Chat; namespace AIStudio.Assistants.VisualBriefing; /// /// Defines VisualBriefingManifest for the visual briefing feature. /// public sealed class VisualBriefingManifest { /// /// Defines ManifestVersion for the visual briefing feature. /// public int ManifestVersion { get; set; } = VisualBriefingVersions.MANIFEST; /// /// Defines BriefingId for the visual briefing feature. /// public Guid BriefingId { get; set; } /// /// Defines Name for the visual briefing feature. /// public string Name { get; set; } = string.Empty; /// /// Defines Author for the visual briefing feature. /// public string Author { get; set; } = string.Empty; /// /// Defines CreatedAtUtc for the visual briefing feature. /// public DateTimeOffset CreatedAtUtc { get; set; } /// /// Defines ModifiedAtUtc for the visual briefing feature. /// public DateTimeOffset ModifiedAtUtc { get; set; } /// /// Defines Settings for the visual briefing feature. /// public VisualBriefingLocalSettings Settings { get; set; } = new(); /// /// What the text sent to this briefing demands, because of where it came from. /// /// /// An answer written from mails demands here what it demanded in its chat, and every stage of every build /// holds to it. The restrictions are set when the briefing is created for the text, and they never loosen: /// the text may still be part of the instruction, and of the versions built from it. They live here rather /// than in the settings, which the editor replaces with every save. A briefing nothing was sent to, or one /// written before this property existed, demands nothing. /// public ChatRestrictions Restrictions { get; init; } = ChatRestrictions.NONE; /// /// Defines Sources for the visual briefing feature. /// public List Sources { get; set; } = []; /// /// Defines Versions for the visual briefing feature. /// public List Versions { get; set; } = []; }