M2: TUI — EngineHandle, ratatui app, markdown renderer, permission modal, session picker, snapshot tests

Builds the ratatui TUI: EngineHandle bridging the async engine to the render loop, chat viewport rendering with a markdown renderer, input handling, a permission modal wired to the real oneshot ask path, and a session picker. Adds TestBackend snapshot tests covering empty session, tool cards (running/completed/error), permission modal, session picker, and message rendering.
This commit is contained in:
2026-07-10 16:19:59 +02:00
parent d83f8c84b7
commit d4a846f827
18 changed files with 2848 additions and 79 deletions
+15
View File
@@ -12,6 +12,21 @@ path = "src/main.rs"
harness-app = { workspace = true }
harness-core = { workspace = true }
tokio = { workspace = true }
ratatui = { workspace = true }
crossterm = { workspace = true }
tui-textarea = { workspace = true }
pulldown-cmark = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
tracing-appender = { workspace = true }
dirs = { workspace = true }
anyhow = { workspace = true }
serde_json = { workspace = true }
futures = { workspace = true }
tokio-util = { workspace = true }
[dev-dependencies]
insta = "1"
[lints]
workspace = true