diff options
| author | Dax Raad <[email protected]> | 2025-06-19 09:59:12 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-06-19 09:59:44 -0400 |
| commit | 26bab00dabb6d20c9fd80a4873642c4df1b3f4b9 (patch) | |
| tree | b3a53bc435c1142d26e9dc3410b9ac053e0c09e1 /packages | |
| parent | 568c04753ec820e6c0c7c6b15bf835b889bb8af7 (diff) | |
| download | opencode-26bab00dabb6d20c9fd80a4873642c4df1b3f4b9.tar.gz opencode-26bab00dabb6d20c9fd80a4873642c4df1b3f4b9.zip | |
remove opencode_ prefixes from tool names. unfortunately this will break
all old sessions and share links. we'll be more backwards compatible in
the future once we're more stable.
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/cli/cmd/run.ts | 18 | ||||
| -rw-r--r-- | packages/opencode/src/provider/provider.ts | 4 | ||||
| -rw-r--r-- | packages/opencode/src/tool/bash.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/edit.ts | 4 | ||||
| -rw-r--r-- | packages/opencode/src/tool/glob.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/grep.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/ls.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/lsp-diagnostics.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/lsp-hover.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/multiedit.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/patch.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/read.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/task.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/todo.ts | 4 | ||||
| -rw-r--r-- | packages/opencode/src/tool/webfetch.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/tool/write.ts | 4 | ||||
| -rw-r--r-- | packages/tui/internal/components/chat/message.go | 42 | ||||
| -rw-r--r-- | packages/web/src/components/Share.tsx | 20 |
18 files changed, 59 insertions, 59 deletions
diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts index 01dcd9bf8..ccf4b50c9 100644 --- a/packages/opencode/src/cli/cmd/run.ts +++ b/packages/opencode/src/cli/cmd/run.ts @@ -11,15 +11,15 @@ import { Flag } from "../../flag/flag" import { Config } from "../../config/config" const TOOL: Record<string, [string, string]> = { - opencode_todowrite: ["Todo", UI.Style.TEXT_WARNING_BOLD], - opencode_todoread: ["Todo", UI.Style.TEXT_WARNING_BOLD], - opencode_bash: ["Bash", UI.Style.TEXT_DANGER_BOLD], - opencode_edit: ["Edit", UI.Style.TEXT_SUCCESS_BOLD], - opencode_glob: ["Glob", UI.Style.TEXT_INFO_BOLD], - opencode_grep: ["Grep", UI.Style.TEXT_INFO_BOLD], - opencode_list: ["List", UI.Style.TEXT_INFO_BOLD], - opencode_read: ["Read", UI.Style.TEXT_HIGHLIGHT_BOLD], - opencode_write: ["Write", UI.Style.TEXT_SUCCESS_BOLD], + todowrite: ["Todo", UI.Style.TEXT_WARNING_BOLD], + todoread: ["Todo", UI.Style.TEXT_WARNING_BOLD], + bash: ["Bash", UI.Style.TEXT_DANGER_BOLD], + edit: ["Edit", UI.Style.TEXT_SUCCESS_BOLD], + glob: ["Glob", UI.Style.TEXT_INFO_BOLD], + grep: ["Grep", UI.Style.TEXT_INFO_BOLD], + list: ["List", UI.Style.TEXT_INFO_BOLD], + read: ["Read", UI.Style.TEXT_HIGHLIGHT_BOLD], + write: ["Write", UI.Style.TEXT_SUCCESS_BOLD], } export const RunCommand = cmd({ diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 4fa6c8d67..2c0aa2470 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -274,7 +274,7 @@ export namespace Provider { const cfg = await Config.get() const provider = await list() .then((val) => Object.values(val)) - .then((x) => x.find((p) => !cfg.provider || cfg.provider === p.info.id)) + .then((x) => x.find((p) => !cfg.provider || Object.keys(cfg.provider).includes(p.info.id))) if (!provider) throw new Error("no providers found") const [model] = sort(Object.values(provider.info.models)) if (!model) throw new Error("no models found") @@ -304,7 +304,7 @@ export namespace Provider { ] const TOOL_MAPPING: Record<string, Tool.Info[]> = { - anthropic: TOOLS.filter((t) => t.id !== "opencode.patch"), + anthropic: TOOLS.filter((t) => t.id !== "patch"), openai: TOOLS.map((t) => ({ ...t, parameters: optionalToNullable(t.parameters), diff --git a/packages/opencode/src/tool/bash.ts b/packages/opencode/src/tool/bash.ts index 7bf1c595b..a10096fe5 100644 --- a/packages/opencode/src/tool/bash.ts +++ b/packages/opencode/src/tool/bash.ts @@ -26,7 +26,7 @@ const DEFAULT_TIMEOUT = 1 * 60 * 1000 const MAX_TIMEOUT = 10 * 60 * 1000 export const BashTool = Tool.define({ - id: "opencode.bash", + id: "bash", description: DESCRIPTION, parameters: z.object({ command: z.string().describe("The command to execute"), diff --git a/packages/opencode/src/tool/edit.ts b/packages/opencode/src/tool/edit.ts index 8af2a0eeb..784001196 100644 --- a/packages/opencode/src/tool/edit.ts +++ b/packages/opencode/src/tool/edit.ts @@ -9,7 +9,7 @@ import DESCRIPTION from "./edit.txt" import { App } from "../app/app" export const EditTool = Tool.define({ - id: "opencode.edit", + id: "edit", description: DESCRIPTION, parameters: z.object({ filePath: z.string().describe("The absolute path to the file to modify"), @@ -35,7 +35,7 @@ export const EditTool = Tool.define({ : path.join(app.path.cwd, params.filePath) await Permission.ask({ - id: "opencode.edit", + id: "edit", sessionID: ctx.sessionID, title: "Edit this file: " + filepath, metadata: { diff --git a/packages/opencode/src/tool/glob.ts b/packages/opencode/src/tool/glob.ts index aab5603ec..07df3abaf 100644 --- a/packages/opencode/src/tool/glob.ts +++ b/packages/opencode/src/tool/glob.ts @@ -5,7 +5,7 @@ import { App } from "../app/app" import DESCRIPTION from "./glob.txt" export const GlobTool = Tool.define({ - id: "opencode.glob", + id: "glob", description: DESCRIPTION, parameters: z.object({ pattern: z.string().describe("The glob pattern to match files against"), diff --git a/packages/opencode/src/tool/grep.ts b/packages/opencode/src/tool/grep.ts index 02979b149..1142136b4 100644 --- a/packages/opencode/src/tool/grep.ts +++ b/packages/opencode/src/tool/grep.ts @@ -6,7 +6,7 @@ import { Ripgrep } from "../external/ripgrep" import DESCRIPTION from "./grep.txt" export const GrepTool = Tool.define({ - id: "opencode.grep", + id: "grep", description: DESCRIPTION, parameters: z.object({ pattern: z diff --git a/packages/opencode/src/tool/ls.ts b/packages/opencode/src/tool/ls.ts index 0a0c4155e..bfceba854 100644 --- a/packages/opencode/src/tool/ls.ts +++ b/packages/opencode/src/tool/ls.ts @@ -21,7 +21,7 @@ export const IGNORE_PATTERNS = [ const LIMIT = 100 export const ListTool = Tool.define({ - id: "opencode.list", + id: "list", description: DESCRIPTION, parameters: z.object({ path: z diff --git a/packages/opencode/src/tool/lsp-diagnostics.ts b/packages/opencode/src/tool/lsp-diagnostics.ts index 8298df4ba..97ae7a269 100644 --- a/packages/opencode/src/tool/lsp-diagnostics.ts +++ b/packages/opencode/src/tool/lsp-diagnostics.ts @@ -6,7 +6,7 @@ import { App } from "../app/app" import DESCRIPTION from "./lsp-diagnostics.txt" export const LspDiagnosticTool = Tool.define({ - id: "opencode.lsp_diagnostics", + id: "lsp_diagnostics", description: DESCRIPTION, parameters: z.object({ path: z.string().describe("The path to the file to get diagnostics."), diff --git a/packages/opencode/src/tool/lsp-hover.ts b/packages/opencode/src/tool/lsp-hover.ts index 9d1ef4850..f5031f85f 100644 --- a/packages/opencode/src/tool/lsp-hover.ts +++ b/packages/opencode/src/tool/lsp-hover.ts @@ -6,7 +6,7 @@ import { App } from "../app/app" import DESCRIPTION from "./lsp-hover.txt" export const LspHoverTool = Tool.define({ - id: "opencode.lsp_hover", + id: "lsp_hover", description: DESCRIPTION, parameters: z.object({ file: z.string().describe("The path to the file to get diagnostics."), diff --git a/packages/opencode/src/tool/multiedit.ts b/packages/opencode/src/tool/multiedit.ts index f1d5ea6b1..f8d0f16c6 100644 --- a/packages/opencode/src/tool/multiedit.ts +++ b/packages/opencode/src/tool/multiedit.ts @@ -6,7 +6,7 @@ import path from "path" import { App } from "../app/app" export const MultiEditTool = Tool.define({ - id: "opencode.multiedit", + id: "multiedit", description: DESCRIPTION, parameters: z.object({ filePath: z.string().describe("The absolute path to the file to modify"), diff --git a/packages/opencode/src/tool/patch.ts b/packages/opencode/src/tool/patch.ts index 5d6ebb590..508814ac4 100644 --- a/packages/opencode/src/tool/patch.ts +++ b/packages/opencode/src/tool/patch.ts @@ -232,7 +232,7 @@ async function applyCommit( } export const PatchTool = Tool.define({ - id: "opencode.patch", + id: "patch", description: DESCRIPTION, parameters: PatchParams, execute: async (params, ctx) => { diff --git a/packages/opencode/src/tool/read.ts b/packages/opencode/src/tool/read.ts index 69d2a0368..63e5c8efe 100644 --- a/packages/opencode/src/tool/read.ts +++ b/packages/opencode/src/tool/read.ts @@ -12,7 +12,7 @@ const DEFAULT_READ_LIMIT = 2000 const MAX_LINE_LENGTH = 2000 export const ReadTool = Tool.define({ - id: "opencode.read", + id: "read", description: DESCRIPTION, parameters: z.object({ filePath: z.string().describe("The path to the file to read"), diff --git a/packages/opencode/src/tool/task.ts b/packages/opencode/src/tool/task.ts index aace941fb..a0cab347a 100644 --- a/packages/opencode/src/tool/task.ts +++ b/packages/opencode/src/tool/task.ts @@ -6,7 +6,7 @@ import { Bus } from "../bus" import { Message } from "../session/message" export const TaskTool = Tool.define({ - id: "opencode.task", + id: "task", description: DESCRIPTION, parameters: z.object({ description: z diff --git a/packages/opencode/src/tool/todo.ts b/packages/opencode/src/tool/todo.ts index a7c55ac9f..33ac3d12f 100644 --- a/packages/opencode/src/tool/todo.ts +++ b/packages/opencode/src/tool/todo.ts @@ -23,7 +23,7 @@ const state = App.state("todo-tool", () => { }) export const TodoWriteTool = Tool.define({ - id: "opencode.todowrite", + id: "todowrite", description: DESCRIPTION_WRITE, parameters: z.object({ todos: z.array(TodoInfo).describe("The updated todo list"), @@ -42,7 +42,7 @@ export const TodoWriteTool = Tool.define({ }) export const TodoReadTool = Tool.define({ - id: "opencode.todoread", + id: "todoread", description: "Use this tool to read your todo list", parameters: z.object({}), async execute(_params, opts) { diff --git a/packages/opencode/src/tool/webfetch.ts b/packages/opencode/src/tool/webfetch.ts index 77b673a37..cb501b44b 100644 --- a/packages/opencode/src/tool/webfetch.ts +++ b/packages/opencode/src/tool/webfetch.ts @@ -8,7 +8,7 @@ const DEFAULT_TIMEOUT = 30 * 1000 // 30 seconds const MAX_TIMEOUT = 120 * 1000 // 2 minutes export const WebFetchTool = Tool.define({ - id: "opencode.webfetch", + id: "webfetch", description: DESCRIPTION, parameters: z.object({ url: z.string().describe("The URL to fetch content from"), diff --git a/packages/opencode/src/tool/write.ts b/packages/opencode/src/tool/write.ts index 276a57517..3cc0a0816 100644 --- a/packages/opencode/src/tool/write.ts +++ b/packages/opencode/src/tool/write.ts @@ -8,7 +8,7 @@ import DESCRIPTION from "./write.txt" import { App } from "../app/app" export const WriteTool = Tool.define({ - id: "opencode.write", + id: "write", description: DESCRIPTION, parameters: z.object({ filePath: z @@ -29,7 +29,7 @@ export const WriteTool = Tool.define({ if (exists) await FileTimes.assert(ctx.sessionID, filepath) await Permission.ask({ - id: "opencode.write", + id: "write", sessionID: ctx.sessionID, title: exists ? "Overwrite this file: " + filepath diff --git a/packages/tui/internal/components/chat/message.go b/packages/tui/internal/components/chat/message.go index 4104e028e..0176e49b6 100644 --- a/packages/tui/internal/components/chat/message.go +++ b/packages/tui/internal/components/chat/message.go @@ -253,7 +253,7 @@ func renderToolInvocation( showDetails bool, isLast bool, ) string { - ignoredTools := []string{"opencode_todoread"} + ignoredTools := []string{"todoread"} if slices.Contains(ignoredTools, toolCall.ToolName) { return "" } @@ -350,7 +350,7 @@ func renderToolInvocation( title := "" switch toolCall.ToolName { - case "opencode_read": + case "read": toolArgs = renderArgs(&toolArgsMap, "filePath") title = fmt.Sprintf("READ %s %s", toolArgs, elapsed) if preview, ok := metadata.Get("preview"); ok && toolArgsMap["filePath"] != nil { @@ -358,7 +358,7 @@ func renderToolInvocation( body = preview.(string) body = renderFile(filename, body, WithTruncate(6)) } - case "opencode_edit": + case "edit": if filename, ok := toolArgsMap["filePath"].(string); ok { title = fmt.Sprintf("EDIT %s %s", relative(filename), elapsed) if d, ok := metadata.Get("diff"); ok { @@ -399,14 +399,14 @@ func renderToolInvocation( ) } } - case "opencode_write": + case "write": if filename, ok := toolArgsMap["filePath"].(string); ok { title = fmt.Sprintf("WRITE %s %s", relative(filename), elapsed) if content, ok := toolArgsMap["content"].(string); ok { body = renderFile(filename, content) } } - case "opencode_bash": + case "bash": if description, ok := toolArgsMap["description"].(string); ok { title = fmt.Sprintf("SHELL %s %s", description, elapsed) } @@ -417,7 +417,7 @@ func renderToolInvocation( body = toMarkdown(body, innerWidth, t.BackgroundSubtle()) body = renderContentBlock(body, WithFullWidth(), WithMarginBottom(1)) } - case "opencode_webfetch": + case "webfetch": toolArgs = renderArgs(&toolArgsMap, "url") title = fmt.Sprintf("FETCH %s %s", toolArgs, elapsed) if format, ok := toolArgsMap["format"].(string); ok { @@ -428,7 +428,7 @@ func renderToolInvocation( } body = renderContentBlock(body, WithFullWidth(), WithMarginBottom(1)) } - case "opencode_todowrite": + case "todowrite": title = fmt.Sprintf("PLAN %s", elapsed) if to, ok := metadata.Get("todos"); ok && finished { @@ -498,11 +498,11 @@ func renderToolName(name string) string { switch name { // case agent.AgentToolName: // return "Task" - case "opencode_ls": + case "list": return "LIST" - case "opencode_webfetch": + case "webfetch": return "FETCH" - case "opencode_todowrite": + case "todowrite": return "PLAN" default: normalizedName := name @@ -559,27 +559,27 @@ func renderToolAction(name string) string { switch name { // case agent.AgentToolName: // return "Preparing prompt..." - case "opencode_bash": + case "bash": return "Building command..." - case "opencode_edit": + case "edit": return "Preparing edit..." - case "opencode_fetch": + case "webfetch": return "Writing fetch..." - case "opencode_glob": + case "glob": return "Finding files..." - case "opencode_grep": + case "grep": return "Searching content..." - case "opencode_ls": + case "list": return "Listing directory..." - case "opencode_read": + case "read": return "Reading file..." - case "opencode_write": + case "write": return "Preparing write..." - case "opencode_todowrite", "opencode_todoread": + case "todowrite", "todoread": return "Planning..." - case "opencode_patch": + case "patch": return "Preparing patch..." - case "opencode_batch": + case "batch": return "Running batch operations..." } return "Working..." diff --git a/packages/web/src/components/Share.tsx b/packages/web/src/components/Share.tsx index a76de4fcb..12a734d13 100644 --- a/packages/web/src/components/Share.tsx +++ b/packages/web/src/components/Share.tsx @@ -859,7 +859,7 @@ export default function Share(props: { (partIndex() > 0 || !msg.metadata?.assistant)) || (msg.role === "assistant" && part.type === "tool-invocation" && - part.toolInvocation.toolName === "opencode_todoread") + part.toolInvocation.toolName === "todoread") ) return null @@ -1072,7 +1072,7 @@ export default function Share(props: { when={ msg.role === "assistant" && part.type === "tool-invocation" && - part.toolInvocation.toolName === "opencode_grep" && + part.toolInvocation.toolName === "grep" && part } > @@ -1175,7 +1175,7 @@ export default function Share(props: { when={ msg.role === "assistant" && part.type === "tool-invocation" && - part.toolInvocation.toolName === "opencode_glob" && + part.toolInvocation.toolName === "glob" && part } > @@ -1253,7 +1253,7 @@ export default function Share(props: { when={ msg.role === "assistant" && part.type === "tool-invocation" && - part.toolInvocation.toolName === "opencode_list" && + part.toolInvocation.toolName === "list" && part } > @@ -1322,7 +1322,7 @@ export default function Share(props: { when={ msg.role === "assistant" && part.type === "tool-invocation" && - part.toolInvocation.toolName === "opencode_read" && + part.toolInvocation.toolName === "read" && part } > @@ -1417,7 +1417,7 @@ export default function Share(props: { when={ msg.role === "assistant" && part.type === "tool-invocation" && - part.toolInvocation.toolName === "opencode_write" && + part.toolInvocation.toolName === "write" && part } > @@ -1503,7 +1503,7 @@ export default function Share(props: { when={ msg.role === "assistant" && part.type === "tool-invocation" && - part.toolInvocation.toolName === "opencode_edit" && + part.toolInvocation.toolName === "edit" && part } > @@ -1577,7 +1577,7 @@ export default function Share(props: { when={ msg.role === "assistant" && part.type === "tool-invocation" && - part.toolInvocation.toolName === "opencode_bash" && + part.toolInvocation.toolName === "bash" && part } > @@ -1620,7 +1620,7 @@ export default function Share(props: { msg.role === "assistant" && part.type === "tool-invocation" && part.toolInvocation.toolName === - "opencode_todowrite" && + "todowrite" && part } > @@ -1686,7 +1686,7 @@ export default function Share(props: { msg.role === "assistant" && part.type === "tool-invocation" && part.toolInvocation.toolName === - "opencode_webfetch" && + "webfetch" && part } > |
