Implement chat and markdown views, enhance status bar, and add workflow panel

- Added `chat.rs` for rendering chat messages with timestamps and roles.
- Introduced `markdown.rs` for rendering markdown content with styling.
- Created `status.rs` to display the application status bar with session and message counts.
- Developed `workflow.rs` to show the current workflow status, including tool calls and active jobs.
- Established a `theme.rs` for centralized color management across the UI.
- Updated `mod.rs` to include new modules and manage rendering logic.
This commit is contained in:
asepharyana
2026-07-11 13:16:10 +07:00
parent 7cb4ae6708
commit cc03bd79b6
131 changed files with 10994 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
use tokio::sync::mpsc;
use super::context::SubagentContext;
use super::event::SubagentEvent;
pub const MAX_AGENT_STEPS: usize = 25;
pub fn run_subagent(ctx: SubagentContext, tx: mpsc::Sender<SubagentEvent>) -> anyhow::Result<String> {
let mut output = String::new();
for step in 0..ctx.max_steps.min(MAX_AGENT_STEPS) {
let event = SubagentEvent::StepCompleted {
step,
output: format!("step {} completed", step),
};
let _ = tx.blocking_send(event);
output.push_str(&format!("step {} completed\n", step));
}
let _ = tx.blocking_send(SubagentEvent::Completed { output: output.clone() });
Ok(output)
}