diff --git a/frontend/src/components/tasks/TaskDetailsPanel.tsx b/frontend/src/components/tasks/TaskDetailsPanel.tsx
index 910a75bb..8163b57a 100644
--- a/frontend/src/components/tasks/TaskDetailsPanel.tsx
+++ b/frontend/src/components/tasks/TaskDetailsPanel.tsx
@@ -4,7 +4,6 @@ import {
X,
History,
Clock,
- FileText,
Code,
ChevronDown,
ChevronUp,
@@ -15,6 +14,7 @@ import {
Send,
AlertCircle,
Play,
+ GitCompare,
} from "lucide-react";
import { Button } from "@/components/ui/button";
import { Alert, AlertDescription } from "@/components/ui/alert";
@@ -700,26 +700,53 @@ export function TaskDetailsPanel({
{onEditTask && (
-
+
+
+
+
+
+
+ Edit task
+
+
+
)}
{onDeleteTask && (
-
+
+
+
+
+
+
+ Delete task
+
+
+
)}
-
+
+
+
+
+
+
+ Close panel
+
+
+
@@ -803,78 +830,105 @@ export function TaskDetailsPanel({
{/* Attempt Management Group */}
{taskAttempts.length > 1 && (
-
-
-
-
-
- {taskAttempts.map((attempt) => (
- handleAttemptChange(attempt.id)}
- className={
- selectedAttempt?.id === attempt.id
- ? "bg-accent"
- : ""
- }
- >
-
-
- {new Date(
- attempt.created_at
- ).toLocaleDateString()}{" "}
- {new Date(
- attempt.created_at
- ).toLocaleTimeString()}
-
-
- {attempt.executor || "executor"}
-
-
-
- ))}
-
-
+
+
+
+
+
+
+
+
+ {taskAttempts.map((attempt) => (
+ handleAttemptChange(attempt.id)}
+ className={
+ selectedAttempt?.id === attempt.id
+ ? "bg-accent"
+ : ""
+ }
+ >
+
+
+ {new Date(
+ attempt.created_at
+ ).toLocaleDateString()}{" "}
+ {new Date(
+ attempt.created_at
+ ).toLocaleTimeString()}
+
+
+ {attempt.executor || "executor"}
+
+
+
+ ))}
+
+
+
+
+ View attempt history
+
+
+
)}
-
-
-
-
-
-
- {availableExecutors.map((executor) => (
- setSelectedExecutor(executor.id)}
- className={
- selectedExecutor === executor.id
- ? "bg-accent"
- : ""
- }
+
+
+
+
- ))}
-
-
+ {selectedAttempt ? "Retry" : "Start"}
+
+
+
+ {selectedAttempt ? "Retry task with current executor" : "Start task with current executor"}
+
+
+
+
+
+
+
+
+
+
+
+ {availableExecutors.map((executor) => (
+ setSelectedExecutor(executor.id)}
+ className={
+ selectedExecutor === executor.id
+ ? "bg-accent"
+ : ""
+ }
+ >
+ {executor.name}
+ {selectedExecutor === executor.id &&
+ " (Default)"}
+
+ ))}
+
+
+
+
+ Choose executor
+
+
+
@@ -885,15 +939,24 @@ export function TaskDetailsPanel({
{/* Execution Control Group */}
{(isAttemptRunning || isStopping) && (
-
+
+
+
+
+
+
+ {isStopping ? "Stopping execution..." : "Stop execution"}
+
+
+
)}
@@ -975,20 +1038,38 @@ export function TaskDetailsPanel({
{/* Code Actions Group */}
-
-
+
+
+
+
+
+
+ Open in editor
+
+
+
+
+
+
+
+
+
+ View code changes
+
+
+
>
)}