@ai-sdk/google-vertex 3.0.0-canary.2 → 3.0.0-canary.20

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 (36) hide show
  1. package/CHANGELOG.md +262 -0
  2. package/README.md +3 -3
  3. package/anthropic/edge.d.ts +1 -0
  4. package/anthropic/index.d.ts +1 -0
  5. package/{anthropic/edge/dist → dist/anthropic/edge}/index.d.mts +3 -5
  6. package/{anthropic/edge/dist → dist/anthropic/edge}/index.d.ts +3 -5
  7. package/{anthropic/edge/dist → dist/anthropic/edge}/index.js +16 -21
  8. package/dist/anthropic/edge/index.js.map +1 -0
  9. package/{anthropic/edge/dist → dist/anthropic/edge}/index.mjs +16 -21
  10. package/dist/anthropic/edge/index.mjs.map +1 -0
  11. package/{anthropic/dist → dist/anthropic}/index.d.mts +3 -5
  12. package/{anthropic/dist → dist/anthropic}/index.d.ts +3 -5
  13. package/{anthropic/dist → dist/anthropic}/index.js +16 -21
  14. package/dist/anthropic/index.js.map +1 -0
  15. package/{anthropic/dist → dist/anthropic}/index.mjs +16 -21
  16. package/dist/anthropic/index.mjs.map +1 -0
  17. package/{edge/dist → dist/edge}/index.d.mts +7 -16
  18. package/{edge/dist → dist/edge}/index.d.ts +7 -16
  19. package/{edge/dist → dist/edge}/index.js +66 -57
  20. package/dist/edge/index.js.map +1 -0
  21. package/{edge/dist → dist/edge}/index.mjs +69 -59
  22. package/dist/edge/index.mjs.map +1 -0
  23. package/dist/index.d.mts +6 -15
  24. package/dist/index.d.ts +6 -15
  25. package/dist/index.js +66 -57
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +69 -59
  28. package/dist/index.mjs.map +1 -1
  29. package/edge.d.ts +1 -0
  30. package/package.json +30 -29
  31. package/anthropic/dist/index.js.map +0 -1
  32. package/anthropic/dist/index.mjs.map +0 -1
  33. package/anthropic/edge/dist/index.js.map +0 -1
  34. package/anthropic/edge/dist/index.mjs.map +0 -1
  35. package/edge/dist/index.js.map +0 -1
  36. package/edge/dist/index.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,267 @@
1
1
  # @ai-sdk/google-vertex
2
2
 
3
+ ## 3.0.0-canary.20
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [faf8446]
8
+ - @ai-sdk/provider-utils@3.0.0-canary.19
9
+ - @ai-sdk/anthropic@2.0.0-canary.19
10
+ - @ai-sdk/google@2.0.0-canary.20
11
+
12
+ ## 3.0.0-canary.19
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [40acf9b]
17
+ - @ai-sdk/provider-utils@3.0.0-canary.18
18
+ - @ai-sdk/anthropic@2.0.0-canary.18
19
+ - @ai-sdk/google@2.0.0-canary.19
20
+
21
+ ## 3.0.0-canary.18
22
+
23
+ ### Major Changes
24
+
25
+ - 516be5b: ### Move Image Model Settings into generate options
26
+
27
+ Image Models no longer have settings. Instead, `maxImagesPerCall` can be passed directly to `generateImage()`. All other image settings can be passed to `providerOptions[provider]`.
28
+
29
+ Before
30
+
31
+ ```js
32
+ await generateImage({
33
+ model: luma.image('photon-flash-1', {
34
+ maxImagesPerCall: 5,
35
+ pollIntervalMillis: 500,
36
+ }),
37
+ prompt,
38
+ n: 10,
39
+ });
40
+ ```
41
+
42
+ After
43
+
44
+ ```js
45
+ await generateImage({
46
+ model: luma.image('photon-flash-1'),
47
+ prompt,
48
+ n: 10,
49
+ maxImagesPerCall: 5,
50
+ providerOptions: {
51
+ luma: { pollIntervalMillis: 5 },
52
+ },
53
+ });
54
+ ```
55
+
56
+ Pull Request: https://github.com/vercel/ai/pull/6180
57
+
58
+ ### Patch Changes
59
+
60
+ - Updated dependencies [f07a6d4]
61
+ - Updated dependencies [ea7a7c9]
62
+ - @ai-sdk/google@2.0.0-canary.18
63
+ - @ai-sdk/provider-utils@3.0.0-canary.17
64
+ - @ai-sdk/anthropic@2.0.0-canary.17
65
+
66
+ ## 3.0.0-canary.17
67
+
68
+ ### Patch Changes
69
+
70
+ - Updated dependencies [87b828f]
71
+ - @ai-sdk/provider-utils@3.0.0-canary.16
72
+ - @ai-sdk/anthropic@2.0.0-canary.16
73
+ - @ai-sdk/google@2.0.0-canary.17
74
+
75
+ ## 3.0.0-canary.16
76
+
77
+ ### Patch Changes
78
+
79
+ - Updated dependencies [a571d6e]
80
+ - Updated dependencies [a8c8bd5]
81
+ - Updated dependencies [7979f7f]
82
+ - Updated dependencies [41fa418]
83
+ - @ai-sdk/provider-utils@3.0.0-canary.15
84
+ - @ai-sdk/provider@2.0.0-canary.14
85
+ - @ai-sdk/anthropic@2.0.0-canary.15
86
+ - @ai-sdk/google@2.0.0-canary.16
87
+
88
+ ## 3.0.0-canary.15
89
+
90
+ ### Patch Changes
91
+
92
+ - Updated dependencies [957b739]
93
+ - Updated dependencies [9bd5ab5]
94
+ - @ai-sdk/provider-utils@3.0.0-canary.14
95
+ - @ai-sdk/provider@2.0.0-canary.13
96
+ - @ai-sdk/anthropic@2.0.0-canary.14
97
+ - @ai-sdk/google@2.0.0-canary.15
98
+
99
+ ## 3.0.0-canary.14
100
+
101
+ ### Patch Changes
102
+
103
+ - 8e171f5: feat (provider/google-vertex): add imagen-3.0-generate-002
104
+ - d9209ca: fix (image-model): `specificationVersion: v1` -> `v2`
105
+ - Updated dependencies [f916255]
106
+ - Updated dependencies [7b3ae3f]
107
+ - Updated dependencies [0ff02bb]
108
+ - @ai-sdk/google@2.0.0-canary.14
109
+ - @ai-sdk/provider@2.0.0-canary.12
110
+ - @ai-sdk/provider-utils@3.0.0-canary.13
111
+ - @ai-sdk/anthropic@2.0.0-canary.13
112
+
113
+ ## 3.0.0-canary.13
114
+
115
+ ### Patch Changes
116
+
117
+ - 5c9eec4: chore(providers/anthropic): switch to providerOptions
118
+ - 7378473: chore(providers/google): switch to providerOptions
119
+ - Updated dependencies [5c9eec4]
120
+ - Updated dependencies [9bf7291]
121
+ - Updated dependencies [7378473]
122
+ - Updated dependencies [4617fab]
123
+ - Updated dependencies [e030615]
124
+ - @ai-sdk/anthropic@2.0.0-canary.12
125
+ - @ai-sdk/provider@2.0.0-canary.11
126
+ - @ai-sdk/google@2.0.0-canary.13
127
+ - @ai-sdk/provider-utils@3.0.0-canary.12
128
+
129
+ ## 3.0.0-canary.12
130
+
131
+ ### Patch Changes
132
+
133
+ - 66962ed: fix(packages): export node10 compatible types
134
+ - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2`
135
+ - Updated dependencies [888b750]
136
+ - Updated dependencies [66962ed]
137
+ - Updated dependencies [9301f86]
138
+ - Updated dependencies [a3f768e]
139
+ - @ai-sdk/google@2.0.0-canary.12
140
+ - @ai-sdk/provider-utils@3.0.0-canary.11
141
+ - @ai-sdk/anthropic@2.0.0-canary.11
142
+ - @ai-sdk/provider@2.0.0-canary.10
143
+
144
+ ## 3.0.0-canary.11
145
+
146
+ ### Patch Changes
147
+
148
+ - Updated dependencies [e86be6f]
149
+ - @ai-sdk/provider@2.0.0-canary.9
150
+ - @ai-sdk/anthropic@2.0.0-canary.10
151
+ - @ai-sdk/google@2.0.0-canary.11
152
+ - @ai-sdk/provider-utils@3.0.0-canary.10
153
+
154
+ ## 3.0.0-canary.10
155
+
156
+ ### Patch Changes
157
+
158
+ - cea5997: chore(providers/google-vertex): update embedding model to use providerOptions
159
+ - Updated dependencies [95857aa]
160
+ - Updated dependencies [3259565]
161
+ - Updated dependencies [fd98925]
162
+ - Updated dependencies [7ea4132]
163
+ - @ai-sdk/provider@2.0.0-canary.8
164
+ - @ai-sdk/google@2.0.0-canary.10
165
+ - @ai-sdk/anthropic@2.0.0-canary.9
166
+ - @ai-sdk/provider-utils@3.0.0-canary.9
167
+
168
+ ## 3.0.0-canary.9
169
+
170
+ ### Patch Changes
171
+
172
+ - Updated dependencies [5d142ab]
173
+ - Updated dependencies [b6b43c7]
174
+ - Updated dependencies [8aa9e20]
175
+ - Updated dependencies [3795467]
176
+ - @ai-sdk/provider-utils@3.0.0-canary.8
177
+ - @ai-sdk/provider@2.0.0-canary.7
178
+ - @ai-sdk/anthropic@2.0.0-canary.8
179
+ - @ai-sdk/google@2.0.0-canary.9
180
+
181
+ ## 3.0.0-canary.8
182
+
183
+ ### Patch Changes
184
+
185
+ - 26735b5: chore(embedding-model): add v2 interface
186
+ - 443d8ec: feat(embedding-model-v2): add response body field
187
+ - fd65bc6: chore(embedding-model-v2): rename rawResponse to response
188
+ - Updated dependencies [26735b5]
189
+ - Updated dependencies [443d8ec]
190
+ - Updated dependencies [14c9410]
191
+ - Updated dependencies [d9c98f4]
192
+ - Updated dependencies [c4a2fec]
193
+ - Updated dependencies [0054544]
194
+ - Updated dependencies [9e9c809]
195
+ - Updated dependencies [32831c6]
196
+ - Updated dependencies [d0f9495]
197
+ - Updated dependencies [fd65bc6]
198
+ - Updated dependencies [393138b]
199
+ - Updated dependencies [7182d14]
200
+ - @ai-sdk/provider@2.0.0-canary.6
201
+ - @ai-sdk/google@2.0.0-canary.8
202
+ - @ai-sdk/anthropic@2.0.0-canary.7
203
+ - @ai-sdk/provider-utils@3.0.0-canary.7
204
+
205
+ ## 3.0.0-canary.7
206
+
207
+ ### Patch Changes
208
+
209
+ - Updated dependencies [411e483]
210
+ - Updated dependencies [79457bd]
211
+ - Updated dependencies [ad80501]
212
+ - Updated dependencies [1766ede]
213
+ - Updated dependencies [f10304b]
214
+ - @ai-sdk/provider@2.0.0-canary.5
215
+ - @ai-sdk/anthropic@2.0.0-canary.6
216
+ - @ai-sdk/google@2.0.0-canary.7
217
+ - @ai-sdk/provider-utils@3.0.0-canary.6
218
+
219
+ ## 3.0.0-canary.6
220
+
221
+ ### Patch Changes
222
+
223
+ - Updated dependencies [6f6bb89]
224
+ - @ai-sdk/provider@2.0.0-canary.4
225
+ - @ai-sdk/anthropic@2.0.0-canary.5
226
+ - @ai-sdk/google@2.0.0-canary.6
227
+ - @ai-sdk/provider-utils@3.0.0-canary.5
228
+
229
+ ## 3.0.0-canary.5
230
+
231
+ ### Patch Changes
232
+
233
+ - Updated dependencies [d1a1aa1]
234
+ - @ai-sdk/provider@2.0.0-canary.3
235
+ - @ai-sdk/anthropic@2.0.0-canary.4
236
+ - @ai-sdk/google@2.0.0-canary.5
237
+ - @ai-sdk/provider-utils@3.0.0-canary.4
238
+
239
+ ## 3.0.0-canary.4
240
+
241
+ ### Patch Changes
242
+
243
+ - Updated dependencies [a166433]
244
+ - Updated dependencies [abf9a79]
245
+ - Updated dependencies [9f95b35]
246
+ - Updated dependencies [0a87932]
247
+ - Updated dependencies [6dc848c]
248
+ - Updated dependencies [61ab528]
249
+ - @ai-sdk/provider-utils@3.0.0-canary.3
250
+ - @ai-sdk/provider@2.0.0-canary.2
251
+ - @ai-sdk/anthropic@2.0.0-canary.3
252
+ - @ai-sdk/google@2.0.0-canary.4
253
+
254
+ ## 3.0.0-canary.3
255
+
256
+ ### Patch Changes
257
+
258
+ - Updated dependencies [c57e248]
259
+ - Updated dependencies [33f4a6a]
260
+ - @ai-sdk/provider@2.0.0-canary.1
261
+ - @ai-sdk/anthropic@2.0.0-canary.2
262
+ - @ai-sdk/google@2.0.0-canary.3
263
+ - @ai-sdk/provider-utils@3.0.0-canary.2
264
+
3
265
  ## 3.0.0-canary.2
4
266
 
5
267
  ### Patch Changes
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AI SDK - Google Vertex AI Provider
2
2
 
3
- The **[Google Vertex provider](https://sdk.vercel.ai/providers/ai-sdk-providers/google-vertex)** for the [AI SDK](https://sdk.vercel.ai/docs) contains language model support for the [Google Vertex AI](https://cloud.google.com/vertex-ai) APIs.
3
+ The **[Google Vertex provider](https://ai-sdk.dev/providers/ai-sdk-providers/google-vertex)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the [Google Vertex AI](https://cloud.google.com/vertex-ai) APIs.
4
4
 
5
5
  This library includes a Google Vertex Anthropic provider. This provider closely follows the core Google Vertex library's usage patterns. See more in the [Google Vertex Anthropic Provider](#google-vertex-anthropic-provider) section below.
6
6
 
@@ -125,7 +125,7 @@ async function main() {
125
125
  });
126
126
 
127
127
  console.log(result.text);
128
- console.log(result.experimental_providerMetadata?.anthropic);
128
+ console.log(result.providerMetadata?.anthropic);
129
129
  // e.g. { cacheCreationInputTokens: 2118, cacheReadInputTokens: 0 }
130
130
  }
131
131
 
@@ -218,4 +218,4 @@ const { text } = await generateText({
218
218
 
219
219
  ## Documentation
220
220
 
221
- Please check out the **[Google Vertex provider](https://sdk.vercel.ai/providers/ai-sdk-providers/google-vertex)** for more information.
221
+ Please check out the **[Google Vertex provider](https://ai-sdk.dev/providers/ai-sdk-providers/google-vertex)** for more information.
@@ -0,0 +1 @@
1
+ export * from '../dist/anthropic/edge';
@@ -0,0 +1 @@
1
+ export * from '../dist/anthropic';
@@ -1,6 +1,6 @@
1
1
  import { ProviderV2, LanguageModelV2 } from '@ai-sdk/provider';
2
2
  import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
3
- import { AnthropicMessagesSettings, anthropicTools } from '@ai-sdk/anthropic/internal';
3
+ import { anthropicTools } from '@ai-sdk/anthropic/internal';
4
4
 
5
5
  interface GoogleCredentials {
6
6
  /**
@@ -21,18 +21,16 @@ interface GoogleCredentials {
21
21
  }
22
22
 
23
23
  type GoogleVertexAnthropicMessagesModelId = 'claude-3-7-sonnet@20250219' | 'claude-3-5-sonnet-v2@20241022' | 'claude-3-5-haiku@20241022' | 'claude-3-5-sonnet@20240620' | 'claude-3-haiku@20240307' | 'claude-3-sonnet@20240229' | 'claude-3-opus@20240229' | (string & {});
24
- interface GoogleVertexAnthropicMessagesSettings extends AnthropicMessagesSettings {
25
- }
26
24
 
27
25
  interface GoogleVertexAnthropicProvider extends ProviderV2 {
28
26
  /**
29
27
  Creates a model for text generation.
30
28
  */
31
- (modelId: GoogleVertexAnthropicMessagesModelId, settings?: GoogleVertexAnthropicMessagesSettings): LanguageModelV2;
29
+ (modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;
32
30
  /**
33
31
  Creates a model for text generation.
34
32
  */
35
- languageModel(modelId: GoogleVertexAnthropicMessagesModelId, settings?: GoogleVertexAnthropicMessagesSettings): LanguageModelV2;
33
+ languageModel(modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;
36
34
  /**
37
35
  Anthropic-specific computer use tool.
38
36
  */
@@ -1,6 +1,6 @@
1
1
  import { ProviderV2, LanguageModelV2 } from '@ai-sdk/provider';
2
2
  import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
3
- import { AnthropicMessagesSettings, anthropicTools } from '@ai-sdk/anthropic/internal';
3
+ import { anthropicTools } from '@ai-sdk/anthropic/internal';
4
4
 
5
5
  interface GoogleCredentials {
6
6
  /**
@@ -21,18 +21,16 @@ interface GoogleCredentials {
21
21
  }
22
22
 
23
23
  type GoogleVertexAnthropicMessagesModelId = 'claude-3-7-sonnet@20250219' | 'claude-3-5-sonnet-v2@20241022' | 'claude-3-5-haiku@20241022' | 'claude-3-5-sonnet@20240620' | 'claude-3-haiku@20240307' | 'claude-3-sonnet@20240229' | 'claude-3-opus@20240229' | (string & {});
24
- interface GoogleVertexAnthropicMessagesSettings extends AnthropicMessagesSettings {
25
- }
26
24
 
27
25
  interface GoogleVertexAnthropicProvider extends ProviderV2 {
28
26
  /**
29
27
  Creates a model for text generation.
30
28
  */
31
- (modelId: GoogleVertexAnthropicMessagesModelId, settings?: GoogleVertexAnthropicMessagesSettings): LanguageModelV2;
29
+ (modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;
32
30
  /**
33
31
  Creates a model for text generation.
34
32
  */
35
- languageModel(modelId: GoogleVertexAnthropicMessagesModelId, settings?: GoogleVertexAnthropicMessagesSettings): LanguageModelV2;
33
+ languageModel(modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;
36
34
  /**
37
35
  Anthropic-specific computer use tool.
38
36
  */
@@ -145,35 +145,30 @@ function createVertexAnthropic(options = {}) {
145
145
  environmentVariableName: "GOOGLE_VERTEX_PROJECT"
146
146
  });
147
147
  const baseURL = (_a = (0, import_provider_utils2.withoutTrailingSlash)(options.baseURL)) != null ? _a : `https://${location}-aiplatform.googleapis.com/v1/projects/${project}/locations/${location}/publishers/anthropic/models`;
148
- const createChatModel = (modelId, settings = {}) => {
148
+ const createChatModel = (modelId) => {
149
149
  var _a2;
150
- return new import_internal.AnthropicMessagesLanguageModel(
151
- modelId,
152
- settings,
153
- {
154
- provider: "vertex.anthropic.messages",
155
- baseURL,
156
- headers: (_a2 = options.headers) != null ? _a2 : {},
157
- fetch: options.fetch,
158
- supportsImageUrls: false,
159
- buildRequestUrl: (baseURL2, isStreaming) => `${baseURL2}/${modelId}:${isStreaming ? "streamRawPredict" : "rawPredict"}`,
160
- transformRequestBody: (args) => {
161
- const { model, ...rest } = args;
162
- return {
163
- ...rest,
164
- anthropic_version: "vertex-2023-10-16"
165
- };
166
- }
150
+ return new import_internal.AnthropicMessagesLanguageModel(modelId, {
151
+ provider: "vertex.anthropic.messages",
152
+ baseURL,
153
+ headers: (_a2 = options.headers) != null ? _a2 : {},
154
+ fetch: options.fetch,
155
+ buildRequestUrl: (baseURL2, isStreaming) => `${baseURL2}/${modelId}:${isStreaming ? "streamRawPredict" : "rawPredict"}`,
156
+ transformRequestBody: (args) => {
157
+ const { model, ...rest } = args;
158
+ return {
159
+ ...rest,
160
+ anthropic_version: "vertex-2023-10-16"
161
+ };
167
162
  }
168
- );
163
+ });
169
164
  };
170
- const provider = function(modelId, settings) {
165
+ const provider = function(modelId) {
171
166
  if (new.target) {
172
167
  throw new Error(
173
168
  "The Anthropic model function cannot be called with the new keyword."
174
169
  );
175
170
  }
176
- return createChatModel(modelId, settings);
171
+ return createChatModel(modelId);
177
172
  };
178
173
  provider.languageModel = createChatModel;
179
174
  provider.chat = createChatModel;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/anthropic/edge/index.ts","../../../src/anthropic/edge/google-vertex-anthropic-provider-edge.ts","../../../src/edge/google-vertex-auth-edge.ts","../../../src/anthropic/google-vertex-anthropic-provider.ts"],"sourcesContent":["export {\n createVertexAnthropic,\n vertexAnthropic,\n} from './google-vertex-anthropic-provider-edge';\nexport type {\n GoogleVertexAnthropicProviderSettings,\n GoogleVertexAnthropicProvider,\n} from './google-vertex-anthropic-provider-edge';\n","import { resolve } from '@ai-sdk/provider-utils';\nimport {\n generateAuthToken,\n GoogleCredentials,\n} from '../../edge/google-vertex-auth-edge';\nimport {\n createVertexAnthropic as createVertexAnthropicOriginal,\n GoogleVertexAnthropicProvider,\n GoogleVertexAnthropicProviderSettings as GoogleVertexAnthropicProviderSettingsOriginal,\n} from '../google-vertex-anthropic-provider';\n\nexport type { GoogleVertexAnthropicProvider };\n\nexport interface GoogleVertexAnthropicProviderSettings\n extends GoogleVertexAnthropicProviderSettingsOriginal {\n /**\n * Optional. The Google credentials for the Google Cloud service account. If\n * not provided, the Google Vertex provider will use environment variables to\n * load the credentials.\n */\n googleCredentials?: GoogleCredentials;\n}\n\nexport function createVertexAnthropic(\n options: GoogleVertexAnthropicProviderSettings = {},\n): GoogleVertexAnthropicProvider {\n return createVertexAnthropicOriginal({\n ...options,\n headers: async () => ({\n Authorization: `Bearer ${await generateAuthToken(\n options.googleCredentials,\n )}`,\n ...(await resolve(options.headers)),\n }),\n });\n}\n\n/**\n * Default Google Vertex AI Anthropic provider instance.\n */\nexport const vertexAnthropic = createVertexAnthropic();\n","import { loadOptionalSetting, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface GoogleCredentials {\n /**\n * The client email for the Google Cloud service account. Defaults to the\n * value of the `GOOGLE_CLIENT_EMAIL` environment variable.\n */\n clientEmail: string;\n\n /**\n * The private key for the Google Cloud service account. Defaults to the\n * value of the `GOOGLE_PRIVATE_KEY` environment variable.\n */\n privateKey: string;\n\n /**\n * Optional. The private key ID for the Google Cloud service account. Defaults\n * to the value of the `GOOGLE_PRIVATE_KEY_ID` environment variable.\n */\n privateKeyId?: string;\n}\n\nconst loadCredentials = async (): Promise<GoogleCredentials> => {\n try {\n return {\n clientEmail: loadSetting({\n settingValue: undefined,\n settingName: 'clientEmail',\n environmentVariableName: 'GOOGLE_CLIENT_EMAIL',\n description: 'Google client email',\n }),\n privateKey: loadSetting({\n settingValue: undefined,\n settingName: 'privateKey',\n environmentVariableName: 'GOOGLE_PRIVATE_KEY',\n description: 'Google private key',\n }),\n privateKeyId: loadOptionalSetting({\n settingValue: undefined,\n environmentVariableName: 'GOOGLE_PRIVATE_KEY_ID',\n }),\n };\n } catch (error: any) {\n throw new Error(`Failed to load Google credentials: ${error.message}`);\n }\n};\n\n// Convert a string to base64url\nconst base64url = (str: string) => {\n return btoa(str).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n};\nconst importPrivateKey = async (pemKey: string) => {\n const pemHeader = '-----BEGIN PRIVATE KEY-----';\n const pemFooter = '-----END PRIVATE KEY-----';\n\n // Remove header, footer, and any whitespace/newlines\n const pemContents = pemKey\n .replace(pemHeader, '')\n .replace(pemFooter, '')\n .replace(/\\s/g, '');\n\n // Decode base64 to binary\n const binaryString = atob(pemContents);\n\n // Convert binary string to Uint8Array\n const binaryData = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n binaryData[i] = binaryString.charCodeAt(i);\n }\n\n return await crypto.subtle.importKey(\n 'pkcs8',\n binaryData,\n { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' },\n true,\n ['sign'],\n );\n};\n\nconst buildJwt = async (credentials: GoogleCredentials) => {\n const now = Math.floor(Date.now() / 1000);\n\n // Only include kid in header if privateKeyId is provided\n const header: { alg: string; typ: string; kid?: string } = {\n alg: 'RS256',\n typ: 'JWT',\n };\n\n if (credentials.privateKeyId) {\n header.kid = credentials.privateKeyId;\n }\n\n const payload = {\n iss: credentials.clientEmail,\n scope: 'https://www.googleapis.com/auth/cloud-platform',\n aud: 'https://oauth2.googleapis.com/token',\n exp: now + 3600,\n iat: now,\n };\n\n const privateKey = await importPrivateKey(credentials.privateKey);\n\n const signingInput = `${base64url(JSON.stringify(header))}.${base64url(\n JSON.stringify(payload),\n )}`;\n const encoder = new TextEncoder();\n const data = encoder.encode(signingInput);\n\n const signature = await crypto.subtle.sign(\n 'RSASSA-PKCS1-v1_5',\n privateKey,\n data,\n );\n\n const signatureBase64 = base64url(\n String.fromCharCode(...new Uint8Array(signature)),\n );\n\n return `${base64url(JSON.stringify(header))}.${base64url(\n JSON.stringify(payload),\n )}.${signatureBase64}`;\n};\n\n/**\n * Generate an authentication token for Google Vertex AI in a manner compatible\n * with the Edge runtime.\n */\nexport async function generateAuthToken(credentials?: GoogleCredentials) {\n try {\n const creds = credentials || (await loadCredentials());\n const jwt = await buildJwt(creds);\n\n const response = await fetch('https://oauth2.googleapis.com/token', {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body: new URLSearchParams({\n grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',\n assertion: jwt,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Token request failed: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.access_token;\n } catch (error) {\n throw error;\n }\n}\n","import {\n LanguageModelV2,\n NoSuchModelError,\n ProviderV2,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n Resolvable,\n loadOptionalSetting,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport {\n anthropicTools,\n AnthropicMessagesLanguageModel,\n AnthropicMessagesModelId,\n} from '@ai-sdk/anthropic/internal';\nimport { GoogleVertexAnthropicMessagesModelId } from './google-vertex-anthropic-messages-options';\nexport interface GoogleVertexAnthropicProvider extends ProviderV2 {\n /**\nCreates a model for text generation.\n*/\n (modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;\n\n /**\nCreates a model for text generation.\n*/\n languageModel(modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;\n\n /**\nAnthropic-specific computer use tool.\n */\n tools: typeof anthropicTools;\n}\n\nexport interface GoogleVertexAnthropicProviderSettings {\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 region. Defaults to the value of the `GOOGLE_VERTEX_LOCATION` environment variable.\n */\n location?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers.\nThe default prefix is `https://api.anthropic.com/v1`.\n */\n baseURL?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Resolvable<Record<string, string | undefined>>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate a Google Vertex Anthropic provider instance.\n */\nexport function createVertexAnthropic(\n options: GoogleVertexAnthropicProviderSettings = {},\n): GoogleVertexAnthropicProvider {\n const location = loadOptionalSetting({\n settingValue: options.location,\n environmentVariableName: 'GOOGLE_VERTEX_LOCATION',\n });\n const project = loadOptionalSetting({\n settingValue: options.project,\n environmentVariableName: 'GOOGLE_VERTEX_PROJECT',\n });\n const baseURL =\n withoutTrailingSlash(options.baseURL) ??\n `https://${location}-aiplatform.googleapis.com/v1/projects/${project}/locations/${location}/publishers/anthropic/models`;\n\n const createChatModel = (modelId: GoogleVertexAnthropicMessagesModelId) =>\n new AnthropicMessagesLanguageModel(modelId, {\n provider: 'vertex.anthropic.messages',\n baseURL,\n headers: options.headers ?? {},\n fetch: options.fetch,\n\n buildRequestUrl: (baseURL, isStreaming) =>\n `${baseURL}/${modelId}:${\n isStreaming ? 'streamRawPredict' : 'rawPredict'\n }`,\n transformRequestBody: args => {\n // Remove model from args and add anthropic version\n const { model, ...rest } = args;\n return {\n ...rest,\n anthropic_version: 'vertex-2023-10-16',\n };\n },\n });\n\n const provider = function (modelId: GoogleVertexAnthropicMessagesModelId) {\n if (new.target) {\n throw new Error(\n 'The Anthropic model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(modelId);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.messages = createChatModel;\n\n provider.textEmbeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'textEmbeddingModel' });\n };\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n provider.tools = anthropicTools;\n\n return provider;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;;;ACAA,IAAAC,yBAAwB;;;ACAxB,4BAAiD;AAsBjD,IAAM,kBAAkB,YAAwC;AAC9D,MAAI;AACF,WAAO;AAAA,MACL,iBAAa,mCAAY;AAAA,QACvB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,yBAAyB;AAAA,QACzB,aAAa;AAAA,MACf,CAAC;AAAA,MACD,gBAAY,mCAAY;AAAA,QACtB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,yBAAyB;AAAA,QACzB,aAAa;AAAA,MACf,CAAC;AAAA,MACD,kBAAc,2CAAoB;AAAA,QAChC,cAAc;AAAA,QACd,yBAAyB;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,EACF,SAAS,OAAY;AACnB,UAAM,IAAI,MAAM,sCAAsC,MAAM,OAAO,EAAE;AAAA,EACvE;AACF;AAGA,IAAM,YAAY,CAAC,QAAgB;AACjC,SAAO,KAAK,GAAG,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,MAAM,EAAE;AAC3E;AACA,IAAM,mBAAmB,OAAO,WAAmB;AACjD,QAAM,YAAY;AAClB,QAAM,YAAY;AAGlB,QAAM,cAAc,OACjB,QAAQ,WAAW,EAAE,EACrB,QAAQ,WAAW,EAAE,EACrB,QAAQ,OAAO,EAAE;AAGpB,QAAM,eAAe,KAAK,WAAW;AAGrC,QAAM,aAAa,IAAI,WAAW,aAAa,MAAM;AACrD,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,eAAW,CAAC,IAAI,aAAa,WAAW,CAAC;AAAA,EAC3C;AAEA,SAAO,MAAM,OAAO,OAAO;AAAA,IACzB;AAAA,IACA;AAAA,IACA,EAAE,MAAM,qBAAqB,MAAM,UAAU;AAAA,IAC7C;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AACF;AAEA,IAAM,WAAW,OAAO,gBAAmC;AACzD,QAAM,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AAGxC,QAAM,SAAqD;AAAA,IACzD,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAEA,MAAI,YAAY,cAAc;AAC5B,WAAO,MAAM,YAAY;AAAA,EAC3B;AAEA,QAAM,UAAU;AAAA,IACd,KAAK,YAAY;AAAA,IACjB,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK,MAAM;AAAA,IACX,KAAK;AAAA,EACP;AAEA,QAAM,aAAa,MAAM,iBAAiB,YAAY,UAAU;AAEhE,QAAM,eAAe,GAAG,UAAU,KAAK,UAAU,MAAM,CAAC,CAAC,IAAI;AAAA,IAC3D,KAAK,UAAU,OAAO;AAAA,EACxB,CAAC;AACD,QAAM,UAAU,IAAI,YAAY;AAChC,QAAM,OAAO,QAAQ,OAAO,YAAY;AAExC,QAAM,YAAY,MAAM,OAAO,OAAO;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,kBAAkB;AAAA,IACtB,OAAO,aAAa,GAAG,IAAI,WAAW,SAAS,CAAC;AAAA,EAClD;AAEA,SAAO,GAAG,UAAU,KAAK,UAAU,MAAM,CAAC,CAAC,IAAI;AAAA,IAC7C,KAAK,UAAU,OAAO;AAAA,EACxB,CAAC,IAAI,eAAe;AACtB;AAMA,eAAsB,kBAAkB,aAAiC;AACvE,MAAI;AACF,UAAM,QAAQ,eAAgB,MAAM,gBAAgB;AACpD,UAAM,MAAM,MAAM,SAAS,KAAK;AAEhC,UAAM,WAAW,MAAM,MAAM,uCAAuC;AAAA,MAClE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oCAAoC;AAAA,MAC/D,MAAM,IAAI,gBAAgB;AAAA,QACxB,YAAY;AAAA,QACZ,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,yBAAyB,SAAS,UAAU,EAAE;AAAA,IAChE;AAEA,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC,WAAO,KAAK;AAAA,EACd,SAAS,OAAO;AACd,UAAM;AAAA,EACR;AACF;;;ACtJA,sBAIO;AACP,IAAAC,yBAKO;AACP,sBAIO;AAmDA,SAAS,sBACd,UAAiD,CAAC,GACnB;AApEjC;AAqEE,QAAM,eAAW,4CAAoB;AAAA,IACnC,cAAc,QAAQ;AAAA,IACtB,yBAAyB;AAAA,EAC3B,CAAC;AACD,QAAM,cAAU,4CAAoB;AAAA,IAClC,cAAc,QAAQ;AAAA,IACtB,yBAAyB;AAAA,EAC3B,CAAC;AACD,QAAM,WACJ,sDAAqB,QAAQ,OAAO,MAApC,YACA,WAAW,QAAQ,0CAA0C,OAAO,cAAc,QAAQ;AAE5F,QAAM,kBAAkB,CAAC,YAA+C;AAjF1E,QAAAC;AAkFI,eAAI,+CAA+B,SAAS;AAAA,MAC1C,UAAU;AAAA,MACV;AAAA,MACA,UAASA,MAAA,QAAQ,YAAR,OAAAA,MAAmB,CAAC;AAAA,MAC7B,OAAO,QAAQ;AAAA,MAEf,iBAAiB,CAACC,UAAS,gBACzB,GAAGA,QAAO,IAAI,OAAO,IACnB,cAAc,qBAAqB,YACrC;AAAA,MACF,sBAAsB,UAAQ;AAE5B,cAAM,EAAE,OAAO,GAAG,KAAK,IAAI;AAC3B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAEH,QAAM,WAAW,SAAU,SAA+C;AACxE,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,gBAAgB,OAAO;AAAA,EAChC;AAEA,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAChB,WAAS,WAAW;AAEpB,WAAS,qBAAqB,CAAC,YAAoB;AACjD,UAAM,IAAI,iCAAiB,EAAE,SAAS,WAAW,qBAAqB,CAAC;AAAA,EACzE;AACA,WAAS,aAAa,CAAC,YAAoB;AACzC,UAAM,IAAI,iCAAiB,EAAE,SAAS,WAAW,aAAa,CAAC;AAAA,EACjE;AAEA,WAAS,QAAQ;AAEjB,SAAO;AACT;;;AFvGO,SAASC,uBACd,UAAiD,CAAC,GACnB;AAC/B,SAAO,sBAA8B;AAAA,IACnC,GAAG;AAAA,IACH,SAAS,aAAa;AAAA,MACpB,eAAe,UAAU,MAAM;AAAA,QAC7B,QAAQ;AAAA,MACV,CAAC;AAAA,MACD,GAAI,UAAM,gCAAQ,QAAQ,OAAO;AAAA,IACnC;AAAA,EACF,CAAC;AACH;AAKO,IAAM,kBAAkBA,uBAAsB;","names":["createVertexAnthropic","import_provider_utils","import_provider_utils","_a","baseURL","createVertexAnthropic"]}
@@ -126,35 +126,30 @@ function createVertexAnthropic(options = {}) {
126
126
  environmentVariableName: "GOOGLE_VERTEX_PROJECT"
127
127
  });
128
128
  const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : `https://${location}-aiplatform.googleapis.com/v1/projects/${project}/locations/${location}/publishers/anthropic/models`;
129
- const createChatModel = (modelId, settings = {}) => {
129
+ const createChatModel = (modelId) => {
130
130
  var _a2;
131
- return new AnthropicMessagesLanguageModel(
132
- modelId,
133
- settings,
134
- {
135
- provider: "vertex.anthropic.messages",
136
- baseURL,
137
- headers: (_a2 = options.headers) != null ? _a2 : {},
138
- fetch: options.fetch,
139
- supportsImageUrls: false,
140
- buildRequestUrl: (baseURL2, isStreaming) => `${baseURL2}/${modelId}:${isStreaming ? "streamRawPredict" : "rawPredict"}`,
141
- transformRequestBody: (args) => {
142
- const { model, ...rest } = args;
143
- return {
144
- ...rest,
145
- anthropic_version: "vertex-2023-10-16"
146
- };
147
- }
131
+ return new AnthropicMessagesLanguageModel(modelId, {
132
+ provider: "vertex.anthropic.messages",
133
+ baseURL,
134
+ headers: (_a2 = options.headers) != null ? _a2 : {},
135
+ fetch: options.fetch,
136
+ buildRequestUrl: (baseURL2, isStreaming) => `${baseURL2}/${modelId}:${isStreaming ? "streamRawPredict" : "rawPredict"}`,
137
+ transformRequestBody: (args) => {
138
+ const { model, ...rest } = args;
139
+ return {
140
+ ...rest,
141
+ anthropic_version: "vertex-2023-10-16"
142
+ };
148
143
  }
149
- );
144
+ });
150
145
  };
151
- const provider = function(modelId, settings) {
146
+ const provider = function(modelId) {
152
147
  if (new.target) {
153
148
  throw new Error(
154
149
  "The Anthropic model function cannot be called with the new keyword."
155
150
  );
156
151
  }
157
- return createChatModel(modelId, settings);
152
+ return createChatModel(modelId);
158
153
  };
159
154
  provider.languageModel = createChatModel;
160
155
  provider.chat = createChatModel;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/anthropic/edge/google-vertex-anthropic-provider-edge.ts","../../../src/edge/google-vertex-auth-edge.ts","../../../src/anthropic/google-vertex-anthropic-provider.ts"],"sourcesContent":["import { resolve } from '@ai-sdk/provider-utils';\nimport {\n generateAuthToken,\n GoogleCredentials,\n} from '../../edge/google-vertex-auth-edge';\nimport {\n createVertexAnthropic as createVertexAnthropicOriginal,\n GoogleVertexAnthropicProvider,\n GoogleVertexAnthropicProviderSettings as GoogleVertexAnthropicProviderSettingsOriginal,\n} from '../google-vertex-anthropic-provider';\n\nexport type { GoogleVertexAnthropicProvider };\n\nexport interface GoogleVertexAnthropicProviderSettings\n extends GoogleVertexAnthropicProviderSettingsOriginal {\n /**\n * Optional. The Google credentials for the Google Cloud service account. If\n * not provided, the Google Vertex provider will use environment variables to\n * load the credentials.\n */\n googleCredentials?: GoogleCredentials;\n}\n\nexport function createVertexAnthropic(\n options: GoogleVertexAnthropicProviderSettings = {},\n): GoogleVertexAnthropicProvider {\n return createVertexAnthropicOriginal({\n ...options,\n headers: async () => ({\n Authorization: `Bearer ${await generateAuthToken(\n options.googleCredentials,\n )}`,\n ...(await resolve(options.headers)),\n }),\n });\n}\n\n/**\n * Default Google Vertex AI Anthropic provider instance.\n */\nexport const vertexAnthropic = createVertexAnthropic();\n","import { loadOptionalSetting, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface GoogleCredentials {\n /**\n * The client email for the Google Cloud service account. Defaults to the\n * value of the `GOOGLE_CLIENT_EMAIL` environment variable.\n */\n clientEmail: string;\n\n /**\n * The private key for the Google Cloud service account. Defaults to the\n * value of the `GOOGLE_PRIVATE_KEY` environment variable.\n */\n privateKey: string;\n\n /**\n * Optional. The private key ID for the Google Cloud service account. Defaults\n * to the value of the `GOOGLE_PRIVATE_KEY_ID` environment variable.\n */\n privateKeyId?: string;\n}\n\nconst loadCredentials = async (): Promise<GoogleCredentials> => {\n try {\n return {\n clientEmail: loadSetting({\n settingValue: undefined,\n settingName: 'clientEmail',\n environmentVariableName: 'GOOGLE_CLIENT_EMAIL',\n description: 'Google client email',\n }),\n privateKey: loadSetting({\n settingValue: undefined,\n settingName: 'privateKey',\n environmentVariableName: 'GOOGLE_PRIVATE_KEY',\n description: 'Google private key',\n }),\n privateKeyId: loadOptionalSetting({\n settingValue: undefined,\n environmentVariableName: 'GOOGLE_PRIVATE_KEY_ID',\n }),\n };\n } catch (error: any) {\n throw new Error(`Failed to load Google credentials: ${error.message}`);\n }\n};\n\n// Convert a string to base64url\nconst base64url = (str: string) => {\n return btoa(str).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n};\nconst importPrivateKey = async (pemKey: string) => {\n const pemHeader = '-----BEGIN PRIVATE KEY-----';\n const pemFooter = '-----END PRIVATE KEY-----';\n\n // Remove header, footer, and any whitespace/newlines\n const pemContents = pemKey\n .replace(pemHeader, '')\n .replace(pemFooter, '')\n .replace(/\\s/g, '');\n\n // Decode base64 to binary\n const binaryString = atob(pemContents);\n\n // Convert binary string to Uint8Array\n const binaryData = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n binaryData[i] = binaryString.charCodeAt(i);\n }\n\n return await crypto.subtle.importKey(\n 'pkcs8',\n binaryData,\n { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' },\n true,\n ['sign'],\n );\n};\n\nconst buildJwt = async (credentials: GoogleCredentials) => {\n const now = Math.floor(Date.now() / 1000);\n\n // Only include kid in header if privateKeyId is provided\n const header: { alg: string; typ: string; kid?: string } = {\n alg: 'RS256',\n typ: 'JWT',\n };\n\n if (credentials.privateKeyId) {\n header.kid = credentials.privateKeyId;\n }\n\n const payload = {\n iss: credentials.clientEmail,\n scope: 'https://www.googleapis.com/auth/cloud-platform',\n aud: 'https://oauth2.googleapis.com/token',\n exp: now + 3600,\n iat: now,\n };\n\n const privateKey = await importPrivateKey(credentials.privateKey);\n\n const signingInput = `${base64url(JSON.stringify(header))}.${base64url(\n JSON.stringify(payload),\n )}`;\n const encoder = new TextEncoder();\n const data = encoder.encode(signingInput);\n\n const signature = await crypto.subtle.sign(\n 'RSASSA-PKCS1-v1_5',\n privateKey,\n data,\n );\n\n const signatureBase64 = base64url(\n String.fromCharCode(...new Uint8Array(signature)),\n );\n\n return `${base64url(JSON.stringify(header))}.${base64url(\n JSON.stringify(payload),\n )}.${signatureBase64}`;\n};\n\n/**\n * Generate an authentication token for Google Vertex AI in a manner compatible\n * with the Edge runtime.\n */\nexport async function generateAuthToken(credentials?: GoogleCredentials) {\n try {\n const creds = credentials || (await loadCredentials());\n const jwt = await buildJwt(creds);\n\n const response = await fetch('https://oauth2.googleapis.com/token', {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body: new URLSearchParams({\n grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',\n assertion: jwt,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Token request failed: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.access_token;\n } catch (error) {\n throw error;\n }\n}\n","import {\n LanguageModelV2,\n NoSuchModelError,\n ProviderV2,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n Resolvable,\n loadOptionalSetting,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport {\n anthropicTools,\n AnthropicMessagesLanguageModel,\n AnthropicMessagesModelId,\n} from '@ai-sdk/anthropic/internal';\nimport { GoogleVertexAnthropicMessagesModelId } from './google-vertex-anthropic-messages-options';\nexport interface GoogleVertexAnthropicProvider extends ProviderV2 {\n /**\nCreates a model for text generation.\n*/\n (modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;\n\n /**\nCreates a model for text generation.\n*/\n languageModel(modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;\n\n /**\nAnthropic-specific computer use tool.\n */\n tools: typeof anthropicTools;\n}\n\nexport interface GoogleVertexAnthropicProviderSettings {\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 region. Defaults to the value of the `GOOGLE_VERTEX_LOCATION` environment variable.\n */\n location?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers.\nThe default prefix is `https://api.anthropic.com/v1`.\n */\n baseURL?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Resolvable<Record<string, string | undefined>>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate a Google Vertex Anthropic provider instance.\n */\nexport function createVertexAnthropic(\n options: GoogleVertexAnthropicProviderSettings = {},\n): GoogleVertexAnthropicProvider {\n const location = loadOptionalSetting({\n settingValue: options.location,\n environmentVariableName: 'GOOGLE_VERTEX_LOCATION',\n });\n const project = loadOptionalSetting({\n settingValue: options.project,\n environmentVariableName: 'GOOGLE_VERTEX_PROJECT',\n });\n const baseURL =\n withoutTrailingSlash(options.baseURL) ??\n `https://${location}-aiplatform.googleapis.com/v1/projects/${project}/locations/${location}/publishers/anthropic/models`;\n\n const createChatModel = (modelId: GoogleVertexAnthropicMessagesModelId) =>\n new AnthropicMessagesLanguageModel(modelId, {\n provider: 'vertex.anthropic.messages',\n baseURL,\n headers: options.headers ?? {},\n fetch: options.fetch,\n\n buildRequestUrl: (baseURL, isStreaming) =>\n `${baseURL}/${modelId}:${\n isStreaming ? 'streamRawPredict' : 'rawPredict'\n }`,\n transformRequestBody: args => {\n // Remove model from args and add anthropic version\n const { model, ...rest } = args;\n return {\n ...rest,\n anthropic_version: 'vertex-2023-10-16',\n };\n },\n });\n\n const provider = function (modelId: GoogleVertexAnthropicMessagesModelId) {\n if (new.target) {\n throw new Error(\n 'The Anthropic model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(modelId);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.messages = createChatModel;\n\n provider.textEmbeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'textEmbeddingModel' });\n };\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n provider.tools = anthropicTools;\n\n return provider;\n}\n"],"mappings":"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","names":["loadOptionalSetting","_a","baseURL","createVertexAnthropic"]}
@@ -1,21 +1,19 @@
1
1
  import { GoogleAuthOptions } from 'google-auth-library';
2
2
  import { ProviderV2, LanguageModelV2 } from '@ai-sdk/provider';
3
3
  import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
4
- import { AnthropicMessagesSettings, anthropicTools } from '@ai-sdk/anthropic/internal';
4
+ import { anthropicTools } from '@ai-sdk/anthropic/internal';
5
5
 
6
6
  type GoogleVertexAnthropicMessagesModelId = 'claude-3-7-sonnet@20250219' | 'claude-3-5-sonnet-v2@20241022' | 'claude-3-5-haiku@20241022' | 'claude-3-5-sonnet@20240620' | 'claude-3-haiku@20240307' | 'claude-3-sonnet@20240229' | 'claude-3-opus@20240229' | (string & {});
7
- interface GoogleVertexAnthropicMessagesSettings extends AnthropicMessagesSettings {
8
- }
9
7
 
10
8
  interface GoogleVertexAnthropicProvider extends ProviderV2 {
11
9
  /**
12
10
  Creates a model for text generation.
13
11
  */
14
- (modelId: GoogleVertexAnthropicMessagesModelId, settings?: GoogleVertexAnthropicMessagesSettings): LanguageModelV2;
12
+ (modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;
15
13
  /**
16
14
  Creates a model for text generation.
17
15
  */
18
- languageModel(modelId: GoogleVertexAnthropicMessagesModelId, settings?: GoogleVertexAnthropicMessagesSettings): LanguageModelV2;
16
+ languageModel(modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;
19
17
  /**
20
18
  Anthropic-specific computer use tool.
21
19
  */
@@ -1,21 +1,19 @@
1
1
  import { GoogleAuthOptions } from 'google-auth-library';
2
2
  import { ProviderV2, LanguageModelV2 } from '@ai-sdk/provider';
3
3
  import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
4
- import { AnthropicMessagesSettings, anthropicTools } from '@ai-sdk/anthropic/internal';
4
+ import { anthropicTools } from '@ai-sdk/anthropic/internal';
5
5
 
6
6
  type GoogleVertexAnthropicMessagesModelId = 'claude-3-7-sonnet@20250219' | 'claude-3-5-sonnet-v2@20241022' | 'claude-3-5-haiku@20241022' | 'claude-3-5-sonnet@20240620' | 'claude-3-haiku@20240307' | 'claude-3-sonnet@20240229' | 'claude-3-opus@20240229' | (string & {});
7
- interface GoogleVertexAnthropicMessagesSettings extends AnthropicMessagesSettings {
8
- }
9
7
 
10
8
  interface GoogleVertexAnthropicProvider extends ProviderV2 {
11
9
  /**
12
10
  Creates a model for text generation.
13
11
  */
14
- (modelId: GoogleVertexAnthropicMessagesModelId, settings?: GoogleVertexAnthropicMessagesSettings): LanguageModelV2;
12
+ (modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;
15
13
  /**
16
14
  Creates a model for text generation.
17
15
  */
18
- languageModel(modelId: GoogleVertexAnthropicMessagesModelId, settings?: GoogleVertexAnthropicMessagesSettings): LanguageModelV2;
16
+ languageModel(modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;
19
17
  /**
20
18
  Anthropic-specific computer use tool.
21
19
  */
@@ -64,35 +64,30 @@ function createVertexAnthropic(options = {}) {
64
64
  environmentVariableName: "GOOGLE_VERTEX_PROJECT"
65
65
  });
66
66
  const baseURL = (_a = (0, import_provider_utils.withoutTrailingSlash)(options.baseURL)) != null ? _a : `https://${location}-aiplatform.googleapis.com/v1/projects/${project}/locations/${location}/publishers/anthropic/models`;
67
- const createChatModel = (modelId, settings = {}) => {
67
+ const createChatModel = (modelId) => {
68
68
  var _a2;
69
- return new import_internal.AnthropicMessagesLanguageModel(
70
- modelId,
71
- settings,
72
- {
73
- provider: "vertex.anthropic.messages",
74
- baseURL,
75
- headers: (_a2 = options.headers) != null ? _a2 : {},
76
- fetch: options.fetch,
77
- supportsImageUrls: false,
78
- buildRequestUrl: (baseURL2, isStreaming) => `${baseURL2}/${modelId}:${isStreaming ? "streamRawPredict" : "rawPredict"}`,
79
- transformRequestBody: (args) => {
80
- const { model, ...rest } = args;
81
- return {
82
- ...rest,
83
- anthropic_version: "vertex-2023-10-16"
84
- };
85
- }
69
+ return new import_internal.AnthropicMessagesLanguageModel(modelId, {
70
+ provider: "vertex.anthropic.messages",
71
+ baseURL,
72
+ headers: (_a2 = options.headers) != null ? _a2 : {},
73
+ fetch: options.fetch,
74
+ buildRequestUrl: (baseURL2, isStreaming) => `${baseURL2}/${modelId}:${isStreaming ? "streamRawPredict" : "rawPredict"}`,
75
+ transformRequestBody: (args) => {
76
+ const { model, ...rest } = args;
77
+ return {
78
+ ...rest,
79
+ anthropic_version: "vertex-2023-10-16"
80
+ };
86
81
  }
87
- );
82
+ });
88
83
  };
89
- const provider = function(modelId, settings) {
84
+ const provider = function(modelId) {
90
85
  if (new.target) {
91
86
  throw new Error(
92
87
  "The Anthropic model function cannot be called with the new keyword."
93
88
  );
94
89
  }
95
- return createChatModel(modelId, settings);
90
+ return createChatModel(modelId);
96
91
  };
97
92
  provider.languageModel = createChatModel;
98
93
  provider.chat = createChatModel;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/anthropic/index.ts","../../src/anthropic/google-vertex-anthropic-provider-node.ts","../../src/google-vertex-auth-google-auth-library.ts","../../src/anthropic/google-vertex-anthropic-provider.ts"],"sourcesContent":["export {\n vertexAnthropic,\n createVertexAnthropic,\n} from './google-vertex-anthropic-provider-node';\nexport type {\n GoogleVertexAnthropicProvider,\n GoogleVertexAnthropicProviderSettings,\n} from './google-vertex-anthropic-provider-node';\n","import { resolve } from '@ai-sdk/provider-utils';\nimport { GoogleAuthOptions } from 'google-auth-library';\nimport { generateAuthToken } from '../google-vertex-auth-google-auth-library';\nimport {\n createVertexAnthropic as createVertexAnthropicOriginal,\n GoogleVertexAnthropicProvider,\n GoogleVertexAnthropicProviderSettings as GoogleVertexAnthropicProviderSettingsOriginal,\n} from './google-vertex-anthropic-provider';\n\nexport type { GoogleVertexAnthropicProvider };\n\nexport interface GoogleVertexAnthropicProviderSettings\n extends GoogleVertexAnthropicProviderSettingsOriginal {\n /**\n Optional. The Authentication options provided by google-auth-library.\nComplete list of authentication options is documented in the\nGoogleAuthOptions interface:\nhttps://github.com/googleapis/google-auth-library-nodejs/blob/main/src/auth/googleauth.ts.\n */\n googleAuthOptions?: GoogleAuthOptions;\n}\n\nexport function createVertexAnthropic(\n options: GoogleVertexAnthropicProviderSettings = {},\n): GoogleVertexAnthropicProvider {\n return createVertexAnthropicOriginal({\n ...options,\n headers: async () => ({\n Authorization: `Bearer ${await generateAuthToken(\n options.googleAuthOptions,\n )}`,\n ...(await resolve(options.headers)),\n }),\n });\n}\n\n/**\nDefault Google Vertex Anthropic provider instance.\n */\nexport const vertexAnthropic = createVertexAnthropic();\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 {\n LanguageModelV2,\n NoSuchModelError,\n ProviderV2,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n Resolvable,\n loadOptionalSetting,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport {\n anthropicTools,\n AnthropicMessagesLanguageModel,\n AnthropicMessagesModelId,\n} from '@ai-sdk/anthropic/internal';\nimport { GoogleVertexAnthropicMessagesModelId } from './google-vertex-anthropic-messages-options';\nexport interface GoogleVertexAnthropicProvider extends ProviderV2 {\n /**\nCreates a model for text generation.\n*/\n (modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;\n\n /**\nCreates a model for text generation.\n*/\n languageModel(modelId: GoogleVertexAnthropicMessagesModelId): LanguageModelV2;\n\n /**\nAnthropic-specific computer use tool.\n */\n tools: typeof anthropicTools;\n}\n\nexport interface GoogleVertexAnthropicProviderSettings {\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 region. Defaults to the value of the `GOOGLE_VERTEX_LOCATION` environment variable.\n */\n location?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers.\nThe default prefix is `https://api.anthropic.com/v1`.\n */\n baseURL?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Resolvable<Record<string, string | undefined>>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate a Google Vertex Anthropic provider instance.\n */\nexport function createVertexAnthropic(\n options: GoogleVertexAnthropicProviderSettings = {},\n): GoogleVertexAnthropicProvider {\n const location = loadOptionalSetting({\n settingValue: options.location,\n environmentVariableName: 'GOOGLE_VERTEX_LOCATION',\n });\n const project = loadOptionalSetting({\n settingValue: options.project,\n environmentVariableName: 'GOOGLE_VERTEX_PROJECT',\n });\n const baseURL =\n withoutTrailingSlash(options.baseURL) ??\n `https://${location}-aiplatform.googleapis.com/v1/projects/${project}/locations/${location}/publishers/anthropic/models`;\n\n const createChatModel = (modelId: GoogleVertexAnthropicMessagesModelId) =>\n new AnthropicMessagesLanguageModel(modelId, {\n provider: 'vertex.anthropic.messages',\n baseURL,\n headers: options.headers ?? {},\n fetch: options.fetch,\n\n buildRequestUrl: (baseURL, isStreaming) =>\n `${baseURL}/${modelId}:${\n isStreaming ? 'streamRawPredict' : 'rawPredict'\n }`,\n transformRequestBody: args => {\n // Remove model from args and add anthropic version\n const { model, ...rest } = args;\n return {\n ...rest,\n anthropic_version: 'vertex-2023-10-16',\n };\n },\n });\n\n const provider = function (modelId: GoogleVertexAnthropicMessagesModelId) {\n if (new.target) {\n throw new Error(\n 'The Anthropic model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(modelId);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.messages = createChatModel;\n\n provider.textEmbeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'textEmbeddingModel' });\n };\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n provider.tools = anthropicTools;\n\n return provider;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;;;ACAA,IAAAC,yBAAwB;;;ACAxB,iCAA8C;AAE9C,IAAI,eAAkC;AACtC,IAAI,cAAwC;AAE5C,SAAS,QAAQ,SAA4B;AAC3C,MAAI,CAAC,gBAAgB,YAAY,aAAa;AAC5C,mBAAe,IAAI,sCAAW;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,sBAIO;AACP,4BAKO;AACP,sBAIO;AAmDA,SAAS,sBACd,UAAiD,CAAC,GACnB;AApEjC;AAqEE,QAAM,eAAW,2CAAoB;AAAA,IACnC,cAAc,QAAQ;AAAA,IACtB,yBAAyB;AAAA,EAC3B,CAAC;AACD,QAAM,cAAU,2CAAoB;AAAA,IAClC,cAAc,QAAQ;AAAA,IACtB,yBAAyB;AAAA,EAC3B,CAAC;AACD,QAAM,WACJ,qDAAqB,QAAQ,OAAO,MAApC,YACA,WAAW,QAAQ,0CAA0C,OAAO,cAAc,QAAQ;AAE5F,QAAM,kBAAkB,CAAC,YAA+C;AAjF1E,QAAAC;AAkFI,eAAI,+CAA+B,SAAS;AAAA,MAC1C,UAAU;AAAA,MACV;AAAA,MACA,UAASA,MAAA,QAAQ,YAAR,OAAAA,MAAmB,CAAC;AAAA,MAC7B,OAAO,QAAQ;AAAA,MAEf,iBAAiB,CAACC,UAAS,gBACzB,GAAGA,QAAO,IAAI,OAAO,IACnB,cAAc,qBAAqB,YACrC;AAAA,MACF,sBAAsB,UAAQ;AAE5B,cAAM,EAAE,OAAO,GAAG,KAAK,IAAI;AAC3B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAEH,QAAM,WAAW,SAAU,SAA+C;AACxE,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,gBAAgB,OAAO;AAAA,EAChC;AAEA,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAChB,WAAS,WAAW;AAEpB,WAAS,qBAAqB,CAAC,YAAoB;AACjD,UAAM,IAAI,iCAAiB,EAAE,SAAS,WAAW,qBAAqB,CAAC;AAAA,EACzE;AACA,WAAS,aAAa,CAAC,YAAoB;AACzC,UAAM,IAAI,iCAAiB,EAAE,SAAS,WAAW,aAAa,CAAC;AAAA,EACjE;AAEA,WAAS,QAAQ;AAEjB,SAAO;AACT;;;AFxGO,SAASC,uBACd,UAAiD,CAAC,GACnB;AAC/B,SAAO,sBAA8B;AAAA,IACnC,GAAG;AAAA,IACH,SAAS,aAAa;AAAA,MACpB,eAAe,UAAU,MAAM;AAAA,QAC7B,QAAQ;AAAA,MACV,CAAC;AAAA,MACD,GAAI,UAAM,gCAAQ,QAAQ,OAAO;AAAA,IACnC;AAAA,EACF,CAAC;AACH;AAKO,IAAM,kBAAkBA,uBAAsB;","names":["createVertexAnthropic","import_provider_utils","_a","baseURL","createVertexAnthropic"]}