summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src
diff options
context:
space:
mode:
authorAlex Yaroshuk <[email protected]>2026-02-28 09:18:14 +0800
committerGitHub <[email protected]>2026-02-27 19:18:14 -0600
commit2a2082233d9e8bda4674ce596f04b61b3b32522d (patch)
treecad66bfed2c858fedd86e1fcc813e10c09d23e99 /packages/ui/src
parent267d2c82dec8fb03bd290b69cbfa6cc30ab27647 (diff)
downloadopencode-2a2082233d9e8bda4674ce596f04b61b3b32522d.tar.gz
opencode-2a2082233d9e8bda4674ce596f04b61b3b32522d.zip
fix(app): display skill name in skill tool call (#15413)
Diffstat (limited to 'packages/ui/src')
-rw-r--r--packages/ui/src/components/message-part.tsx27
1 files changed, 27 insertions, 0 deletions
diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index 5c110ccd6..6b6dfe2e5 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -250,6 +250,11 @@ export function getToolInfo(tool: string, input: any = {}): ToolInfo {
icon: "bubble-5",
title: i18n.t("ui.tool.questions"),
}
+ case "skill":
+ return {
+ icon: "brain",
+ title: input.name || "skill",
+ }
default:
return {
icon: "mcp",
@@ -1900,3 +1905,25 @@ ToolRegistry.register({
)
},
})
+
+ToolRegistry.register({
+ name: "skill",
+ render(props) {
+ const title = createMemo(() => props.input.name || "skill")
+ const running = createMemo(() => props.status === "pending" || props.status === "running")
+
+ const titleContent = () => <TextShimmer text={title()} active={running()} />
+
+ const trigger = () => (
+ <div data-slot="basic-tool-tool-info-structured">
+ <div data-slot="basic-tool-tool-info-main">
+ <span data-slot="basic-tool-tool-title" class="capitalize agent-title">
+ {titleContent()}
+ </span>
+ </div>
+ </div>
+ )
+
+ return <BasicTool icon="brain" status={props.status} trigger={trigger()} hideDetails />
+ },
+})