From 30d778cf5f2b98bdb49d099e3a12ef8e21021cf6 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2026 20:41:14 -0500 Subject: [PATCH] fix(tui): clarify web search provider labels (#43155) Co-authored-by: Aiden Cline --- packages/tui/src/util/tool-display.ts | 7 ++----- packages/tui/test/mini/permission.shared.test.ts | 2 +- packages/tui/test/util/tool-display.test.ts | 13 +++++++++---- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/tui/src/util/tool-display.ts b/packages/tui/src/util/tool-display.ts index 93d9eef48b..af5e2f814f 100644 --- a/packages/tui/src/util/tool-display.ts +++ b/packages/tui/src/util/tool-display.ts @@ -20,11 +20,8 @@ export function primitiveInputSummary(input: Record, omit: read } export function webSearchProviderLabel(provider: unknown) { - if (provider === "parallel") return "Parallel Web Search" - if (provider === "exa") return "Exa Web Search" - if (provider === "firecrawl") return "Firecrawl Web Search" - if (provider === "tavily") return "Tavily Web Search" - return "Web Search" + if (typeof provider !== "string" || !provider) return "Web Search" + return `Web Search via ${provider[0].toUpperCase()}${provider.slice(1)}` } export function toolDisplayMetadata(state: unknown): Record { diff --git a/packages/tui/test/mini/permission.shared.test.ts b/packages/tui/test/mini/permission.shared.test.ts index a4b68b064a..f2b94c74eb 100644 --- a/packages/tui/test/mini/permission.shared.test.ts +++ b/packages/tui/test/mini/permission.shared.test.ts @@ -147,7 +147,7 @@ describe("run permission shared", () => { }), ), ).toMatchObject({ - title: 'Parallel Web Search "current releases"', + title: 'Web Search via Parallel "current releases"', lines: ["Query: current releases"], }) }) diff --git a/packages/tui/test/util/tool-display.test.ts b/packages/tui/test/util/tool-display.test.ts index 1a71091b70..1cd28b15d1 100644 --- a/packages/tui/test/util/tool-display.test.ts +++ b/packages/tui/test/util/tool-display.test.ts @@ -21,9 +21,14 @@ test("normalizes shared tool primitives", () => { describe("webSearchProviderLabel", () => { test("labels known providers", () => { - expect(webSearchProviderLabel("parallel")).toBe("Parallel Web Search") - expect(webSearchProviderLabel("exa")).toBe("Exa Web Search") - expect(webSearchProviderLabel("tavily")).toBe("Tavily Web Search") + expect(webSearchProviderLabel("parallel")).toBe("Web Search via Parallel") + expect(webSearchProviderLabel("exa")).toBe("Web Search via Exa") + expect(webSearchProviderLabel("firecrawl")).toBe("Web Search via Firecrawl") + expect(webSearchProviderLabel("tavily")).toBe("Web Search via Tavily") + }) + + test("labels providers dynamically", () => { + expect(webSearchProviderLabel("other")).toBe("Web Search via Other") }) for (const [name, provider] of [ @@ -32,7 +37,7 @@ describe("webSearchProviderLabel", () => { ["an object", {}], ["an array", []], ["a number", 1], - ["an unexpected string", "other"], + ["an empty string", ""], ] as const) { test(`uses the generic label for ${name}`, () => { expect(webSearchProviderLabel(provider)).toBe("Web Search")