@llumiverse/drivers 1.0.0-dev.20260224.234313Z → 1.0.0-dev.20260327.110720Z
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 +86 -12
- package/lib/cjs/bedrock/converse.js.map +1 -1
- package/lib/cjs/bedrock/index.js +208 -1
- package/lib/cjs/bedrock/index.js.map +1 -1
- package/lib/cjs/groq/index.js +7 -4
- package/lib/cjs/groq/index.js.map +1 -1
- package/lib/cjs/openai/index.js +457 -26
- package/lib/cjs/openai/index.js.map +1 -1
- package/lib/cjs/openai/openai_compatible.js +1 -0
- package/lib/cjs/openai/openai_compatible.js.map +1 -1
- package/lib/cjs/vertexai/index.js +42 -0
- package/lib/cjs/vertexai/index.js.map +1 -1
- package/lib/cjs/vertexai/models/claude.js +230 -2
- package/lib/cjs/vertexai/models/claude.js.map +1 -1
- package/lib/cjs/vertexai/models/gemini.js +261 -41
- package/lib/cjs/vertexai/models/gemini.js.map +1 -1
- package/lib/cjs/vertexai/models.js +1 -1
- package/lib/cjs/vertexai/models.js.map +1 -1
- package/lib/esm/bedrock/converse.js +80 -6
- package/lib/esm/bedrock/converse.js.map +1 -1
- package/lib/esm/bedrock/index.js +207 -2
- package/lib/esm/bedrock/index.js.map +1 -1
- package/lib/esm/groq/index.js +7 -4
- package/lib/esm/groq/index.js.map +1 -1
- package/lib/esm/openai/index.js +456 -27
- package/lib/esm/openai/index.js.map +1 -1
- package/lib/esm/openai/openai_compatible.js +1 -0
- package/lib/esm/openai/openai_compatible.js.map +1 -1
- package/lib/esm/vertexai/index.js +43 -1
- package/lib/esm/vertexai/index.js.map +1 -1
- package/lib/esm/vertexai/models/claude.js +229 -3
- package/lib/esm/vertexai/models/claude.js.map +1 -1
- package/lib/esm/vertexai/models/gemini.js +262 -43
- package/lib/esm/vertexai/models/gemini.js.map +1 -1
- package/lib/esm/vertexai/models.js +1 -1
- package/lib/esm/vertexai/models.js.map +1 -1
- package/lib/types/bedrock/converse.d.ts +1 -2
- package/lib/types/bedrock/converse.d.ts.map +1 -1
- package/lib/types/bedrock/index.d.ts +54 -2
- package/lib/types/bedrock/index.d.ts.map +1 -1
- package/lib/types/openai/index.d.ts +96 -1
- package/lib/types/openai/index.d.ts.map +1 -1
- package/lib/types/openai/openai_compatible.d.ts +5 -0
- package/lib/types/openai/openai_compatible.d.ts.map +1 -1
- package/lib/types/openai/openai_format.d.ts +1 -1
- package/lib/types/vertexai/index.d.ts +11 -1
- package/lib/types/vertexai/index.d.ts.map +1 -1
- package/lib/types/vertexai/models/claude.d.ts +64 -1
- package/lib/types/vertexai/models/claude.d.ts.map +1 -1
- package/lib/types/vertexai/models/gemini.d.ts +61 -1
- package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
- package/lib/types/vertexai/models.d.ts +6 -1
- package/lib/types/vertexai/models.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/bedrock/converse.ts +85 -10
- package/src/bedrock/error-handling.test.ts +352 -0
- package/src/bedrock/index.ts +228 -3
- package/src/groq/index.ts +9 -4
- package/src/openai/error-handling.test.ts +567 -0
- package/src/openai/index.ts +505 -29
- package/src/openai/openai_compatible.ts +7 -0
- package/src/openai/openai_format.ts +1 -1
- package/src/vertexai/index.ts +56 -5
- package/src/vertexai/models/claude-error-handling.test.ts +432 -0
- package/src/vertexai/models/claude.ts +273 -7
- package/src/vertexai/models/gemini-error-handling.test.ts +353 -0
- package/src/vertexai/models/gemini.ts +304 -48
- package/src/vertexai/models.ts +7 -2
|
@@ -5,31 +5,101 @@ exports.converseSystemToMessages = converseSystemToMessages;
|
|
|
5
5
|
exports.converseRemoveJSONprefill = converseRemoveJSONprefill;
|
|
6
6
|
exports.converseJSONprefill = converseJSONprefill;
|
|
7
7
|
exports.formatConversePrompt = formatConversePrompt;
|
|
8
|
-
const core_1 = require("@llumiverse/core");
|
|
9
|
-
const core_2 = require("@llumiverse/core");
|
|
10
8
|
const client_bedrock_runtime_1 = require("@aws-sdk/client-bedrock-runtime");
|
|
9
|
+
const core_1 = require("@llumiverse/core");
|
|
11
10
|
const s3_js_1 = require("./s3.js");
|
|
12
11
|
function roleConversion(role) {
|
|
13
|
-
return role ===
|
|
12
|
+
return role === core_1.PromptRole.assistant ? client_bedrock_runtime_1.ConversationRole.ASSISTANT : client_bedrock_runtime_1.ConversationRole.USER;
|
|
14
13
|
}
|
|
14
|
+
const BEDROCK_IMAGE_FORMATS = new Set(["png", "jpeg", "gif", "webp"]);
|
|
15
|
+
const mimeToImageMap = {
|
|
16
|
+
"image/png": "png",
|
|
17
|
+
"image/jpeg": "jpeg",
|
|
18
|
+
"image/gif": "gif",
|
|
19
|
+
"image/webp": "webp",
|
|
20
|
+
};
|
|
15
21
|
function mimeToImageType(mime) {
|
|
22
|
+
const mapped = mimeToImageMap[mime];
|
|
23
|
+
if (mapped)
|
|
24
|
+
return mapped;
|
|
16
25
|
if (mime.startsWith("image/")) {
|
|
17
|
-
|
|
26
|
+
const subtype = mime.split("/")[1];
|
|
27
|
+
if (subtype && BEDROCK_IMAGE_FORMATS.has(subtype)) {
|
|
28
|
+
return subtype;
|
|
29
|
+
}
|
|
18
30
|
}
|
|
19
31
|
return "png";
|
|
20
32
|
}
|
|
33
|
+
const BEDROCK_DOC_FORMATS = new Set(["pdf", "csv", "doc", "docx", "xls", "xlsx", "html", "txt", "md"]);
|
|
34
|
+
const mimeToDocMap = {
|
|
35
|
+
"application/pdf": "pdf",
|
|
36
|
+
"text/csv": "csv",
|
|
37
|
+
"application/msword": "doc",
|
|
38
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "docx",
|
|
39
|
+
"application/vnd.ms-excel": "xls",
|
|
40
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx",
|
|
41
|
+
"text/html": "html",
|
|
42
|
+
"text/plain": "txt",
|
|
43
|
+
"text/markdown": "md",
|
|
44
|
+
};
|
|
21
45
|
function mimeToDocType(mime) {
|
|
46
|
+
// 1. Exact map lookup (handles complex MIME types like vnd.openxmlformats-*)
|
|
47
|
+
const mapped = mimeToDocMap[mime];
|
|
48
|
+
if (mapped)
|
|
49
|
+
return mapped;
|
|
50
|
+
// 2. Fallback: extract subtype for simple application/ or text/ MIME types
|
|
22
51
|
if (mime.startsWith("application/") || mime.startsWith("text/")) {
|
|
23
|
-
|
|
52
|
+
const subtype = mime.split("/")[1];
|
|
53
|
+
if (subtype && BEDROCK_DOC_FORMATS.has(subtype)) {
|
|
54
|
+
return subtype;
|
|
55
|
+
}
|
|
24
56
|
}
|
|
25
57
|
return "txt";
|
|
26
58
|
}
|
|
59
|
+
const BEDROCK_VIDEO_FORMATS = new Set(["mov", "mkv", "mp4", "webm", "flv", "mpeg", "mpg", "wmv", "three_gp"]);
|
|
60
|
+
const mimeToVideoMap = {
|
|
61
|
+
"video/quicktime": "mov",
|
|
62
|
+
"video/x-matroska": "mkv",
|
|
63
|
+
"video/mp4": "mp4",
|
|
64
|
+
"video/webm": "webm",
|
|
65
|
+
"video/x-flv": "flv",
|
|
66
|
+
"video/mpeg": "mpeg",
|
|
67
|
+
"video/x-ms-wmv": "wmv",
|
|
68
|
+
"video/3gpp": "three_gp",
|
|
69
|
+
};
|
|
27
70
|
function mimeToVideoType(mime) {
|
|
71
|
+
const mapped = mimeToVideoMap[mime];
|
|
72
|
+
if (mapped)
|
|
73
|
+
return mapped;
|
|
28
74
|
if (mime.startsWith("video/")) {
|
|
29
|
-
|
|
75
|
+
const subtype = mime.split("/")[1];
|
|
76
|
+
if (subtype && BEDROCK_VIDEO_FORMATS.has(subtype)) {
|
|
77
|
+
return subtype;
|
|
78
|
+
}
|
|
30
79
|
}
|
|
31
80
|
return "mp4";
|
|
32
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Cleans a filename to conform to Bedrock's restrictions:
|
|
84
|
+
* - Alphanumeric characters, whitespace, hyphens, parentheses, square brackets.
|
|
85
|
+
* - No more than one consecutive whitespace character.
|
|
86
|
+
* - Decodes URI components (e.g., %20 -> space).
|
|
87
|
+
*/
|
|
88
|
+
function cleanBedrockFilename(name) {
|
|
89
|
+
if (!name)
|
|
90
|
+
return name;
|
|
91
|
+
try {
|
|
92
|
+
// Decode URI components like %20
|
|
93
|
+
name = decodeURIComponent(name);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
// Ignore decoding errors
|
|
97
|
+
}
|
|
98
|
+
return name
|
|
99
|
+
.replace(/[^\w\s\-()[\]]/g, " ") // Replace invalid characters with space
|
|
100
|
+
.replace(/\s+/g, " ") // Collapse consecutive whitespaces
|
|
101
|
+
.trim();
|
|
102
|
+
}
|
|
33
103
|
async function processFile(f, mode) {
|
|
34
104
|
const source = await f.getStream();
|
|
35
105
|
//Image file - "png" | "jpeg" | "gif" | "webp"
|
|
@@ -70,7 +140,7 @@ async function processFile(f, mode) {
|
|
|
70
140
|
const documentBlock = {
|
|
71
141
|
document: {
|
|
72
142
|
format: mimeToDocType(f.mime_type),
|
|
73
|
-
name: f.name,
|
|
143
|
+
name: cleanBedrockFilename(f.name),
|
|
74
144
|
source: { bytes: await (0, core_1.readStreamAsUint8Array)(source) },
|
|
75
145
|
},
|
|
76
146
|
};
|
|
@@ -186,8 +256,8 @@ function converseJSONprefill(messages) {
|
|
|
186
256
|
}
|
|
187
257
|
// Used to ignore unsupported roles. Typically these are things like image specific roles.
|
|
188
258
|
const unsupportedRoles = [
|
|
189
|
-
|
|
190
|
-
|
|
259
|
+
core_1.PromptRole.negative,
|
|
260
|
+
core_1.PromptRole.mask,
|
|
191
261
|
];
|
|
192
262
|
async function formatConversePrompt(segments, options) {
|
|
193
263
|
//Non-const for concat
|
|
@@ -196,10 +266,10 @@ async function formatConversePrompt(segments, options) {
|
|
|
196
266
|
let messages = [];
|
|
197
267
|
for (const segment of segments) {
|
|
198
268
|
// Role dependent processing
|
|
199
|
-
if (segment.role ===
|
|
269
|
+
if (segment.role === core_1.PromptRole.system) {
|
|
200
270
|
system.push({ text: segment.content });
|
|
201
271
|
}
|
|
202
|
-
else if (segment.role ===
|
|
272
|
+
else if (segment.role === core_1.PromptRole.tool) {
|
|
203
273
|
if (!segment.tool_use_id) {
|
|
204
274
|
throw new Error("Tool use ID is required for tool segments");
|
|
205
275
|
}
|
|
@@ -213,6 +283,10 @@ async function formatConversePrompt(segments, options) {
|
|
|
213
283
|
for (const file of segment.files ?? []) {
|
|
214
284
|
toolContentBlocks.push(await processFileToToolContentBlock(file));
|
|
215
285
|
}
|
|
286
|
+
// Bedrock requires at least one content block in toolResult
|
|
287
|
+
if (toolContentBlocks.length === 0) {
|
|
288
|
+
toolContentBlocks.push({ text: '[No output]' });
|
|
289
|
+
}
|
|
216
290
|
messages.push({
|
|
217
291
|
content: [{
|
|
218
292
|
toolResult: {
|
|
@@ -237,7 +311,7 @@ async function formatConversePrompt(segments, options) {
|
|
|
237
311
|
//If there are no content blocks, skip this message
|
|
238
312
|
if (contentBlocks.length !== 0) {
|
|
239
313
|
const message = { content: contentBlocks, role: roleConversion(segment.role) };
|
|
240
|
-
if (segment.role ===
|
|
314
|
+
if (segment.role === core_1.PromptRole.safety) {
|
|
241
315
|
safety.push(message);
|
|
242
316
|
}
|
|
243
317
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converse.js","sourceRoot":"","sources":["../../../src/bedrock/converse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"converse.js","sourceRoot":"","sources":["../../../src/bedrock/converse.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/bedrock/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BedrockDriver = void 0;
|
|
4
|
+
exports.messagesContainToolBlocks = messagesContainToolBlocks;
|
|
5
|
+
exports.convertToolBlocksToText = convertToolBlocksToText;
|
|
4
6
|
exports.fixOrphanedToolUse = fixOrphanedToolUse;
|
|
5
7
|
const client_bedrock_1 = require("@aws-sdk/client-bedrock");
|
|
6
8
|
const client_bedrock_runtime_1 = require("@aws-sdk/client-bedrock-runtime");
|
|
@@ -122,6 +124,124 @@ class BedrockDriver extends core_1.AbstractDriver {
|
|
|
122
124
|
}
|
|
123
125
|
return await (0, converse_js_1.formatConversePrompt)(segments, opts);
|
|
124
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Format AWS Bedrock errors into LlumiverseError with proper status codes and retryability.
|
|
129
|
+
*
|
|
130
|
+
* AWS SDK errors provide:
|
|
131
|
+
* - error.name: The exception type (e.g., "ThrottlingException")
|
|
132
|
+
* - error.$metadata.httpStatusCode: The HTTP status code
|
|
133
|
+
* - error.$metadata.requestId: The AWS request ID for tracking
|
|
134
|
+
* - error.$fault: "client" or "server" indicating error category
|
|
135
|
+
*
|
|
136
|
+
* @param error - The AWS SDK error
|
|
137
|
+
* @param context - Context about where the error occurred
|
|
138
|
+
* @returns A standardized LlumiverseError
|
|
139
|
+
*/
|
|
140
|
+
formatLlumiverseError(error, context) {
|
|
141
|
+
// Check if it's an AWS SDK error with $metadata
|
|
142
|
+
const awsError = error;
|
|
143
|
+
const hasMetadata = awsError?.$metadata !== undefined;
|
|
144
|
+
if (!hasMetadata) {
|
|
145
|
+
// Not an AWS SDK error, use default handling
|
|
146
|
+
return super.formatLlumiverseError(error, context);
|
|
147
|
+
}
|
|
148
|
+
// Extract AWS-specific fields
|
|
149
|
+
const errorName = awsError.name || 'UnknownError';
|
|
150
|
+
const httpStatusCode = awsError.$metadata?.httpStatusCode;
|
|
151
|
+
const requestId = awsError.$metadata?.requestId;
|
|
152
|
+
const fault = awsError.$fault; // "client" or "server"
|
|
153
|
+
// Extract error message - handle both Error instances and plain objects
|
|
154
|
+
let message;
|
|
155
|
+
if (error instanceof Error) {
|
|
156
|
+
message = error.message;
|
|
157
|
+
}
|
|
158
|
+
else if (typeof awsError.message === 'string') {
|
|
159
|
+
message = awsError.message;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
message = String(error);
|
|
163
|
+
}
|
|
164
|
+
// Build user-facing message with error name and status code
|
|
165
|
+
let userMessage = message;
|
|
166
|
+
// Include status code in message if available (for end-user visibility)
|
|
167
|
+
if (httpStatusCode) {
|
|
168
|
+
userMessage = `[${httpStatusCode}] ${userMessage}`;
|
|
169
|
+
}
|
|
170
|
+
// Prefix with error name if it's meaningful (not just "Error")
|
|
171
|
+
if (errorName && errorName !== 'Error' && errorName !== 'UnknownError') {
|
|
172
|
+
userMessage = `${errorName}: ${userMessage}`;
|
|
173
|
+
}
|
|
174
|
+
// Add request ID if available (useful for AWS support)
|
|
175
|
+
if (requestId) {
|
|
176
|
+
userMessage += ` (Request ID: ${requestId})`;
|
|
177
|
+
}
|
|
178
|
+
// Determine retryability based on AWS error types
|
|
179
|
+
const retryable = this.isBedrockErrorRetryable(errorName, httpStatusCode, fault);
|
|
180
|
+
return new core_1.LlumiverseError(`[${this.provider}] ${userMessage}`, retryable, context, error, httpStatusCode, // Only set code if we have numeric status code
|
|
181
|
+
errorName // Preserve AWS error name
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Determine if a Bedrock error is retryable based on error type and status.
|
|
186
|
+
*
|
|
187
|
+
* Retryable errors:
|
|
188
|
+
* - ThrottlingException: Rate limit exceeded, retry with backoff
|
|
189
|
+
* - ServiceUnavailableException: Service temporarily down
|
|
190
|
+
* - InternalServerException: Server-side error
|
|
191
|
+
* - ServiceQuotaExceededException: Quota exhausted, may recover
|
|
192
|
+
* - 5xx status codes: Server errors
|
|
193
|
+
* - 429, 408 status codes: Rate limit, timeout
|
|
194
|
+
*
|
|
195
|
+
* Non-retryable errors:
|
|
196
|
+
* - ValidationException: Invalid request parameters
|
|
197
|
+
* - AccessDeniedException: Authentication/authorization failure
|
|
198
|
+
* - ResourceNotFoundException: Resource doesn't exist
|
|
199
|
+
* - ConflictException: Resource state conflict
|
|
200
|
+
* - ResourceInUseException: Resource locked by another operation
|
|
201
|
+
* - 4xx status codes (except 429, 408): Client errors
|
|
202
|
+
*
|
|
203
|
+
* @param errorName - The AWS error name (e.g., "ThrottlingException")
|
|
204
|
+
* @param httpStatusCode - The HTTP status code if available
|
|
205
|
+
* @param fault - The fault type ("client" or "server")
|
|
206
|
+
* @returns True if retryable, false if not retryable, undefined if unknown
|
|
207
|
+
*/
|
|
208
|
+
isBedrockErrorRetryable(errorName, httpStatusCode, fault) {
|
|
209
|
+
// Check specific AWS error types first
|
|
210
|
+
switch (errorName) {
|
|
211
|
+
// Retryable errors
|
|
212
|
+
case 'ThrottlingException':
|
|
213
|
+
case 'ServiceUnavailableException':
|
|
214
|
+
case 'InternalServerException':
|
|
215
|
+
case 'ServiceQuotaExceededException':
|
|
216
|
+
return true;
|
|
217
|
+
// Non-retryable errors
|
|
218
|
+
case 'ValidationException':
|
|
219
|
+
case 'AccessDeniedException':
|
|
220
|
+
case 'ResourceNotFoundException':
|
|
221
|
+
case 'ConflictException':
|
|
222
|
+
case 'ResourceInUseException':
|
|
223
|
+
case 'TooManyTagsException':
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
// If we have HTTP status code, use it
|
|
227
|
+
if (httpStatusCode !== undefined) {
|
|
228
|
+
if (httpStatusCode === 429 || httpStatusCode === 408)
|
|
229
|
+
return true; // Rate limit, timeout
|
|
230
|
+
if (httpStatusCode === 529)
|
|
231
|
+
return true; // Overloaded
|
|
232
|
+
if (httpStatusCode >= 500 && httpStatusCode < 600)
|
|
233
|
+
return true; // Server errors
|
|
234
|
+
if (httpStatusCode >= 400 && httpStatusCode < 500)
|
|
235
|
+
return false; // Client errors
|
|
236
|
+
}
|
|
237
|
+
// Fall back to fault type
|
|
238
|
+
if (fault === 'server')
|
|
239
|
+
return true;
|
|
240
|
+
if (fault === 'client')
|
|
241
|
+
return false;
|
|
242
|
+
// Unknown error type - let consumer decide retry strategy
|
|
243
|
+
return undefined;
|
|
244
|
+
}
|
|
125
245
|
getExtractedExecution(result, _prompt, options) {
|
|
126
246
|
let resultText = "";
|
|
127
247
|
let reasoning = "";
|
|
@@ -393,6 +513,10 @@ class BedrockDriver extends core_1.AbstractDriver {
|
|
|
393
513
|
};
|
|
394
514
|
let processedConversation = (0, core_1.stripBinaryFromConversation)(conversation, stripOptions);
|
|
395
515
|
processedConversation = (0, core_1.truncateLargeTextInConversation)(processedConversation, stripOptions);
|
|
516
|
+
processedConversation = (0, core_1.stripHeartbeatsFromConversation)(processedConversation, {
|
|
517
|
+
keepForTurns: options.stripHeartbeatsAfterTurns ?? 1,
|
|
518
|
+
currentTurn,
|
|
519
|
+
});
|
|
396
520
|
return processedConversation;
|
|
397
521
|
}
|
|
398
522
|
async requestTextCompletion(prompt, options) {
|
|
@@ -448,6 +572,11 @@ class BedrockDriver extends core_1.AbstractDriver {
|
|
|
448
572
|
let processedConversation = (0, core_1.stripBinaryFromConversation)(conversation, stripOptions);
|
|
449
573
|
// Truncate large text content if configured
|
|
450
574
|
processedConversation = (0, core_1.truncateLargeTextInConversation)(processedConversation, stripOptions);
|
|
575
|
+
// Strip old heartbeat status messages
|
|
576
|
+
processedConversation = (0, core_1.stripHeartbeatsFromConversation)(processedConversation, {
|
|
577
|
+
keepForTurns: options.stripHeartbeatsAfterTurns ?? 1,
|
|
578
|
+
currentTurn,
|
|
579
|
+
});
|
|
451
580
|
const completion = {
|
|
452
581
|
...this.getExtractedExecution(res, conversePrompt, options),
|
|
453
582
|
original_response: options.include_original_response ? res : undefined,
|
|
@@ -727,6 +856,13 @@ class BedrockDriver extends core_1.AbstractDriver {
|
|
|
727
856
|
tools: tool_defs,
|
|
728
857
|
};
|
|
729
858
|
}
|
|
859
|
+
else if (request.messages && messagesContainToolBlocks(request.messages)) {
|
|
860
|
+
// Bedrock requires toolConfig when conversation contains toolUse/toolResult blocks.
|
|
861
|
+
// When no tools are provided (e.g. checkpoint summary calls), convert tool blocks
|
|
862
|
+
// to text representations so the conversation data is preserved while satisfying
|
|
863
|
+
// Bedrock's API requirements without making tools callable.
|
|
864
|
+
request.messages = convertToolBlocksToText(request.messages);
|
|
865
|
+
}
|
|
730
866
|
return request;
|
|
731
867
|
}
|
|
732
868
|
isImageModel(model) {
|
|
@@ -995,7 +1131,7 @@ class BedrockDriver extends core_1.AbstractDriver {
|
|
|
995
1131
|
async generateTwelvelabsMarengoEmbeddings({ text, image, model }) {
|
|
996
1132
|
const executor = this.getExecutor();
|
|
997
1133
|
// Prepare the request payload for TwelveLabs Marengo
|
|
998
|
-
|
|
1134
|
+
const invokeBody = {
|
|
999
1135
|
inputType: "text"
|
|
1000
1136
|
};
|
|
1001
1137
|
if (text) {
|
|
@@ -1078,6 +1214,77 @@ function getToolDefinition(tool) {
|
|
|
1078
1214
|
}
|
|
1079
1215
|
};
|
|
1080
1216
|
}
|
|
1217
|
+
/**
|
|
1218
|
+
* Checks whether any message contains toolUse or toolResult content blocks.
|
|
1219
|
+
*/
|
|
1220
|
+
function messagesContainToolBlocks(messages) {
|
|
1221
|
+
for (const msg of messages) {
|
|
1222
|
+
if (!msg.content)
|
|
1223
|
+
continue;
|
|
1224
|
+
for (const block of msg.content) {
|
|
1225
|
+
if (block.toolUse ||
|
|
1226
|
+
block.toolResult) {
|
|
1227
|
+
return true;
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
}
|
|
1231
|
+
return false;
|
|
1232
|
+
}
|
|
1233
|
+
/**
|
|
1234
|
+
* Converts toolUse and toolResult content blocks to text representations.
|
|
1235
|
+
* This preserves the tool call information in the conversation while removing
|
|
1236
|
+
* the structured tool blocks that require Bedrock's toolConfig to be set.
|
|
1237
|
+
*
|
|
1238
|
+
* Used when no tools are provided (e.g. checkpoint summary calls) but the
|
|
1239
|
+
* conversation history contains tool interactions from prior turns.
|
|
1240
|
+
*/
|
|
1241
|
+
function convertToolBlocksToText(messages) {
|
|
1242
|
+
return messages.map(msg => {
|
|
1243
|
+
if (!msg.content)
|
|
1244
|
+
return msg;
|
|
1245
|
+
let hasToolBlocks = false;
|
|
1246
|
+
for (const block of msg.content) {
|
|
1247
|
+
if (block.toolUse ||
|
|
1248
|
+
block.toolResult) {
|
|
1249
|
+
hasToolBlocks = true;
|
|
1250
|
+
break;
|
|
1251
|
+
}
|
|
1252
|
+
}
|
|
1253
|
+
if (!hasToolBlocks)
|
|
1254
|
+
return msg;
|
|
1255
|
+
const newContent = [];
|
|
1256
|
+
for (const block of msg.content) {
|
|
1257
|
+
const toolUse = block.toolUse;
|
|
1258
|
+
const toolResult = block.toolResult;
|
|
1259
|
+
if (toolUse) {
|
|
1260
|
+
const inputStr = toolUse.input ? JSON.stringify(toolUse.input) : '';
|
|
1261
|
+
const truncatedInput = inputStr.length > 500 ? inputStr.substring(0, 500) + '...' : inputStr;
|
|
1262
|
+
newContent.push({
|
|
1263
|
+
text: `[Tool call: ${toolUse.name}(${truncatedInput})]`,
|
|
1264
|
+
});
|
|
1265
|
+
}
|
|
1266
|
+
else if (toolResult) {
|
|
1267
|
+
const resultTexts = [];
|
|
1268
|
+
if (toolResult.content) {
|
|
1269
|
+
for (const c of toolResult.content) {
|
|
1270
|
+
if (c.text) {
|
|
1271
|
+
const text = c.text;
|
|
1272
|
+
resultTexts.push(text.length > 500 ? text.substring(0, 500) + '...' : text);
|
|
1273
|
+
}
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
const resultStr = resultTexts.length > 0 ? resultTexts.join('\n') : 'No text content';
|
|
1277
|
+
newContent.push({
|
|
1278
|
+
text: `[Tool result: ${resultStr}]`,
|
|
1279
|
+
});
|
|
1280
|
+
}
|
|
1281
|
+
else {
|
|
1282
|
+
newContent.push(block);
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
return { ...msg, content: newContent };
|
|
1286
|
+
});
|
|
1287
|
+
}
|
|
1081
1288
|
/**
|
|
1082
1289
|
* Recursively removes undefined values from an object.
|
|
1083
1290
|
* AWS Bedrock's additionalModelRequestFields must be valid JSON, and undefined is not valid JSON.
|