File size: 1,480 Bytes
d660fa9
 
 
 
 
 
 
 
 
 
 
 
f4542ce
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
 * DebugPanel — engine health readout for researchers.
 *
 * Shows tick, agent/moving/paused counts, background task counts, and
 * per-agent anomalies reported by the backend health monitor.
 *
 * Architecture: toggled from InfoBar; fed by the snapshot's health block.
 *
 * Design: keeps runtime anomalies visible without cluttering the main
 * dashboard.
 */

export default function DebugPanel({ health }) {
  if (!health) return null;
  return (
    <aside style={{
      position: "fixed", left: 16, top: 120, width: 255, background: "rgba(8,10,12,0.92)",
      border: `1px solid ${health.healthy ? "rgba(81,207,102,.25)" : "rgba(255,107,107,.5)"}`,
      borderRadius: 6, padding: "10px 12px", zIndex: 1200, fontFamily: "'Space Mono', monospace", fontSize: 9,
    }}>
      <div style={{ color: health.healthy ? "#51cf66" : "#ff6b6b", letterSpacing: 1, marginBottom: 7 }}>
        {health.healthy ? "SYSTEM HEALTHY" : "HEALTH WARNINGS"}
      </div>
      <div style={{ color: "#a9a9b2", lineHeight: 1.7 }}>
        tick {health.tick} · {health.agents} agents<br />
        moving {health.moving} · paused {health.paused}<br />
        conversations {health.conversations} · tasks {health.event_loop_tasks}
      </div>
      {!!health.anomalies?.length && <div style={{ color: "#ff8e8e", marginTop: 7 }}>
        {health.anomalies.map((item, index) => <div key={`${item.agent_id}-${index}`}>{item.agent_id}: {item.kind}</div>)}
      </div>}
    </aside>
  );
}