@vybestack/llxprt-code-core 0.1.23 → 0.2.2-nightly.250908.fb8099b7
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 +21 -17
- package/dist/src/adapters/IStreamAdapter.d.ts +3 -3
- package/dist/src/auth/oauth-errors.d.ts +173 -0
- package/dist/src/auth/oauth-errors.js +461 -0
- package/dist/src/auth/oauth-errors.js.map +1 -0
- package/dist/src/auth/precedence.d.ts +1 -5
- package/dist/src/auth/precedence.js +28 -48
- package/dist/src/auth/precedence.js.map +1 -1
- package/dist/src/auth/token-store.js +2 -2
- package/dist/src/auth/token-store.js.map +1 -1
- package/dist/src/auth/types.d.ts +4 -4
- package/dist/src/code_assist/codeAssist.js +19 -6
- package/dist/src/code_assist/codeAssist.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +7 -0
- package/dist/src/code_assist/oauth2.js +82 -32
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/server.js +15 -4
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/setup.js +9 -0
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/config/index.d.ts +7 -0
- package/dist/src/config/index.js +8 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/core/client.d.ts +15 -20
- package/dist/src/core/client.js +98 -124
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/compression-config.d.ts +10 -0
- package/dist/src/core/compression-config.js +17 -0
- package/dist/src/core/compression-config.js.map +1 -0
- package/dist/src/core/coreToolScheduler.js +50 -15
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +68 -9
- package/dist/src/core/geminiChat.js +940 -405
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.js +70 -19
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/prompts.js +35 -25
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/turn.d.ts +1 -0
- package/dist/src/core/turn.js +8 -6
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +1 -1
- package/dist/src/ide/ide-client.js +12 -6
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.js +5 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/prompt-config/TemplateEngine.js +17 -0
- package/dist/src/prompt-config/TemplateEngine.js.map +1 -1
- package/dist/src/prompt-config/defaults/core-defaults.js +39 -32
- package/dist/src/prompt-config/defaults/core-defaults.js.map +1 -1
- package/dist/src/prompt-config/defaults/core.md +2 -0
- package/dist/src/prompt-config/defaults/provider-defaults.js +34 -27
- package/dist/src/prompt-config/defaults/provider-defaults.js.map +1 -1
- package/dist/src/prompt-config/defaults/providers/gemini/core.md +270 -0
- package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/core.md +12 -0
- package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/gemini-2-5-flash/core.md +12 -0
- package/dist/src/prompt-config/types.d.ts +2 -0
- package/dist/src/providers/BaseProvider.d.ts +39 -13
- package/dist/src/providers/BaseProvider.js +102 -28
- package/dist/src/providers/BaseProvider.js.map +1 -1
- package/dist/src/providers/IProvider.d.ts +17 -3
- package/dist/src/providers/LoggingProviderWrapper.d.ts +10 -3
- package/dist/src/providers/LoggingProviderWrapper.js +33 -27
- package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
- package/dist/src/providers/ProviderContentGenerator.d.ts +2 -2
- package/dist/src/providers/ProviderContentGenerator.js +9 -6
- package/dist/src/providers/ProviderContentGenerator.js.map +1 -1
- package/dist/src/providers/ProviderManager.d.ts +4 -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 +34 -21
- package/dist/src/providers/anthropic/AnthropicProvider.js +505 -492
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/gemini/GeminiProvider.d.ts +23 -9
- package/dist/src/providers/gemini/GeminiProvider.js +344 -515
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/openai/ConversationCache.d.ts +3 -3
- package/dist/src/providers/openai/IChatGenerateParams.d.ts +9 -4
- package/dist/src/providers/openai/OpenAIProvider.d.ts +46 -96
- package/dist/src/providers/openai/OpenAIProvider.js +532 -1393
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/openai/buildResponsesRequest.d.ts +3 -3
- package/dist/src/providers/openai/buildResponsesRequest.js +67 -37
- package/dist/src/providers/openai/buildResponsesRequest.js.map +1 -1
- package/dist/src/providers/openai/estimateRemoteTokens.d.ts +2 -2
- package/dist/src/providers/openai/estimateRemoteTokens.js +21 -8
- package/dist/src/providers/openai/estimateRemoteTokens.js.map +1 -1
- package/dist/src/providers/openai/parseResponsesStream.d.ts +6 -2
- package/dist/src/providers/openai/parseResponsesStream.js +99 -391
- package/dist/src/providers/openai/parseResponsesStream.js.map +1 -1
- package/dist/src/providers/openai/syntheticToolResponses.d.ts +5 -5
- package/dist/src/providers/openai/syntheticToolResponses.js +102 -91
- package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -1
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +89 -0
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +451 -0
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -0
- package/dist/src/providers/openai-responses/index.d.ts +1 -0
- package/dist/src/providers/openai-responses/index.js +2 -0
- package/dist/src/providers/openai-responses/index.js.map +1 -0
- package/dist/src/providers/tokenizers/OpenAITokenizer.js +3 -3
- package/dist/src/providers/tokenizers/OpenAITokenizer.js.map +1 -1
- package/dist/src/providers/types.d.ts +1 -1
- package/dist/src/services/ClipboardService.d.ts +19 -0
- package/dist/src/services/ClipboardService.js +66 -0
- package/dist/src/services/ClipboardService.js.map +1 -0
- package/dist/src/services/history/ContentConverters.d.ts +43 -0
- package/dist/src/services/history/ContentConverters.js +325 -0
- package/dist/src/services/history/ContentConverters.js.map +1 -0
- package/dist/src/{providers/IMessage.d.ts → services/history/HistoryEvents.d.ts} +16 -22
- package/dist/src/{providers/IMessage.js → services/history/HistoryEvents.js} +1 -1
- package/dist/src/services/history/HistoryEvents.js.map +1 -0
- package/dist/src/services/history/HistoryService.d.ts +220 -0
- package/dist/src/services/history/HistoryService.js +673 -0
- package/dist/src/services/history/HistoryService.js.map +1 -0
- package/dist/src/services/history/IContent.d.ts +183 -0
- package/dist/src/services/history/IContent.js +104 -0
- package/dist/src/services/history/IContent.js.map +1 -0
- package/dist/src/services/index.d.ts +1 -0
- package/dist/src/services/index.js +1 -0
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +16 -4
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/tools/IToolFormatter.d.ts +2 -2
- package/dist/src/tools/ToolFormatter.d.ts +42 -4
- package/dist/src/tools/ToolFormatter.js +159 -37
- package/dist/src/tools/ToolFormatter.js.map +1 -1
- package/dist/src/tools/doubleEscapeUtils.d.ts +57 -0
- package/dist/src/tools/doubleEscapeUtils.js +241 -0
- package/dist/src/tools/doubleEscapeUtils.js.map +1 -0
- package/dist/src/tools/read-file.d.ts +6 -1
- package/dist/src/tools/read-file.js +25 -11
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/todo-schemas.d.ts +4 -4
- package/dist/src/tools/tools.js +13 -0
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +6 -1
- package/dist/src/tools/write-file.js +48 -26
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/types/modelParams.d.ts +8 -0
- package/dist/src/utils/bfsFileSearch.js +2 -6
- package/dist/src/utils/bfsFileSearch.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +16 -1
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/package.json +8 -7
- package/dist/src/providers/IMessage.js.map +0 -1
- package/dist/src/providers/adapters/GeminiCompatibleWrapper.d.ts +0 -69
- package/dist/src/providers/adapters/GeminiCompatibleWrapper.js +0 -577
- package/dist/src/providers/adapters/GeminiCompatibleWrapper.js.map +0 -1
@@ -16,6 +16,85 @@
|
|
16
16
|
import { DebugLogger } from '../debug/DebugLogger.js';
|
17
17
|
export class ToolFormatter {
|
18
18
|
logger = new DebugLogger('llxprt:tools:formatter');
|
19
|
+
/**
|
20
|
+
* Convert Gemini format tools directly to OpenAI format
|
21
|
+
* @param geminiTools Tools in Gemini format with functionDeclarations
|
22
|
+
* @returns Tools in OpenAI format with type: "function" wrapper
|
23
|
+
*/
|
24
|
+
convertGeminiToOpenAI(geminiTools) {
|
25
|
+
if (!geminiTools) {
|
26
|
+
this.logger.debug(() => `convertGeminiToOpenAI called with undefined tools`);
|
27
|
+
return undefined;
|
28
|
+
}
|
29
|
+
this.logger.debug(() => `convertGeminiToOpenAI input:`, {
|
30
|
+
toolGroupCount: geminiTools.length,
|
31
|
+
firstGroup: geminiTools[0]
|
32
|
+
? JSON.stringify(geminiTools[0]).substring(0, 500)
|
33
|
+
: 'undefined',
|
34
|
+
});
|
35
|
+
const openAITools = geminiTools.flatMap((toolGroup) => toolGroup.functionDeclarations.map((decl) => {
|
36
|
+
this.logger.debug(() => `Processing tool declaration for ${decl.name}`, {
|
37
|
+
hasParametersJsonSchema: !!decl.parametersJsonSchema,
|
38
|
+
parametersType: typeof decl.parametersJsonSchema,
|
39
|
+
parametersPreview: decl.parametersJsonSchema
|
40
|
+
? JSON.stringify(decl.parametersJsonSchema).substring(0, 200)
|
41
|
+
: 'undefined',
|
42
|
+
});
|
43
|
+
const convertedParams = this.convertGeminiSchemaToStandard(decl.parametersJsonSchema || {});
|
44
|
+
this.logger.debug(() => `Converting Gemini tool ${decl.name} to OpenAI format`, {
|
45
|
+
name: decl.name,
|
46
|
+
originalParams: decl.parametersJsonSchema,
|
47
|
+
convertedParams,
|
48
|
+
convertedParamsJSON: JSON.stringify(convertedParams),
|
49
|
+
});
|
50
|
+
return {
|
51
|
+
type: 'function',
|
52
|
+
function: {
|
53
|
+
name: decl.name,
|
54
|
+
description: decl.description || '',
|
55
|
+
parameters: convertedParams,
|
56
|
+
},
|
57
|
+
};
|
58
|
+
}));
|
59
|
+
this.logger.debug(() => `Converted ${openAITools.length} tools from Gemini to OpenAI format`, {
|
60
|
+
toolNames: openAITools.map((t) => t.function.name),
|
61
|
+
firstTool: openAITools[0],
|
62
|
+
firstToolParams: openAITools[0]
|
63
|
+
? JSON.stringify(openAITools[0].function.parameters)
|
64
|
+
: 'undefined',
|
65
|
+
});
|
66
|
+
return openAITools;
|
67
|
+
}
|
68
|
+
/**
|
69
|
+
* Convert Gemini format tools directly to Anthropic format
|
70
|
+
* @param geminiTools Tools in Gemini format with functionDeclarations
|
71
|
+
* @returns Tools in Anthropic format with input_schema
|
72
|
+
*/
|
73
|
+
convertGeminiToAnthropic(geminiTools) {
|
74
|
+
if (!geminiTools)
|
75
|
+
return undefined;
|
76
|
+
const anthropicTools = geminiTools.flatMap((toolGroup) => toolGroup.functionDeclarations.map((decl) => {
|
77
|
+
const convertedParams = this.convertGeminiSchemaToStandard(decl.parametersJsonSchema || {});
|
78
|
+
this.logger.debug(() => `Converting Gemini tool ${decl.name} to Anthropic format`, {
|
79
|
+
name: decl.name,
|
80
|
+
originalParams: decl.parametersJsonSchema,
|
81
|
+
convertedParams,
|
82
|
+
});
|
83
|
+
return {
|
84
|
+
name: decl.name,
|
85
|
+
description: decl.description || '',
|
86
|
+
input_schema: {
|
87
|
+
type: 'object',
|
88
|
+
...convertedParams,
|
89
|
+
},
|
90
|
+
};
|
91
|
+
}));
|
92
|
+
this.logger.debug(() => `Converted ${anthropicTools.length} tools from Gemini to Anthropic format`, {
|
93
|
+
toolNames: anthropicTools.map((t) => t.name),
|
94
|
+
firstTool: anthropicTools[0],
|
95
|
+
});
|
96
|
+
return anthropicTools;
|
97
|
+
}
|
19
98
|
/**
|
20
99
|
* Converts Gemini schema format (with uppercase Type enums) to standard JSON Schema format
|
21
100
|
*/
|
@@ -45,6 +124,31 @@ export class ToolFormatter {
|
|
45
124
|
if (newSchema.type) {
|
46
125
|
newSchema.type = String(newSchema.type).toLowerCase();
|
47
126
|
}
|
127
|
+
// Convert enum values if present (they should remain as-is)
|
128
|
+
// But ensure they're arrays of strings, not some other type
|
129
|
+
if (newSchema.enum && Array.isArray(newSchema.enum)) {
|
130
|
+
newSchema.enum = newSchema.enum.map((v) => String(v));
|
131
|
+
}
|
132
|
+
// Convert minLength from string to number if present
|
133
|
+
if (newSchema.minLength && typeof newSchema.minLength === 'string') {
|
134
|
+
const minLengthNum = parseInt(newSchema.minLength, 10);
|
135
|
+
if (!isNaN(minLengthNum)) {
|
136
|
+
newSchema.minLength = minLengthNum;
|
137
|
+
}
|
138
|
+
else {
|
139
|
+
delete newSchema.minLength;
|
140
|
+
}
|
141
|
+
}
|
142
|
+
// Convert maxLength from string to number if present
|
143
|
+
if (newSchema.maxLength && typeof newSchema.maxLength === 'string') {
|
144
|
+
const maxLengthNum = parseInt(newSchema.maxLength, 10);
|
145
|
+
if (!isNaN(maxLengthNum)) {
|
146
|
+
newSchema.maxLength = maxLengthNum;
|
147
|
+
}
|
148
|
+
else {
|
149
|
+
delete newSchema.maxLength;
|
150
|
+
}
|
151
|
+
}
|
48
152
|
return newSchema;
|
49
153
|
}
|
50
154
|
toProviderFormat(tools, format) {
|
@@ -54,12 +158,19 @@ export class ToolFormatter {
|
|
54
158
|
case 'qwen': // Qwen uses same format as OpenAI for now
|
55
159
|
this.logger.debug(() => `Converting ${tools.length} tools to ${format} format`);
|
56
160
|
return tools.map((tool) => {
|
161
|
+
const convertedParams = this.convertGeminiSchemaToStandard(tool.function.parameters);
|
162
|
+
// Special debug logging for TodoWrite to catch the issue
|
163
|
+
if (tool.function.name === 'todo_write' ||
|
164
|
+
tool.function.name === 'TodoWrite') {
|
165
|
+
this.logger.debug(() => `TodoWrite schema conversion - Original: ${JSON.stringify(tool.function.parameters, null, 2)}`);
|
166
|
+
this.logger.debug(() => `TodoWrite schema conversion - Converted: ${JSON.stringify(convertedParams, null, 2)}`);
|
167
|
+
}
|
57
168
|
const converted = {
|
58
169
|
type: 'function',
|
59
170
|
function: {
|
60
171
|
name: tool.function.name,
|
61
172
|
description: tool.function.description,
|
62
|
-
parameters:
|
173
|
+
parameters: convertedParams,
|
63
174
|
},
|
64
175
|
};
|
65
176
|
this.logger.debug(() => `Converted tool ${tool.function.name} to ${format} format:`, {
|
@@ -158,12 +269,10 @@ export class ToolFormatter {
|
|
158
269
|
}
|
159
270
|
return [
|
160
271
|
{
|
272
|
+
type: 'tool_call',
|
161
273
|
id: openAiToolCall.id,
|
162
|
-
|
163
|
-
|
164
|
-
name: openAiToolCall.function.name,
|
165
|
-
arguments: openAiToolCall.function.arguments,
|
166
|
-
},
|
274
|
+
name: openAiToolCall.function.name,
|
275
|
+
parameters: JSON.parse(openAiToolCall.function.arguments),
|
167
276
|
},
|
168
277
|
];
|
169
278
|
}
|
@@ -176,14 +285,10 @@ export class ToolFormatter {
|
|
176
285
|
}
|
177
286
|
return [
|
178
287
|
{
|
288
|
+
type: 'tool_call',
|
179
289
|
id: anthropicToolCall.id,
|
180
|
-
|
181
|
-
|
182
|
-
name: anthropicToolCall.name,
|
183
|
-
arguments: anthropicToolCall.input
|
184
|
-
? JSON.stringify(anthropicToolCall.input)
|
185
|
-
: '',
|
186
|
-
},
|
290
|
+
name: anthropicToolCall.name,
|
291
|
+
parameters: anthropicToolCall.input || {},
|
187
292
|
},
|
188
293
|
];
|
189
294
|
}
|
@@ -195,12 +300,10 @@ export class ToolFormatter {
|
|
195
300
|
}
|
196
301
|
return [
|
197
302
|
{
|
303
|
+
type: 'tool_call',
|
198
304
|
id: `hermes_${Date.now()}_${Math.random().toString(36).substring(7)}`,
|
199
|
-
|
200
|
-
|
201
|
-
name: hermesToolCall.name,
|
202
|
-
arguments: JSON.stringify(hermesToolCall.arguments || {}),
|
203
|
-
},
|
305
|
+
name: hermesToolCall.name,
|
306
|
+
parameters: hermesToolCall.arguments || {},
|
204
307
|
},
|
205
308
|
];
|
206
309
|
}
|
@@ -212,12 +315,10 @@ export class ToolFormatter {
|
|
212
315
|
}
|
213
316
|
return [
|
214
317
|
{
|
318
|
+
type: 'tool_call',
|
215
319
|
id: `xml_${Date.now()}_${Math.random().toString(36).substring(7)}`,
|
216
|
-
|
217
|
-
|
218
|
-
name: xmlToolCall.name,
|
219
|
-
arguments: JSON.stringify(xmlToolCall.arguments || {}),
|
220
|
-
},
|
320
|
+
name: xmlToolCall.name,
|
321
|
+
parameters: xmlToolCall.arguments || {},
|
221
322
|
},
|
222
323
|
];
|
223
324
|
}
|
@@ -239,26 +340,32 @@ export class ToolFormatter {
|
|
239
340
|
if (deltaToolCall.index !== undefined) {
|
240
341
|
if (!accumulatedToolCalls[deltaToolCall.index]) {
|
241
342
|
accumulatedToolCalls[deltaToolCall.index] = {
|
343
|
+
type: 'tool_call',
|
242
344
|
id: deltaToolCall.id || '',
|
243
|
-
|
244
|
-
|
345
|
+
name: '',
|
346
|
+
parameters: {},
|
245
347
|
};
|
246
348
|
}
|
247
349
|
const tc = accumulatedToolCalls[deltaToolCall.index];
|
248
350
|
if (deltaToolCall.id)
|
249
351
|
tc.id = deltaToolCall.id;
|
250
352
|
if (deltaToolCall.function?.name)
|
251
|
-
tc.
|
353
|
+
tc.name = deltaToolCall.function.name;
|
252
354
|
if (deltaToolCall.function?.arguments) {
|
253
355
|
// Enhanced debug logging for all formats, especially Qwen
|
254
|
-
|
356
|
+
// Store accumulated arguments as string first, will parse at the end
|
357
|
+
if (!('_argumentsString' in tc)) {
|
358
|
+
tc._argumentsString =
|
359
|
+
'';
|
360
|
+
}
|
361
|
+
this.logger.debug(() => `[${format}] Accumulating argument chunk for tool ${tc.name}:`, {
|
255
362
|
format,
|
256
|
-
toolName: tc.
|
363
|
+
toolName: tc.name,
|
257
364
|
index: deltaToolCall.index,
|
258
365
|
chunk: deltaToolCall.function.arguments,
|
259
366
|
chunkLength: deltaToolCall.function.arguments.length,
|
260
|
-
currentAccumulated: tc.
|
261
|
-
currentAccumulatedLength: tc.
|
367
|
+
currentAccumulated: tc._argumentsString,
|
368
|
+
currentAccumulatedLength: tc._argumentsString.length,
|
262
369
|
startsWithQuote: deltaToolCall.function.arguments.startsWith('"'),
|
263
370
|
endsWithQuote: deltaToolCall.function.arguments.endsWith('"'),
|
264
371
|
containsEscapedQuote: deltaToolCall.function.arguments.includes('\\"'),
|
@@ -271,20 +378,35 @@ export class ToolFormatter {
|
|
271
378
|
if (chunk.includes('\\"[') ||
|
272
379
|
chunk.includes('\\\\"') ||
|
273
380
|
(chunk.startsWith('"\\"') && chunk.endsWith('\\""'))) {
|
274
|
-
this.logger.error(() => `[Qwen] Detected potential double-stringification in chunk for ${tc.
|
381
|
+
this.logger.error(() => `[Qwen] Detected potential double-stringification in chunk for ${tc.name}`, {
|
275
382
|
chunk,
|
276
383
|
pattern: 'Contains escaped quotes that suggest double-stringification',
|
277
384
|
});
|
278
385
|
}
|
279
386
|
}
|
280
|
-
tc.
|
387
|
+
tc._argumentsString +=
|
388
|
+
deltaToolCall.function.arguments;
|
281
389
|
// Log the accumulated state after adding chunk
|
282
|
-
this.logger.debug(() => `[${format}] After accumulation for ${tc.
|
283
|
-
totalLength: tc
|
284
|
-
|
285
|
-
|
286
|
-
|
390
|
+
this.logger.debug(() => `[${format}] After accumulation for ${tc.name}:`, {
|
391
|
+
totalLength: tc
|
392
|
+
._argumentsString.length,
|
393
|
+
preview: tc
|
394
|
+
._argumentsString.length > 100
|
395
|
+
? tc._argumentsString.substring(0, 100) + '...'
|
396
|
+
: tc
|
397
|
+
._argumentsString,
|
287
398
|
});
|
399
|
+
// Try to parse parameters
|
400
|
+
try {
|
401
|
+
const argsStr = tc
|
402
|
+
._argumentsString;
|
403
|
+
if (argsStr.trim()) {
|
404
|
+
tc.parameters = JSON.parse(argsStr);
|
405
|
+
}
|
406
|
+
}
|
407
|
+
catch {
|
408
|
+
// Keep accumulating, parameters will be set when complete
|
409
|
+
}
|
288
410
|
}
|
289
411
|
}
|
290
412
|
break;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ToolFormatter.js","sourceRoot":"","sources":["../../../src/tools/ToolFormatter.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ToolFormatter.js","sourceRoot":"","sources":["../../../src/tools/ToolFormatter.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright 2025 Vybestack LLC
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
/**
|
17
|
+
* Detects if a tool format should use double-escape handling
|
18
|
+
* @param toolFormat - The tool format to check
|
19
|
+
* @returns true if the format typically needs double-escape handling
|
20
|
+
*/
|
21
|
+
export declare function shouldUseDoubleEscapeHandling(toolFormat: string): boolean;
|
22
|
+
/**
|
23
|
+
* Checks if a JSON string appears to be double-stringified
|
24
|
+
* @param jsonString - The JSON string to check
|
25
|
+
* @returns Object with detection results and corrected value if applicable
|
26
|
+
*/
|
27
|
+
export declare function detectDoubleEscaping(jsonString: string): {
|
28
|
+
isDoubleEscaped: boolean;
|
29
|
+
correctedValue?: unknown;
|
30
|
+
originalValue: string;
|
31
|
+
detectionDetails: {
|
32
|
+
firstParse?: string;
|
33
|
+
secondParse?: unknown;
|
34
|
+
error?: string;
|
35
|
+
};
|
36
|
+
};
|
37
|
+
/**
|
38
|
+
* Detects double-escaping in streaming tool call chunks
|
39
|
+
* @param chunk - The streaming chunk to analyze
|
40
|
+
* @returns true if double-escaping patterns are detected
|
41
|
+
*/
|
42
|
+
export declare function detectDoubleEscapingInChunk(chunk: string): boolean;
|
43
|
+
/**
|
44
|
+
* Processes tool call parameters, fixing double-escaping if detected
|
45
|
+
* @param parametersString - The JSON string containing tool parameters
|
46
|
+
* @param toolName - Name of the tool (for logging)
|
47
|
+
* @param format - The tool format being used (for context)
|
48
|
+
* @returns Processed parameters object
|
49
|
+
*/
|
50
|
+
export declare function processToolParameters(parametersString: string, toolName: string, format: string): unknown;
|
51
|
+
/**
|
52
|
+
* Logs double-escaping detection in streaming chunks (for debugging)
|
53
|
+
* @param chunk - The chunk that contains potential double-escaping
|
54
|
+
* @param toolName - Name of the tool
|
55
|
+
* @param format - The tool format
|
56
|
+
*/
|
57
|
+
export declare function logDoubleEscapingInChunk(chunk: string, toolName: string, format: string): void;
|
@@ -0,0 +1,241 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright 2025 Vybestack LLC
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
/**
|
17
|
+
* Utility functions for detecting and handling double-escaped tool calls
|
18
|
+
* Used by providers that need to work with models that double-escape JSON parameters
|
19
|
+
* (e.g., Qwen models, GLM-4.5 models)
|
20
|
+
*/
|
21
|
+
import { DebugLogger } from '../debug/index.js';
|
22
|
+
const logger = new DebugLogger('llxprt:tools:doubleEscape');
|
23
|
+
/**
|
24
|
+
* Detects if a tool format should use double-escape handling
|
25
|
+
* @param toolFormat - The tool format to check
|
26
|
+
* @returns true if the format typically needs double-escape handling
|
27
|
+
*/
|
28
|
+
export function shouldUseDoubleEscapeHandling(toolFormat) {
|
29
|
+
// Qwen format needs double-escape handling (includes GLM-4.5 which uses qwen format)
|
30
|
+
return toolFormat === 'qwen';
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* Checks if a JSON string appears to be double-stringified
|
34
|
+
* @param jsonString - The JSON string to check
|
35
|
+
* @returns Object with detection results and corrected value if applicable
|
36
|
+
*/
|
37
|
+
export function detectDoubleEscaping(jsonString) {
|
38
|
+
const result = {
|
39
|
+
isDoubleEscaped: false,
|
40
|
+
correctedValue: undefined,
|
41
|
+
originalValue: jsonString,
|
42
|
+
detectionDetails: {},
|
43
|
+
};
|
44
|
+
try {
|
45
|
+
const parsed = JSON.parse(jsonString);
|
46
|
+
if (typeof parsed === 'string') {
|
47
|
+
result.detectionDetails.firstParse = parsed;
|
48
|
+
// Arguments were stringified, let's check if they're double-stringified
|
49
|
+
try {
|
50
|
+
const doubleParsed = JSON.parse(parsed);
|
51
|
+
result.isDoubleEscaped = true;
|
52
|
+
result.correctedValue = doubleParsed;
|
53
|
+
result.detectionDetails.secondParse = doubleParsed;
|
54
|
+
logger.error(() => `Detected double-stringified JSON parameters`, {
|
55
|
+
firstParse: parsed,
|
56
|
+
secondParse: doubleParsed,
|
57
|
+
originalLength: jsonString.length,
|
58
|
+
});
|
59
|
+
}
|
60
|
+
catch (_secondParseError) {
|
61
|
+
// Not double-stringified, just single stringified
|
62
|
+
logger.debug(() => `JSON parameters are single-stringified (normal)`);
|
63
|
+
result.correctedValue = parsed;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
else if (typeof parsed === 'object' && parsed !== null) {
|
67
|
+
// Check if it's an object with stringified values (common pattern)
|
68
|
+
const hasStringifiedValues = Object.values(parsed).some((value) => {
|
69
|
+
if (typeof value === 'string') {
|
70
|
+
try {
|
71
|
+
const testParse = JSON.parse(value);
|
72
|
+
// If we can parse it and it's an array or object, it's likely stringified
|
73
|
+
return typeof testParse === 'object';
|
74
|
+
}
|
75
|
+
catch {
|
76
|
+
return false;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
return false;
|
80
|
+
});
|
81
|
+
if (hasStringifiedValues) {
|
82
|
+
// Fix stringified values
|
83
|
+
const fixed = { ...parsed };
|
84
|
+
for (const [key, value] of Object.entries(fixed)) {
|
85
|
+
if (typeof value === 'string') {
|
86
|
+
try {
|
87
|
+
const testParse = JSON.parse(value);
|
88
|
+
if (typeof testParse === 'object') {
|
89
|
+
fixed[key] = testParse;
|
90
|
+
result.isDoubleEscaped = true;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
catch {
|
94
|
+
// Keep original value if can't parse
|
95
|
+
}
|
96
|
+
}
|
97
|
+
}
|
98
|
+
result.correctedValue = fixed;
|
99
|
+
if (result.isDoubleEscaped) {
|
100
|
+
logger.error(() => `Fixed stringified parameter values`, {
|
101
|
+
original: parsed,
|
102
|
+
fixed,
|
103
|
+
});
|
104
|
+
}
|
105
|
+
}
|
106
|
+
else {
|
107
|
+
result.correctedValue = parsed;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
else {
|
111
|
+
// Already parsed correctly
|
112
|
+
result.correctedValue = parsed;
|
113
|
+
}
|
114
|
+
}
|
115
|
+
catch (parseError) {
|
116
|
+
result.detectionDetails.error = String(parseError);
|
117
|
+
logger.error(() => `Failed to parse JSON parameters:`, parseError);
|
118
|
+
}
|
119
|
+
return result;
|
120
|
+
}
|
121
|
+
/**
|
122
|
+
* Detects double-escaping in streaming tool call chunks
|
123
|
+
* @param chunk - The streaming chunk to analyze
|
124
|
+
* @returns true if double-escaping patterns are detected
|
125
|
+
*/
|
126
|
+
export function detectDoubleEscapingInChunk(chunk) {
|
127
|
+
// Check for common double-escaping patterns in streaming chunks
|
128
|
+
// Using String.raw to avoid eslint no-useless-escape issues
|
129
|
+
const backslashBracket = String.raw `\\[`;
|
130
|
+
const doubleBackslash = String.raw `\\\\`;
|
131
|
+
const backslashQuote = String.raw `\\"`;
|
132
|
+
const startPattern = String.raw `"\\`;
|
133
|
+
const endPattern = String.raw `\\"`;
|
134
|
+
return (chunk.includes(backslashBracket) ||
|
135
|
+
chunk.includes(doubleBackslash) ||
|
136
|
+
chunk.includes(backslashQuote) ||
|
137
|
+
(chunk.startsWith(startPattern) && chunk.endsWith(endPattern)));
|
138
|
+
}
|
139
|
+
/**
|
140
|
+
* Processes tool call parameters, fixing double-escaping if detected
|
141
|
+
* @param parametersString - The JSON string containing tool parameters
|
142
|
+
* @param toolName - Name of the tool (for logging)
|
143
|
+
* @param format - The tool format being used (for context)
|
144
|
+
* @returns Processed parameters object
|
145
|
+
*/
|
146
|
+
export function processToolParameters(parametersString, toolName, format) {
|
147
|
+
if (!parametersString.trim()) {
|
148
|
+
return {};
|
149
|
+
}
|
150
|
+
// Only apply double-escape handling for formats that need it
|
151
|
+
if (!shouldUseDoubleEscapeHandling(format)) {
|
152
|
+
// For formats that don't need double-escape handling, parse the JSON string
|
153
|
+
try {
|
154
|
+
return JSON.parse(parametersString);
|
155
|
+
}
|
156
|
+
catch (e) {
|
157
|
+
logger.debug(() => `Failed to parse tool parameters as JSON: ${e}`);
|
158
|
+
return parametersString; // Return as-is if not valid JSON
|
159
|
+
}
|
160
|
+
}
|
161
|
+
// Apply double-escape detection and fixing for qwen format
|
162
|
+
const detection = detectDoubleEscaping(parametersString);
|
163
|
+
if (detection.isDoubleEscaped) {
|
164
|
+
logger.error(() => `[${format}] Fixed double-escaped parameters for ${toolName}`, {
|
165
|
+
tool: toolName,
|
166
|
+
format,
|
167
|
+
originalLength: parametersString.length,
|
168
|
+
fixed: true,
|
169
|
+
});
|
170
|
+
// Convert string numbers to actual numbers for qwen format
|
171
|
+
return convertStringNumbersToNumbers(detection.correctedValue);
|
172
|
+
}
|
173
|
+
else if (detection.detectionDetails.error) {
|
174
|
+
logger.error(() => `[${format}] Failed to parse parameters for ${toolName}`, {
|
175
|
+
tool: toolName,
|
176
|
+
format,
|
177
|
+
error: detection.detectionDetails.error,
|
178
|
+
});
|
179
|
+
// Return the string as-is if parsing fails
|
180
|
+
return parametersString;
|
181
|
+
}
|
182
|
+
// Convert string numbers to actual numbers for qwen format
|
183
|
+
return convertStringNumbersToNumbers(detection.correctedValue);
|
184
|
+
}
|
185
|
+
/**
|
186
|
+
* Converts string numbers to actual numbers in an object
|
187
|
+
* This is needed for qwen models that stringify numeric parameters
|
188
|
+
* @param obj - The object to fix
|
189
|
+
* @returns The object with numeric strings converted to numbers
|
190
|
+
*/
|
191
|
+
function convertStringNumbersToNumbers(obj) {
|
192
|
+
if (obj === null || obj === undefined) {
|
193
|
+
return obj;
|
194
|
+
}
|
195
|
+
if (typeof obj === 'string') {
|
196
|
+
// Check if it's a numeric string
|
197
|
+
if (/^-?\d+$/.test(obj)) {
|
198
|
+
// Integer
|
199
|
+
const num = parseInt(obj, 10);
|
200
|
+
if (!isNaN(num))
|
201
|
+
return num;
|
202
|
+
}
|
203
|
+
else if (/^-?\d*\.?\d+$/.test(obj)) {
|
204
|
+
// Float
|
205
|
+
const num = parseFloat(obj);
|
206
|
+
if (!isNaN(num))
|
207
|
+
return num;
|
208
|
+
}
|
209
|
+
return obj;
|
210
|
+
}
|
211
|
+
if (Array.isArray(obj)) {
|
212
|
+
return obj.map(convertStringNumbersToNumbers);
|
213
|
+
}
|
214
|
+
if (typeof obj === 'object') {
|
215
|
+
const result = {};
|
216
|
+
for (const [key, value] of Object.entries(obj)) {
|
217
|
+
result[key] = convertStringNumbersToNumbers(value);
|
218
|
+
}
|
219
|
+
return result;
|
220
|
+
}
|
221
|
+
return obj;
|
222
|
+
}
|
223
|
+
/**
|
224
|
+
* Logs double-escaping detection in streaming chunks (for debugging)
|
225
|
+
* @param chunk - The chunk that contains potential double-escaping
|
226
|
+
* @param toolName - Name of the tool
|
227
|
+
* @param format - The tool format
|
228
|
+
*/
|
229
|
+
export function logDoubleEscapingInChunk(chunk, toolName, format) {
|
230
|
+
// Only log for formats that use double-escape handling
|
231
|
+
if (shouldUseDoubleEscapeHandling(format) &&
|
232
|
+
detectDoubleEscapingInChunk(chunk)) {
|
233
|
+
logger.error(() => `[${format}] Detected potential double-escaping in streaming chunk for ${toolName}`, {
|
234
|
+
chunk,
|
235
|
+
tool: toolName,
|
236
|
+
format,
|
237
|
+
pattern: 'Contains escaped quotes that suggest double-stringification',
|
238
|
+
});
|
239
|
+
}
|
240
|
+
}
|
241
|
+
//# sourceMappingURL=doubleEscapeUtils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"doubleEscapeUtils.js","sourceRoot":"","sources":["../../../src/tools/doubleEscapeUtils.ts"],"names":[],"mappings":"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"}
|
@@ -12,7 +12,12 @@ export interface ReadFileToolParams {
|
|
12
12
|
/**
|
13
13
|
* The absolute path to the file to read
|
14
14
|
*/
|
15
|
-
absolute_path
|
15
|
+
absolute_path?: string;
|
16
|
+
/**
|
17
|
+
* Alternative parameter name for absolute_path (for compatibility)
|
18
|
+
* Not shown in schema - internal use only
|
19
|
+
*/
|
20
|
+
file_path?: string;
|
16
21
|
/**
|
17
22
|
* The line number to start reading from (optional)
|
18
23
|
*/
|