using System.Linq.Expressions; using AIStudio.Provider; namespace AIStudio.Settings.DataModel; /// /// Stores the default options for the Assistant Builder. /// /// The managed-configuration selector. public sealed class DataAssistantBuilder(Expression>? configSelection = null) { /// /// Initializes an unmanaged Assistant Builder settings instance. /// public DataAssistantBuilder() : this(null) { } /// /// Gets or sets whether Assistant Builder defaults are preselected. /// public bool PreselectOptions { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectOptions, true); /// /// Gets or sets the provider used by default. An empty value uses the app default. /// public string PreselectedProvider { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedProvider, string.Empty); /// /// Gets or sets the default output language for generated assistants. /// public CommonLanguages PreselectedOutputLanguage { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedOutputLanguage, CommonLanguages.AS_IS); /// /// Gets or sets the default custom output language. /// public string PreselectedOtherOutputLanguage { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedOtherOutputLanguage, string.Empty); /// /// Gets or sets the minimum confidence a provider needs for building assistants. /// public ConfidenceLevel MinimumProviderConfidence { get; set; } = ManagedConfiguration.Register(configSelection, value => value.MinimumProviderConfidence, ConfidenceLevel.NONE); }