| 201 | } |
| 202 | |
| 203 | function edgeColor(stepType?: string, isGhost?: boolean, isSynthetic?: boolean): string { |
| 204 | if (isGhost) return "#64748b"; |
| 205 | if (isSynthetic) return "#ea580c"; // orange — 与 synthetic 节点橙色统一 |
| 206 | switch (stepType) { |
| 207 | case "INTENT": return "#6366f1"; |
| 208 | case "STRATEGY": return "#a855f7"; |
| 209 | case "SEARCH": return "#2563eb"; |
| 210 | case "EVAL": return "#0891b2"; |
| 211 | case "READ": return "#16a34a"; |
| 212 | case "EXTRACT": return "#84cc16"; |
| 213 | case "LINK": return "#0d9488"; |
| 214 | case "DECIDE": return "#ea580c"; |
| 215 | case "CONFLICT": return "#d97706"; |
| 216 | case "ANSWER": return "#b45309"; |
| 217 | default: return "#475569"; |
| 218 | } |
| 219 | } |
| 220 | |
| 221 | export function FlowGraph(props: Props) { |
| 222 | return ( |