@@ -15,63 +15,30 @@ vi.mock("../plugins/provider-runtime.js", async () => {
|
15 | 15 | }; |
16 | 16 | }); |
17 | 17 | |
18 | | -import { isReasoningTagProvider, resolveReasoningOutputMode } from "./provider-utils.js"; |
| 18 | +import { isReasoningTagProvider } from "./provider-utils.js"; |
19 | 19 | |
20 | | -describe("resolveReasoningOutputMode", () => { |
| 20 | +describe("isReasoningTagProvider", () => { |
21 | 21 | beforeEach(() => { |
22 | 22 | resolveProviderReasoningOutputModeWithPluginMock.mockReset(); |
23 | 23 | resolveProviderReasoningOutputModeWithPluginMock.mockReturnValue(undefined); |
24 | 24 | }); |
25 | 25 | |
26 | | -it.each([["google-generative-ai", "native"]] as const)( |
27 | | -"falls back to native for %s when no plugin override is present", |
28 | | -(provider, expected) => { |
29 | | -expect(resolveReasoningOutputMode({ provider, workspaceDir: process.cwd() })).toBe(expected); |
30 | | -expect(resolveProviderReasoningOutputModeWithPluginMock).toHaveBeenCalledTimes(1); |
31 | | -}, |
32 | | -); |
33 | | - |
34 | | -it.each([ |
35 | | -["google", "tagged"], |
36 | | -["Google", "tagged"], |
37 | | -["google-gemini-cli", "tagged"], |
38 | | -["anthropic", "native"], |
39 | | -["openai", "native"], |
40 | | -["openrouter", "native"], |
41 | | -["ollama", "native"], |
42 | | -["minimax", "native"], |
43 | | -["minimax-cn", "native"], |
44 | | -] as const)("prefers provider hooks for %s", (provider, expected) => { |
45 | | -resolveProviderReasoningOutputModeWithPluginMock.mockReturnValueOnce(expected); |
46 | | - |
47 | | -expect(resolveReasoningOutputMode({ provider, workspaceDir: process.cwd() })).toBe(expected); |
48 | | -expect(resolveProviderReasoningOutputModeWithPluginMock).toHaveBeenCalledTimes(1); |
49 | | -}); |
50 | | - |
51 | 26 | it("falls back to provider hooks for unknown providers", () => { |
52 | 27 | resolveProviderReasoningOutputModeWithPluginMock.mockReturnValue("tagged"); |
53 | 28 | |
54 | 29 | expect( |
55 | | -resolveReasoningOutputMode({ |
56 | | -provider: "custom-provider", |
| 30 | +isReasoningTagProvider("custom-provider", { |
57 | 31 | workspaceDir: process.cwd(), |
58 | 32 | modelId: "custom/model", |
59 | 33 | }), |
60 | | -).toBe("tagged"); |
| 34 | +).toBe(true); |
61 | 35 | expect(resolveProviderReasoningOutputModeWithPluginMock).toHaveBeenCalledTimes(1); |
62 | 36 | }); |
63 | 37 | |
64 | 38 | it("returns native when hooks do not provide an override", () => { |
65 | | -expect(resolveReasoningOutputMode({ provider: "custom-provider" })).toBe("native"); |
| 39 | +expect(isReasoningTagProvider("custom-provider")).toBe(false); |
66 | 40 | expect(resolveProviderReasoningOutputModeWithPluginMock).toHaveBeenCalledTimes(1); |
67 | 41 | }); |
68 | | -}); |
69 | | - |
70 | | -describe("isReasoningTagProvider", () => { |
71 | | -beforeEach(() => { |
72 | | -resolveProviderReasoningOutputModeWithPluginMock.mockReset(); |
73 | | -resolveProviderReasoningOutputModeWithPluginMock.mockReturnValue(undefined); |
74 | | -}); |
75 | 42 | |
76 | 43 | it.each([ |
77 | 44 | ["google-generative-ai", false], |
|