mod cli;
mod plain;
mod rich;
pub(crate) use cli::{
CliRenderer, format_pending_tool_block, pending_activity_status, pending_tool_display_summary,
tool_display_summary, tool_status_label,
};
pub(crate) use plain::{OutputRenderer, PlainOutputRenderer};
pub(crate) use rich::RichTranscriptRenderer;
use super::ToolStatus;
const ASSISTANT_FLUSH_BYTE_THRESHOLD: usize = 1024;
const THINKING_FLUSH_BYTE_THRESHOLD: usize = ASSISTANT_FLUSH_BYTE_THRESHOLD;
fn unicode_mark(status: ToolStatus) -> &'static str {
match status {
ToolStatus::Running | ToolStatus::Writing => "⟳",
ToolStatus::Success => "✓",
ToolStatus::Failure => "✗",
}
}
fn ascii_mark(status: ToolStatus) -> &'static str {
match status {
ToolStatus::Running => "RUNNING",
ToolStatus::Writing => "WRITING",
ToolStatus::Success => "OK",
ToolStatus::Failure => "FAIL",
}
}