pub fn render_assistant_output(response: &str) -> String { let mut rendered = String::new(); let mut in_command_block = false; for line in response.lines() { if in_command_block && line.trim() == "```" { in_command_block = false; rendered.push_str("--- end suggested command ---\n"); rendered.push_str(line); rendered.push('\n'); continue; } if let Some(language) = command_language_from_fence(line) { rendered.push_str(&format!( "--- suggested command ({language}); review before running ---\n" )); in_command_block = true; rendered.push_str(line); rendered.push('\n'); continue; } rendered.push_str(line); rendered.push('\n'); } if response.contains("[risk: high]") || response.contains("risk: high") { rendered.push_str("--- review required: model marked this response as high risk ---\n"); } rendered.trim_end().to_string() } fn command_language_from_fence(line: &str) -> Option<&str> { let trimmed = line.trim(); let language = trimmed.strip_prefix("```")?; match language { "powershell" | "pwsh" | "sh" | "bash" | "zsh" | "posix" => Some(language), _ => None, } } #[cfg(test)] mod tests { use super::*; #[test] fn labels_command_blocks() { let output = render_assistant_output( "Try this:\n```powershell\nGet-ChildItem\n```\nThen inspect the output.", ); assert!(output.contains("suggested command (powershell); review before running")); assert!(output.contains("end suggested command")); } #[test] fn preserves_high_risk_language() { let output = render_assistant_output("[risk: high]\n```sh\nrm -rf build\n```"); assert!(output.contains("review required")); assert!(output.contains("rm -rf build")); } }