Repository navigation
0.2.16
π Release v0.2.16
This release includes critical bug fixes for streaming output and significant improvements to test coverage.
π Bug Fixes
Critical Streaming Bug
- Fixed
TypeError: update_live() got an unexpected keyword argument 'force'- This bug was causing all streaming to fail silently and fall back to non-streaming mode
- Impact: Streaming now works correctly for all queries
IndexError in Artifact Extraction
- Added bounds checking for
artifacts[0]access- Prevents crashes when artifact list is empty or malformed
- More robust error handling for edge cases
Tool Notification Display
- Fixed
IndexErrorinsummarize_tool_notification()- Added empty string checks before accessing
lines[0] - Prevents crashes when processing empty tool notifications
- Added empty string checks before accessing
β¨ Improvements
Streaming Output Display
- Changed streaming output from Markdown to plain Text rendering
- Fixes character spacing issues (e.g., "Ar go CD" β "ArgoCD")
- Streaming content no longer tries to render incomplete markdown
- Final response panel still uses Markdown for proper formatting
Dynamic Terminal Sizing
- Streaming output now adapts to terminal height
- Calculates available space based on execution plan and tool activity panels
- Prevents panels from pushing content off-screen
- Shows last N lines with
...indicator when content exceeds available space
UI Refinements
- Changed pending task emoji from βΈοΈ to π (more intuitive for TODO items)
- Removed throttling for immediate updates
- Tool activity and streaming content now appear instantly
- Smoother real-time experience
π§ͺ Test Coverage Improvements
New Unit Tests
- Added 18 comprehensive unit tests (total: 40 tests)
- Coverage improved from 16% to 24% (+50% improvement)
a2a_client.pycoverage: 20% β 40% (+100% improvement)
Test Functions Added
sanitize_stream_text()- 5 tests covering JSON removal, deduplication, edge casesformat_execution_plan_text()- 5 tests covering TODO formatting, status emojis, error handlingsummarize_tool_notification()- 4 tests covering summarization, response prefix removalbuild_dashboard()- 4 tests covering panel rendering, terminal sizing, truncation
ποΈ Project Organization
Integration Tests Reorganization
- Moved all diagnostic test scripts to
tests/integration/- 13 integration tests now properly organized
- Created
tests/integration/README.mdwith documentation
- Updated Makefile targets
make test- Runs unit tests only (fast, no external dependencies)make test-integration- Runs integration tests (requires live agents)
π Refactoring
- Support for TODO lists and execution plan formatting
- Improved A2A streaming protocol compliance
π Files Changed
agent_chat_cli/a2a_client.py- Core streaming fixes and UI improvementstests/test_a2a_client.py- Added 18 comprehensive unit testsMakefile- Addedtest-integrationtargettests/integration/- New directory for integration tests
β All Tests Passing
- β 40/40 unit tests passing
- β All changes are backward compatible
- β No breaking changes
π¦ Installation
# Using uvx (recommended)
uvx --from git+https://github.com/cnoe-io/agent-chat-cli agent-chat-cli
# Using pip
pip install git+https://github.com/cnoe-io/agent-chat-cli.git@0.2.16π Documentation
For full documentation, see the README.
Full Changelog: 0.2.13...0.2.16