hermes-agent/ui-tui/src/domain
Ben Barclay d33965396e
feat(tui): include session name in the terminal titlebar (#43188)
The terminal/console titlebar was composed from status marker + model +
cwd only; the session's (auto-)title never appeared, even though the TUI
already knows it.

Change the format to `<marker> <session name> · <model> · <cwd>`, with the
session name and cwd each omitted when absent so single-segment titles stay
clean. The current session's live title is pulled from the existing
session.active_list poll (which already carries each session's current flag
and title), so there's no extra round-trip; UiState gains a sessionTitle
field updated only when it actually changes, preserving the existing
idle-flicker guard.

Extract the join logic into a pure composeTabTitle() helper in domain/paths
and cover its edge cases (name omitted, cwd omitted, whitespace-only name,
marker-only fallback, truncation, boundary length) in paths.test.ts.
2026-06-10 11:24:01 +10:00
..
blockLayout.ts fix(tui): clear selection on right-click copy + group transcript blocks 2026-06-02 22:03:38 -05:00
details.ts fix(tui): apply details mode live 2026-04-26 13:34:33 -05:00
messages.ts fix(tui): improve macOS paste and shortcut parity 2026-04-21 08:00:00 -07:00
paths.ts feat(tui): include session name in the terminal titlebar (#43188) 2026-06-10 11:24:01 +10:00
providers.ts chore(tui): /clean pass — inline one-off locals, tighten ConfirmPrompt 2026-04-19 07:55:38 -05:00
roles.ts fix(tui): restore macOS copy behavior and theme polish (#17131) 2026-04-28 18:47:14 -05:00
slash.ts fix(review): address copilot review 2026-04-27 11:06:28 -04:00
usage.ts refactor(tui): store-driven turn state + slash registry + module split 2026-04-16 12:34:45 -05:00
viewport.ts fix(tui): stabilize sticky prompt tracking 2026-04-28 22:10:40 -05:00