Thinking delta TUI integration (core routing, panel wiring, commands, tests)
Summary
Implemented end-to-end thinking stream integration for TunaCode TUI:
- Core now routes
thinking_deltaindependently oftext_delta - UI now has a dedicated muted
#thinking-outputpanel with throttled updates and bounded buffering /thoughtscommand toggles reasoning display on/off- Final assistant response extraction now includes assistant
textblocks only - Added unit tests for core routing, thinking renderer behavior, and latest response extraction semantics
Files changed
src/tunacode/core/agents/main.pysrc/tunacode/ui/renderers/thinking.py(new)src/tunacode/ui/styles/layout.tcsssrc/tunacode/ui/app.pysrc/tunacode/ui/commands/thoughts.py(new)src/tunacode/ui/commands/__init__.pytests/unit/core/test_thinking_stream_routing.py(new)tests/unit/ui/test_thinking_renderer.py(new)tests/unit/ui/test_app_latest_response_text.py(new)
Validation
uv run ruff check src/tunacode/core/agents/main.py src/tunacode/ui/app.py src/tunacode/ui/commands src/tunacode/ui/renderers/thinking.py✅uv run pytest tests/unit/core/test_thinking_stream_routing.py tests/unit/ui/test_thinking_renderer.py tests/unit/ui/test_app_latest_response_text.py tests/unit/ui/test_command_contracts.py -q✅uv run ruff check --fix .✅uv run pytest⚠️ Fails in vendoredtinyAgent/tests/*collection due import module resolution (ModuleNotFoundError: No module named 'tests....')