1.8 KiB
1.8 KiB
Agents Upgrade Plan
- feat: support multimodal inputs (images, rich artifacts) and preview panes so non-text context matches Codex CLI image handling and Claude Code’s artifact outputs
- feat: integrate repository automation (GitHub PR review, commit templating, Claude SDK-style automation APIs) to reach parity with Codex CLI’s GitHub integration and Claude Code’s CLI/SDK automation
- feat: implement Codex-style non-blocking TUI so commands remain usable while backend work runs:
- Add an
AppEventchannel and dispatch layer incrates/owlen-tui/src/app/mod.rsthat mirrors thetokio::select!loop used incodex-rs/tui/src/app.rs:190-197to multiplex UI input, session events, and background updates without blocking redraws. - Refactor
ChatApp::process_pending_llm_requestand related helpers to spawn tasks that submit prompts viaSessionControllerand stream results back through the new channel, followingcodex-rs/tui/src/chatwidget/agent.rs:16-61so the request lifecycle no longer stalls the UI thread. - Track active-turn state plus queued inputs inside
ChatAppand surface them through the status pane—similar tocodex-rs/tui/src/chatwidget.rs:1105-1132andcodex-rs/tui/src/bottom_pane/mod.rs:334-352,378-383—so users can enqueue commands/slash actions while a turn is executing. - Introduce a frame requester/draw scheduler (accessible from
ChatAppand background tasks) that coalesces redraws likecodex-rs/tui/src/tui.rs:234-390, ensuring notifications, queue updates, and streaming deltas trigger renders without blocking the event loop. - Extend input handling and regression tests to cover concurrent queued messages, cancellation, and post-turn flushing, echoing the completion hooks in
codex-rs/tui/src/chatwidget.rs:436-455and keeping/helpand command palette responsive under load.
- Add an