diff --git a/src/components/BrowserAgentWorkSpace/index.tsx b/src/components/BrowserAgentWorkSpace/index.tsx index 47cad6f2..0a772a34 100644 --- a/src/components/BrowserAgentWorkSpace/index.tsx +++ b/src/components/BrowserAgentWorkSpace/index.tsx @@ -224,7 +224,7 @@ export default function Home() { } done={ activeAgent?.tasks?.filter( - (task) => task.status === TaskStatus.COMPLETED + (task) => task.status === TaskStatus.COMPLETED && !task.reAssignTo ).length || 0 } progress={ @@ -233,17 +233,23 @@ export default function Home() { task.status !== TaskStatus.FAILED && task.status !== TaskStatus.COMPLETED && task.status !== TaskStatus.SKIPPED && - task.status !== TaskStatus.WAITING + task.status !== TaskStatus.WAITING && + task.status !== TaskStatus.EMPTY && + !task.reAssignTo ).length || 0 } failed={ - activeAgent?.tasks?.filter((task) => task.status === TaskStatus.FAILED) - .length || 0 + activeAgent?.tasks?.filter( + (task) => task.status === TaskStatus.FAILED && !task.reAssignTo + ).length || 0 } skipped={ activeAgent?.tasks?.filter( (task) => - task.status === TaskStatus.SKIPPED || task.status === TaskStatus.WAITING + (task.status === TaskStatus.SKIPPED || + task.status === TaskStatus.WAITING || + task.status === TaskStatus.EMPTY) && + !task.reAssignTo ).length || 0 } /> diff --git a/src/components/ChatBox/TaskBox/TaskCard.tsx b/src/components/ChatBox/TaskBox/TaskCard.tsx index 1230deb2..b60908b9 100644 --- a/src/components/ChatBox/TaskBox/TaskCard.tsx +++ b/src/components/ChatBox/TaskBox/TaskCard.tsx @@ -89,13 +89,16 @@ export function TaskCard({ switch (selectedState) { case "done": return task.status === TaskStatus.COMPLETED && !task.reAssignTo; + case "reassigned": + return !!task.reAssignTo; case "ongoing": return ( task.status !== TaskStatus.FAILED && task.status !== TaskStatus.COMPLETED && task.status !== TaskStatus.SKIPPED && task.status !== TaskStatus.WAITING && - task.status !== TaskStatus.EMPTY + task.status !== TaskStatus.EMPTY && + !task.reAssignTo ); case "pending": return ( @@ -105,7 +108,7 @@ export function TaskCard({ !task.reAssignTo ); case "failed": - return task.status === TaskStatus.FAILED; + return task.status === TaskStatus.FAILED && !task.reAssignTo; default: return false; } @@ -244,8 +247,12 @@ export function TaskCard({ task.status === TaskStatus.COMPLETED) - .length || 0 + taskRunning?.filter( + (task) => task.status === TaskStatus.COMPLETED && !task.reAssignTo + ).length || 0 + } + reAssignTo={ + taskRunning?.filter((task) => task.reAssignTo)?.length || 0 } progress={ taskRunning?.filter( @@ -254,20 +261,23 @@ export function TaskCard({ task.status !== TaskStatus.FAILED && task.status !== TaskStatus.SKIPPED && task.status !== TaskStatus.WAITING && - task.status !== TaskStatus.EMPTY + task.status !== TaskStatus.EMPTY && + !task.reAssignTo ).length || 0 } skipped={ taskRunning?.filter( (task) => - task.status === TaskStatus.SKIPPED || - task.status === TaskStatus.WAITING || - task.status === TaskStatus.EMPTY + (task.status === TaskStatus.SKIPPED || + task.status === TaskStatus.WAITING || + task.status === TaskStatus.EMPTY) && + !task.reAssignTo ).length || 0 } failed={ - taskRunning?.filter((task) => task.status === TaskStatus.FAILED) - .length || 0 + taskRunning?.filter( + (task) => task.status === TaskStatus.FAILED && !task.reAssignTo + ).length || 0 } forceVisible={true} selectedState={selectedState} diff --git a/src/components/WorkFlow/node.tsx b/src/components/WorkFlow/node.tsx index e62d5795..aa839a11 100644 --- a/src/components/WorkFlow/node.tsx +++ b/src/components/WorkFlow/node.tsx @@ -105,7 +105,7 @@ export function Node({ id, data }: NodeProps) { !task.reAssignTo ); case "failed": - return task.status === TaskStatus.FAILED; + return task.status === TaskStatus.FAILED && !task.reAssignTo; default: return false; } @@ -579,7 +579,7 @@ export function Node({ id, data }: NodeProps) { } failed={ data.agent?.tasks?.filter( - (task) => task.status === TaskStatus.FAILED + (task) => task.status === TaskStatus.FAILED && !task.reAssignTo ).length || 0 } selectedState={selectedState} diff --git a/src/store/chatStore.ts b/src/store/chatStore.ts index bcd84458..c0598e2e 100644 --- a/src/store/chatStore.ts +++ b/src/store/chatStore.ts @@ -1398,11 +1398,10 @@ const chatStore = (initial?: Partial) => setTaskAssigning(currentTaskId, [...taskAssigning]); } } - // const taskIndex = taskRunning.findIndex((task) => task.id === process_task_id); - // if (taskIndex !== -1) { - // taskRunning![taskIndex].agent!.status = "completed"; - // taskRunning![taskIndex]!.status = "completed"; - // } + const taskIndex = taskRunning.findIndex((task) => task.id === process_task_id); + if (taskIndex !== -1 && taskRunning[taskIndex].agent) { + taskRunning[taskIndex].agent!.status = 'completed'; + } if (!type && historyId) { const obj = {