using System.Linq.Expressions; using AIStudio.Provider; namespace AIStudio.Settings.DataModel; public sealed class DataConfidence(Expression>? configSelection = null) { /// /// The default constructor for the JSON deserializer. /// public DataConfidence() : this(null) { } /// /// Should we enforce a global minimum confidence level? /// public bool EnforceGlobalMinimumConfidence { get; set; } = ManagedConfiguration.Register(configSelection, n => n.EnforceGlobalMinimumConfidence, false); /// /// The global minimum confidence level to enforce. /// public ConfidenceLevel GlobalMinimumConfidence { get; set; } = ManagedConfiguration.Register(configSelection, n => n.GlobalMinimumConfidence, ConfidenceLevel.NONE); /// /// Should we show the provider confidence level? /// public bool ShowProviderConfidence { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ShowProviderConfidence, true); /// /// Which confidence scheme to use. /// public ConfidenceSchemes ConfidenceScheme { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ConfidenceScheme, ConfidenceSchemes.TRUST_ALL); /// /// Provide custom confidence levels for each provider family. /// public Dictionary CustomConfidenceScheme { get; set; } = ManagedConfiguration.Register(configSelection, n => n.CustomConfidenceScheme, []); }