diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index 0e4558d7c..9e3cd6e78 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -1099,8 +1099,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Fetch content from a URL", "settings.permissions.tool.websearch.title": "Web Search", "settings.permissions.tool.websearch.description": "Search the web", - "settings.permissions.tool.codesearch.title": "Code Search", - "settings.permissions.tool.codesearch.description": "Search code on the web", "settings.permissions.tool.external_directory.title": "External Directory", "settings.permissions.tool.external_directory.description": "Access files outside the project directory", "settings.permissions.tool.doom_loop.title": "Doom Loop", diff --git a/packages/app/src/i18n/zh.ts b/packages/app/src/i18n/zh.ts index e083410b0..b37a74a22 100644 --- a/packages/app/src/i18n/zh.ts +++ b/packages/app/src/i18n/zh.ts @@ -980,8 +980,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "从 URL 获取内容", "settings.permissions.tool.websearch.title": "网页搜索", "settings.permissions.tool.websearch.description": "搜索网页", - "settings.permissions.tool.codesearch.title": "代码搜索", - "settings.permissions.tool.codesearch.description": "在网上搜索代码", "settings.permissions.tool.external_directory.title": "外部目录", "settings.permissions.tool.external_directory.description": "访问项目目录之外的文件", "settings.permissions.tool.doom_loop.title": "死循环", diff --git a/packages/opencode/specs/effect-migration.md b/packages/opencode/specs/effect-migration.md index 4d99b4841..96ba9c9f4 100644 --- a/packages/opencode/specs/effect-migration.md +++ b/packages/opencode/specs/effect-migration.md @@ -260,7 +260,6 @@ Individual tools, ordered by value: - [ ] `edit.ts` — HIGH: multi-step diff/format/publish pipeline, FileWatcher lock - [ ] `grep.ts` — MEDIUM: spawns ripgrep → ChildProcessSpawner, timeout handling - [ ] `write.ts` — MEDIUM: permission checks, diagnostics polling, Bus events -- [ ] `codesearch.ts` — MEDIUM: HTTP + SSE + manual timeout → HttpClient + Effect.timeout - [ ] `webfetch.ts` — MEDIUM: fetch with UA retry, size limits → HttpClient - [ ] `websearch.ts` — MEDIUM: MCP over HTTP → HttpClient - [ ] `batch.ts` — MEDIUM: parallel execution, per-call error recovery → Effect.all diff --git a/packages/opencode/src/agent/agent.ts b/packages/opencode/src/agent/agent.ts index 1eca7ecad..15f7af099 100644 --- a/packages/opencode/src/agent/agent.ts +++ b/packages/opencode/src/agent/agent.ts @@ -155,7 +155,6 @@ export namespace Agent { bash: "allow", webfetch: "allow", websearch: "allow", - codesearch: "allow", read: "allow", external_directory: { "*": "allow", diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts index 878707060..d7638c62e 100644 --- a/packages/opencode/src/cli/cmd/run.ts +++ b/packages/opencode/src/cli/cmd/run.ts @@ -19,7 +19,6 @@ import { ReadTool } from "../../tool/read" import { WebFetchTool } from "../../tool/webfetch" import { EditTool } from "../../tool/edit" import { WriteTool } from "../../tool/write" -import { CodeSearchTool } from "../../tool/codesearch" import { WebSearchTool } from "../../tool/websearch" import { AgentTool } from "../../tool/agent" import { SkillTool } from "../../tool/skill" @@ -153,13 +152,6 @@ function edit(info: ToolProps) { ) } -function codesearch(info: ToolProps) { - inline({ - icon: "◇", - title: `Exa Code Search "${info.input.query}"`, - }) -} - function websearch(info: ToolProps) { inline({ icon: "◈", @@ -428,7 +420,6 @@ export const RunCommand = cmd({ if (part.tool === "write") return write(props(part)) if (part.tool === "webfetch") return webfetch(props(part)) if (part.tool === "edit") return edit(props(part)) - if (part.tool === "codesearch") return codesearch(props(part)) if (part.tool === "websearch") return websearch(props(part)) if (isAgentToolPart(part.tool)) return agent(props(part)) if (part.tool === "todowrite") return todo(props(part)) diff --git a/packages/opencode/src/config/permission.ts b/packages/opencode/src/config/permission.ts index 1706aeb3a..ce2e61f32 100644 --- a/packages/opencode/src/config/permission.ts +++ b/packages/opencode/src/config/permission.ts @@ -41,7 +41,6 @@ const InputObject = Schema.StructWithRest( question: Schema.optional(Action), webfetch: Schema.optional(Action), websearch: Schema.optional(Action), - codesearch: Schema.optional(Action), lsp: Schema.optional(Rule), doom_loop: Schema.optional(Action), skill: Schema.optional(Rule), @@ -76,7 +75,6 @@ const InfoZod = z question: zod(Action).optional(), webfetch: zod(Action).optional(), websearch: zod(Action).optional(), - codesearch: zod(Action).optional(), lsp: zod(Rule).optional(), doom_loop: zod(Action).optional(), skill: zod(Rule).optional(), diff --git a/packages/opencode/src/tool/codesearch.ts b/packages/opencode/src/tool/codesearch.ts deleted file mode 100644 index e10d21175..000000000 --- a/packages/opencode/src/tool/codesearch.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Effect, Schema } from "effect" -import { HttpClient } from "effect/unstable/http" -import * as Tool from "./tool" -import * as McpExa from "./mcp-exa" -import DESCRIPTION from "./codesearch.txt" - -export const Parameters = Schema.Struct({ - query: Schema.String.annotate({ - description: - "Search query to find relevant context for APIs, Libraries, and SDKs. For example, 'React useState hook examples', 'Python pandas dataframe filtering', 'Express.js middleware', 'Next js partial prerendering configuration'", - }), - tokensNum: Schema.Number.check(Schema.isGreaterThanOrEqualTo(1000)) - .check(Schema.isLessThanOrEqualTo(50000)) - .pipe(Schema.optional, Schema.withDecodingDefault(Effect.succeed(5000))) - .annotate({ - description: - "Number of tokens to return (1000-50000). Default is 5000 tokens. Adjust this value based on how much context you need - use lower values for focused queries and higher values for comprehensive documentation.", - }), -}) - -export const CodeSearchTool = Tool.define( - "codesearch", - Effect.gen(function* () { - const http = yield* HttpClient.HttpClient - - return { - description: DESCRIPTION, - parameters: Parameters, - execute: (params: { query: string; tokensNum: number }, ctx: Tool.Context) => - Effect.gen(function* () { - yield* ctx.ask({ - permission: "codesearch", - patterns: [params.query], - always: ["*"], - metadata: { - query: params.query, - tokensNum: params.tokensNum, - }, - }) - - const result = yield* McpExa.call( - http, - "get_code_context_exa", - McpExa.CodeArgs, - { - query: params.query, - tokensNum: params.tokensNum, - }, - "30 seconds", - ) - - return { - output: - result ?? - "No code snippets or documentation found. Please try a different query, be more specific about the library or programming concept, or check the spelling of framework names.", - title: `Code search: ${params.query}`, - metadata: {}, - } - }).pipe(Effect.orDie), - } - }), -) diff --git a/packages/opencode/src/tool/codesearch.txt b/packages/opencode/src/tool/codesearch.txt deleted file mode 100644 index 4187f08d1..000000000 --- a/packages/opencode/src/tool/codesearch.txt +++ /dev/null @@ -1,12 +0,0 @@ -- Search and get relevant context for any programming task using Exa Code API -- Provides the highest quality and freshest context for libraries, SDKs, and APIs -- Use this tool for ANY question or task related to programming -- Returns comprehensive code examples, documentation, and API references -- Optimized for finding specific programming patterns and solutions - -Usage notes: - - Adjustable token count (1000-50000) for focused or comprehensive results - - Default 5000 tokens provides balanced context for most queries - - Use lower values for specific questions, higher values for comprehensive documentation - - Supports queries about frameworks, libraries, APIs, and programming concepts - - Examples: 'React useState hook examples', 'Python pandas dataframe filtering', 'Express.js middleware' diff --git a/packages/opencode/src/tool/question.txt b/packages/opencode/src/tool/question.txt index e2bf44bd6..769f4519d 100644 --- a/packages/opencode/src/tool/question.txt +++ b/packages/opencode/src/tool/question.txt @@ -17,7 +17,7 @@ Use this tool proactively when you need a user decision that meaningfully shapes - Factual lookups you can answer by reading code, docs, or running a command. - The user already gave a specific instruction; just execute it. -- Pure exploration tasks (use the explore agent or codesearch instead). +- Pure exploration tasks (use the explore agent or search tools instead). - Trivial style choices a sensible default covers. - Confirmation theater: don't ask "should I proceed?" after the user already said proceed. diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index 9fc5c4f6c..0b4eb79ed 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -22,7 +22,6 @@ import { Plugin } from "../plugin" import { Provider } from "../provider/provider" import { ProviderID, type ModelID } from "../provider/schema" import { WebSearchTool } from "./websearch" -import { CodeSearchTool } from "./codesearch" import { Flag } from "@opencode-ai/core/flag/flag" import { Settings } from "@/settings" import { Log } from "@opencode-ai/core/util/log" @@ -135,7 +134,6 @@ export namespace ToolRegistry { const webfetch = yield* WebFetchTool const websearch = yield* WebSearchTool const bash = yield* BashTool - const codesearch = yield* CodeSearchTool const globtool = yield* GlobTool const writetool = yield* WriteTool const edit = yield* EditTool @@ -272,7 +270,6 @@ export namespace ToolRegistry { fetch: Tool.init(webfetch), todo: Tool.init(todo), search: Tool.init(websearch), - code: Tool.init(codesearch), skill: Tool.init(skilltool), patch: Tool.init(patchtool), question: Tool.init(question), @@ -299,7 +296,6 @@ export namespace ToolRegistry { tool.fetch, tool.todo, ...(webSearchEnabled ? [tool.search] : []), - tool.code, tool.skill, tool.patch, ...(lspEnabled ? [tool.lsp] : []), @@ -360,9 +356,6 @@ export namespace ToolRegistry { const webSearchEnabled = yield* settings.webSearchEnabled() const filtered = (yield* all()).filter((tool) => { if (tool.id === WebSearchTool.id) return webSearchEnabled - if (tool.id === CodeSearchTool.id) { - return input.providerID === ProviderID.opencode || Flag.OPENCODE_ENABLE_EXA - } const usePatch = !!Env.get("OPENCODE_E2E_LLM_URL") || diff --git a/packages/opencode/test/tool/__snapshots__/parameters.test.ts.snap b/packages/opencode/test/tool/__snapshots__/parameters.test.ts.snap index b20665b34..f2f7316a7 100644 --- a/packages/opencode/test/tool/__snapshots__/parameters.test.ts.snap +++ b/packages/opencode/test/tool/__snapshots__/parameters.test.ts.snap @@ -58,29 +58,6 @@ Output: Creates directory 'foo'" } `; -exports[`tool parameters JSON Schema (wire shape) codesearch 1`] = ` -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "properties": { - "query": { - "description": "Search query to find relevant context for APIs, Libraries, and SDKs. For example, 'React useState hook examples', 'Python pandas dataframe filtering', 'Express.js middleware', 'Next js partial prerendering configuration'", - "type": "string", - }, - "tokensNum": { - "default": 5000, - "description": "Number of tokens to return (1000-50000). Default is 5000 tokens. Adjust this value based on how much context you need - use lower values for focused queries and higher values for comprehensive documentation.", - "maximum": 50000, - "minimum": 1000, - "type": "number", - }, - }, - "required": [ - "query", - ], - "type": "object", -} -`; - exports[`tool parameters JSON Schema (wire shape) edit 1`] = ` { "$schema": "https://json-schema.org/draft/2020-12/schema", diff --git a/packages/opencode/test/tool/registry.test.ts b/packages/opencode/test/tool/registry.test.ts index e0b902caf..51eb77a9e 100644 --- a/packages/opencode/test/tool/registry.test.ts +++ b/packages/opencode/test/tool/registry.test.ts @@ -549,6 +549,17 @@ describe("tool.registry", () => { }) }) + test("does not register broken codesearch tool", async () => { + await using tmp = await tmpdir() + await Instance.provide({ + directory: tmp.path, + fn: async () => { + const ids = await ToolRegistry.ids() + expect(ids).not.toContain("codesearch") + }, + }) + }) + test("includes lsp tool when Settings.lspEnabled=true", async () => { await using tmp = await tmpdir() await Settings.setLspEnabled(true) @@ -591,7 +602,7 @@ describe("tool.registry", () => { } }) - test("exposes websearch for non-opencode providers by default while codesearch stays gated", async () => { + test("exposes websearch for non-opencode providers without codesearch", async () => { await using tmp = await tmpdir() const previous = await Settings.webSearchEnabled() try { diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts index 380483d98..112a77887 100644 --- a/packages/sdk/js/src/v2/gen/types.gen.ts +++ b/packages/sdk/js/src/v2/gen/types.gen.ts @@ -1368,7 +1368,6 @@ export type PermissionConfig = question?: PermissionActionConfig webfetch?: PermissionActionConfig websearch?: PermissionActionConfig - codesearch?: PermissionActionConfig lsp?: PermissionRuleConfig doom_loop?: PermissionActionConfig skill?: PermissionRuleConfig diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json index 81f6390dd..880089f83 100644 --- a/packages/sdk/openapi.json +++ b/packages/sdk/openapi.json @@ -11198,9 +11198,6 @@ "websearch": { "$ref": "#/components/schemas/PermissionActionConfig" }, - "codesearch": { - "$ref": "#/components/schemas/PermissionActionConfig" - }, "lsp": { "$ref": "#/components/schemas/PermissionRuleConfig" }, @@ -14167,4 +14164,4 @@ } } } -} \ No newline at end of file +} diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx index 7db69b397..36b08f229 100644 --- a/packages/ui/src/components/message-part.tsx +++ b/packages/ui/src/components/message-part.tsx @@ -346,12 +346,6 @@ export function getToolInfo(tool: string, input: any = {}, metadata: any = {}): title: i18n.t("ui.tool.websearch"), subtitle: input.query, } - case "codesearch": - return { - icon: "code", - title: i18n.t("ui.tool.codesearch"), - subtitle: input.query, - } case "enter-worktree": { return { icon: "worktree", @@ -1760,32 +1754,6 @@ ToolRegistry.register({ }, }) -ToolRegistry.register({ - name: "codesearch", - render(props) { - const i18n = useI18n() - const query = createMemo(() => { - const value = props.input.query - if (typeof value !== "string") return "" - return value - }) - - return ( - - - - ) - }, -}) - ToolRegistry.register({ name: "enter-worktree", render(props) { diff --git a/packages/ui/src/components/tool-error-card.stories.tsx b/packages/ui/src/components/tool-error-card.stories.tsx index 03349ce01..dd6007581 100644 --- a/packages/ui/src/components/tool-error-card.stories.tsx +++ b/packages/ui/src/components/tool-error-card.stories.tsx @@ -43,10 +43,6 @@ const samples = [ tool: "websearch", error: "websearch Rate limited: Please try again in 30 seconds", }, - { - tool: "codesearch", - error: "codesearch Timeout: exceeded 120s", - }, { tool: "question", error: "question Dismissed: user dismissed this question", @@ -72,7 +68,7 @@ export default { argTypes: { tool: { control: "select", - options: ["apply_patch", "bash", "read", "glob", "grep", "webfetch", "websearch", "codesearch", "question"], + options: ["apply_patch", "bash", "read", "glob", "grep", "webfetch", "websearch", "question"], }, error: { control: "text", diff --git a/packages/ui/src/components/tool-error-card.tsx b/packages/ui/src/components/tool-error-card.tsx index 1a9c9fc08..405c3c3ce 100644 --- a/packages/ui/src/components/tool-error-card.tsx +++ b/packages/ui/src/components/tool-error-card.tsx @@ -34,7 +34,6 @@ export function ToolErrorCard(props: ToolErrorCardProps) { agent: "ui.tool.agent.default", webfetch: "ui.tool.webfetch", websearch: "ui.tool.websearch", - codesearch: "ui.tool.codesearch", "enter-worktree": "ui.tool.worktree.enter", "exit-worktree": "ui.tool.worktree.exit", bash: "ui.tool.shell", diff --git a/packages/ui/src/components/tool-info.ts b/packages/ui/src/components/tool-info.ts index 693509002..f6a0e7d96 100644 --- a/packages/ui/src/components/tool-info.ts +++ b/packages/ui/src/components/tool-info.ts @@ -98,8 +98,6 @@ export function buildToolInfo(part: ToolPart, i18n: UiI18n): ToolInfo { return { icon: "window-cursor", title: i18n.t("ui.tool.webfetch"), subtitle: input.url } case "websearch": return { icon: "window-cursor", title: i18n.t("ui.tool.websearch"), subtitle: input.query } - case "codesearch": - return { icon: "code", title: i18n.t("ui.tool.codesearch"), subtitle: input.query } case "enter-worktree": { return { icon: "worktree", diff --git a/packages/ui/src/i18n/ar.ts b/packages/ui/src/i18n/ar.ts index 3c7aad313..761ae7d2a 100644 --- a/packages/ui/src/i18n/ar.ts +++ b/packages/ui/src/i18n/ar.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "جلب الويب", "ui.tool.websearch": "بحث الويب", - "ui.tool.codesearch": "بحث الكود", "ui.tool.shell": "Shell", "ui.tool.patch": "تصحيح", "ui.tool.todos": "المهام", diff --git a/packages/ui/src/i18n/br.ts b/packages/ui/src/i18n/br.ts index 1c4b026d2..cac16bcaa 100644 --- a/packages/ui/src/i18n/br.ts +++ b/packages/ui/src/i18n/br.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Buscar Web", "ui.tool.websearch": "Pesquisa na Web", - "ui.tool.codesearch": "Pesquisa de Código", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Tarefas", diff --git a/packages/ui/src/i18n/bs.ts b/packages/ui/src/i18n/bs.ts index d1c95c061..e0ff5ee2c 100644 --- a/packages/ui/src/i18n/bs.ts +++ b/packages/ui/src/i18n/bs.ts @@ -99,7 +99,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Web preuzimanje", "ui.tool.websearch": "Pretraga weba", - "ui.tool.codesearch": "Pretraga koda", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Lista zadataka", diff --git a/packages/ui/src/i18n/da.ts b/packages/ui/src/i18n/da.ts index 619104338..d6959f977 100644 --- a/packages/ui/src/i18n/da.ts +++ b/packages/ui/src/i18n/da.ts @@ -94,7 +94,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webhentning", "ui.tool.websearch": "Websøgning", - "ui.tool.codesearch": "Kodesøgning", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Opgaver", diff --git a/packages/ui/src/i18n/de.ts b/packages/ui/src/i18n/de.ts index 415ab154a..c6a84332f 100644 --- a/packages/ui/src/i18n/de.ts +++ b/packages/ui/src/i18n/de.ts @@ -100,7 +100,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webabruf", "ui.tool.websearch": "Websuche", - "ui.tool.codesearch": "Codesuche", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Aufgaben", diff --git a/packages/ui/src/i18n/en.ts b/packages/ui/src/i18n/en.ts index 7a9877a0a..0b8a6760f 100644 --- a/packages/ui/src/i18n/en.ts +++ b/packages/ui/src/i18n/en.ts @@ -129,7 +129,6 @@ export const dict: Record = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Web Search", - "ui.tool.codesearch": "Code Search", "ui.tool.worktree.enter": "Enter worktree", "ui.tool.worktree.enter.fromProject": "{{project}} → {{target}}", "ui.tool.worktree.exit": "Exit worktree", diff --git a/packages/ui/src/i18n/es.ts b/packages/ui/src/i18n/es.ts index bbdd371c5..a0e514d05 100644 --- a/packages/ui/src/i18n/es.ts +++ b/packages/ui/src/i18n/es.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Búsqueda web", - "ui.tool.codesearch": "Búsqueda de código", "ui.tool.shell": "Shell", "ui.tool.patch": "Parche", "ui.tool.todos": "Tareas", diff --git a/packages/ui/src/i18n/fr.ts b/packages/ui/src/i18n/fr.ts index de07ae687..65eed2cd8 100644 --- a/packages/ui/src/i18n/fr.ts +++ b/packages/ui/src/i18n/fr.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Recherche Web", - "ui.tool.codesearch": "Recherche de code", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Tâches", diff --git a/packages/ui/src/i18n/ja.ts b/packages/ui/src/i18n/ja.ts index e74582b4c..e92daad53 100644 --- a/packages/ui/src/i18n/ja.ts +++ b/packages/ui/src/i18n/ja.ts @@ -94,7 +94,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Web検索", - "ui.tool.codesearch": "コード検索", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Todo", diff --git a/packages/ui/src/i18n/ko.ts b/packages/ui/src/i18n/ko.ts index 5c50e31a3..04043801a 100644 --- a/packages/ui/src/i18n/ko.ts +++ b/packages/ui/src/i18n/ko.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "웹 가져오기", "ui.tool.websearch": "웹 검색", - "ui.tool.codesearch": "코드 검색", "ui.tool.shell": "셸", "ui.tool.patch": "패치", "ui.tool.todos": "할 일", diff --git a/packages/ui/src/i18n/no.ts b/packages/ui/src/i18n/no.ts index 937039797..0d99aea9b 100644 --- a/packages/ui/src/i18n/no.ts +++ b/packages/ui/src/i18n/no.ts @@ -98,7 +98,6 @@ export const dict: Record = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webhenting", "ui.tool.websearch": "Nettsøk", - "ui.tool.codesearch": "Kodesøk", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Gjøremål", diff --git a/packages/ui/src/i18n/pl.ts b/packages/ui/src/i18n/pl.ts index 6a86947e5..0a452331e 100644 --- a/packages/ui/src/i18n/pl.ts +++ b/packages/ui/src/i18n/pl.ts @@ -94,7 +94,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Pobieranie sieciowe", "ui.tool.websearch": "Wyszukiwanie w sieci", - "ui.tool.codesearch": "Wyszukiwanie kodu", "ui.tool.shell": "Terminal", "ui.tool.patch": "Patch", "ui.tool.todos": "Zadania", diff --git a/packages/ui/src/i18n/ru.ts b/packages/ui/src/i18n/ru.ts index a7ba4d378..4c0837b41 100644 --- a/packages/ui/src/i18n/ru.ts +++ b/packages/ui/src/i18n/ru.ts @@ -94,7 +94,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Веб-поиск", - "ui.tool.codesearch": "Поиск кода", "ui.tool.shell": "Оболочка", "ui.tool.patch": "Патч", "ui.tool.todos": "Задачи", diff --git a/packages/ui/src/i18n/th.ts b/packages/ui/src/i18n/th.ts index 096c16a4f..97cbe0ad7 100644 --- a/packages/ui/src/i18n/th.ts +++ b/packages/ui/src/i18n/th.ts @@ -96,7 +96,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "ดึงจากเว็บ", "ui.tool.websearch": "ค้นหาเว็บ", - "ui.tool.codesearch": "ค้นหาโค้ด", "ui.tool.shell": "เชลล์", "ui.tool.patch": "แพตช์", "ui.tool.todos": "รายการงาน", diff --git a/packages/ui/src/i18n/tr.ts b/packages/ui/src/i18n/tr.ts index 5a82d22e7..4879e10d9 100644 --- a/packages/ui/src/i18n/tr.ts +++ b/packages/ui/src/i18n/tr.ts @@ -101,7 +101,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Web getir", "ui.tool.websearch": "Web Araması", - "ui.tool.codesearch": "Kod Araması", "ui.tool.shell": "Kabuk", "ui.tool.patch": "Yama", "ui.tool.todos": "Görevler", diff --git a/packages/ui/src/i18n/zh.ts b/packages/ui/src/i18n/zh.ts index 68fac99b8..8d2a1e90d 100644 --- a/packages/ui/src/i18n/zh.ts +++ b/packages/ui/src/i18n/zh.ts @@ -127,7 +127,6 @@ export const dict = { "ui.tool.grep": "搜索文本", "ui.tool.webfetch": "读取网页", "ui.tool.websearch": "网络搜索", - "ui.tool.codesearch": "代码搜索", "ui.tool.worktree.enter": "进入工作树", "ui.tool.worktree.enter.fromProject": "{{project}} → {{target}}", "ui.tool.worktree.exit": "退出工作树", diff --git a/packages/ui/src/i18n/zht.ts b/packages/ui/src/i18n/zht.ts index 7d531fa7b..8d6cead77 100644 --- a/packages/ui/src/i18n/zht.ts +++ b/packages/ui/src/i18n/zht.ts @@ -101,7 +101,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "網頁搜尋", - "ui.tool.codesearch": "程式碼搜尋", "ui.tool.shell": "Shell", "ui.tool.patch": "修改檔案", "ui.tool.todos": "待辦",