@vybestack/llxprt-code-core 0.6.2 → 0.7.0-nightly.251206.43b97dbf4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/src/auth/precedence.js +9 -10
  2. package/dist/src/auth/precedence.js.map +1 -1
  3. package/dist/src/auth/types.d.ts +6 -6
  4. package/dist/src/core/geminiChat.d.ts +8 -0
  5. package/dist/src/core/geminiChat.js +63 -5
  6. package/dist/src/core/geminiChat.js.map +1 -1
  7. package/dist/src/core/turn.js +12 -8
  8. package/dist/src/core/turn.js.map +1 -1
  9. package/dist/src/ide/ide-client.js +4 -2
  10. package/dist/src/ide/ide-client.js.map +1 -1
  11. package/dist/src/index.d.ts +1 -0
  12. package/dist/src/index.js +1 -0
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/parsers/TextToolCallParser.d.ts +0 -15
  15. package/dist/src/parsers/TextToolCallParser.js +21 -5
  16. package/dist/src/parsers/TextToolCallParser.js.map +1 -1
  17. package/dist/src/providers/BaseProvider.d.ts +3 -0
  18. package/dist/src/providers/BaseProvider.js +11 -0
  19. package/dist/src/providers/BaseProvider.js.map +1 -1
  20. package/dist/src/providers/IProvider.d.ts +3 -0
  21. package/dist/src/providers/ProviderManager.js +6 -0
  22. package/dist/src/providers/ProviderManager.js.map +1 -1
  23. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +0 -1
  24. package/dist/src/providers/anthropic/AnthropicProvider.js +233 -22
  25. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  26. package/dist/src/providers/anthropic/schemaConverter.d.ts +63 -0
  27. package/dist/src/providers/anthropic/schemaConverter.js +189 -0
  28. package/dist/src/providers/anthropic/schemaConverter.js.map +1 -0
  29. package/dist/src/providers/gemini/GeminiProvider.js +108 -11
  30. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  31. package/dist/src/providers/gemini/thoughtSignatures.d.ts +51 -0
  32. package/dist/src/providers/gemini/thoughtSignatures.js +189 -0
  33. package/dist/src/providers/gemini/thoughtSignatures.js.map +1 -0
  34. package/dist/src/providers/openai/OpenAIProvider.d.ts +78 -1
  35. package/dist/src/providers/openai/OpenAIProvider.js +1159 -190
  36. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  37. package/dist/src/providers/openai/ToolCallNormalizer.d.ts +6 -0
  38. package/dist/src/providers/openai/ToolCallNormalizer.js +16 -2
  39. package/dist/src/providers/openai/ToolCallNormalizer.js.map +1 -1
  40. package/dist/src/providers/openai/schemaConverter.d.ts +67 -0
  41. package/dist/src/providers/openai/schemaConverter.js +191 -0
  42. package/dist/src/providers/openai/schemaConverter.js.map +1 -0
  43. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +0 -4
  44. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +3 -75
  45. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  46. package/dist/src/providers/openai-responses/schemaConverter.d.ts +65 -0
  47. package/dist/src/providers/openai-responses/schemaConverter.js +195 -0
  48. package/dist/src/providers/openai-responses/schemaConverter.js.map +1 -0
  49. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.d.ts +146 -0
  50. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js +1177 -0
  51. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js.map +1 -0
  52. package/dist/src/providers/openai-vercel/errors.d.ts +46 -0
  53. package/dist/src/providers/openai-vercel/errors.js +137 -0
  54. package/dist/src/providers/openai-vercel/errors.js.map +1 -0
  55. package/dist/src/providers/openai-vercel/index.d.ts +22 -0
  56. package/dist/src/providers/openai-vercel/index.js +23 -0
  57. package/dist/src/providers/openai-vercel/index.js.map +1 -0
  58. package/dist/src/providers/openai-vercel/messageConversion.d.ts +36 -0
  59. package/dist/src/providers/openai-vercel/messageConversion.js +410 -0
  60. package/dist/src/providers/openai-vercel/messageConversion.js.map +1 -0
  61. package/dist/src/providers/openai-vercel/schemaConverter.d.ts +66 -0
  62. package/dist/src/providers/openai-vercel/schemaConverter.js +191 -0
  63. package/dist/src/providers/openai-vercel/schemaConverter.js.map +1 -0
  64. package/dist/src/providers/openai-vercel/toolIdUtils.d.ts +33 -0
  65. package/dist/src/providers/openai-vercel/toolIdUtils.js +117 -0
  66. package/dist/src/providers/openai-vercel/toolIdUtils.js.map +1 -0
  67. package/dist/src/providers/reasoning/reasoningUtils.d.ts +43 -0
  68. package/dist/src/providers/reasoning/reasoningUtils.js +92 -0
  69. package/dist/src/providers/reasoning/reasoningUtils.js.map +1 -0
  70. package/dist/src/providers/utils/localEndpoint.js +6 -2
  71. package/dist/src/providers/utils/localEndpoint.js.map +1 -1
  72. package/dist/src/runtime/AgentRuntimeContext.d.ts +27 -0
  73. package/dist/src/runtime/AgentRuntimeContext.js.map +1 -1
  74. package/dist/src/runtime/createAgentRuntimeContext.js +27 -1
  75. package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -1
  76. package/dist/src/services/history/IContent.d.ts +6 -0
  77. package/dist/src/services/history/IContent.js.map +1 -1
  78. package/dist/src/settings/types.d.ts +1 -1
  79. package/dist/src/tools/IToolFormatter.d.ts +1 -1
  80. package/dist/src/tools/ToolFormatter.js +14 -2
  81. package/dist/src/tools/ToolFormatter.js.map +1 -1
  82. package/dist/src/tools/ToolIdStrategy.d.ts +72 -0
  83. package/dist/src/tools/ToolIdStrategy.js +107 -0
  84. package/dist/src/tools/ToolIdStrategy.js.map +1 -0
  85. package/dist/src/tools/todo-schemas.d.ts +4 -4
  86. package/dist/src/utils/filesearch/ignore.js +3 -2
  87. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  88. package/dist/src/utils/gitIgnoreParser.js +2 -1
  89. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  90. package/dist/src/utils/schemaValidator.js +41 -6
  91. package/dist/src/utils/schemaValidator.js.map +1 -1
  92. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderManager.js","sourceRoot":"","sources":["../../../src/providers/ProviderManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProviderManager.js","sourceRoot":"","sources":["../../../src/providers/ProviderManager.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,6 @@ export declare class AnthropicProvider extends BaseProvider {
46
46
  * Build provider client per call with fresh SDK instance
47
47
  */
48
48
  private buildProviderClient;
49
- private createToolFormatter;
50
49
  /**
51
50
  * @plan PLAN-20251023-STATELESS-HARDENING.P08
52
51
  * @requirement REQ-SP4-002
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import Anthropic from '@anthropic-ai/sdk';
7
7
  import { DebugLogger } from '../../debug/index.js';
8
- import { ToolFormatter } from '../../tools/ToolFormatter.js';
8
+ import { convertToolsToAnthropic } from './schemaConverter.js';
9
9
  import { BaseProvider, } from '../BaseProvider.js';
10
10
  import { processToolParameters, logDoubleEscapingInChunk, } from '../../tools/doubleEscapeUtils.js';
11
11
  import { getCoreSystemPromptAsync } from '../../core/prompts.js';
@@ -144,9 +144,6 @@ export class AnthropicProvider extends BaseProvider {
144
144
  });
145
145
  return { client, authToken };
146
146
  }
147
- createToolFormatter() {
148
- return new ToolFormatter();
149
- }
150
147
  /**
151
148
  * @plan PLAN-20251023-STATELESS-HARDENING.P08
152
149
  * @requirement REQ-SP4-002
@@ -592,8 +589,15 @@ export class AnthropicProvider extends BaseProvider {
592
589
  */
593
590
  async *generateChatCompletionWithOptions(options) {
594
591
  const { client, authToken } = await this.buildProviderClient(options, options.resolved.telemetry);
595
- const callFormatter = this.createToolFormatter();
596
592
  const { contents: content, tools } = options;
593
+ // Read reasoning settings from options.settings (SettingsService) - same pattern as OpenAI
594
+ // This is the correct way to access ephemeral settings that are applied via profiles
595
+ const reasoningEnabled = options.settings.get('reasoning.enabled');
596
+ const reasoningBudgetTokens = options.settings.get('reasoning.budgetTokens');
597
+ const stripFromContext = options.settings.get('reasoning.stripFromContext');
598
+ const includeInContext = options.settings.get('reasoning.includeInContext');
599
+ // Debug log reasoning settings source
600
+ this.getLogger().debug(() => `[AnthropicProvider] Reasoning settings from options.settings: enabled=${String(reasoningEnabled)}, budgetTokens=${String(reasoningBudgetTokens)}, stripFromContext=${String(stripFromContext)}, includeInContext=${String(includeInContext)}`);
597
601
  // Convert IContent directly to Anthropic API format (no IMessage!)
598
602
  const anthropicMessages = [];
599
603
  // Extract system message if present
@@ -608,7 +612,65 @@ export class AnthropicProvider extends BaseProvider {
608
612
  this.getToolsLogger().debug(() => `Skipping orphaned tool response at beginning of conversation`);
609
613
  startIndex++;
610
614
  }
611
- const filteredContent = content.slice(startIndex);
615
+ const filteredContentRaw = content.slice(startIndex);
616
+ // Pre-process content to merge consecutive AI messages where one has only thinking
617
+ // and the next has tool calls. This handles the case where thinking and tool calls
618
+ // are streamed and stored separately during Anthropic Extended Thinking.
619
+ const filteredContent = [];
620
+ for (let i = 0; i < filteredContentRaw.length; i++) {
621
+ const current = filteredContentRaw[i];
622
+ const next = i + 1 < filteredContentRaw.length ? filteredContentRaw[i + 1] : null;
623
+ if (reasoningEnabled &&
624
+ current.speaker === 'ai' &&
625
+ next &&
626
+ next.speaker === 'ai') {
627
+ // Check if current has ONLY thinking blocks and next has tool_call blocks
628
+ const currentThinking = current.blocks.filter((b) => b.type === 'thinking' &&
629
+ b.sourceField === 'thinking');
630
+ const currentOther = current.blocks.filter((b) => b.type !== 'thinking' ||
631
+ b.sourceField !== 'thinking');
632
+ const nextToolCalls = next.blocks.filter((b) => b.type === 'tool_call');
633
+ if (currentThinking.length > 0 &&
634
+ currentOther.length === 0 &&
635
+ nextToolCalls.length > 0) {
636
+ // Merge: combine thinking from current with all blocks from next
637
+ this.getLogger().debug(() => `[AnthropicProvider] Merging orphaned thinking block with subsequent tool_use message`);
638
+ filteredContent.push({
639
+ ...next,
640
+ blocks: [...currentThinking, ...next.blocks],
641
+ });
642
+ i++; // Skip the next item since we merged it
643
+ continue;
644
+ }
645
+ }
646
+ filteredContent.push(current);
647
+ }
648
+ // CRITICAL FIX: Check if there are tool calls in history without thinking blocks.
649
+ // Anthropic's API requires ALL assistant messages to start with thinking/redacted_thinking
650
+ // when thinking is enabled. Since our history system doesn't preserve thinking alongside
651
+ // tool calls, we must DISABLE thinking for multi-turn conversations with tool calls
652
+ // to avoid the API error "messages.1.content.0.type: Expected `thinking` or `redacted_thinking`"
653
+ //
654
+ // This is a workaround until thinking block preservation is fixed at the geminiChat level.
655
+ let effectiveReasoningEnabled = reasoningEnabled;
656
+ if (reasoningEnabled) {
657
+ for (const c of filteredContent) {
658
+ if (c.speaker === 'ai') {
659
+ const hasToolCalls = c.blocks.some((b) => b.type === 'tool_call');
660
+ const hasThinking = c.blocks.some((b) => b.type === 'thinking' &&
661
+ b.sourceField === 'thinking');
662
+ // If this AI message has tool calls but NO thinking, we must disable thinking
663
+ // to avoid API error
664
+ if (hasToolCalls && !hasThinking) {
665
+ this.getLogger().warn(() => `[AnthropicProvider] Disabling extended thinking for this request: ` +
666
+ `history contains tool calls without associated thinking blocks. ` +
667
+ `This is a known limitation - thinking blocks are not preserved alongside tool calls in history.`);
668
+ effectiveReasoningEnabled = false;
669
+ break;
670
+ }
671
+ }
672
+ }
673
+ }
612
674
  // Group consecutive tool responses together for Anthropic API
613
675
  let pendingToolResults = [];
614
676
  const flushToolResults = () => {
@@ -634,7 +696,45 @@ export class AnthropicProvider extends BaseProvider {
634
696
  return combined.trimStart();
635
697
  };
636
698
  const configForMessages = options.config ?? options.runtime?.config ?? this.globalConfig;
637
- for (const c of filteredContent) {
699
+ // Apply stripping policy to assistant messages with thinking blocks
700
+ // Uses stripFromContext and includeInContext from options.settings (already read above)
701
+ // IMPORTANT: For Anthropic Extended Thinking, we can't fully strip thinking blocks
702
+ // because the API requires assistant messages to start with thinking/redacted_thinking
703
+ // when thinking is enabled. Instead, we track which messages should be "redacted"
704
+ // and convert their thinking blocks to redacted_thinking format.
705
+ const processedContent = filteredContent;
706
+ // Track which content indices should have their thinking redacted (not fully stripped)
707
+ const redactedThinkingIndices = new Set();
708
+ // Determine if we need to redact thinking blocks
709
+ const shouldStripAll = includeInContext === false || stripFromContext === 'all';
710
+ const shouldStripAllButLast = includeInContext !== false && stripFromContext === 'allButLast';
711
+ if (shouldStripAll || shouldStripAllButLast) {
712
+ // Find all assistant messages with thinking blocks
713
+ const assistantIndices = [];
714
+ filteredContent.forEach((c, idx) => {
715
+ if (c.speaker === 'ai' && c.blocks.some((b) => b.type === 'thinking')) {
716
+ assistantIndices.push(idx);
717
+ }
718
+ });
719
+ if (assistantIndices.length > 0) {
720
+ // Mark messages for redaction instead of stripping
721
+ assistantIndices.forEach((idx) => {
722
+ let shouldRedact = false;
723
+ if (shouldStripAll) {
724
+ shouldRedact = true;
725
+ }
726
+ else if (shouldStripAllButLast) {
727
+ const isLast = idx === assistantIndices[assistantIndices.length - 1];
728
+ shouldRedact = !isLast;
729
+ }
730
+ if (shouldRedact) {
731
+ redactedThinkingIndices.add(idx);
732
+ }
733
+ });
734
+ }
735
+ }
736
+ for (let contentIndex = 0; contentIndex < processedContent.length; contentIndex++) {
737
+ const c = processedContent[contentIndex];
638
738
  const toolResponseBlocks = c.blocks.filter((b) => b.type === 'tool_response');
639
739
  const nonToolResponseBlocks = c.blocks.filter((b) => b.type !== 'tool_response');
640
740
  const toolTextContent = toolResponseBlocks.length
@@ -686,9 +786,63 @@ export class AnthropicProvider extends BaseProvider {
686
786
  flushToolResults();
687
787
  const textBlocks = c.blocks.filter((b) => b.type === 'text');
688
788
  const toolCallBlocks = c.blocks.filter((b) => b.type === 'tool_call');
689
- if (toolCallBlocks.length > 0) {
690
- // Build content array with text and tool_use blocks
789
+ const thinkingBlocks = c.blocks.filter((b) => b.type === 'thinking');
790
+ if (toolCallBlocks.length > 0 || thinkingBlocks.length > 0) {
791
+ // Build content array with text, thinking/redacted_thinking, and tool_use blocks
691
792
  const contentArray = [];
793
+ // Check if this message's thinking should be redacted (stripped but preserved as placeholder)
794
+ const shouldRedactThinking = redactedThinkingIndices.has(contentIndex);
795
+ // Add thinking blocks first
796
+ // Only include thinking blocks with sourceField 'thinking' (Anthropic format)
797
+ // When redacting, convert to redacted_thinking to satisfy Anthropic's API requirement
798
+ // that assistant messages must start with thinking when thinking is enabled
799
+ //
800
+ // IMPORTANT: When thinking is enabled but the history has no thinking block for this
801
+ // assistant message (e.g., thinking was stored separately due to streaming), we need to
802
+ // look back at previous content items to find an orphaned thinking block to associate
803
+ // with this tool_use message. Anthropic requires ALL assistant messages to start with
804
+ // thinking/redacted_thinking when thinking mode is enabled.
805
+ let anthropicThinkingBlocks = thinkingBlocks.filter((tb) => tb.sourceField === 'thinking');
806
+ // If no thinking blocks found but we have tool calls and thinking is enabled,
807
+ // look back at the previous content item for orphaned thinking blocks
808
+ if (anthropicThinkingBlocks.length === 0 &&
809
+ effectiveReasoningEnabled &&
810
+ toolCallBlocks.length > 0 &&
811
+ contentIndex > 0) {
812
+ const prevContent = processedContent[contentIndex - 1];
813
+ if (prevContent.speaker === 'ai') {
814
+ const prevThinkingBlocks = prevContent.blocks.filter((b) => b.type === 'thinking' &&
815
+ b.sourceField === 'thinking');
816
+ // Check if prev content was ONLY thinking (no other content)
817
+ const prevNonThinkingBlocks = prevContent.blocks.filter((b) => b.type !== 'thinking' ||
818
+ b.sourceField !== 'thinking');
819
+ if (prevThinkingBlocks.length > 0 &&
820
+ prevNonThinkingBlocks.length === 0) {
821
+ this.getLogger().debug(() => `[AnthropicProvider] Found orphaned thinking block in previous content item, merging with tool_use message`);
822
+ anthropicThinkingBlocks = prevThinkingBlocks;
823
+ }
824
+ }
825
+ }
826
+ if (anthropicThinkingBlocks.length > 0) {
827
+ // Process existing thinking blocks
828
+ for (const tb of anthropicThinkingBlocks) {
829
+ if (shouldRedactThinking) {
830
+ // Use redacted_thinking with the signature as data
831
+ // This satisfies Anthropic's requirement while saving tokens
832
+ contentArray.push({
833
+ type: 'redacted_thinking',
834
+ data: tb.signature || '',
835
+ });
836
+ }
837
+ else {
838
+ contentArray.push({
839
+ type: 'thinking',
840
+ thinking: tb.thought,
841
+ signature: tb.signature,
842
+ });
843
+ }
844
+ }
845
+ }
692
846
  // Add text if present
693
847
  const contentText = textBlocks.map((b) => b.text).join('');
694
848
  if (contentText) {
@@ -801,12 +955,8 @@ export class AnthropicProvider extends BaseProvider {
801
955
  content: 'Hello',
802
956
  });
803
957
  }
804
- // Detect if we need qwen-style parameter processing (for GLM-4.5, qwen models)
805
- // but ALWAYS use anthropic format for the tool structure sent to the API
806
- const detectedFormat = this.detectToolFormat();
807
- const needsQwenParameterProcessing = detectedFormat === 'qwen';
808
- // Convert Gemini format tools to anthropic format (always for Anthropic API)
809
- let anthropicTools = callFormatter.convertGeminiToFormat(tools, 'anthropic');
958
+ // Convert Gemini format tools to Anthropic format using provider-specific converter
959
+ let anthropicTools = convertToolsToAnthropic(tools);
810
960
  // Stabilize tool ordering and JSON schema keys to prevent cache invalidation
811
961
  if (anthropicTools && anthropicTools.length > 0) {
812
962
  anthropicTools = [...anthropicTools]
@@ -839,11 +989,13 @@ export class AnthropicProvider extends BaseProvider {
839
989
  // @plan PLAN-20251023-STATELESS-HARDENING.P08: Get userMemory from normalized runtime context
840
990
  const userMemory = await resolveUserMemory(options.userMemory, () => options.invocation?.userMemory);
841
991
  // Derive model parameters on demand from ephemeral settings
992
+ // Use invocation ephemerals for provider-specific request overrides (top_k, temperature, etc.)
993
+ // This maintains backward compatibility with the existing invocation context flow
842
994
  const configEphemeralSettings = options.invocation?.ephemerals ?? {};
843
- const requestOverrides = configEphemeralSettings['anthropic'] || {};
844
- // Get caching setting from ephemeral settings (session override) or provider settings
845
- const providerSettings = this.resolveSettingsService().getProviderSettings(this.name) ?? {};
846
- const cachingSetting = configEphemeralSettings['prompt-caching'] ??
995
+ const requestOverrides = configEphemeralSettings['anthropic'] ?? {};
996
+ // Get caching setting from options.settings or provider settings
997
+ const providerSettings = options.settings.getProviderSettings(this.name) ?? {};
998
+ const cachingSetting = options.settings.get('prompt-caching') ??
847
999
  providerSettings['prompt-caching'] ??
848
1000
  '1h';
849
1001
  const wantCaching = cachingSetting !== 'off';
@@ -906,6 +1058,8 @@ export class AnthropicProvider extends BaseProvider {
906
1058
  systemField = { system: systemPrompt };
907
1059
  }
908
1060
  }
1061
+ // Note: reasoningEnabled and reasoningBudgetTokens are now read from options.settings
1062
+ // at the start of this method (using options.settings.get() pattern like OpenAI)
909
1063
  const requestBody = {
910
1064
  model: currentModel,
911
1065
  messages: anthropicMessages,
@@ -916,6 +1070,14 @@ export class AnthropicProvider extends BaseProvider {
916
1070
  ...(anthropicTools && anthropicTools.length > 0
917
1071
  ? { tools: anthropicTools }
918
1072
  : {}),
1073
+ ...(effectiveReasoningEnabled
1074
+ ? {
1075
+ thinking: {
1076
+ type: 'enabled',
1077
+ budget_tokens: reasoningBudgetTokens ?? 10000,
1078
+ },
1079
+ }
1080
+ : {}),
919
1081
  };
920
1082
  // Debug log the tools being sent to Anthropic
921
1083
  if (anthropicTools && anthropicTools.length > 0) {
@@ -926,6 +1088,13 @@ export class AnthropicProvider extends BaseProvider {
926
1088
  requestHasTools: 'tools' in requestBody,
927
1089
  });
928
1090
  }
1091
+ // Debug log thinking blocks in messages
1092
+ const messagesWithThinking = anthropicMessages.filter((m) => m.role === 'assistant' &&
1093
+ Array.isArray(m.content) &&
1094
+ m.content.some((b) => b.type === 'thinking'));
1095
+ if (messagesWithThinking.length > 0) {
1096
+ this.getLogger().debug(() => `[AnthropicProvider] Messages with thinking blocks: ${messagesWithThinking.length}`);
1097
+ }
929
1098
  // Make the API call with retry logic
930
1099
  let customHeaders = this.getCustomHeaders() || {};
931
1100
  // For OAuth, always include the oauth beta header in customHeaders
@@ -1018,6 +1187,7 @@ export class AnthropicProvider extends BaseProvider {
1018
1187
  // Handle streaming response - response is already a Stream when streaming is enabled
1019
1188
  const stream = response;
1020
1189
  let currentToolCall;
1190
+ let currentThinkingBlock;
1021
1191
  this.getStreamingLogger().debug(() => 'Processing streaming response');
1022
1192
  for await (const chunk of stream) {
1023
1193
  if (chunk.type === 'message_start') {
@@ -1061,6 +1231,12 @@ export class AnthropicProvider extends BaseProvider {
1061
1231
  input: '',
1062
1232
  };
1063
1233
  }
1234
+ else if (chunk.content_block.type === 'thinking') {
1235
+ this.getStreamingLogger().debug(() => 'Starting thinking block');
1236
+ currentThinkingBlock = {
1237
+ thinking: '',
1238
+ };
1239
+ }
1064
1240
  }
1065
1241
  else if (chunk.type === 'content_block_delta') {
1066
1242
  if (chunk.delta.type === 'text_delta') {
@@ -1077,7 +1253,12 @@ export class AnthropicProvider extends BaseProvider {
1077
1253
  const jsonDelta = chunk.delta;
1078
1254
  currentToolCall.input += jsonDelta.partial_json;
1079
1255
  // Check for double-escaping patterns
1080
- logDoubleEscapingInChunk(jsonDelta.partial_json, currentToolCall.name, needsQwenParameterProcessing ? 'qwen' : 'anthropic');
1256
+ logDoubleEscapingInChunk(jsonDelta.partial_json, currentToolCall.name, 'anthropic');
1257
+ }
1258
+ else if (chunk.delta.type === 'thinking_delta' &&
1259
+ currentThinkingBlock) {
1260
+ const thinkingDelta = chunk.delta;
1261
+ currentThinkingBlock.thinking += thinkingDelta.thinking;
1081
1262
  }
1082
1263
  }
1083
1264
  else if (chunk.type === 'content_block_stop') {
@@ -1085,7 +1266,7 @@ export class AnthropicProvider extends BaseProvider {
1085
1266
  const activeToolCall = currentToolCall;
1086
1267
  this.getStreamingLogger().debug(() => `Completed tool use: ${activeToolCall.name}`);
1087
1268
  // Process tool parameters with double-escape handling
1088
- const processedParameters = processToolParameters(activeToolCall.input, activeToolCall.name, needsQwenParameterProcessing ? 'qwen' : 'anthropic');
1269
+ const processedParameters = processToolParameters(activeToolCall.input, activeToolCall.name, 'anthropic');
1089
1270
  yield {
1090
1271
  speaker: 'ai',
1091
1272
  blocks: [
@@ -1099,6 +1280,27 @@ export class AnthropicProvider extends BaseProvider {
1099
1280
  };
1100
1281
  currentToolCall = undefined;
1101
1282
  }
1283
+ else if (currentThinkingBlock) {
1284
+ const activeThinkingBlock = currentThinkingBlock;
1285
+ this.getStreamingLogger().debug(() => `Completed thinking block: ${activeThinkingBlock.thinking.length} chars`);
1286
+ // Extract signature from content_block if present
1287
+ const contentBlock = chunk.content_block;
1288
+ if (contentBlock?.signature) {
1289
+ activeThinkingBlock.signature = contentBlock.signature;
1290
+ }
1291
+ yield {
1292
+ speaker: 'ai',
1293
+ blocks: [
1294
+ {
1295
+ type: 'thinking',
1296
+ thought: activeThinkingBlock.thinking,
1297
+ sourceField: 'thinking',
1298
+ signature: activeThinkingBlock.signature,
1299
+ },
1300
+ ],
1301
+ };
1302
+ currentThinkingBlock = undefined;
1303
+ }
1102
1304
  }
1103
1305
  else if (chunk.type === 'message_delta' && chunk.usage) {
1104
1306
  // Emit usage metadata including cache fields
@@ -1133,7 +1335,7 @@ export class AnthropicProvider extends BaseProvider {
1133
1335
  }
1134
1336
  else if (contentBlock.type === 'tool_use') {
1135
1337
  // Process tool parameters with double-escape handling
1136
- const processedParameters = processToolParameters(JSON.stringify(contentBlock.input), contentBlock.name, needsQwenParameterProcessing ? 'qwen' : 'anthropic');
1338
+ const processedParameters = processToolParameters(JSON.stringify(contentBlock.input), contentBlock.name, 'anthropic');
1137
1339
  blocks.push({
1138
1340
  type: 'tool_call',
1139
1341
  id: this.normalizeToHistoryToolId(contentBlock.id),
@@ -1141,6 +1343,15 @@ export class AnthropicProvider extends BaseProvider {
1141
1343
  parameters: processedParameters,
1142
1344
  });
1143
1345
  }
1346
+ else if (contentBlock.type === 'thinking') {
1347
+ const thinkingContentBlock = contentBlock;
1348
+ blocks.push({
1349
+ type: 'thinking',
1350
+ thought: thinkingContentBlock.thinking,
1351
+ sourceField: 'thinking',
1352
+ signature: thinkingContentBlock.signature,
1353
+ });
1354
+ }
1144
1355
  }
1145
1356
  // Build response IContent
1146
1357
  const result = {