+ {checks.map((check) => (
+
+
+ {check.healthy
+ ?
+ :
}
+
+ {check.serviceName}
+
+ {showSource && (check.packageName || check.componentId)
+ ? `${check.packageName || check.componentId} · `
+ : ''}
+ {check.subState || check.activeState || 'unknown'} · {check.unitFileState || 'unknown'}
+ {check.checkedAt ? ` · ${check.stale ? 'last checked' : 'checked'} ${formatTaskTime(check.checkedAt)}` : ''}
+
+
+
+
{serviceCheckLabel(check)}
+
+ ))}
+
+ );
+}
+
function AgentPanel({ health, systemInfo, status, title, endpoint, latestAgentPackage, needsUpdate, onClose, onCopyUpdate, showAgentActions }) {
const statusTone = needsUpdate
? 'warning'
@@ -1306,6 +1478,8 @@ function AgentPanel({ health, systemInfo, status, title, endpoint, latestAgentPa
function AppDetailPanel({ app, detail, manifest, status, packageBaseUrl }) {
const packages = detail?.packages || [];
const components = manifest?.components || [];
+ const installedServiceChecks = app?.installed?.serviceChecks || [];
+ const installedServiceStatus = app?.installed?.serviceCheckStatus || 'not-checked';
return (