diff --git a/crates/tui/src/tui/app.rs b/crates/tui/src/tui/app.rs index 145a2ca0..fe6c183d 100644 --- a/crates/tui/src/tui/app.rs +++ b/crates/tui/src/tui/app.rs @@ -2567,7 +2567,9 @@ impl App { self.tool_detail_record_for_cell(index).is_some() || matches!( self.cell_at_virtual_index(index), - Some(HistoryCell::Tool(_) | HistoryCell::SubAgent(_) | HistoryCell::Thinking { .. }) + Some( + HistoryCell::Tool(_) | HistoryCell::SubAgent(_) | HistoryCell::Thinking { .. } + ) ) } diff --git a/crates/tui/src/tui/ui.rs b/crates/tui/src/tui/ui.rs index b68c50b8..2bc6dc3c 100644 --- a/crates/tui/src/tui/ui.rs +++ b/crates/tui/src/tui/ui.rs @@ -2804,8 +2804,7 @@ async fn run_event_loop( // Space toggles collapse/expand of the focused thinking block // when the composer is empty (#1972). KeyCode::Char(' ') - if key.modifiers == KeyModifiers::NONE - && app.input.is_empty() => + if key.modifiers == KeyModifiers::NONE && app.input.is_empty() => { if let Some(idx) = detail_target_cell_index(app) { if app.collapsed_cells.contains(&idx) { @@ -5736,6 +5735,21 @@ fn render(f: &mut Frame, app: &mut App) { // burst of events isn't collapsed to a single visible message. render_toast_stack_overlay(f, size, chunks[3], chunks[4], app); + // Decision card overlay (v0.8.43 truth-surface). When a decision card is + // active, render it centered on top of the transcript. + if let Some(ref card) = app.decision_card { + let card_width = size.width.min(60).max(30); + let card_height = card.desired_height(card_width); + let card_area = ratatui::layout::Rect { + x: size.x.saturating_add(size.width.saturating_sub(card_width) / 2), + y: size.y.saturating_add(size.height.saturating_sub(card_height) / 2), + width: card_width, + height: card_height.min(size.height), + }; + let buf = f.buffer_mut(); + card.render(card_area, buf); + } + if !app.view_stack.is_empty() { // The live transcript overlay snapshots the app's history + active // cell on each render so streaming mutations propagate. Other views diff --git a/docs/INSTALL.md b/docs/INSTALL.md index c1b61f33..2a9fd17b 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -282,7 +282,7 @@ The `codewhale` package is listed in Scoop's main bucket: ```powershell scoop update -scoop install deepseek-tui +scoop install codewhale codewhale --version ``` diff --git a/npm/codewhale/README.md b/npm/codewhale/README.md index ac6b0a23..0e57173e 100644 --- a/npm/codewhale/README.md +++ b/npm/codewhale/README.md @@ -1,6 +1,6 @@ # codewhale -Install and run CodeWhale, a DeepSeek-first agentic terminal for open coding +Install and run CodeWhale, the agentic terminal for open-source and open-weight coding models, from GitHub release artifacts. > Previously published as `deepseek-tui`. See `docs/REBRAND.md` in the upstream