@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.
- 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 +53 -1
- 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 +225 -1
- 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
|
@@ -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,
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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
|
|
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 {
|
|
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
|
|
505
|
+
// Set a low thinking level by default.
|
|
491
506
|
// Docs: https://ai.google.dev/gemini-api/docs/thinking#set-budget
|
|
492
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
722
|
-
|
|
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:
|
|
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
|
-
|
|
792
|
-
const
|
|
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.
|