@llumiverse/drivers 0.23.0-dev.20251121 → 0.24.0-dev.202601221707

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +141 -218
  2. package/lib/cjs/azure/azure_foundry.js +46 -2
  3. package/lib/cjs/azure/azure_foundry.js.map +1 -1
  4. package/lib/cjs/bedrock/index.js +239 -19
  5. package/lib/cjs/bedrock/index.js.map +1 -1
  6. package/lib/cjs/groq/index.js +115 -85
  7. package/lib/cjs/groq/index.js.map +1 -1
  8. package/lib/cjs/index.js +1 -0
  9. package/lib/cjs/index.js.map +1 -1
  10. package/lib/cjs/openai/index.js +310 -114
  11. package/lib/cjs/openai/index.js.map +1 -1
  12. package/lib/cjs/openai/openai_compatible.js +62 -0
  13. package/lib/cjs/openai/openai_compatible.js.map +1 -0
  14. package/lib/cjs/openai/openai_format.js +32 -39
  15. package/lib/cjs/openai/openai_format.js.map +1 -1
  16. package/lib/cjs/vertexai/index.js +211 -5
  17. package/lib/cjs/vertexai/index.js.map +1 -1
  18. package/lib/cjs/vertexai/models/claude.js +201 -3
  19. package/lib/cjs/vertexai/models/claude.js.map +1 -1
  20. package/lib/cjs/vertexai/models/gemini.js +74 -25
  21. package/lib/cjs/vertexai/models/gemini.js.map +1 -1
  22. package/lib/cjs/vertexai/models/imagen.js +0 -3
  23. package/lib/cjs/vertexai/models/imagen.js.map +1 -1
  24. package/lib/cjs/xai/index.js +10 -16
  25. package/lib/cjs/xai/index.js.map +1 -1
  26. package/lib/esm/azure/azure_foundry.js +46 -2
  27. package/lib/esm/azure/azure_foundry.js.map +1 -1
  28. package/lib/esm/bedrock/index.js +239 -20
  29. package/lib/esm/bedrock/index.js.map +1 -1
  30. package/lib/esm/groq/index.js +115 -85
  31. package/lib/esm/groq/index.js.map +1 -1
  32. package/lib/esm/index.js +1 -0
  33. package/lib/esm/index.js.map +1 -1
  34. package/lib/esm/openai/index.js +311 -115
  35. package/lib/esm/openai/index.js.map +1 -1
  36. package/lib/esm/openai/openai_compatible.js +55 -0
  37. package/lib/esm/openai/openai_compatible.js.map +1 -0
  38. package/lib/esm/openai/openai_format.js +32 -39
  39. package/lib/esm/openai/openai_format.js.map +1 -1
  40. package/lib/esm/vertexai/index.js +212 -6
  41. package/lib/esm/vertexai/index.js.map +1 -1
  42. package/lib/esm/vertexai/models/claude.js +199 -3
  43. package/lib/esm/vertexai/models/claude.js.map +1 -1
  44. package/lib/esm/vertexai/models/gemini.js +75 -26
  45. package/lib/esm/vertexai/models/gemini.js.map +1 -1
  46. package/lib/esm/vertexai/models/imagen.js +1 -4
  47. package/lib/esm/vertexai/models/imagen.js.map +1 -1
  48. package/lib/esm/xai/index.js +10 -16
  49. package/lib/esm/xai/index.js.map +1 -1
  50. package/lib/types/azure/azure_foundry.d.ts +7 -5
  51. package/lib/types/azure/azure_foundry.d.ts.map +1 -1
  52. package/lib/types/bedrock/index.d.ts +22 -1
  53. package/lib/types/bedrock/index.d.ts.map +1 -1
  54. package/lib/types/groq/index.d.ts.map +1 -1
  55. package/lib/types/index.d.ts +1 -0
  56. package/lib/types/index.d.ts.map +1 -1
  57. package/lib/types/openai/index.d.ts +13 -7
  58. package/lib/types/openai/index.d.ts.map +1 -1
  59. package/lib/types/openai/openai_compatible.d.ts +26 -0
  60. package/lib/types/openai/openai_compatible.d.ts.map +1 -0
  61. package/lib/types/openai/openai_format.d.ts +4 -2
  62. package/lib/types/openai/openai_format.d.ts.map +1 -1
  63. package/lib/types/vertexai/index.d.ts +16 -0
  64. package/lib/types/vertexai/index.d.ts.map +1 -1
  65. package/lib/types/vertexai/models/claude.d.ts +20 -0
  66. package/lib/types/vertexai/models/claude.d.ts.map +1 -1
  67. package/lib/types/vertexai/models/gemini.d.ts +1 -1
  68. package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
  69. package/lib/types/vertexai/models/imagen.d.ts.map +1 -1
  70. package/lib/types/xai/index.d.ts +2 -3
  71. package/lib/types/xai/index.d.ts.map +1 -1
  72. package/package.json +17 -17
  73. package/src/azure/azure_foundry.ts +56 -7
  74. package/src/bedrock/index.ts +301 -29
  75. package/src/groq/index.ts +120 -94
  76. package/src/index.ts +1 -0
  77. package/src/openai/index.ts +363 -136
  78. package/src/openai/openai_compatible.ts +74 -0
  79. package/src/openai/openai_format.ts +44 -54
  80. package/src/vertexai/index.ts +255 -6
  81. package/src/vertexai/models/claude.ts +233 -3
  82. package/src/vertexai/models/gemini.ts +95 -32
  83. package/src/vertexai/models/imagen.ts +1 -5
  84. package/src/xai/index.ts +10 -17
  85. package/lib/cjs/test/TestErrorCompletionStream.js +0 -20
  86. package/lib/cjs/test/TestErrorCompletionStream.js.map +0 -1
  87. package/lib/cjs/test/TestValidationErrorCompletionStream.js +0 -24
  88. package/lib/cjs/test/TestValidationErrorCompletionStream.js.map +0 -1
  89. package/lib/cjs/test/index.js +0 -109
  90. package/lib/cjs/test/index.js.map +0 -1
  91. package/lib/cjs/test/utils.js +0 -30
  92. package/lib/cjs/test/utils.js.map +0 -1
  93. package/lib/esm/src/adobe/firefly.js +0 -116
  94. package/lib/esm/src/adobe/firefly.js.map +0 -1
  95. package/lib/esm/src/azure/azure_foundry.js +0 -382
  96. package/lib/esm/src/azure/azure_foundry.js.map +0 -1
  97. package/lib/esm/src/bedrock/converse.js +0 -278
  98. package/lib/esm/src/bedrock/converse.js.map +0 -1
  99. package/lib/esm/src/bedrock/index.js +0 -962
  100. package/lib/esm/src/bedrock/index.js.map +0 -1
  101. package/lib/esm/src/bedrock/nova-image-payload.js +0 -203
  102. package/lib/esm/src/bedrock/nova-image-payload.js.map +0 -1
  103. package/lib/esm/src/bedrock/payloads.js +0 -2
  104. package/lib/esm/src/bedrock/payloads.js.map +0 -1
  105. package/lib/esm/src/bedrock/s3.js +0 -99
  106. package/lib/esm/src/bedrock/s3.js.map +0 -1
  107. package/lib/esm/src/bedrock/twelvelabs.js +0 -84
  108. package/lib/esm/src/bedrock/twelvelabs.js.map +0 -1
  109. package/lib/esm/src/groq/index.js +0 -286
  110. package/lib/esm/src/groq/index.js.map +0 -1
  111. package/lib/esm/src/huggingface_ie.js +0 -197
  112. package/lib/esm/src/huggingface_ie.js.map +0 -1
  113. package/lib/esm/src/index.js +0 -14
  114. package/lib/esm/src/index.js.map +0 -1
  115. package/lib/esm/src/mistral/index.js +0 -169
  116. package/lib/esm/src/mistral/index.js.map +0 -1
  117. package/lib/esm/src/mistral/types.js +0 -80
  118. package/lib/esm/src/mistral/types.js.map +0 -1
  119. package/lib/esm/src/openai/azure_openai.js +0 -68
  120. package/lib/esm/src/openai/azure_openai.js.map +0 -1
  121. package/lib/esm/src/openai/index.js +0 -464
  122. package/lib/esm/src/openai/index.js.map +0 -1
  123. package/lib/esm/src/openai/openai.js +0 -14
  124. package/lib/esm/src/openai/openai.js.map +0 -1
  125. package/lib/esm/src/openai/openai_format.js +0 -134
  126. package/lib/esm/src/openai/openai_format.js.map +0 -1
  127. package/lib/esm/src/replicate.js +0 -268
  128. package/lib/esm/src/replicate.js.map +0 -1
  129. package/lib/esm/src/test/TestErrorCompletionStream.js +0 -16
  130. package/lib/esm/src/test/TestErrorCompletionStream.js.map +0 -1
  131. package/lib/esm/src/test/TestValidationErrorCompletionStream.js +0 -20
  132. package/lib/esm/src/test/TestValidationErrorCompletionStream.js.map +0 -1
  133. package/lib/esm/src/test/index.js +0 -91
  134. package/lib/esm/src/test/index.js.map +0 -1
  135. package/lib/esm/src/test/utils.js +0 -25
  136. package/lib/esm/src/test/utils.js.map +0 -1
  137. package/lib/esm/src/test-driver/TestErrorCompletionStream.js +0 -16
  138. package/lib/esm/src/test-driver/TestErrorCompletionStream.js.map +0 -1
  139. package/lib/esm/src/test-driver/TestValidationErrorCompletionStream.js +0 -20
  140. package/lib/esm/src/test-driver/TestValidationErrorCompletionStream.js.map +0 -1
  141. package/lib/esm/src/test-driver/index.js +0 -91
  142. package/lib/esm/src/test-driver/index.js.map +0 -1
  143. package/lib/esm/src/test-driver/utils.js +0 -25
  144. package/lib/esm/src/test-driver/utils.js.map +0 -1
  145. package/lib/esm/src/togetherai/index.js +0 -122
  146. package/lib/esm/src/togetherai/index.js.map +0 -1
  147. package/lib/esm/src/togetherai/interfaces.js +0 -2
  148. package/lib/esm/src/togetherai/interfaces.js.map +0 -1
  149. package/lib/esm/src/vertexai/debug.js +0 -6
  150. package/lib/esm/src/vertexai/debug.js.map +0 -1
  151. package/lib/esm/src/vertexai/embeddings/embeddings-image.js +0 -24
  152. package/lib/esm/src/vertexai/embeddings/embeddings-image.js.map +0 -1
  153. package/lib/esm/src/vertexai/embeddings/embeddings-text.js +0 -20
  154. package/lib/esm/src/vertexai/embeddings/embeddings-text.js.map +0 -1
  155. package/lib/esm/src/vertexai/index.js +0 -383
  156. package/lib/esm/src/vertexai/index.js.map +0 -1
  157. package/lib/esm/src/vertexai/models/claude.js +0 -394
  158. package/lib/esm/src/vertexai/models/claude.js.map +0 -1
  159. package/lib/esm/src/vertexai/models/gemini.js +0 -817
  160. package/lib/esm/src/vertexai/models/gemini.js.map +0 -1
  161. package/lib/esm/src/vertexai/models/imagen.js +0 -302
  162. package/lib/esm/src/vertexai/models/imagen.js.map +0 -1
  163. package/lib/esm/src/vertexai/models/llama.js +0 -179
  164. package/lib/esm/src/vertexai/models/llama.js.map +0 -1
  165. package/lib/esm/src/vertexai/models.js +0 -32
  166. package/lib/esm/src/vertexai/models.js.map +0 -1
  167. package/lib/esm/src/watsonx/index.js +0 -157
  168. package/lib/esm/src/watsonx/index.js.map +0 -1
  169. package/lib/esm/src/watsonx/interfaces.js +0 -2
  170. package/lib/esm/src/watsonx/interfaces.js.map +0 -1
  171. package/lib/esm/src/xai/index.js +0 -64
  172. package/lib/esm/src/xai/index.js.map +0 -1
  173. package/lib/esm/test/TestErrorCompletionStream.js +0 -16
  174. package/lib/esm/test/TestErrorCompletionStream.js.map +0 -1
  175. package/lib/esm/test/TestValidationErrorCompletionStream.js +0 -20
  176. package/lib/esm/test/TestValidationErrorCompletionStream.js.map +0 -1
  177. package/lib/esm/test/index.js +0 -91
  178. package/lib/esm/test/index.js.map +0 -1
  179. package/lib/esm/test/utils.js +0 -25
  180. package/lib/esm/test/utils.js.map +0 -1
  181. package/lib/esm/tsconfig.tsbuildinfo +0 -1
  182. package/lib/types/src/adobe/firefly.d.ts +0 -29
  183. package/lib/types/src/azure/azure_foundry.d.ts +0 -49
  184. package/lib/types/src/bedrock/converse.d.ts +0 -8
  185. package/lib/types/src/bedrock/index.d.ts +0 -61
  186. package/lib/types/src/bedrock/nova-image-payload.d.ts +0 -73
  187. package/lib/types/src/bedrock/payloads.d.ts +0 -11
  188. package/lib/types/src/bedrock/s3.d.ts +0 -22
  189. package/lib/types/src/bedrock/twelvelabs.d.ts +0 -49
  190. package/lib/types/src/groq/index.d.ts +0 -26
  191. package/lib/types/src/huggingface_ie.d.ts +0 -34
  192. package/lib/types/src/index.d.ts +0 -13
  193. package/lib/types/src/mistral/index.d.ts +0 -24
  194. package/lib/types/src/mistral/types.d.ts +0 -131
  195. package/lib/types/src/openai/azure_openai.d.ts +0 -24
  196. package/lib/types/src/openai/index.d.ts +0 -24
  197. package/lib/types/src/openai/openai.d.ts +0 -14
  198. package/lib/types/src/openai/openai_format.d.ts +0 -18
  199. package/lib/types/src/replicate.d.ts +0 -47
  200. package/lib/types/src/test/TestErrorCompletionStream.d.ts +0 -8
  201. package/lib/types/src/test/TestValidationErrorCompletionStream.d.ts +0 -8
  202. package/lib/types/src/test/index.d.ts +0 -23
  203. package/lib/types/src/test/utils.d.ts +0 -4
  204. package/lib/types/src/test-driver/TestErrorCompletionStream.d.ts +0 -8
  205. package/lib/types/src/test-driver/TestValidationErrorCompletionStream.d.ts +0 -8
  206. package/lib/types/src/test-driver/index.d.ts +0 -23
  207. package/lib/types/src/test-driver/utils.d.ts +0 -4
  208. package/lib/types/src/togetherai/index.d.ts +0 -22
  209. package/lib/types/src/togetherai/interfaces.d.ts +0 -95
  210. package/lib/types/src/vertexai/debug.d.ts +0 -1
  211. package/lib/types/src/vertexai/embeddings/embeddings-image.d.ts +0 -10
  212. package/lib/types/src/vertexai/embeddings/embeddings-text.d.ts +0 -9
  213. package/lib/types/src/vertexai/index.d.ts +0 -52
  214. package/lib/types/src/vertexai/models/claude.d.ts +0 -19
  215. package/lib/types/src/vertexai/models/gemini.d.ts +0 -17
  216. package/lib/types/src/vertexai/models/imagen.d.ts +0 -74
  217. package/lib/types/src/vertexai/models/llama.d.ts +0 -19
  218. package/lib/types/src/vertexai/models.d.ts +0 -14
  219. package/lib/types/src/watsonx/index.d.ts +0 -26
  220. package/lib/types/src/watsonx/interfaces.d.ts +0 -64
  221. package/lib/types/src/xai/index.d.ts +0 -18
  222. package/lib/types/test/TestErrorCompletionStream.d.ts +0 -9
  223. package/lib/types/test/TestErrorCompletionStream.d.ts.map +0 -1
  224. package/lib/types/test/TestValidationErrorCompletionStream.d.ts +0 -9
  225. package/lib/types/test/TestValidationErrorCompletionStream.d.ts.map +0 -1
  226. package/lib/types/test/index.d.ts +0 -24
  227. package/lib/types/test/index.d.ts.map +0 -1
  228. package/lib/types/test/utils.d.ts +0 -5
  229. package/lib/types/test/utils.d.ts.map +0 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BedrockDriver = void 0;
4
+ exports.fixOrphanedToolUse = fixOrphanedToolUse;
4
5
  const client_bedrock_1 = require("@aws-sdk/client-bedrock");
5
6
  const client_bedrock_runtime_1 = require("@aws-sdk/client-bedrock-runtime");
6
7
  const client_s3_1 = require("@aws-sdk/client-s3");
@@ -288,6 +289,76 @@ class BedrockDriver extends core_1.AbstractDriver {
288
289
  }
289
290
  return canStream;
290
291
  }
292
+ /**
293
+ * Build conversation context after streaming completion.
294
+ * Reconstructs the assistant message from accumulated results and applies stripping.
295
+ */
296
+ buildStreamingConversation(prompt, result, toolUse, options) {
297
+ // Only handle ConverseRequest prompts (not NovaMessagesPrompt or TwelvelabsPegasusRequest)
298
+ if (options.model.includes("canvas") || options.model.includes("twelvelabs.pegasus")) {
299
+ return undefined;
300
+ }
301
+ const conversePrompt = prompt;
302
+ const completionResults = result;
303
+ // Convert accumulated results to text content for assistant message
304
+ const textContent = completionResults
305
+ .map(r => {
306
+ switch (r.type) {
307
+ case 'text':
308
+ return r.value;
309
+ case 'json':
310
+ return typeof r.value === 'string' ? r.value : JSON.stringify(r.value);
311
+ case 'image':
312
+ // Skip images in conversation - they're in the result
313
+ return '';
314
+ default:
315
+ return String(r.value || '');
316
+ }
317
+ })
318
+ .join('');
319
+ // Deserialize any base64-encoded binary data back to Uint8Array
320
+ const incomingConversation = (0, core_1.deserializeBinaryFromStorage)(options.conversation);
321
+ // Start with the conversation from options combined with the prompt
322
+ let conversation = updateConversation(incomingConversation, conversePrompt);
323
+ // Build assistant message content
324
+ const messageContent = [];
325
+ if (textContent) {
326
+ messageContent.push({ text: textContent });
327
+ }
328
+ // Add tool use blocks if present
329
+ if (toolUse && toolUse.length > 0) {
330
+ for (const tool of toolUse) {
331
+ messageContent.push({
332
+ toolUse: {
333
+ toolUseId: tool.id,
334
+ name: tool.tool_name,
335
+ input: tool.tool_input,
336
+ }
337
+ });
338
+ }
339
+ }
340
+ // Add assistant message
341
+ const assistantMessage = {
342
+ messages: [{
343
+ content: messageContent.length > 0 ? messageContent : [{ text: '' }],
344
+ role: "assistant"
345
+ }],
346
+ modelId: conversePrompt.modelId,
347
+ };
348
+ conversation = updateConversation(conversation, assistantMessage);
349
+ // Increment turn counter
350
+ conversation = (0, core_1.incrementConversationTurn)(conversation);
351
+ // Apply stripping based on options
352
+ const currentTurn = (0, core_1.getConversationMeta)(conversation).turnNumber;
353
+ const stripOptions = {
354
+ keepForTurns: options.stripImagesAfterTurns ?? Infinity,
355
+ currentTurn,
356
+ textMaxTokens: options.stripTextMaxTokens
357
+ };
358
+ let processedConversation = (0, core_1.stripBinaryFromConversation)(conversation, stripOptions);
359
+ processedConversation = (0, core_1.truncateLargeTextInConversation)(processedConversation, stripOptions);
360
+ return processedConversation;
361
+ }
291
362
  async requestTextCompletion(prompt, options) {
292
363
  // Handle Twelvelabs Pegasus models
293
364
  if (options.model.includes("twelvelabs.pegasus")) {
@@ -295,7 +366,9 @@ class BedrockDriver extends core_1.AbstractDriver {
295
366
  }
296
367
  // Handle other Bedrock models that use Converse API
297
368
  const conversePrompt = prompt;
298
- let conversation = updateConversation(options.conversation, conversePrompt);
369
+ // Deserialize any base64-encoded binary data back to Uint8Array before API call
370
+ const incomingConversation = (0, core_1.deserializeBinaryFromStorage)(options.conversation);
371
+ let conversation = updateConversation(incomingConversation, conversePrompt);
299
372
  const payload = this.preparePayload(conversation, options);
300
373
  const executor = this.getExecutor();
301
374
  const res = await executor.converse({
@@ -305,6 +378,8 @@ class BedrockDriver extends core_1.AbstractDriver {
305
378
  messages: [res.output?.message ?? { content: [{ text: "" }], role: "assistant" }],
306
379
  modelId: conversePrompt.modelId,
307
380
  });
381
+ // Increment turn counter for deferred stripping
382
+ conversation = (0, core_1.incrementConversationTurn)(conversation);
308
383
  let tool_use = undefined;
309
384
  //Get tool requests, we check tool use regardless of finish reason, as you can hit length and still get a valid response.
310
385
  tool_use = res.output?.message?.content?.reduce((tools, c) => {
@@ -321,10 +396,20 @@ class BedrockDriver extends core_1.AbstractDriver {
321
396
  if (tool_use && tool_use.length == 0) {
322
397
  tool_use = undefined;
323
398
  }
399
+ // Strip/serialize binary data based on options.stripImagesAfterTurns
400
+ const currentTurn = (0, core_1.getConversationMeta)(conversation).turnNumber;
401
+ const stripOptions = {
402
+ keepForTurns: options.stripImagesAfterTurns ?? Infinity,
403
+ currentTurn,
404
+ textMaxTokens: options.stripTextMaxTokens
405
+ };
406
+ let processedConversation = (0, core_1.stripBinaryFromConversation)(conversation, stripOptions);
407
+ // Truncate large text content if configured
408
+ processedConversation = (0, core_1.truncateLargeTextInConversation)(processedConversation, stripOptions);
324
409
  const completion = {
325
410
  ...this.getExtractedExecution(res, conversePrompt, options),
326
411
  original_response: options.include_original_response ? res : undefined,
327
- conversation: conversation,
412
+ conversation: processedConversation,
328
413
  tool_use: tool_use,
329
414
  };
330
415
  return completion;
@@ -413,7 +498,11 @@ class BedrockDriver extends core_1.AbstractDriver {
413
498
  }
414
499
  // Handle other Bedrock models that use Converse API
415
500
  const conversePrompt = prompt;
416
- const payload = this.preparePayload(conversePrompt, options);
501
+ // Include conversation history (same as non-streaming)
502
+ // Deserialize any base64-encoded binary data back to Uint8Array before API call
503
+ const incomingConversation = (0, core_1.deserializeBinaryFromStorage)(options.conversation);
504
+ const conversation = updateConversation(incomingConversation, conversePrompt);
505
+ const payload = this.preparePayload(conversation, options);
417
506
  const executor = this.getExecutor();
418
507
  return executor.converseStream({
419
508
  ...payload,
@@ -559,21 +648,32 @@ class BedrockDriver extends core_1.AbstractDriver {
559
648
  if (supportsJSONPrefill && options.result_schema && !tool_defs) {
560
649
  prompt.messages = (0, converse_js_1.converseJSONprefill)(prompt.messages);
561
650
  }
651
+ // Clean undefined values from additionalField since AWS Bedrock requires valid JSON
652
+ // and will throw an exception for unrecognized parameters
653
+ const cleanedAdditionalFields = removeUndefinedValues(additionalField);
654
+ const cleanedModelOptions = removeUndefinedValues({
655
+ maxTokens: model_options.max_tokens,
656
+ temperature: model_options.temperature,
657
+ topP: model_options.top_p,
658
+ stopSequences: model_options.stop_sequence,
659
+ });
660
+ //Construct the final request payload
661
+ // We only add fields that are defined to avoid AWS errors
562
662
  const request = {
563
- messages: prompt.messages,
564
- system: prompt.system,
565
663
  modelId: options.model,
566
- inferenceConfig: {
567
- maxTokens: model_options.max_tokens,
568
- temperature: model_options.temperature,
569
- topP: model_options.top_p,
570
- stopSequences: model_options.stop_sequence,
571
- },
572
- additionalModelRequestFields: {
573
- ...additionalField,
574
- }
575
664
  };
576
- //Only add tools if they are defined and not empty
665
+ if (prompt.messages) {
666
+ request.messages = prompt.messages;
667
+ }
668
+ if (prompt.system) {
669
+ request.system = prompt.system;
670
+ }
671
+ if (Object.keys(cleanedModelOptions).length > 0) {
672
+ request.inferenceConfig = cleanedModelOptions;
673
+ }
674
+ if (Object.keys(cleanedAdditionalFields).length > 0) {
675
+ request.additionalModelRequestFields = cleanedAdditionalFields;
676
+ }
577
677
  if (tool_defs?.length) {
578
678
  request.toolConfig = {
579
679
  tools: tool_defs,
@@ -581,10 +681,10 @@ class BedrockDriver extends core_1.AbstractDriver {
581
681
  }
582
682
  return request;
583
683
  }
684
+ isImageModel(model) {
685
+ return model.includes("titan-image") || model.includes("stable-diffusion") || model.includes("nova-canvas");
686
+ }
584
687
  async requestImageGeneration(prompt, options) {
585
- if (options.output_modality !== core_1.Modalities.image) {
586
- throw new Error(`Image generation requires image output_modality`);
587
- }
588
688
  if (options.model_options?._option_id !== "bedrock-nova-canvas") {
589
689
  this.logger.warn({ options: options.model_options }, "Invalid model options");
590
690
  }
@@ -881,6 +981,13 @@ class BedrockDriver extends core_1.AbstractDriver {
881
981
  token_count: undefined
882
982
  };
883
983
  }
984
+ /**
985
+ * Cleanup AWS SDK clients when the driver is evicted from the cache.
986
+ */
987
+ destroy() {
988
+ this._executor?.destroy();
989
+ this._service?.destroy();
990
+ }
884
991
  }
885
992
  exports.BedrockDriver = BedrockDriver;
886
993
  function jobInfo(job, jobId) {
@@ -923,6 +1030,32 @@ function getToolDefinition(tool) {
923
1030
  }
924
1031
  };
925
1032
  }
1033
+ /**
1034
+ * Recursively removes undefined values from an object.
1035
+ * AWS Bedrock's additionalModelRequestFields must be valid JSON, and undefined is not valid JSON.
1036
+ * Any unrecognized parameters will cause an exception.
1037
+ */
1038
+ function removeUndefinedValues(obj) {
1039
+ if (obj === null || typeof obj !== 'object' || Array.isArray(obj)) {
1040
+ return obj;
1041
+ }
1042
+ const cleaned = {};
1043
+ for (const [key, value] of Object.entries(obj)) {
1044
+ if (value !== undefined) {
1045
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
1046
+ const cleanedNested = removeUndefinedValues(value);
1047
+ // Only include nested objects if they have properties after cleaning
1048
+ if (Object.keys(cleanedNested).length > 0) {
1049
+ cleaned[key] = cleanedNested;
1050
+ }
1051
+ }
1052
+ else {
1053
+ cleaned[key] = value;
1054
+ }
1055
+ }
1056
+ }
1057
+ return cleaned;
1058
+ }
926
1059
  /**
927
1060
  * Update the conversation messages
928
1061
  * @param prompt
@@ -932,12 +1065,99 @@ function getToolDefinition(tool) {
932
1065
  function updateConversation(conversation, prompt) {
933
1066
  const combinedMessages = [...(conversation?.messages || []), ...(prompt.messages || [])];
934
1067
  const combinedSystem = prompt.system || conversation?.system;
1068
+ // Fix orphaned toolUse blocks before returning
1069
+ const fixedMessages = fixOrphanedToolUse(combinedMessages);
935
1070
  return {
936
1071
  modelId: prompt?.modelId || conversation?.modelId,
937
- messages: combinedMessages.length > 0 ? combinedMessages : [],
1072
+ messages: fixedMessages.length > 0 ? fixedMessages : [],
938
1073
  system: combinedSystem && combinedSystem.length > 0 ? combinedSystem : undefined,
939
1074
  };
940
1075
  }
1076
+ /**
1077
+ * Fix orphaned toolUse blocks in the conversation.
1078
+ *
1079
+ * When an agent is stopped mid-tool-execution, the assistant message contains toolUse blocks
1080
+ * but no corresponding toolResult was added. The AWS Converse API requires that every toolUse
1081
+ * must be followed by a toolResult in the next user message.
1082
+ *
1083
+ * This function detects such cases and injects synthetic toolResult blocks indicating
1084
+ * the tools were interrupted, allowing the conversation to continue.
1085
+ */
1086
+ function fixOrphanedToolUse(messages) {
1087
+ if (messages.length < 2)
1088
+ return messages;
1089
+ const result = [];
1090
+ for (let i = 0; i < messages.length; i++) {
1091
+ const current = messages[i];
1092
+ result.push(current);
1093
+ // Check if this is an assistant message with toolUse blocks
1094
+ if (current.role === 'assistant' && current.content) {
1095
+ // Extract toolUse blocks using simple property check (same pattern as existing Bedrock code)
1096
+ const toolUseBlocks = [];
1097
+ for (const block of current.content) {
1098
+ if (block.toolUse?.toolUseId) {
1099
+ toolUseBlocks.push({
1100
+ toolUseId: block.toolUse.toolUseId,
1101
+ name: block.toolUse.name ?? 'unknown'
1102
+ });
1103
+ }
1104
+ }
1105
+ if (toolUseBlocks.length > 0) {
1106
+ // Check if the next message is a user message with matching toolResults
1107
+ const nextMessage = messages[i + 1];
1108
+ if (nextMessage && nextMessage.role === 'user' && nextMessage.content) {
1109
+ // Get toolResult IDs from the next message using simple property check
1110
+ const toolResultIds = new Set();
1111
+ for (const block of nextMessage.content) {
1112
+ if (block.toolResult?.toolUseId) {
1113
+ toolResultIds.add(block.toolResult.toolUseId);
1114
+ }
1115
+ }
1116
+ // Find orphaned toolUse blocks (no matching toolResult)
1117
+ const orphanedToolUse = toolUseBlocks.filter(tu => !toolResultIds.has(tu.toolUseId));
1118
+ if (orphanedToolUse.length > 0) {
1119
+ // Inject synthetic toolResults for orphaned toolUse
1120
+ const syntheticResults = orphanedToolUse.map(tu => ({
1121
+ toolResult: {
1122
+ toolUseId: tu.toolUseId,
1123
+ content: [{
1124
+ text: `[Tool interrupted: The user stopped the operation before "${tu.name}" could execute.]`
1125
+ }]
1126
+ }
1127
+ }));
1128
+ // Prepend synthetic results to the next user message
1129
+ const updatedNextMessage = {
1130
+ ...nextMessage,
1131
+ content: [...syntheticResults, ...nextMessage.content]
1132
+ };
1133
+ // Replace the next message in our iteration
1134
+ messages[i + 1] = updatedNextMessage;
1135
+ }
1136
+ }
1137
+ else if (nextMessage && nextMessage.role === 'user' && !nextMessage.content) {
1138
+ // Next message is a user message but has no content
1139
+ // We need to add toolResults
1140
+ const syntheticResults = toolUseBlocks.map(tu => ({
1141
+ toolResult: {
1142
+ toolUseId: tu.toolUseId,
1143
+ content: [{
1144
+ text: `[Tool interrupted: The user stopped the operation before "${tu.name}" could execute.]`
1145
+ }]
1146
+ }
1147
+ }));
1148
+ const updatedNextMessage = {
1149
+ role: 'user',
1150
+ content: syntheticResults
1151
+ };
1152
+ messages[i + 1] = updatedNextMessage;
1153
+ }
1154
+ // Note: If there's no nextMessage, we leave the conversation as-is.
1155
+ // The toolUse blocks are expected to be there - the next turn will provide toolResults.
1156
+ }
1157
+ }
1158
+ }
1159
+ return result;
1160
+ }
941
1161
  function formatAmazonModalities(modalities) {
942
1162
  const standardizedModalities = [];
943
1163
  for (const modality of modalities) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bedrock/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bedrock/index.ts"],"names":[],"mappings":"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"}