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
+5 -4
View File
@@ -2941,10 +2941,7 @@ impl BlocklistAIController {
ctx: &mut ModelContext<Self>,
) {
self.send_user_query_in_conversation_internal(
"The command is still running. Continue monitoring now: call `read_shell_command_output` \
with the existing command ID instead of replying with a status message. If the user's \
explicit stop condition is met, call `interrupt_shell_command` immediately."
.to_owned(),
Self::cli_monitor_nudge_message().to_owned(),
conversation_id,
None,
RunningCommandDetection::Detect,
@@ -2956,6 +2953,10 @@ impl BlocklistAIController {
);
}
pub(crate) fn cli_monitor_nudge_message() -> &'static str {
"The command is still running. Please check its latest output and keep monitoring it."
}
#[allow(clippy::too_many_arguments)]
fn send_user_query_in_conversation_internal(
&mut self,