Show live task progress while agents work (#3227)
* feat(agents): surface live task progress Keep current task state above the composer and turn task snapshots into semantic timeline activity. Normalize provider task protocols while preserving genuine plan flows. * fix(agents): admit tasks through stream sequencing * test(agents): expect normalized task status
This commit is contained in:
@@ -393,6 +393,14 @@ describe("translation resources", () => {
|
||||
expect(en.message.question.otherPlaceholder).toBe("Other...");
|
||||
expect(en.message.todo.title).toBe("Tasks");
|
||||
expect(en.message.todo.empty).toBe("No tasks yet.");
|
||||
expect(en.message.todo.tasksProgressCurrent).toBe("{{completed}}/{{total}} tasks · {{task}}");
|
||||
expect(en.message.todo.activity).toEqual({
|
||||
created: "Created {{count}} tasks",
|
||||
added: "Added",
|
||||
started: "Started",
|
||||
completed: "Completed",
|
||||
reopened: "Reopened",
|
||||
});
|
||||
});
|
||||
|
||||
it("includes workspace tab toast keys for the Batch 4J migration", () => {
|
||||
|
||||
@@ -333,6 +333,15 @@ export const ar: TranslationResources = {
|
||||
todo: {
|
||||
title: "المهام",
|
||||
empty: "لا توجد مهام حتى الآن.",
|
||||
tasksProgress: "{{completed}}/{{total}} مهام",
|
||||
tasksProgressCurrent: "{{completed}}/{{total}} مهام · {{task}}",
|
||||
activity: {
|
||||
created: "تم إنشاء {{count}} مهام",
|
||||
added: "أُضيفت",
|
||||
started: "بدأت",
|
||||
completed: "اكتملت",
|
||||
reopened: "أُعيد فتحها",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "الضغط...",
|
||||
|
||||
@@ -332,6 +332,15 @@ export const en = {
|
||||
todo: {
|
||||
title: "Tasks",
|
||||
empty: "No tasks yet.",
|
||||
tasksProgress: "{{completed}}/{{total}} tasks",
|
||||
tasksProgressCurrent: "{{completed}}/{{total}} tasks · {{task}}",
|
||||
activity: {
|
||||
created: "Created {{count}} tasks",
|
||||
added: "Added",
|
||||
started: "Started",
|
||||
completed: "Completed",
|
||||
reopened: "Reopened",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "Compacting...",
|
||||
|
||||
@@ -336,6 +336,15 @@ export const es: TranslationResources = {
|
||||
todo: {
|
||||
title: "Tareas",
|
||||
empty: "Aún no hay tareas.",
|
||||
tasksProgress: "{{completed}}/{{total}} tareas",
|
||||
tasksProgressCurrent: "{{completed}}/{{total}} tareas · {{task}}",
|
||||
activity: {
|
||||
created: "Se crearon {{count}} tareas",
|
||||
added: "Añadida",
|
||||
started: "Iniciada",
|
||||
completed: "Completada",
|
||||
reopened: "Reabierta",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "Compactando...",
|
||||
|
||||
@@ -337,6 +337,15 @@ export const fr: TranslationResources = {
|
||||
todo: {
|
||||
title: "Tâches",
|
||||
empty: "Aucune tâche pour l'instant.",
|
||||
tasksProgress: "{{completed}}/{{total}} tâches",
|
||||
tasksProgressCurrent: "{{completed}}/{{total}} tâches · {{task}}",
|
||||
activity: {
|
||||
created: "{{count}} tâches créées",
|
||||
added: "Ajoutée",
|
||||
started: "Commencée",
|
||||
completed: "Terminée",
|
||||
reopened: "Rouverte",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "Compactage...",
|
||||
|
||||
@@ -336,6 +336,15 @@ export const ja: TranslationResources = {
|
||||
todo: {
|
||||
title: "タスク",
|
||||
empty: "タスクがまだありません。",
|
||||
tasksProgress: "{{completed}}/{{total}}タスク",
|
||||
tasksProgressCurrent: "{{completed}}/{{total}}タスク · {{task}}",
|
||||
activity: {
|
||||
created: "{{count}}件のタスクを作成",
|
||||
added: "追加",
|
||||
started: "開始",
|
||||
completed: "完了",
|
||||
reopened: "再開",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "コンテキストを圧縮中...",
|
||||
|
||||
@@ -334,6 +334,15 @@ export const ko: TranslationResources = {
|
||||
todo: {
|
||||
title: "작업",
|
||||
empty: "아직 작업이 없습니다.",
|
||||
tasksProgress: "작업 {{completed}}/{{total}}개",
|
||||
tasksProgressCurrent: "작업 {{completed}}/{{total}}개 · {{task}}",
|
||||
activity: {
|
||||
created: "작업 {{count}}개 생성",
|
||||
added: "추가됨",
|
||||
started: "시작됨",
|
||||
completed: "완료됨",
|
||||
reopened: "다시 열림",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "압축하는 중...",
|
||||
|
||||
@@ -336,6 +336,15 @@ export const ptBR: TranslationResources = {
|
||||
todo: {
|
||||
title: "Tarefas",
|
||||
empty: "Nenhuma tarefa ainda.",
|
||||
tasksProgress: "{{completed}}/{{total}} tarefas",
|
||||
tasksProgressCurrent: "{{completed}}/{{total}} tarefas · {{task}}",
|
||||
activity: {
|
||||
created: "{{count}} tarefas criadas",
|
||||
added: "Adicionada",
|
||||
started: "Iniciada",
|
||||
completed: "Concluída",
|
||||
reopened: "Reaberta",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "Compactando...",
|
||||
|
||||
@@ -335,6 +335,15 @@ export const ru: TranslationResources = {
|
||||
todo: {
|
||||
title: "Задачи",
|
||||
empty: "Заданий пока нет.",
|
||||
tasksProgress: "{{completed}}/{{total}} задач",
|
||||
tasksProgressCurrent: "{{completed}}/{{total}} задач · {{task}}",
|
||||
activity: {
|
||||
created: "Создано задач: {{count}}",
|
||||
added: "Добавлена",
|
||||
started: "Начата",
|
||||
completed: "Завершена",
|
||||
reopened: "Возобновлена",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "Уплотнение...",
|
||||
|
||||
@@ -333,6 +333,15 @@ export const zhCN: TranslationResources = {
|
||||
todo: {
|
||||
title: "任务",
|
||||
empty: "还没有任务。",
|
||||
tasksProgress: "{{completed}}/{{total}} 项任务",
|
||||
tasksProgressCurrent: "{{completed}}/{{total}} 项任务 · {{task}}",
|
||||
activity: {
|
||||
created: "已创建 {{count}} 项任务",
|
||||
added: "已添加",
|
||||
started: "已开始",
|
||||
completed: "已完成",
|
||||
reopened: "已重新打开",
|
||||
},
|
||||
},
|
||||
compaction: {
|
||||
loading: "正在压缩...",
|
||||
|
||||
Reference in New Issue
Block a user