@vybestack/llxprt-code-core 0.6.1 → 0.7.0-nightly.251206.43b97dbf4
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/dist/prompt-config/defaults/default-prompts.json +5 -2
- package/dist/src/agents/executor.js +2 -2
- package/dist/src/agents/executor.js.map +1 -1
- package/dist/src/auth/precedence.js +9 -10
- package/dist/src/auth/precedence.js.map +1 -1
- package/dist/src/auth/types.d.ts +6 -6
- package/dist/src/config/config.js +10 -4
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +7 -0
- package/dist/src/core/coreToolScheduler.js +67 -0
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +8 -0
- package/dist/src/core/geminiChat.js +63 -5
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/prompts.js +9 -4
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/turn.js +12 -8
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/ide/ide-client.js +4 -2
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.js +6 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.js +1 -6
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +3 -6
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/parsers/TextToolCallParser.d.ts +0 -15
- package/dist/src/parsers/TextToolCallParser.js +21 -5
- package/dist/src/parsers/TextToolCallParser.js.map +1 -1
- package/dist/src/prompt-config/defaults/tool-defaults.js +5 -2
- package/dist/src/prompt-config/defaults/tool-defaults.js.map +1 -1
- package/dist/src/prompt-config/defaults/tools/code-search.md +3 -0
- package/dist/src/prompt-config/defaults/tools/direct-web-fetch.md +3 -0
- package/dist/src/prompt-config/defaults/tools/exa-web-search.md +14 -0
- package/dist/src/prompt-config/defaults/tools/{web-fetch.md → google-web-fetch.md} +1 -1
- package/dist/src/prompt-config/defaults/tools/{web-search.md → google-web-search.md} +1 -1
- package/dist/src/providers/BaseProvider.d.ts +3 -0
- package/dist/src/providers/BaseProvider.js +11 -0
- package/dist/src/providers/BaseProvider.js.map +1 -1
- package/dist/src/providers/IProvider.d.ts +3 -0
- package/dist/src/providers/ProviderManager.js +6 -0
- package/dist/src/providers/ProviderManager.js.map +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.d.ts +0 -1
- package/dist/src/providers/anthropic/AnthropicProvider.js +233 -22
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/anthropic/schemaConverter.d.ts +63 -0
- package/dist/src/providers/anthropic/schemaConverter.js +189 -0
- package/dist/src/providers/anthropic/schemaConverter.js.map +1 -0
- package/dist/src/providers/gemini/GeminiProvider.js +110 -13
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/gemini/thoughtSignatures.d.ts +51 -0
- package/dist/src/providers/gemini/thoughtSignatures.js +189 -0
- package/dist/src/providers/gemini/thoughtSignatures.js.map +1 -0
- package/dist/src/providers/openai/OpenAIProvider.d.ts +78 -1
- package/dist/src/providers/openai/OpenAIProvider.js +1159 -190
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/openai/ToolCallNormalizer.d.ts +6 -0
- package/dist/src/providers/openai/ToolCallNormalizer.js +16 -2
- package/dist/src/providers/openai/ToolCallNormalizer.js.map +1 -1
- package/dist/src/providers/openai/schemaConverter.d.ts +67 -0
- package/dist/src/providers/openai/schemaConverter.js +191 -0
- package/dist/src/providers/openai/schemaConverter.js.map +1 -0
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +0 -4
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +3 -75
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
- package/dist/src/providers/openai-responses/schemaConverter.d.ts +65 -0
- package/dist/src/providers/openai-responses/schemaConverter.js +195 -0
- package/dist/src/providers/openai-responses/schemaConverter.js.map +1 -0
- package/dist/src/providers/openai-vercel/OpenAIVercelProvider.d.ts +146 -0
- package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js +1177 -0
- package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js.map +1 -0
- package/dist/src/providers/openai-vercel/errors.d.ts +46 -0
- package/dist/src/providers/openai-vercel/errors.js +137 -0
- package/dist/src/providers/openai-vercel/errors.js.map +1 -0
- package/dist/src/providers/openai-vercel/index.d.ts +22 -0
- package/dist/src/providers/openai-vercel/index.js +23 -0
- package/dist/src/providers/openai-vercel/index.js.map +1 -0
- package/dist/src/providers/openai-vercel/messageConversion.d.ts +36 -0
- package/dist/src/providers/openai-vercel/messageConversion.js +410 -0
- package/dist/src/providers/openai-vercel/messageConversion.js.map +1 -0
- package/dist/src/providers/openai-vercel/schemaConverter.d.ts +66 -0
- package/dist/src/providers/openai-vercel/schemaConverter.js +191 -0
- package/dist/src/providers/openai-vercel/schemaConverter.js.map +1 -0
- package/dist/src/providers/openai-vercel/toolIdUtils.d.ts +33 -0
- package/dist/src/providers/openai-vercel/toolIdUtils.js +117 -0
- package/dist/src/providers/openai-vercel/toolIdUtils.js.map +1 -0
- package/dist/src/providers/reasoning/reasoningUtils.d.ts +43 -0
- package/dist/src/providers/reasoning/reasoningUtils.js +92 -0
- package/dist/src/providers/reasoning/reasoningUtils.js.map +1 -0
- package/dist/src/providers/utils/localEndpoint.js +6 -2
- package/dist/src/providers/utils/localEndpoint.js.map +1 -1
- package/dist/src/runtime/AgentRuntimeContext.d.ts +27 -0
- package/dist/src/runtime/AgentRuntimeContext.js.map +1 -1
- package/dist/src/runtime/createAgentRuntimeContext.js +27 -1
- package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -1
- package/dist/src/services/history/IContent.d.ts +6 -0
- package/dist/src/services/history/IContent.js.map +1 -1
- package/dist/src/settings/types.d.ts +1 -1
- package/dist/src/tools/IToolFormatter.d.ts +1 -1
- package/dist/src/tools/ToolFormatter.js +14 -2
- package/dist/src/tools/ToolFormatter.js.map +1 -1
- package/dist/src/tools/ToolIdStrategy.d.ts +72 -0
- package/dist/src/tools/ToolIdStrategy.js +107 -0
- package/dist/src/tools/ToolIdStrategy.js.map +1 -0
- package/dist/src/tools/codesearch.d.ts +21 -0
- package/dist/src/tools/codesearch.js +145 -0
- package/dist/src/tools/codesearch.js.map +1 -0
- package/dist/src/tools/direct-web-fetch.d.ts +22 -0
- package/dist/src/tools/direct-web-fetch.js +169 -0
- package/dist/src/tools/direct-web-fetch.js.map +1 -0
- package/dist/src/tools/exa-web-search.d.ts +24 -0
- package/dist/src/tools/exa-web-search.js +137 -0
- package/dist/src/tools/exa-web-search.js.map +1 -0
- package/dist/src/tools/{web-fetch.d.ts → google-web-fetch.d.ts} +4 -4
- package/dist/src/tools/{web-fetch.js → google-web-fetch.js} +29 -16
- package/dist/src/tools/google-web-fetch.js.map +1 -0
- package/dist/src/tools/{web-search-invocation.d.ts → google-web-search-invocation.d.ts} +1 -1
- package/dist/src/tools/{web-search-invocation.js → google-web-search-invocation.js} +2 -2
- package/dist/src/tools/google-web-search-invocation.js.map +1 -0
- package/dist/src/tools/{web-search.d.ts → google-web-search.d.ts} +4 -4
- package/dist/src/tools/{web-search.js → google-web-search.js} +6 -6
- package/dist/src/tools/google-web-search.js.map +1 -0
- package/dist/src/tools/todo-schemas.d.ts +4 -4
- package/dist/src/tools/tool-error.d.ts +4 -1
- package/dist/src/tools/tool-error.js +5 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +1 -1
- package/dist/src/utils/fetch.js +24 -2
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/filesearch/ignore.js +3 -2
- package/dist/src/utils/filesearch/ignore.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.js +2 -1
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +41 -6
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/package.json +7 -1
- package/dist/src/tools/web-fetch.js.map +0 -1
- package/dist/src/tools/web-search-invocation.js.map +0 -1
- package/dist/src/tools/web-search.js.map +0 -1
|
@@ -13,6 +13,7 @@ import { Type, } from '@google/genai';
|
|
|
13
13
|
import { BaseProvider, } from '../BaseProvider.js';
|
|
14
14
|
import { resolveUserMemory } from '../utils/userMemory.js';
|
|
15
15
|
import { buildToolResponsePayload } from '../utils/toolResponsePayload.js';
|
|
16
|
+
import { ensureActiveLoopHasThoughtSignatures, stripThoughtsFromHistory, } from './thoughtSignatures.js';
|
|
16
17
|
export class GeminiProvider extends BaseProvider {
|
|
17
18
|
/**
|
|
18
19
|
* @plan:PLAN-20251023-STATELESS-HARDENING.P08
|
|
@@ -634,7 +635,7 @@ export class GeminiProvider extends BaseProvider {
|
|
|
634
635
|
};
|
|
635
636
|
logger.debug(() => `invokeServerTool: making OAuth generateContent request with query: ${params.query}`);
|
|
636
637
|
// PRIVACY FIX: Removed sessionId to prevent transmission to Google servers
|
|
637
|
-
const result = await oauthContentGenerator.generateContent(oauthRequest, 'web-search-oauth');
|
|
638
|
+
const result = await oauthContentGenerator.generateContent(oauthRequest, 'google-web-search-oauth');
|
|
638
639
|
logger.debug(() => `invokeServerTool: OAuth generateContent completed successfully`);
|
|
639
640
|
return result;
|
|
640
641
|
}
|
|
@@ -743,7 +744,7 @@ export class GeminiProvider extends BaseProvider {
|
|
|
743
744
|
},
|
|
744
745
|
};
|
|
745
746
|
// PRIVACY FIX: Removed sessionId to prevent transmission to Google servers
|
|
746
|
-
const result = await oauthContentGenerator.generateContent(oauthRequest, 'web-fetch-oauth');
|
|
747
|
+
const result = await oauthContentGenerator.generateContent(oauthRequest, 'google-web-fetch-oauth');
|
|
747
748
|
return result;
|
|
748
749
|
}
|
|
749
750
|
default:
|
|
@@ -830,6 +831,31 @@ export class GeminiProvider extends BaseProvider {
|
|
|
830
831
|
});
|
|
831
832
|
}
|
|
832
833
|
}
|
|
834
|
+
// Extract reasoning ephemerals for Gemini 3.x thinking support
|
|
835
|
+
// @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006
|
|
836
|
+
const earlyEphemerals = options.invocation?.ephemerals ?? {};
|
|
837
|
+
// Ephemerals can be stored as flat keys ('reasoning.enabled') or nested objects ('reasoning': {enabled: true})
|
|
838
|
+
// Handle both formats for compatibility
|
|
839
|
+
const reasoningObj = earlyEphemerals['reasoning'];
|
|
840
|
+
const reasoningEnabled = earlyEphemerals['reasoning.enabled'] ===
|
|
841
|
+
true || reasoningObj?.enabled === true;
|
|
842
|
+
const reasoningIncludeInResponse = earlyEphemerals['reasoning.includeInResponse'] !== false && reasoningObj?.includeInResponse !== false;
|
|
843
|
+
const reasoningStripFromContext = earlyEphemerals['reasoning.stripFromContext'] ??
|
|
844
|
+
reasoningObj?.stripFromContext ??
|
|
845
|
+
'all';
|
|
846
|
+
// Extract reasoning.effort for future use (could map to thinkingLevel in Gemini 3)
|
|
847
|
+
// Currently unused but extracted for completeness
|
|
848
|
+
const reasoningEffort = earlyEphemerals['reasoning.effort'] ??
|
|
849
|
+
reasoningObj?.effort;
|
|
850
|
+
void reasoningEffort; // Mark as intentionally unused (reserved for future effort-to-thinkingLevel mapping)
|
|
851
|
+
const reasoningMaxTokens = earlyEphemerals['reasoning.maxTokens'] ?? reasoningObj?.maxTokens;
|
|
852
|
+
// Strip thought content from history before sending to API
|
|
853
|
+
// This prevents sending previous thinking back which can cause issues
|
|
854
|
+
const contentsWithThoughtsStripped = stripThoughtsFromHistory(contents, reasoningStripFromContext);
|
|
855
|
+
// Gemini 3.x requires thoughtSignature on functionCall parts in the "active loop"
|
|
856
|
+
// (from the last user text message to end of history). Apply synthetic signatures
|
|
857
|
+
// where missing to bypass validation. See: https://ai.google.dev/gemini-api/docs/thought-signatures
|
|
858
|
+
const contentsWithSignatures = ensureActiveLoopHasThoughtSignatures(contentsWithThoughtsStripped);
|
|
833
859
|
// Ensure tools have proper type: 'object' for Gemini
|
|
834
860
|
const geminiTools = tools
|
|
835
861
|
? tools.map((toolGroup) => ({
|
|
@@ -897,25 +923,96 @@ export class GeminiProvider extends BaseProvider {
|
|
|
897
923
|
if (toolConfigOverride) {
|
|
898
924
|
requestConfig.toolConfig = toolConfigOverride;
|
|
899
925
|
}
|
|
926
|
+
// Configure thinkingConfig for Gemini models when reasoning is enabled
|
|
927
|
+
// @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006
|
|
928
|
+
// ThinkingConfig uses:
|
|
929
|
+
// - includeThoughts: boolean - whether to include thoughts in response
|
|
930
|
+
// - thinkingBudget: number - token budget (0=DISABLED, -1=AUTOMATIC, or specific number)
|
|
931
|
+
if (reasoningEnabled) {
|
|
932
|
+
requestConfig.thinkingConfig = {
|
|
933
|
+
includeThoughts: true,
|
|
934
|
+
thinkingBudget: reasoningMaxTokens ?? -1, // -1 = AUTOMATIC
|
|
935
|
+
};
|
|
936
|
+
}
|
|
900
937
|
const requestLogger = new DebugLogger('llxprt:provider:gemini:logging');
|
|
901
938
|
requestLogger.log(() => '[GeminiProvider] request config overrides', {
|
|
902
939
|
hasDirectOverrides: !!directOverrides,
|
|
903
940
|
serverTools,
|
|
904
941
|
toolConfigOverride: toolConfigOverride ? 'present' : 'absent',
|
|
905
942
|
});
|
|
943
|
+
// Debug: Log thinking configuration
|
|
944
|
+
const thinkingConfigLogger = new DebugLogger('llxprt:provider:gemini:thinking');
|
|
945
|
+
thinkingConfigLogger.log(() => '[GeminiProvider] Thinking configuration', {
|
|
946
|
+
reasoningEnabled,
|
|
947
|
+
reasoningIncludeInResponse,
|
|
948
|
+
reasoningStripFromContext,
|
|
949
|
+
model: currentModel,
|
|
950
|
+
thinkingConfig: requestConfig.thinkingConfig,
|
|
951
|
+
});
|
|
906
952
|
// Create appropriate client and generate content
|
|
907
953
|
const baseURL = options.resolved.baseURL ?? this.getBaseURL();
|
|
908
954
|
const httpOptions = this.createHttpOptions();
|
|
909
|
-
const
|
|
955
|
+
const thinkingLogger = new DebugLogger('llxprt:provider:gemini:thinking');
|
|
956
|
+
const mapResponseToChunks = (response, includeThoughts = true) => {
|
|
910
957
|
const chunks = [];
|
|
911
|
-
const
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
958
|
+
const parts = response.candidates?.[0]?.content?.parts || [];
|
|
959
|
+
// Debug: Log all parts with their thought property for debugging
|
|
960
|
+
thinkingLogger.log(() => '[GeminiProvider] Response parts received', parts.map((p) => ({
|
|
961
|
+
hasText: 'text' in p,
|
|
962
|
+
thought: p.thought,
|
|
963
|
+
hasThoughtSignature: !!p
|
|
964
|
+
.thoughtSignature,
|
|
965
|
+
hasFunctionCall: 'functionCall' in p,
|
|
966
|
+
textPreview: 'text' in p
|
|
967
|
+
? p.text.substring(0, 100)
|
|
968
|
+
: undefined,
|
|
969
|
+
})));
|
|
970
|
+
// Separate thought parts from non-thought text parts
|
|
971
|
+
// Gemini returns thought content with `thought: true` on parts
|
|
972
|
+
const thoughtParts = parts.filter((part) => 'text' in part && part.thought);
|
|
973
|
+
const nonThoughtTextParts = parts.filter((part) => 'text' in part && !part.thought);
|
|
974
|
+
// Extract thoughtSignature from the first part that has one (for Gemini 3.x)
|
|
975
|
+
const firstPartWithSig = parts.find((part) => part.thoughtSignature);
|
|
976
|
+
const thoughtSignature = firstPartWithSig
|
|
977
|
+
? firstPartWithSig
|
|
978
|
+
.thoughtSignature
|
|
979
|
+
: undefined;
|
|
980
|
+
const text = nonThoughtTextParts
|
|
981
|
+
.map((part) => part.text)
|
|
982
|
+
.join('');
|
|
983
|
+
const thoughtText = thoughtParts
|
|
984
|
+
.map((part) => part.text)
|
|
985
|
+
.join('');
|
|
986
|
+
// Debug: Log thought extraction results
|
|
987
|
+
thinkingLogger.log(() => '[GeminiProvider] Thought extraction results', {
|
|
988
|
+
thoughtPartsCount: thoughtParts.length,
|
|
989
|
+
nonThoughtTextPartsCount: nonThoughtTextParts.length,
|
|
990
|
+
thoughtTextLength: thoughtText.length,
|
|
991
|
+
thoughtTextPreview: thoughtText.substring(0, 200),
|
|
992
|
+
includeThoughts,
|
|
993
|
+
willYieldThinkingBlock: !!(thoughtText && includeThoughts),
|
|
994
|
+
});
|
|
995
|
+
const functionCalls = parts
|
|
916
996
|
?.filter((part) => 'functionCall' in part)
|
|
917
997
|
?.map((part) => part.functionCall) || [];
|
|
918
998
|
const usageMetadata = response.usageMetadata;
|
|
999
|
+
// Yield ThinkingBlock first if there's thought content and includeThoughts is true
|
|
1000
|
+
if (thoughtText && includeThoughts) {
|
|
1001
|
+
const thinkingBlock = {
|
|
1002
|
+
type: 'thinking',
|
|
1003
|
+
thought: thoughtText,
|
|
1004
|
+
sourceField: 'thought', // Gemini uses `thought: true` on parts
|
|
1005
|
+
isHidden: false, // Not hidden since includeThoughts is true
|
|
1006
|
+
};
|
|
1007
|
+
if (thoughtSignature) {
|
|
1008
|
+
thinkingBlock.signature = thoughtSignature;
|
|
1009
|
+
}
|
|
1010
|
+
const thinkingContent = {
|
|
1011
|
+
speaker: 'ai',
|
|
1012
|
+
blocks: [thinkingBlock],
|
|
1013
|
+
};
|
|
1014
|
+
chunks.push(thinkingContent);
|
|
1015
|
+
}
|
|
919
1016
|
if (text) {
|
|
920
1017
|
const textContent = {
|
|
921
1018
|
speaker: 'ai',
|
|
@@ -1007,7 +1104,7 @@ export class GeminiProvider extends BaseProvider {
|
|
|
1007
1104
|
},
|
|
1008
1105
|
],
|
|
1009
1106
|
},
|
|
1010
|
-
...
|
|
1107
|
+
...contentsWithSignatures,
|
|
1011
1108
|
];
|
|
1012
1109
|
const oauthConfig = { ...requestConfig };
|
|
1013
1110
|
const oauthRequest = {
|
|
@@ -1025,7 +1122,7 @@ export class GeminiProvider extends BaseProvider {
|
|
|
1025
1122
|
if (!streamingEnabled && generatorWithStream.generateContent) {
|
|
1026
1123
|
const response = await generatorWithStream.generateContent(oauthRequest, sessionId);
|
|
1027
1124
|
let yielded = false;
|
|
1028
|
-
for (const chunk of mapResponseToChunks(response)) {
|
|
1125
|
+
for (const chunk of mapResponseToChunks(response, reasoningIncludeInResponse)) {
|
|
1029
1126
|
yielded = true;
|
|
1030
1127
|
yield chunk;
|
|
1031
1128
|
}
|
|
@@ -1066,7 +1163,7 @@ export class GeminiProvider extends BaseProvider {
|
|
|
1066
1163
|
const systemInstruction = await getCoreSystemPromptAsync(userMemory, currentModel, toolNamesForPrompt);
|
|
1067
1164
|
const apiRequest = {
|
|
1068
1165
|
model: currentModel,
|
|
1069
|
-
contents,
|
|
1166
|
+
contents: contentsWithSignatures,
|
|
1070
1167
|
systemInstruction,
|
|
1071
1168
|
config: { ...requestConfig },
|
|
1072
1169
|
};
|
|
@@ -1076,7 +1173,7 @@ export class GeminiProvider extends BaseProvider {
|
|
|
1076
1173
|
else {
|
|
1077
1174
|
const response = await contentGenerator.generateContent(apiRequest);
|
|
1078
1175
|
let yielded = false;
|
|
1079
|
-
for (const chunk of mapResponseToChunks(response)) {
|
|
1176
|
+
for (const chunk of mapResponseToChunks(response, reasoningIncludeInResponse)) {
|
|
1080
1177
|
yielded = true;
|
|
1081
1178
|
yield chunk;
|
|
1082
1179
|
}
|
|
@@ -1095,7 +1192,7 @@ export class GeminiProvider extends BaseProvider {
|
|
|
1095
1192
|
if (done) {
|
|
1096
1193
|
break;
|
|
1097
1194
|
}
|
|
1098
|
-
const mapped = mapResponseToChunks(value);
|
|
1195
|
+
const mapped = mapResponseToChunks(value, reasoningIncludeInResponse);
|
|
1099
1196
|
if (mapped.length === 0) {
|
|
1100
1197
|
continue;
|
|
1101
1198
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiProvider.js","sourceRoot":"","sources":["../../../../src/providers/gemini/GeminiProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeminiProvider.js","sourceRoot":"","sources":["../../../../src/providers/gemini/GeminiProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Part } from '@google/genai';
|
|
7
|
+
/**
|
|
8
|
+
* Synthetic thought signature used when a functionCall part lacks one.
|
|
9
|
+
* This bypasses Gemini 3.x validation without containing actual reasoning.
|
|
10
|
+
*
|
|
11
|
+
* @see https://ai.google.dev/gemini-api/docs/thought-signatures
|
|
12
|
+
*/
|
|
13
|
+
export declare const SYNTHETIC_THOUGHT_SIGNATURE = "skip_thought_signature_validator";
|
|
14
|
+
/**
|
|
15
|
+
* Content structure matching Gemini API format
|
|
16
|
+
*/
|
|
17
|
+
interface Content {
|
|
18
|
+
role: string;
|
|
19
|
+
parts: Part[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Ensures that all functionCall parts in the "active loop" have a thoughtSignature.
|
|
23
|
+
*
|
|
24
|
+
* The active loop is defined as all content from the last user message with text
|
|
25
|
+
* (not a functionResponse) to the end of the history. Gemini 3.x requires that
|
|
26
|
+
* the first functionCall part in each model turn within this active loop has
|
|
27
|
+
* a thoughtSignature property.
|
|
28
|
+
*
|
|
29
|
+
* This function:
|
|
30
|
+
* 1. Finds the start of the active loop by locating the last user turn with text
|
|
31
|
+
* 2. For each model turn in the active loop, ensures the first functionCall has a signature
|
|
32
|
+
* 3. Preserves existing signatures if present
|
|
33
|
+
* 4. Adds a synthetic signature if missing
|
|
34
|
+
*
|
|
35
|
+
* @param requestContents - The conversation history to process
|
|
36
|
+
* @returns A new array with thoughtSignatures ensured (shallow copy if modified)
|
|
37
|
+
*/
|
|
38
|
+
export declare function ensureActiveLoopHasThoughtSignatures(requestContents: Content[]): Content[];
|
|
39
|
+
/**
|
|
40
|
+
* Strips thought content from history before sending to the API.
|
|
41
|
+
* Gemini returns parts with `thought: true` for reasoning content,
|
|
42
|
+
* and these should not be sent back in subsequent requests.
|
|
43
|
+
*
|
|
44
|
+
* Also removes thoughtSignature properties to clean up the history.
|
|
45
|
+
*
|
|
46
|
+
* @param contents - The conversation history
|
|
47
|
+
* @param policy - How to strip thoughts: 'all' removes all, 'allButLast' keeps last model turn, 'none' keeps all
|
|
48
|
+
* @returns A new array with thought content stripped according to policy
|
|
49
|
+
*/
|
|
50
|
+
export declare function stripThoughtsFromHistory(contents: Content[], policy?: 'all' | 'allButLast' | 'none'): Content[];
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Synthetic thought signature used when a functionCall part lacks one.
|
|
8
|
+
* This bypasses Gemini 3.x validation without containing actual reasoning.
|
|
9
|
+
*
|
|
10
|
+
* @see https://ai.google.dev/gemini-api/docs/thought-signatures
|
|
11
|
+
*/
|
|
12
|
+
export const SYNTHETIC_THOUGHT_SIGNATURE = 'skip_thought_signature_validator';
|
|
13
|
+
/**
|
|
14
|
+
* Ensures that all functionCall parts in the "active loop" have a thoughtSignature.
|
|
15
|
+
*
|
|
16
|
+
* The active loop is defined as all content from the last user message with text
|
|
17
|
+
* (not a functionResponse) to the end of the history. Gemini 3.x requires that
|
|
18
|
+
* the first functionCall part in each model turn within this active loop has
|
|
19
|
+
* a thoughtSignature property.
|
|
20
|
+
*
|
|
21
|
+
* This function:
|
|
22
|
+
* 1. Finds the start of the active loop by locating the last user turn with text
|
|
23
|
+
* 2. For each model turn in the active loop, ensures the first functionCall has a signature
|
|
24
|
+
* 3. Preserves existing signatures if present
|
|
25
|
+
* 4. Adds a synthetic signature if missing
|
|
26
|
+
*
|
|
27
|
+
* @param requestContents - The conversation history to process
|
|
28
|
+
* @returns A new array with thoughtSignatures ensured (shallow copy if modified)
|
|
29
|
+
*/
|
|
30
|
+
export function ensureActiveLoopHasThoughtSignatures(requestContents) {
|
|
31
|
+
// Find the start of the active loop by finding the last user turn
|
|
32
|
+
// with a text message, i.e. that is not just a functionResponse.
|
|
33
|
+
let activeLoopStartIndex = -1;
|
|
34
|
+
for (let i = requestContents.length - 1; i >= 0; i--) {
|
|
35
|
+
const content = requestContents[i];
|
|
36
|
+
if (content.role === 'user' &&
|
|
37
|
+
content.parts?.some((part) => 'text' in part && part.text)) {
|
|
38
|
+
activeLoopStartIndex = i;
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// No active loop found - return unchanged
|
|
43
|
+
if (activeLoopStartIndex === -1) {
|
|
44
|
+
return requestContents;
|
|
45
|
+
}
|
|
46
|
+
// Track if any modifications are needed
|
|
47
|
+
let needsModification = false;
|
|
48
|
+
// Check if we need to modify anything
|
|
49
|
+
for (let i = activeLoopStartIndex; i < requestContents.length; i++) {
|
|
50
|
+
const content = requestContents[i];
|
|
51
|
+
if (content.role === 'model' && content.parts) {
|
|
52
|
+
for (const part of content.parts) {
|
|
53
|
+
if ('functionCall' in part && part.functionCall) {
|
|
54
|
+
const partWithSig = part;
|
|
55
|
+
if (!partWithSig.thoughtSignature) {
|
|
56
|
+
needsModification = true;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
// Only the first functionCall matters, so break after checking it
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (needsModification)
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
// No modifications needed - return unchanged
|
|
68
|
+
if (!needsModification) {
|
|
69
|
+
return requestContents;
|
|
70
|
+
}
|
|
71
|
+
// Create shallow copy and modify
|
|
72
|
+
const newContents = requestContents.slice();
|
|
73
|
+
for (let i = activeLoopStartIndex; i < newContents.length; i++) {
|
|
74
|
+
const content = newContents[i];
|
|
75
|
+
if (content.role === 'model' && content.parts) {
|
|
76
|
+
const newParts = content.parts.slice();
|
|
77
|
+
let modified = false;
|
|
78
|
+
for (let j = 0; j < newParts.length; j++) {
|
|
79
|
+
const part = newParts[j];
|
|
80
|
+
if ('functionCall' in part && part.functionCall) {
|
|
81
|
+
const partWithSig = part;
|
|
82
|
+
if (!partWithSig.thoughtSignature) {
|
|
83
|
+
// Create new part with signature
|
|
84
|
+
newParts[j] = {
|
|
85
|
+
...part,
|
|
86
|
+
thoughtSignature: SYNTHETIC_THOUGHT_SIGNATURE,
|
|
87
|
+
};
|
|
88
|
+
modified = true;
|
|
89
|
+
}
|
|
90
|
+
// Only the first functionCall in the turn gets a signature
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (modified) {
|
|
95
|
+
newContents[i] = {
|
|
96
|
+
...content,
|
|
97
|
+
parts: newParts,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return newContents;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Strips thought content from history before sending to the API.
|
|
106
|
+
* Gemini returns parts with `thought: true` for reasoning content,
|
|
107
|
+
* and these should not be sent back in subsequent requests.
|
|
108
|
+
*
|
|
109
|
+
* Also removes thoughtSignature properties to clean up the history.
|
|
110
|
+
*
|
|
111
|
+
* @param contents - The conversation history
|
|
112
|
+
* @param policy - How to strip thoughts: 'all' removes all, 'allButLast' keeps last model turn, 'none' keeps all
|
|
113
|
+
* @returns A new array with thought content stripped according to policy
|
|
114
|
+
*/
|
|
115
|
+
export function stripThoughtsFromHistory(contents, policy = 'all') {
|
|
116
|
+
if (policy === 'none') {
|
|
117
|
+
return contents;
|
|
118
|
+
}
|
|
119
|
+
// Find the last model turn index if needed
|
|
120
|
+
let lastModelTurnIndex = -1;
|
|
121
|
+
if (policy === 'allButLast') {
|
|
122
|
+
for (let i = contents.length - 1; i >= 0; i--) {
|
|
123
|
+
if (contents[i].role === 'model') {
|
|
124
|
+
lastModelTurnIndex = i;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
let needsModification = false;
|
|
130
|
+
// Check if we need to modify anything
|
|
131
|
+
for (let i = 0; i < contents.length; i++) {
|
|
132
|
+
const content = contents[i];
|
|
133
|
+
if (content.role !== 'model' || !content.parts)
|
|
134
|
+
continue;
|
|
135
|
+
// Skip last model turn if policy is 'allButLast'
|
|
136
|
+
if (policy === 'allButLast' && i === lastModelTurnIndex)
|
|
137
|
+
continue;
|
|
138
|
+
for (const part of content.parts) {
|
|
139
|
+
const partWithThought = part;
|
|
140
|
+
const partWithSig = part;
|
|
141
|
+
if (partWithThought.thought || partWithSig.thoughtSignature) {
|
|
142
|
+
needsModification = true;
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (needsModification)
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
if (!needsModification) {
|
|
150
|
+
return contents;
|
|
151
|
+
}
|
|
152
|
+
// Create new array with thoughts stripped
|
|
153
|
+
const newContents = [];
|
|
154
|
+
for (let i = 0; i < contents.length; i++) {
|
|
155
|
+
const content = contents[i];
|
|
156
|
+
if (content.role !== 'model' || !content.parts) {
|
|
157
|
+
newContents.push(content);
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
// Skip stripping for last model turn if policy is 'allButLast'
|
|
161
|
+
if (policy === 'allButLast' && i === lastModelTurnIndex) {
|
|
162
|
+
newContents.push(content);
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
// Filter out thought parts and remove thoughtSignature
|
|
166
|
+
const filteredParts = content.parts
|
|
167
|
+
.filter((part) => {
|
|
168
|
+
const partWithThought = part;
|
|
169
|
+
return !partWithThought.thought;
|
|
170
|
+
})
|
|
171
|
+
.map((part) => {
|
|
172
|
+
const partWithSig = part;
|
|
173
|
+
if (partWithSig.thoughtSignature) {
|
|
174
|
+
const { thoughtSignature: _, ...restPart } = partWithSig;
|
|
175
|
+
return restPart;
|
|
176
|
+
}
|
|
177
|
+
return part;
|
|
178
|
+
});
|
|
179
|
+
// Only add content if it has remaining parts
|
|
180
|
+
if (filteredParts.length > 0) {
|
|
181
|
+
newContents.push({
|
|
182
|
+
...content,
|
|
183
|
+
parts: filteredParts,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return newContents;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=thoughtSignatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thoughtSignatures.js","sourceRoot":"","sources":["../../../../src/providers/gemini/thoughtSignatures.ts"],"names":[],"mappings":"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"}
|