using AIStudio.Provider; using ProviderSettings = AIStudio.Settings.Provider; namespace AIStudio.Assistants.VisualBriefing; /// /// Produces export-safe provider and model labels. /// internal static class VisualBriefingModelNames { /// /// Returns the public provider family and configured model name. /// /// The selected provider and model. /// An export-safe provider and model label. internal static string ExportLabel(ProviderSettings provider) => $"{provider.UsedLLMProvider.ToName(translate: false)} — {ExportModelName(provider.Model)}"; /// /// Reconstructs an export label from persisted build provenance. /// /// The persisted provider family. /// The persisted model name. /// An export-safe provider and model label. internal static string ExportLabel(string providerFamily, string model) { var providerName = Enum.TryParse(providerFamily, out var parsedProvider) ? parsedProvider.ToName(translate: false) : string.IsNullOrWhiteSpace(providerFamily) ? "Unknown provider" : providerFamily.Trim(); var modelName = string.IsNullOrWhiteSpace(model) ? "model not reported" : model.Trim(); return $"{providerName} — {modelName}"; } /// /// Returns the configured display name, model ID, or provider-managed fallback. /// private static string ExportModelName(Model model) { if (!string.IsNullOrWhiteSpace(model.DisplayName)) return model.DisplayName.Trim(); if (model.IsSystemModel) return "provider-configured model"; return string.IsNullOrWhiteSpace(model.Id) ? "model not reported" : model.Id.Trim(); } }