|
tui: activity indicator in a bottom status bar + 1-line input
Add an animated "agent is working" indicator so a silent gap (long-running tool, the pause before the first token, sub-agent reasoning) reads as "alive" rather than "hung": a braille spinner + phase label that runs on its own timer, independent of the WebSocket event flow. - New ActivityIndicator widget (rotating spinner + phase label, colored status_online), started/stopped from tui_app WS phase transitions (thinking / responding / planning / running <tool>) and stopped on stream_end/stopped/error and on connection drop. - New StatusBar bottom line replaces Textual's Footer: indicator on the left, dim key-combo summary on the right. One line instead of the menu; the key bindings themselves stay on the App so the keys still work. - Input box: TextArea min-height 3 -> 1, so the prompt is one line by default (auto-resize + max-height 12 unchanged). Co-Authored-By: Claude <noreply@anthropic.com> |
|---|
|
|
| clients/terminal/tui/tui_app.py |
|---|
| clients/terminal/tui/widgets/__init__.py |
|---|
| clients/terminal/tui/widgets/activity_indicator.py 0 → 100644 |
|---|
| clients/terminal/tui/widgets/input_box.py |
|---|
| clients/terminal/tui/widgets/status_bar.py 0 → 100644 |
|---|
| tests/clients/test_tui_app.py |
|---|