@vybestack/llxprt-code-core 0.5.0-nightly.251123.79a9619f1 → 0.5.0-nightly.251125.6be1c4fa2
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/README.md +0 -244
- package/dist/src/agents/codebase-investigator.d.ts +46 -0
- package/dist/src/agents/codebase-investigator.js +136 -0
- package/dist/src/agents/codebase-investigator.js.map +1 -0
- package/dist/src/agents/executor.d.ts +92 -0
- package/dist/src/agents/executor.js +624 -0
- package/dist/src/agents/executor.js.map +1 -0
- package/dist/src/agents/invocation.d.ts +45 -0
- package/dist/src/agents/invocation.js +106 -0
- package/dist/src/agents/invocation.js.map +1 -0
- package/dist/src/agents/registry.d.ts +36 -0
- package/dist/src/agents/registry.js +61 -0
- package/dist/src/agents/registry.js.map +1 -0
- package/dist/src/agents/types.d.ts +145 -0
- package/dist/src/agents/types.js +17 -0
- package/dist/src/agents/types.js.map +1 -0
- package/dist/src/agents/utils.d.ts +15 -0
- package/dist/src/agents/utils.js +27 -0
- package/dist/src/agents/utils.js.map +1 -0
- package/dist/src/auth/types.d.ts +2 -2
- package/dist/src/config/config.d.ts +36 -8
- package/dist/src/config/config.js +63 -16
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/constants.d.ts +11 -0
- package/dist/src/config/constants.js +16 -0
- package/dist/src/config/constants.js.map +1 -0
- package/dist/src/core/baseLlmClient.d.ts +77 -0
- package/dist/src/core/baseLlmClient.js +175 -0
- package/dist/src/core/baseLlmClient.js.map +1 -0
- package/dist/src/core/client.d.ts +12 -0
- package/dist/src/core/client.js +75 -109
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +2 -0
- package/dist/src/core/coreToolScheduler.js +24 -4
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +8 -1
- package/dist/src/core/geminiChat.js +28 -21
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/turn.d.ts +1 -4
- package/dist/src/core/turn.js +2 -12
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/ide/ide-client.js +3 -3
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +2 -0
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
- package/dist/src/mcp/sa-impersonation-provider.js +130 -0
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.js +2 -2
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.js +4 -4
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/runtime/createAgentRuntimeContext.js +8 -7
- package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -1
- package/dist/src/services/fileSystemService.d.ts +9 -0
- package/dist/src/services/fileSystemService.js +12 -1
- package/dist/src/services/fileSystemService.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +46 -3
- package/dist/src/services/shellExecutionService.js +189 -55
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/storage/sessionTypes.d.ts +27 -0
- package/dist/src/storage/sessionTypes.js +10 -0
- package/dist/src/storage/sessionTypes.js.map +1 -0
- package/dist/src/telemetry/constants.d.ts +8 -0
- package/dist/src/telemetry/constants.js +8 -0
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +9 -1
- package/dist/src/telemetry/loggers.js +154 -2
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +5 -0
- package/dist/src/telemetry/metrics.js +4 -0
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +62 -1
- package/dist/src/telemetry/types.js +92 -0
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/config.js +14 -0
- package/dist/src/test-utils/config.js.map +1 -1
- package/dist/src/tools/glob.d.ts +3 -2
- package/dist/src/tools/glob.js +1 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/ls.d.ts +1 -1
- package/dist/src/tools/ls.js +1 -1
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +9 -18
- package/dist/src/tools/mcp-client.js +50 -97
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +1 -0
- package/dist/src/tools/memoryTool.js +2 -0
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.d.ts +1 -1
- package/dist/src/tools/modifiable-tool.js +9 -1
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/shell.js +66 -5
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/smart-edit.d.ts +19 -0
- package/dist/src/tools/smart-edit.js +105 -3
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +1 -0
- package/dist/src/tools/tool-error.js +1 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tools.d.ts +2 -1
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.d.ts +2 -2
- package/dist/src/utils/editor.js +5 -3
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/getFolderStructure.d.ts +2 -2
- package/dist/src/utils/getFolderStructure.js +1 -1
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.js +10 -1
- package/dist/src/utils/llm-edit-fixer.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +2 -1
- package/dist/src/utils/memoryDiscovery.js +3 -2
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.js +13 -20
- package/dist/src/utils/memoryImportProcessor.js.map +1 -1
- package/dist/src/utils/retry.d.ts +5 -1
- package/dist/src/utils/retry.js +31 -16
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +11 -1
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +1 -0
- package/dist/src/utils/shell-utils.js +6 -2
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/terminalSerializer.d.ts +28 -0
- package/dist/src/utils/terminalSerializer.js +418 -0
- package/dist/src/utils/terminalSerializer.js.map +1 -0
- package/dist/src/utils/thoughtUtils.d.ts +21 -0
- package/dist/src/utils/thoughtUtils.js +39 -0
- package/dist/src/utils/thoughtUtils.js.map +1 -0
- package/dist/src/utils/tool-utils.js +2 -2
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -30,6 +30,7 @@ export declare class GeminiClient {
|
|
|
30
30
|
private _pendingConfig?;
|
|
31
31
|
private _previousHistory?;
|
|
32
32
|
private _storedHistoryService?;
|
|
33
|
+
private currentSequenceModel;
|
|
33
34
|
private readonly loopDetector;
|
|
34
35
|
private lastPromptId?;
|
|
35
36
|
private readonly complexityAnalyzer;
|
|
@@ -59,6 +60,11 @@ export declare class GeminiClient {
|
|
|
59
60
|
private readonly runtimeState;
|
|
60
61
|
private _historyService?;
|
|
61
62
|
private _unsubscribe?;
|
|
63
|
+
/**
|
|
64
|
+
* BaseLLMClient for stateless utility operations (generateJson, embeddings, etc.)
|
|
65
|
+
* Lazily initialized when needed
|
|
66
|
+
*/
|
|
67
|
+
private _baseLlmClient?;
|
|
62
68
|
/**
|
|
63
69
|
* @plan PLAN-20251027-STATELESS5.P10
|
|
64
70
|
* @requirement REQ-STAT5-003.1
|
|
@@ -74,6 +80,11 @@ export declare class GeminiClient {
|
|
|
74
80
|
private lazyInitialize;
|
|
75
81
|
getContentGenerator(): ContentGenerator;
|
|
76
82
|
getUserTier(): UserTierId | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Get or create the BaseLLMClient for stateless utility operations.
|
|
85
|
+
* This is lazily initialized to avoid creating it when not needed.
|
|
86
|
+
*/
|
|
87
|
+
private getBaseLlmClient;
|
|
77
88
|
private processComplexityAnalysis;
|
|
78
89
|
private shouldEscalateReminder;
|
|
79
90
|
private isTodoToolCall;
|
|
@@ -113,6 +124,7 @@ export declare class GeminiClient {
|
|
|
113
124
|
setTools(): Promise<void>;
|
|
114
125
|
clearTools(): void;
|
|
115
126
|
resetChat(): Promise<void>;
|
|
127
|
+
getCurrentSequenceModel(): string | null;
|
|
116
128
|
addDirectoryContext(): Promise<void>;
|
|
117
129
|
generateDirectMessage(params: SendMessageParameters, promptId: string): Promise<GenerateContentResponse>;
|
|
118
130
|
startChat(extraHistory?: Content[]): Promise<GeminiChat>;
|
package/dist/src/core/client.js
CHANGED
|
@@ -7,7 +7,6 @@ import { getDirectoryContextString, getEnvironmentContext, } from '../utils/envi
|
|
|
7
7
|
import { Turn, GeminiEventType, DEFAULT_AGENT_ID, } from './turn.js';
|
|
8
8
|
import { CompressionStatus } from './turn.js';
|
|
9
9
|
import { getCoreSystemPromptAsync, getCompressionPrompt } from './prompts.js';
|
|
10
|
-
import { getResponseText } from '../utils/generateContentResponseUtilities.js';
|
|
11
10
|
import { reportError } from '../utils/errorReporting.js';
|
|
12
11
|
import { GeminiChat } from './geminiChat.js';
|
|
13
12
|
import { DebugLogger } from '../debug/index.js';
|
|
@@ -30,6 +29,7 @@ import { TodoStore } from '../tools/todo-store.js';
|
|
|
30
29
|
import { isFunctionResponse } from '../utils/messageInspectors.js';
|
|
31
30
|
import { estimateTokens as estimateTextTokens } from '../utils/toolOutputLimiter.js';
|
|
32
31
|
import { subscribeToAgentRuntimeState } from '../runtime/AgentRuntimeState.js';
|
|
32
|
+
import { BaseLLMClient } from './baseLlmClient.js';
|
|
33
33
|
const COMPLEXITY_ESCALATION_TURN_THRESHOLD = 3;
|
|
34
34
|
const TODO_PROMPT_SUFFIX = 'Use TODO List to organize this effort.';
|
|
35
35
|
function isThinkingSupported(model) {
|
|
@@ -37,20 +37,6 @@ function isThinkingSupported(model) {
|
|
|
37
37
|
return true;
|
|
38
38
|
return false;
|
|
39
39
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Extracts JSON from a string that might be wrapped in markdown code blocks
|
|
42
|
-
* @param text - The raw text that might contain markdown-wrapped JSON
|
|
43
|
-
* @returns The extracted JSON string or the original text if no markdown found
|
|
44
|
-
*/
|
|
45
|
-
function extractJsonFromMarkdown(text) {
|
|
46
|
-
// Try to match ```json ... ``` or ``` ... ```
|
|
47
|
-
const markdownMatch = text.match(/```(?:json)?\s*\n?([\s\S]*?)\n?```/);
|
|
48
|
-
if (markdownMatch && markdownMatch[1]) {
|
|
49
|
-
return markdownMatch[1].trim();
|
|
50
|
-
}
|
|
51
|
-
// If no markdown found, return trimmed original text
|
|
52
|
-
return text.trim();
|
|
53
|
-
}
|
|
54
40
|
/**
|
|
55
41
|
* Returns the index of the content after the fraction of the total characters in the history.
|
|
56
42
|
*
|
|
@@ -66,7 +52,6 @@ export function findCompressSplitPoint(contents, fraction) {
|
|
|
66
52
|
let lastSplitPoint = 0;
|
|
67
53
|
let cumulativeCharCount = 0;
|
|
68
54
|
for (let i = 0; i < contents.length; i++) {
|
|
69
|
-
cumulativeCharCount += charCounts[i];
|
|
70
55
|
const content = contents[i];
|
|
71
56
|
const hasFunctionResponse = content.parts?.some((part) => !!part.functionResponse);
|
|
72
57
|
if (content.role === 'user' && !hasFunctionResponse) {
|
|
@@ -75,6 +60,7 @@ export function findCompressSplitPoint(contents, fraction) {
|
|
|
75
60
|
}
|
|
76
61
|
lastSplitPoint = i;
|
|
77
62
|
}
|
|
63
|
+
cumulativeCharCount += charCounts[i];
|
|
78
64
|
}
|
|
79
65
|
const lastContent = contents[contents.length - 1];
|
|
80
66
|
if (lastContent?.role === 'model' &&
|
|
@@ -98,6 +84,7 @@ export class GeminiClient {
|
|
|
98
84
|
_pendingConfig;
|
|
99
85
|
_previousHistory;
|
|
100
86
|
_storedHistoryService;
|
|
87
|
+
currentSequenceModel = null;
|
|
101
88
|
loopDetector;
|
|
102
89
|
lastPromptId;
|
|
103
90
|
complexityAnalyzer;
|
|
@@ -127,6 +114,11 @@ export class GeminiClient {
|
|
|
127
114
|
runtimeState;
|
|
128
115
|
_historyService;
|
|
129
116
|
_unsubscribe;
|
|
117
|
+
/**
|
|
118
|
+
* BaseLLMClient for stateless utility operations (generateJson, embeddings, etc.)
|
|
119
|
+
* Lazily initialized when needed
|
|
120
|
+
*/
|
|
121
|
+
_baseLlmClient;
|
|
130
122
|
/**
|
|
131
123
|
* @plan PLAN-20251027-STATELESS5.P10
|
|
132
124
|
* @requirement REQ-STAT5-003.1
|
|
@@ -222,6 +214,16 @@ export class GeminiClient {
|
|
|
222
214
|
getUserTier() {
|
|
223
215
|
return this.contentGenerator?.userTier;
|
|
224
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Get or create the BaseLLMClient for stateless utility operations.
|
|
219
|
+
* This is lazily initialized to avoid creating it when not needed.
|
|
220
|
+
*/
|
|
221
|
+
getBaseLlmClient() {
|
|
222
|
+
if (!this._baseLlmClient) {
|
|
223
|
+
this._baseLlmClient = new BaseLLMClient(this.getContentGenerator());
|
|
224
|
+
}
|
|
225
|
+
return this._baseLlmClient;
|
|
226
|
+
}
|
|
225
227
|
processComplexityAnalysis(analysis) {
|
|
226
228
|
if (!this.todoToolsAvailable) {
|
|
227
229
|
this.consecutiveComplexTurns = 0;
|
|
@@ -526,6 +528,9 @@ export class GeminiClient {
|
|
|
526
528
|
// Clear the stored history as well
|
|
527
529
|
this._previousHistory = [];
|
|
528
530
|
}
|
|
531
|
+
getCurrentSequenceModel() {
|
|
532
|
+
return this.currentSequenceModel;
|
|
533
|
+
}
|
|
529
534
|
async addDirectoryContext() {
|
|
530
535
|
if (!this.chat) {
|
|
531
536
|
return;
|
|
@@ -839,6 +844,7 @@ export class GeminiClient {
|
|
|
839
844
|
if (this.lastPromptId !== prompt_id) {
|
|
840
845
|
this.loopDetector.reset(prompt_id);
|
|
841
846
|
this.lastPromptId = prompt_id;
|
|
847
|
+
this.currentSequenceModel = null;
|
|
842
848
|
}
|
|
843
849
|
this.sessionTurnCount++;
|
|
844
850
|
this.toolActivityCount = 0;
|
|
@@ -1082,78 +1088,61 @@ export class GeminiClient {
|
|
|
1082
1088
|
}
|
|
1083
1089
|
async generateJson(contents, schema, abortSignal, model, config = {}) {
|
|
1084
1090
|
await this.lazyInitialize();
|
|
1085
|
-
// Use the provided model parameter directly
|
|
1086
1091
|
const modelToUse = model;
|
|
1087
1092
|
try {
|
|
1088
1093
|
const userMemory = this.config.getUserMemory();
|
|
1089
|
-
// Provider name removed from prompt call signature
|
|
1090
1094
|
const systemInstruction = await getCoreSystemPromptAsync(userMemory, modelToUse, this.getEnabledToolNamesForPrompt());
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
+
// Convert Content[] to a single prompt for BaseLLMClient
|
|
1096
|
+
// This preserves the conversation context in the prompt
|
|
1097
|
+
const prompt = contents
|
|
1098
|
+
.map((c) => c.parts
|
|
1099
|
+
?.map((p) => ('text' in p ? p.text : ''))
|
|
1100
|
+
.filter(Boolean)
|
|
1101
|
+
.join('\n'))
|
|
1102
|
+
.filter(Boolean)
|
|
1103
|
+
.join('\n\n');
|
|
1104
|
+
// Use BaseLLMClient for the core JSON generation
|
|
1105
|
+
// This delegates to the stateless utility layer
|
|
1106
|
+
const baseLlmClient = this.getBaseLlmClient();
|
|
1107
|
+
const apiCall = async () => {
|
|
1108
|
+
try {
|
|
1109
|
+
return await baseLlmClient.generateJson({
|
|
1110
|
+
prompt,
|
|
1111
|
+
schema,
|
|
1112
|
+
model: modelToUse,
|
|
1113
|
+
temperature: config.temperature ?? this.generateContentConfig.temperature,
|
|
1114
|
+
systemInstruction,
|
|
1115
|
+
promptId: this.lastPromptId || this.config.getSessionId(),
|
|
1116
|
+
});
|
|
1117
|
+
}
|
|
1118
|
+
catch (error) {
|
|
1119
|
+
// Preserve abort signal behavior
|
|
1120
|
+
if (abortSignal.aborted) {
|
|
1121
|
+
throw error;
|
|
1122
|
+
}
|
|
1123
|
+
throw error;
|
|
1124
|
+
}
|
|
1095
1125
|
};
|
|
1096
|
-
const apiCall = () => this.getContentGenerator().generateContent({
|
|
1097
|
-
model: modelToUse,
|
|
1098
|
-
config: {
|
|
1099
|
-
...requestConfig,
|
|
1100
|
-
systemInstruction,
|
|
1101
|
-
responseJsonSchema: schema,
|
|
1102
|
-
responseMimeType: 'application/json',
|
|
1103
|
-
},
|
|
1104
|
-
contents,
|
|
1105
|
-
}, this.lastPromptId || this.config.getSessionId());
|
|
1106
1126
|
const result = await retryWithBackoff(apiCall);
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
text = text
|
|
1118
|
-
.substring(prefix.length, text.length - suffix.length)
|
|
1119
|
-
.trim();
|
|
1120
|
-
}
|
|
1121
|
-
try {
|
|
1122
|
-
// Extract JSON from potential markdown wrapper
|
|
1123
|
-
const cleanedText = extractJsonFromMarkdown(text);
|
|
1124
|
-
// Special case: Gemini sometimes returns just "user" or "model" for next speaker checks
|
|
1125
|
-
// This happens particularly with non-ASCII content in the conversation
|
|
1126
|
-
if ((cleanedText === 'user' || cleanedText === 'model') &&
|
|
1127
|
-
contents.some((c) => c.parts?.some((p) => 'text' in p && p.text?.includes('next_speaker')))) {
|
|
1128
|
-
this.logger.warn(() => `[generateJson] Gemini returned plain text "${cleanedText}" instead of JSON for next speaker check. Converting to valid response.`);
|
|
1129
|
-
return {
|
|
1130
|
-
reasoning: 'Gemini returned plain text response',
|
|
1131
|
-
next_speaker: cleanedText,
|
|
1132
|
-
};
|
|
1133
|
-
}
|
|
1134
|
-
return JSON.parse(cleanedText);
|
|
1135
|
-
}
|
|
1136
|
-
catch (parseError) {
|
|
1137
|
-
// Log both the original and cleaned text for debugging
|
|
1138
|
-
await reportError(parseError, 'Failed to parse JSON response from generateJson.', {
|
|
1139
|
-
responseTextFailedToParse: text,
|
|
1140
|
-
cleanedTextFailedToParse: extractJsonFromMarkdown(text),
|
|
1141
|
-
originalRequestContents: contents,
|
|
1142
|
-
}, 'generateJson-parse');
|
|
1143
|
-
throw new Error(`Failed to parse API response as JSON: ${getErrorMessage(parseError)}`);
|
|
1127
|
+
// Special case: Gemini sometimes returns just "user" or "model" for next speaker checks
|
|
1128
|
+
// This happens particularly with non-ASCII content in the conversation
|
|
1129
|
+
if (typeof result === 'string' &&
|
|
1130
|
+
(result === 'user' || result === 'model') &&
|
|
1131
|
+
contents.some((c) => c.parts?.some((p) => 'text' in p && p.text?.includes('next_speaker')))) {
|
|
1132
|
+
this.logger.warn(() => `[generateJson] Gemini returned plain text "${result}" instead of JSON for next speaker check. Converting to valid response.`);
|
|
1133
|
+
return {
|
|
1134
|
+
reasoning: 'Gemini returned plain text response',
|
|
1135
|
+
next_speaker: result,
|
|
1136
|
+
};
|
|
1144
1137
|
}
|
|
1138
|
+
return result;
|
|
1145
1139
|
}
|
|
1146
1140
|
catch (error) {
|
|
1147
1141
|
if (abortSignal.aborted) {
|
|
1148
1142
|
throw error;
|
|
1149
1143
|
}
|
|
1150
|
-
// Avoid double reporting for the empty response case handled above
|
|
1151
|
-
if (error instanceof Error &&
|
|
1152
|
-
error.message === 'API returned an empty response for generateJson.') {
|
|
1153
|
-
throw error;
|
|
1154
|
-
}
|
|
1155
1144
|
await reportError(error, 'Error generating JSON content via API.', contents, 'generateJson-api');
|
|
1156
|
-
throw
|
|
1145
|
+
throw error;
|
|
1157
1146
|
}
|
|
1158
1147
|
}
|
|
1159
1148
|
async generateContent(contents, generationConfig, abortSignal, model) {
|
|
@@ -1196,25 +1185,14 @@ export class GeminiClient {
|
|
|
1196
1185
|
if (!texts || texts.length === 0) {
|
|
1197
1186
|
return [];
|
|
1198
1187
|
}
|
|
1199
|
-
|
|
1188
|
+
// Delegate to BaseLLMClient for stateless embedding generation
|
|
1189
|
+
const baseLlmClient = this.getBaseLlmClient();
|
|
1190
|
+
const result = await baseLlmClient.generateEmbedding({
|
|
1191
|
+
text: texts,
|
|
1200
1192
|
model: this.embeddingModel,
|
|
1201
|
-
contents: texts,
|
|
1202
|
-
};
|
|
1203
|
-
const embedContentResponse = await this.getContentGenerator().embedContent(embedModelParams);
|
|
1204
|
-
if (!embedContentResponse.embeddings ||
|
|
1205
|
-
embedContentResponse.embeddings.length === 0) {
|
|
1206
|
-
throw new Error('No embeddings found in API response.');
|
|
1207
|
-
}
|
|
1208
|
-
if (embedContentResponse.embeddings.length !== texts.length) {
|
|
1209
|
-
throw new Error(`API returned a mismatched number of embeddings. Expected ${texts.length}, got ${embedContentResponse.embeddings.length}.`);
|
|
1210
|
-
}
|
|
1211
|
-
return embedContentResponse.embeddings.map((embedding, index) => {
|
|
1212
|
-
const values = embedding.values;
|
|
1213
|
-
if (!values || values.length === 0) {
|
|
1214
|
-
throw new Error(`API returned an empty embedding for input text at index ${index}: "${texts[index]}"`);
|
|
1215
|
-
}
|
|
1216
|
-
return values;
|
|
1217
1193
|
});
|
|
1194
|
+
// Result is already validated by BaseLLMClient
|
|
1195
|
+
return result;
|
|
1218
1196
|
}
|
|
1219
1197
|
/**
|
|
1220
1198
|
* Manually trigger chat compression
|
|
@@ -1239,24 +1217,12 @@ export class GeminiClient {
|
|
|
1239
1217
|
compressionStatus: CompressionStatus.NOOP,
|
|
1240
1218
|
};
|
|
1241
1219
|
}
|
|
1242
|
-
//
|
|
1220
|
+
// Use lastPromptTokenCount from telemetry service as the source of truth
|
|
1221
|
+
// This is more accurate than estimating from history
|
|
1222
|
+
const originalTokenCount = uiTelemetryService.getLastPromptTokenCount();
|
|
1243
1223
|
// @plan PLAN-20251027-STATELESS5.P10
|
|
1244
1224
|
// @requirement REQ-STAT5-003.1
|
|
1245
1225
|
const model = this.runtimeState.model;
|
|
1246
|
-
// Get the ACTUAL token count from the history service, not the curated subset
|
|
1247
|
-
const historyService = this.getChat().getHistoryService();
|
|
1248
|
-
const originalTokenCount = historyService
|
|
1249
|
-
? historyService.getTotalTokens()
|
|
1250
|
-
: 0;
|
|
1251
|
-
if (originalTokenCount === undefined) {
|
|
1252
|
-
console.warn(`Could not determine token count for model ${model}.`);
|
|
1253
|
-
this.hasFailedCompressionAttempt = !force && true;
|
|
1254
|
-
return {
|
|
1255
|
-
originalTokenCount: 0,
|
|
1256
|
-
newTokenCount: 0,
|
|
1257
|
-
compressionStatus: CompressionStatus.COMPRESSION_FAILED_TOKEN_COUNT_ERROR,
|
|
1258
|
-
};
|
|
1259
|
-
}
|
|
1260
1226
|
const contextPercentageThreshold = this.config.getChatCompression()?.contextPercentageThreshold;
|
|
1261
1227
|
// Don't compress if not forced and we are under the limit.
|
|
1262
1228
|
if (!force) {
|
|
@@ -1319,11 +1285,9 @@ export class GeminiClient {
|
|
|
1319
1285
|
compressionStatus: CompressionStatus.COMPRESSION_FAILED_TOKEN_COUNT_ERROR,
|
|
1320
1286
|
};
|
|
1321
1287
|
}
|
|
1322
|
-
uiTelemetryService.setLastPromptTokenCount(newTokenCount);
|
|
1323
1288
|
// TODO: Add proper telemetry logging once available
|
|
1324
1289
|
console.debug(`Chat compression: ${originalTokenCount} -> ${newTokenCount} tokens`);
|
|
1325
1290
|
if (newTokenCount > originalTokenCount) {
|
|
1326
|
-
this.getChat().setHistory(curatedHistory);
|
|
1327
1291
|
this.hasFailedCompressionAttempt = !force && true;
|
|
1328
1292
|
return {
|
|
1329
1293
|
originalTokenCount,
|
|
@@ -1333,6 +1297,8 @@ export class GeminiClient {
|
|
|
1333
1297
|
}
|
|
1334
1298
|
else {
|
|
1335
1299
|
this.chat = compressedChat; // Chat compression successful, set new state.
|
|
1300
|
+
// Update telemetry service with new token count
|
|
1301
|
+
uiTelemetryService.setLastPromptTokenCount(newTokenCount);
|
|
1336
1302
|
// Emit token update event for the new compressed chat
|
|
1337
1303
|
// This ensures the UI updates with the new token count
|
|
1338
1304
|
// Only emit if compression was successful
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,7 @@ interface CoreToolSchedulerOptions {
|
|
|
81
81
|
onToolCallsUpdate?: ToolCallsUpdateHandler;
|
|
82
82
|
getPreferredEditor: () => EditorType | undefined;
|
|
83
83
|
onEditorClose: () => void;
|
|
84
|
+
onEditorOpen?: () => void;
|
|
84
85
|
}
|
|
85
86
|
export declare class CoreToolScheduler {
|
|
86
87
|
private toolRegistry;
|
|
@@ -91,6 +92,7 @@ export declare class CoreToolScheduler {
|
|
|
91
92
|
private getPreferredEditor;
|
|
92
93
|
private config;
|
|
93
94
|
private onEditorClose;
|
|
95
|
+
private onEditorOpen?;
|
|
94
96
|
private isFinalizingToolCalls;
|
|
95
97
|
private isScheduling;
|
|
96
98
|
private requestQueue;
|