Interactive agent selector screen for /agents command.
Get the glyph set for the current charset mode.
Check whether the terminal is in ASCII charset mode.
Convenience wrapper so widgets can branch on charset without importing
both _detect_charset_mode and CharsetMode.
Remove the default agent from the config file.
Deletes the [agents].default key so that future launches fall back
to [agents].recent and then DEFAULT_AGENT_NAME.
Update the default agent in config file.
Writes to [agents].default. This is the user's intentional sticky
default — set via Ctrl+S in the /agents picker — and takes
precedence over [agents].recent on bare-launch resolution.
Character glyphs for TUI display.
Modal dialog for switching between available agents.
Displays agents found in ~/.deepagents/ in an OptionList. Returns the
selected agent name on Enter, or None on Esc (no change).
Ctrl+S toggles the highlighted agent as the persisted default
([agents].default), mirroring the model selector's affordance.
LangChain brand colors and semantic constants for the app.
Single source of truth for color values used in Python code (Rich markup,
Content.styled, Content.from_markup). CSS-side styling should reference
Textual CSS variables: built-in variables
($primary, $background, $text-muted, $error-muted, etc.) are set via
register_theme() in DeepAgentsApp.__init__, while the few app-specific
variables ($mode-bash, $mode-command, $mode-incognito, $skill,
$skill-hover, $tool, $tool-hover) are backed by these constants via
App.get_theme_variable_defaults().
Code that needs custom CSS variable values should call
get_css_variable_defaults(dark=...). For the full semantic color palette, look
up the ThemeColors instance via get_registry().
Users can define custom themes in ~/.deepagents/config.toml under
[themes.<name>] sections. Each new theme section must include label (str);
dark (bool) defaults to False if omitted (set to True for dark themes).
Color fields are optional and fall back to the built-in dark/light palette based
on the dark flag. Sections whose name matches a built-in theme override its
colors without replacing it. See _load_user_themes() for details.