@ai-sdk/google-vertex 5.0.117 → 5.0.119
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.
- package/CHANGELOG.md +29 -0
- package/dist/anthropic/edge/index.js +1 -1
- package/dist/edge/index.d.ts +0 -1
- package/dist/edge/index.d.ts.map +1 -1
- package/dist/edge/index.js +22 -22
- package/dist/edge/index.js.map +1 -1
- package/dist/index.d.ts +23 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -22
- package/dist/index.js.map +1 -1
- package/dist/maas/edge/index.js +1 -1
- package/dist/xai/edge/index.js +1 -1
- package/docs/16-google-vertex.mdx +60 -7
- package/package.json +6 -6
- package/src/gemini-transcription/google-vertex-gemini-transcription-model-options.ts +40 -31
- package/src/gemini-transcription/google-vertex-gemini-transcription-model.ts +40 -33
- package/src/google-vertex-cloud-tts-speech-model.ts +9 -3
- package/src/google-vertex-embedding-model-options.ts +52 -43
- package/src/google-vertex-embedding-model.ts +28 -18
- package/src/google-vertex-error.ts +20 -9
- package/src/google-vertex-transcription-model-options.ts +40 -31
- package/src/google-vertex-transcription-model.ts +36 -30
- package/src/google-vertex-video-model.ts +32 -25
package/dist/index.d.ts
CHANGED
|
@@ -1,37 +1,27 @@
|
|
|
1
|
-
import { FetchFunction, Resolvable, WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE, WebSocketConstructor } from "@ai-sdk/provider-utils";
|
|
1
|
+
import { FetchFunction, InferSchema, Resolvable, WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE, WebSocketConstructor } from "@ai-sdk/provider-utils";
|
|
2
2
|
import { GoogleAuthOptions } from "google-auth-library";
|
|
3
3
|
import { GoogleInteractionsAgentName, GoogleInteractionsModelId } from "@ai-sdk/google/internal";
|
|
4
4
|
import { EmbeddingModelV4, Experimental_TranscriptionModelV4StreamOptions, Experimental_VideoModelV4, ImageModelV4, JSONObject, LanguageModelV4, ProviderV4, SpeechModelV4, TranscriptionModelV4 } from "@ai-sdk/provider";
|
|
5
|
-
import { z } from "zod/v4";
|
|
6
5
|
import { GoogleLanguageModelOptions, GoogleSpeechModelOptions } from "@ai-sdk/google";
|
|
7
6
|
//#region src/google-vertex-embedding-model-options.d.ts
|
|
8
7
|
type GoogleVertexEmbeddingModelId = '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' | (string & {});
|
|
9
|
-
declare const googleVertexEmbeddingModelOptions:
|
|
10
|
-
outputDimensionality
|
|
11
|
-
taskType
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
RETRIEVAL_QUERY: "RETRIEVAL_QUERY";
|
|
17
|
-
QUESTION_ANSWERING: "QUESTION_ANSWERING";
|
|
18
|
-
FACT_VERIFICATION: "FACT_VERIFICATION";
|
|
19
|
-
CODE_RETRIEVAL_QUERY: "CODE_RETRIEVAL_QUERY";
|
|
20
|
-
}>>;
|
|
21
|
-
title: z.ZodOptional<z.ZodString>;
|
|
22
|
-
autoTruncate: z.ZodOptional<z.ZodBoolean>;
|
|
23
|
-
}, z.core.$strip>;
|
|
24
|
-
type GoogleVertexEmbeddingModelOptions = z.infer<typeof googleVertexEmbeddingModelOptions>;
|
|
8
|
+
declare const googleVertexEmbeddingModelOptions: import("@ai-sdk/provider-utils").LazySchema<{
|
|
9
|
+
outputDimensionality?: number | undefined;
|
|
10
|
+
taskType?: "SEMANTIC_SIMILARITY" | "CLASSIFICATION" | "CLUSTERING" | "RETRIEVAL_DOCUMENT" | "RETRIEVAL_QUERY" | "QUESTION_ANSWERING" | "FACT_VERIFICATION" | "CODE_RETRIEVAL_QUERY" | undefined;
|
|
11
|
+
title?: string | undefined;
|
|
12
|
+
autoTruncate?: boolean | undefined;
|
|
13
|
+
}>;
|
|
14
|
+
type GoogleVertexEmbeddingModelOptions = InferSchema<typeof googleVertexEmbeddingModelOptions>;
|
|
25
15
|
//#endregion
|
|
26
16
|
//#region src/google-vertex-transcription-model-options.d.ts
|
|
27
17
|
type GoogleVertexTranscriptionModelId = 'chirp_2' | 'chirp_3' | 'telephony' | (string & {});
|
|
28
|
-
declare const googleVertexTranscriptionProviderOptionsSchema:
|
|
29
|
-
languageCodes
|
|
30
|
-
enableAutomaticPunctuation
|
|
31
|
-
enableWordTimeOffsets
|
|
32
|
-
region
|
|
33
|
-
}
|
|
34
|
-
type GoogleVertexTranscriptionModelOptions =
|
|
18
|
+
declare const googleVertexTranscriptionProviderOptionsSchema: import("@ai-sdk/provider-utils").LazySchema<{
|
|
19
|
+
languageCodes?: string[] | undefined;
|
|
20
|
+
enableAutomaticPunctuation?: boolean | undefined;
|
|
21
|
+
enableWordTimeOffsets?: boolean | undefined;
|
|
22
|
+
region?: string | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
type GoogleVertexTranscriptionModelOptions = InferSchema<typeof googleVertexTranscriptionProviderOptionsSchema>;
|
|
35
25
|
//#endregion
|
|
36
26
|
//#region src/google-vertex-image-model-options.d.ts
|
|
37
27
|
type GoogleVertexImageModelOptions = Omit<GoogleLanguageModelOptions, 'responseModalities'>;
|
|
@@ -258,17 +248,14 @@ type GoogleVertexGeminiTranscriptionModelId = 'gemini-3.5-transcribe' | 'gemini-
|
|
|
258
248
|
* (`gemini-3.5-transcribe-live`) variants. Maps onto Google's
|
|
259
249
|
* `AudioTranscriptionConfig`.
|
|
260
250
|
*/
|
|
261
|
-
declare const googleVertexGeminiTranscriptionModelOptions:
|
|
262
|
-
languageCodes
|
|
263
|
-
customVocabulary
|
|
264
|
-
wordTimestamp
|
|
265
|
-
diarization
|
|
266
|
-
mode
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
}>>;
|
|
270
|
-
}, z.core.$strip>;
|
|
271
|
-
type GoogleVertexTranscriptionModelGeminiOptions = z.infer<typeof googleVertexGeminiTranscriptionModelOptions>;
|
|
251
|
+
declare const googleVertexGeminiTranscriptionModelOptions: import("@ai-sdk/provider-utils").LazySchema<{
|
|
252
|
+
languageCodes?: string[] | undefined;
|
|
253
|
+
customVocabulary?: string[] | undefined;
|
|
254
|
+
wordTimestamp?: boolean | undefined;
|
|
255
|
+
diarization?: boolean | undefined;
|
|
256
|
+
mode?: "SMART" | "VERBATIM" | undefined;
|
|
257
|
+
}>;
|
|
258
|
+
type GoogleVertexTranscriptionModelGeminiOptions = InferSchema<typeof googleVertexGeminiTranscriptionModelOptions>;
|
|
272
259
|
//#endregion
|
|
273
260
|
//#region src/gemini-transcription/google-vertex-gemini-transcription-model.d.ts
|
|
274
261
|
interface GoogleVertexGeminiTranscriptionModelConfig {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["GoogleVertexProviderSettings","GoogleVertexProviderSettingsOriginal","TranscriptionModelV4StreamOptions"],"sources":["../src/google-vertex-embedding-model-options.ts","../src/google-vertex-transcription-model-options.ts","../src/google-vertex-image-model-options.ts","../src/google-vertex-video-model-options.ts","../src/google-vertex-video-settings.ts","../src/google-vertex-speech-model-options.ts","../src/google-vertex-config.ts","../src/google-vertex-embedding-model.ts","../src/google-vertex-image-settings.ts","../src/google-vertex-options.ts","../src/google-vertex-tools.ts","../src/google-vertex-provider-base.ts","../src/google-vertex-provider.ts","../src/gemini-transcription/google-vertex-gemini-transcription-model-options.ts","../src/gemini-transcription/google-vertex-gemini-transcription-model.ts","../src/version.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["GoogleVertexProviderSettings","GoogleVertexProviderSettingsOriginal","TranscriptionModelV4StreamOptions"],"sources":["../src/google-vertex-embedding-model-options.ts","../src/google-vertex-transcription-model-options.ts","../src/google-vertex-image-model-options.ts","../src/google-vertex-video-model-options.ts","../src/google-vertex-video-settings.ts","../src/google-vertex-speech-model-options.ts","../src/google-vertex-config.ts","../src/google-vertex-embedding-model.ts","../src/google-vertex-image-settings.ts","../src/google-vertex-options.ts","../src/google-vertex-tools.ts","../src/google-vertex-provider-base.ts","../src/google-vertex-provider.ts","../src/gemini-transcription/google-vertex-gemini-transcription-model-options.ts","../src/gemini-transcription/google-vertex-gemini-transcription-model.ts","../src/version.ts"],"mappings":";;;;;;KAQY;cAcC,oEAAiC;;;;;;KAkDlC,oCAAoC,mBACvC;;;KChEG;cAMC,iFAA8C;;;;;;KAsC/C,wCAAwC,mBAC3C;;;KCpDG,gCAAgC,KAC1C;;;KCAU;EAEV;EACA;EAGA;EACA;EACA;EAGA;EAGA,kBAAkB;IAChB;IACA;;GAGD;;;;KCtBS;;;KCMA;KAQA,iCAAiC;;;UCZ5B;EACf;EACA;EACA,UAAU,WAAW;EACrB,QAAQ;;;;cCkBG,sCAAsC;WACxC;WACA,SAAS;WACT;mBAEQ;UAET,oBAAoB,OAAO;;;;UAO3B,sBAAsB;IAC5B;IACA,QAAQ;MACT;MAIG;MAMA;EAKF,YAAA,SAAS,8BACT,QAAQ;EAMJ,UACJ,QACA,YACA,SACA,aACA,mBACC,WAAW,kCAAkC,QAC9C,QAAQ,WAAW;;;;KCtEX;;;KCGA;;;cCDC;;;;MAS4wnB,YAAC;MAAsD,cAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCgEh0nB,6BAA6B;;;;GAI3C,SAAS,sBAAsB;EAEhC,gBAAgB,SAAS,wBAAwB;;;;;;;EAQjD,aACE,gBACI;IACE,OAAO;;IACP;MACL;;;;EAKH,MAAM,SAAS,2BAA2B;;;;EAK1C,WAAW,SAAS,2BAA2B;EAE/C,cAAc;;;;EAKd,mBACE,SAAS,+BACR;;;;EAKH,MAAM,SAAS,2BAA2B;;;;EAK1C,WAAW,SAAS,2BAA2B;;;;EAK/C,OAAO,SAAS,4BAA4B;;;;EAK5C,YAAY,SAAS,4BAA4B;;;;EAKjD,cACE,SAAS,mCACR;;;;EAKH,mBACE,SAAS,mCACR;;UAGYA;;;;;;EAMf;;;;EAKA;;;;EAKA;;;;;;;;EASA,UAAU,WAAW;;;;;EAMrB,QAAQ;EAGR;;;;EAKA;;;;;;EAOA,YAAY;;;;;EAMZ;;;;IAIE;;;;;UCtMa,qCAAqCC;;;;;;;EAOpD,oBAAoB;;wBAKN,mBACd,UAAS,+BACR;;;;qBAgCU,cAAY;;;KC/Cb;;;;;;;cAWC,8EAA2C;;;;;;;KAuC5C,8CAA8C,mBACjD;;;UCgCC;EACR;;EAEA;EACA,UAAU,WAAW;EACrB,QAAQ;EACR,YAAY;EACZ;EACA;EACA;IACE,oBAAoB;IACpB;;;;;;;;;qBAUS,gDAAgD;WAyBhD,SAAS;mBACD;WAzBV;UAED,oBAAoB,OAAO;;;;UAO3B,sBAAsB;IAC5B,SAAS;IACT,QAAQ;MACT;MAOG;EAKO,YAAA,SAAS,wCACD,QAAQ;UAGb;EAeR,WACJ,SAAS,WAAW,yCACnB,QAAQ,QAAQ,WAAW;EAwGxB,SACJ,SAASC,iDACR,QACD,QAAQ,WAAW,YAAY;;;;qBCtQtB"}
|
package/dist/index.js
CHANGED
|
@@ -15,21 +15,21 @@ function createAuthTokenGenerator(options) {
|
|
|
15
15
|
}
|
|
16
16
|
//#endregion
|
|
17
17
|
//#region src/version.ts
|
|
18
|
-
const VERSION = "5.0.
|
|
18
|
+
const VERSION = "5.0.119";
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/google-vertex-error.ts
|
|
21
|
-
const googleVertexErrorDataSchema = z.object({ error: z.object({
|
|
21
|
+
const googleVertexErrorDataSchema = lazySchema(() => zodSchema(z.object({ error: z.object({
|
|
22
22
|
code: z.number().nullable(),
|
|
23
23
|
message: z.string(),
|
|
24
24
|
status: z.string()
|
|
25
|
-
}) });
|
|
25
|
+
}) })));
|
|
26
26
|
const googleVertexFailedResponseHandler = createJsonErrorResponseHandler({
|
|
27
27
|
errorSchema: googleVertexErrorDataSchema,
|
|
28
28
|
errorToMessage: (data) => data.error.message
|
|
29
29
|
});
|
|
30
30
|
//#endregion
|
|
31
31
|
//#region src/google-vertex-embedding-model-options.ts
|
|
32
|
-
const googleVertexEmbeddingModelOptions = z.object({
|
|
32
|
+
const googleVertexEmbeddingModelOptions = lazySchema(() => zodSchema(z.object({
|
|
33
33
|
/**
|
|
34
34
|
* Optional. Optional reduced dimension for the output embedding.
|
|
35
35
|
* If set, excessive values in the output embedding are truncated from the end.
|
|
@@ -68,7 +68,7 @@ const googleVertexEmbeddingModelOptions = z.object({
|
|
|
68
68
|
* an error is returned if the input text is longer than the maximum length supported by the model. Defaults to true.
|
|
69
69
|
*/
|
|
70
70
|
autoTruncate: z.boolean().optional()
|
|
71
|
-
});
|
|
71
|
+
})));
|
|
72
72
|
//#endregion
|
|
73
73
|
//#region src/google-vertex-embedding-model.ts
|
|
74
74
|
var GoogleVertexEmbeddingModel = class GoogleVertexEmbeddingModel {
|
|
@@ -176,14 +176,14 @@ var GoogleVertexEmbeddingModel = class GoogleVertexEmbeddingModel {
|
|
|
176
176
|
};
|
|
177
177
|
}
|
|
178
178
|
};
|
|
179
|
-
const googleVertexTextEmbeddingResponseSchema = z.object({ predictions: z.array(z.object({ embeddings: z.object({
|
|
179
|
+
const googleVertexTextEmbeddingResponseSchema = lazySchema(() => zodSchema(z.object({ predictions: z.array(z.object({ embeddings: z.object({
|
|
180
180
|
values: z.array(z.number()),
|
|
181
181
|
statistics: z.object({ token_count: z.number() })
|
|
182
|
-
}) })) });
|
|
183
|
-
const googleVertexEmbedContentResponseSchema = z.object({
|
|
182
|
+
}) })) })));
|
|
183
|
+
const googleVertexEmbedContentResponseSchema = lazySchema(() => zodSchema(z.object({
|
|
184
184
|
embedding: z.object({ values: z.array(z.number()) }),
|
|
185
185
|
usageMetadata: z.object({ promptTokenCount: z.number().nullish() }).nullish()
|
|
186
|
-
});
|
|
186
|
+
})));
|
|
187
187
|
function usesEmbedContentEndpoint(modelId) {
|
|
188
188
|
return modelId === "gemini-embedding-2" || modelId === "gemini-embedding-2-preview";
|
|
189
189
|
}
|
|
@@ -397,7 +397,7 @@ var GoogleVertexCloudTTSSpeechModel = class GoogleVertexCloudTTSSpeechModel {
|
|
|
397
397
|
};
|
|
398
398
|
}
|
|
399
399
|
};
|
|
400
|
-
const googleVertexCloudTTSResponseSchema = z.object({ audioContent: z.string().nullish() });
|
|
400
|
+
const googleVertexCloudTTSResponseSchema = lazySchema(() => zodSchema(z.object({ audioContent: z.string().nullish() })));
|
|
401
401
|
//#endregion
|
|
402
402
|
//#region src/google-vertex-tools.ts
|
|
403
403
|
const googleVertexTools = {
|
|
@@ -411,7 +411,7 @@ const googleVertexTools = {
|
|
|
411
411
|
};
|
|
412
412
|
//#endregion
|
|
413
413
|
//#region src/google-vertex-transcription-model-options.ts
|
|
414
|
-
const googleVertexTranscriptionProviderOptionsSchema = z.object({
|
|
414
|
+
const googleVertexTranscriptionProviderOptionsSchema = lazySchema(() => zodSchema(z.object({
|
|
415
415
|
/**
|
|
416
416
|
* BCP-47 language codes to recognize (e.g. `['en-US']`), or `['auto']` to let
|
|
417
417
|
* Chirp auto-detect the spoken language. Defaults to `['auto']`. For
|
|
@@ -440,7 +440,7 @@ const googleVertexTranscriptionProviderOptionsSchema = z.object({
|
|
|
440
440
|
* `global` location.
|
|
441
441
|
*/
|
|
442
442
|
region: z.string().optional()
|
|
443
|
-
});
|
|
443
|
+
})));
|
|
444
444
|
//#endregion
|
|
445
445
|
//#region src/google-vertex-transcription-model.ts
|
|
446
446
|
function parseDurationSeconds(value) {
|
|
@@ -544,7 +544,7 @@ var GoogleVertexTranscriptionModel = class GoogleVertexTranscriptionModel {
|
|
|
544
544
|
};
|
|
545
545
|
}
|
|
546
546
|
};
|
|
547
|
-
const googleVertexTranscriptionResponseSchema = z.object({
|
|
547
|
+
const googleVertexTranscriptionResponseSchema = lazySchema(() => zodSchema(z.object({
|
|
548
548
|
results: z.array(z.object({
|
|
549
549
|
alternatives: z.array(z.object({
|
|
550
550
|
transcript: z.string().nullish(),
|
|
@@ -557,7 +557,7 @@ const googleVertexTranscriptionResponseSchema = z.object({
|
|
|
557
557
|
languageCode: z.string().nullish()
|
|
558
558
|
})).nullish(),
|
|
559
559
|
metadata: z.object({ totalBilledDuration: z.string().nullish() }).nullish()
|
|
560
|
-
});
|
|
560
|
+
})));
|
|
561
561
|
//#endregion
|
|
562
562
|
//#region src/gemini-transcription/google-vertex-gemini-transcription-model-options.ts
|
|
563
563
|
/**
|
|
@@ -566,7 +566,7 @@ const googleVertexTranscriptionResponseSchema = z.object({
|
|
|
566
566
|
* (`gemini-3.5-transcribe-live`) variants. Maps onto Google's
|
|
567
567
|
* `AudioTranscriptionConfig`.
|
|
568
568
|
*/
|
|
569
|
-
const googleVertexGeminiTranscriptionModelOptions = z.object({
|
|
569
|
+
const googleVertexGeminiTranscriptionModelOptions = lazySchema(() => zodSchema(z.object({
|
|
570
570
|
/**
|
|
571
571
|
* BCP-47 language codes providing hints about the languages present in the
|
|
572
572
|
* audio. If omitted or empty, defaults to automatic language detection.
|
|
@@ -595,7 +595,7 @@ const googleVertexGeminiTranscriptionModelOptions = z.object({
|
|
|
595
595
|
* (lists, numbers, dates, paragraph breaks), and grammar/casing polish.
|
|
596
596
|
*/
|
|
597
597
|
mode: z.enum(["SMART", "VERBATIM"]).optional()
|
|
598
|
-
});
|
|
598
|
+
})));
|
|
599
599
|
//#endregion
|
|
600
600
|
//#region src/gemini-transcription/google-vertex-gemini-transcription-model.ts
|
|
601
601
|
const liveWebSocketPath = "google.cloud.aiplatform.v1.LlmBidiService/BidiGenerateContent";
|
|
@@ -964,23 +964,23 @@ function parseOffsetSeconds(offset) {
|
|
|
964
964
|
const parsed = Number.parseFloat(offset);
|
|
965
965
|
return Number.isFinite(parsed) ? parsed : void 0;
|
|
966
966
|
}
|
|
967
|
-
const googleVertexGeminiTranscriptionWordSchema = z.object({
|
|
967
|
+
const googleVertexGeminiTranscriptionWordSchema = () => z.object({
|
|
968
968
|
word: z.string().nullish(),
|
|
969
969
|
startOffset: z.string().nullish(),
|
|
970
970
|
endOffset: z.string().nullish()
|
|
971
971
|
});
|
|
972
|
-
const googleVertexGeminiTranscriptionResponseSchema = z.object({
|
|
972
|
+
const googleVertexGeminiTranscriptionResponseSchema = lazySchema(() => zodSchema(z.object({
|
|
973
973
|
candidates: z.array(z.object({ content: z.object({ parts: z.array(z.object({
|
|
974
974
|
text: z.string().nullish(),
|
|
975
975
|
audioTranscription: z.object({
|
|
976
976
|
text: z.string().nullish(),
|
|
977
977
|
languageCode: z.string().nullish(),
|
|
978
978
|
speakerLabel: z.string().nullish(),
|
|
979
|
-
words: z.array(googleVertexGeminiTranscriptionWordSchema).nullish()
|
|
979
|
+
words: z.array(googleVertexGeminiTranscriptionWordSchema()).nullish()
|
|
980
980
|
}).nullish()
|
|
981
981
|
})).nullish() }).nullish() })).nullish(),
|
|
982
982
|
usageMetadata: z.record(z.string(), z.unknown()).nullish()
|
|
983
|
-
});
|
|
983
|
+
})));
|
|
984
984
|
//#endregion
|
|
985
985
|
//#region src/google-vertex-video-model-options.ts
|
|
986
986
|
const googleVertexVideoModelOptionsSchema = lazySchema(() => zodSchema(z.looseObject({
|
|
@@ -1230,7 +1230,7 @@ var GoogleVertexVideoModel = class {
|
|
|
1230
1230
|
});
|
|
1231
1231
|
}
|
|
1232
1232
|
};
|
|
1233
|
-
const googleVertexOperationSchema = z.object({
|
|
1233
|
+
const googleVertexOperationSchema = lazySchema(() => zodSchema(z.object({
|
|
1234
1234
|
name: z.string().nullish(),
|
|
1235
1235
|
done: z.boolean().nullish(),
|
|
1236
1236
|
error: z.object({
|
|
@@ -1246,7 +1246,7 @@ const googleVertexOperationSchema = z.object({
|
|
|
1246
1246
|
})).nullish(),
|
|
1247
1247
|
raiMediaFilteredCount: z.number().nullish()
|
|
1248
1248
|
}).nullish()
|
|
1249
|
-
});
|
|
1249
|
+
})));
|
|
1250
1250
|
//#endregion
|
|
1251
1251
|
//#region src/google-vertex-provider-base.ts
|
|
1252
1252
|
const EXPRESS_MODE_BASE_URL = "https://aiplatform.googleapis.com/v1/publishers/google";
|