Download packages/cli/src/config/auth.ts from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 1.56 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/cli/src/config/auth.ts
- Command line
-
hf download hf://SaylorTwift/gemini-cli/packages/cli/src/config/auth.ts
-
curl -L -o auth.ts https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/cli/src/config/auth.ts
1.56 kB
| /** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| import { AuthType, loadApiKey } from '@google/gemini-cli-core'; | |
| import { loadEnvironment, loadSettings } from './settings.js'; | |
| export async function validateAuthMethod( | |
| authMethod: string, | |
| ): Promise<string | null> { | |
| loadEnvironment(loadSettings().merged, process.cwd()); | |
| if ( | |
| authMethod === AuthType.LOGIN_WITH_GOOGLE || | |
| authMethod === AuthType.COMPUTE_ADC | |
| ) { | |
| return null; | |
| } | |
| if (authMethod === AuthType.USE_GEMINI) { | |
| const key = process.env['GEMINI_API_KEY'] || (await loadApiKey()); | |
| if (!key) { | |
| return ( | |
| 'When using Gemini API, you must specify the GEMINI_API_KEY environment variable.\n' + | |
| 'Update your environment and try again (no reload needed if using .env)!' | |
| ); | |
| } | |
| return null; | |
| } | |
| if (authMethod === AuthType.USE_VERTEX_AI) { | |
| const hasVertexProjectLocationConfig = | |
| !!process.env['GOOGLE_CLOUD_PROJECT'] && | |
| !!process.env['GOOGLE_CLOUD_LOCATION']; | |
| const hasGoogleApiKey = !!process.env['GOOGLE_API_KEY']; | |
| if (!hasVertexProjectLocationConfig && !hasGoogleApiKey) { | |
| return ( | |
| 'When using Vertex AI, you must specify either:\n' + | |
| '• GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION environment variables.\n' + | |
| '• GOOGLE_API_KEY environment variable (if using express mode).\n' + | |
| 'Update your environment and try again (no reload needed if using .env)!' | |
| ); | |
| } | |
| return null; | |
| } | |
| return 'Invalid auth method selected.'; | |
| } | |