From 1e6e21719e7b78e991b10de75fe99d7ec9b28260 Mon Sep 17 00:00:00 2001 From: sumansaurabh Date: Sat, 10 Jan 2026 07:28:45 +0530 Subject: [PATCH] feat(logging): add resolveVertexServerDetails utility for custom server configuration --- packages/core/src/core/loggingContentGenerator.ts | 5 +++++ packages/core/src/utils/baseUrlUtils.ts | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 packages/core/src/utils/baseUrlUtils.ts diff --git a/packages/core/src/core/loggingContentGenerator.ts b/packages/core/src/core/loggingContentGenerator.ts index e5598463664..b190110f91d 100644 --- a/packages/core/src/core/loggingContentGenerator.ts +++ b/packages/core/src/core/loggingContentGenerator.ts @@ -33,6 +33,7 @@ import { CodeAssistServer } from '../code_assist/server.js'; import { toContents } from '../code_assist/converter.js'; import { isStructuredError } from '../utils/quotaErrorDetection.js'; import { runInDevTraceSpan, type SpanMetadata } from '../telemetry/trace.js'; +import { resolveVertexServerDetails } from '../utils/baseUrlUtils.js'; interface StructuredError { status: number; @@ -94,6 +95,10 @@ export class LoggingContentGenerator implements ContentGenerator { // Case 2: Using an API key for Vertex AI. if (genConfig?.vertexai) { + const vertexCustomServerDetails = resolveVertexServerDetails(); + if (vertexCustomServerDetails) { + return vertexCustomServerDetails; + } const location = process.env['GOOGLE_CLOUD_LOCATION']; if (location) { return { address: `${location}-aiplatform.googleapis.com`, port: 443 }; diff --git a/packages/core/src/utils/baseUrlUtils.ts b/packages/core/src/utils/baseUrlUtils.ts new file mode 100644 index 00000000000..bfda52bf58b --- /dev/null +++ b/packages/core/src/utils/baseUrlUtils.ts @@ -0,0 +1,14 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import type { ServerDetails } from '../telemetry/types.js'; + +export function resolveVertexServerDetails(): ServerDetails | undefined { + if (process.env['GEMINI_CLI_VERTEX_BASE_URL'] === undefined) { + return undefined; + } + return { address: process.env['GEMINI_CLI_VERTEX_BASE_URL'], port: 443 }; +}