From b682014676c3be1774ba5e4a68f04ee72a7b2694 Mon Sep 17 00:00:00 2001 From: Daniel Riccio Date: Thu, 24 Jul 2025 09:54:44 -0500 Subject: [PATCH] fix: add Hugging Face API key to SECRET_STATE_KEYS and fix validation - Added huggingFaceApiKey to SECRET_STATE_KEYS array to ensure it's properly handled as a secret - Fixed validateModelsAndKeysProvided to check for huggingFaceModelId when validating Hugging Face provider - This fixes the issue where the welcome view wouldn't transition to chat view after configuring Hugging Face --- packages/types/src/global-settings.ts | 1 + webview-ui/src/utils/validate.ts | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/packages/types/src/global-settings.ts b/packages/types/src/global-settings.ts index 2754086dba2..a7732f80266 100644 --- a/packages/types/src/global-settings.ts +++ b/packages/types/src/global-settings.ts @@ -183,6 +183,7 @@ export const SECRET_STATE_KEYS = [ "codebaseIndexOpenAiCompatibleApiKey", "codebaseIndexGeminiApiKey", "codebaseIndexMistralApiKey", + "huggingFaceApiKey", ] as const satisfies readonly (keyof ProviderSettings)[] export type SecretState = Pick diff --git a/webview-ui/src/utils/validate.ts b/webview-ui/src/utils/validate.ts index 1040b60c2df..ed546cccc7d 100644 --- a/webview-ui/src/utils/validate.ts +++ b/webview-ui/src/utils/validate.ts @@ -102,6 +102,14 @@ function validateModelsAndKeysProvided(apiConfiguration: ProviderSettings): stri return i18next.t("settings:validation.modelSelector") } break + case "huggingface": + if (!apiConfiguration.huggingFaceApiKey) { + return i18next.t("settings:validation.apiKey") + } + if (!apiConfiguration.huggingFaceModelId) { + return i18next.t("settings:validation.modelId") + } + break } return undefined @@ -166,6 +174,8 @@ function getModelIdForProvider(apiConfiguration: ProviderSettings, provider: str case "vscode-lm": // vsCodeLmModelSelector is an object, not a string return apiConfiguration.vsCodeLmModelSelector?.id + case "huggingface": + return apiConfiguration.huggingFaceModelId default: return apiConfiguration.apiModelId }