Modal asking whether to restart the server for a spawn-time change.
Serves both the post-install offer and the post-/auth web-search offer;
the caller supplies the title verb and body copy.
Dismisses with "restart" when the user accepts and "later" when the
user defers. Esc is treated as "later" so the user is never forced into a
restart they did not explicitly choose.
The subject surfaced in the title (e.g. an installed extra
name, or a saved credential like "Tavily API key").
Past-tense action shown before label in the title ā e.g.
"Installed" for the post-install flow or "Saved" for a
saved credential. Required (no default) so each flow states its
own intent and a future caller can't inherit install-only copy.
Optional override for the explanatory line under the title. Defaults to the generic restart copy.
Compose the confirmation dialog.
Dismiss with "restart".
Dismiss with "later".
Alias for action_later so Esc resolves to a deliberate defer.
The app's action_interrupt (escape binding, priority=True)
fires before this screen's own escape binding. When the active
screen is a ModalScreen, it dispatches to action_cancel if
present, else falls through to dismiss(None). The current caller
no-ops on both None and "later", but defining this alias pins Esc
to an explicit "later" ā matching the sibling reconnect/cwd-switch
modals and keeping the outcome unambiguous for any future caller that
branches on a deliberate defer versus a programmatic dismiss.