@vybestack/llxprt-code-core 0.2.2 → 0.2.4-nightly.250911.a02d82b8
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/src/core/client.d.ts +1 -0
- package/dist/src/core/client.js +19 -5
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/geminiChat.js +20 -12
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/logger.d.ts +2 -1
- package/dist/src/core/logger.js +20 -3
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/debug/DebugLogger.d.ts +1 -0
- package/dist/src/debug/DebugLogger.js +4 -0
- package/dist/src/debug/DebugLogger.js.map +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.d.ts +5 -0
- package/dist/src/providers/anthropic/AnthropicProvider.js +21 -2
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +10 -0
- package/dist/src/providers/openai/OpenAIProvider.js +278 -86
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/services/todo-reminder-service.js +2 -1
- package/dist/src/services/todo-reminder-service.js.map +1 -1
- package/dist/src/settings/SettingsService.js.map +1 -1
- package/dist/src/tools/ToolFormatter.d.ts +13 -0
- package/dist/src/tools/ToolFormatter.js +99 -88
- package/dist/src/tools/ToolFormatter.js.map +1 -1
- package/dist/src/tools/todo-pause.js +2 -2
- package/dist/src/tools/todo-pause.js.map +1 -1
- package/dist/src/tools/todo-schemas.d.ts +31 -31
- package/dist/src/tools/todo-schemas.js +8 -3
- package/dist/src/tools/todo-schemas.js.map +1 -1
- package/dist/src/tools/todo-write.js +2 -2
- package/dist/src/tools/todo-write.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +9 -1
- package/dist/src/tools/tool-registry.js +87 -24
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/types/modelParams.d.ts +4 -0
- package/package.json +1 -1
@@ -23,9 +23,11 @@ import * as https from 'https';
|
|
23
23
|
import * as net from 'net';
|
24
24
|
import { BaseProvider } from '../BaseProvider.js';
|
25
25
|
import { DebugLogger } from '../../debug/index.js';
|
26
|
+
import { getSettingsService } from '../../settings/settingsServiceInstance.js';
|
26
27
|
import { ToolFormatter } from '../../tools/ToolFormatter.js';
|
27
28
|
import { processToolParameters } from '../../tools/doubleEscapeUtils.js';
|
28
29
|
import { getCoreSystemPromptAsync } from '../../core/prompts.js';
|
30
|
+
import { retryWithBackoff } from '../../utils/retry.js';
|
29
31
|
export class OpenAIProvider extends BaseProvider {
|
30
32
|
name = 'openai';
|
31
33
|
logger;
|
@@ -288,16 +290,16 @@ export class OpenAIProvider extends BaseProvider {
|
|
288
290
|
*/
|
289
291
|
async *generateChatCompletion(contents, tools) {
|
290
292
|
// Debug log what we receive
|
291
|
-
this.logger.
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
?
|
299
|
-
|
300
|
-
}
|
293
|
+
if (this.logger.enabled) {
|
294
|
+
this.logger.debug(() => `[OpenAIProvider] generateChatCompletion received tools:`, {
|
295
|
+
hasTools: !!tools,
|
296
|
+
toolsLength: tools?.length,
|
297
|
+
toolsType: typeof tools,
|
298
|
+
isArray: Array.isArray(tools),
|
299
|
+
firstToolName: tools?.[0]?.functionDeclarations?.[0]?.name,
|
300
|
+
toolsStructure: tools ? 'available' : 'undefined',
|
301
|
+
});
|
302
|
+
}
|
301
303
|
// Pass tools directly in Gemini format - they'll be converted in generateChatCompletionImpl
|
302
304
|
const generator = this.generateChatCompletionImpl(contents, tools, undefined, undefined, undefined);
|
303
305
|
for await (const item of generator) {
|
@@ -376,31 +378,54 @@ export class OpenAIProvider extends BaseProvider {
|
|
376
378
|
const model = modelName || this.getModel() || this.getDefaultModel();
|
377
379
|
// Convert IContent to OpenAI messages format
|
378
380
|
const messages = this.convertToOpenAIMessages(contents);
|
379
|
-
//
|
380
|
-
this.
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
: 'undefined',
|
387
|
-
});
|
388
|
-
// Convert Gemini format tools directly to OpenAI format using the new method
|
389
|
-
const formattedTools = this.toolFormatter.convertGeminiToOpenAI(tools);
|
390
|
-
// Debug log the conversion result
|
391
|
-
this.logger.debug(() => `[OpenAIProvider] After convertGeminiToOpenAI:`, {
|
392
|
-
inputHadTools: !!tools,
|
393
|
-
outputHasTools: !!formattedTools,
|
394
|
-
outputToolsLength: formattedTools?.length,
|
395
|
-
outputFirstTool: formattedTools?.[0],
|
396
|
-
outputToolNames: formattedTools?.map((t) => t.function.name),
|
397
|
-
firstToolParameters: formattedTools?.[0]
|
398
|
-
? JSON.stringify(formattedTools[0].function.parameters)
|
399
|
-
: 'undefined',
|
381
|
+
// Detect the tool format to use (once at the start of the method)
|
382
|
+
const detectedFormat = this.detectToolFormat();
|
383
|
+
// Log the detected format for debugging
|
384
|
+
this.logger.debug(() => `[OpenAIProvider] Using tool format '${detectedFormat}' for model '${model}'`, {
|
385
|
+
model,
|
386
|
+
detectedFormat,
|
387
|
+
provider: this.name,
|
400
388
|
});
|
389
|
+
// Convert Gemini format tools to the detected format
|
390
|
+
let formattedTools = this.toolFormatter.convertGeminiToFormat(tools, detectedFormat);
|
391
|
+
// CRITICAL FIX: Ensure we never pass an empty tools array
|
392
|
+
// The OpenAI API errors when tools=[] but a tool call is attempted
|
393
|
+
if (Array.isArray(formattedTools) && formattedTools.length === 0) {
|
394
|
+
this.logger.warn(() => `[OpenAIProvider] CRITICAL: Formatted tools is empty array! Setting to undefined to prevent API errors.`, {
|
395
|
+
model,
|
396
|
+
inputTools: tools,
|
397
|
+
inputToolsLength: tools?.length,
|
398
|
+
inputFirstGroup: tools?.[0],
|
399
|
+
stackTrace: new Error().stack,
|
400
|
+
});
|
401
|
+
formattedTools = undefined;
|
402
|
+
}
|
403
|
+
// Debug log the conversion result - enhanced logging for intermittent issues
|
404
|
+
if (this.logger.enabled && formattedTools) {
|
405
|
+
this.logger.debug(() => `[OpenAIProvider] Tool conversion summary:`, {
|
406
|
+
detectedFormat,
|
407
|
+
inputHadTools: !!tools,
|
408
|
+
inputToolsLength: tools?.length,
|
409
|
+
inputFirstGroup: tools?.[0],
|
410
|
+
inputFunctionDeclarationsLength: tools?.[0]?.functionDeclarations?.length,
|
411
|
+
outputHasTools: !!formattedTools,
|
412
|
+
outputToolsLength: formattedTools?.length,
|
413
|
+
outputToolNames: formattedTools?.map((t) => t.function.name),
|
414
|
+
});
|
415
|
+
}
|
401
416
|
// Get streaming setting from ephemeral settings (default: enabled)
|
402
417
|
const streamingSetting = this.providerConfig?.getEphemeralSettings?.()?.['streaming'];
|
403
|
-
|
418
|
+
let streamingEnabled = streamingSetting !== 'disabled';
|
419
|
+
// WORKAROUND: Disable streaming for Cerebras/Qwen when tools are present
|
420
|
+
// Their API has a bug where mixing text + tool calls in streaming fails
|
421
|
+
if (streamingEnabled &&
|
422
|
+
formattedTools &&
|
423
|
+
formattedTools.length > 0 &&
|
424
|
+
(model.toLowerCase().includes('qwen') ||
|
425
|
+
this.getBaseURL()?.includes('cerebras'))) {
|
426
|
+
this.logger.warn(() => `[OpenAIProvider] Disabling streaming for ${model} with tools due to known API bug with mixed text/tool responses`);
|
427
|
+
streamingEnabled = false;
|
428
|
+
}
|
404
429
|
// Get the system prompt
|
405
430
|
const userMemory = this.globalConfig?.getUserMemory
|
406
431
|
? this.globalConfig.getUserMemory()
|
@@ -412,19 +437,26 @@ export class OpenAIProvider extends BaseProvider {
|
|
412
437
|
...messages,
|
413
438
|
];
|
414
439
|
// Build request - only include tools if they exist and are not empty
|
440
|
+
// IMPORTANT: Create a deep copy of tools to prevent mutation issues
|
415
441
|
const requestBody = {
|
416
442
|
model,
|
417
443
|
messages: messagesWithSystem,
|
418
444
|
...(formattedTools && formattedTools.length > 0
|
419
|
-
? {
|
445
|
+
? {
|
446
|
+
// Deep clone the tools array to prevent any mutation issues
|
447
|
+
tools: JSON.parse(JSON.stringify(formattedTools)),
|
448
|
+
// Add tool_choice for Qwen/Cerebras to ensure proper tool calling
|
449
|
+
tool_choice: 'auto',
|
450
|
+
}
|
420
451
|
: {}),
|
421
452
|
max_tokens: maxTokens,
|
422
453
|
stream: streamingEnabled,
|
423
454
|
};
|
424
|
-
// Debug log
|
425
|
-
if (
|
426
|
-
|
427
|
-
|
455
|
+
// Debug log request summary for Cerebras/Qwen
|
456
|
+
if (this.logger.enabled &&
|
457
|
+
(model.toLowerCase().includes('qwen') ||
|
458
|
+
this.getBaseURL()?.includes('cerebras'))) {
|
459
|
+
this.logger.debug(() => `Request to ${this.getBaseURL()} for model ${model}:`, {
|
428
460
|
baseURL: this.getBaseURL(),
|
429
461
|
model,
|
430
462
|
streamingEnabled,
|
@@ -432,49 +464,64 @@ export class OpenAIProvider extends BaseProvider {
|
|
432
464
|
toolCount: formattedTools?.length || 0,
|
433
465
|
messageCount: messages.length,
|
434
466
|
toolsInRequest: 'tools' in requestBody ? requestBody.tools?.length : 'not included',
|
435
|
-
requestBody: {
|
436
|
-
...requestBody,
|
437
|
-
messages: messages.slice(-2), // Only log last 2 messages for brevity
|
438
|
-
tools: requestBody.tools?.slice(0, 2), // Only log first 2 tools for brevity if they exist
|
439
|
-
},
|
440
467
|
});
|
441
468
|
}
|
442
469
|
// Get OpenAI client
|
443
470
|
const client = await this.getClient();
|
444
|
-
//
|
445
|
-
const
|
446
|
-
|
447
|
-
|
471
|
+
// Get retry settings from ephemeral settings
|
472
|
+
const ephemeralSettings = this.providerConfig?.getEphemeralSettings?.() || {};
|
473
|
+
const maxRetries = ephemeralSettings['retries'] ?? 6; // Default for OpenAI
|
474
|
+
const initialDelayMs = ephemeralSettings['retrywait'] ?? 4000; // Default for OpenAI
|
475
|
+
// Log the exact tools being sent for debugging
|
476
|
+
if (this.logger.enabled && 'tools' in requestBody) {
|
477
|
+
this.logger.debug(() => `[OpenAIProvider] Exact tools being sent to API:`, {
|
478
|
+
toolCount: requestBody.tools?.length,
|
479
|
+
toolNames: requestBody.tools?.map((t) => 'function' in t ? t.function?.name : undefined),
|
480
|
+
firstTool: requestBody.tools?.[0],
|
448
481
|
});
|
449
|
-
|
450
|
-
|
451
|
-
let retryCount = 0;
|
452
|
-
const maxRetries = 5;
|
482
|
+
}
|
483
|
+
// Wrap the API call with retry logic using centralized retry utility
|
453
484
|
let response;
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
throw error; // Max retries reached, re-throw error
|
462
|
-
}
|
463
|
-
retryCount++;
|
464
|
-
this.logger.debug(() => `API call failed (attempt ${retryCount}), retrying...`, error);
|
465
|
-
// Exponential backoff: 4s, 8s, 16s, 32s, 64s
|
466
|
-
const delay = 4000 * Math.pow(2, retryCount - 1);
|
467
|
-
await new Promise((resolve) => setTimeout(resolve, delay));
|
468
|
-
}
|
485
|
+
try {
|
486
|
+
response = await retryWithBackoff(() => client.chat.completions.create(requestBody, { signal: abortSignal }), {
|
487
|
+
maxAttempts: maxRetries,
|
488
|
+
initialDelayMs,
|
489
|
+
maxDelayMs: 30000, // 30 seconds
|
490
|
+
shouldRetry: this.shouldRetryResponse.bind(this),
|
491
|
+
});
|
469
492
|
}
|
470
|
-
|
471
|
-
|
493
|
+
catch (error) {
|
494
|
+
// Special handling for Cerebras/Qwen "Tool not present" errors
|
495
|
+
const errorMessage = String(error);
|
496
|
+
if (errorMessage.includes('Tool is not present in the tools list') &&
|
497
|
+
(model.toLowerCase().includes('qwen') ||
|
498
|
+
this.getBaseURL()?.includes('cerebras'))) {
|
499
|
+
this.logger.error('Cerebras/Qwen API error: Tool not found despite being in request. This is a known API issue.', {
|
500
|
+
error,
|
501
|
+
model,
|
502
|
+
toolsProvided: formattedTools?.length || 0,
|
503
|
+
toolNames: formattedTools?.map((t) => t.function.name),
|
504
|
+
streamingEnabled,
|
505
|
+
});
|
506
|
+
// Re-throw but with better context
|
507
|
+
const enhancedError = new Error(`Cerebras/Qwen API bug: Tool not found in list. We sent ${formattedTools?.length || 0} tools. Known API issue.`);
|
508
|
+
enhancedError.originalError =
|
509
|
+
error;
|
510
|
+
throw enhancedError;
|
511
|
+
}
|
512
|
+
// Re-throw other errors as-is
|
513
|
+
throw error;
|
472
514
|
}
|
473
515
|
// Check if response is streaming or not
|
474
516
|
if (streamingEnabled) {
|
475
517
|
// Process streaming response
|
476
518
|
let _accumulatedText = '';
|
477
519
|
const accumulatedToolCalls = [];
|
520
|
+
// Buffer for accumulating text chunks for providers that need it
|
521
|
+
let textBuffer = '';
|
522
|
+
// Use the same detected format from earlier for consistency
|
523
|
+
// Buffer text for Qwen format providers to avoid stanza formatting
|
524
|
+
const shouldBufferText = detectedFormat === 'qwen';
|
478
525
|
try {
|
479
526
|
// Handle streaming response
|
480
527
|
for await (const chunk of response) {
|
@@ -484,20 +531,79 @@ export class OpenAIProvider extends BaseProvider {
|
|
484
531
|
const choice = chunk.choices?.[0];
|
485
532
|
if (!choice)
|
486
533
|
continue;
|
487
|
-
//
|
534
|
+
// Check for finish_reason to detect proper stream ending
|
535
|
+
if (choice.finish_reason) {
|
536
|
+
this.logger.debug(() => `[Streaming] Stream finished with reason: ${choice.finish_reason}`, {
|
537
|
+
model,
|
538
|
+
finishReason: choice.finish_reason,
|
539
|
+
hasAccumulatedText: _accumulatedText.length > 0,
|
540
|
+
hasAccumulatedTools: accumulatedToolCalls.length > 0,
|
541
|
+
hasBufferedText: textBuffer.length > 0,
|
542
|
+
});
|
543
|
+
// If finish_reason is 'length', the response was cut off
|
544
|
+
if (choice.finish_reason === 'length') {
|
545
|
+
this.logger.debug(() => `Response truncated due to length limit for model ${model}`);
|
546
|
+
}
|
547
|
+
// Flush any buffered text when stream finishes
|
548
|
+
if (textBuffer.length > 0) {
|
549
|
+
yield {
|
550
|
+
speaker: 'ai',
|
551
|
+
blocks: [
|
552
|
+
{
|
553
|
+
type: 'text',
|
554
|
+
text: textBuffer,
|
555
|
+
},
|
556
|
+
],
|
557
|
+
};
|
558
|
+
textBuffer = '';
|
559
|
+
}
|
560
|
+
}
|
561
|
+
// Handle text content - buffer for Qwen format, emit immediately for others
|
488
562
|
const deltaContent = choice.delta?.content;
|
489
563
|
if (deltaContent) {
|
490
564
|
_accumulatedText += deltaContent;
|
491
|
-
//
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
565
|
+
// Debug log for providers that need buffering
|
566
|
+
if (shouldBufferText) {
|
567
|
+
this.logger.debug(() => `[Streaming] Chunk content for ${detectedFormat} format:`, {
|
568
|
+
deltaContent,
|
569
|
+
length: deltaContent.length,
|
570
|
+
hasNewline: deltaContent.includes('\n'),
|
571
|
+
escaped: JSON.stringify(deltaContent),
|
572
|
+
bufferSize: textBuffer.length,
|
573
|
+
});
|
574
|
+
// Buffer text to avoid stanza formatting
|
575
|
+
textBuffer += deltaContent;
|
576
|
+
// Emit buffered text when we have a complete sentence or paragraph
|
577
|
+
// Look for natural break points
|
578
|
+
if (textBuffer.includes('\n') ||
|
579
|
+
textBuffer.endsWith('. ') ||
|
580
|
+
textBuffer.endsWith('! ') ||
|
581
|
+
textBuffer.endsWith('? ') ||
|
582
|
+
textBuffer.length > 100) {
|
583
|
+
yield {
|
584
|
+
speaker: 'ai',
|
585
|
+
blocks: [
|
586
|
+
{
|
587
|
+
type: 'text',
|
588
|
+
text: textBuffer,
|
589
|
+
},
|
590
|
+
],
|
591
|
+
};
|
592
|
+
textBuffer = '';
|
593
|
+
}
|
594
|
+
}
|
595
|
+
else {
|
596
|
+
// For other providers, emit text immediately as before
|
597
|
+
yield {
|
598
|
+
speaker: 'ai',
|
599
|
+
blocks: [
|
600
|
+
{
|
601
|
+
type: 'text',
|
602
|
+
text: deltaContent,
|
603
|
+
},
|
604
|
+
],
|
605
|
+
};
|
606
|
+
}
|
501
607
|
}
|
502
608
|
// Handle tool calls
|
503
609
|
const deltaToolCalls = choice.delta?.tool_calls;
|
@@ -535,15 +641,43 @@ export class OpenAIProvider extends BaseProvider {
|
|
535
641
|
throw error;
|
536
642
|
}
|
537
643
|
else {
|
644
|
+
// Special handling for Cerebras/Qwen "Tool not present" errors
|
645
|
+
const errorMessage = String(error);
|
646
|
+
if (errorMessage.includes('Tool is not present in the tools list') &&
|
647
|
+
(model.toLowerCase().includes('qwen') ||
|
648
|
+
this.getBaseURL()?.includes('cerebras'))) {
|
649
|
+
this.logger.error('Cerebras/Qwen API error: Tool not found despite being in request. This is a known API issue.', {
|
650
|
+
error,
|
651
|
+
model,
|
652
|
+
toolsProvided: formattedTools?.length || 0,
|
653
|
+
toolNames: formattedTools?.map((t) => t.function.name),
|
654
|
+
});
|
655
|
+
// Re-throw but with better context
|
656
|
+
const enhancedError = new Error(`Cerebras/Qwen API bug: Tool not found in list during streaming. We sent ${formattedTools?.length || 0} tools. Known API issue.`);
|
657
|
+
enhancedError.originalError = error;
|
658
|
+
throw enhancedError;
|
659
|
+
}
|
538
660
|
this.logger.error('Error processing streaming response:', error);
|
539
661
|
throw error;
|
540
662
|
}
|
541
663
|
}
|
542
|
-
//
|
664
|
+
// Flush any remaining buffered text
|
665
|
+
if (textBuffer.length > 0) {
|
666
|
+
yield {
|
667
|
+
speaker: 'ai',
|
668
|
+
blocks: [
|
669
|
+
{
|
670
|
+
type: 'text',
|
671
|
+
text: textBuffer,
|
672
|
+
},
|
673
|
+
],
|
674
|
+
};
|
675
|
+
textBuffer = '';
|
676
|
+
}
|
543
677
|
// Emit accumulated tool calls as IContent if any
|
544
678
|
if (accumulatedToolCalls.length > 0) {
|
545
679
|
const blocks = [];
|
546
|
-
|
680
|
+
// Use the same detected format from earlier for consistency
|
547
681
|
for (const tc of accumulatedToolCalls) {
|
548
682
|
if (!tc)
|
549
683
|
continue;
|
@@ -571,6 +705,22 @@ export class OpenAIProvider extends BaseProvider {
|
|
571
705
|
if (!choice) {
|
572
706
|
throw new Error('No choices in completion response');
|
573
707
|
}
|
708
|
+
// Log finish reason for debugging Qwen issues
|
709
|
+
if (choice.finish_reason) {
|
710
|
+
this.logger.debug(() => `[Non-streaming] Response finish_reason: ${choice.finish_reason}`, {
|
711
|
+
model,
|
712
|
+
finishReason: choice.finish_reason,
|
713
|
+
hasContent: !!choice.message?.content,
|
714
|
+
hasToolCalls: !!(choice.message?.tool_calls && choice.message.tool_calls.length > 0),
|
715
|
+
contentLength: choice.message?.content?.length || 0,
|
716
|
+
toolCallCount: choice.message?.tool_calls?.length || 0,
|
717
|
+
detectedFormat,
|
718
|
+
});
|
719
|
+
// Warn if the response was truncated
|
720
|
+
if (choice.finish_reason === 'length') {
|
721
|
+
this.logger.warn(() => `Response truncated due to max_tokens limit for model ${model}. Consider increasing max_tokens.`);
|
722
|
+
}
|
723
|
+
}
|
574
724
|
const blocks = [];
|
575
725
|
// Handle text content
|
576
726
|
if (choice.message?.content) {
|
@@ -581,7 +731,7 @@ export class OpenAIProvider extends BaseProvider {
|
|
581
731
|
}
|
582
732
|
// Handle tool calls
|
583
733
|
if (choice.message?.tool_calls && choice.message.tool_calls.length > 0) {
|
584
|
-
|
734
|
+
// Use the same detected format from earlier for consistency
|
585
735
|
for (const toolCall of choice.message.tool_calls) {
|
586
736
|
if (toolCall.type === 'function') {
|
587
737
|
// Process tool parameters with double-escape handling
|
@@ -604,29 +754,71 @@ export class OpenAIProvider extends BaseProvider {
|
|
604
754
|
}
|
605
755
|
}
|
606
756
|
}
|
757
|
+
/**
|
758
|
+
* Get the tool format for this provider
|
759
|
+
* @returns The tool format to use
|
760
|
+
*/
|
761
|
+
getToolFormat() {
|
762
|
+
const format = this.detectToolFormat();
|
763
|
+
this.logger.debug(() => `getToolFormat() called, returning: ${format}`, {
|
764
|
+
provider: this.name,
|
765
|
+
model: this.getModel(),
|
766
|
+
format,
|
767
|
+
});
|
768
|
+
return format;
|
769
|
+
}
|
770
|
+
/**
|
771
|
+
* Set tool format override for this provider
|
772
|
+
* @param format The format to use, or null to clear override
|
773
|
+
*/
|
774
|
+
setToolFormatOverride(format) {
|
775
|
+
const settingsService = getSettingsService();
|
776
|
+
if (format === null) {
|
777
|
+
settingsService.setProviderSetting(this.name, 'toolFormat', 'auto');
|
778
|
+
this.logger.debug(() => `Tool format override cleared for ${this.name}`);
|
779
|
+
}
|
780
|
+
else {
|
781
|
+
settingsService.setProviderSetting(this.name, 'toolFormat', format);
|
782
|
+
this.logger.debug(() => `Tool format override set to '${format}' for ${this.name}`);
|
783
|
+
}
|
784
|
+
// Clear cached client to ensure new format takes effect
|
785
|
+
this._cachedClient = undefined;
|
786
|
+
this._cachedClientKey = undefined;
|
787
|
+
}
|
607
788
|
/**
|
608
789
|
* Detects the tool call format based on the model being used
|
609
790
|
* @returns The detected tool format ('openai' or 'qwen')
|
610
791
|
*/
|
611
792
|
detectToolFormat() {
|
612
793
|
try {
|
613
|
-
//
|
614
|
-
const
|
615
|
-
|
616
|
-
|
794
|
+
// Check for toolFormat override in provider settings
|
795
|
+
const settingsService = getSettingsService();
|
796
|
+
const currentSettings = settingsService['settings'];
|
797
|
+
const providerSettings = currentSettings?.providers?.[this.name];
|
798
|
+
const toolFormatOverride = providerSettings?.toolFormat;
|
799
|
+
// If explicitly set to a specific format (not 'auto'), use it
|
800
|
+
if (toolFormatOverride && toolFormatOverride !== 'auto') {
|
801
|
+
this.logger.debug(() => `Using tool format override '${toolFormatOverride}' for ${this.name}`);
|
802
|
+
return toolFormatOverride;
|
617
803
|
}
|
618
804
|
}
|
619
805
|
catch (error) {
|
620
806
|
this.logger.debug(() => `Failed to detect tool format from SettingsService: ${error}`);
|
621
807
|
}
|
622
|
-
//
|
808
|
+
// Auto-detect based on model name if set to 'auto' or not set
|
623
809
|
const modelName = (this.getModel() || this.getDefaultModel()).toLowerCase();
|
810
|
+
// Check for GLM-4.5 models (glm-4.5, glm-4-5)
|
624
811
|
if (modelName.includes('glm-4.5') || modelName.includes('glm-4-5')) {
|
812
|
+
this.logger.debug(() => `Auto-detected 'qwen' format for GLM-4.5 model: ${modelName}`);
|
625
813
|
return 'qwen';
|
626
814
|
}
|
815
|
+
// Check for qwen models
|
627
816
|
if (modelName.includes('qwen')) {
|
817
|
+
this.logger.debug(() => `Auto-detected 'qwen' format for Qwen model: ${modelName}`);
|
628
818
|
return 'qwen';
|
629
819
|
}
|
820
|
+
// Default to 'openai' format
|
821
|
+
this.logger.debug(() => `Using default 'openai' format for model: ${modelName}`);
|
630
822
|
return 'openai';
|
631
823
|
}
|
632
824
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../../../src/providers/openai/OpenAIProvider.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../../../src/providers/openai/OpenAIProvider.ts"],"names":[],"mappings":"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"}
|
@@ -61,7 +61,8 @@ export class TodoReminderService {
|
|
61
61
|
* Format message as system reminder
|
62
62
|
*/
|
63
63
|
formatSystemReminder(message) {
|
64
|
-
|
64
|
+
// Return plain text instead of XML tags to avoid breaking OpenAI API
|
65
|
+
return `\n\n---\nSystem Note: ${message}\n---`;
|
65
66
|
}
|
66
67
|
/**
|
67
68
|
* Generate proactive todo suggestion for complex tasks
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"todo-reminder-service.js","sourceRoot":"","sources":["../../../src/services/todo-reminder-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAU,mBAAmB,GAAG,uUAAuU,CAAC;IAE9W,MAAM,CAAU,mBAAmB,GAAG,6HAA6H,CAAC;IAEpK,MAAM,CAAU,mBAAmB,GAAG,qDAAqD,CAAC;IAEpG;;OAEG;IACH,wBAAwB,CAAC,gBAAyB,KAAK;QACrD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,WAA4B;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC,CAAC,CACJ,CAAC;QAEF,MAAM,OAAO,GACX,mBAAmB,CAAC,mBAAmB;YACvC,QAAQ;YACR,mBAAmB,CAAC,mBAAmB,CAAC;QAE1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,oBAAoB,CAClB,aAAqB,EACrB,YAAoB;QAEpB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CACzE,CAAC;QAEF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CACxE,CAAC;QAEF,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/D,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,aAAa;YACb,YAAY;YACZ,KAAK;YACL,OAAO;YACP,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,WAA4B;QACjD,OAAO,CACL,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC5B,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC9B,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAe;QAC1C,OAAO,
|
1
|
+
{"version":3,"file":"todo-reminder-service.js","sourceRoot":"","sources":["../../../src/services/todo-reminder-service.ts"],"names":[],"mappings":"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"}
|