+ {/* Provider/model picker */}
+
- {/* Right side: send / stop button */}
-
- {isPreparingWorktree ? (
-
Preparing worktree...
- ) : null}
- {activePendingProgress ? (
-
- {activePendingProgress.questionIndex > 0 ? (
-
- ) : null}
-
-
- ) : phase === "running" ? (
-
+
+ {/* Divider */}
+
+
+ {/* Runtime mode toggle */}
+
+ void handleRuntimeModeChange(
+ runtimeMode === "full-access" ? "approval-required" : "full-access",
+ )
+ }
+ title={
+ runtimeMode === "full-access"
+ ? "Full access — click to require approvals"
+ : "Approval required — click for full access"
+ }
+ >
+ {runtimeMode === "full-access" ? : }
+
+ {runtimeMode === "full-access" ? "Full access" : "Supervised"}
+
+
+
+
+ {/* Right side: send / stop button */}
+
+ {isPreparingWorktree ? (
+
Preparing worktree...
+ ) : null}
+ {activePendingProgress ? (
+
+ {activePendingProgress.questionIndex > 0 ? (
+
+ Previous
+
+ ) : null}
- {isConnecting || isSendBusy ? "Sending..." : "Refine"}
+ {activePendingIsResponding
+ ? "Submitting..."
+ : activePendingProgress.isLastQuestion
+ ? "Submit answers"
+ : "Next question"}
- ) : (
-
+
+ ) : phase === "running" ? (
+
void onInterrupt()}
+ aria-label="Stop generation"
+ >
+
+
+ ) : pendingUserInputs.length === 0 ? (
+ showPlanFollowUpPrompt ? (
+ prompt.trim().length > 0 ? (
- {isConnecting || isSendBusy ? "Sending..." : "Implement"}
+ {isConnecting || isSendBusy ? "Sending..." : "Refine"}
-
+
+ )
+ ) : (
+
+ {isConnecting || isSendBusy ? (
+
+
+
+ ) : (
+
+ )}
+
)
- ) : (
-
- {isConnecting || isSendBusy ? (
-
- ) : (
-
- )}
-
- )
- ) : null}
+ ) : null}
+