@llumiverse/drivers 0.23.0 → 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 (78) 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 +236 -16
  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 +165 -0
  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 +59 -20
  21. package/lib/cjs/vertexai/models/gemini.js.map +1 -1
  22. package/lib/cjs/xai/index.js +10 -16
  23. package/lib/cjs/xai/index.js.map +1 -1
  24. package/lib/esm/azure/azure_foundry.js +46 -2
  25. package/lib/esm/azure/azure_foundry.js.map +1 -1
  26. package/lib/esm/bedrock/index.js +236 -17
  27. package/lib/esm/bedrock/index.js.map +1 -1
  28. package/lib/esm/groq/index.js +115 -85
  29. package/lib/esm/groq/index.js.map +1 -1
  30. package/lib/esm/index.js +1 -0
  31. package/lib/esm/index.js.map +1 -1
  32. package/lib/esm/openai/index.js +311 -115
  33. package/lib/esm/openai/index.js.map +1 -1
  34. package/lib/esm/openai/openai_compatible.js +55 -0
  35. package/lib/esm/openai/openai_compatible.js.map +1 -0
  36. package/lib/esm/openai/openai_format.js +32 -39
  37. package/lib/esm/openai/openai_format.js.map +1 -1
  38. package/lib/esm/vertexai/index.js +166 -1
  39. package/lib/esm/vertexai/index.js.map +1 -1
  40. package/lib/esm/vertexai/models/claude.js +199 -3
  41. package/lib/esm/vertexai/models/claude.js.map +1 -1
  42. package/lib/esm/vertexai/models/gemini.js +60 -21
  43. package/lib/esm/vertexai/models/gemini.js.map +1 -1
  44. package/lib/esm/xai/index.js +10 -16
  45. package/lib/esm/xai/index.js.map +1 -1
  46. package/lib/types/azure/azure_foundry.d.ts +7 -5
  47. package/lib/types/azure/azure_foundry.d.ts.map +1 -1
  48. package/lib/types/bedrock/index.d.ts +21 -1
  49. package/lib/types/bedrock/index.d.ts.map +1 -1
  50. package/lib/types/groq/index.d.ts.map +1 -1
  51. package/lib/types/index.d.ts +1 -0
  52. package/lib/types/index.d.ts.map +1 -1
  53. package/lib/types/openai/index.d.ts +13 -7
  54. package/lib/types/openai/index.d.ts.map +1 -1
  55. package/lib/types/openai/openai_compatible.d.ts +26 -0
  56. package/lib/types/openai/openai_compatible.d.ts.map +1 -0
  57. package/lib/types/openai/openai_format.d.ts +4 -2
  58. package/lib/types/openai/openai_format.d.ts.map +1 -1
  59. package/lib/types/vertexai/index.d.ts +15 -0
  60. package/lib/types/vertexai/index.d.ts.map +1 -1
  61. package/lib/types/vertexai/models/claude.d.ts +20 -0
  62. package/lib/types/vertexai/models/claude.d.ts.map +1 -1
  63. package/lib/types/vertexai/models/gemini.d.ts +1 -1
  64. package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
  65. package/lib/types/xai/index.d.ts +2 -3
  66. package/lib/types/xai/index.d.ts.map +1 -1
  67. package/package.json +12 -12
  68. package/src/azure/azure_foundry.ts +56 -7
  69. package/src/bedrock/index.ts +297 -26
  70. package/src/groq/index.ts +120 -94
  71. package/src/index.ts +1 -0
  72. package/src/openai/index.ts +363 -136
  73. package/src/openai/openai_compatible.ts +74 -0
  74. package/src/openai/openai_format.ts +44 -54
  75. package/src/vertexai/index.ts +205 -0
  76. package/src/vertexai/models/claude.ts +233 -3
  77. package/src/vertexai/models/gemini.ts +78 -27
  78. package/src/xai/index.ts +10 -17
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClaudeModelDefinition = exports.NON_GLOBAL_ANTHROPIC_MODELS = exports.ANTHROPIC_REGIONS = void 0;
4
4
  exports.collectTools = collectTools;
5
+ exports.mergeConsecutiveUserMessages = mergeConsecutiveUserMessages;
6
+ exports.fixOrphanedToolUse = fixOrphanedToolUse;
5
7
  const core_1 = require("@llumiverse/core");
6
8
  const async_1 = require("@llumiverse/core/async");
7
9
  exports.ANTHROPIC_REGIONS = {
@@ -268,9 +270,13 @@ class ClaudeModelDefinition {
268
270
  if (model_options?._option_id !== "vertexai-claude") {
269
271
  driver.logger.warn({ options: options.model_options }, "Invalid model options");
270
272
  }
271
- const { payload, requestOptions } = getClaudePayload(options, prompt);
273
+ // Include conversation history (same as non-streaming)
274
+ const conversation = updateConversation(options.conversation, prompt);
275
+ const { payload, requestOptions } = getClaudePayload(options, conversation);
272
276
  const streamingPayload = { ...payload, stream: true };
273
277
  const response_stream = await client.messages.stream(streamingPayload, requestOptions);
278
+ // Track current tool use being built from streaming
279
+ let currentToolUse = null;
274
280
  const stream = (0, async_1.asyncMap)(response_stream, async (streamEvent) => {
275
281
  switch (streamEvent.type) {
276
282
  case "message_start":
@@ -290,6 +296,22 @@ class ClaudeModelDefinition {
290
296
  finish_reason: claudeFinishReason(streamEvent.delta.stop_reason ?? undefined),
291
297
  };
292
298
  case "content_block_start":
299
+ // Handle tool_use blocks
300
+ if (streamEvent.content_block.type === "tool_use") {
301
+ currentToolUse = {
302
+ id: streamEvent.content_block.id,
303
+ name: streamEvent.content_block.name,
304
+ inputJson: ''
305
+ };
306
+ return {
307
+ result: [],
308
+ tool_use: [{
309
+ id: streamEvent.content_block.id,
310
+ tool_name: streamEvent.content_block.name,
311
+ tool_input: '' // Will be accumulated via input_json_delta
312
+ }]
313
+ };
314
+ }
293
315
  // Handle redacted thinking blocks
294
316
  if (streamEvent.content_block.type === "redacted_thinking" && model_options?.include_thoughts) {
295
317
  return {
@@ -304,6 +326,19 @@ class ClaudeModelDefinition {
304
326
  return {
305
327
  result: streamEvent.delta.text ? [{ type: "text", value: streamEvent.delta.text }] : []
306
328
  };
329
+ case "input_json_delta":
330
+ // Accumulate tool input JSON
331
+ if (currentToolUse && streamEvent.delta.partial_json) {
332
+ return {
333
+ result: [],
334
+ tool_use: [{
335
+ id: currentToolUse.id,
336
+ tool_name: '', // Name already sent in content_block_start
337
+ tool_input: streamEvent.delta.partial_json
338
+ }]
339
+ };
340
+ }
341
+ break;
307
342
  case "thinking_delta":
308
343
  if (model_options?.include_thoughts) {
309
344
  return {
@@ -322,6 +357,10 @@ class ClaudeModelDefinition {
322
357
  }
323
358
  break;
324
359
  case "content_block_stop":
360
+ // Reset current tool use tracking when block ends
361
+ if (currentToolUse) {
362
+ currentToolUse = null;
363
+ }
325
364
  // Handle the end of content blocks, for redacted thinking blocks
326
365
  if (model_options?.include_thoughts) {
327
366
  return {
@@ -348,6 +387,52 @@ function createPromptFromResponse(response) {
348
387
  system: undefined
349
388
  };
350
389
  }
390
+ /**
391
+ * Merge consecutive user messages in the conversation.
392
+ * This is required because Anthropic's API expects all tool_result blocks
393
+ * from a single assistant turn to be in one user message.
394
+ * When multiple tool results are added as separate user messages,
395
+ * we need to merge them before sending to the API.
396
+ */
397
+ function mergeConsecutiveUserMessages(messages) {
398
+ if (messages.length === 0)
399
+ return [];
400
+ // Check if any merging is needed
401
+ const needsMerging = messages.some((msg, i) => i < messages.length - 1 &&
402
+ msg.role === 'user' &&
403
+ messages[i + 1].role === 'user');
404
+ if (!needsMerging) {
405
+ return messages;
406
+ }
407
+ const result = [];
408
+ let i = 0;
409
+ while (i < messages.length) {
410
+ const current = messages[i];
411
+ if (current.role === 'user') {
412
+ // Collect all consecutive user messages
413
+ const mergedContent = [];
414
+ while (i < messages.length && messages[i].role === 'user') {
415
+ const userMsg = messages[i];
416
+ if (Array.isArray(userMsg.content)) {
417
+ mergedContent.push(...userMsg.content);
418
+ }
419
+ else if (typeof userMsg.content === 'string') {
420
+ mergedContent.push({ type: 'text', text: userMsg.content });
421
+ }
422
+ i++;
423
+ }
424
+ result.push({
425
+ role: 'user',
426
+ content: mergedContent
427
+ });
428
+ }
429
+ else {
430
+ result.push(current);
431
+ i++;
432
+ }
433
+ }
434
+ return result;
435
+ }
351
436
  /**
352
437
  * Update the conversation messages
353
438
  * @param prompt
@@ -358,11 +443,120 @@ function updateConversation(conversation, prompt) {
358
443
  const baseSystemMessages = conversation?.system || [];
359
444
  const baseMessages = conversation?.messages || [];
360
445
  const system = baseSystemMessages.concat(prompt.system || []);
446
+ // Merge consecutive user messages to ensure tool_result blocks are properly grouped
447
+ const mergedMessages = mergeConsecutiveUserMessages(baseMessages.concat(prompt.messages || []));
361
448
  return {
362
- messages: baseMessages.concat(prompt.messages || []),
449
+ messages: mergedMessages,
363
450
  system: system.length > 0 ? system : undefined // If system is empty, set to undefined
364
451
  };
365
452
  }
453
+ /**
454
+ * Sanitize messages by removing empty text blocks.
455
+ * Claude API rejects messages with empty text content blocks ("text content blocks must be non-empty").
456
+ * This handles cases where streaming was interrupted and left empty text blocks.
457
+ *
458
+ * - Filters out empty text blocks from each message's content
459
+ * - Removes messages entirely if they have no content after filtering
460
+ */
461
+ function sanitizeMessages(messages) {
462
+ const result = [];
463
+ for (const message of messages) {
464
+ if (typeof message.content === 'string') {
465
+ // String content - keep only if non-empty
466
+ if (message.content.trim()) {
467
+ result.push(message);
468
+ }
469
+ continue;
470
+ }
471
+ // Array content - filter out empty text blocks
472
+ const filteredContent = message.content.filter(block => {
473
+ if (block.type === 'text') {
474
+ return block.text && block.text.trim().length > 0;
475
+ }
476
+ // Keep all non-text blocks (tool_use, tool_result, image, etc.)
477
+ return true;
478
+ });
479
+ // Only include message if it has content after filtering
480
+ if (filteredContent.length > 0) {
481
+ result.push({
482
+ ...message,
483
+ content: filteredContent
484
+ });
485
+ }
486
+ }
487
+ return result;
488
+ }
489
+ /**
490
+ * Fix orphaned tool_use blocks in the conversation.
491
+ * @exported for testing
492
+ *
493
+ * When an agent is stopped mid-tool-execution, the assistant message contains tool_use blocks
494
+ * but no corresponding tool_result was added. The Anthropic API requires that every tool_use
495
+ * must be followed by a tool_result in the next user message.
496
+ *
497
+ * This function detects such cases and injects synthetic tool_result blocks indicating
498
+ * the tools were interrupted, allowing the conversation to continue.
499
+ */
500
+ function fixOrphanedToolUse(messages) {
501
+ if (messages.length < 2)
502
+ return messages;
503
+ const result = [];
504
+ for (let i = 0; i < messages.length; i++) {
505
+ const current = messages[i];
506
+ result.push(current);
507
+ // Check if this is an assistant message with tool_use blocks
508
+ if (current.role === 'assistant' && Array.isArray(current.content)) {
509
+ const toolUseBlocks = current.content.filter((block) => block.type === 'tool_use');
510
+ if (toolUseBlocks.length > 0) {
511
+ // Check if the next message is a user message with matching tool_results
512
+ const nextMessage = messages[i + 1];
513
+ if (nextMessage && nextMessage.role === 'user' && Array.isArray(nextMessage.content)) {
514
+ // Get tool_result IDs from the next message
515
+ const toolResultIds = new Set(nextMessage.content
516
+ .filter((block) => block.type === 'tool_result')
517
+ .map(block => block.tool_use_id));
518
+ // Find orphaned tool_use blocks (no matching tool_result)
519
+ const orphanedToolUse = toolUseBlocks.filter(block => !toolResultIds.has(block.id));
520
+ if (orphanedToolUse.length > 0) {
521
+ // Inject synthetic tool_results for orphaned tool_use
522
+ const syntheticResults = orphanedToolUse.map(block => ({
523
+ type: 'tool_result',
524
+ tool_use_id: block.id,
525
+ content: `[Tool interrupted: The user stopped the operation before "${block.name}" could execute.]`
526
+ }));
527
+ // Prepend synthetic results to the next user message
528
+ const updatedNextMessage = {
529
+ ...nextMessage,
530
+ content: [...syntheticResults, ...nextMessage.content]
531
+ };
532
+ // Replace the next message in our iteration
533
+ messages[i + 1] = updatedNextMessage;
534
+ }
535
+ }
536
+ else if (nextMessage && nextMessage.role === 'user') {
537
+ // Next message is a user message but not array content (plain text)
538
+ // We need to convert it and add tool_results
539
+ const syntheticResults = toolUseBlocks.map(block => ({
540
+ type: 'tool_result',
541
+ tool_use_id: block.id,
542
+ content: `[Tool interrupted: The user stopped the operation before "${block.name}" could execute.]`
543
+ }));
544
+ const textContent = typeof nextMessage.content === 'string'
545
+ ? { type: 'text', text: nextMessage.content }
546
+ : { type: 'text', text: '' };
547
+ const updatedNextMessage = {
548
+ role: 'user',
549
+ content: [...syntheticResults, textContent]
550
+ };
551
+ messages[i + 1] = updatedNextMessage;
552
+ }
553
+ // Note: If there's no nextMessage, we leave the conversation as-is.
554
+ // The tool_use blocks are expected to be there - the next turn will provide tool_results.
555
+ }
556
+ }
557
+ }
558
+ return result;
559
+ }
366
560
  function getClaudePayload(options, prompt) {
367
561
  const modelName = options.model; // Model name is already extracted in the calling methods
368
562
  const model_options = options.model_options;
@@ -376,8 +570,12 @@ function getClaudePayload(options, prompt) {
376
570
  }
377
571
  };
378
572
  }
573
+ // Fix orphaned tool_use blocks (can occur when agent is stopped mid-tool-execution)
574
+ const fixedMessages = fixOrphanedToolUse(prompt.messages);
575
+ // Sanitize messages to remove empty text blocks (can occur from interrupted streaming)
576
+ const sanitizedMessages = sanitizeMessages(fixedMessages);
379
577
  const payload = {
380
- messages: prompt.messages,
578
+ messages: sanitizedMessages,
381
579
  system: prompt.system,
382
580
  tools: options.tools, // we are using the same shape as claude for tools
383
581
  temperature: model_options?.temperature,
@@ -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":"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"}
@@ -410,11 +410,17 @@ function collectToolUseParts(content) {
410
410
  const parts = content.parts ?? [];
411
411
  for (const part of parts) {
412
412
  if (part.functionCall) {
413
- out.push({
413
+ const toolUse = {
414
414
  id: part.functionCall.name ?? '',
415
415
  tool_name: part.functionCall.name ?? '',
416
416
  tool_input: part.functionCall.args,
417
- });
417
+ };
418
+ // Capture thought_signature for Gemini thinking models (2.5+/3.0+)
419
+ // This must be passed back with the function response
420
+ if (part.thoughtSignature) {
421
+ toolUse.thought_signature = part.thoughtSignature;
422
+ }
423
+ out.push(toolUse);
418
424
  }
419
425
  }
420
426
  return out.length > 0 ? out : undefined;
@@ -547,16 +553,18 @@ class GeminiModelDefinition {
547
553
  if (!msg.tool_use_id) {
548
554
  throw new Error("Tool response missing tool_use_id");
549
555
  }
556
+ // Build functionResponse part with optional thought_signature for Gemini thinking models
557
+ const functionResponsePart = {
558
+ functionResponse: {
559
+ name: msg.tool_use_id,
560
+ response: formatFunctionResponse(msg.content || ''),
561
+ },
562
+ // Include thought_signature if provided (required for Gemini 2.5+/3.0+ thinking models)
563
+ thoughtSignature: msg.thought_signature,
564
+ };
550
565
  contents.push({
551
566
  role: 'user',
552
- parts: [
553
- {
554
- functionResponse: {
555
- name: msg.tool_use_id,
556
- response: formatFunctionResponse(msg.content || ''),
557
- }
558
- }
559
- ]
567
+ parts: [functionResponsePart]
560
568
  });
561
569
  }
562
570
  else { // PromptRole.user, PromptRole.assistant, PromptRole.safety
@@ -570,14 +578,27 @@ class GeminiModelDefinition {
570
578
  // File content handling
571
579
  if (msg.files) {
572
580
  for (const f of msg.files) {
573
- const stream = await f.getStream();
574
- const data = await (0, core_1.readStreamAsBase64)(stream);
575
- parts.push({
576
- inlineData: {
577
- data,
578
- mimeType: f.mime_type
579
- }
580
- });
581
+ let fileUrl = await f.getURL();
582
+ const isGsUrl = fileUrl.startsWith('gs://') || fileUrl.startsWith('https://storage.googleapis.com/');
583
+ if (isGsUrl) {
584
+ parts.push({
585
+ fileData: {
586
+ fileUri: fileUrl,
587
+ mimeType: f.mime_type
588
+ }
589
+ });
590
+ }
591
+ else {
592
+ // Inline data handling
593
+ const stream = await f.getStream();
594
+ const data = await (0, core_1.readStreamAsBase64)(stream);
595
+ parts.push({
596
+ inlineData: {
597
+ data,
598
+ mimeType: f.mime_type
599
+ }
600
+ });
601
+ }
581
602
  }
582
603
  }
583
604
  if (parts.length > 0) {
@@ -698,12 +719,24 @@ class GeminiModelDefinition {
698
719
  if (tool_use) {
699
720
  finish_reason = "tool_use";
700
721
  }
722
+ // Increment turn counter for deferred stripping
723
+ conversation = (0, core_1.incrementConversationTurn)(conversation);
724
+ // Strip large base64 image data based on options.stripImagesAfterTurns
725
+ const currentTurn = (0, core_1.getConversationMeta)(conversation).turnNumber;
726
+ const stripOptions = {
727
+ keepForTurns: options.stripImagesAfterTurns ?? Infinity,
728
+ currentTurn,
729
+ textMaxTokens: options.stripTextMaxTokens
730
+ };
731
+ let processedConversation = (0, core_1.stripBase64ImagesFromConversation)(conversation, stripOptions);
732
+ // Truncate large text content if configured
733
+ processedConversation = (0, core_1.truncateLargeTextInConversation)(processedConversation, stripOptions);
701
734
  return {
702
735
  result: result && result.length > 0 ? result : [{ type: "text", value: '' }],
703
736
  token_usage: token_usage,
704
737
  finish_reason: finish_reason,
705
738
  original_response: options.include_original_response ? response : undefined,
706
- conversation,
739
+ conversation: processedConversation,
707
740
  tool_use
708
741
  };
709
742
  }
@@ -715,6 +748,9 @@ class GeminiModelDefinition {
715
748
  }
716
749
  const modelName = splits[splits.length - 1];
717
750
  options = { ...options, model: modelName };
751
+ // Include conversation history in prompt contents (same as non-streaming)
752
+ const conversation = updateConversation(options.conversation, prompt.contents);
753
+ prompt.contents = conversation;
718
754
  if (options.model.includes("gemini-2.5-flash-image")) {
719
755
  region = "global"; // Gemini Flash Image only available in global region, this is for nano-banana model
720
756
  }
@@ -802,7 +838,10 @@ function getToolFunction(tool) {
802
838
  * @returns
803
839
  */
804
840
  function updateConversation(conversation, prompt) {
805
- return (conversation || []).concat(prompt);
841
+ // Unwrap array if wrapped, otherwise treat as array
842
+ const unwrapped = (0, core_1.unwrapConversationArray)(conversation);
843
+ const convArray = unwrapped ?? (conversation || []);
844
+ return convArray.concat(prompt);
806
845
  }
807
846
  /**
808
847
  *
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../src/vertexai/models/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../src/vertexai/models/gemini.ts"],"names":[],"mappings":"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"}