diff --git a/src/agents/librarian.ts b/src/agents/librarian.ts index 03ccaaf7b..b6ed33445 100644 --- a/src/agents/librarian.ts +++ b/src/agents/librarian.ts @@ -1,6 +1,5 @@ import type { AgentConfig } from "@opencode-ai/sdk" import type { AgentPromptMetadata } from "./types" -import { isGeminiModel } from "./types" import { createAgentToolRestrictions } from "../shared/permission-compat" export const LIBRARIAN_PROMPT_METADATA: AgentPromptMetadata = { @@ -29,7 +28,7 @@ export function createLibrarianAgent(model: string): AgentConfig { "call_omo_agent", ]) - const base = { + return { description: "Specialized codebase understanding agent for multi-repository analysis, searching remote codebases, retrieving official documentation, and finding implementation examples using GitHub CLI, Context7, and Web Search. MUST BE USED when users ask to look up code in remote repositories, explain library internals, or find usage examples in open source.", mode: "subagent" as const, @@ -323,11 +322,5 @@ grep_app_searchGitHub(query: "useQuery") `, } - - if (isGeminiModel(model)) { - return base - } - - return { ...base, thinking: { type: "enabled", budgetTokens: 32000 } } } diff --git a/src/agents/types.ts b/src/agents/types.ts index 49543677f..5c21c3320 100644 --- a/src/agents/types.ts +++ b/src/agents/types.ts @@ -56,10 +56,6 @@ export function isGptModel(model: string): boolean { return model.startsWith("openai/") || model.startsWith("github-copilot/gpt-") } -export function isGeminiModel(model: string): boolean { - return model.includes("gemini") -} - export type BuiltinAgentName = | "sisyphus" | "oracle" diff --git a/src/agents/utils.test.ts b/src/agents/utils.test.ts index c6290faf7..66a37a185 100644 --- a/src/agents/utils.test.ts +++ b/src/agents/utils.test.ts @@ -91,34 +91,6 @@ describe("createBuiltinAgents with model overrides", () => { expect(agents.oracle.textVerbosity).toBeUndefined() }) - test("Librarian with Gemini model has no thinking", async () => { - // #given - const overrides = { - librarian: { model: "google/gemini-3-flash-preview" }, - } - - // #when - const agents = await createBuiltinAgents([], overrides, undefined, TEST_DEFAULT_MODEL) - - // #then - expect(agents.librarian.model).toBe("google/gemini-3-flash-preview") - expect(agents.librarian.thinking).toBeUndefined() - }) - - test("Librarian with Claude model has thinking enabled", async () => { - // #given - const overrides = { - librarian: { model: "anthropic/claude-sonnet-4-5" }, - } - - // #when - const agents = await createBuiltinAgents([], overrides, undefined, TEST_DEFAULT_MODEL) - - // #then - expect(agents.librarian.model).toBe("anthropic/claude-sonnet-4-5") - expect(agents.librarian.thinking).toEqual({ type: "enabled", budgetTokens: 32000 }) - }) - test("non-model overrides are still applied after factory rebuild", async () => { // #given const overrides = {