{/* The page title is rendered by the settings shell; this is the lead subtitle. */}
@@ -119,14 +139,17 @@ export function ProvidersSettingsPanel(): React.ReactNode {
/>
diff --git a/packages/presentation/ui/src/shell/new-session-surface.tsx b/packages/presentation/ui/src/shell/new-session-surface.tsx
index d47e18b4b..b443959ea 100644
--- a/packages/presentation/ui/src/shell/new-session-surface.tsx
+++ b/packages/presentation/ui/src/shell/new-session-surface.tsx
@@ -103,12 +103,8 @@ export interface NewSessionSurfaceProps {
onDownloadAgent?: (kind: AgentKind) => void;
/** Accepts an out-of-range detected version — the workbench remembers the (agent, version) pick. */
onContinueUnverified?: (kind: AgentKind) => void;
- /** Starts (or retries) the interactive login for a signed-out agent. */
- onLoginAgent?: (kind: AgentKind) => void;
- /** Submits the authorization code pasted from the browser during a login. */
- onSubmitLoginCode?: (kind: AgentKind, code: string) => void;
- /** Aborts an in-flight login. */
- onCancelLogin?: (kind: AgentKind) => void;
+ /** Opens Providers settings at the signed-out agent's setup flow. */
+ onOpenProviderSettings?: (kind: AgentKind) => void;
/** Starts the session and sends the prompt. A rejection keeps the page up — the caller's error
* banner reports the failure, same contract as the conversation composer. */
onSubmit: (submission: NewSessionSubmission) => Promise;
@@ -155,9 +151,7 @@ export function NewSessionSurface({
onMentionQueryChange,
onDownloadAgent,
onContinueUnverified,
- onLoginAgent,
- onSubmitLoginCode,
- onCancelLogin,
+ onOpenProviderSettings,
onSubmit,
onPickDirectory,
onRegisterWorkspace,
@@ -333,11 +327,9 @@ export function NewSessionSurface({
diff --git a/packages/presentation/ui/src/shell/shell-frame.tsx b/packages/presentation/ui/src/shell/shell-frame.tsx
index e7274bd6f..20c6c9038 100644
--- a/packages/presentation/ui/src/shell/shell-frame.tsx
+++ b/packages/presentation/ui/src/shell/shell-frame.tsx
@@ -65,12 +65,8 @@ export interface ShellFrameProps
onDownloadAgent?: (kind: AgentKind) => void;
/** Accepts an out-of-range detected version for the current pick. */
onContinueUnverified?: (kind: AgentKind) => void;
- /** Starts (or retries) the interactive login for a signed-out agent. */
- onLoginAgent?: (kind: AgentKind) => void;
- /** Submits the authorization code pasted from the browser during a login. */
- onSubmitLoginCode?: (kind: AgentKind, code: string) => void;
- /** Aborts an in-flight login. */
- onCancelLogin?: (kind: AgentKind) => void;
+ /** Opens Providers settings at the signed-out agent's setup flow. */
+ onOpenProviderSettings?: (kind: AgentKind) => void;
conversation: ConversationViewModel;
respondingRequestIds: ReadonlySet;
responseErrors?: ReadonlyMap;
@@ -134,9 +130,7 @@ export function ShellFrame({
NewSessionBranchPickerComponent,
onDownloadAgent,
onContinueUnverified,
- onLoginAgent,
- onSubmitLoginCode,
- onCancelLogin,
+ onOpenProviderSettings,
conversation,
respondingRequestIds,
responseErrors,
@@ -227,9 +221,7 @@ export function ShellFrame({
mentionItems={mentionItems}
onContinueUnverified={onContinueUnverified}
onDownloadAgent={onDownloadAgent}
- onLoginAgent={onLoginAgent}
- onSubmitLoginCode={onSubmitLoginCode}
- onCancelLogin={onCancelLogin}
+ onOpenProviderSettings={onOpenProviderSettings}
onMentionQueryChange={onMentionQueryChange}
onSubmit={onSubmitDraft}
onRegisterWorkspace={onRegisterWorkspace}
@@ -248,9 +240,7 @@ export function ShellFrame({
isRunning={isRunning}
cwd={active?.cwd}
runtimeCues={runtimeCues}
- onLoginAgent={onLoginAgent}
- onSubmitLoginCode={onSubmitLoginCode}
- onCancelLogin={onCancelLogin}
+ onOpenProviderSettings={onOpenProviderSettings}
respondingRequestIds={respondingRequestIds}
responseErrors={responseErrors}
TerminalBlockComponent={TerminalBlockComponent}