From 9554f9a16eff6773a16b03082b1852a2d0e9cd2f Mon Sep 17 00:00:00 2001 From: Shoubhit Dash Date: Wed, 29 Jul 2026 18:23:00 +0530 Subject: [PATCH] feat(ai): type Vertex request options (#39499) --- packages/ai/src/providers/google-vertex.ts | 8 ++++++-- .../provider-options/google-vertex.types.ts | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 packages/ai/test/provider-options/google-vertex.types.ts diff --git a/packages/ai/src/providers/google-vertex.ts b/packages/ai/src/providers/google-vertex.ts index 78f4e0764da..78037a2828e 100644 --- a/packages/ai/src/providers/google-vertex.ts +++ b/packages/ai/src/providers/google-vertex.ts @@ -77,7 +77,8 @@ const configuredRoute = (input: Config, modelID: string | ModelID) => { export const configure = (input: Config = {}) => { return { id, - model: (modelID: string | ModelID) => configuredRoute(input, modelID).model({ id: modelID }), + model: (modelID: string | ModelID) => + configuredRoute(input, modelID).model({ id: modelID }), configure, } } @@ -86,7 +87,10 @@ export const provider = { id, configure, } -export const model: ProviderPackage.Definition["model"] = (modelID, settings) => { +export const model: ProviderPackage.Definition["model"] = ( + modelID, + settings, +) => { if (settings.apiKey !== undefined && settings.accessToken !== undefined) throw new Error("Google Vertex apiKey cannot be combined with accessToken or auth") return configure({ diff --git a/packages/ai/test/provider-options/google-vertex.types.ts b/packages/ai/test/provider-options/google-vertex.types.ts new file mode 100644 index 00000000000..6098092f898 --- /dev/null +++ b/packages/ai/test/provider-options/google-vertex.types.ts @@ -0,0 +1,17 @@ +import { LLM } from "../../src" +import { GoogleVertex } from "../../src/providers" + +const model = GoogleVertex.provider.configure({ apiKey: "test" }).model("gemini-2.5-pro") + +LLM.request({ + model, + prompt: "Hello", + providerOptions: { gemini: { thinkingConfig: { includeThoughts: true } } }, +}) + +LLM.request({ + model, + prompt: "Hello", + // @ts-expect-error Vertex Gemini includeThoughts must be boolean. + providerOptions: { gemini: { thinkingConfig: { includeThoughts: "yes" } } }, +})