@llumiverse/drivers 0.18.0 → 0.20.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/lib/cjs/bedrock/converse.js +181 -123
- package/lib/cjs/bedrock/converse.js.map +1 -1
- package/lib/cjs/bedrock/index.js +168 -89
- package/lib/cjs/bedrock/index.js.map +1 -1
- package/lib/cjs/huggingface_ie.js +1 -1
- package/lib/cjs/huggingface_ie.js.map +1 -1
- package/lib/cjs/mistral/index.js +1 -1
- package/lib/cjs/mistral/index.js.map +1 -1
- package/lib/cjs/openai/index.js +10 -14
- package/lib/cjs/openai/index.js.map +1 -1
- package/lib/cjs/togetherai/index.js +1 -1
- package/lib/cjs/togetherai/index.js.map +1 -1
- package/lib/cjs/vertexai/index.js +82 -18
- package/lib/cjs/vertexai/index.js.map +1 -1
- package/lib/cjs/vertexai/models/claude.js +248 -159
- package/lib/cjs/vertexai/models/claude.js.map +1 -1
- package/lib/cjs/vertexai/models/gemini.js +496 -123
- package/lib/cjs/vertexai/models/gemini.js.map +1 -1
- package/lib/cjs/vertexai/models/imagen.js +2 -2
- package/lib/cjs/vertexai/models/imagen.js.map +1 -1
- package/lib/cjs/vertexai/models/llama.js +182 -0
- package/lib/cjs/vertexai/models/llama.js.map +1 -0
- package/lib/cjs/vertexai/models.js +4 -0
- package/lib/cjs/vertexai/models.js.map +1 -1
- package/lib/cjs/watsonx/index.js +11 -11
- package/lib/cjs/watsonx/index.js.map +1 -1
- package/lib/cjs/xai/index.js +1 -1
- package/lib/cjs/xai/index.js.map +1 -1
- package/lib/esm/bedrock/converse.js +180 -122
- package/lib/esm/bedrock/converse.js.map +1 -1
- package/lib/esm/bedrock/index.js +169 -90
- package/lib/esm/bedrock/index.js.map +1 -1
- package/lib/esm/huggingface_ie.js +1 -1
- package/lib/esm/huggingface_ie.js.map +1 -1
- package/lib/esm/mistral/index.js +1 -1
- package/lib/esm/mistral/index.js.map +1 -1
- package/lib/esm/openai/index.js +12 -16
- package/lib/esm/openai/index.js.map +1 -1
- package/lib/esm/togetherai/index.js +1 -1
- package/lib/esm/togetherai/index.js.map +1 -1
- package/lib/esm/vertexai/index.js +82 -18
- package/lib/esm/vertexai/index.js.map +1 -1
- package/lib/esm/vertexai/models/claude.js +249 -160
- package/lib/esm/vertexai/models/claude.js.map +1 -1
- package/lib/esm/vertexai/models/gemini.js +491 -119
- package/lib/esm/vertexai/models/gemini.js.map +1 -1
- package/lib/esm/vertexai/models/imagen.js +2 -2
- package/lib/esm/vertexai/models/imagen.js.map +1 -1
- package/lib/esm/vertexai/models/llama.js +178 -0
- package/lib/esm/vertexai/models/llama.js.map +1 -0
- package/lib/esm/vertexai/models.js +4 -0
- package/lib/esm/vertexai/models.js.map +1 -1
- package/lib/esm/watsonx/index.js +11 -11
- package/lib/esm/watsonx/index.js.map +1 -1
- package/lib/esm/xai/index.js +1 -1
- package/lib/esm/xai/index.js.map +1 -1
- package/lib/types/bedrock/converse.d.ts +2 -2
- package/lib/types/bedrock/converse.d.ts.map +1 -1
- package/lib/types/bedrock/index.d.ts +5 -5
- package/lib/types/bedrock/index.d.ts.map +1 -1
- package/lib/types/groq/index.d.ts +1 -1
- package/lib/types/groq/index.d.ts.map +1 -1
- package/lib/types/huggingface_ie.d.ts +1 -1
- package/lib/types/huggingface_ie.d.ts.map +1 -1
- package/lib/types/mistral/index.d.ts +1 -1
- package/lib/types/mistral/index.d.ts.map +1 -1
- package/lib/types/openai/index.d.ts.map +1 -1
- package/lib/types/togetherai/index.d.ts +1 -1
- package/lib/types/togetherai/index.d.ts.map +1 -1
- package/lib/types/vertexai/index.d.ts +16 -7
- package/lib/types/vertexai/index.d.ts.map +1 -1
- package/lib/types/vertexai/models/claude.d.ts +5 -7
- package/lib/types/vertexai/models/claude.d.ts.map +1 -1
- package/lib/types/vertexai/models/gemini.d.ts +12 -7
- package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
- package/lib/types/vertexai/models/llama.d.ts +20 -0
- package/lib/types/vertexai/models/llama.d.ts.map +1 -0
- package/lib/types/vertexai/models.d.ts +7 -3
- package/lib/types/vertexai/models.d.ts.map +1 -1
- package/lib/types/watsonx/index.d.ts +1 -1
- package/lib/types/watsonx/index.d.ts.map +1 -1
- package/lib/types/xai/index.d.ts +1 -1
- package/lib/types/xai/index.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/bedrock/converse.ts +194 -129
- package/src/bedrock/index.ts +193 -101
- package/src/groq/index.ts +1 -1
- package/src/huggingface_ie.ts +1 -1
- package/src/mistral/index.ts +1 -1
- package/src/openai/index.ts +12 -16
- package/src/togetherai/index.ts +1 -1
- package/src/vertexai/index.ts +95 -22
- package/src/vertexai/models/claude.ts +291 -176
- package/src/vertexai/models/gemini.ts +561 -138
- package/src/vertexai/models/imagen.ts +3 -3
- package/src/vertexai/models/llama.ts +261 -0
- package/src/vertexai/models.ts +7 -3
- package/src/watsonx/index.ts +13 -13
- package/src/xai/index.ts +1 -1
|
@@ -4,27 +4,6 @@ exports.ClaudeModelDefinition = void 0;
|
|
|
4
4
|
exports.collectTools = collectTools;
|
|
5
5
|
const core_1 = require("@llumiverse/core");
|
|
6
6
|
const async_1 = require("@llumiverse/core/async");
|
|
7
|
-
function getFullModelName(model) {
|
|
8
|
-
if (model.includes("claude-3-5-sonnet-v2")) {
|
|
9
|
-
return "claude-3-5-sonnet-v2@20241022";
|
|
10
|
-
}
|
|
11
|
-
else if (model.includes("claude-3-5-sonnet")) {
|
|
12
|
-
return "claude-3-5-sonnet@20240620";
|
|
13
|
-
}
|
|
14
|
-
else if (model.includes("claude-3-5-haiku")) {
|
|
15
|
-
return "claude-3-5-haiku@20241022";
|
|
16
|
-
}
|
|
17
|
-
else if (model.includes("claude-3-opus")) {
|
|
18
|
-
return "claude-3-opus@20240229";
|
|
19
|
-
}
|
|
20
|
-
else if (model.includes("claude-3-sonnet")) {
|
|
21
|
-
return "claude-3-sonnet@20240229";
|
|
22
|
-
}
|
|
23
|
-
else if (model.includes("claude-3-haiku")) {
|
|
24
|
-
return "claude-3-haiku@20240307";
|
|
25
|
-
}
|
|
26
|
-
return model;
|
|
27
|
-
}
|
|
28
7
|
function claudeFinishReason(reason) {
|
|
29
8
|
if (!reason)
|
|
30
9
|
return undefined;
|
|
@@ -34,26 +13,101 @@ function claudeFinishReason(reason) {
|
|
|
34
13
|
default: return reason; //stop_sequence
|
|
35
14
|
}
|
|
36
15
|
}
|
|
37
|
-
function
|
|
16
|
+
function collectTools(content) {
|
|
38
17
|
const out = [];
|
|
39
18
|
for (const block of content) {
|
|
40
|
-
if (block
|
|
41
|
-
out.push(
|
|
19
|
+
if (block.type === "tool_use") {
|
|
20
|
+
out.push({
|
|
21
|
+
id: block.id,
|
|
22
|
+
tool_name: block.name,
|
|
23
|
+
tool_input: block.input,
|
|
24
|
+
});
|
|
42
25
|
}
|
|
43
26
|
}
|
|
44
|
-
return out.
|
|
27
|
+
return out.length > 0 ? out : undefined;
|
|
45
28
|
}
|
|
46
|
-
function
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
29
|
+
function collectAllTextContent(content, includeThoughts = false) {
|
|
30
|
+
const textParts = [];
|
|
31
|
+
// First pass: collect thinking blocks
|
|
32
|
+
if (includeThoughts) {
|
|
33
|
+
for (const block of content) {
|
|
34
|
+
if (block.type === 'thinking' && block.thinking) {
|
|
35
|
+
textParts.push(block.thinking);
|
|
36
|
+
}
|
|
37
|
+
else if (block.type === 'redacted_thinking' && block.data) {
|
|
38
|
+
textParts.push(`[Redacted thinking: ${block.data}]`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (textParts.length > 0) {
|
|
42
|
+
textParts.push(''); // Create a new line after thinking blocks
|
|
43
|
+
}
|
|
50
44
|
}
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
// Second pass: collect text blocks
|
|
46
|
+
for (const block of content) {
|
|
47
|
+
if (block.type === 'text' && block.text) {
|
|
48
|
+
textParts.push(block.text);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return textParts.join('\n');
|
|
52
|
+
}
|
|
53
|
+
//Used to get a max_token value when not specified in the model options. Claude requires it to be set.
|
|
54
|
+
function maxToken(option) {
|
|
55
|
+
const modelOptions = option.model_options;
|
|
56
|
+
if (modelOptions && typeof modelOptions.max_tokens === "number") {
|
|
57
|
+
return modelOptions.max_tokens;
|
|
53
58
|
}
|
|
54
59
|
else {
|
|
55
|
-
|
|
60
|
+
// Fallback to the default max tokens limit for the model
|
|
61
|
+
if (option.model.includes('claude-3-7-sonnet') && (modelOptions?.thinking_budget_tokens ?? 0) < 64000) {
|
|
62
|
+
return 64000; // Claude 3.7 can go up to 128k with a beta header, but when no max tokens is specified, we default to 64k.
|
|
63
|
+
}
|
|
64
|
+
return (0, core_1.getMaxTokensLimitVertexAi)(option.model);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async function collectFileBlocks(segment, restrictedTypes = false) {
|
|
68
|
+
const contentBlocks = [];
|
|
69
|
+
for (const file of segment.files || []) {
|
|
70
|
+
if (file.mime_type?.startsWith("image/")) {
|
|
71
|
+
const allowedTypes = ["image/png", "image/jpeg", "image/gif", "image/webp"];
|
|
72
|
+
if (!allowedTypes.includes(file.mime_type)) {
|
|
73
|
+
throw new Error(`Unsupported image type: ${file.mime_type}`);
|
|
74
|
+
}
|
|
75
|
+
const mimeType = String(file.mime_type);
|
|
76
|
+
contentBlocks.push({
|
|
77
|
+
type: 'image',
|
|
78
|
+
source: {
|
|
79
|
+
type: 'base64',
|
|
80
|
+
data: await (0, core_1.readStreamAsBase64)(await file.getStream()),
|
|
81
|
+
media_type: mimeType
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else if (!restrictedTypes) {
|
|
86
|
+
if (file.mime_type === "application/pdf") {
|
|
87
|
+
contentBlocks.push({
|
|
88
|
+
title: file.name,
|
|
89
|
+
type: 'document',
|
|
90
|
+
source: {
|
|
91
|
+
type: 'base64',
|
|
92
|
+
data: await (0, core_1.readStreamAsBase64)(await file.getStream()),
|
|
93
|
+
media_type: 'application/pdf'
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else if (file.mime_type?.startsWith("text/")) {
|
|
98
|
+
contentBlocks.push({
|
|
99
|
+
title: file.name,
|
|
100
|
+
type: 'document',
|
|
101
|
+
source: {
|
|
102
|
+
type: 'text',
|
|
103
|
+
data: await (0, core_1.readStreamAsString)(await file.getStream()),
|
|
104
|
+
media_type: 'text/plain'
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
56
109
|
}
|
|
110
|
+
return contentBlocks;
|
|
57
111
|
}
|
|
58
112
|
class ClaudeModelDefinition {
|
|
59
113
|
model;
|
|
@@ -68,86 +122,87 @@ class ClaudeModelDefinition {
|
|
|
68
122
|
}
|
|
69
123
|
async createPrompt(_driver, segments, options) {
|
|
70
124
|
// Convert the prompt to the format expected by the Claude API
|
|
71
|
-
|
|
125
|
+
let system = segments
|
|
72
126
|
.filter(segment => segment.role === core_1.PromptRole.system)
|
|
73
127
|
.map(segment => ({
|
|
74
128
|
text: segment.content,
|
|
75
129
|
type: 'text'
|
|
76
130
|
}));
|
|
77
|
-
const safetySegments = segments
|
|
78
|
-
.filter(segment => segment.role === core_1.PromptRole.safety)
|
|
79
|
-
.map(segment => ({
|
|
80
|
-
text: segment.content,
|
|
81
|
-
type: 'text'
|
|
82
|
-
}));
|
|
83
131
|
if (options.result_schema) {
|
|
132
|
+
let schemaText = '';
|
|
133
|
+
if (options.tools && options.tools.length > 0) {
|
|
134
|
+
schemaText = "When not calling tools, the answer must be a JSON object using the following JSON Schema:\n" + JSON.stringify(options.result_schema);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
schemaText = "The answer must be a JSON object using the following JSON Schema:\n" + JSON.stringify(options.result_schema);
|
|
138
|
+
}
|
|
84
139
|
const schemaSegments = {
|
|
85
|
-
text:
|
|
140
|
+
text: schemaText,
|
|
86
141
|
type: 'text'
|
|
87
142
|
};
|
|
88
|
-
|
|
143
|
+
system.push(schemaSegments);
|
|
89
144
|
}
|
|
90
|
-
|
|
145
|
+
let messages = [];
|
|
146
|
+
const safetyMessages = [];
|
|
91
147
|
for (const segment of segments) {
|
|
92
|
-
if (segment.role === core_1.PromptRole.system
|
|
148
|
+
if (segment.role === core_1.PromptRole.system) {
|
|
93
149
|
continue;
|
|
94
150
|
}
|
|
95
151
|
if (segment.role === core_1.PromptRole.tool) {
|
|
96
152
|
if (!segment.tool_use_id) {
|
|
97
|
-
throw new Error("Tool prompt segment must have a
|
|
153
|
+
throw new Error("Tool prompt segment must have a tool use ID");
|
|
98
154
|
}
|
|
155
|
+
// Build content blocks for tool results (restricted types)
|
|
156
|
+
const contentBlocks = [];
|
|
157
|
+
if (segment.content) {
|
|
158
|
+
contentBlocks.push({
|
|
159
|
+
type: 'text',
|
|
160
|
+
text: segment.content
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
// Collect file blocks with type safety
|
|
164
|
+
const fileBlocks = await collectFileBlocks(segment, true);
|
|
165
|
+
contentBlocks.push(...fileBlocks);
|
|
99
166
|
messages.push({
|
|
100
167
|
role: 'user',
|
|
101
|
-
content: [
|
|
102
|
-
{
|
|
168
|
+
content: [{
|
|
103
169
|
type: 'tool_result',
|
|
104
170
|
tool_use_id: segment.tool_use_id,
|
|
105
|
-
content:
|
|
106
|
-
}
|
|
107
|
-
]
|
|
171
|
+
content: contentBlocks,
|
|
172
|
+
}]
|
|
108
173
|
});
|
|
109
174
|
}
|
|
110
175
|
else {
|
|
176
|
+
// Build content blocks for regular messages (all types allowed)
|
|
111
177
|
const contentBlocks = [];
|
|
112
|
-
for (const file of segment.files || []) {
|
|
113
|
-
if (file.mime_type?.startsWith("image/")) {
|
|
114
|
-
const allowedTypes = ["image/png", "image/jpeg", "image/gif", "image/webp"];
|
|
115
|
-
if (!allowedTypes.includes(file.mime_type)) {
|
|
116
|
-
throw new Error(`Unsupported image type: ${file.mime_type}`);
|
|
117
|
-
}
|
|
118
|
-
contentBlocks.push({
|
|
119
|
-
type: 'image',
|
|
120
|
-
source: {
|
|
121
|
-
type: 'base64',
|
|
122
|
-
data: await (0, core_1.readStreamAsBase64)(await file.getStream()),
|
|
123
|
-
media_type: file.mime_type
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
else if (file.mime_type?.startsWith("text/")) {
|
|
128
|
-
contentBlocks.push({
|
|
129
|
-
source: {
|
|
130
|
-
type: 'text',
|
|
131
|
-
data: await (0, core_1.readStreamAsBase64)(await file.getStream()),
|
|
132
|
-
media_type: 'text/plain'
|
|
133
|
-
},
|
|
134
|
-
type: 'document'
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
178
|
if (segment.content) {
|
|
139
179
|
contentBlocks.push({
|
|
140
180
|
type: 'text',
|
|
141
181
|
text: segment.content
|
|
142
182
|
});
|
|
143
183
|
}
|
|
144
|
-
|
|
184
|
+
// Collect file blocks without restrictions
|
|
185
|
+
const fileBlocks = await collectFileBlocks(segment, false);
|
|
186
|
+
contentBlocks.push(...fileBlocks);
|
|
187
|
+
if (contentBlocks.length === 0) {
|
|
188
|
+
continue; // skip empty segments
|
|
189
|
+
}
|
|
190
|
+
const messageParam = {
|
|
145
191
|
role: segment.role === core_1.PromptRole.assistant ? 'assistant' : 'user',
|
|
146
192
|
content: contentBlocks
|
|
147
|
-
}
|
|
193
|
+
};
|
|
194
|
+
if (segment.role === core_1.PromptRole.safety) {
|
|
195
|
+
safetyMessages.push(messageParam);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
messages.push(messageParam);
|
|
199
|
+
}
|
|
148
200
|
}
|
|
149
201
|
}
|
|
150
|
-
|
|
202
|
+
messages = messages.concat(safetyMessages);
|
|
203
|
+
if (system && system.length === 0) {
|
|
204
|
+
system = undefined; // If system is empty, set to undefined
|
|
205
|
+
}
|
|
151
206
|
return {
|
|
152
207
|
messages: messages,
|
|
153
208
|
system: system
|
|
@@ -155,42 +210,27 @@ class ClaudeModelDefinition {
|
|
|
155
210
|
}
|
|
156
211
|
async requestTextCompletion(driver, prompt, options) {
|
|
157
212
|
const client = driver.getAnthropicClient();
|
|
158
|
-
const splits = options.model.split("/");
|
|
159
|
-
const modelName = splits[splits.length - 1];
|
|
160
|
-
options = { ...options, model: modelName };
|
|
161
213
|
options.model_options = options.model_options;
|
|
162
214
|
if (options.model_options?._option_id !== "vertexai-claude") {
|
|
163
215
|
driver.logger.warn("Invalid model options", { options: options.model_options });
|
|
164
216
|
}
|
|
165
217
|
let conversation = updateConversation(options.conversation, prompt);
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
top_k: options.model_options?.top_k,
|
|
174
|
-
stop_sequences: options.model_options?.stop_sequence,
|
|
175
|
-
thinking: options.model_options?.thinking_mode ?
|
|
176
|
-
{
|
|
177
|
-
budget_tokens: options.model_options?.thinking_budget_tokens ?? 1024,
|
|
178
|
-
type: "enabled"
|
|
179
|
-
} : {
|
|
180
|
-
type: "disabled"
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
const text = collectTextParts(result.content);
|
|
218
|
+
const { payload, requestOptions } = getClaudePayload(options, conversation);
|
|
219
|
+
// disable streaming, the create function is overloaded so payload type matters.
|
|
220
|
+
const nonStreamingPayload = { ...payload, stream: false };
|
|
221
|
+
const result = await client.messages.create(nonStreamingPayload, requestOptions);
|
|
222
|
+
// Use the new function to collect text content, including thinking if enabled
|
|
223
|
+
const includeThoughts = options.model_options?.include_thoughts ?? false;
|
|
224
|
+
const text = collectAllTextContent(result.content, includeThoughts);
|
|
184
225
|
const tool_use = collectTools(result.content);
|
|
185
226
|
conversation = updateConversation(conversation, createPromptFromResponse(result));
|
|
186
227
|
return {
|
|
187
|
-
chat: [prompt, { role: result.role, content: result.content }],
|
|
188
228
|
result: text ?? '',
|
|
189
229
|
tool_use,
|
|
190
230
|
token_usage: {
|
|
191
|
-
prompt: result
|
|
192
|
-
result: result
|
|
193
|
-
total: result
|
|
231
|
+
prompt: result.usage.input_tokens,
|
|
232
|
+
result: result.usage.output_tokens,
|
|
233
|
+
total: result.usage.input_tokens + result.usage.output_tokens
|
|
194
234
|
},
|
|
195
235
|
// make sure we set finish_reason to the correct value (claude is normally setting this by itself)
|
|
196
236
|
finish_reason: tool_use ? "tool_use" : claudeFinishReason(result?.stop_reason ?? ''),
|
|
@@ -199,74 +239,88 @@ class ClaudeModelDefinition {
|
|
|
199
239
|
}
|
|
200
240
|
async requestTextCompletionStream(driver, prompt, options) {
|
|
201
241
|
const client = driver.getAnthropicClient();
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
options = { ...options, model: modelName };
|
|
205
|
-
options.model_options = options.model_options;
|
|
206
|
-
if (options.model_options?._option_id !== "vertexai-claude") {
|
|
242
|
+
const model_options = options.model_options;
|
|
243
|
+
if (model_options?._option_id !== "vertexai-claude") {
|
|
207
244
|
driver.logger.warn("Invalid model options", { options: options.model_options });
|
|
208
245
|
}
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
246
|
+
const { payload, requestOptions } = getClaudePayload(options, prompt);
|
|
247
|
+
const streamingPayload = { ...payload, stream: true };
|
|
248
|
+
const response_stream = await client.messages.stream(streamingPayload, requestOptions);
|
|
249
|
+
const stream = (0, async_1.asyncMap)(response_stream, async (streamEvent) => {
|
|
250
|
+
switch (streamEvent.type) {
|
|
251
|
+
case "message_start":
|
|
252
|
+
return {
|
|
253
|
+
result: '',
|
|
254
|
+
token_usage: {
|
|
255
|
+
prompt: streamEvent.message.usage.input_tokens,
|
|
256
|
+
result: streamEvent.message.usage.output_tokens
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
case "message_delta":
|
|
260
|
+
return {
|
|
261
|
+
result: '',
|
|
262
|
+
token_usage: {
|
|
263
|
+
result: streamEvent.usage.output_tokens
|
|
264
|
+
},
|
|
265
|
+
finish_reason: claudeFinishReason(streamEvent.delta.stop_reason ?? undefined),
|
|
266
|
+
};
|
|
267
|
+
case "content_block_start":
|
|
268
|
+
// Handle redacted thinking blocks
|
|
269
|
+
if (streamEvent.content_block.type === "redacted_thinking" && model_options?.include_thoughts) {
|
|
270
|
+
return {
|
|
271
|
+
result: `[Redacted thinking: ${streamEvent.content_block.data}]`
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
break;
|
|
275
|
+
case "content_block_delta":
|
|
276
|
+
// Handle different delta types
|
|
277
|
+
switch (streamEvent.delta.type) {
|
|
278
|
+
case "text_delta":
|
|
279
|
+
return {
|
|
280
|
+
result: streamEvent.delta.text ?? ''
|
|
281
|
+
};
|
|
282
|
+
case "thinking_delta":
|
|
283
|
+
if (model_options?.include_thoughts) {
|
|
284
|
+
return {
|
|
285
|
+
result: streamEvent.delta.thinking ?? '',
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
break;
|
|
289
|
+
case "signature_delta":
|
|
290
|
+
// Signature deltas, signify the end of the thoughts.
|
|
291
|
+
if (model_options?.include_thoughts) {
|
|
292
|
+
return {
|
|
293
|
+
result: '\n\n', // Double newline for more spacing
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
298
|
+
break;
|
|
299
|
+
case "content_block_stop":
|
|
300
|
+
// Handle the end of content blocks, for redacted thinking blocks
|
|
301
|
+
if (model_options?.include_thoughts) {
|
|
302
|
+
return {
|
|
303
|
+
result: '\n\n' // Add double newline for spacing
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
break;
|
|
224
307
|
}
|
|
225
|
-
|
|
226
|
-
//Streaming does not give information on the input tokens,
|
|
227
|
-
//So we use a separate call to get the input tokens.
|
|
228
|
-
//Non-critical and model name sensitive so we put it in a try catch block
|
|
229
|
-
let count_tokens = { input_tokens: 0 };
|
|
230
|
-
try {
|
|
231
|
-
count_tokens = await client.messages.countTokens({
|
|
232
|
-
...prompt, // messages, system
|
|
233
|
-
model: getFullModelName(modelName),
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
catch (e) {
|
|
237
|
-
driver.logger.warn("Failed to get token count for model " + modelName);
|
|
238
|
-
}
|
|
239
|
-
const stream = (0, async_1.asyncMap)(response_stream, async (item) => {
|
|
308
|
+
// Default case for all other event types
|
|
240
309
|
return {
|
|
241
|
-
result:
|
|
242
|
-
token_usage: { prompt: count_tokens.input_tokens, result: item?.usage?.output_tokens },
|
|
243
|
-
finish_reason: claudeFinishReason(item?.delta?.stop_reason ?? ''),
|
|
310
|
+
result: ''
|
|
244
311
|
};
|
|
245
312
|
});
|
|
246
313
|
return stream;
|
|
247
314
|
}
|
|
248
315
|
}
|
|
249
316
|
exports.ClaudeModelDefinition = ClaudeModelDefinition;
|
|
250
|
-
function collectTools(content) {
|
|
251
|
-
const out = [];
|
|
252
|
-
for (const block of content) {
|
|
253
|
-
if (block?.type === "tool_use") {
|
|
254
|
-
out.push({
|
|
255
|
-
id: block.id,
|
|
256
|
-
tool_name: block.name,
|
|
257
|
-
tool_input: block.input,
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
return out.length > 0 ? out : undefined;
|
|
262
|
-
}
|
|
263
317
|
function createPromptFromResponse(response) {
|
|
264
318
|
return {
|
|
265
319
|
messages: [{
|
|
266
|
-
role:
|
|
320
|
+
role: response.role,
|
|
267
321
|
content: response.content,
|
|
268
322
|
}],
|
|
269
|
-
system:
|
|
323
|
+
system: undefined
|
|
270
324
|
};
|
|
271
325
|
}
|
|
272
326
|
/**
|
|
@@ -276,11 +330,46 @@ function createPromptFromResponse(response) {
|
|
|
276
330
|
* @returns
|
|
277
331
|
*/
|
|
278
332
|
function updateConversation(conversation, prompt) {
|
|
279
|
-
const baseSystemMessages = conversation
|
|
280
|
-
const baseMessages = conversation
|
|
333
|
+
const baseSystemMessages = conversation?.system || [];
|
|
334
|
+
const baseMessages = conversation?.messages || [];
|
|
335
|
+
const system = baseSystemMessages.concat(prompt.system || []);
|
|
281
336
|
return {
|
|
282
337
|
messages: baseMessages.concat(prompt.messages || []),
|
|
283
|
-
system:
|
|
338
|
+
system: system.length > 0 ? system : undefined // If system is empty, set to undefined
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
function getClaudePayload(options, prompt) {
|
|
342
|
+
const splits = options.model.split("/");
|
|
343
|
+
const modelName = splits[splits.length - 1];
|
|
344
|
+
const model_options = options.model_options;
|
|
345
|
+
// Add beta header for Claude 3.7 models to enable 128k output tokens
|
|
346
|
+
let requestOptions = undefined;
|
|
347
|
+
if (modelName.includes('claude-3-7-sonnet') &&
|
|
348
|
+
((model_options?.max_tokens ?? 0) > 64000 || (model_options?.thinking_budget_tokens ?? 0) > 64000)) {
|
|
349
|
+
requestOptions = {
|
|
350
|
+
headers: {
|
|
351
|
+
'anthropic-beta': 'output-128k-2025-02-19'
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
const payload = {
|
|
356
|
+
messages: prompt.messages,
|
|
357
|
+
system: prompt.system,
|
|
358
|
+
tools: options.tools, // we are using the same shape as claude for tools
|
|
359
|
+
temperature: model_options?.temperature,
|
|
360
|
+
model: modelName,
|
|
361
|
+
max_tokens: maxToken(options),
|
|
362
|
+
top_p: model_options?.top_p,
|
|
363
|
+
top_k: model_options?.top_k,
|
|
364
|
+
stop_sequences: model_options?.stop_sequence,
|
|
365
|
+
thinking: model_options?.thinking_mode ?
|
|
366
|
+
{
|
|
367
|
+
budget_tokens: model_options?.thinking_budget_tokens ?? 1024,
|
|
368
|
+
type: "enabled"
|
|
369
|
+
} : {
|
|
370
|
+
type: "disabled"
|
|
371
|
+
}
|
|
284
372
|
};
|
|
373
|
+
return { payload, requestOptions };
|
|
285
374
|
}
|
|
286
375
|
//# sourceMappingURL=claude.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/vertexai/models/claude.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/vertexai/models/claude.ts"],"names":[],"mappings":";;;AAyBA,oCAcC;AAtCD,2CAG0B;AAC1B,kDAAkD;AAWlD,SAAS,kBAAkB,CAAC,MAA0B;IAClD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,UAAU,CAAC,CAAC,OAAO,MAAM,CAAC;QAC/B,KAAK,YAAY,CAAC,CAAC,OAAO,QAAQ,CAAC;QACnC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,eAAe;IAC3C,CAAC;AACL,CAAC;AAED,SAAgB,YAAY,CAAC,OAAuB;IAChD,MAAM,GAAG,GAAc,EAAE,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC;gBACL,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,UAAU,EAAE,KAAK,CAAC,KAAmB;aACxC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAuB,EAAE,kBAA2B,KAAK;IACpF,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,sCAAsC;IACtC,IAAI,eAAe,EAAE,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC9C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC1D,SAAS,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,0CAA0C;QAClE,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACtC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,sGAAsG;AACtG,SAAS,QAAQ,CAAC,MAAiC;IAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,aAAkD,CAAC;IAC/E,IAAI,YAAY,IAAI,OAAO,YAAY,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC9D,OAAO,YAAY,CAAC,UAAU,CAAC;IACnC,CAAC;SAAM,CAAC;QACJ,yDAAyD;QACzD,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;YACpG,OAAO,KAAK,CAAC,CAAC,2GAA2G;QAC7H,CAAC;QACD,OAAO,IAAA,gCAAyB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAKD,KAAK,UAAU,iBAAiB,CAAC,OAAsB,EAAE,kBAA2B,KAAK;IACrF,MAAM,aAAa,GAAwB,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAC5E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAA4D,CAAC;YAEnG,aAAa,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACtD,UAAU,EAAE,QAAQ;iBACvB;aACsB,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACvC,aAAa,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,MAAM,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;wBACtD,UAAU,EAAE,iBAAiB;qBAChC;iBACyB,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,aAAa,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;wBACtD,UAAU,EAAE,YAAY;qBAC3B;iBACyB,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,MAAa,qBAAqB;IAE9B,KAAK,CAAS;IAEd,YAAY,OAAe;QACvB,IAAI,CAAC,KAAK,GAAG;YACT,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,gBAAS,CAAC,IAAI;YACpB,UAAU,EAAE,IAAI;SACD,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAuB,EAAE,QAAyB,EAAE,OAAyB;QAC5F,8DAA8D;QAC9D,IAAI,MAAM,GAAiC,QAAQ;aAC9C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAU,CAAC,MAAM,CAAC;aACrD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,IAAI,EAAE,MAAM;SACf,CAAC,CAAC,CAAC;QAER,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,UAAU,GAAW,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,UAAU,GAAG,6FAA6F,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACvJ,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,qEAAqE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC/H,CAAC;YAED,MAAM,cAAc,GAAmB;gBACnC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,MAAM;aACf,CAAA;YACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,QAAQ,GAAmB,EAAE,CAAC;QAClC,MAAM,cAAc,GAAmB,EAAE,CAAC;QAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAU,CAAC,MAAM,EAAE,CAAC;gBACrC,SAAS;YACb,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAU,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACnE,CAAC;gBAED,2DAA2D;gBAC3D,MAAM,aAAa,GAA4C,EAAE,CAAC;gBAElE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,aAAa,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO,CAAC,OAAO;qBACC,CAAC,CAAC;gBAChC,CAAC;gBAED,uCAAuC;gBACvC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1D,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBAElC,QAAQ,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,OAAO,EAAE,aAAa;yBACM,CAAC;iBACpC,CAAC,CAAC;YAEP,CAAC;iBAAM,CAAC;gBACJ,gEAAgE;gBAChE,MAAM,aAAa,GAAwB,EAAE,CAAC;gBAE9C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,aAAa,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO,CAAC,OAAO;qBACC,CAAC,CAAC;gBAChC,CAAC;gBAED,2CAA2C;gBAC3C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3D,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBAElC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,SAAS,CAAC,sBAAsB;gBACpC,CAAC;gBAED,MAAM,YAAY,GAAiB;oBAC/B,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,iBAAU,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;oBAClE,OAAO,EAAE,aAAa;iBACzB,CAAC;gBAEF,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAU,CAAC,MAAM,EAAE,CAAC;oBACrC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACJ,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;QAED,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE3C,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,SAAS,CAAC,CAAC,uCAAuC;QAC/D,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;SACjB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAsB,EAAE,MAAoB,EAAE,OAAyB;QAC/F,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC3C,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAsC,CAAC;QAEvE,IAAI,OAAO,CAAC,aAAa,EAAE,UAAU,KAAK,iBAAiB,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAA4B,EAAE,MAAM,CAAC,CAAC;QAEpF,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5E,gFAAgF;QAChF,MAAM,mBAAmB,GAAoC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAE3F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAmB,CAAC;QAEnG,8EAA8E;QAC9E,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,gBAAgB,IAAI,KAAK,CAAC;QACzE,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE9C,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;QAElF,OAAO;YACH,MAAM,EAAE,IAAI,IAAI,EAAE;YAClB,QAAQ;YACR,WAAW,EAAE;gBACT,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;gBACjC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;gBAClC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa;aAChE;YACD,kGAAkG;YAClG,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;YACpF,YAAY;SACM,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,MAAsB,EAAE,MAAoB,EAAE,OAAyB;QACrG,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAkD,CAAC;QAEjF,IAAI,aAAa,EAAE,UAAU,KAAK,iBAAiB,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAwB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAE3E,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAEvF,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,eAAe,EAAE,KAAK,EAAE,WAAkC,EAAE,EAAE;YAClF,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,eAAe;oBAChB,OAAO;wBACH,MAAM,EAAE,EAAE;wBACV,WAAW,EAAE;4BACT,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY;4BAC9C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa;yBAClD;qBAC4B,CAAC;gBACtC,KAAK,eAAe;oBAChB,OAAO;wBACH,MAAM,EAAE,EAAE;wBACV,WAAW,EAAE;4BACT,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa;yBAC1C;wBACD,aAAa,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC;qBAChD,CAAC;gBACtC,KAAK,qBAAqB;oBACtB,kCAAkC;oBAClC,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,KAAK,mBAAmB,IAAI,aAAa,EAAE,gBAAgB,EAAE,CAAC;wBAC5F,OAAO;4BACH,MAAM,EAAE,uBAAuB,WAAW,CAAC,aAAa,CAAC,IAAI,GAAG;yBACnC,CAAC;oBACtC,CAAC;oBACD,MAAM;gBACV,KAAK,qBAAqB;oBACtB,+BAA+B;oBAC/B,QAAQ,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC7B,KAAK,YAAY;4BACb,OAAO;gCACH,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;6BACP,CAAC;wBACtC,KAAK,gBAAgB;4BACjB,IAAI,aAAa,EAAE,gBAAgB,EAAE,CAAC;gCAClC,OAAO;oCACH,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE;iCACX,CAAC;4BACtC,CAAC;4BACD,MAAM;wBACV,KAAK,iBAAiB;4BAClB,qDAAqD;4BACrD,IAAI,aAAa,EAAE,gBAAgB,EAAE,CAAC;gCAClC,OAAO;oCACH,MAAM,EAAE,MAAM,EAAE,kCAAkC;iCACrB,CAAC;4BACtC,CAAC;4BACD,MAAM;oBACd,CAAC;oBACD,MAAM;gBACV,KAAK,oBAAoB;oBACrB,iEAAiE;oBACjE,IAAI,aAAa,EAAE,gBAAgB,EAAE,CAAC;wBAClC,OAAO;4BACH,MAAM,EAAE,MAAM,CAAC,iCAAiC;yBACnB,CAAC;oBACtC,CAAC;oBACD,MAAM;YACd,CAAC;YAED,yCAAyC;YACzC,OAAO;gBACH,MAAM,EAAE,EAAE;aACmB,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA3OD,sDA2OC;AAED,SAAS,wBAAwB,CAAC,QAAiB;IAC/C,OAAO;QACH,QAAQ,EAAE,CAAC;gBACP,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC5B,CAAC;QACF,MAAM,EAAE,SAAS;KACpB,CAAA;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,YAA6C,EAAE,MAAoB;IAC3F,MAAM,kBAAkB,GAAG,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO;QACH,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpD,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,uCAAuC;KACzF,CAAC;AACN,CAAC;AAKD,SAAS,gBAAgB,CAAC,OAAyB,EAAE,MAAoB;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAsC,CAAC;IAErE,qEAAqE;IACrE,IAAI,cAAc,GAA+B,SAAS,CAAC;IAC3D,IAAI,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACvC,CAAC,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,EAAE,sBAAsB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QACrG,cAAc,GAAG;YACb,OAAO,EAAE;gBACL,gBAAgB,EAAE,wBAAwB;aAC7C;SACJ,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG;QACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,kDAAkD;QACxE,WAAW,EAAE,aAAa,EAAE,WAAW;QACvC,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,aAAa,EAAE,KAAK;QAC3B,KAAK,EAAE,aAAa,EAAE,KAAK;QAC3B,cAAc,EAAE,aAAa,EAAE,aAAa;QAC5C,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;YACpC;gBACI,aAAa,EAAE,aAAa,EAAE,sBAAsB,IAAI,IAAI;gBAC5D,IAAI,EAAE,SAAkB;aAC3B,CAAC,CAAC,CAAC;YACA,IAAI,EAAE,UAAmB;SAC5B;KACR,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AACvC,CAAC"}
|