@ai-sdk/google-vertex
Version:
234 lines • 9.2 kB
TypeScript
import { FetchFunction, Resolvable } from "@ai-sdk/provider-utils";
import "@ai-sdk/provider";
import { OpenAICompatibleProvider } from "@ai-sdk/openai-compatible";
//#region src/edge/google-vertex-auth-edge.d.ts
interface GoogleCredentials {
/**
* The client email for the Google Cloud service account. Defaults to the
* value of the `GOOGLE_CLIENT_EMAIL` environment variable.
*/
clientEmail: string;
/**
* The private key for the Google Cloud service account. Defaults to the
* value of the `GOOGLE_PRIVATE_KEY` environment variable.
*/
privateKey: string;
/**
* Optional. The private key ID for the Google Cloud service account. Defaults
* to the value of the `GOOGLE_PRIVATE_KEY_ID` environment variable.
*/
privateKeyId?: string;
}
//#endregion
//#region src/google-vertex-model-catalog.d.ts
declare const languageModelIds: readonly ["gemini-nano-banana-2.1", "gemini-4-argon", "gemini-4-carbon", "gemini-4-hydrogen", "gemini-3.8-flash", "gemini-3.7-flash", "gemini-3.6-flash", "gemini-3.5-flash", "gemini-3.5-flash-lite", "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", "gemini-2.0-flash-lite", "gemini-2.0-flash", "gemini-2.0-flash-001", "gemini-1.5-flash", "gemini-1.5-flash-001", "gemini-1.5-flash-002", "gemini-1.5-pro", "gemini-1.5-pro-001", "gemini-1.5-pro-002", "gemini-1.0-pro-001", "gemini-1.0-pro-vision-001", "gemini-1.0-pro", "gemini-1.0-pro-002", "gemini-2.0-flash-lite-preview-02-05", "gemini-2.5-flash-preview-09-2025", "gemini-3-pro-preview", "gemini-3-pro-image-preview", "gemini-3-flash-preview", "gemini-3.1-pro-preview", "gemini-3.1-flash-image-preview", "gemini-3.1-flash-lite-preview", "gemini-2.0-pro-exp-02-05", "gemini-2.0-flash-exp"];
declare const imageModelIds: readonly ["gemini-2.5-flash-image", "gemini-3-pro-image-preview", "gemini-3.1-flash-image-preview", "gemini-nano-banana-2.1"];
declare const embeddingModelIds: readonly ["textembedding-gecko", "textembedding-gecko@001", "textembedding-gecko@003", "textembedding-gecko-multilingual", "textembedding-gecko-multilingual@001", "text-multilingual-embedding-002", "text-embedding-004", "text-embedding-005", "gemini-embedding-001", "gemini-embedding-2", "gemini-embedding-2-preview"];
declare const videoModelIds: readonly ["veo-2.0-generate-preview", "veo-2.0-generate-exp", "veo-2.0-generate-001", "veo-3.0-generate-001", "veo-3.0-fast-generate-001", "veo-3.0-generate-preview", "veo-3.0-fast-generate-preview", "veo-3.1-generate-001", "veo-3.1-fast-generate-001", "veo-3.1-generate-preview", "veo-3.1-fast-generate-preview"];
declare const speechModelIds: readonly ["gemini-2.5-flash-tts", "gemini-2.5-pro-tts", "gemini-2.5-flash-lite-preview-tts", "gemini-3.1-flash-tts-preview", "chirp-3-hd"];
declare const transcriptionModelIds: readonly ["chirp_2", "chirp_3", "telephony"];
declare const geminiTranscriptionModelIds: readonly ["gemini-3.5-transcribe", "gemini-3.5-transcribe-live"];
declare const vertexAnthropicModels: {
'claude-fable-5-1': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-fable-5-2': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-3-7-sonnet@20250219': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-3-5-sonnet-v2@20241022': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-3-5-sonnet@20240620': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-3-5-haiku@20241022': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-3-sonnet@20240229': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-3-haiku@20240307': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-3-opus@20240229': {
image: boolean;
objectGeneration: boolean;
tools: boolean;
streaming: boolean;
computerUse: boolean;
};
'claude-fable-5': undefined;
'claude-haiku-5-5': undefined;
'claude-opus-4-1@20250805': undefined;
'claude-opus-4-5@20251101': undefined;
'claude-opus-4-6': undefined;
'claude-opus-4-7': undefined;
'claude-opus-4-8': undefined;
'claude-opus-4@20250514': undefined;
'claude-opus-5': undefined;
'claude-opus-5-5': undefined;
'claude-sonnet-4-5@20250929': undefined;
'claude-sonnet-4-6': undefined;
'claude-sonnet-4@20250514': undefined;
'claude-sonnet-5': undefined;
'claude-sonnet-5-5': undefined;
};
declare const vertexXaiModels: {
'xai/grok-4.20-reasoning': {
reasoning: boolean;
};
'xai/grok-4.20-non-reasoning': {
reasoning: boolean;
};
'xai/grok-4.1-fast-reasoning': {
reasoning: boolean;
};
'xai/grok-4.1-fast-non-reasoning': {
reasoning: boolean;
};
};
declare const vertexMaasModels: {
'deepseek-ai/deepseek-r1-0528-maas': {
publisher: string;
};
'deepseek-ai/deepseek-v3.1-maas': {
publisher: string;
};
'deepseek-ai/deepseek-v3.2-maas': {
publisher: string;
};
'openai/gpt-oss-120b-maas': {
publisher: string;
};
'openai/gpt-oss-20b-maas': {
publisher: string;
};
'meta/llama-4-maverick-17b-128e-instruct-maas': {
publisher: string;
};
'meta/llama-4-scout-17b-16e-instruct-maas': {
publisher: string;
};
'minimax/minimax-m2-maas': {
publisher: string;
};
'qwen/qwen3-coder-480b-a35b-instruct-maas': {
publisher: string;
};
'qwen/qwen3-next-80b-a3b-instruct-maas': {
publisher: string;
};
'qwen/qwen3-next-80b-a3b-thinking-maas': {
publisher: string;
};
'moonshotai/kimi-k2-thinking-maas': {
publisher: string;
};
};
/** Known model IDs, derived from the declarations used to build the catalog. */
type GoogleVertexModelIds = {
language: (typeof languageModelIds)[number];
image: (typeof imageModelIds)[number];
embedding: (typeof embeddingModelIds)[number];
video: (typeof videoModelIds)[number];
speech: (typeof speechModelIds)[number];
transcription: (typeof transcriptionModelIds)[number];
geminiTranscription: (typeof geminiTranscriptionModelIds)[number];
anthropic: keyof typeof vertexAnthropicModels;
xai: keyof typeof vertexXaiModels;
maas: keyof typeof vertexMaasModels;
};
//#endregion
//#region src/maas/google-vertex-maas-options.d.ts
type GoogleVertexMaasModelId = GoogleVertexModelIds['maas'] | (string & {});
//#endregion
//#region src/maas/google-vertex-maas-provider.d.ts
interface GoogleVertexMaasProvider extends OpenAICompatibleProvider<GoogleVertexMaasModelId, string, string, string> {}
interface GoogleVertexMaasProviderSettings$1 {
/**
* Google Cloud project ID. Defaults to the value of the `GOOGLE_VERTEX_PROJECT` environment variable.
*/
project?: string;
/**
* Google Cloud location/region. Defaults to the value of the `GOOGLE_VERTEX_LOCATION` environment variable.
* Use 'global' for the global endpoint.
*/
location?: string;
/**
* Base URL for the API calls. If not provided, will be constructed from project and location.
*/
baseURL?: string;
/**
* Headers to use for requests. Can be:
* - A headers object
* - A Promise that resolves to a headers object
* - A function that returns a headers object
* - A function that returns a Promise of a headers object
*/
headers?: Resolvable<Record<string, string | undefined>>;
/**
* Custom fetch implementation. You can use it as a middleware to intercept requests,
* or to provide a custom fetch implementation for e.g. testing.
*/
fetch?: FetchFunction;
}
//#endregion
//#region src/maas/edge/google-vertex-maas-provider-edge.d.ts
interface GoogleVertexMaasProviderSettings extends GoogleVertexMaasProviderSettings$1 {
/**
* Optional. The Google credentials for the Google Cloud service account. If
* not provided, the Google Vertex provider will use environment variables to
* load the credentials.
*/
googleCredentials?: GoogleCredentials;
}
/**
* Create a Google Vertex AI MaaS (Model as a Service) provider instance for Edge runtimes.
* Uses the OpenAI-compatible Chat Completions API for partner and open models.
* Automatically handles Google Cloud authentication.
*
* @see https://cloud.google.com/vertex-ai/generative-ai/docs/maas/use-open-models
*/
export declare function createGoogleVertexMaas(options?: GoogleVertexMaasProviderSettings): GoogleVertexMaasProvider;
/**
* Default Google Vertex AI MaaS provider instance for Edge runtimes.
*/
export declare const googleVertexMaas: GoogleVertexMaasProvider;
//#endregion
export { type GoogleVertexMaasModelId, type GoogleVertexMaasProvider, type GoogleVertexMaasProviderSettings, createGoogleVertexMaas as createVertexMaas, googleVertexMaas as vertexMaas };
//# sourceMappingURL=index.d.ts.map