- Support structured summaries and payloads in ToolGroupMessage/DenseToolMessage.
- Add specialized box-layout rendering for file and read-many-files tools.
- Refine tool state management in useGeminiStream during cancellations.
- Update UI tests and snapshots to reflect new compact rendering styles.
Introduces a modular architecture for compact tool output in the CLI.
- Separates single-line summaries from multiline payloads across all tools.
- Implements specialized handlers for file operations and ReadManyFiles.
- Passes terminal dimensions to ensure accurate diff rendering in dense mode.
- Ensures state persistence for rejected operations in history.
- Includes unit tests for all new layouts, result types, and terminal states.
Adds a disableColor mode to DiffRenderer and CodeColorizer. This allows for rendering uncolored diffs (for rejected tool calls) while maintaining full layout features like line numbers and indentation.
Establishes core data contracts and state management for enhanced tool outputs.
- Introduces GrepResult, ListDirectoryResult, and ReadManyFilesResult types.
- Updates tools to return structured data instead of flat strings.
- Preserves confirmation details and diff stats in terminal tool states.
- Ensures backward compatibility in standard CLI views via safe type guards.
- Update all UI snapshots to synchronize with the new 'compact' default and minor layout tweaks.
- Update legacy UI regression tests to explicitly disable 'enableCompactToolOutput' to verify boxed layout behavior (overflows, sticky headers).
- Refactor 'useGeminiStream.test.tsx' to resolve TypeErrors and use consistent mock settings supporting the new UI options.
- Fix EPERM failures by using 'os.tmpdir()' in a2a-server and CLI theme tests to resolve macOS Seatbelt issues.
- Introduce 'ui.enableCompactToolOutput' (default: true) to control tool output layout.
- Separated the overloaded 'output.verbosity' setting into two distinct concerns: 'output.verbosity' now strictly filters history content, while 'ui.enableCompactToolOutput' toggles between dense and boxed layouts.
- Update useGeminiStream and ToolGroupMessage to respect the new architectural separation.
- Add DenseToolMessage component for single-line tool output.
- Update ToolGroupMessage to support dense layout and conditional borders.
- Improve padding and layout in ShellToolMessage and ToolMessage.
- Add padding to ShowMoreLines and update UI snapshots.
- Update useGeminiStream to detect dense tool batches (non-verbose, non-shell).
- Update useHistoryManager to merge consecutive tool_group items into a single history entry.
- Add unit tests for history manager merging logic.