namespace AIStudio.Tools.Services; /// /// What a configuration plugin would set up, read from the archive before anything is installed. /// /// /// A configuration takes effect the moment it is installed, and it has no on/off switch. The import /// dialog is therefore the only place where users can see what they are about to accept, which is /// why this carries the destinations of providers and data sources and not just their number. /// /// The providers and data sources, together with where they send data to. /// How many chat templates the configuration adds. /// How many profiles the configuration adds. /// How many document analysis policies the configuration adds. /// How many settings the configuration takes over. /// How many mandatory information texts users must accept. /// How many introductions the configuration adds to the welcome page. public sealed record ConfigurationPluginImportSummary( IReadOnlyList Destinations, int ChatTemplates, int Profiles, int DocumentAnalysisPolicies, int DeclaredSettings, int MandatoryInfos, int Introductions) { /// /// True when the configuration sets up anything at all. /// public bool HasAnyContent => this.Destinations.Count > 0 || this.ChatTemplates > 0 || this.Profiles > 0 || this.DocumentAnalysisPolicies > 0 || this.DeclaredSettings > 0 || this.MandatoryInfos > 0 || this.Introductions > 0; }