diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index 77e39b1e1..be99f36fd 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -19,7 +19,7 @@ import {
import { useData } from "../context"
import { useFileComponent } from "../context/file"
import { useDialog } from "../context/dialog"
-import { useI18n } from "../context/i18n"
+import { type UiI18n, useI18n } from "../context/i18n"
import { GenericTool, ToolCall } from "./basic-tool"
import { Accordion } from "./accordion"
import { StickyAccordionHeader } from "./sticky-accordion-header"
@@ -123,6 +123,11 @@ export type ToolInfo = {
subtitle?: string
}
+function agentTitle(i18n: UiI18n, type?: string) {
+ if (!type) return i18n.t("ui.tool.agent.default")
+ return i18n.t("ui.tool.agent", { type })
+}
+
export function getToolInfo(tool: string, input: any = {}): ToolInfo {
const i18n = useI18n()
switch (tool) {
@@ -168,12 +173,17 @@ export function getToolInfo(tool: string, input: any = {}): ToolInfo {
title: i18n.t("ui.tool.codesearch"),
subtitle: input.query,
}
- case "task":
+ case "task": {
+ const type =
+ typeof input.subagent_type === "string" && input.subagent_type
+ ? input.subagent_type[0]!.toUpperCase() + input.subagent_type.slice(1)
+ : undefined
return {
icon: "task",
- title: i18n.t("ui.tool.agent"),
+ title: agentTitle(i18n, type),
subtitle: input.description,
}
+ }
case "bash":
return {
icon: "console",
@@ -1475,11 +1485,12 @@ ToolRegistry.register({
const data = useData()
const i18n = useI18n()
const childSessionId = () => props.metadata.sessionId as string | undefined
- const agentType = createMemo(() => {
+ const type = createMemo(() => {
const raw = props.input.subagent_type
if (typeof raw !== "string" || !raw) return undefined
return raw[0]!.toUpperCase() + raw.slice(1)
})
+ const title = createMemo(() => agentTitle(i18n, type()))
const description = createMemo(() => {
const value = props.input.description
if (typeof value === "string") return value
@@ -1527,9 +1538,8 @@ ToolRegistry.register({
-
+
- {(type) => }
diff --git a/packages/ui/src/i18n/ar.ts b/packages/ui/src/i18n/ar.ts
index f0a56f772..d75918aa7 100644
--- a/packages/ui/src/i18n/ar.ts
+++ b/packages/ui/src/i18n/ar.ts
@@ -102,6 +102,7 @@ export const dict = {
"ui.tool.todos.read": "قراءة المهام",
"ui.tool.questions": "أسئلة",
"ui.tool.agent": "وكيل {{type}}",
+ "ui.tool.agent.default": "وكيل",
"ui.common.file.one": "ملف",
"ui.common.file.other": "ملفات",
diff --git a/packages/ui/src/i18n/br.ts b/packages/ui/src/i18n/br.ts
index d06050605..085184fcc 100644
--- a/packages/ui/src/i18n/br.ts
+++ b/packages/ui/src/i18n/br.ts
@@ -102,6 +102,7 @@ export const dict = {
"ui.tool.todos.read": "Ler tarefas",
"ui.tool.questions": "Perguntas",
"ui.tool.agent": "Agente {{type}}",
+ "ui.tool.agent.default": "Agente",
"ui.common.file.one": "arquivo",
"ui.common.file.other": "arquivos",
diff --git a/packages/ui/src/i18n/bs.ts b/packages/ui/src/i18n/bs.ts
index 754c6bcef..28a292989 100644
--- a/packages/ui/src/i18n/bs.ts
+++ b/packages/ui/src/i18n/bs.ts
@@ -106,6 +106,7 @@ export const dict = {
"ui.tool.todos.read": "Čitanje liste zadataka",
"ui.tool.questions": "Pitanja",
"ui.tool.agent": "{{type}} agent",
+ "ui.tool.agent.default": "agent",
"ui.common.file.one": "datoteka",
"ui.common.file.other": "datoteke",
diff --git a/packages/ui/src/i18n/da.ts b/packages/ui/src/i18n/da.ts
index 0126a60c8..30ff4639a 100644
--- a/packages/ui/src/i18n/da.ts
+++ b/packages/ui/src/i18n/da.ts
@@ -101,6 +101,7 @@ export const dict = {
"ui.tool.todos.read": "Læs opgaver",
"ui.tool.questions": "Spørgsmål",
"ui.tool.agent": "{{type}} Agent",
+ "ui.tool.agent.default": "Agent",
"ui.common.file.one": "fil",
"ui.common.file.other": "filer",
diff --git a/packages/ui/src/i18n/de.ts b/packages/ui/src/i18n/de.ts
index 24d99ef79..bbfcd0f68 100644
--- a/packages/ui/src/i18n/de.ts
+++ b/packages/ui/src/i18n/de.ts
@@ -107,6 +107,7 @@ export const dict = {
"ui.tool.todos.read": "Aufgaben lesen",
"ui.tool.questions": "Fragen",
"ui.tool.agent": "{{type}} Agent",
+ "ui.tool.agent.default": "Agent",
"ui.common.file.one": "Datei",
"ui.common.file.other": "Dateien",
diff --git a/packages/ui/src/i18n/en.ts b/packages/ui/src/i18n/en.ts
index 1d92ea507..7f4a4020a 100644
--- a/packages/ui/src/i18n/en.ts
+++ b/packages/ui/src/i18n/en.ts
@@ -103,6 +103,7 @@ export const dict: Record = {
"ui.tool.todos.read": "Read to-dos",
"ui.tool.questions": "Questions",
"ui.tool.agent": "{{type}} Agent",
+ "ui.tool.agent.default": "Agent",
"ui.common.file.one": "file",
"ui.common.file.other": "files",
diff --git a/packages/ui/src/i18n/es.ts b/packages/ui/src/i18n/es.ts
index 9ee95d824..52f1506c0 100644
--- a/packages/ui/src/i18n/es.ts
+++ b/packages/ui/src/i18n/es.ts
@@ -102,6 +102,7 @@ export const dict = {
"ui.tool.todos.read": "Leer tareas",
"ui.tool.questions": "Preguntas",
"ui.tool.agent": "Agente {{type}}",
+ "ui.tool.agent.default": "Agente",
"ui.common.file.one": "archivo",
"ui.common.file.other": "archivos",
diff --git a/packages/ui/src/i18n/fr.ts b/packages/ui/src/i18n/fr.ts
index 431abe568..f42c13882 100644
--- a/packages/ui/src/i18n/fr.ts
+++ b/packages/ui/src/i18n/fr.ts
@@ -102,6 +102,7 @@ export const dict = {
"ui.tool.todos.read": "Lire les tâches",
"ui.tool.questions": "Questions",
"ui.tool.agent": "Agent {{type}}",
+ "ui.tool.agent.default": "Agent",
"ui.common.file.one": "fichier",
"ui.common.file.other": "fichiers",
diff --git a/packages/ui/src/i18n/ja.ts b/packages/ui/src/i18n/ja.ts
index c6cb2ac40..0c9e4da2b 100644
--- a/packages/ui/src/i18n/ja.ts
+++ b/packages/ui/src/i18n/ja.ts
@@ -101,6 +101,7 @@ export const dict = {
"ui.tool.todos.read": "Todo読み込み",
"ui.tool.questions": "質問",
"ui.tool.agent": "{{type}}エージェント",
+ "ui.tool.agent.default": "エージェント",
"ui.common.file.one": "ファイル",
"ui.common.file.other": "ファイル",
diff --git a/packages/ui/src/i18n/ko.ts b/packages/ui/src/i18n/ko.ts
index cd306e879..74c2d4ec8 100644
--- a/packages/ui/src/i18n/ko.ts
+++ b/packages/ui/src/i18n/ko.ts
@@ -102,6 +102,7 @@ export const dict = {
"ui.tool.todos.read": "할 일 읽기",
"ui.tool.questions": "질문",
"ui.tool.agent": "{{type}} 에이전트",
+ "ui.tool.agent.default": "에이전트",
"ui.common.file.one": "파일",
"ui.common.file.other": "파일",
diff --git a/packages/ui/src/i18n/no.ts b/packages/ui/src/i18n/no.ts
index ddfe09461..489f218ca 100644
--- a/packages/ui/src/i18n/no.ts
+++ b/packages/ui/src/i18n/no.ts
@@ -105,6 +105,7 @@ export const dict: Record = {
"ui.tool.todos.read": "Les gjøremål",
"ui.tool.questions": "Spørsmål",
"ui.tool.agent": "{{type}}-agent",
+ "ui.tool.agent.default": "agent",
"ui.common.file.one": "fil",
"ui.common.file.other": "filer",
diff --git a/packages/ui/src/i18n/pl.ts b/packages/ui/src/i18n/pl.ts
index 73fa96afa..9b37a0fd6 100644
--- a/packages/ui/src/i18n/pl.ts
+++ b/packages/ui/src/i18n/pl.ts
@@ -101,6 +101,7 @@ export const dict = {
"ui.tool.todos.read": "Czytaj zadania",
"ui.tool.questions": "Pytania",
"ui.tool.agent": "Agent {{type}}",
+ "ui.tool.agent.default": "Agent",
"ui.common.file.one": "plik",
"ui.common.file.other": "pliki",
diff --git a/packages/ui/src/i18n/ru.ts b/packages/ui/src/i18n/ru.ts
index 085be2843..7157670c4 100644
--- a/packages/ui/src/i18n/ru.ts
+++ b/packages/ui/src/i18n/ru.ts
@@ -101,6 +101,7 @@ export const dict = {
"ui.tool.todos.read": "Читать задачи",
"ui.tool.questions": "Вопросы",
"ui.tool.agent": "Агент {{type}}",
+ "ui.tool.agent.default": "Агент",
"ui.common.file.one": "файл",
"ui.common.file.other": "файлов",
diff --git a/packages/ui/src/i18n/th.ts b/packages/ui/src/i18n/th.ts
index 705f68d1b..553638cf4 100644
--- a/packages/ui/src/i18n/th.ts
+++ b/packages/ui/src/i18n/th.ts
@@ -103,6 +103,7 @@ export const dict = {
"ui.tool.todos.read": "อ่านรายการงาน",
"ui.tool.questions": "คำถาม",
"ui.tool.agent": "เอเจนต์ {{type}}",
+ "ui.tool.agent.default": "เอเจนต์",
"ui.common.file.one": "ไฟล์",
"ui.common.file.other": "ไฟล์",
diff --git a/packages/ui/src/i18n/tr.ts b/packages/ui/src/i18n/tr.ts
index fa3bddb21..5b4d71e4a 100644
--- a/packages/ui/src/i18n/tr.ts
+++ b/packages/ui/src/i18n/tr.ts
@@ -98,6 +98,7 @@ export const dict = {
"ui.tool.todos.read": "Görevleri oku",
"ui.tool.questions": "Sorular",
"ui.tool.agent": "{{type}} Ajan",
+ "ui.tool.agent.default": "Ajan",
"ui.common.file.one": "dosya",
"ui.common.file.other": "dosya",
diff --git a/packages/ui/src/i18n/zh.ts b/packages/ui/src/i18n/zh.ts
index 571574d92..638230544 100644
--- a/packages/ui/src/i18n/zh.ts
+++ b/packages/ui/src/i18n/zh.ts
@@ -106,6 +106,7 @@ export const dict = {
"ui.tool.todos.read": "读取待办",
"ui.tool.questions": "问题",
"ui.tool.agent": "{{type}} 智能体",
+ "ui.tool.agent.default": "智能体",
"ui.common.file.one": "个文件",
"ui.common.file.other": "个文件",
diff --git a/packages/ui/src/i18n/zht.ts b/packages/ui/src/i18n/zht.ts
index edbc96b12..f793ce345 100644
--- a/packages/ui/src/i18n/zht.ts
+++ b/packages/ui/src/i18n/zht.ts
@@ -106,6 +106,7 @@ export const dict = {
"ui.tool.todos.read": "讀取待辦",
"ui.tool.questions": "問題",
"ui.tool.agent": "{{type}} 代理程式",
+ "ui.tool.agent.default": "代理程式",
"ui.common.file.one": "個檔案",
"ui.common.file.other": "個檔案",