+ {tasks.length === 0 ? (
+
No agent tasks in progress
+ ) : (
+ tasks
+ .sort((a, b) => {
+ // Active tasks first, then by spawn time
+ const statusOrder: Record
= {
+ running: 0,
+ spawning: 1,
+ failed: 2,
+ killed: 3,
+ completed: 4,
+ };
+ const orderA = statusOrder[a.status] ?? 5;
+ const orderB = statusOrder[b.status] ?? 5;
+ if (orderA !== orderB) return orderA - orderB;
+ return new Date(b.spawnedAt).getTime() - new Date(a.spawnedAt).getTime();
+ })
+ .slice(0, 10)
+ .map((task) => (
+
+
+
+ {getStatusIcon(task.status)}
+
+ {task.taskId}
+
+
+
+ {getAgentTypeLabel(task.agentType)}
+
+
+
+ {getStatusLabel(task.status)}
+ {getElapsedTime(task.spawnedAt, task.completedAt)}
+
+ {task.error && (
+
+ {task.error}
+
+ )}
+
+ ))
+ )}
+