Skip to content

0.2.16

Choose a tag to compare

@sriaradhyula sriaradhyula released this 05 Nov 06:48
· 55 commits to main since this release
1ea4fc8

πŸŽ‰ 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 IndexError in summarize_tool_notification()
    • Added empty string checks before accessing lines[0]
    • Prevents crashes when processing empty tool notifications

✨ 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.py coverage: 20% β†’ 40% (+100% improvement)

Test Functions Added

  • sanitize_stream_text() - 5 tests covering JSON removal, deduplication, edge cases
  • format_execution_plan_text() - 5 tests covering TODO formatting, status emojis, error handling
  • summarize_tool_notification() - 4 tests covering summarization, response prefix removal
  • build_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.md with 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 improvements
  • tests/test_a2a_client.py - Added 18 comprehensive unit tests
  • Makefile - Added test-integration target
  • tests/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