use rataflow::{EdgeContent, EdgePathContext, EdgeRenderContext, EdgeStyle, Path, StepEdge};
use ratatui::buffer::Buffer;
use ratatui::style::Style;
#[derive(Debug, Default, Clone)]
pub struct AgentEdge {
inner: StepEdge,
pub running: bool,
}
impl EdgeContent for AgentEdge {
fn compute_path(&self, ctx: &EdgePathContext) -> Path {
self.inner.compute_path(ctx)
}
fn render(&self, ctx: &EdgeRenderContext, buf: &mut Buffer) {
let style = if self.running {
let green = ctx.theme.palette().success;
EdgeStyle::default().with_stroke_style(Style::default().fg(green))
} else {
EdgeStyle::default()
};
ctx.render_path(&style, None, buf);
}
}