@vybestack/llxprt-code-core 0.1.23-nightly.250905.97906524 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/src/adapters/IStreamAdapter.d.ts +3 -3
  2. package/dist/src/auth/precedence.d.ts +1 -1
  3. package/dist/src/auth/precedence.js +9 -4
  4. package/dist/src/auth/precedence.js.map +1 -1
  5. package/dist/src/auth/types.d.ts +4 -4
  6. package/dist/src/code_assist/codeAssist.js +8 -6
  7. package/dist/src/code_assist/codeAssist.js.map +1 -1
  8. package/dist/src/code_assist/setup.js +9 -7
  9. package/dist/src/code_assist/setup.js.map +1 -1
  10. package/dist/src/config/index.d.ts +7 -0
  11. package/dist/src/config/index.js +8 -0
  12. package/dist/src/config/index.js.map +1 -0
  13. package/dist/src/core/client.d.ts +9 -21
  14. package/dist/src/core/client.js +55 -156
  15. package/dist/src/core/client.js.map +1 -1
  16. package/dist/src/core/compression-config.d.ts +1 -1
  17. package/dist/src/core/compression-config.js +4 -5
  18. package/dist/src/core/compression-config.js.map +1 -1
  19. package/dist/src/core/coreToolScheduler.js +50 -15
  20. package/dist/src/core/coreToolScheduler.js.map +1 -1
  21. package/dist/src/core/geminiChat.d.ts +51 -2
  22. package/dist/src/core/geminiChat.js +616 -106
  23. package/dist/src/core/geminiChat.js.map +1 -1
  24. package/dist/src/core/nonInteractiveToolExecutor.js +70 -19
  25. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  26. package/dist/src/core/prompts.js +34 -26
  27. package/dist/src/core/prompts.js.map +1 -1
  28. package/dist/src/core/turn.d.ts +1 -0
  29. package/dist/src/core/turn.js +8 -6
  30. package/dist/src/core/turn.js.map +1 -1
  31. package/dist/src/index.d.ts +1 -2
  32. package/dist/src/index.js +2 -2
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/prompt-config/TemplateEngine.js +17 -0
  35. package/dist/src/prompt-config/TemplateEngine.js.map +1 -1
  36. package/dist/src/prompt-config/defaults/core-defaults.js +39 -32
  37. package/dist/src/prompt-config/defaults/core-defaults.js.map +1 -1
  38. package/dist/src/prompt-config/defaults/core.md +2 -0
  39. package/dist/src/prompt-config/defaults/provider-defaults.js +34 -27
  40. package/dist/src/prompt-config/defaults/provider-defaults.js.map +1 -1
  41. package/dist/src/prompt-config/defaults/providers/gemini/core.md +229 -43
  42. package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/core.md +12 -0
  43. package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/gemini-2-5-flash/core.md +12 -0
  44. package/dist/src/prompt-config/types.d.ts +2 -0
  45. package/dist/src/providers/BaseProvider.d.ts +32 -6
  46. package/dist/src/providers/BaseProvider.js +79 -22
  47. package/dist/src/providers/BaseProvider.js.map +1 -1
  48. package/dist/src/providers/IProvider.d.ts +9 -3
  49. package/dist/src/providers/LoggingProviderWrapper.d.ts +10 -3
  50. package/dist/src/providers/LoggingProviderWrapper.js +33 -27
  51. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  52. package/dist/src/providers/ProviderContentGenerator.d.ts +2 -2
  53. package/dist/src/providers/ProviderContentGenerator.js +9 -6
  54. package/dist/src/providers/ProviderContentGenerator.js.map +1 -1
  55. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +27 -21
  56. package/dist/src/providers/anthropic/AnthropicProvider.js +473 -472
  57. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  58. package/dist/src/providers/gemini/GeminiProvider.d.ts +14 -9
  59. package/dist/src/providers/gemini/GeminiProvider.js +202 -486
  60. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  61. package/dist/src/providers/openai/ConversationCache.d.ts +3 -3
  62. package/dist/src/providers/openai/IChatGenerateParams.d.ts +9 -4
  63. package/dist/src/providers/openai/OpenAIProvider.d.ts +44 -115
  64. package/dist/src/providers/openai/OpenAIProvider.js +535 -948
  65. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  66. package/dist/src/providers/openai/buildResponsesRequest.d.ts +3 -3
  67. package/dist/src/providers/openai/buildResponsesRequest.js +67 -37
  68. package/dist/src/providers/openai/buildResponsesRequest.js.map +1 -1
  69. package/dist/src/providers/openai/estimateRemoteTokens.d.ts +2 -2
  70. package/dist/src/providers/openai/estimateRemoteTokens.js +21 -8
  71. package/dist/src/providers/openai/estimateRemoteTokens.js.map +1 -1
  72. package/dist/src/providers/openai/parseResponsesStream.d.ts +6 -2
  73. package/dist/src/providers/openai/parseResponsesStream.js +99 -391
  74. package/dist/src/providers/openai/parseResponsesStream.js.map +1 -1
  75. package/dist/src/providers/openai/syntheticToolResponses.d.ts +5 -5
  76. package/dist/src/providers/openai/syntheticToolResponses.js +102 -91
  77. package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -1
  78. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +18 -20
  79. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +250 -239
  80. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  81. package/dist/src/providers/tokenizers/OpenAITokenizer.js +3 -3
  82. package/dist/src/providers/tokenizers/OpenAITokenizer.js.map +1 -1
  83. package/dist/src/providers/types.d.ts +1 -1
  84. package/dist/src/services/history/ContentConverters.d.ts +6 -1
  85. package/dist/src/services/history/ContentConverters.js +155 -18
  86. package/dist/src/services/history/ContentConverters.js.map +1 -1
  87. package/dist/src/services/history/HistoryService.d.ts +52 -0
  88. package/dist/src/services/history/HistoryService.js +245 -93
  89. package/dist/src/services/history/HistoryService.js.map +1 -1
  90. package/dist/src/services/history/IContent.d.ts +4 -0
  91. package/dist/src/services/history/IContent.js.map +1 -1
  92. package/dist/src/telemetry/types.d.ts +16 -4
  93. package/dist/src/telemetry/types.js.map +1 -1
  94. package/dist/src/tools/IToolFormatter.d.ts +2 -2
  95. package/dist/src/tools/ToolFormatter.d.ts +42 -4
  96. package/dist/src/tools/ToolFormatter.js +159 -37
  97. package/dist/src/tools/ToolFormatter.js.map +1 -1
  98. package/dist/src/tools/doubleEscapeUtils.d.ts +57 -0
  99. package/dist/src/tools/doubleEscapeUtils.js +241 -0
  100. package/dist/src/tools/doubleEscapeUtils.js.map +1 -0
  101. package/dist/src/tools/read-file.js +5 -2
  102. package/dist/src/tools/read-file.js.map +1 -1
  103. package/dist/src/tools/todo-schemas.d.ts +4 -4
  104. package/dist/src/tools/write-file.js +5 -2
  105. package/dist/src/tools/write-file.js.map +1 -1
  106. package/dist/src/types/modelParams.d.ts +8 -0
  107. package/dist/src/utils/bfsFileSearch.js +2 -6
  108. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  109. package/package.json +8 -7
  110. package/dist/src/core/ContentGeneratorAdapter.d.ts +0 -37
  111. package/dist/src/core/ContentGeneratorAdapter.js +0 -58
  112. package/dist/src/core/ContentGeneratorAdapter.js.map +0 -1
  113. package/dist/src/providers/IMessage.d.ts +0 -38
  114. package/dist/src/providers/IMessage.js +0 -17
  115. package/dist/src/providers/IMessage.js.map +0 -1
  116. package/dist/src/providers/adapters/GeminiCompatibleWrapper.d.ts +0 -69
  117. package/dist/src/providers/adapters/GeminiCompatibleWrapper.js +0 -577
  118. package/dist/src/providers/adapters/GeminiCompatibleWrapper.js.map +0 -1
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { ITool } from '../providers/ITool.js';
17
- import { IMessage } from '../providers/IMessage.js';
17
+ import { ToolCallBlock } from '../services/history/IContent.js';
18
18
  export type ToolFormat = 'openai' | 'anthropic' | 'deepseek' | 'qwen' | 'hermes' | 'xml' | 'llama' | 'gemma';
19
19
  export interface OpenAIFunction {
20
20
  name: string;
@@ -35,6 +35,6 @@ export interface ResponsesTool {
35
35
  export interface IToolFormatter {
36
36
  toProviderFormat(tools: ITool[], format: 'openai'): OpenAITool[];
37
37
  toProviderFormat(tools: ITool[], format: ToolFormat): unknown;
38
- fromProviderFormat(rawToolCall: unknown, format: ToolFormat): IMessage['tool_calls'];
38
+ fromProviderFormat(rawToolCall: unknown, format: ToolFormat): ToolCallBlock[];
39
39
  toResponsesTool(tools: ITool[]): ResponsesTool[];
40
40
  }
@@ -15,16 +15,54 @@
15
15
  */
16
16
  import { IToolFormatter, ToolFormat, OpenAITool, ResponsesTool } from './IToolFormatter.js';
17
17
  import { ITool } from '../providers/ITool.js';
18
- import { IMessage } from '../providers/IMessage.js';
18
+ import { ToolCallBlock } from '../services/history/IContent.js';
19
19
  export declare class ToolFormatter implements IToolFormatter {
20
20
  private logger;
21
+ /**
22
+ * Convert Gemini format tools directly to OpenAI format
23
+ * @param geminiTools Tools in Gemini format with functionDeclarations
24
+ * @returns Tools in OpenAI format with type: "function" wrapper
25
+ */
26
+ convertGeminiToOpenAI(geminiTools?: Array<{
27
+ functionDeclarations: Array<{
28
+ name: string;
29
+ description?: string;
30
+ parametersJsonSchema?: unknown;
31
+ }>;
32
+ }>): Array<{
33
+ type: 'function';
34
+ function: {
35
+ name: string;
36
+ description: string;
37
+ parameters: Record<string, unknown>;
38
+ };
39
+ }> | undefined;
40
+ /**
41
+ * Convert Gemini format tools directly to Anthropic format
42
+ * @param geminiTools Tools in Gemini format with functionDeclarations
43
+ * @returns Tools in Anthropic format with input_schema
44
+ */
45
+ convertGeminiToAnthropic(geminiTools?: Array<{
46
+ functionDeclarations: Array<{
47
+ name: string;
48
+ description?: string;
49
+ parametersJsonSchema?: unknown;
50
+ }>;
51
+ }>): Array<{
52
+ name: string;
53
+ description: string;
54
+ input_schema: {
55
+ type: 'object';
56
+ [key: string]: unknown;
57
+ };
58
+ }> | undefined;
21
59
  /**
22
60
  * Converts Gemini schema format (with uppercase Type enums) to standard JSON Schema format
23
61
  */
24
- private convertGeminiSchemaToStandard;
62
+ convertGeminiSchemaToStandard(schema: unknown): unknown;
25
63
  toProviderFormat(tools: ITool[], format: 'openai'): OpenAITool[];
26
64
  toProviderFormat(tools: ITool[], format: ToolFormat): unknown;
27
- fromProviderFormat(rawToolCall: unknown, format: ToolFormat): IMessage['tool_calls'];
65
+ fromProviderFormat(rawToolCall: unknown, format: ToolFormat): ToolCallBlock[];
28
66
  /**
29
67
  * Handles streaming tool call accumulation for OpenAI-compatible providers
30
68
  * This accumulates partial tool calls from streaming responses
@@ -37,7 +75,7 @@ export declare class ToolFormatter implements IToolFormatter {
37
75
  name?: string;
38
76
  arguments?: string;
39
77
  };
40
- }, accumulatedToolCalls: NonNullable<IMessage['tool_calls']>, format: ToolFormat): void;
78
+ }, accumulatedToolCalls: ToolCallBlock[], format: ToolFormat): void;
41
79
  /**
42
80
  * Formats tools specifically for the OpenAI Responses API
43
81
  * The Responses API expects a flatter format than the regular OpenAI API
@@ -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: this.convertGeminiSchemaToStandard(tool.function.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
- type: 'function',
163
- function: {
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
- type: 'function',
181
- function: {
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
- type: 'function',
200
- function: {
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
- type: 'function',
217
- function: {
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
- type: 'function',
244
- function: { name: '', arguments: '' },
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.function.name = deltaToolCall.function.name;
353
+ tc.name = deltaToolCall.function.name;
252
354
  if (deltaToolCall.function?.arguments) {
253
355
  // Enhanced debug logging for all formats, especially Qwen
254
- this.logger.debug(() => `[${format}] Accumulating argument chunk for tool ${tc.function.name}:`, {
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.function.name,
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.function.arguments,
261
- currentAccumulatedLength: tc.function.arguments.length,
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.function.name}`, {
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.function.arguments += deltaToolCall.function.arguments;
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.function.name}:`, {
283
- totalLength: tc.function.arguments.length,
284
- preview: tc.function.arguments.length > 100
285
- ? tc.function.arguments.substring(0, 100) + '...'
286
- : tc.function.arguments,
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;