Plan Execution System: - Add PlanStep, AccumulatedPlan types for multi-turn tool call accumulation - Implement AccumulatedPlanStatus for tracking plan lifecycle - Support selective approval of proposed tool calls before execution External Tools Integration: - Add ExternalToolDefinition and ExternalToolTransport to plugins crate - Extend ToolContext with external_tools registry - Add external_tool_to_llm_tool conversion for LLM compatibility JSON-RPC Communication: - Add jsonrpc crate for JSON-RPC 2.0 protocol support - Enable stdio-based communication with external tool servers UI & Engine Updates: - Add plan_panel.rs component for displaying accumulated plans - Wire plan mode into engine loop - Add plan mode integration tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Owlen UI
A Terminal User Interface (TUI) for the Owlen AI agent, built with Ratatui.
Features
- Rich Text Rendering: Markdown support with syntax highlighting for code blocks.
- Interactive Components: Intuitive panels for chat, tool execution, and session status.
- Real-time Streaming: Smooth display of agent output as it's generated.
- Task Visualization: Dedicated view for tracking the agent's progress through a task list.
Architecture
The UI is built using an event-driven architecture integrated with the agent-core event stream. It leverages ratatui for terminal rendering and crossterm for event handling.
Components
ChatPanel: Displays the conversation history.TaskPanel: Shows the current implementation plan and task status.ToolPanel: Visualizes active tool executions and their output.ModelPicker: Allows selecting between available LLM providers and models.