@zhivex-ai/vertex 1.0.1 → 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.
- package/README.md +995 -10
- package/dist/anthropic.d.ts +13 -4
- package/dist/anthropic.d.ts.map +1 -1
- package/dist/anthropic.js +86 -16
- package/dist/anthropic.js.map +1 -1
- package/dist/capabilities.d.ts +2 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +12 -3
- package/dist/capabilities.js.map +1 -1
- package/dist/chat-profiles.d.ts +8 -0
- package/dist/chat-profiles.d.ts.map +1 -0
- package/dist/chat-profiles.js +61 -0
- package/dist/chat-profiles.js.map +1 -0
- package/dist/chat.d.ts +10 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +120 -0
- package/dist/chat.js.map +1 -0
- package/dist/embeddings.d.ts +71 -0
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/embeddings.js +166 -0
- package/dist/embeddings.js.map +1 -0
- package/dist/endpoints.d.ts +76 -0
- package/dist/endpoints.d.ts.map +1 -0
- package/dist/endpoints.js +152 -0
- package/dist/endpoints.js.map +1 -0
- package/dist/grpc.d.ts +33 -0
- package/dist/grpc.d.ts.map +1 -0
- package/dist/grpc.js +161 -0
- package/dist/grpc.js.map +1 -0
- package/dist/index.d.ts +41 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +654 -293
- package/dist/index.js.map +1 -1
- package/dist/inline-thinking.d.ts +3 -0
- package/dist/inline-thinking.d.ts.map +1 -0
- package/dist/inline-thinking.js +106 -0
- package/dist/inline-thinking.js.map +1 -0
- package/dist/interactions.d.ts +21 -0
- package/dist/interactions.d.ts.map +1 -0
- package/dist/interactions.js +240 -0
- package/dist/interactions.js.map +1 -0
- package/dist/multimodal-embeddings.d.ts +53 -0
- package/dist/multimodal-embeddings.d.ts.map +1 -0
- package/dist/multimodal-embeddings.js +135 -0
- package/dist/multimodal-embeddings.js.map +1 -0
- package/dist/responses.d.ts +3 -0
- package/dist/responses.d.ts.map +1 -0
- package/dist/responses.js +120 -0
- package/dist/responses.js.map +1 -0
- package/dist/specialized.d.ts +14 -0
- package/dist/specialized.d.ts.map +1 -0
- package/dist/specialized.js +117 -0
- package/dist/specialized.js.map +1 -0
- package/dist/tensors.d.ts +22 -0
- package/dist/tensors.d.ts.map +1 -0
- package/dist/tensors.js +49 -0
- package/dist/tensors.js.map +1 -0
- package/dist/token-counting.d.ts +37 -0
- package/dist/token-counting.d.ts.map +1 -0
- package/dist/token-counting.js +33 -0
- package/dist/token-counting.js.map +1 -0
- package/dist/transcription.d.ts +60 -0
- package/dist/transcription.d.ts.map +1 -0
- package/dist/transcription.js +88 -0
- package/dist/transcription.js.map +1 -0
- package/dist/virtual-try-on.d.ts +23 -0
- package/dist/virtual-try-on.d.ts.map +1 -0
- package/dist/virtual-try-on.js +80 -0
- package/dist/virtual-try-on.js.map +1 -0
- package/package.json +5 -3
package/dist/anthropic.d.ts
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type AnthropicLanguageModelOptions } from "@zhivex-ai/anthropic";
|
|
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;
|
|
5
|
-
capabilities: import("@zhivex-ai/core").ModelCapabilities;
|
|
6
|
-
generate(input: ModelGenerateInput): Promise<import("@zhivex-ai/core").GenerateResult>;
|
|
7
|
-
stream(input: ModelGenerateInput): Promise<AsyncIterable<import("@zhivex-ai/core").StreamEvent>>;
|
|
14
|
+
capabilities: import("@zhivex-ai/core/provider").ModelCapabilities;
|
|
15
|
+
generate(input: ModelGenerateInput): Promise<import("@zhivex-ai/core/provider").GenerateResult>;
|
|
16
|
+
stream(input: ModelGenerateInput): Promise<AsyncIterable<import("@zhivex-ai/core/provider").StreamEvent>>;
|
|
8
17
|
};
|
|
9
18
|
//# sourceMappingURL=anthropic.d.ts.map
|
package/dist/anthropic.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"
|
|
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";
|
|
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
|
-
|
|
6
|
-
|
|
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", "
|
|
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:
|
|
56
|
+
webSearch: true,
|
|
26
57
|
agentCapabilities: {
|
|
27
58
|
supportTier: "tier-b",
|
|
28
59
|
toolChoiceNone: true,
|
|
29
60
|
approvalRequests: false,
|
|
30
|
-
hostedWebSearch:
|
|
61
|
+
hostedWebSearch: true,
|
|
31
62
|
hostedFileSearch: false,
|
|
32
63
|
remoteMcp: false,
|
|
33
|
-
computerUse:
|
|
64
|
+
computerUse: true,
|
|
34
65
|
codeExecution: false,
|
|
35
|
-
toolsets:
|
|
66
|
+
toolsets: browserToolset
|
|
36
67
|
}
|
|
37
68
|
},
|
|
38
69
|
transport: {
|
|
39
70
|
async send(body, signal, withMcpToolset, withFilesApi, betas) {
|
|
40
|
-
if (withMcpToolset || withFilesApi || betas.
|
|
41
|
-
throw new UnsupportedFeatureError("Claude on Vertex does not expose
|
|
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
|
-
|
|
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:
|
|
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
|
};
|
package/dist/anthropic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAsC,MAAM,sBAAsB,CAAC;AACxG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"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"}
|
package/dist/capabilities.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { ModelCapabilities } from "@zhivex-ai/core";
|
|
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,
|
|
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"}
|
package/dist/capabilities.js
CHANGED
|
@@ -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
|
|
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:
|
|
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:
|
|
194
|
+
audioOutput: !transcription,
|
|
186
195
|
imageInput: !translation,
|
|
187
196
|
tools: !translation,
|
|
188
197
|
browserTokens: false
|
package/dist/capabilities.js.map
CHANGED
|
@@ -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":"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"}
|
|
@@ -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":"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"}
|
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
|
package/dist/chat.js.map
ADDED
|
@@ -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"}
|