From fe67da2172e1fec4dfe7358190999ab353fd68b9 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sun, 14 Dec 2025 01:17:56 +0000 Subject: [PATCH] fix: add defaultToolProtocol native for DeepSeek V3.1/V3.2 to improve tool calling reliability When reasoning mode is enabled, DeepSeek models may not follow XML tool format correctly. Setting defaultToolProtocol to native uses OpenAI-style function calling instead, which is more reliable than XML parsing when reasoning_effort is enabled. --- packages/types/src/providers/fireworks.ts | 2 ++ src/api/providers/__tests__/fireworks.spec.ts | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/packages/types/src/providers/fireworks.ts b/packages/types/src/providers/fireworks.ts index c5796320c4..1d1c6436cd 100644 --- a/packages/types/src/providers/fireworks.ts +++ b/packages/types/src/providers/fireworks.ts @@ -101,6 +101,7 @@ export const fireworksModels = { supportsImages: false, supportsPromptCache: false, supportsNativeTools: true, + defaultToolProtocol: "native", supportsReasoningEffort: ["low", "medium", "high"], reasoningEffort: "medium", inputPrice: 0.56, @@ -114,6 +115,7 @@ export const fireworksModels = { supportsImages: false, supportsPromptCache: false, supportsNativeTools: true, + defaultToolProtocol: "native", supportsReasoningEffort: ["low", "medium", "high"], reasoningEffort: "medium", inputPrice: 0.56, diff --git a/src/api/providers/__tests__/fireworks.spec.ts b/src/api/providers/__tests__/fireworks.spec.ts index 4b2a324351..1eff646159 100644 --- a/src/api/providers/__tests__/fireworks.spec.ts +++ b/src/api/providers/__tests__/fireworks.spec.ts @@ -214,6 +214,8 @@ describe("FireworksHandler", () => { contextWindow: 163840, supportsImages: false, supportsPromptCache: false, + supportsNativeTools: true, + defaultToolProtocol: "native", supportsReasoningEffort: ["low", "medium", "high"], reasoningEffort: "medium", inputPrice: 0.56, @@ -237,6 +239,8 @@ describe("FireworksHandler", () => { contextWindow: 163840, supportsImages: false, supportsPromptCache: false, + supportsNativeTools: true, + defaultToolProtocol: "native", supportsReasoningEffort: ["low", "medium", "high"], reasoningEffort: "medium", inputPrice: 0.56,