{/* HUD and the popped-out Browser have no titlebar to hang these off —
the clusters are `fixed`, so without this they'd float over the
surface as orphaned buttons. */}
{!isHudWindow() && !isBrowserWindow() && (
navigate(SETTINGS_ROUTE)}
tools={rightTitlebarTools}
/>
)}
{children}
{/* The full real overlay set (mirrors DesktopController's `overlays`). */}
{!isAuxiliaryWindow() && }
{!isAuxiliaryWindow() && (
{
void refreshHermesConfig()
void refreshCurrentModel()
void queryClient.invalidateQueries({ queryKey: ['model-options'] })
}}
profile={activeGatewayProfile}
requestGateway={requestGateway}
/>
)}
openSession(sessionId, navigate)} />
{settingsOpen && (
{
void refreshHermesConfig()
void refreshCurrentModel()
void queryClient.invalidateQueries({ queryKey: ['model-options'] })
}}
onMainModelChanged={(provider, model) => {
applySavedMainModel(provider, model)
void refreshCurrentModel()
void queryClient.invalidateQueries({ queryKey: ['model-options'] })
}}
/>
)}
{commandCenterOpen && (
navigateToWorkspacePage(navigate, path)}
onOpenSession={sessionId => openSession(sessionId, navigate)}
/>
)}
{agentsOpen && (
)}
{cronOpen && (
openSession(sessionId, navigate)}
/>
)}
{webhooksOpen && (
)}
{profilesOpen && (
)}
{starmapOpen && (
)}
{/* Toasts above everything. */}
{/* Backs confirm() from @/store/confirm — renders only while one is open. */}
{/* Send Diagnostics consent/upload dialog — driven by $sendDiagnostics
(error card action); renders nothing until requested. */}
{/* Petdex floating mascot — renders nothing unless installed + enabled.
Never in the HUD: that window is the chat bar and nothing else. */}
{!isHudWindow() && !isBrowserWindow() && }
{/* In-app tips. Renders nothing until the app is quiet and has something
to point at, and nothing at all once they're off or all retired. The
HUD and browser windows have none of the surfaces a tip talks about. */}
{!isHudWindow() && !isBrowserWindow() && }
{/* Single persistent xterm host chasing the terminal pane's slot rect.
The HUD has no terminal pane, so it has nothing to chase. */}
{!isHudWindow() && !isBrowserWindow() && (
)}
)
}