@llumiverse/drivers 1.0.0-dev.20260224.234313Z → 1.0.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.
Files changed (68) hide show
  1. package/lib/cjs/bedrock/converse.js +86 -12
  2. package/lib/cjs/bedrock/converse.js.map +1 -1
  3. package/lib/cjs/bedrock/index.js +208 -1
  4. package/lib/cjs/bedrock/index.js.map +1 -1
  5. package/lib/cjs/groq/index.js +7 -4
  6. package/lib/cjs/groq/index.js.map +1 -1
  7. package/lib/cjs/openai/index.js +457 -26
  8. package/lib/cjs/openai/index.js.map +1 -1
  9. package/lib/cjs/openai/openai_compatible.js +1 -0
  10. package/lib/cjs/openai/openai_compatible.js.map +1 -1
  11. package/lib/cjs/vertexai/index.js +42 -0
  12. package/lib/cjs/vertexai/index.js.map +1 -1
  13. package/lib/cjs/vertexai/models/claude.js +230 -2
  14. package/lib/cjs/vertexai/models/claude.js.map +1 -1
  15. package/lib/cjs/vertexai/models/gemini.js +261 -41
  16. package/lib/cjs/vertexai/models/gemini.js.map +1 -1
  17. package/lib/cjs/vertexai/models.js +1 -1
  18. package/lib/cjs/vertexai/models.js.map +1 -1
  19. package/lib/esm/bedrock/converse.js +80 -6
  20. package/lib/esm/bedrock/converse.js.map +1 -1
  21. package/lib/esm/bedrock/index.js +207 -2
  22. package/lib/esm/bedrock/index.js.map +1 -1
  23. package/lib/esm/groq/index.js +7 -4
  24. package/lib/esm/groq/index.js.map +1 -1
  25. package/lib/esm/openai/index.js +456 -27
  26. package/lib/esm/openai/index.js.map +1 -1
  27. package/lib/esm/openai/openai_compatible.js +1 -0
  28. package/lib/esm/openai/openai_compatible.js.map +1 -1
  29. package/lib/esm/vertexai/index.js +43 -1
  30. package/lib/esm/vertexai/index.js.map +1 -1
  31. package/lib/esm/vertexai/models/claude.js +229 -3
  32. package/lib/esm/vertexai/models/claude.js.map +1 -1
  33. package/lib/esm/vertexai/models/gemini.js +262 -43
  34. package/lib/esm/vertexai/models/gemini.js.map +1 -1
  35. package/lib/esm/vertexai/models.js +1 -1
  36. package/lib/esm/vertexai/models.js.map +1 -1
  37. package/lib/types/bedrock/converse.d.ts +1 -2
  38. package/lib/types/bedrock/converse.d.ts.map +1 -1
  39. package/lib/types/bedrock/index.d.ts +53 -1
  40. package/lib/types/bedrock/index.d.ts.map +1 -1
  41. package/lib/types/openai/index.d.ts +96 -1
  42. package/lib/types/openai/index.d.ts.map +1 -1
  43. package/lib/types/openai/openai_compatible.d.ts +5 -0
  44. package/lib/types/openai/openai_compatible.d.ts.map +1 -1
  45. package/lib/types/openai/openai_format.d.ts +1 -1
  46. package/lib/types/vertexai/index.d.ts +11 -1
  47. package/lib/types/vertexai/index.d.ts.map +1 -1
  48. package/lib/types/vertexai/models/claude.d.ts +64 -1
  49. package/lib/types/vertexai/models/claude.d.ts.map +1 -1
  50. package/lib/types/vertexai/models/gemini.d.ts +61 -1
  51. package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
  52. package/lib/types/vertexai/models.d.ts +6 -1
  53. package/lib/types/vertexai/models.d.ts.map +1 -1
  54. package/package.json +9 -9
  55. package/src/bedrock/converse.ts +85 -10
  56. package/src/bedrock/error-handling.test.ts +352 -0
  57. package/src/bedrock/index.ts +225 -1
  58. package/src/groq/index.ts +9 -4
  59. package/src/openai/error-handling.test.ts +567 -0
  60. package/src/openai/index.ts +505 -29
  61. package/src/openai/openai_compatible.ts +7 -0
  62. package/src/openai/openai_format.ts +1 -1
  63. package/src/vertexai/index.ts +56 -5
  64. package/src/vertexai/models/claude-error-handling.test.ts +432 -0
  65. package/src/vertexai/models/claude.ts +273 -7
  66. package/src/vertexai/models/gemini-error-handling.test.ts +353 -0
  67. package/src/vertexai/models/gemini.ts +304 -48
  68. package/src/vertexai/models.ts +7 -2
@@ -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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"}
@@ -1,5 +1,5 @@
1
- import { FinishReason, FunctionCallingConfigMode, HarmBlockThreshold, HarmCategory, Modality, Type } from "@google/genai";
2
- import { getConversationMeta, getMaxTokensLimitVertexAi, incrementConversationTurn, ModelType, PromptRole, readStreamAsBase64, stripBase64ImagesFromConversation, truncateLargeTextInConversation, unwrapConversationArray } from "@llumiverse/core";
1
+ import { FinishReason, FunctionCallingConfigMode, HarmBlockThreshold, HarmCategory, Modality, ProminentPeople, ThinkingLevel, Type } from "@google/genai";
2
+ import { getConversationMeta, getGeminiModelVersion, incrementConversationTurn, isGeminiModelVersionGte, LlumiverseError, ModelType, PromptRole, readStreamAsBase64, stripBase64ImagesFromConversation, stripHeartbeatsFromConversation, truncateLargeTextInConversation, unwrapConversationArray } from "@llumiverse/core";
3
3
  import { asyncMap } from "@llumiverse/core/async";
4
4
  function supportsStructuredOutput(options) {
5
5
  // Gemini 1.0 Ultra does not support JSON output, 1.0 Pro does.
@@ -31,13 +31,31 @@ const geminiSafetySettings = [
31
31
  threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
32
32
  }
33
33
  ];
34
+ // We do the mapping here rather than in common to avoid bringing the SDK into the common package.
35
+ function getProminentPeopleOption(prominentPeople) {
36
+ switch (prominentPeople) {
37
+ case "ALLOW_PROMINENT_PEOPLE":
38
+ return ProminentPeople.ALLOW_PROMINENT_PEOPLE;
39
+ case "BLOCK_PROMINENT_PEOPLE":
40
+ return ProminentPeople.BLOCK_PROMINENT_PEOPLE;
41
+ case "PROMINENT_PEOPLE_UNSPECIFIED":
42
+ return ProminentPeople.PROMINENT_PEOPLE_UNSPECIFIED;
43
+ default:
44
+ return undefined;
45
+ }
46
+ }
34
47
  function getGeminiPayload(options, prompt) {
35
48
  const model_options = options.model_options;
36
49
  const tools = getToolDefinitions(options.tools);
50
+ // When no tools are provided but conversation contains functionCall/functionResponse parts
51
+ // (e.g. checkpoint summary calls), convert them to text to avoid API errors
52
+ if (!tools && prompt.contents) {
53
+ const hasToolParts = prompt.contents.some(c => c.parts?.some(p => p.functionCall || p.functionResponse));
54
+ if (hasToolParts) {
55
+ prompt.contents = convertGeminiFunctionPartsToText(prompt.contents);
56
+ }
57
+ }
37
58
  const useStructuredOutput = supportsStructuredOutput(options) && !tools;
38
- const thinkingConfigNeeded = model_options?.include_thoughts
39
- || model_options?.thinking_budget_tokens
40
- || options.model.includes("gemini-2.5");
41
59
  const configNanoBanana = {
42
60
  systemInstruction: prompt.system,
43
61
  safetySettings: geminiSafetySettings,
@@ -46,10 +64,16 @@ function getGeminiPayload(options, prompt) {
46
64
  //Model options
47
65
  temperature: model_options?.temperature,
48
66
  topP: model_options?.top_p,
49
- maxOutputTokens: geminiMaxTokens(options),
67
+ maxOutputTokens: model_options?.max_tokens,
50
68
  stopSequences: model_options?.stop_sequence,
69
+ thinkingConfig: geminiThinkingConfig(options),
51
70
  imageConfig: {
71
+ imageSize: model_options?.image_size,
52
72
  aspectRatio: model_options?.image_aspect_ratio,
73
+ personGeneration: model_options?.person_generation,
74
+ prominentPeople: getProminentPeopleOption(model_options?.prominent_people),
75
+ outputMimeType: model_options?.output_mime_type,
76
+ outputCompressionQuality: model_options?.output_compression_quality,
53
77
  }
54
78
  };
55
79
  const config = {
@@ -69,12 +93,12 @@ function getGeminiPayload(options, prompt) {
69
93
  temperature: model_options?.temperature,
70
94
  topP: model_options?.top_p,
71
95
  topK: model_options?.top_k,
72
- maxOutputTokens: geminiMaxTokens(options),
96
+ maxOutputTokens: model_options?.max_tokens,
73
97
  stopSequences: model_options?.stop_sequence,
74
98
  presencePenalty: model_options?.presence_penalty,
75
99
  frequencyPenalty: model_options?.frequency_penalty,
76
100
  seed: model_options?.seed,
77
- thinkingConfig: thinkingConfigNeeded ? geminiThinkingConfig(options) : undefined,
101
+ thinkingConfig: geminiThinkingConfig(options),
78
102
  };
79
103
  return {
80
104
  model: options.model,
@@ -368,7 +392,11 @@ function removeEmptyJSONArray(array, schema) {
368
392
  // Filter out empty objects from the array
369
393
  return cleanedArray.filter(item => !isEmpty(item));
370
394
  }
371
- function collectTextParts(content) {
395
+ /**
396
+ * Collect all parts (text and images) from content in order.
397
+ * This preserves the original ordering of text and image parts.
398
+ */
399
+ function extractCompletionResults(content) {
372
400
  const results = [];
373
401
  const parts = content.parts;
374
402
  if (parts) {
@@ -379,16 +407,7 @@ function collectTextParts(content) {
379
407
  value: part.text
380
408
  });
381
409
  }
382
- }
383
- }
384
- return results;
385
- }
386
- function collectInlineDataParts(content) {
387
- const results = [];
388
- const parts = content.parts;
389
- if (parts) {
390
- for (const part of parts) {
391
- if (part.inlineData) {
410
+ else if (part.inlineData) {
392
411
  const base64ImageBytes = part.inlineData.data ?? "";
393
412
  const mimeType = part.inlineData.mimeType ?? "image/png";
394
413
  const imageUrl = `data:${mimeType};base64,${base64ImageBytes}`;
@@ -456,24 +475,15 @@ const supportedFinishReasons = [
456
475
  const recoverableToolCallReasons = [
457
476
  'UNEXPECTED_TOOL_CALL', // Model called an undeclared tool
458
477
  ];
459
- function geminiMaxTokens(option) {
460
- const model_options = option.model_options;
461
- if (model_options?.max_tokens) {
462
- return model_options.max_tokens;
463
- }
464
- if (option.model.includes("gemini-2.5")) {
465
- return getMaxTokensLimitVertexAi(option.model);
466
- }
467
- return undefined;
468
- }
469
478
  function geminiThinkingBudget(option) {
470
479
  const model_options = option.model_options;
480
+ // If thinking_budget_tokens is explicitly set in model options, use it directly
471
481
  if (model_options?.thinking_budget_tokens) {
472
482
  return model_options.thinking_budget_tokens;
473
483
  }
474
484
  // Set minimum thinking level by default.
475
485
  // Docs: https://ai.google.dev/gemini-api/docs/thinking#set-budget
476
- if (option.model.includes("gemini-2.5")) {
486
+ if (getGeminiModelVersion(option.model) == '2.5') {
477
487
  if (option.model.includes("pro")) {
478
488
  return 128;
479
489
  }
@@ -483,15 +493,30 @@ function geminiThinkingBudget(option) {
483
493
  }
484
494
  function geminiThinkingConfig(option) {
485
495
  const model_options = option.model_options;
496
+ // If thinking options are explicitly set in model options, use them directly
486
497
  const include_thoughts = model_options?.include_thoughts ?? false;
487
- if (model_options?.thinking_budget_tokens) {
488
- return { includeThoughts: include_thoughts, thinkingBudget: model_options.thinking_budget_tokens };
498
+ if (model_options?.thinking_budget_tokens || model_options?.thinking_level) {
499
+ return {
500
+ includeThoughts: include_thoughts,
501
+ thinkingBudget: model_options.thinking_budget_tokens,
502
+ thinkingLevel: model_options.thinking_level,
503
+ };
489
504
  }
490
- // Set minimum thinking level by default.
505
+ // Set a low thinking level by default.
491
506
  // Docs: https://ai.google.dev/gemini-api/docs/thinking#set-budget
492
- if (option.model.includes("gemini-2.5") || option.model.includes("gemini-3")) {
507
+ // https://docs.cloud.google.com/vertex-ai/generative-ai/docs/thinking
508
+ if (isGeminiModelVersionGte(option.model, '3.0')) {
509
+ return {
510
+ includeThoughts: include_thoughts,
511
+ thinkingLevel: ThinkingLevel.LOW
512
+ };
513
+ }
514
+ if (isGeminiModelVersionGte(option.model, '2.5')) {
493
515
  const thinking_budget_tokens = geminiThinkingBudget(option) ?? 0;
494
- return { includeThoughts: include_thoughts, thinkingBudget: thinking_budget_tokens };
516
+ return {
517
+ includeThoughts: include_thoughts,
518
+ thinkingBudget: thinking_budget_tokens
519
+ };
495
520
  }
496
521
  }
497
522
  export class GeminiModelDefinition {
@@ -578,7 +603,7 @@ export class GeminiModelDefinition {
578
603
  // File content handling
579
604
  if (msg.files) {
580
605
  for (const f of msg.files) {
581
- let fileUrl = await f.getURL();
606
+ const fileUrl = await f.getURL();
582
607
  const isGsUrl = fileUrl.startsWith('gs://') || fileUrl.startsWith('https://storage.googleapis.com/');
583
608
  if (isGsUrl) {
584
609
  parts.push({
@@ -677,6 +702,14 @@ export class GeminiModelDefinition {
677
702
  }
678
703
  const modelName = splits[splits.length - 1];
679
704
  options = { ...options, model: modelName };
705
+ // Restore system instruction from stored conversation on resume.
706
+ // The stored _llumiverse_system contains the complete system (interaction prompt + schema)
707
+ // from the initial call. Always prefer it over the prompt's system, which on resume only
708
+ // contains the schema instruction (no interaction system segments are present on resume).
709
+ const existingSystem = extractSystemFromConversation(options.conversation);
710
+ if (existingSystem) {
711
+ prompt.system = existingSystem;
712
+ }
680
713
  let conversation = updateConversation(options.conversation, prompt.contents);
681
714
  prompt.contents = conversation;
682
715
  // TODO: Remove hack, use global endpoint manually if needed.
@@ -718,9 +751,8 @@ export class GeminiModelDefinition {
718
751
  }
719
752
  // We clean the content before validation, so we can update the conversation.
720
753
  const cleanedContent = cleanEmptyFieldsContent(content, options.result_schema);
721
- const textResults = collectTextParts(cleanedContent);
722
- const imageResults = collectInlineDataParts(cleanedContent);
723
- result = [...textResults, ...imageResults];
754
+ // Collect all parts in order (text and images)
755
+ result = extractCompletionResults(cleanedContent);
724
756
  conversation = updateConversation(conversation, [cleanedContent]);
725
757
  }
726
758
  }
@@ -739,12 +771,19 @@ export class GeminiModelDefinition {
739
771
  let processedConversation = stripBase64ImagesFromConversation(conversation, stripOptions);
740
772
  // Truncate large text content if configured
741
773
  processedConversation = truncateLargeTextInConversation(processedConversation, stripOptions);
774
+ // Strip old heartbeat status messages
775
+ processedConversation = stripHeartbeatsFromConversation(processedConversation, {
776
+ keepForTurns: options.stripHeartbeatsAfterTurns ?? 1,
777
+ currentTurn,
778
+ });
779
+ // Preserve system instruction in conversation for multi-turn support
780
+ const finalConversation = storeSystemInConversation(processedConversation, prompt.system);
742
781
  return {
743
782
  result: result && result.length > 0 ? result : [{ type: "text", value: '' }],
744
783
  token_usage: token_usage,
745
784
  finish_reason: finish_reason,
746
785
  original_response: options.include_original_response ? response : undefined,
747
- conversation: processedConversation,
786
+ conversation: finalConversation,
748
787
  tool_use
749
788
  };
750
789
  }
@@ -756,6 +795,14 @@ export class GeminiModelDefinition {
756
795
  }
757
796
  const modelName = splits[splits.length - 1];
758
797
  options = { ...options, model: modelName };
798
+ // Restore system instruction from stored conversation on resume.
799
+ // The stored _llumiverse_system contains the complete system (interaction prompt + schema)
800
+ // from the initial call. Always prefer it over the prompt's system, which on resume only
801
+ // contains the schema instruction (no interaction system segments are present on resume).
802
+ const existingSystem = extractSystemFromConversation(options.conversation);
803
+ if (existingSystem) {
804
+ prompt.system = existingSystem;
805
+ }
759
806
  // Include conversation history in prompt contents (same as non-streaming)
760
807
  const conversation = updateConversation(options.conversation, prompt.contents);
761
808
  prompt.contents = conversation;
@@ -788,9 +835,8 @@ export class GeminiModelDefinition {
788
835
  + `content: ${JSON.stringify(candidate.content, null, 2)}, safety: ${JSON.stringify(candidate.safetyRatings, null, 2)}`);
789
836
  }
790
837
  if (candidate.content?.role === 'model') {
791
- const textResults = collectTextParts(candidate.content);
792
- const imageResults = collectInlineDataParts(candidate.content);
793
- const combinedResults = [...textResults, ...imageResults];
838
+ // Collect all parts in order (text and images)
839
+ const combinedResults = extractCompletionResults(candidate.content);
794
840
  tool_use = collectToolUseParts(candidate.content);
795
841
  if (tool_use) {
796
842
  finish_reason = "tool_use";
@@ -818,6 +864,151 @@ export class GeminiModelDefinition {
818
864
  });
819
865
  return stream;
820
866
  }
867
+ /**
868
+ * Format Google API errors into LlumiverseError with proper status codes and retryability.
869
+ *
870
+ * Google API errors follow AIP-193 standard:
871
+ * - ApiError.status: HTTP status code
872
+ * - ApiError.message: Error message
873
+ *
874
+ * Common error codes:
875
+ * - 400 (INVALID_ARGUMENT): Invalid request parameters
876
+ * - 401 (UNAUTHENTICATED): Authentication required
877
+ * - 403 (PERMISSION_DENIED): Insufficient permissions
878
+ * - 404 (NOT_FOUND): Resource not found
879
+ * - 429 (RESOURCE_EXHAUSTED): Rate limit/quota exceeded
880
+ * - 500 (INTERNAL): Internal server error
881
+ * - 503 (UNAVAILABLE): Service temporarily unavailable
882
+ * - 504 (DEADLINE_EXCEEDED): Request timeout
883
+ *
884
+ * @see https://google.aip.dev/193
885
+ * @see https://docs.cloud.google.com/vertex-ai/generative-ai/docs/model-reference/api-errors
886
+ */
887
+ formatLlumiverseError(_driver, error, context) {
888
+ // Check if it's a Google API error with status code
889
+ const isApiError = this.isGoogleApiError(error);
890
+ if (!isApiError) {
891
+ // Not a Google API error, use default handling
892
+ // This will be called by the driver's default formatLlumiverseError
893
+ throw error;
894
+ }
895
+ const apiError = error;
896
+ const httpStatusCode = apiError.status;
897
+ // Extract error message
898
+ const message = apiError.message || String(error);
899
+ // Build user-facing message with status code
900
+ let userMessage = message;
901
+ // Include status code in message (for end-user visibility)
902
+ if (httpStatusCode) {
903
+ userMessage = `[${httpStatusCode}] ${userMessage}`;
904
+ }
905
+ // Determine retryability based on Google error codes
906
+ const retryable = this.isGeminiErrorRetryable(httpStatusCode);
907
+ // Extract error name/type from message if present
908
+ const errorName = this.extractErrorName(message);
909
+ return new LlumiverseError(`[${context.provider}] ${userMessage}`, retryable, context, error, httpStatusCode, errorName);
910
+ }
911
+ /**
912
+ * Type guard to check if error is a Google API error.
913
+ */
914
+ isGoogleApiError(error) {
915
+ return (error !== null &&
916
+ typeof error === 'object' &&
917
+ 'status' in error &&
918
+ typeof error.status === 'number' &&
919
+ 'message' in error);
920
+ }
921
+ /**
922
+ * Determine if a Google API error is retryable based on HTTP status code.
923
+ *
924
+ * Retryable errors (per Google AIP-194):
925
+ * - 408 (REQUEST_TIMEOUT): Request timeout
926
+ * - 429 (RESOURCE_EXHAUSTED): Rate limit exceeded, quota exhausted
927
+ * - 500 (INTERNAL): Internal server error
928
+ * - 502 (BAD_GATEWAY): Bad gateway
929
+ * - 503 (UNAVAILABLE): Service temporarily unavailable
930
+ * - 504 (DEADLINE_EXCEEDED): Gateway timeout
931
+ *
932
+ * Non-retryable errors:
933
+ * - 400 (INVALID_ARGUMENT): Invalid request parameters
934
+ * - 401 (UNAUTHENTICATED): Authentication required
935
+ * - 403 (PERMISSION_DENIED): Insufficient permissions
936
+ * - 404 (NOT_FOUND): Resource not found
937
+ * - 409 (CONFLICT): Resource conflict
938
+ * - Other 4xx client errors
939
+ *
940
+ * @param httpStatusCode - The HTTP status code from the API error
941
+ * @returns True if retryable, false if not retryable, undefined if unknown
942
+ */
943
+ isGeminiErrorRetryable(httpStatusCode) {
944
+ // Retryable status codes
945
+ if (httpStatusCode === 408)
946
+ return true; // Request timeout
947
+ if (httpStatusCode === 429)
948
+ return true; // Rate limit/quota
949
+ if (httpStatusCode === 502)
950
+ return true; // Bad gateway
951
+ if (httpStatusCode === 503)
952
+ return true; // Service unavailable
953
+ if (httpStatusCode === 504)
954
+ return true; // Gateway timeout
955
+ if (httpStatusCode >= 500 && httpStatusCode < 600)
956
+ return true; // Other 5xx server errors
957
+ // Non-retryable 4xx client errors
958
+ if (httpStatusCode >= 400 && httpStatusCode < 500)
959
+ return false;
960
+ // Unknown status codes - let consumer decide retry strategy
961
+ return undefined;
962
+ }
963
+ /**
964
+ * Extract error type name from error message.
965
+ * Google errors often include the error type in the message.
966
+ * Examples: "INVALID_ARGUMENT", "RESOURCE_EXHAUSTED", "PERMISSION_DENIED"
967
+ */
968
+ extractErrorName(message) {
969
+ // Common Google error patterns
970
+ const patterns = [
971
+ /^([A-Z_]+):/, // "ERROR_NAME: message"
972
+ /\[([A-Z_]+)\]/, // "[ERROR_NAME] message"
973
+ /^(\w+Error):/, // "ErrorTypeError: message"
974
+ ];
975
+ for (const pattern of patterns) {
976
+ const match = message.match(pattern);
977
+ if (match) {
978
+ return match[1];
979
+ }
980
+ }
981
+ return undefined;
982
+ }
983
+ }
984
+ /**
985
+ * Converts functionCall and functionResponse parts to text parts in Gemini Content[].
986
+ * Preserves tool call information while removing structured parts that require
987
+ * tools/toolConfig to be defined in the API request.
988
+ */
989
+ export function convertGeminiFunctionPartsToText(contents) {
990
+ return contents.map(content => {
991
+ if (!content.parts)
992
+ return content;
993
+ const hasFunctionParts = content.parts.some(p => p.functionCall || p.functionResponse);
994
+ if (!hasFunctionParts)
995
+ return content;
996
+ const newParts = content.parts.map(part => {
997
+ if (part.functionCall) {
998
+ const argsStr = part.functionCall.args ? JSON.stringify(part.functionCall.args) : '';
999
+ const truncated = argsStr.length > 500 ? argsStr.substring(0, 500) + '...' : argsStr;
1000
+ return { text: `[Tool call: ${part.functionCall.name}(${truncated})]` };
1001
+ }
1002
+ if (part.functionResponse) {
1003
+ const respStr = part.functionResponse.response
1004
+ ? JSON.stringify(part.functionResponse.response) : 'No response';
1005
+ const truncated = respStr.length > 500 ? respStr.substring(0, 500) + '...' : respStr;
1006
+ return { text: `[Tool result for ${part.functionResponse.name}: ${truncated}]` };
1007
+ }
1008
+ return part;
1009
+ });
1010
+ return { ...content, parts: newParts };
1011
+ });
821
1012
  }
822
1013
  function getToolDefinitions(tools) {
823
1014
  if (!tools || tools.length === 0) {
@@ -857,6 +1048,34 @@ function updateConversation(conversation, prompt) {
857
1048
  const convArray = unwrapped ?? (conversation || []);
858
1049
  return convArray.concat(prompt);
859
1050
  }
1051
+ const SYSTEM_KEY = '_llumiverse_system';
1052
+ /**
1053
+ * Extract the stored system instruction from a Gemini conversation object.
1054
+ * Returns undefined if no system was stored.
1055
+ */
1056
+ function extractSystemFromConversation(conversation) {
1057
+ if (typeof conversation === 'object' && conversation !== null) {
1058
+ const c = conversation;
1059
+ if (c[SYSTEM_KEY] && typeof c[SYSTEM_KEY] === 'object') {
1060
+ return c[SYSTEM_KEY];
1061
+ }
1062
+ }
1063
+ return undefined;
1064
+ }
1065
+ /**
1066
+ * Store the system instruction in the Gemini conversation wrapper object.
1067
+ * The conversation is already wrapped by incrementConversationTurn into
1068
+ * { _arrayConversation: Content[], _llumiverse_meta: {...} }.
1069
+ * We add _llumiverse_system alongside these fields.
1070
+ */
1071
+ function storeSystemInConversation(conversation, system) {
1072
+ if (!system)
1073
+ return conversation;
1074
+ if (typeof conversation === 'object' && conversation !== null) {
1075
+ return { ...conversation, [SYSTEM_KEY]: system };
1076
+ }
1077
+ return conversation;
1078
+ }
860
1079
  /**
861
1080
  *
862
1081
  * Gemini supports JSON output in the response. so we test if the response is a valid JSON object. otherwise we treat the response as a string.