From 2a2411d37c07230ede4e1933f29da390588c6d0b Mon Sep 17 00:00:00 2001 From: Daniel <57051444+daniel-lxs@users.noreply.github.com> Date: Wed, 17 Dec 2025 16:02:45 -0500 Subject: [PATCH] fix: enable native tools by default for OpenAI compatible provider (#10159) --- packages/types/src/providers/openai.ts | 1 + src/utils/__tests__/resolveToolProtocol.spec.ts | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/types/src/providers/openai.ts b/packages/types/src/providers/openai.ts index 1e7b44a45a..47b883e0e1 100644 --- a/packages/types/src/providers/openai.ts +++ b/packages/types/src/providers/openai.ts @@ -551,6 +551,7 @@ export const openAiModelInfoSaneDefaults: ModelInfo = { inputPrice: 0, outputPrice: 0, supportsNativeTools: true, + defaultToolProtocol: "native", } // https://learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation diff --git a/src/utils/__tests__/resolveToolProtocol.spec.ts b/src/utils/__tests__/resolveToolProtocol.spec.ts index d5f12b0b22..68d3f3a2de 100644 --- a/src/utils/__tests__/resolveToolProtocol.spec.ts +++ b/src/utils/__tests__/resolveToolProtocol.spec.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from "vitest" import { resolveToolProtocol } from "../resolveToolProtocol" -import { TOOL_PROTOCOL } from "@roo-code/types" +import { TOOL_PROTOCOL, openAiModelInfoSaneDefaults } from "@roo-code/types" import type { ProviderSettings, ModelInfo } from "@roo-code/types" describe("resolveToolProtocol", () => { @@ -316,5 +316,14 @@ describe("resolveToolProtocol", () => { const result = resolveToolProtocol(settings, modelInfo) expect(result).toBe(TOOL_PROTOCOL.XML) // Model default wins }) + + it("should use native tools for OpenAI compatible provider with default model info", () => { + const settings: ProviderSettings = { + apiProvider: "openai", + } + // Using the actual openAiModelInfoSaneDefaults to verify the fix + const result = resolveToolProtocol(settings, openAiModelInfoSaneDefaults) + expect(result).toBe(TOOL_PROTOCOL.NATIVE) // Should use native tools by default + }) }) })