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