using System.Linq.Expressions; using AIStudio.Settings; namespace AIStudio.Settings.DataModel; public sealed class DataTools(Expression>? configSelection = null) { public DataTools() : this(null) { } public Dictionary> Settings { get; set; } = []; public Dictionary> DefaultToolIdsByComponent { get; set; } = []; public HashSet VisibleToolSelectionComponents { get; set; } = []; public Dictionary MinimumProviderConfidenceByToolId { get; set; } = ManagedConfiguration.Register>( configSelection, x => x.MinimumProviderConfidenceByToolId, new Dictionary(StringComparer.Ordinal)); public string WebSearchBaseUrl { get; set; } = ManagedConfiguration.Register( configSelection, x => x.WebSearchBaseUrl, string.Empty); public string ReadWebPageAllowedPrivateHosts { get; set; } = ManagedConfiguration.Register( configSelection, x => x.ReadWebPageAllowedPrivateHosts, string.Empty); }