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);
}