@ai-sdk/google-vertex 4.0.113 → 4.0.115

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/anthropic/edge/index.d.mts +5 -0
  3. package/dist/anthropic/edge/index.d.ts +5 -0
  4. package/dist/anthropic/edge/index.js +4 -4
  5. package/dist/anthropic/edge/index.js.map +1 -1
  6. package/dist/anthropic/edge/index.mjs +4 -4
  7. package/dist/anthropic/edge/index.mjs.map +1 -1
  8. package/dist/anthropic/index.d.mts +5 -0
  9. package/dist/anthropic/index.d.ts +5 -0
  10. package/dist/anthropic/index.js +3 -3
  11. package/dist/anthropic/index.js.map +1 -1
  12. package/dist/anthropic/index.mjs +3 -3
  13. package/dist/anthropic/index.mjs.map +1 -1
  14. package/dist/edge/index.js +1 -1
  15. package/dist/edge/index.js.map +1 -1
  16. package/dist/edge/index.mjs +1 -1
  17. package/dist/edge/index.mjs.map +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/index.mjs +1 -1
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/maas/edge/index.js +1 -1
  23. package/dist/maas/edge/index.js.map +1 -1
  24. package/dist/maas/edge/index.mjs +4 -2
  25. package/dist/maas/edge/index.mjs.map +1 -1
  26. package/dist/maas/index.js.map +1 -1
  27. package/dist/maas/index.mjs +3 -1
  28. package/dist/maas/index.mjs.map +1 -1
  29. package/package.json +7 -7
  30. package/src/anthropic/edge/google-vertex-anthropic-provider-edge.ts +13 -7
  31. package/src/anthropic/google-vertex-anthropic-provider-node.ts +13 -7
  32. package/src/anthropic/google-vertex-anthropic-provider.ts +5 -5
  33. package/src/edge/google-vertex-provider-edge.ts +3 -3
  34. package/src/google-vertex-auth-google-auth-library.ts +1 -1
  35. package/src/google-vertex-config.ts +1 -1
  36. package/src/google-vertex-embedding-model.ts +3 -3
  37. package/src/google-vertex-image-model.ts +3 -3
  38. package/src/google-vertex-provider-node.ts +3 -3
  39. package/src/google-vertex-provider.ts +8 -8
  40. package/src/maas/edge/google-vertex-maas-provider-edge.ts +4 -4
  41. package/src/maas/google-vertex-maas-provider-node.ts +4 -4
  42. package/src/maas/google-vertex-maas-provider.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/maas/google-vertex-maas-provider-node.ts","../../src/google-vertex-auth-google-auth-library.ts","../../src/maas/google-vertex-maas-provider.ts"],"sourcesContent":["import { FetchFunction, resolve } from '@ai-sdk/provider-utils';\nimport { GoogleAuthOptions } from 'google-auth-library';\nimport { generateAuthToken } from '../google-vertex-auth-google-auth-library';\nimport {\n createVertexMaas as createVertexMaasOriginal,\n GoogleVertexMaasProvider,\n GoogleVertexMaasProviderSettings as GoogleVertexMaasProviderSettingsOriginal,\n} from './google-vertex-maas-provider';\n\nexport type { GoogleVertexMaasProvider };\n\nexport interface GoogleVertexMaasProviderSettings extends GoogleVertexMaasProviderSettingsOriginal {\n /**\n * Optional. The Authentication options provided by google-auth-library.\n * Complete list of authentication options is documented in the\n * GoogleAuthOptions interface:\n * https://github.com/googleapis/google-auth-library-nodejs/blob/main/src/auth/googleauth.ts.\n */\n googleAuthOptions?: GoogleAuthOptions;\n}\n\n/**\n * Create a Google Vertex AI MaaS (Model as a Service) provider instance for Node.js.\n * Uses the OpenAI-compatible Chat Completions API for partner and open models.\n * Automatically handles Google Cloud authentication.\n *\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/maas/use-open-models\n */\nexport function createVertexMaas(\n options: GoogleVertexMaasProviderSettings = {},\n): GoogleVertexMaasProvider {\n // Create a custom fetch wrapper that adds auth headers\n const customFetch: FetchFunction = async (url, init) => {\n const token = await generateAuthToken(options.googleAuthOptions);\n const resolvedHeaders = await resolve(options.headers);\n const authHeaders = {\n ...resolvedHeaders,\n Authorization: `Bearer ${token}`,\n };\n\n // Merge auth headers with existing headers from init\n const fetchInit = {\n ...init,\n headers: {\n ...init?.headers,\n ...authHeaders,\n },\n };\n\n // Call the original fetch or user's custom fetch\n return (options.fetch ?? fetch)(url, fetchInit);\n };\n\n return createVertexMaasOriginal({\n ...options,\n fetch: customFetch,\n headers: undefined, // Don't pass headers, we handle them in fetch\n });\n}\n\n/**\n * Default Google Vertex AI MaaS provider instance for Node.js.\n */\nexport const vertexMaas = createVertexMaas();\n","import { GoogleAuth, GoogleAuthOptions } from 'google-auth-library';\n\nlet authInstance: GoogleAuth | null = null;\nlet authOptions: GoogleAuthOptions | null = null;\n\nfunction getAuth(options: GoogleAuthOptions) {\n if (!authInstance || options !== authOptions) {\n authInstance = new GoogleAuth({\n scopes: ['https://www.googleapis.com/auth/cloud-platform'],\n ...options,\n });\n authOptions = options;\n }\n return authInstance;\n}\n\nexport async function generateAuthToken(options?: GoogleAuthOptions) {\n const auth = getAuth(options || {});\n const client = await auth.getClient();\n const token = await client.getAccessToken();\n return token?.token || null;\n}\n\n// For testing purposes only\nexport function _resetAuthInstance() {\n authInstance = null;\n}\n","import { createOpenAICompatible } from '@ai-sdk/openai-compatible';\nimport type { OpenAICompatibleProvider } from '@ai-sdk/openai-compatible';\nimport {\n FetchFunction,\n loadOptionalSetting,\n loadSetting,\n Resolvable,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport type { GoogleVertexMaasModelId } from './google-vertex-maas-options';\n\nexport interface GoogleVertexMaasProvider extends OpenAICompatibleProvider<\n GoogleVertexMaasModelId,\n string,\n string,\n string\n> {}\n\nexport interface GoogleVertexMaasProviderSettings {\n /**\n * Google Cloud project ID. Defaults to the value of the `GOOGLE_VERTEX_PROJECT` environment variable.\n */\n project?: string;\n\n /**\n * Google Cloud location/region. Defaults to the value of the `GOOGLE_VERTEX_LOCATION` environment variable.\n * Use 'global' for the global endpoint.\n */\n location?: string;\n\n /**\n * Base URL for the API calls. If not provided, will be constructed from project and location.\n */\n baseURL?: string;\n\n /**\n * Headers to use for requests. Can be:\n * - A headers object\n * - A Promise that resolves to a headers object\n * - A function that returns a headers object\n * - A function that returns a Promise of a headers object\n */\n headers?: Resolvable<Record<string, string | undefined>>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\n * Create a Google Vertex AI MaaS (Model as a Service) provider instance.\n * Uses the OpenAI-compatible Chat Completions API for partner and open models.\n *\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/maas/use-open-models\n */\nexport function createVertexMaas(\n options: GoogleVertexMaasProviderSettings = {},\n): GoogleVertexMaasProvider {\n // Lazy-load settings to support loading from environment variables at runtime\n const loadLocation = () =>\n loadOptionalSetting({\n settingValue: options.location,\n environmentVariableName: 'GOOGLE_VERTEX_LOCATION',\n });\n\n const loadProject = () =>\n loadSetting({\n settingValue: options.project,\n settingName: 'project',\n environmentVariableName: 'GOOGLE_VERTEX_PROJECT',\n description: 'Google Vertex project',\n });\n\n // Construct base URL: https://aiplatform.googleapis.com/v1/projects/{project}/locations/{location}/endpoints/openapi\n const constructBaseURL = () => {\n const projectId = loadProject();\n const location = loadLocation() ?? 'global';\n\n return `https://aiplatform.googleapis.com/v1/projects/${projectId}/locations/${location}/endpoints/openapi`;\n };\n\n const loadBaseURL = () =>\n withoutTrailingSlash(options.baseURL ?? '') || constructBaseURL();\n\n let cachedProvider: GoogleVertexMaasProvider | undefined;\n const getProvider = () =>\n (cachedProvider ??= createOpenAICompatible({\n name: 'vertex.maas',\n baseURL: loadBaseURL(),\n fetch: options.fetch,\n }));\n\n const provider = (modelId: GoogleVertexMaasModelId) => getProvider()(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.languageModel = (modelId: GoogleVertexMaasModelId) =>\n getProvider().languageModel(modelId);\n provider.chatModel = (modelId: GoogleVertexMaasModelId) =>\n getProvider().chatModel(modelId);\n provider.completionModel = (modelId: string) =>\n getProvider().completionModel(modelId);\n provider.embeddingModel = (modelId: string) =>\n getProvider().embeddingModel(modelId);\n provider.textEmbeddingModel = (modelId: string) =>\n getProvider().textEmbeddingModel(modelId);\n provider.imageModel = (modelId: string) => getProvider().imageModel(modelId);\n\n return provider as GoogleVertexMaasProvider;\n}\n"],"mappings":";AAAA,SAAwB,eAAe;;;ACAvC,SAAS,kBAAqC;AAE9C,IAAI,eAAkC;AACtC,IAAI,cAAwC;AAE5C,SAAS,QAAQ,SAA4B;AAC3C,MAAI,CAAC,gBAAgB,YAAY,aAAa;AAC5C,mBAAe,IAAI,WAAW;AAAA,MAC5B,QAAQ,CAAC,gDAAgD;AAAA,MACzD,GAAG;AAAA,IACL,CAAC;AACD,kBAAc;AAAA,EAChB;AACA,SAAO;AACT;AAEA,eAAsB,kBAAkB,SAA6B;AACnE,QAAM,OAAO,QAAQ,WAAW,CAAC,CAAC;AAClC,QAAM,SAAS,MAAM,KAAK,UAAU;AACpC,QAAM,QAAQ,MAAM,OAAO,eAAe;AAC1C,UAAO,+BAAO,UAAS;AACzB;;;ACrBA,SAAS,8BAA8B;AAEvC;AAAA,EAEE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAiDA,SAAS,iBACd,UAA4C,CAAC,GACnB;AAE1B,QAAM,eAAe,MACnB,oBAAoB;AAAA,IAClB,cAAc,QAAQ;AAAA,IACtB,yBAAyB;AAAA,EAC3B,CAAC;AAEH,QAAM,cAAc,MAClB,YAAY;AAAA,IACV,cAAc,QAAQ;AAAA,IACtB,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAGH,QAAM,mBAAmB,MAAM;AA5EjC;AA6EI,UAAM,YAAY,YAAY;AAC9B,UAAM,YAAW,kBAAa,MAAb,YAAkB;AAEnC,WAAO,iDAAiD,SAAS,cAAc,QAAQ;AAAA,EACzF;AAEA,QAAM,cAAc,MAAG;AAnFzB;AAoFI,iCAAqB,aAAQ,YAAR,YAAmB,EAAE,KAAK,iBAAiB;AAAA;AAElE,MAAI;AACJ,QAAM,cAAc,MACjB,2DAAmB,uBAAuB;AAAA,IACzC,MAAM;AAAA,IACN,SAAS,YAAY;AAAA,IACrB,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,CAAC,YAAqC,YAAY,EAAE,OAAO;AAE5E,WAAS,uBAAuB;AAChC,WAAS,gBAAgB,CAAC,YACxB,YAAY,EAAE,cAAc,OAAO;AACrC,WAAS,YAAY,CAAC,YACpB,YAAY,EAAE,UAAU,OAAO;AACjC,WAAS,kBAAkB,CAAC,YAC1B,YAAY,EAAE,gBAAgB,OAAO;AACvC,WAAS,iBAAiB,CAAC,YACzB,YAAY,EAAE,eAAe,OAAO;AACtC,WAAS,qBAAqB,CAAC,YAC7B,YAAY,EAAE,mBAAmB,OAAO;AAC1C,WAAS,aAAa,CAAC,YAAoB,YAAY,EAAE,WAAW,OAAO;AAE3E,SAAO;AACT;;;AFlFO,SAASA,kBACd,UAA4C,CAAC,GACnB;AAE1B,QAAM,cAA6B,OAAO,KAAK,SAAS;AAhC1D;AAiCI,UAAM,QAAQ,MAAM,kBAAkB,QAAQ,iBAAiB;AAC/D,UAAM,kBAAkB,MAAM,QAAQ,QAAQ,OAAO;AACrD,UAAM,cAAc;AAAA,MAClB,GAAG;AAAA,MACH,eAAe,UAAU,KAAK;AAAA,IAChC;AAGA,UAAM,YAAY;AAAA,MAChB,GAAG;AAAA,MACH,SAAS;AAAA,QACP,GAAG,6BAAM;AAAA,QACT,GAAG;AAAA,MACL;AAAA,IACF;AAGA,aAAQ,aAAQ,UAAR,YAAiB,OAAO,KAAK,SAAS;AAAA,EAChD;AAEA,SAAO,iBAAyB;AAAA,IAC9B,GAAG;AAAA,IACH,OAAO;AAAA,IACP,SAAS;AAAA;AAAA,EACX,CAAC;AACH;AAKO,IAAM,aAAaA,kBAAiB;","names":["createVertexMaas"]}
1
+ {"version":3,"sources":["../../src/maas/google-vertex-maas-provider-node.ts","../../src/google-vertex-auth-google-auth-library.ts","../../src/maas/google-vertex-maas-provider.ts"],"sourcesContent":["import { resolve, type FetchFunction } from '@ai-sdk/provider-utils';\nimport type { GoogleAuthOptions } from 'google-auth-library';\nimport { generateAuthToken } from '../google-vertex-auth-google-auth-library';\nimport {\n createVertexMaas as createVertexMaasOriginal,\n type GoogleVertexMaasProvider,\n type GoogleVertexMaasProviderSettings as GoogleVertexMaasProviderSettingsOriginal,\n} from './google-vertex-maas-provider';\n\nexport type { GoogleVertexMaasProvider };\n\nexport interface GoogleVertexMaasProviderSettings extends GoogleVertexMaasProviderSettingsOriginal {\n /**\n * Optional. The Authentication options provided by google-auth-library.\n * Complete list of authentication options is documented in the\n * GoogleAuthOptions interface:\n * https://github.com/googleapis/google-auth-library-nodejs/blob/main/src/auth/googleauth.ts.\n */\n googleAuthOptions?: GoogleAuthOptions;\n}\n\n/**\n * Create a Google Vertex AI MaaS (Model as a Service) provider instance for Node.js.\n * Uses the OpenAI-compatible Chat Completions API for partner and open models.\n * Automatically handles Google Cloud authentication.\n *\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/maas/use-open-models\n */\nexport function createVertexMaas(\n options: GoogleVertexMaasProviderSettings = {},\n): GoogleVertexMaasProvider {\n // Create a custom fetch wrapper that adds auth headers\n const customFetch: FetchFunction = async (url, init) => {\n const token = await generateAuthToken(options.googleAuthOptions);\n const resolvedHeaders = await resolve(options.headers);\n const authHeaders = {\n ...resolvedHeaders,\n Authorization: `Bearer ${token}`,\n };\n\n // Merge auth headers with existing headers from init\n const fetchInit = {\n ...init,\n headers: {\n ...init?.headers,\n ...authHeaders,\n },\n };\n\n // Call the original fetch or user's custom fetch\n return (options.fetch ?? fetch)(url, fetchInit);\n };\n\n return createVertexMaasOriginal({\n ...options,\n fetch: customFetch,\n headers: undefined, // Don't pass headers, we handle them in fetch\n });\n}\n\n/**\n * Default Google Vertex AI MaaS provider instance for Node.js.\n */\nexport const vertexMaas = createVertexMaas();\n","import { GoogleAuth, type GoogleAuthOptions } from 'google-auth-library';\n\nlet authInstance: GoogleAuth | null = null;\nlet authOptions: GoogleAuthOptions | null = null;\n\nfunction getAuth(options: GoogleAuthOptions) {\n if (!authInstance || options !== authOptions) {\n authInstance = new GoogleAuth({\n scopes: ['https://www.googleapis.com/auth/cloud-platform'],\n ...options,\n });\n authOptions = options;\n }\n return authInstance;\n}\n\nexport async function generateAuthToken(options?: GoogleAuthOptions) {\n const auth = getAuth(options || {});\n const client = await auth.getClient();\n const token = await client.getAccessToken();\n return token?.token || null;\n}\n\n// For testing purposes only\nexport function _resetAuthInstance() {\n authInstance = null;\n}\n","import {\n createOpenAICompatible,\n type OpenAICompatibleProvider,\n} from '@ai-sdk/openai-compatible';\nimport {\n loadOptionalSetting,\n loadSetting,\n withoutTrailingSlash,\n type FetchFunction,\n type Resolvable,\n} from '@ai-sdk/provider-utils';\nimport type { GoogleVertexMaasModelId } from './google-vertex-maas-options';\n\nexport interface GoogleVertexMaasProvider extends OpenAICompatibleProvider<\n GoogleVertexMaasModelId,\n string,\n string,\n string\n> {}\n\nexport interface GoogleVertexMaasProviderSettings {\n /**\n * Google Cloud project ID. Defaults to the value of the `GOOGLE_VERTEX_PROJECT` environment variable.\n */\n project?: string;\n\n /**\n * Google Cloud location/region. Defaults to the value of the `GOOGLE_VERTEX_LOCATION` environment variable.\n * Use 'global' for the global endpoint.\n */\n location?: string;\n\n /**\n * Base URL for the API calls. If not provided, will be constructed from project and location.\n */\n baseURL?: string;\n\n /**\n * Headers to use for requests. Can be:\n * - A headers object\n * - A Promise that resolves to a headers object\n * - A function that returns a headers object\n * - A function that returns a Promise of a headers object\n */\n headers?: Resolvable<Record<string, string | undefined>>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\n * Create a Google Vertex AI MaaS (Model as a Service) provider instance.\n * Uses the OpenAI-compatible Chat Completions API for partner and open models.\n *\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/maas/use-open-models\n */\nexport function createVertexMaas(\n options: GoogleVertexMaasProviderSettings = {},\n): GoogleVertexMaasProvider {\n // Lazy-load settings to support loading from environment variables at runtime\n const loadLocation = () =>\n loadOptionalSetting({\n settingValue: options.location,\n environmentVariableName: 'GOOGLE_VERTEX_LOCATION',\n });\n\n const loadProject = () =>\n loadSetting({\n settingValue: options.project,\n settingName: 'project',\n environmentVariableName: 'GOOGLE_VERTEX_PROJECT',\n description: 'Google Vertex project',\n });\n\n // Construct base URL: https://aiplatform.googleapis.com/v1/projects/{project}/locations/{location}/endpoints/openapi\n const constructBaseURL = () => {\n const projectId = loadProject();\n const location = loadLocation() ?? 'global';\n\n return `https://aiplatform.googleapis.com/v1/projects/${projectId}/locations/${location}/endpoints/openapi`;\n };\n\n const loadBaseURL = () =>\n withoutTrailingSlash(options.baseURL ?? '') || constructBaseURL();\n\n let cachedProvider: GoogleVertexMaasProvider | undefined;\n const getProvider = () =>\n (cachedProvider ??= createOpenAICompatible({\n name: 'vertex.maas',\n baseURL: loadBaseURL(),\n fetch: options.fetch,\n }));\n\n const provider = (modelId: GoogleVertexMaasModelId) => getProvider()(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.languageModel = (modelId: GoogleVertexMaasModelId) =>\n getProvider().languageModel(modelId);\n provider.chatModel = (modelId: GoogleVertexMaasModelId) =>\n getProvider().chatModel(modelId);\n provider.completionModel = (modelId: string) =>\n getProvider().completionModel(modelId);\n provider.embeddingModel = (modelId: string) =>\n getProvider().embeddingModel(modelId);\n provider.textEmbeddingModel = (modelId: string) =>\n getProvider().textEmbeddingModel(modelId);\n provider.imageModel = (modelId: string) => getProvider().imageModel(modelId);\n\n return provider as GoogleVertexMaasProvider;\n}\n"],"mappings":";AAAA,SAAS,eAAmC;;;ACA5C,SAAS,kBAA0C;AAEnD,IAAI,eAAkC;AACtC,IAAI,cAAwC;AAE5C,SAAS,QAAQ,SAA4B;AAC3C,MAAI,CAAC,gBAAgB,YAAY,aAAa;AAC5C,mBAAe,IAAI,WAAW;AAAA,MAC5B,QAAQ,CAAC,gDAAgD;AAAA,MACzD,GAAG;AAAA,IACL,CAAC;AACD,kBAAc;AAAA,EAChB;AACA,SAAO;AACT;AAEA,eAAsB,kBAAkB,SAA6B;AACnE,QAAM,OAAO,QAAQ,WAAW,CAAC,CAAC;AAClC,QAAM,SAAS,MAAM,KAAK,UAAU;AACpC,QAAM,QAAQ,MAAM,OAAO,eAAe;AAC1C,UAAO,+BAAO,UAAS;AACzB;;;ACrBA;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAiDA,SAAS,iBACd,UAA4C,CAAC,GACnB;AAE1B,QAAM,eAAe,MACnB,oBAAoB;AAAA,IAClB,cAAc,QAAQ;AAAA,IACtB,yBAAyB;AAAA,EAC3B,CAAC;AAEH,QAAM,cAAc,MAClB,YAAY;AAAA,IACV,cAAc,QAAQ;AAAA,IACtB,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAGH,QAAM,mBAAmB,MAAM;AA9EjC;AA+EI,UAAM,YAAY,YAAY;AAC9B,UAAM,YAAW,kBAAa,MAAb,YAAkB;AAEnC,WAAO,iDAAiD,SAAS,cAAc,QAAQ;AAAA,EACzF;AAEA,QAAM,cAAc,MAAG;AArFzB;AAsFI,iCAAqB,aAAQ,YAAR,YAAmB,EAAE,KAAK,iBAAiB;AAAA;AAElE,MAAI;AACJ,QAAM,cAAc,MACjB,2DAAmB,uBAAuB;AAAA,IACzC,MAAM;AAAA,IACN,SAAS,YAAY;AAAA,IACrB,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,CAAC,YAAqC,YAAY,EAAE,OAAO;AAE5E,WAAS,uBAAuB;AAChC,WAAS,gBAAgB,CAAC,YACxB,YAAY,EAAE,cAAc,OAAO;AACrC,WAAS,YAAY,CAAC,YACpB,YAAY,EAAE,UAAU,OAAO;AACjC,WAAS,kBAAkB,CAAC,YAC1B,YAAY,EAAE,gBAAgB,OAAO;AACvC,WAAS,iBAAiB,CAAC,YACzB,YAAY,EAAE,eAAe,OAAO;AACtC,WAAS,qBAAqB,CAAC,YAC7B,YAAY,EAAE,mBAAmB,OAAO;AAC1C,WAAS,aAAa,CAAC,YAAoB,YAAY,EAAE,WAAW,OAAO;AAE3E,SAAO;AACT;;;AFpFO,SAASA,kBACd,UAA4C,CAAC,GACnB;AAE1B,QAAM,cAA6B,OAAO,KAAK,SAAS;AAhC1D;AAiCI,UAAM,QAAQ,MAAM,kBAAkB,QAAQ,iBAAiB;AAC/D,UAAM,kBAAkB,MAAM,QAAQ,QAAQ,OAAO;AACrD,UAAM,cAAc;AAAA,MAClB,GAAG;AAAA,MACH,eAAe,UAAU,KAAK;AAAA,IAChC;AAGA,UAAM,YAAY;AAAA,MAChB,GAAG;AAAA,MACH,SAAS;AAAA,QACP,GAAG,6BAAM;AAAA,QACT,GAAG;AAAA,MACL;AAAA,IACF;AAGA,aAAQ,aAAQ,UAAR,YAAiB,OAAO,KAAK,SAAS;AAAA,EAChD;AAEA,SAAO,iBAAyB;AAAA,IAC9B,GAAG;AAAA,IACH,OAAO;AAAA,IACP,SAAS;AAAA;AAAA,EACX,CAAC;AACH;AAKO,IAAM,aAAaA,kBAAiB;","names":["createVertexMaas"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/google-vertex",
3
- "version": "4.0.113",
3
+ "version": "4.0.115",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -60,18 +60,18 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "google-auth-library": "^10.5.0",
63
- "@ai-sdk/anthropic": "3.0.72",
64
- "@ai-sdk/google": "3.0.65",
65
- "@ai-sdk/openai-compatible": "2.0.42",
66
- "@ai-sdk/provider": "3.0.9",
67
- "@ai-sdk/provider-utils": "4.0.24"
63
+ "@ai-sdk/anthropic": "3.0.73",
64
+ "@ai-sdk/google": "3.0.66",
65
+ "@ai-sdk/openai-compatible": "2.0.43",
66
+ "@ai-sdk/provider": "3.0.10",
67
+ "@ai-sdk/provider-utils": "4.0.25"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@types/node": "20.17.24",
71
71
  "tsup": "^8",
72
72
  "typescript": "5.8.3",
73
73
  "zod": "3.25.76",
74
- "@ai-sdk/test-server": "1.0.4",
74
+ "@ai-sdk/test-server": "1.0.5",
75
75
  "@vercel/ai-tsconfig": "0.0.0"
76
76
  },
77
77
  "peerDependencies": {
@@ -1,12 +1,12 @@
1
1
  import { resolve } from '@ai-sdk/provider-utils';
2
2
  import {
3
- generateAuthToken,
4
- GoogleCredentials,
3
+ generateAuthToken as defaultGenerateAuthToken,
4
+ type GoogleCredentials,
5
5
  } from '../../edge/google-vertex-auth-edge';
6
6
  import {
7
7
  createVertexAnthropic as createVertexAnthropicOriginal,
8
- GoogleVertexAnthropicProvider,
9
- GoogleVertexAnthropicProviderSettings as GoogleVertexAnthropicProviderSettingsOriginal,
8
+ type GoogleVertexAnthropicProvider,
9
+ type GoogleVertexAnthropicProviderSettings as GoogleVertexAnthropicProviderSettingsOriginal,
10
10
  } from '../google-vertex-anthropic-provider';
11
11
 
12
12
  export type { GoogleVertexAnthropicProvider };
@@ -18,17 +18,23 @@ export interface GoogleVertexAnthropicProviderSettings extends GoogleVertexAnthr
18
18
  * load the credentials.
19
19
  */
20
20
  googleCredentials?: GoogleCredentials;
21
+ /**
22
+ * Optional. Override the Bearer token generator. Defaults to OAuth exchange
23
+ * with `googleCredentials`.
24
+ */
25
+ generateAuthToken?: () => Promise<string>;
21
26
  }
22
27
 
23
28
  export function createVertexAnthropic(
24
29
  options: GoogleVertexAnthropicProviderSettings = {},
25
30
  ): GoogleVertexAnthropicProvider {
31
+ const generateAuthToken =
32
+ options.generateAuthToken ??
33
+ (() => defaultGenerateAuthToken(options.googleCredentials));
26
34
  return createVertexAnthropicOriginal({
27
35
  ...options,
28
36
  headers: async () => ({
29
- Authorization: `Bearer ${await generateAuthToken(
30
- options.googleCredentials,
31
- )}`,
37
+ Authorization: `Bearer ${await generateAuthToken()}`,
32
38
  ...(await resolve(options.headers)),
33
39
  }),
34
40
  });
@@ -1,10 +1,10 @@
1
1
  import { resolve } from '@ai-sdk/provider-utils';
2
- import { GoogleAuthOptions } from 'google-auth-library';
3
- import { generateAuthToken } from '../google-vertex-auth-google-auth-library';
2
+ import type { GoogleAuthOptions } from 'google-auth-library';
3
+ import { generateAuthToken as defaultGenerateAuthToken } from '../google-vertex-auth-google-auth-library';
4
4
  import {
5
5
  createVertexAnthropic as createVertexAnthropicOriginal,
6
- GoogleVertexAnthropicProvider,
7
- GoogleVertexAnthropicProviderSettings as GoogleVertexAnthropicProviderSettingsOriginal,
6
+ type GoogleVertexAnthropicProvider,
7
+ type GoogleVertexAnthropicProviderSettings as GoogleVertexAnthropicProviderSettingsOriginal,
8
8
  } from './google-vertex-anthropic-provider';
9
9
 
10
10
  export type { GoogleVertexAnthropicProvider };
@@ -17,17 +17,23 @@ export interface GoogleVertexAnthropicProviderSettings extends GoogleVertexAnthr
17
17
  * https://github.com/googleapis/google-auth-library-nodejs/blob/main/src/auth/googleauth.ts.
18
18
  */
19
19
  googleAuthOptions?: GoogleAuthOptions;
20
+ /**
21
+ * Optional. Override the Bearer token generator. Defaults to OAuth exchange
22
+ * via `google-auth-library` with `googleAuthOptions`.
23
+ */
24
+ generateAuthToken?: () => Promise<string | null>;
20
25
  }
21
26
 
22
27
  export function createVertexAnthropic(
23
28
  options: GoogleVertexAnthropicProviderSettings = {},
24
29
  ): GoogleVertexAnthropicProvider {
30
+ const generateAuthToken =
31
+ options.generateAuthToken ??
32
+ (() => defaultGenerateAuthToken(options.googleAuthOptions));
25
33
  return createVertexAnthropicOriginal({
26
34
  ...options,
27
35
  headers: async () => ({
28
- Authorization: `Bearer ${await generateAuthToken(
29
- options.googleAuthOptions,
30
- )}`,
36
+ Authorization: `Bearer ${await generateAuthToken()}`,
31
37
  ...(await resolve(options.headers)),
32
38
  }),
33
39
  });
@@ -1,19 +1,19 @@
1
1
  import {
2
- LanguageModelV3,
3
2
  NoSuchModelError,
4
- ProviderV3,
3
+ type LanguageModelV3,
4
+ type ProviderV3,
5
5
  } from '@ai-sdk/provider';
6
6
  import {
7
- FetchFunction,
8
- Resolvable,
9
7
  loadOptionalSetting,
10
8
  withoutTrailingSlash,
9
+ type FetchFunction,
10
+ type Resolvable,
11
11
  } from '@ai-sdk/provider-utils';
12
12
  import {
13
13
  anthropicTools,
14
14
  AnthropicMessagesLanguageModel,
15
15
  } from '@ai-sdk/anthropic/internal';
16
- import { GoogleVertexAnthropicMessagesModelId } from './google-vertex-anthropic-messages-options';
16
+ import type { GoogleVertexAnthropicMessagesModelId } from './google-vertex-anthropic-messages-options';
17
17
 
18
18
  /**
19
19
  * Tools supported by Google Vertex Anthropic.
@@ -1,12 +1,12 @@
1
1
  import { loadOptionalSetting, resolve } from '@ai-sdk/provider-utils';
2
2
  import {
3
3
  createVertex as createVertexOriginal,
4
- GoogleVertexProvider,
5
- GoogleVertexProviderSettings as GoogleVertexProviderSettingsOriginal,
4
+ type GoogleVertexProvider,
5
+ type GoogleVertexProviderSettings as GoogleVertexProviderSettingsOriginal,
6
6
  } from '../google-vertex-provider';
7
7
  import {
8
8
  generateAuthToken,
9
- GoogleCredentials,
9
+ type GoogleCredentials,
10
10
  } from './google-vertex-auth-edge';
11
11
 
12
12
  export type { GoogleVertexProvider };
@@ -1,4 +1,4 @@
1
- import { GoogleAuth, GoogleAuthOptions } from 'google-auth-library';
1
+ import { GoogleAuth, type GoogleAuthOptions } from 'google-auth-library';
2
2
 
3
3
  let authInstance: GoogleAuth | null = null;
4
4
  let authOptions: GoogleAuthOptions | null = null;
@@ -1,4 +1,4 @@
1
- import { FetchFunction, Resolvable } from '@ai-sdk/provider-utils';
1
+ import type { FetchFunction, Resolvable } from '@ai-sdk/provider-utils';
2
2
 
3
3
  export interface GoogleVertexConfig {
4
4
  provider: string;
@@ -1,6 +1,6 @@
1
1
  import {
2
- EmbeddingModelV3,
3
2
  TooManyEmbeddingValuesForCallError,
3
+ type EmbeddingModelV3,
4
4
  } from '@ai-sdk/provider';
5
5
  import {
6
6
  combineHeaders,
@@ -12,10 +12,10 @@ import {
12
12
  import { z } from 'zod/v4';
13
13
  import { googleVertexFailedResponseHandler } from './google-vertex-error';
14
14
  import {
15
- GoogleVertexEmbeddingModelId,
16
15
  googleVertexEmbeddingModelOptions,
16
+ type GoogleVertexEmbeddingModelId,
17
17
  } from './google-vertex-embedding-options';
18
- import { GoogleVertexConfig } from './google-vertex-config';
18
+ import type { GoogleVertexConfig } from './google-vertex-config';
19
19
 
20
20
  export class GoogleVertexEmbeddingModel implements EmbeddingModelV3 {
21
21
  readonly specificationVersion = 'v3';
@@ -1,13 +1,12 @@
1
1
  import type { GoogleLanguageModelOptions } from '@ai-sdk/google';
2
2
  import { GoogleGenerativeAILanguageModel } from '@ai-sdk/google/internal';
3
- import {
3
+ import type {
4
4
  ImageModelV3,
5
5
  ImageModelV3File,
6
6
  LanguageModelV3Prompt,
7
7
  SharedV3Warning,
8
8
  } from '@ai-sdk/provider';
9
9
  import {
10
- Resolvable,
11
10
  combineHeaders,
12
11
  convertToBase64,
13
12
  convertUint8ArrayToBase64,
@@ -16,10 +15,11 @@ import {
16
15
  parseProviderOptions,
17
16
  postJsonToApi,
18
17
  resolve,
18
+ type Resolvable,
19
19
  } from '@ai-sdk/provider-utils';
20
20
  import { z } from 'zod/v4';
21
21
  import { googleVertexFailedResponseHandler } from './google-vertex-error';
22
- import { GoogleVertexImageModelId } from './google-vertex-image-settings';
22
+ import type { GoogleVertexImageModelId } from './google-vertex-image-settings';
23
23
 
24
24
  interface GoogleVertexImageModelConfig {
25
25
  provider: string;
@@ -1,10 +1,10 @@
1
1
  import { loadOptionalSetting, resolve } from '@ai-sdk/provider-utils';
2
- import { GoogleAuthOptions } from 'google-auth-library';
2
+ import type { GoogleAuthOptions } from 'google-auth-library';
3
3
  import { generateAuthToken } from './google-vertex-auth-google-auth-library';
4
4
  import {
5
5
  createVertex as createVertexOriginal,
6
- GoogleVertexProvider,
7
- GoogleVertexProviderSettings as GoogleVertexProviderSettingsOriginal,
6
+ type GoogleVertexProvider,
7
+ type GoogleVertexProviderSettings as GoogleVertexProviderSettingsOriginal,
8
8
  } from './google-vertex-provider';
9
9
 
10
10
  export interface GoogleVertexProviderSettings extends GoogleVertexProviderSettingsOriginal {
@@ -1,31 +1,31 @@
1
1
  import { GoogleGenerativeAILanguageModel } from '@ai-sdk/google/internal';
2
- import {
2
+ import type {
3
3
  Experimental_VideoModelV3,
4
4
  ImageModelV3,
5
5
  LanguageModelV3,
6
6
  ProviderV3,
7
7
  } from '@ai-sdk/provider';
8
8
  import {
9
- FetchFunction,
10
9
  generateId,
11
10
  loadOptionalSetting,
12
11
  loadSetting,
13
12
  normalizeHeaders,
14
13
  resolve,
15
- Resolvable,
16
14
  withoutTrailingSlash,
17
15
  withUserAgentSuffix,
16
+ type FetchFunction,
17
+ type Resolvable,
18
18
  } from '@ai-sdk/provider-utils';
19
19
  import { VERSION } from './version';
20
- import { GoogleVertexConfig } from './google-vertex-config';
20
+ import type { GoogleVertexConfig } from './google-vertex-config';
21
21
  import { GoogleVertexEmbeddingModel } from './google-vertex-embedding-model';
22
- import { GoogleVertexEmbeddingModelId } from './google-vertex-embedding-options';
22
+ import type { GoogleVertexEmbeddingModelId } from './google-vertex-embedding-options';
23
23
  import { GoogleVertexImageModel } from './google-vertex-image-model';
24
- import { GoogleVertexImageModelId } from './google-vertex-image-settings';
25
- import { GoogleVertexModelId } from './google-vertex-options';
24
+ import type { GoogleVertexImageModelId } from './google-vertex-image-settings';
25
+ import type { GoogleVertexModelId } from './google-vertex-options';
26
26
  import { googleVertexTools } from './google-vertex-tools';
27
27
  import { GoogleVertexVideoModel } from './google-vertex-video-model';
28
- import { GoogleVertexVideoModelId } from './google-vertex-video-settings';
28
+ import type { GoogleVertexVideoModelId } from './google-vertex-video-settings';
29
29
 
30
30
  const EXPRESS_MODE_BASE_URL =
31
31
  'https://aiplatform.googleapis.com/v1/publishers/google';
@@ -1,12 +1,12 @@
1
- import { FetchFunction, resolve } from '@ai-sdk/provider-utils';
1
+ import { resolve, type FetchFunction } from '@ai-sdk/provider-utils';
2
2
  import {
3
3
  generateAuthToken,
4
- GoogleCredentials,
4
+ type GoogleCredentials,
5
5
  } from '../../edge/google-vertex-auth-edge';
6
6
  import {
7
7
  createVertexMaas as createVertexMaasOriginal,
8
- GoogleVertexMaasProvider,
9
- GoogleVertexMaasProviderSettings as GoogleVertexMaasProviderSettingsOriginal,
8
+ type GoogleVertexMaasProvider,
9
+ type GoogleVertexMaasProviderSettings as GoogleVertexMaasProviderSettingsOriginal,
10
10
  } from '../google-vertex-maas-provider';
11
11
 
12
12
  export type { GoogleVertexMaasProvider };
@@ -1,10 +1,10 @@
1
- import { FetchFunction, resolve } from '@ai-sdk/provider-utils';
2
- import { GoogleAuthOptions } from 'google-auth-library';
1
+ import { resolve, type FetchFunction } from '@ai-sdk/provider-utils';
2
+ import type { GoogleAuthOptions } from 'google-auth-library';
3
3
  import { generateAuthToken } from '../google-vertex-auth-google-auth-library';
4
4
  import {
5
5
  createVertexMaas as createVertexMaasOriginal,
6
- GoogleVertexMaasProvider,
7
- GoogleVertexMaasProviderSettings as GoogleVertexMaasProviderSettingsOriginal,
6
+ type GoogleVertexMaasProvider,
7
+ type GoogleVertexMaasProviderSettings as GoogleVertexMaasProviderSettingsOriginal,
8
8
  } from './google-vertex-maas-provider';
9
9
 
10
10
  export type { GoogleVertexMaasProvider };
@@ -1,11 +1,13 @@
1
- import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
2
- import type { OpenAICompatibleProvider } from '@ai-sdk/openai-compatible';
3
1
  import {
4
- FetchFunction,
2
+ createOpenAICompatible,
3
+ type OpenAICompatibleProvider,
4
+ } from '@ai-sdk/openai-compatible';
5
+ import {
5
6
  loadOptionalSetting,
6
7
  loadSetting,
7
- Resolvable,
8
8
  withoutTrailingSlash,
9
+ type FetchFunction,
10
+ type Resolvable,
9
11
  } from '@ai-sdk/provider-utils';
10
12
  import type { GoogleVertexMaasModelId } from './google-vertex-maas-options';
11
13