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 }