Improve CLI command inline pane and monitoring behavior

- Track user-initiated expansion state to avoid auto-collapse conflicts
- Invert inline action visibility so terminal block hides while inline pane owns the expanded body
- Add scrollable output rendering in requested command expanded view
- Simplify CLI monitor nudge message and extract to reusable method
- Show only latest user query and assistant text in monitor task transcript
- Add handle_ctrl_c_for_conversation to status bar for child agent cancellation
- Update rig_request tests for adjusted monitor nudge wording
This commit is contained in:
Ryan Ward
2026-08-18 13:06:30 -05:00
parent a93b80adb4
commit dec90208a4
9 changed files with 279 additions and 47 deletions
+25
View File
@@ -476,6 +476,31 @@ impl BlocklistAIStatusBar {
ctx.notify();
}
/// Handles Ctrl+C for a conversation even when its latest exchange has already
/// completed but a child agent or another orchestration task is still running.
pub fn handle_ctrl_c_for_conversation(
&mut self,
conversation_id: AIConversationId,
ctx: &mut ViewContext<Self>,
) {
let active_exchange_matches = self
.active_exchange_model
.as_ref()
.and_then(|model| model.conversation_id(ctx))
== Some(conversation_id);
if active_exchange_matches {
self.handle_ctrl_c(ctx);
} else {
self.controller.update(ctx, |controller, ctx| {
controller.cancel_conversation_progress(
conversation_id,
CancellationReason::ManuallyCancelled,
ctx,
);
});
}
}
pub fn notify_and_notify_children(&mut self, ctx: &mut ViewContext<Self>) {
ctx.notify();
self.agent_message_bar.update(ctx, |_, ctx| ctx.notify());