diff options
| author | sasha-gitg <[email protected]> | 2025-05-27 10:00:07 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-27 10:00:07 -0700 |
| commit | 3511e84dc3ecdc121ca657e77859f302d514d271 (patch) | |
| tree | 0e3d810ea35d67c65911517144f32a4a532343aa /packages/server/src | |
| parent | b3f52e215a98835b752bd3ba3ec08ae44e480eda (diff) | |
fix: default to Gemini API if GEMINI_API_KEY is set and when GOOGLE_GENAI_USE_VERTEXAI is set to True (#566)
Diffstat (limited to 'packages/server/src')
| -rw-r--r-- | packages/server/src/config/config.ts | 7 | ||||
| -rw-r--r-- | packages/server/src/core/client.ts | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/packages/server/src/config/config.ts b/packages/server/src/config/config.ts index 625b9b93..ff35c16f 100644 --- a/packages/server/src/config/config.ts +++ b/packages/server/src/config/config.ts @@ -56,6 +56,7 @@ export class Config { private userMemory: string = '', // Made mutable for refresh private geminiMdFileCount: number = 0, private alwaysSkipModificationConfirmation: boolean = false, + private readonly vertexai?: boolean, ) { // toolRegistry still needs initialization based on the instance this.toolRegistry = createToolRegistry(this); @@ -139,6 +140,10 @@ export class Config { setAlwaysSkipModificationConfirmation(skip: boolean): void { this.alwaysSkipModificationConfirmation = skip; } + + getVertexAI(): boolean | undefined { + return this.vertexai; + } } function findEnvFile(startDir: string): string | null { @@ -186,6 +191,7 @@ export function createServerConfig( userMemory?: string, geminiMdFileCount?: number, alwaysSkipModificationConfirmation?: boolean, + vertexai?: boolean, ): Config { return new Config( apiKey, @@ -204,6 +210,7 @@ export function createServerConfig( userMemory ?? '', geminiMdFileCount ?? 0, alwaysSkipModificationConfirmation ?? false, + vertexai, ); } diff --git a/packages/server/src/core/client.ts b/packages/server/src/core/client.ts index 8823012e..341ce021 100644 --- a/packages/server/src/core/client.ts +++ b/packages/server/src/core/client.ts @@ -36,8 +36,11 @@ export class GeminiClient { constructor(private config: Config) { const userAgent = config.getUserAgent(); const apiKeyFromConfig = config.getApiKey(); + const vertexaiFlag = config.getVertexAI(); + this.client = new GoogleGenAI({ apiKey: apiKeyFromConfig === '' ? undefined : apiKeyFromConfig, + vertexai: vertexaiFlag, httpOptions: { headers: { 'User-Agent': userAgent, |
