UNPKG

buroventures-harald-code

Version:

Harald Code - AI-powered coding assistant CLI

40 lines 1.55 kB
/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { AuthType } from 'buroventures-harald-code-core'; import { USER_SETTINGS_PATH } from './config/settings.js'; import { validateAuthMethod } from './config/auth.js'; function getAuthTypeFromEnv() { if (process.env.GOOGLE_GENAI_USE_GCA === 'true') { return AuthType.LOGIN_WITH_GOOGLE; } if (process.env.GOOGLE_GENAI_USE_VERTEXAI === 'true') { return AuthType.USE_VERTEX_AI; } if (process.env.GEMINI_API_KEY) { return AuthType.USE_GEMINI; } if (process.env.CEREBRAS_API_KEY || process.env.OPENAI_API_KEY) { return AuthType.USE_OPENAI; } return undefined; } export async function validateNonInteractiveAuth(configuredAuthType, useExternalAuth, nonInteractiveConfig) { const effectiveAuthType = configuredAuthType || getAuthTypeFromEnv(); if (!effectiveAuthType) { console.error(`Please set an Auth method in your ${USER_SETTINGS_PATH} or specify one of the following environment variables before running: CEREBRAS_API_KEY, GEMINI_API_KEY, OPENAI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA`); process.exit(1); } if (!useExternalAuth) { const err = validateAuthMethod(effectiveAuthType); if (err != null) { console.error(err); process.exit(1); } } await nonInteractiveConfig.refreshAuth(effectiveAuthType); return nonInteractiveConfig; } //# sourceMappingURL=validateNonInterActiveAuth.js.map