diff --git a/core/http/react-ui/src/pages/Agents.jsx b/core/http/react-ui/src/pages/Agents.jsx index 1ef17290e..6232bcdcf 100644 --- a/core/http/react-ui/src/pages/Agents.jsx +++ b/core/http/react-ui/src/pages/Agents.jsx @@ -16,10 +16,25 @@ export default function Agents() { const names = Array.isArray(data.agents) ? data.agents : [] const statuses = data.statuses || {} if (data.agent_hub_url) setAgentHubURL(data.agent_hub_url) - setAgents(names.map(name => ({ - name, - status: statuses[name] ? 'active' : 'paused', - }))) + + // Fetch observable counts for each agent + const agentsWithCounts = await Promise.all( + names.map(async (name) => { + let eventsCount = 0 + try { + const observables = await agentsApi.observables(name) + eventsCount = observables?.History?.length || 0 + } catch (_err) { + eventsCount = 0 + } + return { + name, + status: statuses[name] ? 'active' : 'paused', + eventsCount, + } + }) + ) + setAgents(agentsWithCounts) } catch (err) { addToast(`Failed to load agents: ${err.message}`, 'error') } finally { @@ -228,6 +243,7 @@ export default function Agents() { Name Status + Events Actions @@ -243,6 +259,15 @@ export default function Agents() { {statusBadge(agent.status)} + + navigate(`/agents/${encodeURIComponent(name)}/status`)} + title={`${agent.eventsCount} events - Click to view`} + > + {agent.eventsCount} + +
-