@zhivex-ai/vertex 0.5.0 → 0.7.0-next.0

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/README.md CHANGED
@@ -2,6 +2,80 @@
2
2
 
3
3
  Vertex AI adapter for Zhivex AI SDK.
4
4
 
5
+ Supports Vertex Gemini text, embeddings, speech, realtime sessions, grounded generation, Context Caching, Batch API, raw prediction calls, and Google generative media endpoints for Gemini Image, Imagen, Veo, and Lyria.
6
+
7
+ | Surface | Support |
8
+ | --- | --- |
9
+ | Text, tools, structured output, embeddings | high-level |
10
+ | Context Caching and Batch API | high-level |
11
+ | Google Search, URL Context, Code Execution, Computer Use | hosted tool helpers where the selected endpoint supports them |
12
+ | Image, video, music generation | high-level |
13
+ | Vertex publisher models / Model Garden | `predictionModel()` raw/prediction |
14
+ | Gemini Files API, Gemini File Search stores, Interactions | explicit unsupported surface in this adapter |
15
+
16
+ ```ts
17
+ import {
18
+ createBatch,
19
+ createContextCache,
20
+ generateImage,
21
+ generateMusic,
22
+ generateText,
23
+ generateVideo,
24
+ googleUrlContextTool,
25
+ predictRaw
26
+ } from "@zhivex-ai/core";
27
+ import { createVertex } from "@zhivex-ai/vertex";
28
+
29
+ const vertex = createVertex({
30
+ accessToken: process.env.VERTEX_ACCESS_TOKEN,
31
+ projectId: process.env.GOOGLE_CLOUD_PROJECT,
32
+ location: "us-central1"
33
+ });
34
+
35
+ await generateImage({
36
+ model: vertex.imageGenerationModel!("imagen-4.0-generate-001"),
37
+ prompt: "Create a product photo"
38
+ });
39
+
40
+ await generateVideo({
41
+ model: vertex.videoGenerationModel!("veo-3.1-generate-preview"),
42
+ prompt: "Create a cinematic establishing shot"
43
+ });
44
+
45
+ await generateMusic({
46
+ model: vertex.musicGenerationModel!("lyria-002"),
47
+ prompt: "Create a short instrumental intro"
48
+ });
49
+
50
+ await generateText({
51
+ model: vertex("gemini-2.5-flash"),
52
+ prompt: "Use URL context for the linked source.",
53
+ tools: {
54
+ urls: googleUrlContextTool()
55
+ }
56
+ });
57
+
58
+ await createContextCache({
59
+ provider: vertex,
60
+ modelId: "gemini-2.5-flash",
61
+ contents: [{ role: "user", parts: [{ type: "file", data: "gs://bucket/large.pdf", mediaType: "application/pdf" }] }]
62
+ });
63
+
64
+ await createBatch({
65
+ provider: vertex,
66
+ modelId: "gemini-2.5-flash",
67
+ fileName: "files/batch-input"
68
+ });
69
+
70
+ await predictRaw({
71
+ model: vertex.predictionModel!("publisher-model-id"),
72
+ instances: [{ prompt: "provider-specific request" }],
73
+ parameters: { temperature: 0.2 }
74
+ });
75
+ ```
76
+
77
+ Model Garden coverage is intentionally raw/prediction based. The adapter does not add a dedicated wrapper for every publisher model.
78
+
5
79
  ## Install
6
80
 
7
81
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAmBL,KAAK,uBAAuB,EAY5B,KAAK,eAAe,EAEpB,KAAK,yBAAyB,EAQ/B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACvD;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAq/BD,eAAO,MAAM,YAAY,GACvB,UAAS,qBAA0B,KAClC,uBAAuB,GAAG,eAAe,GAAG;IAAE,QAAQ,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAoCjF,CAAC;AAEF,eAAO,MAAM,cAAc,oJAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EA4BL,KAAK,uBAAuB,EA4B5B,KAAK,eAAe,EAEpB,KAAK,yBAAyB,EAU/B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACvD;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAk6DD,eAAO,MAAM,YAAY,GACvB,UAAS,qBAA0B,KAClC,uBAAuB,GAAG,eAAe,GAAG;IAAE,QAAQ,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CA0CjF,CAAC;AAEF,eAAO,MAAM,cAAc,oJAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { toJSONSchema } from "zod";
2
- import { CallbackRealtimeSession, ConfigurationError, ProviderHTTPError, UnsupportedFeatureError, createMcpToolSet, createProviderAdapter, encodeAudioFrame, isCallableToolDefinition, isHostedToolDefinition, normalizeFinishReason, openWebSocketConnection, streamSSE, toToolSet, toolResultPayload, unsupportedBrowserToken, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
2
+ import { CallbackRealtimeSession, ConfigurationError, ProviderHTTPError, UnsupportedFeatureError, createMcpToolSet, createProviderAdapter, encodeAudioFrame, encodeMediaFrame, isCallableToolDefinition, isHostedToolDefinition, normalizeFinishReason, openWebSocketConnection, streamSSE, toToolSet, toolResultPayload, unsupportedBrowserToken, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
3
3
  const capabilities = {
4
4
  streaming: true,
5
5
  tools: true,
@@ -8,10 +8,17 @@ const capabilities = {
8
8
  toolChoice: true,
9
9
  parallelToolCalls: false,
10
10
  vision: true,
11
- files: false,
11
+ files: true,
12
12
  audioInput: false,
13
13
  audioOutput: false,
14
14
  embeddings: true,
15
+ fileSearch: false,
16
+ urlContext: true,
17
+ contextCaching: true,
18
+ batch: true,
19
+ interactions: false,
20
+ rawPrediction: true,
21
+ computerUse: true,
15
22
  reasoning: true,
16
23
  webSearch: true,
17
24
  agentCapabilities: {
@@ -21,7 +28,7 @@ const capabilities = {
21
28
  hostedWebSearch: true,
22
29
  hostedFileSearch: false,
23
30
  remoteMcp: false,
24
- computerUse: false,
31
+ computerUse: true,
25
32
  codeExecution: true,
26
33
  toolsets: false
27
34
  }
@@ -60,6 +67,85 @@ const groundedCapabilities = {
60
67
  ...capabilities,
61
68
  webSearch: true
62
69
  };
70
+ const imageGenerationCapabilities = {
71
+ ...capabilities,
72
+ streaming: false,
73
+ tools: false,
74
+ structuredOutput: false,
75
+ jsonMode: false,
76
+ toolChoice: false,
77
+ parallelToolCalls: false,
78
+ embeddings: false,
79
+ imageGeneration: true,
80
+ videoGeneration: false,
81
+ musicGeneration: false,
82
+ reasoning: false,
83
+ webSearch: false,
84
+ agentCapabilities: {
85
+ supportTier: "tier-c",
86
+ toolChoiceNone: false,
87
+ approvalRequests: false,
88
+ hostedWebSearch: false,
89
+ hostedFileSearch: false,
90
+ remoteMcp: false,
91
+ computerUse: false,
92
+ codeExecution: false,
93
+ toolsets: false
94
+ }
95
+ };
96
+ const videoGenerationCapabilities = {
97
+ ...capabilities,
98
+ streaming: false,
99
+ tools: false,
100
+ structuredOutput: false,
101
+ jsonMode: false,
102
+ toolChoice: false,
103
+ parallelToolCalls: false,
104
+ vision: false,
105
+ embeddings: false,
106
+ imageGeneration: false,
107
+ videoGeneration: true,
108
+ musicGeneration: false,
109
+ reasoning: false,
110
+ webSearch: false,
111
+ agentCapabilities: {
112
+ supportTier: "tier-c",
113
+ toolChoiceNone: false,
114
+ approvalRequests: false,
115
+ hostedWebSearch: false,
116
+ hostedFileSearch: false,
117
+ remoteMcp: false,
118
+ computerUse: false,
119
+ codeExecution: false,
120
+ toolsets: false
121
+ }
122
+ };
123
+ const musicGenerationCapabilities = {
124
+ ...capabilities,
125
+ streaming: false,
126
+ tools: false,
127
+ structuredOutput: false,
128
+ jsonMode: false,
129
+ toolChoice: false,
130
+ parallelToolCalls: false,
131
+ embeddings: false,
132
+ imageGeneration: false,
133
+ videoGeneration: false,
134
+ musicGeneration: true,
135
+ reasoning: false,
136
+ webSearch: false,
137
+ agentCapabilities: {
138
+ supportTier: "tier-c",
139
+ toolChoiceNone: false,
140
+ approvalRequests: false,
141
+ hostedWebSearch: false,
142
+ hostedFileSearch: false,
143
+ remoteMcp: false,
144
+ computerUse: false,
145
+ codeExecution: false,
146
+ toolsets: false
147
+ }
148
+ };
63
149
  const realtimeCapabilities = {
64
150
  ...capabilities,
65
151
  streaming: false,
@@ -69,6 +155,7 @@ const realtimeCapabilities = {
69
155
  sessions: true,
70
156
  audioInput: true,
71
157
  audioOutput: true,
158
+ imageInput: true,
72
159
  tools: true,
73
160
  browserTokens: false
74
161
  }
@@ -89,6 +176,144 @@ const toBase64 = (data) => {
89
176
  const bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
90
177
  return Buffer.from(bytes).toString("base64");
91
178
  };
179
+ const sleep = (ms, signal) => new Promise((resolve, reject) => {
180
+ if (ms <= 0) {
181
+ resolve();
182
+ return;
183
+ }
184
+ if (signal?.aborted) {
185
+ reject(new Error("Operation aborted."));
186
+ return;
187
+ }
188
+ const timeout = setTimeout(() => {
189
+ signal?.removeEventListener("abort", onAbort);
190
+ resolve();
191
+ }, ms);
192
+ const onAbort = () => {
193
+ clearTimeout(timeout);
194
+ reject(new Error("Operation aborted."));
195
+ };
196
+ signal?.addEventListener("abort", onAbort, { once: true });
197
+ });
198
+ const splitGenerationConfig = (providerOptions) => {
199
+ const { generationConfig, ...rest } = providerOptions ?? {};
200
+ return {
201
+ generationConfig: generationConfig && typeof generationConfig === "object" ? generationConfig : {},
202
+ providerOptions: rest
203
+ };
204
+ };
205
+ const mediaInputToPart = (media) => media.uri
206
+ ? {
207
+ fileData: {
208
+ mimeType: media.mediaType,
209
+ fileUri: media.uri
210
+ }
211
+ }
212
+ : {
213
+ inlineData: {
214
+ mimeType: media.mediaType,
215
+ data: media.data ? toBase64(media.data) : ""
216
+ }
217
+ };
218
+ const collectInlineMedia = (json, fallbackMediaType) => {
219
+ const text = [];
220
+ const media = [];
221
+ const candidates = Array.isArray(json.candidates) ? json.candidates : [];
222
+ for (const candidate of candidates) {
223
+ const parts = Array.isArray(candidate?.content?.parts) ? candidate.content.parts : [];
224
+ for (const part of parts) {
225
+ if (typeof part.text === "string" && part.text) {
226
+ text.push(part.text);
227
+ }
228
+ const inlineData = part.inlineData ?? part.inline_data;
229
+ if (inlineData?.data) {
230
+ media.push({
231
+ data: Uint8Array.from(Buffer.from(inlineData.data, "base64")),
232
+ mediaType: inlineData.mimeType ?? inlineData.mime_type ?? fallbackMediaType,
233
+ text: typeof part.text === "string" ? part.text : undefined
234
+ });
235
+ }
236
+ }
237
+ }
238
+ return {
239
+ media,
240
+ text: text.length ? text.join("\n") : undefined
241
+ };
242
+ };
243
+ const mediaInputToVeoImage = (media) => media.uri
244
+ ? {
245
+ gcsUri: media.uri,
246
+ mimeType: media.mediaType
247
+ }
248
+ : {
249
+ bytesBase64Encoded: media.data ? toBase64(media.data) : "",
250
+ mimeType: media.mediaType
251
+ };
252
+ const collectVideos = (json) => {
253
+ const samples = json.response?.generateVideoResponse?.generatedSamples ??
254
+ json.response?.generatedVideos ??
255
+ json.response?.generated_videos ??
256
+ [];
257
+ return (Array.isArray(samples) ? samples : [])
258
+ .map((sample) => sample.video ?? sample)
259
+ .map((video) => ({
260
+ data: video.videoBytes
261
+ ? Uint8Array.from(Buffer.from(video.videoBytes, "base64"))
262
+ : video.bytesBase64Encoded
263
+ ? Uint8Array.from(Buffer.from(video.bytesBase64Encoded, "base64"))
264
+ : undefined,
265
+ uri: video.uri ?? video.gcsUri,
266
+ mediaType: video.mimeType ?? "video/mp4",
267
+ providerMetadata: video
268
+ }))
269
+ .filter((video) => video.data || video.uri);
270
+ };
271
+ const isImagenModel = (modelId) => modelId.startsWith("imagen-") || modelId.startsWith("imagegeneration@");
272
+ const normalizeCachedContent = (json) => ({
273
+ name: json.name ?? "",
274
+ model: json.model,
275
+ displayName: json.displayName ?? json.display_name,
276
+ createTime: json.createTime ?? json.create_time,
277
+ updateTime: json.updateTime ?? json.update_time,
278
+ expireTime: json.expireTime ?? json.expire_time,
279
+ usageMetadata: json.usageMetadata ?? json.usage_metadata,
280
+ rawResponse: json,
281
+ providerMetadata: json
282
+ });
283
+ const normalizeBatchJob = (json) => ({
284
+ name: json.name ?? "",
285
+ model: json.model,
286
+ state: json.state ?? json.metadata?.state,
287
+ done: json.done,
288
+ createTime: json.createTime ?? json.create_time ?? json.metadata?.createTime,
289
+ updateTime: json.updateTime ?? json.update_time ?? json.metadata?.updateTime,
290
+ rawResponse: json,
291
+ providerMetadata: json
292
+ });
293
+ const normalizeOperation = (json) => ({
294
+ name: json.name ?? "",
295
+ done: json.done,
296
+ response: json.response,
297
+ error: json.error,
298
+ metadata: json.metadata,
299
+ rawResponse: json
300
+ });
301
+ const normalizePredictionResult = (json) => ({
302
+ predictions: json.predictions,
303
+ operationName: json.name,
304
+ operation: json.name || json.done !== undefined ? normalizeOperation(json) : undefined,
305
+ rawResponse: json,
306
+ providerMetadata: json
307
+ });
308
+ const appendQuery = (url, query) => {
309
+ const parsed = new URL(url);
310
+ for (const [key, value] of Object.entries(query)) {
311
+ if (value !== undefined) {
312
+ parsed.searchParams.set(key, String(value));
313
+ }
314
+ }
315
+ return parsed.toString();
316
+ };
92
317
  const systemInstruction = (messages) => {
93
318
  const text = messages
94
319
  .filter((message) => message.role === "system")
@@ -109,6 +334,13 @@ const mapPart = (part) => {
109
334
  data: part.image
110
335
  }
111
336
  };
337
+ case "file":
338
+ return {
339
+ fileData: {
340
+ mimeType: part.mediaType,
341
+ fileUri: part.data
342
+ }
343
+ };
112
344
  case "tool-call":
113
345
  return {
114
346
  functionCall: {
@@ -441,6 +673,9 @@ const parseAssistantMessage = (candidate) => ({
441
673
  }
442
674
  };
443
675
  }
676
+ if (part.inlineData?.data && String(part.inlineData.mimeType ?? "").startsWith("image/")) {
677
+ return { type: "image", image: part.inlineData.data, mediaType: part.inlineData.mimeType };
678
+ }
444
679
  return { type: "text", text: JSON.stringify(part) };
445
680
  }) ?? []
446
681
  });
@@ -452,6 +687,302 @@ const extractGroundingSources = (candidate) => (candidate?.groundingMetadata?.gr
452
687
  providerMetadata: chunk
453
688
  }))
454
689
  .filter((source) => typeof source.url === "string");
690
+ class VertexContextCachesClient {
691
+ baseURL;
692
+ accessToken;
693
+ fetcher;
694
+ constructor(baseURL, accessToken, fetcher) {
695
+ this.baseURL = baseURL;
696
+ this.accessToken = accessToken;
697
+ this.fetcher = fetcher;
698
+ }
699
+ headers() {
700
+ return {
701
+ "content-type": "application/json",
702
+ authorization: `Bearer ${this.accessToken}`
703
+ };
704
+ }
705
+ resourceBase() {
706
+ const index = this.baseURL.indexOf("/projects/");
707
+ return index >= 0 ? this.baseURL.slice(index + 1) : this.baseURL;
708
+ }
709
+ async create(input) {
710
+ const { signal, cleanup } = withTimeoutSignal(input);
711
+ try {
712
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/cachedContents`, {
713
+ method: "POST",
714
+ headers: this.headers(),
715
+ signal,
716
+ body: JSON.stringify({
717
+ model: input.modelId.startsWith("projects/")
718
+ ? input.modelId
719
+ : `${this.resourceBase()}/publishers/google/models/${input.modelId}`,
720
+ contents: mapMessages(input.contents),
721
+ ...(input.system ? { systemInstruction: { parts: [{ text: input.system }] } } : { systemInstruction: systemInstruction(input.contents) }),
722
+ ...(input.tools ? { tools: mapTools(toToolSet(input.tools)) } : {}),
723
+ ...(input.displayName ? { displayName: input.displayName } : {}),
724
+ ...(input.ttl ? { ttl: input.ttl } : {}),
725
+ ...(input.expireTime ? { expireTime: input.expireTime } : {}),
726
+ ...(input.providerOptions ?? {})
727
+ })
728
+ }), input);
729
+ return normalizeCachedContent(await parseJson(response));
730
+ }
731
+ finally {
732
+ cleanup();
733
+ }
734
+ }
735
+ async get(input) {
736
+ const { signal, cleanup } = withTimeoutSignal(input);
737
+ try {
738
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/${input.name}`, { method: "GET", headers: this.headers(), signal }), input);
739
+ return normalizeCachedContent(await parseJson(response));
740
+ }
741
+ finally {
742
+ cleanup();
743
+ }
744
+ }
745
+ async list(input = {}) {
746
+ const { signal, cleanup } = withTimeoutSignal(input);
747
+ try {
748
+ const response = await withRetry(() => this.fetcher(appendQuery(`${this.baseURL}/cachedContents`, { pageSize: input.pageSize, pageToken: input.pageToken }), {
749
+ method: "GET",
750
+ headers: this.headers(),
751
+ signal
752
+ }), input);
753
+ const json = await parseJson(response);
754
+ return {
755
+ caches: (json.cachedContents ?? json.cached_contents ?? []).map(normalizeCachedContent),
756
+ nextPageToken: json.nextPageToken,
757
+ rawResponse: json
758
+ };
759
+ }
760
+ finally {
761
+ cleanup();
762
+ }
763
+ }
764
+ async delete(input) {
765
+ const { signal, cleanup } = withTimeoutSignal(input);
766
+ try {
767
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/${input.name}`, { method: "DELETE", headers: this.headers(), signal }), input);
768
+ const json = await parseJson(response);
769
+ return { name: input.name, rawResponse: json };
770
+ }
771
+ finally {
772
+ cleanup();
773
+ }
774
+ }
775
+ }
776
+ class VertexBatchesClient {
777
+ baseURL;
778
+ accessToken;
779
+ fetcher;
780
+ constructor(baseURL, accessToken, fetcher) {
781
+ this.baseURL = baseURL;
782
+ this.accessToken = accessToken;
783
+ this.fetcher = fetcher;
784
+ }
785
+ headers() {
786
+ return {
787
+ "content-type": "application/json",
788
+ authorization: `Bearer ${this.accessToken}`
789
+ };
790
+ }
791
+ async create(input) {
792
+ const { signal, cleanup } = withTimeoutSignal(input);
793
+ try {
794
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/publishers/google/models/${input.modelId}:batchGenerateContent`, {
795
+ method: "POST",
796
+ headers: this.headers(),
797
+ signal,
798
+ body: JSON.stringify({
799
+ batch: {
800
+ ...(input.displayName ? { displayName: input.displayName } : {}),
801
+ inputConfig: input.fileName
802
+ ? { fileName: input.fileName }
803
+ : {
804
+ requests: {
805
+ requests: input.requests ?? []
806
+ }
807
+ },
808
+ ...(input.providerOptions ?? {})
809
+ }
810
+ })
811
+ }), input);
812
+ return normalizeBatchJob(await parseJson(response));
813
+ }
814
+ finally {
815
+ cleanup();
816
+ }
817
+ }
818
+ async get(input) {
819
+ const { signal, cleanup } = withTimeoutSignal(input);
820
+ try {
821
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/${input.name}`, { method: "GET", headers: this.headers(), signal }), input);
822
+ return normalizeBatchJob(await parseJson(response));
823
+ }
824
+ finally {
825
+ cleanup();
826
+ }
827
+ }
828
+ async list(input = {}) {
829
+ const { signal, cleanup } = withTimeoutSignal(input);
830
+ try {
831
+ const response = await withRetry(() => this.fetcher(appendQuery(`${this.baseURL}/batches`, { pageSize: input.pageSize, pageToken: input.pageToken }), {
832
+ method: "GET",
833
+ headers: this.headers(),
834
+ signal
835
+ }), input);
836
+ const json = await parseJson(response);
837
+ return {
838
+ batches: (json.batches ?? []).map(normalizeBatchJob),
839
+ nextPageToken: json.nextPageToken,
840
+ rawResponse: json
841
+ };
842
+ }
843
+ finally {
844
+ cleanup();
845
+ }
846
+ }
847
+ async cancel(input) {
848
+ const { signal, cleanup } = withTimeoutSignal(input);
849
+ try {
850
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/${input.name}:cancel`, {
851
+ method: "POST",
852
+ headers: this.headers(),
853
+ signal,
854
+ body: JSON.stringify(input.providerOptions ?? {})
855
+ }), input);
856
+ return normalizeBatchJob(await parseJson(response));
857
+ }
858
+ finally {
859
+ cleanup();
860
+ }
861
+ }
862
+ async delete(input) {
863
+ const { signal, cleanup } = withTimeoutSignal(input);
864
+ try {
865
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/${input.name}:delete`, { method: "POST", headers: this.headers(), signal }), input);
866
+ const json = await parseJson(response);
867
+ return { name: input.name, rawResponse: json };
868
+ }
869
+ finally {
870
+ cleanup();
871
+ }
872
+ }
873
+ }
874
+ class VertexPredictionModel {
875
+ modelId;
876
+ baseURL;
877
+ accessToken;
878
+ fetcher;
879
+ provider = "vertex";
880
+ capabilities = {
881
+ ...capabilities,
882
+ rawPrediction: true
883
+ };
884
+ constructor(modelId, baseURL, accessToken, fetcher) {
885
+ this.modelId = modelId;
886
+ this.baseURL = baseURL;
887
+ this.accessToken = accessToken;
888
+ this.fetcher = fetcher;
889
+ }
890
+ headers() {
891
+ return {
892
+ "content-type": "application/json",
893
+ authorization: `Bearer ${this.accessToken}`
894
+ };
895
+ }
896
+ url(action) {
897
+ return `${this.baseURL}/publishers/google/models/${this.modelId}:${action}`;
898
+ }
899
+ body(input) {
900
+ return input.body ?? {
901
+ ...(input.instances ? { instances: input.instances } : {}),
902
+ ...(input.parameters ? { parameters: input.parameters } : {}),
903
+ ...(input.providerOptions ?? {})
904
+ };
905
+ }
906
+ async predictRaw(input) {
907
+ const action = typeof input.providerOptions?.action === "string" ? input.providerOptions.action : "predict";
908
+ const { signal, cleanup } = withTimeoutSignal(input);
909
+ try {
910
+ const response = await withRetry(() => this.fetcher(this.url(action), {
911
+ method: "POST",
912
+ headers: this.headers(),
913
+ signal,
914
+ body: JSON.stringify(this.body(input))
915
+ }), input);
916
+ return normalizePredictionResult(await parseJson(response));
917
+ }
918
+ finally {
919
+ cleanup();
920
+ }
921
+ }
922
+ async rawPredict(input) {
923
+ const { signal, cleanup } = withTimeoutSignal(input);
924
+ try {
925
+ const response = await withRetry(() => this.fetcher(this.url("rawPredict"), {
926
+ method: "POST",
927
+ headers: this.headers(),
928
+ signal,
929
+ body: JSON.stringify(this.body(input))
930
+ }), input);
931
+ return normalizePredictionResult(await parseJson(response));
932
+ }
933
+ finally {
934
+ cleanup();
935
+ }
936
+ }
937
+ async invoke(input) {
938
+ const { signal, cleanup } = withTimeoutSignal(input);
939
+ try {
940
+ const response = await withRetry(() => this.fetcher(this.url("invoke"), {
941
+ method: "POST",
942
+ headers: this.headers(),
943
+ signal,
944
+ body: JSON.stringify(this.body(input))
945
+ }), input);
946
+ return normalizePredictionResult(await parseJson(response));
947
+ }
948
+ finally {
949
+ cleanup();
950
+ }
951
+ }
952
+ async predictLongRunning(input) {
953
+ const { signal, cleanup } = withTimeoutSignal(input);
954
+ try {
955
+ const response = await withRetry(() => this.fetcher(this.url("predictLongRunning"), {
956
+ method: "POST",
957
+ headers: this.headers(),
958
+ signal,
959
+ body: JSON.stringify(this.body(input))
960
+ }), input);
961
+ return normalizeOperation(await parseJson(response));
962
+ }
963
+ finally {
964
+ cleanup();
965
+ }
966
+ }
967
+ async fetchPredictionOperation(input) {
968
+ const { signal, cleanup } = withTimeoutSignal(input);
969
+ try {
970
+ const response = await withRetry(() => this.fetcher(this.url("fetchPredictOperation"), {
971
+ method: "POST",
972
+ headers: this.headers(),
973
+ signal,
974
+ body: JSON.stringify({
975
+ operationName: input.name,
976
+ ...(input.providerOptions ?? {})
977
+ })
978
+ }), input);
979
+ return normalizeOperation(await parseJson(response));
980
+ }
981
+ finally {
982
+ cleanup();
983
+ }
984
+ }
985
+ }
455
986
  class VertexLanguageModel {
456
987
  modelId;
457
988
  baseURL;
@@ -724,6 +1255,270 @@ class VertexSpeechModel {
724
1255
  }
725
1256
  }
726
1257
  }
1258
+ class VertexImageGenerationModel {
1259
+ modelId;
1260
+ baseURL;
1261
+ accessToken;
1262
+ fetcher;
1263
+ provider = "vertex";
1264
+ capabilities = imageGenerationCapabilities;
1265
+ constructor(modelId, baseURL, accessToken, fetcher) {
1266
+ this.modelId = modelId;
1267
+ this.baseURL = baseURL;
1268
+ this.accessToken = accessToken;
1269
+ this.fetcher = fetcher;
1270
+ }
1271
+ headers() {
1272
+ return {
1273
+ "content-type": "application/json",
1274
+ authorization: `Bearer ${this.accessToken}`
1275
+ };
1276
+ }
1277
+ async generateImage(input) {
1278
+ const { signal, cleanup } = withTimeoutSignal(input);
1279
+ try {
1280
+ if (isImagenModel(this.modelId)) {
1281
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/publishers/google/models/${this.modelId}:predict`, {
1282
+ method: "POST",
1283
+ headers: this.headers(),
1284
+ signal,
1285
+ body: JSON.stringify({
1286
+ instances: [
1287
+ {
1288
+ prompt: input.prompt
1289
+ }
1290
+ ],
1291
+ parameters: {
1292
+ ...(input.negativePrompt ? { negativePrompt: input.negativePrompt, negative_prompt: input.negativePrompt } : {}),
1293
+ ...(input.count ? { sampleCount: input.count, number_of_images: input.count } : {}),
1294
+ ...(input.aspectRatio ? { aspectRatio: input.aspectRatio, aspect_ratio: input.aspectRatio } : {}),
1295
+ ...(input.size ? { sampleImageSize: input.size, sample_image_size: input.size } : {}),
1296
+ ...(input.outputMimeType ? { outputMimeType: input.outputMimeType, output_mime_type: input.outputMimeType } : {}),
1297
+ ...input.providerOptions
1298
+ }
1299
+ })
1300
+ }), input);
1301
+ const json = await parseJson(response);
1302
+ const images = (Array.isArray(json.predictions) ? json.predictions : [])
1303
+ .map((prediction) => ({
1304
+ data: prediction.bytesBase64Encoded || prediction.imageBytes
1305
+ ? Uint8Array.from(Buffer.from(prediction.bytesBase64Encoded ?? prediction.imageBytes, "base64"))
1306
+ : undefined,
1307
+ uri: prediction.gcsUri ?? prediction.uri,
1308
+ mediaType: prediction.mimeType ?? input.outputMimeType ?? "image/png",
1309
+ text: prediction.prompt ?? prediction.text,
1310
+ providerMetadata: prediction
1311
+ }))
1312
+ .filter((image) => image.data || image.uri);
1313
+ return {
1314
+ images,
1315
+ rawResponse: json
1316
+ };
1317
+ }
1318
+ const { generationConfig, providerOptions } = splitGenerationConfig(input.providerOptions);
1319
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/publishers/google/models/${this.modelId}:generateContent`, {
1320
+ method: "POST",
1321
+ headers: this.headers(),
1322
+ signal,
1323
+ body: JSON.stringify({
1324
+ contents: [
1325
+ {
1326
+ role: "user",
1327
+ parts: [
1328
+ { text: input.negativePrompt ? `${input.prompt}\n\nNegative prompt: ${input.negativePrompt}` : input.prompt },
1329
+ ...(input.images ?? []).map(mediaInputToPart)
1330
+ ]
1331
+ }
1332
+ ],
1333
+ ...providerOptions,
1334
+ generationConfig: {
1335
+ responseModalities: ["TEXT", "IMAGE"],
1336
+ ...(input.count ? { candidateCount: input.count } : {}),
1337
+ ...(input.outputMimeType ? { responseMimeType: input.outputMimeType } : {}),
1338
+ ...(input.aspectRatio || input.size
1339
+ ? {
1340
+ imageConfig: {
1341
+ ...(input.aspectRatio ? { aspectRatio: input.aspectRatio } : {}),
1342
+ ...(input.size ? { imageSize: input.size } : {})
1343
+ }
1344
+ }
1345
+ : {}),
1346
+ ...generationConfig
1347
+ }
1348
+ })
1349
+ }), input);
1350
+ const json = await parseJson(response);
1351
+ const { media, text } = collectInlineMedia(json, input.outputMimeType ?? "image/png");
1352
+ return {
1353
+ images: media,
1354
+ text,
1355
+ rawResponse: json
1356
+ };
1357
+ }
1358
+ finally {
1359
+ cleanup();
1360
+ }
1361
+ }
1362
+ }
1363
+ class VertexMusicGenerationModel {
1364
+ modelId;
1365
+ baseURL;
1366
+ accessToken;
1367
+ fetcher;
1368
+ provider = "vertex";
1369
+ capabilities = musicGenerationCapabilities;
1370
+ constructor(modelId, baseURL, accessToken, fetcher) {
1371
+ this.modelId = modelId;
1372
+ this.baseURL = baseURL;
1373
+ this.accessToken = accessToken;
1374
+ this.fetcher = fetcher;
1375
+ }
1376
+ headers() {
1377
+ return {
1378
+ "content-type": "application/json",
1379
+ authorization: `Bearer ${this.accessToken}`
1380
+ };
1381
+ }
1382
+ async generateMusic(input) {
1383
+ const { signal, cleanup } = withTimeoutSignal(input);
1384
+ try {
1385
+ if (this.modelId === "lyria-002") {
1386
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/publishers/google/models/${this.modelId}:predict`, {
1387
+ method: "POST",
1388
+ headers: this.headers(),
1389
+ signal,
1390
+ body: JSON.stringify({
1391
+ instances: [
1392
+ {
1393
+ prompt: input.prompt,
1394
+ ...(input.negativePrompt ? { negative_prompt: input.negativePrompt } : {})
1395
+ }
1396
+ ],
1397
+ parameters: {
1398
+ ...input.providerOptions
1399
+ }
1400
+ })
1401
+ }), input);
1402
+ const json = await parseJson(response);
1403
+ return {
1404
+ audio: (Array.isArray(json.predictions) ? json.predictions : []).map((prediction) => ({
1405
+ data: Uint8Array.from(Buffer.from(prediction.audioContent ?? "", "base64")),
1406
+ mediaType: prediction.mimeType ?? "audio/wav",
1407
+ providerMetadata: prediction
1408
+ })),
1409
+ rawResponse: json
1410
+ };
1411
+ }
1412
+ const { generationConfig, providerOptions } = splitGenerationConfig(input.providerOptions);
1413
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/publishers/google/models/${this.modelId}:generateContent`, {
1414
+ method: "POST",
1415
+ headers: this.headers(),
1416
+ signal,
1417
+ body: JSON.stringify({
1418
+ contents: [
1419
+ {
1420
+ role: "user",
1421
+ parts: [
1422
+ { text: input.negativePrompt ? `${input.prompt}\n\nNegative prompt: ${input.negativePrompt}` : input.prompt },
1423
+ ...(input.images ?? []).map(mediaInputToPart)
1424
+ ]
1425
+ }
1426
+ ],
1427
+ ...providerOptions,
1428
+ generationConfig: {
1429
+ responseModalities: ["AUDIO", "TEXT"],
1430
+ ...(input.outputMimeType ? { responseMimeType: input.outputMimeType } : {}),
1431
+ ...generationConfig
1432
+ }
1433
+ })
1434
+ }), input);
1435
+ const json = await parseJson(response);
1436
+ const { media, text } = collectInlineMedia(json, input.outputMimeType ?? "audio/mpeg");
1437
+ return {
1438
+ audio: media,
1439
+ text,
1440
+ rawResponse: json
1441
+ };
1442
+ }
1443
+ finally {
1444
+ cleanup();
1445
+ }
1446
+ }
1447
+ }
1448
+ class VertexVideoGenerationModel {
1449
+ modelId;
1450
+ baseURL;
1451
+ accessToken;
1452
+ fetcher;
1453
+ provider = "vertex";
1454
+ capabilities = videoGenerationCapabilities;
1455
+ constructor(modelId, baseURL, accessToken, fetcher) {
1456
+ this.modelId = modelId;
1457
+ this.baseURL = baseURL;
1458
+ this.accessToken = accessToken;
1459
+ this.fetcher = fetcher;
1460
+ }
1461
+ headers() {
1462
+ return {
1463
+ "content-type": "application/json",
1464
+ authorization: `Bearer ${this.accessToken}`
1465
+ };
1466
+ }
1467
+ async generateVideo(input) {
1468
+ const timeoutMs = input.timeoutMs ?? 600_000;
1469
+ const { signal, cleanup } = withTimeoutSignal({ ...input, timeoutMs });
1470
+ const startedAt = Date.now();
1471
+ try {
1472
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/publishers/google/models/${this.modelId}:predictLongRunning`, {
1473
+ method: "POST",
1474
+ headers: this.headers(),
1475
+ signal,
1476
+ body: JSON.stringify({
1477
+ instances: [
1478
+ {
1479
+ prompt: input.prompt,
1480
+ ...(input.image ? { image: mediaInputToVeoImage(input.image) } : {})
1481
+ }
1482
+ ],
1483
+ parameters: {
1484
+ ...(input.count ? { sampleCount: input.count } : {}),
1485
+ ...(input.aspectRatio ? { aspectRatio: input.aspectRatio } : {}),
1486
+ ...(input.negativePrompt ? { negativePrompt: input.negativePrompt } : {}),
1487
+ ...(input.durationSeconds ? { durationSeconds: input.durationSeconds } : {}),
1488
+ ...(input.outputStorageUri ? { storageUri: input.outputStorageUri } : {}),
1489
+ ...input.providerOptions
1490
+ }
1491
+ })
1492
+ }), input);
1493
+ let operation = await parseJson(response);
1494
+ const operationName = operation.name;
1495
+ const pollIntervalMs = input.pollIntervalMs ?? 10_000;
1496
+ while (!operation.done) {
1497
+ if (Date.now() - startedAt >= timeoutMs) {
1498
+ throw new Error(`Vertex video generation timed out after ${timeoutMs}ms.`);
1499
+ }
1500
+ await sleep(pollIntervalMs, signal);
1501
+ const pollResponse = await withRetry(() => this.fetcher(`${this.baseURL}/publishers/google/models/${this.modelId}:fetchPredictOperation`, {
1502
+ method: "POST",
1503
+ headers: this.headers(),
1504
+ signal,
1505
+ body: JSON.stringify({
1506
+ operationName
1507
+ })
1508
+ }), input);
1509
+ operation = await parseJson(pollResponse);
1510
+ }
1511
+ return {
1512
+ videos: collectVideos(operation),
1513
+ operationName,
1514
+ rawResponse: operation
1515
+ };
1516
+ }
1517
+ finally {
1518
+ cleanup();
1519
+ }
1520
+ }
1521
+ }
727
1522
  class VertexGroundedLanguageModel {
728
1523
  modelId;
729
1524
  baseURL;
@@ -823,6 +1618,16 @@ class VertexRealtimeModel {
823
1618
  }
824
1619
  }
825
1620
  ],
1621
+ buildMediaPayloads: (frame) => [
1622
+ {
1623
+ realtimeInput: {
1624
+ media: {
1625
+ mimeType: frame.mediaType,
1626
+ data: encodeMediaFrame(frame)
1627
+ }
1628
+ }
1629
+ }
1630
+ ],
826
1631
  buildTextPayloads: (text) => [
827
1632
  {
828
1633
  clientContent: {
@@ -880,8 +1685,14 @@ export const createVertex = (options = {}) => {
880
1685
  embeddingModel: (modelId) => new VertexEmbeddingModel(modelId, baseURL, accessToken, fetcher),
881
1686
  transcriptionModel: (modelId) => new VertexTranscriptionModel(modelId, baseURL, accessToken, fetcher),
882
1687
  speechModel: (modelId) => new VertexSpeechModel(modelId, baseURL, accessToken, fetcher),
1688
+ imageGenerationModel: (modelId) => new VertexImageGenerationModel(modelId, baseURL, accessToken, fetcher),
1689
+ videoGenerationModel: (modelId) => new VertexVideoGenerationModel(modelId, baseURL, accessToken, fetcher),
1690
+ musicGenerationModel: (modelId) => new VertexMusicGenerationModel(modelId, baseURL, accessToken, fetcher),
883
1691
  realtimeModel: (modelId) => new VertexRealtimeModel(modelId, accessToken, location, apiVersion, options.realtimeConnectionFactory, options.realtimeURL),
884
1692
  groundedLanguageModel: (modelId) => new VertexGroundedLanguageModel(modelId, baseURL, accessToken, fetcher),
1693
+ caches: new VertexContextCachesClient(baseURL, accessToken, fetcher),
1694
+ batches: new VertexBatchesClient(baseURL, accessToken, fetcher),
1695
+ predictionModel: (modelId) => new VertexPredictionModel(modelId, baseURL, accessToken, fetcher),
885
1696
  rawFetch: fetcher
886
1697
  });
887
1698
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhivex-ai/vertex",
3
- "version": "0.5.0",
3
+ "version": "0.7.0-next.0",
4
4
  "description": "Vertex AI adapter for Zhivex AI SDK.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@zhivex-ai/core": "^0.5.0",
44
+ "@zhivex-ai/core": "^0.7.0-next.0",
45
45
  "zod": "^4.3.6"
46
46
  }
47
47
  }