diff --git a/packages/types/src/model.ts b/packages/types/src/model.ts
index 244812b29c..e979f654df 100644
--- a/packages/types/src/model.ts
+++ b/packages/types/src/model.ts
@@ -76,6 +76,8 @@ export const modelInfoSchema = z.object({
minTokensPerCachePoint: z.number().optional(),
maxCachePoints: z.number().optional(),
cachableFields: z.array(z.string()).optional(),
+ // Flag to indicate if the model is deprecated and should not be used
+ deprecated: z.boolean().optional(),
/**
* Service tiers with pricing information.
* Each tier can have a name (for OpenAI service tiers) and pricing overrides.
diff --git a/packages/types/src/providers/roo.ts b/packages/types/src/providers/roo.ts
index 63650ac9a1..fd705b1eb9 100644
--- a/packages/types/src/providers/roo.ts
+++ b/packages/types/src/providers/roo.ts
@@ -38,6 +38,7 @@ export const rooModels = {
outputPrice: 0,
description:
"Grok 4 Fast is xAI's latest multimodal model with SOTA cost-efficiency and a 2M token context window. (Note: prompts and completions are logged by xAI and used to improve the model.)",
+ deprecated: true,
},
"deepseek/deepseek-chat-v3.1": {
maxTokens: 16_384,
diff --git a/webview-ui/src/components/settings/ApiOptions.tsx b/webview-ui/src/components/settings/ApiOptions.tsx
index 1aa109d9de..4142796b66 100644
--- a/webview-ui/src/components/settings/ApiOptions.tsx
+++ b/webview-ui/src/components/settings/ApiOptions.tsx
@@ -263,15 +263,24 @@ const ApiOptions = ({
const filteredModels = filterModels(models, selectedProvider, organizationAllowList)
- const modelOptions = filteredModels
- ? Object.keys(filteredModels).map((modelId) => ({
- value: modelId,
- label: modelId,
- }))
+ // Include the currently selected model even if deprecated (so users can see what they have selected)
+ // But filter out other deprecated models from being newly selectable
+ const availableModels = filteredModels
+ ? Object.entries(filteredModels)
+ .filter(([modelId, modelInfo]) => {
+ // Always include the currently selected model
+ if (modelId === selectedModelId) return true
+ // Filter out deprecated models that aren't currently selected
+ return !modelInfo.deprecated
+ })
+ .map(([modelId]) => ({
+ value: modelId,
+ label: modelId,
+ }))
: []
- return modelOptions
- }, [selectedProvider, organizationAllowList])
+ return availableModels
+ }, [selectedProvider, organizationAllowList, selectedModelId])
const onProviderChange = useCallback(
(value: ProviderName) => {
@@ -716,6 +725,11 @@ const ApiOptions = ({
+ {/* Show error if a deprecated model is selected */}
+ {selectedModelInfo?.deprecated && (
+
+ )}
+
{selectedProvider === "bedrock" && selectedModelId === "custom-arn" && (
)}
-
+ {/* Only show model info if not deprecated */}
+ {!selectedModelInfo?.deprecated && (
+
+ )}
>
)}
diff --git a/webview-ui/src/components/settings/ModelPicker.tsx b/webview-ui/src/components/settings/ModelPicker.tsx
index 74e3d31f00..b581304744 100644
--- a/webview-ui/src/components/settings/ModelPicker.tsx
+++ b/webview-ui/src/components/settings/ModelPicker.tsx
@@ -75,13 +75,30 @@ export const ModelPicker = ({
const selectTimeoutRef = useRef(null)
const closeTimeoutRef = useRef(null)
+ const { id: selectedModelId, info: selectedModelInfo } = useSelectedModel(apiConfiguration)
+
const modelIds = useMemo(() => {
const filteredModels = filterModels(models, apiConfiguration.apiProvider, organizationAllowList)
- return Object.keys(filteredModels ?? {}).sort((a, b) => a.localeCompare(b))
- }, [models, apiConfiguration.apiProvider, organizationAllowList])
+ // Include the currently selected model even if deprecated (so users can see what they have selected)
+ // But filter out other deprecated models from being newly selectable
+ const availableModels = Object.entries(filteredModels ?? {})
+ .filter(([modelId, modelInfo]) => {
+ // Always include the currently selected model
+ if (modelId === selectedModelId) return true
+ // Filter out deprecated models that aren't currently selected
+ return !modelInfo.deprecated
+ })
+ .reduce(
+ (acc, [modelId, modelInfo]) => {
+ acc[modelId] = modelInfo
+ return acc
+ },
+ {} as Record,
+ )
- const { id: selectedModelId, info: selectedModelInfo } = useSelectedModel(apiConfiguration)
+ return Object.keys(availableModels).sort((a, b) => a.localeCompare(b))
+ }, [models, apiConfiguration.apiProvider, organizationAllowList, selectedModelId])
const [searchValue, setSearchValue] = useState("")
@@ -225,7 +242,10 @@ export const ModelPicker = ({
{errorMessage && }
- {selectedModelId && selectedModelInfo && (
+ {selectedModelInfo?.deprecated && (
+
+ )}
+ {selectedModelId && selectedModelInfo && !selectedModelInfo.deprecated && (
({
+ useAppTranslation: () => ({
+ t: (key: string, options?: any) => {
+ // Handle specific translation keys
+ if (key === "settings:validation.modelDeprecated") {
+ return "This model is no longer available. Please select a different model."
+ }
+ if (options) return `${key} ${JSON.stringify(options)}`
+ return key
+ },
+ }),
+}))
+
+// Mock the useSelectedModel hook
+vi.mock("@/components/ui/hooks/useSelectedModel", () => ({
+ useSelectedModel: (apiConfiguration: any) => {
+ const modelId = apiConfiguration?.openRouterModelId || "model-1"
+ const models: Record = {
+ "model-1": {
+ maxTokens: 1000,
+ contextWindow: 4000,
+ supportsPromptCache: true,
+ },
+ "model-2": {
+ maxTokens: 2000,
+ contextWindow: 8000,
+ supportsPromptCache: false,
+ },
+ "deprecated-model": {
+ maxTokens: 1500,
+ contextWindow: 6000,
+ supportsPromptCache: true,
+ deprecated: true,
+ },
+ }
+ return {
+ id: modelId,
+ info: models[modelId],
+ provider: "openrouter",
+ isLoading: false,
+ isError: false,
+ }
+ },
+}))
+
+describe("ModelPicker - Deprecated Models", () => {
+ const mockSetApiConfigurationField = vi.fn()
+ const queryClient = new QueryClient({
+ defaultOptions: {
+ queries: { retry: false },
+ },
+ })
+
+ const regularModels: Record = {
+ "model-1": {
+ maxTokens: 1000,
+ contextWindow: 4000,
+ supportsPromptCache: true,
+ },
+ "model-2": {
+ maxTokens: 2000,
+ contextWindow: 8000,
+ supportsPromptCache: false,
+ },
+ "deprecated-model": {
+ maxTokens: 1500,
+ contextWindow: 6000,
+ supportsPromptCache: true,
+ deprecated: true,
+ },
+ }
+
+ beforeEach(() => {
+ vi.clearAllMocks()
+ })
+
+ it("should filter out deprecated models from the dropdown", async () => {
+ const user = userEvent.setup()
+
+ render(
+
+
+ ,
+ )
+
+ // Open the dropdown
+ const button = screen.getByTestId("model-picker-button")
+ await user.click(button)
+
+ // Check that non-deprecated models are shown
+ expect(screen.getByTestId("model-option-model-1")).toBeInTheDocument()
+ expect(screen.getByTestId("model-option-model-2")).toBeInTheDocument()
+
+ // Check that deprecated model is NOT shown
+ expect(screen.queryByTestId("model-option-deprecated-model")).not.toBeInTheDocument()
+ })
+
+ it("should show error when a deprecated model is currently selected", () => {
+ render(
+
+
+ ,
+ )
+
+ // Check that the error message is displayed
+ expect(
+ screen.getByText("This model is no longer available. Please select a different model."),
+ ).toBeInTheDocument()
+ })
+
+ it("should allow selecting non-deprecated models", async () => {
+ const user = userEvent.setup()
+
+ render(
+
+
+ ,
+ )
+
+ // Open the dropdown
+ const button = screen.getByTestId("model-picker-button")
+ await user.click(button)
+
+ // Select a non-deprecated model
+ const model2Option = screen.getByTestId("model-option-model-2")
+ await user.click(model2Option)
+
+ // Verify the selection was made
+ expect(mockSetApiConfigurationField).toHaveBeenCalledWith("openRouterModelId", "model-2")
+ })
+
+ it("should not display model info for deprecated models", () => {
+ render(
+
+
+ ,
+ )
+
+ // Model info should not be displayed for deprecated models
+ expect(screen.queryByText("This is a deprecated model")).not.toBeInTheDocument()
+ })
+})
diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json
index 2aa6b7ad72..611159069b 100644
--- a/webview-ui/src/i18n/locales/ca/settings.json
+++ b/webview-ui/src/i18n/locales/ca/settings.json
@@ -824,6 +824,7 @@
"regionMismatch": "Avís: La regió del vostre ARN ({{arnRegion}}) no coincideix amb la regió seleccionada ({{region}}). Això pot causar problemes d'accés. El proveïdor utilitzarà la regió de l'ARN."
},
"modelAvailability": "L'ID de model ({{modelId}}) que heu proporcionat no està disponible. Si us plau, trieu un altre model.",
+ "modelDeprecated": "Aquest model ja no està disponible. Si us plau, seleccioneu un model diferent.",
"providerNotAllowed": "El proveïdor '{{provider}}' no està permès per la vostra organització",
"modelNotAllowed": "El model '{{model}}' no està permès per al proveïdor '{{provider}}' per la vostra organització",
"profileInvalid": "Aquest perfil conté un proveïdor o model que no està permès per la vostra organització",
diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json
index a96e215185..00827751b0 100644
--- a/webview-ui/src/i18n/locales/de/settings.json
+++ b/webview-ui/src/i18n/locales/de/settings.json
@@ -824,6 +824,7 @@
"regionMismatch": "Warnung: Die Region in deiner ARN ({{arnRegion}}) stimmt nicht mit deiner ausgewählten Region ({{region}}) überein. Dies kann zu Zugriffsproblemen führen. Der Anbieter wird die Region aus der ARN verwenden."
},
"modelAvailability": "Die von dir angegebene Modell-ID ({{modelId}}) ist nicht verfügbar. Bitte wähle ein anderes Modell.",
+ "modelDeprecated": "Dieses Modell ist nicht mehr verfügbar. Bitte wähle ein anderes Modell.",
"providerNotAllowed": "Anbieter '{{provider}}' ist von deiner Organisation nicht erlaubt",
"modelNotAllowed": "Modell '{{model}}' ist für Anbieter '{{provider}}' von deiner Organisation nicht erlaubt",
"profileInvalid": "Dieses Profil enthält einen Anbieter oder ein Modell, das von deiner Organisation nicht erlaubt ist",
diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json
index aa3199e8e8..dfccc49cc4 100644
--- a/webview-ui/src/i18n/locales/en/settings.json
+++ b/webview-ui/src/i18n/locales/en/settings.json
@@ -829,6 +829,7 @@
"regionMismatch": "Warning: The region in your ARN ({{arnRegion}}) does not match your selected region ({{region}}). This may cause access issues. The provider will use the region from the ARN."
},
"modelAvailability": "The model ID ({{modelId}}) you provided is not available. Please choose a different model.",
+ "modelDeprecated": "This model is no longer available. Please select a different model.",
"providerNotAllowed": "Provider '{{provider}}' is not allowed by your organization",
"modelNotAllowed": "Model '{{model}}' is not allowed for provider '{{provider}}' by your organization",
"profileInvalid": "This profile contains a provider or model that is not allowed by your organization",
diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json
index 44c1b9496d..c1271df827 100644
--- a/webview-ui/src/i18n/locales/es/settings.json
+++ b/webview-ui/src/i18n/locales/es/settings.json
@@ -824,6 +824,7 @@
"regionMismatch": "Advertencia: La región en su ARN ({{arnRegion}}) no coincide con su región seleccionada ({{region}}). Esto puede causar problemas de acceso. El proveedor usará la región del ARN."
},
"modelAvailability": "El ID de modelo ({{modelId}}) que proporcionó no está disponible. Por favor, elija un modelo diferente.",
+ "modelDeprecated": "Este modelo ya no está disponible. Por favor, elija un modelo diferente.",
"providerNotAllowed": "El proveedor '{{provider}}' no está permitido por su organización",
"modelNotAllowed": "El modelo '{{model}}' no está permitido para el proveedor '{{provider}}' por su organización",
"profileInvalid": "Este perfil contiene un proveedor o modelo que no está permitido por su organización",
diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json
index cd2b3bef87..abcf401d64 100644
--- a/webview-ui/src/i18n/locales/fr/settings.json
+++ b/webview-ui/src/i18n/locales/fr/settings.json
@@ -824,6 +824,7 @@
"regionMismatch": "Attention : La région dans votre ARN ({{arnRegion}}) ne correspond pas à votre région sélectionnée ({{region}}). Cela peut causer des problèmes d'accès. Le fournisseur utilisera la région de l'ARN."
},
"modelAvailability": "L'ID de modèle ({{modelId}}) que vous avez fourni n'est pas disponible. Veuillez choisir un modèle différent.",
+ "modelDeprecated": "Ce modèle n'est plus disponible. Veuillez sélectionner un modèle différent.",
"providerNotAllowed": "Le fournisseur '{{provider}}' n'est pas autorisé par votre organisation",
"modelNotAllowed": "Le modèle '{{model}}' n'est pas autorisé pour le fournisseur '{{provider}}' par votre organisation",
"profileInvalid": "Ce profil contient un fournisseur ou un modèle qui n'est pas autorisé par votre organisation",
diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json
index d9d8184fbb..975e35411e 100644
--- a/webview-ui/src/i18n/locales/hi/settings.json
+++ b/webview-ui/src/i18n/locales/hi/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "चेतावनी: आपके ARN में क्षेत्र ({{arnRegion}}) आपके चयनित क्षेत्र ({{region}}) से मेल नहीं खाता। इससे पहुंच संबंधी समस्याएं हो सकती हैं। प्रदाता ARN से क्षेत्र का उपयोग करेगा।"
},
"modelAvailability": "आपके द्वारा प्रदान की गई मॉडल ID ({{modelId}}) उपलब्ध नहीं है। कृपया कोई अन्य मॉडल चुनें।",
+ "modelDeprecated": "यह मॉडल अब उपलब्ध नहीं है। कृपया कोई अन्य मॉडल चुनें।",
"providerNotAllowed": "प्रदाता '{{provider}}' आपके संगठन द्वारा अनुमत नहीं है",
"modelNotAllowed": "मॉडल '{{model}}' प्रदाता '{{provider}}' के लिए आपके संगठन द्वारा अनुमत नहीं है",
"profileInvalid": "इस प्रोफ़ाइल में एक प्रदाता या मॉडल शामिल है जो आपके संगठन द्वारा अनुमत नहीं है",
diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json
index 187f42958b..aa2c117211 100644
--- a/webview-ui/src/i18n/locales/id/settings.json
+++ b/webview-ui/src/i18n/locales/id/settings.json
@@ -854,6 +854,7 @@
"regionMismatch": "Peringatan: Region di ARN kamu ({{arnRegion}}) tidak cocok dengan region yang kamu pilih ({{region}}). Ini dapat menyebabkan masalah akses. Provider akan menggunakan region dari ARN."
},
"modelAvailability": "Model ID ({{modelId}}) yang kamu berikan tidak tersedia. Silakan pilih model yang berbeda.",
+ "modelDeprecated": "Model ini tidak lagi tersedia. Silakan pilih model yang berbeda.",
"providerNotAllowed": "Provider '{{provider}}' tidak diizinkan oleh organisasi kamu",
"modelNotAllowed": "Model '{{model}}' tidak diizinkan untuk provider '{{provider}}' oleh organisasi kamu",
"profileInvalid": "Profil ini berisi provider atau model yang tidak diizinkan oleh organisasi kamu",
diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json
index 335877b0a8..6f2e06bb8f 100644
--- a/webview-ui/src/i18n/locales/it/settings.json
+++ b/webview-ui/src/i18n/locales/it/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "Attenzione: La regione nel tuo ARN ({{arnRegion}}) non corrisponde alla regione selezionata ({{region}}). Questo potrebbe causare problemi di accesso. Il provider utilizzerà la regione dall'ARN."
},
"modelAvailability": "L'ID modello ({{modelId}}) fornito non è disponibile. Seleziona un modello diverso.",
+ "modelDeprecated": "Questo modello non è più disponibile. Seleziona un modello diverso.",
"providerNotAllowed": "Il fornitore '{{provider}}' non è consentito dalla tua organizzazione",
"modelNotAllowed": "Il modello '{{model}}' non è consentito per il fornitore '{{provider}}' dalla tua organizzazione.",
"profileInvalid": "Questo profilo contiene un fornitore o un modello non consentito dalla tua organizzazione.",
diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json
index bce95eeab2..cc1ea09317 100644
--- a/webview-ui/src/i18n/locales/ja/settings.json
+++ b/webview-ui/src/i18n/locales/ja/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "警告:ARN内のリージョン({{arnRegion}})が選択したリージョン({{region}})と一致しません。これによりアクセスの問題が発生する可能性があります。プロバイダーはARNのリージョンを使用します。"
},
"modelAvailability": "指定されたモデルID({{modelId}})は利用できません。別のモデルを選択してください。",
+ "modelDeprecated": "このモデルは利用できなくなりました。別のモデルを選択してください。",
"providerNotAllowed": "プロバイダー「{{provider}}」は組織によって許可されていません",
"modelNotAllowed": "モデル「{{model}}」はプロバイダー「{{provider}}」に対して組織によって許可されていません",
"profileInvalid": "このプロファイルには、組織によって許可されていないプロバイダーまたはモデルが含まれています",
diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json
index f7aec2f4ce..61539cfc4d 100644
--- a/webview-ui/src/i18n/locales/ko/settings.json
+++ b/webview-ui/src/i18n/locales/ko/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "경고: ARN의 리전({{arnRegion}})이 선택한 리전({{region}})과 일치하지 않습니다. 접근 문제가 발생할 수 있습니다. 제공자는 ARN의 리전을 사용합니다."
},
"modelAvailability": "제공한 모델 ID({{modelId}})를 사용할 수 없습니다. 다른 모델을 선택하세요.",
+ "modelDeprecated": "이 모델은 더 이상 사용할 수 없습니다. 다른 모델을 선택하세요.",
"providerNotAllowed": "제공자 '{{provider}}'는 조직에서 허용되지 않습니다",
"modelNotAllowed": "모델 '{{model}}'은 제공자 '{{provider}}'에 대해 조직에서 허용되지 않습니다",
"profileInvalid": "이 프로필에는 조직에서 허용되지 않는 제공자 또는 모델이 포함되어 있습니다",
diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json
index d5b246e22a..41ee3e5910 100644
--- a/webview-ui/src/i18n/locales/nl/settings.json
+++ b/webview-ui/src/i18n/locales/nl/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "Waarschuwing: De regio in je ARN ({{arnRegion}}) komt niet overeen met je geselecteerde regio ({{region}}). Dit kan toegangsfouten veroorzaken. De provider gebruikt de regio uit de ARN."
},
"modelAvailability": "Het opgegeven model-ID ({{modelId}}) is niet beschikbaar. Kies een ander model.",
+ "modelDeprecated": "Dit model is niet meer beschikbaar. Kies een ander model.",
"providerNotAllowed": "Provider '{{provider}}' is niet toegestaan door je organisatie",
"modelNotAllowed": "Model '{{model}}' is niet toegestaan voor provider '{{provider}}' door je organisatie",
"profileInvalid": "Dit profiel bevat een provider of model dat niet is toegestaan door je organisatie",
diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json
index 385a38fe2c..6862d6f7ed 100644
--- a/webview-ui/src/i18n/locales/pl/settings.json
+++ b/webview-ui/src/i18n/locales/pl/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "Ostrzeżenie: Region w Twoim ARN ({{arnRegion}}) nie zgadza się z wybranym regionem ({{region}}). Może to powodować problemy z dostępem. Dostawca użyje regionu z ARN."
},
"modelAvailability": "Podane ID modelu ({{modelId}}) jest niedostępne. Wybierz inny model.",
+ "modelDeprecated": "Ten model nie jest już dostępny. Wybierz inny model.",
"providerNotAllowed": "Dostawca '{{provider}}' nie jest dozwolony przez Twoją organizację",
"modelNotAllowed": "Model '{{model}}' nie jest dozwolony dla dostawcy '{{provider}}' przez Twoją organizację",
"profileInvalid": "Ten profil zawiera dostawcę lub model, który nie jest dozwolony przez Twoją organizację",
diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json
index be2ff89ff7..b8184777ac 100644
--- a/webview-ui/src/i18n/locales/pt-BR/settings.json
+++ b/webview-ui/src/i18n/locales/pt-BR/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "Aviso: A região em seu ARN ({{arnRegion}}) não corresponde à região selecionada ({{region}}). Isso pode causar problemas de acesso. O provedor usará a região do ARN."
},
"modelAvailability": "O ID do modelo ({{modelId}}) que você forneceu não está disponível. Por favor, escolha outro modelo.",
+ "modelDeprecated": "Este modelo não está mais disponível. Por favor, selecione um modelo diferente.",
"providerNotAllowed": "O provedor '{{provider}}' não é permitido pela sua organização",
"modelNotAllowed": "O modelo '{{model}}' não é permitido para o provedor '{{provider}}' pela sua organização",
"profileInvalid": "Este perfil contém um provedor ou modelo que não é permitido pela sua organização",
diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json
index b429f01f4e..bcbd72089a 100644
--- a/webview-ui/src/i18n/locales/ru/settings.json
+++ b/webview-ui/src/i18n/locales/ru/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "Внимание: регион в вашем ARN ({{arnRegion}}) не совпадает с выбранным регионом ({{region}}). Это может вызвать проблемы с доступом. Провайдер будет использовать регион из ARN."
},
"modelAvailability": "ID модели ({{modelId}}), который вы указали, недоступен. Пожалуйста, выберите другую модель.",
+ "modelDeprecated": "Эта модель больше недоступна. Пожалуйста, выберите другую модель.",
"providerNotAllowed": "Провайдер '{{provider}}' не разрешен вашей организацией",
"modelNotAllowed": "Модель '{{model}}' не разрешена для провайдера '{{provider}}' вашей организацией",
"profileInvalid": "Этот профиль содержит провайдера или модель, которые не разрешены вашей организацией",
diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json
index 429599d7ea..4ac28f47d2 100644
--- a/webview-ui/src/i18n/locales/tr/settings.json
+++ b/webview-ui/src/i18n/locales/tr/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "Uyarı: ARN'nizdeki bölge ({{arnRegion}}) seçtiğiniz bölge ({{region}}) ile eşleşmiyor. Bu erişim sorunlarına neden olabilir. Sağlayıcı, ARN'deki bölgeyi kullanacak."
},
"modelAvailability": "Sağladığınız model kimliği ({{modelId}}) kullanılamıyor. Lütfen başka bir model seçin.",
+ "modelDeprecated": "Bu model artık kullanılamıyor. Lütfen farklı bir model seçin.",
"providerNotAllowed": "Sağlayıcı '{{provider}}' kuruluşunuz tarafından izin verilmiyor",
"modelNotAllowed": "Model '{{model}}' sağlayıcı '{{provider}}' için kuruluşunuz tarafından izin verilmiyor",
"profileInvalid": "Bu profil, kuruluşunuz tarafından izin verilmeyen bir sağlayıcı veya model içeriyor",
diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json
index 35fd639ba6..4303325d06 100644
--- a/webview-ui/src/i18n/locales/vi/settings.json
+++ b/webview-ui/src/i18n/locales/vi/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "Cảnh báo: Vùng trong ARN của bạn ({{arnRegion}}) không khớp với vùng bạn đã chọn ({{region}}). Điều này có thể gây ra vấn đề truy cập. Nhà cung cấp sẽ sử dụng vùng từ ARN."
},
"modelAvailability": "ID mô hình ({{modelId}}) bạn đã cung cấp không khả dụng. Vui lòng chọn một mô hình khác.",
+ "modelDeprecated": "Mô hình này không còn khả dụng. Vui lòng chọn một mô hình khác.",
"providerNotAllowed": "Nhà cung cấp '{{provider}}' không được phép bởi tổ chức của bạn",
"modelNotAllowed": "Mô hình '{{model}}' không được phép cho nhà cung cấp '{{provider}}' bởi tổ chức của bạn",
"profileInvalid": "Hồ sơ này chứa một nhà cung cấp hoặc mô hình không được phép bởi tổ chức của bạn",
diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json
index abb3e44637..f574106f45 100644
--- a/webview-ui/src/i18n/locales/zh-CN/settings.json
+++ b/webview-ui/src/i18n/locales/zh-CN/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "警告:您的 ARN 中的区域 ({{arnRegion}}) 与您选择的区域 ({{region}}) 不匹配。这可能会导致访问问题。提供程序将使用 ARN 中的区域。"
},
"modelAvailability": "模型ID {{modelId}} 不可用,请重新选择",
+ "modelDeprecated": "此模型不再可用,请选择其他模型。",
"providerNotAllowed": "提供商 '{{provider}}' 不允许用于您的组织",
"modelNotAllowed": "模型 '{{model}}' 不允许用于提供商 '{{provider}}',您的组织不允许",
"profileInvalid": "此配置文件包含您的组织不允许的提供商或模型",
diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json
index 91f7c5677a..67e8c43b60 100644
--- a/webview-ui/src/i18n/locales/zh-TW/settings.json
+++ b/webview-ui/src/i18n/locales/zh-TW/settings.json
@@ -825,6 +825,7 @@
"regionMismatch": "警告:您 ARN 中的區域 ({{arnRegion}}) 與您選擇的區域 ({{region}}) 不符,可能導致存取問題。系統將使用 ARN 中指定的區域。"
},
"modelAvailability": "您指定的模型 ID ({{modelId}}) 目前無法使用,請選擇其他模型。",
+ "modelDeprecated": "此模型已停用,請選擇其他模型。",
"providerNotAllowed": "供應商 '{{provider}}' 不允許用於您的組織。",
"modelNotAllowed": "模型 '{{model}}' 不允許用於供應商 '{{provider}}',您的組織不允許",
"profileInvalid": "此設定檔包含您的組織不允許的供應商或模型",