mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { SECRET_STATE_KEYS, GLOBAL_SECRET_KEYS, ProviderSettings } from "@roo-code/types"
|
|
|
|
export function checkExistKey(config: ProviderSettings | undefined) {
|
|
if (!config) {
|
|
return false
|
|
}
|
|
|
|
// Special case for human-relay, fake-ai, claude-code, qwen-code, and roo providers which don't need any configuration.
|
|
if (
|
|
config.apiProvider &&
|
|
["human-relay", "fake-ai", "claude-code", "qwen-code", "roo"].includes(config.apiProvider)
|
|
) {
|
|
return true
|
|
}
|
|
|
|
// Check all secret keys from the centralized SECRET_STATE_KEYS array.
|
|
// Filter out keys that are not part of ProviderSettings (global secrets are stored separately)
|
|
const providerSecretKeys = SECRET_STATE_KEYS.filter((key) => !GLOBAL_SECRET_KEYS.includes(key as any))
|
|
const hasSecretKey = providerSecretKeys.some((key) => config[key as keyof ProviderSettings] !== undefined)
|
|
|
|
// Check additional non-secret configuration properties
|
|
const hasOtherConfig = [
|
|
config.awsRegion,
|
|
config.vertexProjectId,
|
|
config.ollamaModelId,
|
|
config.lmStudioModelId,
|
|
config.vsCodeLmModelSelector,
|
|
].some((value) => value !== undefined)
|
|
|
|
return hasSecretKey || hasOtherConfig
|
|
}
|