diff --git a/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/ModelPickerGroupsBuilder.java b/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/ModelPickerGroupsBuilder.java index 520e146b..fb838528 100644 --- a/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/ModelPickerGroupsBuilder.java +++ b/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/ModelPickerGroupsBuilder.java @@ -120,13 +120,17 @@ private static List buildModelDropdownItems(List mod Function reasoningEffortResolver) { List items = new ArrayList<>(); for (CopilotModel model : models) { + String rawName = model.getModelName(); + boolean alreadyHasPreview = rawName != null && rawName.toLowerCase().endsWith("(preview)"); + String name = model.isPreview() && !alreadyHasPreview ? rawName + " " + Messages.model_preview_suffix : rawName; + String effectiveEffort = reasoningEffortResolver != null ? reasoningEffortResolver.apply(model) : null; String suffix = ModelUtils.getModelSuffix(model, effectiveEffort); - String name = model.getModelName(); - String effortLabel = ModelUtils.formatReasoningEffortLevel(effectiveEffort); - String selectedLabel = StringUtils.isNotBlank(effortLabel) && StringUtils.isNotBlank(name) - ? name + " - " + effortLabel : null; - items.add(new DropdownItem.Builder().id(name).label(name).selectedLabel(selectedLabel).suffix(suffix) + String effortLevel = ModelUtils.formatReasoningEffortLevel(effectiveEffort); + String selectedLabel = StringUtils.isNotBlank(effortLevel) && StringUtils.isNotBlank(name) + ? name + " - " + effortLevel : null; + + items.add(new DropdownItem.Builder().id(rawName).label(name).selectedLabel(selectedLabel).suffix(suffix) .icon(resolveModelIcon(model)).hoverProvider(new ModelHoverContentProvider(model)).build()); } return items; diff --git a/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/i18n/Messages.java b/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/i18n/Messages.java index 9823930f..6a04b7a3 100644 --- a/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/i18n/Messages.java +++ b/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/i18n/Messages.java @@ -214,6 +214,7 @@ public final class Messages extends NLS { public static String chat_historyView_deleteIcon_tooltip; public static String model_billing_multiplier_suffix; public static String model_billing_multiplier_variable; + public static String model_preview_suffix; public static String model_hover_contextSize; public static String model_hover_cost; public static String model_hover_thinkingEffort; diff --git a/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/i18n/messages.properties b/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/i18n/messages.properties index 583f163c..a2758c8b 100644 --- a/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/i18n/messages.properties +++ b/com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/i18n/messages.properties @@ -165,6 +165,7 @@ chat_historyView_editIcon_tooltip=Edit conversation title chat_historyView_deleteIcon_tooltip=Delete conversation model_billing_multiplier_suffix=x model_billing_multiplier_variable=Variable +model_preview_suffix=(Preview) chat_addContext_tooltip=Add Context... chat_filePicker_title=Search attachments chat_filePicker_message=Choose files from the list, or search for files: