@zhivex-ai/vertex 1.0.2 → 1.1.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.
Files changed (70) hide show
  1. package/README.md +995 -10
  2. package/dist/anthropic.d.ts +9 -0
  3. package/dist/anthropic.d.ts.map +1 -1
  4. package/dist/anthropic.js +86 -16
  5. package/dist/anthropic.js.map +1 -1
  6. package/dist/capabilities.d.ts +1 -0
  7. package/dist/capabilities.d.ts.map +1 -1
  8. package/dist/capabilities.js +12 -3
  9. package/dist/capabilities.js.map +1 -1
  10. package/dist/chat-profiles.d.ts +8 -0
  11. package/dist/chat-profiles.d.ts.map +1 -0
  12. package/dist/chat-profiles.js +61 -0
  13. package/dist/chat-profiles.js.map +1 -0
  14. package/dist/chat.d.ts +10 -0
  15. package/dist/chat.d.ts.map +1 -0
  16. package/dist/chat.js +120 -0
  17. package/dist/chat.js.map +1 -0
  18. package/dist/embeddings.d.ts +71 -0
  19. package/dist/embeddings.d.ts.map +1 -0
  20. package/dist/embeddings.js +166 -0
  21. package/dist/embeddings.js.map +1 -0
  22. package/dist/endpoints.d.ts +76 -0
  23. package/dist/endpoints.d.ts.map +1 -0
  24. package/dist/endpoints.js +152 -0
  25. package/dist/endpoints.js.map +1 -0
  26. package/dist/grpc.d.ts +33 -0
  27. package/dist/grpc.d.ts.map +1 -0
  28. package/dist/grpc.js +161 -0
  29. package/dist/grpc.js.map +1 -0
  30. package/dist/index.d.ts +40 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +653 -292
  33. package/dist/index.js.map +1 -1
  34. package/dist/inline-thinking.d.ts +3 -0
  35. package/dist/inline-thinking.d.ts.map +1 -0
  36. package/dist/inline-thinking.js +106 -0
  37. package/dist/inline-thinking.js.map +1 -0
  38. package/dist/interactions.d.ts +21 -0
  39. package/dist/interactions.d.ts.map +1 -0
  40. package/dist/interactions.js +240 -0
  41. package/dist/interactions.js.map +1 -0
  42. package/dist/multimodal-embeddings.d.ts +53 -0
  43. package/dist/multimodal-embeddings.d.ts.map +1 -0
  44. package/dist/multimodal-embeddings.js +135 -0
  45. package/dist/multimodal-embeddings.js.map +1 -0
  46. package/dist/responses.d.ts +3 -0
  47. package/dist/responses.d.ts.map +1 -0
  48. package/dist/responses.js +120 -0
  49. package/dist/responses.js.map +1 -0
  50. package/dist/specialized.d.ts +14 -0
  51. package/dist/specialized.d.ts.map +1 -0
  52. package/dist/specialized.js +117 -0
  53. package/dist/specialized.js.map +1 -0
  54. package/dist/tensors.d.ts +22 -0
  55. package/dist/tensors.d.ts.map +1 -0
  56. package/dist/tensors.js +49 -0
  57. package/dist/tensors.js.map +1 -0
  58. package/dist/token-counting.d.ts +37 -0
  59. package/dist/token-counting.d.ts.map +1 -0
  60. package/dist/token-counting.js +33 -0
  61. package/dist/token-counting.js.map +1 -0
  62. package/dist/transcription.d.ts +60 -0
  63. package/dist/transcription.d.ts.map +1 -0
  64. package/dist/transcription.js +88 -0
  65. package/dist/transcription.js.map +1 -0
  66. package/dist/virtual-try-on.d.ts +23 -0
  67. package/dist/virtual-try-on.d.ts.map +1 -0
  68. package/dist/virtual-try-on.js +80 -0
  69. package/dist/virtual-try-on.js.map +1 -0
  70. package/package.json +5 -3
@@ -1,4 +1,13 @@
1
+ import { type AnthropicLanguageModelOptions } from "@zhivex-ai/anthropic";
1
2
  import { type ModelGenerateInput } from "@zhivex-ai/core/provider";
3
+ export interface VertexClaudeOptions extends AnthropicLanguageModelOptions {
4
+ /** Global-endpoint routing affinity for prompt cache reuse. */
5
+ sessionId?: string;
6
+ cache_control?: {
7
+ type: "ephemeral";
8
+ ttl?: "5m" | "1h";
9
+ };
10
+ }
2
11
  export declare const createVertexClaudeModel: (modelId: string, endpoint: string, fetcher: typeof globalThis.fetch) => {
3
12
  provider: string;
4
13
  modelId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAoBlC,eAAO,MAAM,uBAAuB,YAAa,MAAM,YAAY,MAAM,WAAW,OAAO,UAAU,CAAC,KAAK;;;;oBAqDjF,kBAAkB;kBAIpB,kBAAkB;CAKzC,CAAC"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,mBAAoB,SAAQ,6BAA6B;IACxE,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC;CAC1D;AA2CD,eAAO,MAAM,uBAAuB,YAAa,MAAM,YAAY,MAAM,WAAW,OAAO,UAAU,CAAC,KAAK;;;;oBAiFjF,kBAAkB;kBAIpB,kBAAkB;CAKzC,CAAC"}
package/dist/anthropic.js CHANGED
@@ -1,12 +1,20 @@
1
1
  import { createAnthropicMessagesModel } from "@zhivex-ai/anthropic";
2
- import { ProviderHTTPError, UnsupportedFeatureError, isCallableToolDefinition, readErrorBodyWithLimit } from "@zhivex-ai/core/provider";
2
+ import { ProviderHTTPError, ConfigurationError, UnsupportedFeatureError, isCallableToolDefinition, readErrorBodyWithLimit } from "@zhivex-ai/core/provider";
3
+ const nativeTools = new Set([
4
+ "web_search_20250305", "bash_20250124", "text_editor_20250124",
5
+ "text_editor_20250429", "text_editor_20250728", "memory_20250818",
6
+ "computer_20250124", "tool_search_tool_regex_20251119", "tool_search_tool_bm25_20251119", "browser_toolset_20260801"
7
+ ]);
8
+ const vertexBetas = new Set(["computer-use-2025-01-24", "context-management-2025-06-27", "compact-2026-01-12"]);
3
9
  // Vertex's host contract is narrower than Anthropic's direct API.
4
10
  const assertVertexClaudeInput = (input) => {
5
- if (Object.values(input.tools ?? {}).some((tool) => !isCallableToolDefinition(tool))) {
6
- throw new UnsupportedFeatureError("Claude on Vertex supports client tools only; hosted tools and remote MCP are not exposed.");
7
- }
11
+ for (const tool of Object.values(input.tools ?? {}))
12
+ if (!isCallableToolDefinition(tool)) {
13
+ if ((tool.provider && !["vertex", "anthropic"].includes(tool.provider)) || !nativeTools.has(tool.type))
14
+ throw new UnsupportedFeatureError(`Claude on Vertex does not support native tool ${tool.type}.`);
15
+ }
8
16
  const options = input.providerOptions ?? {};
9
- for (const key of ["speed", "fallbacks", "midConversationToolChanges", "mcp_servers", "container", "context_management", "anthropic_beta", "stream"]) {
17
+ for (const key of ["speed", "fallbacks", "midConversationToolChanges", "mcp_servers", "container", "compaction", "anthropic_beta", "stream"]) {
10
18
  if (options[key] !== undefined) {
11
19
  throw new UnsupportedFeatureError(`Claude on Vertex does not expose providerOptions.${key}.`);
12
20
  }
@@ -15,39 +23,97 @@ const assertVertexClaudeInput = (input) => {
15
23
  throw new UnsupportedFeatureError("Claude on Vertex does not support Anthropic Files API IDs; supply inline document content.");
16
24
  }
17
25
  };
26
+ const validateWireRequest = (request, modelId) => {
27
+ for (const tool of request.tools ?? [])
28
+ if (tool.type && !nativeTools.has(tool.type))
29
+ throw new UnsupportedFeatureError(`Claude on Vertex does not support native tool ${tool.type}.`);
30
+ const visit = (value) => {
31
+ if (!value || typeof value !== "object")
32
+ return;
33
+ if (value.cache_control !== undefined) {
34
+ const control = value.cache_control;
35
+ if (!control || control.type !== "ephemeral" || (control.ttl !== undefined && !["5m", "1h"].includes(control.ttl)))
36
+ throw new ConfigurationError("Claude cache_control requires ephemeral with a 5m or 1h TTL.");
37
+ if (control.ttl === "1h" && /^claude-3-(?:7-sonnet|5-sonnet|opus)/.test(modelId))
38
+ throw new UnsupportedFeatureError("This Claude model on Vertex does not support a 1h cache TTL.");
39
+ }
40
+ // URL and Files API sources are not part of the Vertex Claude host contract.
41
+ if (["image", "document"].includes(value.type) && ["url", "file"].includes(value.source?.type))
42
+ throw new UnsupportedFeatureError("Claude on Vertex requires inline image/document sources, not URL or Files API sources.");
43
+ for (const child of Object.values(value))
44
+ visit(child);
45
+ };
46
+ visit(request);
47
+ };
18
48
  export const createVertexClaudeModel = (modelId, endpoint, fetcher) => {
49
+ const browserToolset = /^claude-(?:opus-4-8|(?:opus|sonnet|fable|mythos)-5(?:-1)?)(?:@|$)/.test(modelId);
19
50
  const model = createAnthropicMessagesModel({
20
51
  modelId,
21
52
  provider: "vertex",
22
53
  capabilities: {
23
54
  // Opus 4.1 has structured output on the direct API, but not on Vertex.
24
55
  structuredOutput: /^claude-(?:(?:opus|sonnet|haiku)-4-[5-9]|(?:opus|sonnet|haiku|fable|mythos)-[5-9])(?:[-@]|$)/.test(modelId),
25
- webSearch: false,
56
+ webSearch: true,
26
57
  agentCapabilities: {
27
58
  supportTier: "tier-b",
28
59
  toolChoiceNone: true,
29
60
  approvalRequests: false,
30
- hostedWebSearch: false,
61
+ hostedWebSearch: true,
31
62
  hostedFileSearch: false,
32
63
  remoteMcp: false,
33
- computerUse: false,
64
+ computerUse: true,
34
65
  codeExecution: false,
35
- toolsets: false
66
+ toolsets: browserToolset
36
67
  }
37
68
  },
38
69
  transport: {
39
70
  async send(body, signal, withMcpToolset, withFilesApi, betas) {
40
- if (withMcpToolset || withFilesApi || betas.length) {
41
- throw new UnsupportedFeatureError("Claude on Vertex does not expose Anthropic API beta features, remote MCP, or Files API IDs.");
71
+ if (withMcpToolset || withFilesApi || betas.some((beta) => !vertexBetas.has(beta))) {
72
+ throw new UnsupportedFeatureError("Claude on Vertex does not expose this beta feature, remote MCP, or Files API IDs.");
73
+ }
74
+ const { model: _model, sessionId, ...request } = JSON.parse(body);
75
+ if (sessionId !== undefined && (typeof sessionId !== "string" || !sessionId.trim() || /[\r\n]/.test(sessionId)))
76
+ throw new ConfigurationError("Vertex Claude sessionId must be a nonempty single-line string.");
77
+ validateWireRequest(request, modelId);
78
+ if (!browserToolset && request.tools?.some((tool) => tool.type === "browser_toolset_20260801"))
79
+ throw new UnsupportedFeatureError(`Vertex Claude model "${modelId}" does not support the browser toolset.`);
80
+ const betaFeatures = new Set(betas);
81
+ if (request.context_management !== undefined) {
82
+ const edits = request.context_management?.edits;
83
+ if (!Array.isArray(edits) || !edits.length)
84
+ throw new ConfigurationError("Vertex Claude context_management requires a nonempty edits array.");
85
+ const seen = new Set();
86
+ for (const [index, edit] of edits.entries()) {
87
+ if (!edit || !["compact_20260112", "clear_tool_uses_20250919", "clear_thinking_20251015"].includes(edit.type))
88
+ throw new UnsupportedFeatureError("Unsupported Vertex Claude context editing strategy.");
89
+ if (seen.has(edit.type))
90
+ throw new ConfigurationError("Vertex Claude context editing strategies must not repeat.");
91
+ seen.add(edit.type);
92
+ if (edit.type === "clear_thinking_20251015" && index !== 0)
93
+ throw new ConfigurationError("Claude thinking clearing must precede other context edits.");
94
+ if (edit.type === "compact_20260112") {
95
+ if (!/^claude-(?:(?:opus|sonnet)-4-[6-8]|(?:opus|sonnet|fable|mythos)-5(?:-1)?)(?:@|$)/.test(modelId))
96
+ throw new UnsupportedFeatureError(`Vertex Claude model "${modelId}" does not support automatic compaction.`);
97
+ if (edit.trigger !== undefined && (edit.trigger.type !== "input_tokens" || !Number.isInteger(edit.trigger.value) || edit.trigger.value < 50_000))
98
+ throw new ConfigurationError("Claude compaction trigger requires at least 50000 input tokens.");
99
+ betaFeatures.add("compact-2026-01-12");
100
+ }
101
+ else
102
+ betaFeatures.add("context-management-2025-06-27");
103
+ }
42
104
  }
43
- const { model: _model, ...request } = JSON.parse(body);
105
+ if (request.tools?.some((tool) => tool.type === "computer_20250124"))
106
+ betaFeatures.add("computer-use-2025-01-24");
107
+ const payload = JSON.stringify({ ...request, anthropic_version: "vertex-2023-10-16", ...(betaFeatures.size ? { anthropic_beta: [...betaFeatures] } : {}) });
108
+ if (new TextEncoder().encode(payload).byteLength > 30_000_000)
109
+ throw new ConfigurationError("Vertex Claude request exceeds the 30 MB payload limit.");
44
110
  const action = request.stream === true ? "streamRawPredict" : "rawPredict";
45
111
  const response = await fetcher(`${endpoint}:${action}`, {
46
112
  method: "POST",
47
- headers: { "content-type": "application/json" },
113
+ headers: { "content-type": "application/json", ...(sessionId ? { "X-Vertex-Ai-Session-Id": sessionId } : {}) },
48
114
  redirect: "error",
49
115
  signal,
50
- body: JSON.stringify({ ...request, anthropic_version: "vertex-2023-10-16" })
116
+ body: payload
51
117
  });
52
118
  if (!response.ok) {
53
119
  throw new ProviderHTTPError(`Vertex Claude request failed with status ${response.status}.`, response.status, {
@@ -64,17 +130,21 @@ export const createVertexClaudeModel = (modelId, endpoint, fetcher) => {
64
130
  throw new UnsupportedFeatureError(`Claude on Vertex model "${modelId}" does not support native structured output.`);
65
131
  }
66
132
  };
133
+ const prepare = (input) => ({ ...input,
134
+ ...(input.tools ? { tools: Object.fromEntries(Object.entries(input.tools).map(([key, tool]) => [key,
135
+ !isCallableToolDefinition(tool) && tool.provider === "vertex" ? { ...tool, provider: "anthropic" } : tool])) } : {})
136
+ });
67
137
  return {
68
138
  provider: model.provider,
69
139
  modelId,
70
140
  capabilities: model.capabilities,
71
141
  async generate(input) {
72
142
  validate(input);
73
- return model.generate(input);
143
+ return model.generate(prepare(input));
74
144
  },
75
145
  async stream(input) {
76
146
  validate(input);
77
- return model.stream(input);
147
+ return model.stream(prepare(input));
78
148
  }
79
149
  };
80
150
  };
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ModelCapabilities } from "@zhivex-ai/core/contracts";
2
+ export declare const isVertexLiveTranscribeModel: (modelId: string) => modelId is "gemini-3.5-transcribe-live-preview";
2
3
  export declare const isGeminiLiveTranslateModel: (modelId: string) => boolean;
3
4
  export declare const capabilities: ModelCapabilities;
4
5
  export declare const transcriptionCapabilities: ModelCapabilities;
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,eAAO,MAAM,0BAA0B,YAAa,MAAM,YAAsE,CAAC;AAEjI,eAAO,MAAM,YAAY,EAAE,iBAgC1B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAwBvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAKhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAGlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,iBAyBzC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,iBA0BzC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,iBAyBzC,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,iBA0CtD,CAAC"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,eAAO,MAAM,2BAA2B,YAAa,MAAM,oDAAqD,CAAC;AAEjH,eAAO,MAAM,0BAA0B,YAAa,MAAM,YAAsE,CAAC;AAEjI,eAAO,MAAM,YAAY,EAAE,iBAgC1B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBA+BvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAKhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAGlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,iBAyBzC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,iBA0BzC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,iBAyBzC,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,iBA2CtD,CAAC"}
@@ -1,3 +1,4 @@
1
+ export const isVertexLiveTranscribeModel = (modelId) => modelId === "gemini-3.5-transcribe-live-preview";
1
2
  export const isGeminiLiveTranslateModel = (modelId) => /^gemini-3\.5-live-translate(?:-preview)?$/i.test(modelId.trim());
2
3
  export const capabilities = {
3
4
  streaming: true,
@@ -40,6 +41,13 @@ export const transcriptionCapabilities = {
40
41
  jsonMode: false,
41
42
  toolChoice: false,
42
43
  parallelToolCalls: false,
44
+ vision: false,
45
+ files: false,
46
+ urlContext: false,
47
+ contextCaching: false,
48
+ batch: false,
49
+ rawPrediction: false,
50
+ computerUse: false,
43
51
  audioInput: true,
44
52
  audioOutput: false,
45
53
  embeddings: false,
@@ -147,7 +155,8 @@ export const musicGenerationCapabilities = {
147
155
  }
148
156
  };
149
157
  export const realtimeCapabilities = (modelId) => {
150
- const translation = isGeminiLiveTranslateModel(modelId);
158
+ const transcription = isVertexLiveTranscribeModel(modelId);
159
+ const translation = isGeminiLiveTranslateModel(modelId) || transcription;
151
160
  return {
152
161
  ...capabilities,
153
162
  streaming: false,
@@ -159,7 +168,7 @@ export const realtimeCapabilities = (modelId) => {
159
168
  vision: !translation,
160
169
  files: false,
161
170
  audioInput: true,
162
- audioOutput: true,
171
+ audioOutput: !transcription,
163
172
  embeddings: false,
164
173
  fileSearch: false,
165
174
  urlContext: false,
@@ -182,7 +191,7 @@ export const realtimeCapabilities = (modelId) => {
182
191
  realtime: {
183
192
  sessions: true,
184
193
  audioInput: true,
185
- audioOutput: true,
194
+ audioOutput: !transcription,
186
195
  imageInput: !translation,
187
196
  tools: !translation,
188
197
  browserTokens: false
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,KAAK,oCAAoC,CAAC;AAEjH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,4CAA4C,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAEjI,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,GAAG,YAAY;IACf,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,KAAK;IACrB,KAAK,EAAE,KAAK;IACZ,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,GAAG,yBAAyB;IAC5B,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,GAAG,YAAY;IACf,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC5D,GAAG,YAAY;IACf,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC5D,GAAG,YAAY;IACf,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC5D,GAAG,YAAY;IACf,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAqB,EAAE;IACzE,MAAM,aAAa,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,0BAA0B,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC;IACzE,OAAO;QACL,GAAG,YAAY;QACf,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,WAAW;QACnB,gBAAgB,EAAE,KAAK;QACvB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,KAAK;QACxB,MAAM,EAAE,CAAC,WAAW;QACpB,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,aAAa;QAC3B,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,CAAC,WAAW;QACvB,SAAS,EAAE,CAAC,WAAW;QACvB,iBAAiB,EAAE;YACjB,GAAG,YAAY,CAAC,iBAAkB;YAClC,cAAc,EAAE,CAAC,WAAW;YAC5B,eAAe,EAAE,CAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;YACvB,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,KAAK;YAClB,aAAa,EAAE,KAAK;SACrB;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,CAAC,aAAa;YAC3B,UAAU,EAAE,CAAC,WAAW;YACxB,KAAK,EAAE,CAAC,WAAW;YACnB,aAAa,EAAE,KAAK;SACrB;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ModelCapabilities } from "@zhivex-ai/core/provider";
2
+ type ThinkingControl = "effort" | "thinking" | "enable_thinking";
3
+ export declare const vertexChatProfile: (id: string) => {
4
+ capabilities: ModelCapabilities;
5
+ thinkingControl?: ThinkingControl;
6
+ };
7
+ export {};
8
+ //# sourceMappingURL=chat-profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-profiles.d.ts","sourceRoot":"","sources":["../src/chat-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAgBlE,KAAK,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAoCjE,eAAO,MAAM,iBAAiB,OAAQ,MAAM,KAAG;IAAE,YAAY,EAAE,iBAAiB,CAAC;IAAC,eAAe,CAAC,EAAE,eAAe,CAAA;CAalH,CAAC"}
@@ -0,0 +1,61 @@
1
+ // Managed-host profiles, not capabilities inferred from the model's author.
2
+ // Inventory: https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/maas/use-open-models
3
+ // Model-specific controls: https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/maas/capabilities/thinking
4
+ // Keep unknown IDs usable for text without promising unverified advanced features.
5
+ const baseline = {
6
+ streaming: true, tools: false, structuredOutput: false, jsonMode: false,
7
+ toolChoice: false, parallelToolCalls: false, vision: false, files: false,
8
+ audioInput: false, audioOutput: false, embeddings: false, reasoning: false,
9
+ webSearch: false, toolHistory: "json",
10
+ agentCapabilities: { supportTier: "tier-b", toolChoiceNone: false, approvalRequests: false,
11
+ hostedWebSearch: false, hostedFileSearch: false, remoteMcp: false,
12
+ computerUse: false, codeExecution: false, toolsets: false }
13
+ };
14
+ const profiles = Object.create(null);
15
+ const add = (ids, profile = {}) => {
16
+ for (const id of ids)
17
+ profiles[id] = { tools: true, structuredOutput: true, jsonMode: true, ...profile };
18
+ };
19
+ add([
20
+ "meta/llama-3.3-70b-instruct-maas",
21
+ "qwen/qwen3-235b-a22b-instruct-2507-maas",
22
+ "qwen/qwen3-coder-480b-a35b-instruct-maas",
23
+ "qwen/qwen3-next-80b-a3b-instruct-maas"
24
+ ]);
25
+ add([
26
+ "meta/llama-4-maverick-17b-128e-instruct-maas",
27
+ "meta/llama-4-scout-17b-16e-instruct-maas",
28
+ "mistralai/mistral-medium-3", "mistralai/mistral-small-2503",
29
+ "xai/grok-4.20-non-reasoning", "xai/grok-4.1-fast-non-reasoning"
30
+ ], { vision: true });
31
+ add([
32
+ "deepseek-ai/deepseek-r1-0528-maas", "qwen/qwen3-next-80b-a3b-thinking-maas",
33
+ "moonshotai/kimi-k2-thinking-maas", "minimaxai/minimax-m2-maas"
34
+ ], { reasoning: true });
35
+ add(["openai/gpt-oss-20b-maas", "openai/gpt-oss-120b-maas"], { reasoning: true, thinkingControl: "effort" });
36
+ add(["deepseek-ai/deepseek-v3.1-maas", "deepseek-ai/deepseek-v3.2-maas"], { reasoning: true, thinkingControl: "thinking" });
37
+ add(["zai-org/glm-4.7-maas", "zai-org/glm-5-maas", "zai-org/glm-5.2-maas"], { reasoning: true, thinkingControl: "enable_thinking" });
38
+ // The model card's Thinking row conflicts with the dedicated thinking guide;
39
+ // retain the guide's explicit enable_thinking serving contract for this ID only.
40
+ add(["google/gemma-4-26b-a4b-it-maas"], { vision: true, reasoning: true, thinkingControl: "enable_thinking" });
41
+ add(["xai/grok-4.6", "xai/grok-4.3", "xai/grok-4.20-reasoning", "xai/grok-4.1-fast-reasoning"], { vision: true, reasoning: true });
42
+ add(["mistralai/codestral-2"]);
43
+ // AI21 documents JSON-object mode, not response_format.json_schema.
44
+ // Vertex's 1.5 deployments are retired; do not infer newer-model features.
45
+ add(["ai21/jamba-1.5-mini", "ai21/jamba-1.5-large"], { structuredOutput: false });
46
+ profiles["deepseek-ai/deepseek-ocr-maas"] = { vision: true };
47
+ profiles["deepseek-ai/deepseek-r1"] = { reasoning: true };
48
+ export const vertexChatProfile = (id) => {
49
+ // Publisher rawPredict revisions identify a deployment of the same model.
50
+ const key = /^(?:mistralai|ai21)\//.test(id) ? id.split("@")[0] : id;
51
+ const profile = profiles[key] ?? {};
52
+ const { thinkingControl, ...declared } = profile;
53
+ const tools = profile.tools ?? false;
54
+ return {
55
+ thinkingControl,
56
+ capabilities: { ...baseline, ...declared, tools, toolChoice: tools, parallelToolCalls: tools,
57
+ agentCapabilities: { ...baseline.agentCapabilities, toolChoiceNone: tools },
58
+ ...(profile.thinkingControl === "effort" ? { reasoningEfforts: ["low", "medium", "high"] } : {}) }
59
+ };
60
+ };
61
+ //# sourceMappingURL=chat-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-profiles.js","sourceRoot":"","sources":["../src/chat-profiles.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,wGAAwG;AACxG,4HAA4H;AAC5H,mFAAmF;AACnF,MAAM,QAAQ,GAAsB;IAClC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK;IACvE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACxE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK;IAC1E,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM;IACrC,iBAAiB,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK;QACxF,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK;QACjE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;CAC9D,CAAC;AAIF,MAAM,QAAQ,GAA4B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,GAAG,GAAG,CAAC,GAAa,EAAE,OAAO,GAAY,EAAE,EAAE,EAAE;IACnD,KAAK,MAAM,EAAE,IAAI,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;AAC3G,CAAC,CAAC;AACF,GAAG,CAAC;IACF,kCAAkC;IAClC,yCAAyC;IACzC,0CAA0C;IAC1C,uCAAuC;CACxC,CAAC,CAAC;AACH,GAAG,CAAC;IACF,8CAA8C;IAC9C,0CAA0C;IAC1C,4BAA4B,EAAE,8BAA8B;IAC5D,6BAA6B,EAAE,iCAAiC;CACjE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACrB,GAAG,CAAC;IACF,mCAAmC,EAAE,uCAAuC;IAC5E,kCAAkC,EAAE,2BAA2B;CAChE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACxB,GAAG,CAAC,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7G,GAAG,CAAC,CAAC,gCAAgC,EAAE,gCAAgC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5H,GAAG,CAAC,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACrI,6EAA6E;AAC7E,iFAAiF;AACjF,GAAG,CAAC,CAAC,gCAAgC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC/G,GAAG,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,yBAAyB,EAAE,6BAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACnI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC/B,oEAAoE;AACpE,2EAA2E;AAC3E,GAAG,CAAC,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;AAClF,QAAQ,CAAC,+BAA+B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC7D,QAAQ,CAAC,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAA0E,EAAE;IACtH,0EAA0E;IAC1E,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,OAAO;QACL,eAAe;QACf,YAAY,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK;YAC1F,iBAAiB,EAAE,EAAE,GAAG,QAAQ,CAAC,iBAAkB,EAAE,cAAc,EAAE,KAAK,EAAE;YAC5E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACjG;KACF,CAAC;AACJ,CAAC,CAAC"}
package/dist/chat.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import { type LanguageModel, type ModelCapabilities } from "@zhivex-ai/core/provider";
2
+ export interface VertexChatModelOptions {
3
+ /** Deployed endpoint ID or full projects/.../locations/.../endpoints/... resource. */
4
+ endpoint?: string;
5
+ /** Explicit deployment capabilities. Only applies to self-deployed endpoints. */
6
+ capabilities?: Partial<ModelCapabilities>;
7
+ }
8
+ export declare const isVertexChatModel: (id: string) => boolean;
9
+ export declare const createVertexChatModel: (requestedId: string, baseURL: string, fetcher: typeof globalThis.fetch, options?: VertexChatModelOptions) => LanguageModel;
10
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAC3C,MAAM,0BAA0B,CAAC;AAKlC,MAAM,WAAW,sBAAsB;IACrC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,iBAAiB,OAAQ,MAAM,YAAqL,CAAC;AAWlO,eAAO,MAAM,qBAAqB,gBACnB,MAAM,WACV,MAAM,WACN,OAAO,UAAU,CAAC,KAAK,YACvB,sBAAsB,KAC9B,aAoFF,CAAC"}
package/dist/chat.js ADDED
@@ -0,0 +1,120 @@
1
+ import { ConfigurationError, UnsupportedFeatureError, createChatCompletionsModel } from "@zhivex-ai/core/provider";
2
+ import { vertexChatProfile } from "./chat-profiles.js";
3
+ import { normalizeVertexInlineThinking } from "./inline-thinking.js";
4
+ export const isVertexChatModel = (id) => /^(?:xai|meta|deepseek-ai|qwen|zai-org|moonshot-?ai|minimaxai|openai|mistralai|ai21)\//.test(id) || /^google\/gemma/.test(id) || /^(?:grok-|mistral-|codestral|jamba-)/.test(id);
5
+ const normalizeId = (id) => {
6
+ if (id === "moonshot-ai/kimi-k2-thinking-maas")
7
+ return "moonshotai/kimi-k2-thinking-maas";
8
+ if (id.includes("/"))
9
+ return id;
10
+ if (id.startsWith("grok-"))
11
+ return `xai/${id}`;
12
+ if (/^(?:mistral-|codestral)/.test(id))
13
+ return `mistralai/${id}`;
14
+ if (id.startsWith("jamba-"))
15
+ return `ai21/${id}`;
16
+ return id;
17
+ };
18
+ export const createVertexChatModel = (requestedId, baseURL, fetcher, options = {}) => {
19
+ const id = normalizeId(requestedId);
20
+ if (!id || /[\\?#\s]/.test(id) || id.split("/").some((s) => !s || s === "." || s === ".."))
21
+ throw new ConfigurationError("Invalid Vertex chat model ID.");
22
+ if (!options.endpoint && !/^(?:xai\/grok-|meta\/llama-|deepseek-ai\/deepseek-|qwen\/qwen|zai-org\/glm-|moonshot-?ai\/kimi-|minimaxai\/minimax-|openai\/gpt-oss-|mistralai\/(?:mistral-|codestral)|ai21\/jamba-|google\/gemma-)/.test(id))
23
+ throw new ConfigurationError("Use a supported publisher/model ID or configure a self-deployed endpoint.");
24
+ if (!options.endpoint && options.capabilities)
25
+ throw new ConfigurationError("Capability overrides apply only to self-deployed endpoints.");
26
+ if (!options.endpoint && /mistral-ocr/.test(id))
27
+ throw new UnsupportedFeatureError("Mistral OCR requires the document extraction API, not a chat model.");
28
+ const [publisher, model] = id.split("/");
29
+ const rawPublisher = !options.endpoint && ["mistralai", "ai21"].includes(publisher);
30
+ const profile = vertexChatProfile(options.endpoint ? "" : id);
31
+ const gptOss = profile.thinkingControl === "effort";
32
+ const deepseekHybrid = profile.thinkingControl === "thinking";
33
+ const templateThinking = profile.thinkingControl === "enable_thinking";
34
+ const capabilities = { ...profile.capabilities, ...(options.endpoint ? options.capabilities : {}) };
35
+ let endpoint = `${baseURL}/endpoints/openapi/chat/completions`;
36
+ if (options.endpoint) {
37
+ const resource = options.endpoint.includes("/") ? options.endpoint : `endpoints/${options.endpoint}`;
38
+ if (!/^(?:projects\/[^/]+\/locations\/[^/]+\/)?endpoints\/[^/]+$/.test(resource)
39
+ || resource.split("/").some((segment) => /[\\?#\s]/.test(segment) || [".", ".."].includes(segment)))
40
+ throw new ConfigurationError("Invalid Vertex deployed endpoint resource.");
41
+ const prefix = resource.startsWith("projects/") ? baseURL.replace(/\/projects\/.*$/, "") : baseURL;
42
+ endpoint = `${prefix}/${resource.split("/").map(encodeURIComponent).join("/")}/chat/completions`;
43
+ }
44
+ const prepare = (input) => {
45
+ const extra = { ...(input.providerOptions ?? {}) };
46
+ if (rawPublisher && publisher === "mistralai" && extra.safe_prompt !== undefined) {
47
+ throw new UnsupportedFeatureError("Mistral on Vertex does not support safe_prompt.");
48
+ }
49
+ let toolChoice = input.toolChoice;
50
+ if (!options.endpoint && gptOss) {
51
+ const choice = toolChoice ?? extra.tool_choice;
52
+ if (choice !== undefined && choice !== "auto" && choice !== "none")
53
+ throw new UnsupportedFeatureError("Vertex gpt-oss supports only auto or none tool choice, not required or named tools.");
54
+ toolChoice = choice;
55
+ delete extra.tool_choice;
56
+ }
57
+ // gpt-oss currently rejects omitted choice with tools (host template error).
58
+ // Google's Qwen serving guidance also calls for an explicit auto/none choice.
59
+ if (!options.endpoint && (gptOss || publisher === "qwen") && toolChoice === undefined
60
+ && extra.tool_choice === undefined && Object.keys(input.tools ?? {}).length)
61
+ toolChoice = "auto";
62
+ for (const key of ["apiMode", "betas", "mcp_servers", "web_search_options", "multi_agent", "previous_response_id"]) {
63
+ if (extra[key] !== undefined)
64
+ throw new UnsupportedFeatureError(`Vertex chat does not expose providerOptions.${key}.`);
65
+ }
66
+ const effort = input.reasoning?.effort ?? extra.reasoning_effort;
67
+ if (input.reasoning?.budgetTokens !== undefined || input.reasoning?.mode !== undefined || input.reasoning?.context !== undefined)
68
+ throw new UnsupportedFeatureError("Vertex partner chat does not expose reasoning budgets, mode or context controls.");
69
+ if (effort !== undefined) {
70
+ if (options.endpoint && capabilities.reasoning) {
71
+ extra.reasoning_effort = effort;
72
+ }
73
+ else if (gptOss) {
74
+ if (!["low", "medium", "high"].includes(String(effort)))
75
+ throw new UnsupportedFeatureError("Vertex gpt-oss supports low, medium or high reasoning effort.");
76
+ extra.reasoning_effort = effort;
77
+ }
78
+ else if (deepseekHybrid || templateThinking) {
79
+ if (!["none", "low", "medium", "high"].includes(String(effort)))
80
+ throw new UnsupportedFeatureError("This Vertex model supports enabling or disabling thinking, not this reasoning effort.");
81
+ delete extra.reasoning_effort;
82
+ extra.chat_template_kwargs = { ...(extra.chat_template_kwargs ?? {}), [deepseekHybrid ? "thinking" : "enable_thinking"]: effort !== "none" };
83
+ }
84
+ else
85
+ throw new UnsupportedFeatureError(`Vertex model "${id}" does not support reasoning_effort; its thinking behavior is model-defined.`);
86
+ }
87
+ if (input.reasoning && !capabilities.reasoning)
88
+ throw new UnsupportedFeatureError(`Vertex model "${id}" does not support reasoning.`);
89
+ return { ...input, toolChoice, reasoning: undefined, providerOptions: extra };
90
+ };
91
+ const delegate = createChatCompletionsModel({
92
+ provider: "vertex", modelId: id, capabilities, prepare,
93
+ send: (body, signal) => {
94
+ if (rawPublisher && publisher === "ai21" && body.stream && Array.isArray(body.tools) && body.tools.length) {
95
+ throw new UnsupportedFeatureError("AI21 Jamba on Vertex does not support streaming requests with tools; use generate instead.");
96
+ }
97
+ const url = rawPublisher ? `${baseURL}/publishers/${publisher}/models/${encodeURIComponent(model)}:${body.stream ? "streamRawPredict" : "rawPredict"}` : endpoint;
98
+ const request = { ...body };
99
+ // Harmony's hosted serializer requires a string description even though
100
+ // the shared callable-tool contract makes it optional.
101
+ if (!options.endpoint && gptOss && Array.isArray(request.tools)) {
102
+ request.tools = request.tools.map((tool) => ({ ...tool,
103
+ function: { ...tool.function, description: tool.function.description ?? "" }
104
+ }));
105
+ }
106
+ if (rawPublisher) {
107
+ request.model = model.split("@")[0];
108
+ delete request.stream_options;
109
+ // Mistral's publisher contract calls forced callable-tool choice "any".
110
+ if (publisher === "mistralai" && request.tool_choice === "required")
111
+ request.tool_choice = "any";
112
+ }
113
+ return fetcher(url, { method: "POST", headers: { "content-type": "application/json" }, redirect: "error", signal, body: JSON.stringify(request) });
114
+ }
115
+ });
116
+ const normalized = !options.endpoint && id === "minimaxai/minimax-m2-maas"
117
+ ? normalizeVertexInlineThinking(delegate) : delegate;
118
+ return { ...normalized, modelId: requestedId };
119
+ };
120
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { type EmbeddingModel, type EmbedInput, type EmbedResult, type ModelCapabilities, type RetryOptions } from "@zhivex-ai/core/provider";
2
+ export interface VertexEmbeddingOptions {
3
+ outputDimensionality?: number;
4
+ autoTruncate?: boolean;
5
+ taskType?: "RETRIEVAL_QUERY" | "RETRIEVAL_DOCUMENT" | "SEMANTIC_SIMILARITY" | "CLASSIFICATION" | "CLUSTERING" | "QUESTION_ANSWERING" | "FACT_VERIFICATION" | "CODE_RETRIEVAL_QUERY";
6
+ title?: string;
7
+ documentOcr?: boolean;
8
+ audioTrackExtraction?: boolean;
9
+ [key: string]: unknown;
10
+ }
11
+ /** OpenMaaS embeddings use the OpenAI-compatible endpoint, not Google predict. */
12
+ export declare class VertexOpenEmbeddingModel implements EmbeddingModel {
13
+ readonly modelId: string;
14
+ private readonly baseURL;
15
+ private readonly fetcher;
16
+ readonly provider = "vertex";
17
+ readonly capabilities: {
18
+ toolHistory?: "native" | "json";
19
+ streaming: boolean;
20
+ tools: boolean;
21
+ structuredOutput: boolean;
22
+ jsonMode: boolean;
23
+ toolChoice: boolean;
24
+ parallelToolCalls: boolean;
25
+ inputMediaTypes?: readonly string[];
26
+ vision: boolean;
27
+ files: boolean;
28
+ audioInput: boolean;
29
+ audioOutput: boolean;
30
+ embeddings: boolean;
31
+ imageGeneration?: boolean;
32
+ videoGeneration?: boolean;
33
+ musicGeneration?: boolean;
34
+ fileSearch?: boolean;
35
+ urlContext?: boolean;
36
+ contextCaching?: boolean;
37
+ explicitPromptCaching?: boolean;
38
+ batch?: boolean;
39
+ interactions?: boolean;
40
+ rawPrediction?: boolean;
41
+ reasoningEfforts?: Array<NonNullable<import("@zhivex-ai/core/provider").ReasoningConfig["effort"]>>;
42
+ reasoningModes?: Array<NonNullable<import("@zhivex-ai/core/provider").ReasoningConfig["mode"]>>;
43
+ reasoningContexts?: Array<NonNullable<import("@zhivex-ai/core/provider").ReasoningConfig["context"]>>;
44
+ computerUse?: boolean;
45
+ reasoning: boolean;
46
+ webSearch: boolean;
47
+ realtime?: {
48
+ sessions: boolean;
49
+ audioInput: boolean;
50
+ audioOutput: boolean;
51
+ imageInput: boolean;
52
+ tools: boolean;
53
+ browserTokens: boolean;
54
+ fullDuplex?: boolean;
55
+ clientDelegation?: boolean;
56
+ };
57
+ agentCapabilities?: import("@zhivex-ai/core/provider").AgentCapabilities;
58
+ };
59
+ constructor(modelId: string, baseURL: string, fetcher: typeof globalThis.fetch);
60
+ embed(input: EmbedInput & RetryOptions): Promise<EmbedResult>;
61
+ }
62
+ export declare class VertexEmbeddingModel implements EmbeddingModel {
63
+ readonly modelId: string;
64
+ private readonly baseURL;
65
+ private readonly fetcher;
66
+ readonly provider = "vertex";
67
+ readonly capabilities: ModelCapabilities;
68
+ constructor(modelId: string, baseURL: string, fetcher: typeof globalThis.fetch);
69
+ embed(input: EmbedInput & RetryOptions): Promise<EmbedResult>;
70
+ }
71
+ //# sourceMappingURL=embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAClG,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,YAAY,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;IACpL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAQD,kFAAkF;AAClF,qBAAa,wBAAyB,YAAW,cAAc;IAGjD,QAAQ,CAAC,OAAO,EAAE,MAAM;IAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFhG,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgC;IACrD,YAAqB,OAAO,EAAE,MAAM,EAAmB,OAAO,EAAE,MAAM,EAAmB,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,EAAI;IAEvH,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA6BlE;CACF;AAUD,qBAAa,oBAAqB,YAAW,cAAc;IAG7C,QAAQ,CAAC,OAAO,EAAE,MAAM;IAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFhG,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,YAAqB,OAAO,EAAE,MAAM,EAAmB,OAAO,EAAE,MAAM,EAAmB,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,EAGxH;IAEK,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA+DlE;CACF"}