feat: Agent Health page with progressive filtering and GroupCard component
Add URL-driven Agent Health page (/agents, /agents/:appId, /agents/:appId/:instanceId) that progressively narrows from all applications to a single instance with trend charts. Create generic GroupCard composite for grouping instances by application. Expand mock data to 8 instances across 4 apps with varied states. Split sidebar Agents header into navigable link + collapse chevron. Update agent tree paths to /agents/:appId/:instanceId. Add EventFeed with lifecycle events. Change SidebarAgent.tps from string to number. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,7 @@ export interface SidebarAgent {
|
||||
id: string
|
||||
name: string
|
||||
status: 'live' | 'stale' | 'dead'
|
||||
tps: string
|
||||
tps: number
|
||||
}
|
||||
|
||||
export interface SidebarApp {
|
||||
@@ -31,8 +31,9 @@ export const SIDEBAR_APPS: SidebarApp[] = [
|
||||
{ id: 'order-enrichment', name: 'order-enrichment', exchangeCount: 541 },
|
||||
],
|
||||
agents: [
|
||||
{ id: 'prod-1', name: 'prod-1', status: 'live', tps: '14.2/s' },
|
||||
{ id: 'prod-2', name: 'prod-2', status: 'live', tps: '11.8/s' },
|
||||
{ id: 'ord-1', name: 'ord-1', status: 'live', tps: 14.2 },
|
||||
{ id: 'ord-2', name: 'ord-2', status: 'live', tps: 11.8 },
|
||||
{ id: 'ord-3', name: 'ord-3', status: 'live', tps: 8.4 },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -45,7 +46,8 @@ export const SIDEBAR_APPS: SidebarApp[] = [
|
||||
{ id: 'payment-validate', name: 'payment-validate', exchangeCount: 498 },
|
||||
],
|
||||
agents: [
|
||||
{ id: 'prod-2', name: 'prod-2', status: 'live', tps: '11.8/s' },
|
||||
{ id: 'pay-1', name: 'pay-1', status: 'live', tps: 9.7 },
|
||||
{ id: 'pay-2', name: 'pay-2', status: 'stale', tps: 0.3 },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -58,8 +60,8 @@ export const SIDEBAR_APPS: SidebarApp[] = [
|
||||
{ id: 'shipment-track', name: 'shipment-track', exchangeCount: 923 },
|
||||
],
|
||||
agents: [
|
||||
{ id: 'prod-3', name: 'prod-3', status: 'live', tps: '12.1/s' },
|
||||
{ id: 'prod-4', name: 'prod-4', status: 'live', tps: '9.1/s' },
|
||||
{ id: 'ship-1', name: 'ship-1', status: 'live', tps: 12.1 },
|
||||
{ id: 'ship-2', name: 'ship-2', status: 'live', tps: 9.1 },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -70,6 +72,8 @@ export const SIDEBAR_APPS: SidebarApp[] = [
|
||||
routes: [
|
||||
{ id: 'notification-dispatch', name: 'notification-dispatch', exchangeCount: 471 },
|
||||
],
|
||||
agents: [],
|
||||
agents: [
|
||||
{ id: 'notif-1', name: 'notif-1', status: 'dead', tps: 0 },
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user