@llumiverse/drivers 0.19.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 +152 -70
- package/lib/cjs/bedrock/index.js.map +1 -1
- package/lib/cjs/vertexai/index.js +1 -0
- package/lib/cjs/vertexai/index.js.map +1 -1
- package/lib/cjs/vertexai/models/claude.js +227 -118
- package/lib/cjs/vertexai/models/claude.js.map +1 -1
- package/lib/cjs/vertexai/models/gemini.js +110 -70
- 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/watsonx/index.js +10 -10
- package/lib/cjs/watsonx/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 +153 -71
- package/lib/esm/bedrock/index.js.map +1 -1
- package/lib/esm/vertexai/index.js +1 -0
- package/lib/esm/vertexai/index.js.map +1 -1
- package/lib/esm/vertexai/models/claude.js +228 -119
- package/lib/esm/vertexai/models/claude.js.map +1 -1
- package/lib/esm/vertexai/models/gemini.js +109 -70
- 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/watsonx/index.js +10 -10
- package/lib/esm/watsonx/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/vertexai/index.d.ts +2 -3
- 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 +4 -2
- package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
- package/lib/types/vertexai/models.d.ts +2 -2
- package/lib/types/vertexai/models.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/bedrock/converse.ts +194 -129
- package/src/bedrock/index.ts +177 -82
- package/src/vertexai/index.ts +3 -3
- package/src/vertexai/models/claude.ts +268 -138
- package/src/vertexai/models/gemini.ts +120 -77
- package/src/vertexai/models/imagen.ts +3 -3
- package/src/vertexai/models.ts +2 -2
- package/src/watsonx/index.ts +12 -12
|
@@ -13,28 +13,59 @@ function claudeFinishReason(reason) {
|
|
|
13
13
|
default: return reason; //stop_sequence
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function collectTools(content) {
|
|
17
17
|
const out = [];
|
|
18
18
|
for (const block of content) {
|
|
19
|
-
if (block
|
|
20
|
-
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
|
+
});
|
|
21
25
|
}
|
|
22
26
|
}
|
|
23
|
-
return out.
|
|
27
|
+
return out.length > 0 ? out : undefined;
|
|
24
28
|
}
|
|
25
|
-
function
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
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
|
+
}
|
|
29
44
|
}
|
|
30
|
-
|
|
31
|
-
|
|
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;
|
|
32
58
|
}
|
|
33
59
|
else {
|
|
34
|
-
|
|
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);
|
|
35
65
|
}
|
|
36
66
|
}
|
|
37
|
-
async function
|
|
67
|
+
async function collectFileBlocks(segment, restrictedTypes = false) {
|
|
68
|
+
const contentBlocks = [];
|
|
38
69
|
for (const file of segment.files || []) {
|
|
39
70
|
if (file.mime_type?.startsWith("image/")) {
|
|
40
71
|
const allowedTypes = ["image/png", "image/jpeg", "image/gif", "image/webp"];
|
|
@@ -51,17 +82,32 @@ async function collectImageBlocks(segment, contentBlocks) {
|
|
|
51
82
|
}
|
|
52
83
|
});
|
|
53
84
|
}
|
|
54
|
-
else if (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
+
}
|
|
63
108
|
}
|
|
64
109
|
}
|
|
110
|
+
return contentBlocks;
|
|
65
111
|
}
|
|
66
112
|
class ClaudeModelDefinition {
|
|
67
113
|
model;
|
|
@@ -76,64 +122,87 @@ class ClaudeModelDefinition {
|
|
|
76
122
|
}
|
|
77
123
|
async createPrompt(_driver, segments, options) {
|
|
78
124
|
// Convert the prompt to the format expected by the Claude API
|
|
79
|
-
|
|
125
|
+
let system = segments
|
|
80
126
|
.filter(segment => segment.role === core_1.PromptRole.system)
|
|
81
127
|
.map(segment => ({
|
|
82
128
|
text: segment.content,
|
|
83
129
|
type: 'text'
|
|
84
130
|
}));
|
|
85
|
-
const safetySegments = segments
|
|
86
|
-
.filter(segment => segment.role === core_1.PromptRole.safety)
|
|
87
|
-
.map(segment => ({
|
|
88
|
-
text: segment.content,
|
|
89
|
-
type: 'text'
|
|
90
|
-
}));
|
|
91
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
|
+
}
|
|
92
139
|
const schemaSegments = {
|
|
93
|
-
text:
|
|
140
|
+
text: schemaText,
|
|
94
141
|
type: 'text'
|
|
95
142
|
};
|
|
96
|
-
|
|
143
|
+
system.push(schemaSegments);
|
|
97
144
|
}
|
|
98
|
-
|
|
145
|
+
let messages = [];
|
|
146
|
+
const safetyMessages = [];
|
|
99
147
|
for (const segment of segments) {
|
|
100
|
-
if (segment.role === core_1.PromptRole.system
|
|
148
|
+
if (segment.role === core_1.PromptRole.system) {
|
|
101
149
|
continue;
|
|
102
150
|
}
|
|
103
151
|
if (segment.role === core_1.PromptRole.tool) {
|
|
104
152
|
if (!segment.tool_use_id) {
|
|
105
|
-
throw new Error("Tool prompt segment must have a
|
|
153
|
+
throw new Error("Tool prompt segment must have a tool use ID");
|
|
106
154
|
}
|
|
107
|
-
|
|
108
|
-
|
|
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);
|
|
109
166
|
messages.push({
|
|
110
167
|
role: 'user',
|
|
111
168
|
content: [{
|
|
112
169
|
type: 'tool_result',
|
|
113
170
|
tool_use_id: segment.tool_use_id,
|
|
114
|
-
content:
|
|
115
|
-
type: 'text',
|
|
116
|
-
text: segment.content || ''
|
|
117
|
-
}, ...imageBlocks]
|
|
171
|
+
content: contentBlocks,
|
|
118
172
|
}]
|
|
119
173
|
});
|
|
120
174
|
}
|
|
121
175
|
else {
|
|
176
|
+
// Build content blocks for regular messages (all types allowed)
|
|
122
177
|
const contentBlocks = [];
|
|
123
|
-
collectImageBlocks(segment, contentBlocks);
|
|
124
178
|
if (segment.content) {
|
|
125
179
|
contentBlocks.push({
|
|
126
180
|
type: 'text',
|
|
127
181
|
text: segment.content
|
|
128
182
|
});
|
|
129
183
|
}
|
|
130
|
-
|
|
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 = {
|
|
131
191
|
role: segment.role === core_1.PromptRole.assistant ? 'assistant' : 'user',
|
|
132
192
|
content: contentBlocks
|
|
133
|
-
}
|
|
193
|
+
};
|
|
194
|
+
if (segment.role === core_1.PromptRole.safety) {
|
|
195
|
+
safetyMessages.push(messageParam);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
messages.push(messageParam);
|
|
199
|
+
}
|
|
134
200
|
}
|
|
135
201
|
}
|
|
136
|
-
|
|
202
|
+
messages = messages.concat(safetyMessages);
|
|
203
|
+
if (system && system.length === 0) {
|
|
204
|
+
system = undefined; // If system is empty, set to undefined
|
|
205
|
+
}
|
|
137
206
|
return {
|
|
138
207
|
messages: messages,
|
|
139
208
|
system: system
|
|
@@ -141,42 +210,27 @@ class ClaudeModelDefinition {
|
|
|
141
210
|
}
|
|
142
211
|
async requestTextCompletion(driver, prompt, options) {
|
|
143
212
|
const client = driver.getAnthropicClient();
|
|
144
|
-
const splits = options.model.split("/");
|
|
145
|
-
const modelName = splits[splits.length - 1];
|
|
146
|
-
options = { ...options, model: modelName };
|
|
147
213
|
options.model_options = options.model_options;
|
|
148
214
|
if (options.model_options?._option_id !== "vertexai-claude") {
|
|
149
215
|
driver.logger.warn("Invalid model options", { options: options.model_options });
|
|
150
216
|
}
|
|
151
217
|
let conversation = updateConversation(options.conversation, prompt);
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
top_k: options.model_options?.top_k,
|
|
160
|
-
stop_sequences: options.model_options?.stop_sequence,
|
|
161
|
-
thinking: options.model_options?.thinking_mode ?
|
|
162
|
-
{
|
|
163
|
-
budget_tokens: options.model_options?.thinking_budget_tokens ?? 1024,
|
|
164
|
-
type: "enabled"
|
|
165
|
-
} : {
|
|
166
|
-
type: "disabled"
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
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);
|
|
170
225
|
const tool_use = collectTools(result.content);
|
|
171
226
|
conversation = updateConversation(conversation, createPromptFromResponse(result));
|
|
172
227
|
return {
|
|
173
|
-
chat: [prompt, { role: result.role, content: result.content }],
|
|
174
228
|
result: text ?? '',
|
|
175
229
|
tool_use,
|
|
176
230
|
token_usage: {
|
|
177
|
-
prompt: result
|
|
178
|
-
result: result
|
|
179
|
-
total: result
|
|
231
|
+
prompt: result.usage.input_tokens,
|
|
232
|
+
result: result.usage.output_tokens,
|
|
233
|
+
total: result.usage.input_tokens + result.usage.output_tokens
|
|
180
234
|
},
|
|
181
235
|
// make sure we set finish_reason to the correct value (claude is normally setting this by itself)
|
|
182
236
|
finish_reason: tool_use ? "tool_use" : claudeFinishReason(result?.stop_reason ?? ''),
|
|
@@ -185,68 +239,88 @@ class ClaudeModelDefinition {
|
|
|
185
239
|
}
|
|
186
240
|
async requestTextCompletionStream(driver, prompt, options) {
|
|
187
241
|
const client = driver.getAnthropicClient();
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
options = { ...options, model: modelName };
|
|
191
|
-
options.model_options = options.model_options;
|
|
192
|
-
if (options.model_options?._option_id !== "vertexai-claude") {
|
|
242
|
+
const model_options = options.model_options;
|
|
243
|
+
if (model_options?._option_id !== "vertexai-claude") {
|
|
193
244
|
driver.logger.warn("Invalid model options", { options: options.model_options });
|
|
194
245
|
}
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
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;
|
|
219
307
|
}
|
|
308
|
+
// Default case for all other event types
|
|
220
309
|
return {
|
|
221
|
-
result:
|
|
222
|
-
token_usage: { result: item?.usage?.output_tokens },
|
|
223
|
-
finish_reason: claudeFinishReason(item?.delta?.stop_reason ?? ''),
|
|
310
|
+
result: ''
|
|
224
311
|
};
|
|
225
312
|
});
|
|
226
313
|
return stream;
|
|
227
314
|
}
|
|
228
315
|
}
|
|
229
316
|
exports.ClaudeModelDefinition = ClaudeModelDefinition;
|
|
230
|
-
function collectTools(content) {
|
|
231
|
-
const out = [];
|
|
232
|
-
for (const block of content) {
|
|
233
|
-
if (block?.type === "tool_use") {
|
|
234
|
-
out.push({
|
|
235
|
-
id: block.id,
|
|
236
|
-
tool_name: block.name,
|
|
237
|
-
tool_input: block.input,
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
return out.length > 0 ? out : undefined;
|
|
242
|
-
}
|
|
243
317
|
function createPromptFromResponse(response) {
|
|
244
318
|
return {
|
|
245
319
|
messages: [{
|
|
246
|
-
role:
|
|
320
|
+
role: response.role,
|
|
247
321
|
content: response.content,
|
|
248
322
|
}],
|
|
249
|
-
system:
|
|
323
|
+
system: undefined
|
|
250
324
|
};
|
|
251
325
|
}
|
|
252
326
|
/**
|
|
@@ -256,11 +330,46 @@ function createPromptFromResponse(response) {
|
|
|
256
330
|
* @returns
|
|
257
331
|
*/
|
|
258
332
|
function updateConversation(conversation, prompt) {
|
|
259
|
-
const baseSystemMessages = conversation
|
|
260
|
-
const baseMessages = conversation
|
|
333
|
+
const baseSystemMessages = conversation?.system || [];
|
|
334
|
+
const baseMessages = conversation?.messages || [];
|
|
335
|
+
const system = baseSystemMessages.concat(prompt.system || []);
|
|
261
336
|
return {
|
|
262
337
|
messages: baseMessages.concat(prompt.messages || []),
|
|
263
|
-
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
|
+
}
|
|
264
372
|
};
|
|
373
|
+
return { payload, requestOptions };
|
|
265
374
|
}
|
|
266
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"}
|