import Link from "next/link"; import { notFound } from "next/navigation"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { findAgentBySlug } from "@/lib/agents"; import { formatDateTime } from "@/lib/utils"; export const dynamic = "force-dynamic"; function familyVariant(family: string) { if (family === "zeroclaw") { return "success"; } if (family === "direct") { return "warning"; } return "default"; } function dispatchVariant(state: string) { return state === "failed" ? "warning" : state === "completed" ? "success" : "secondary"; } export default async function AgentDetailPage({ params, }: { params: Promise<{ slug: string }>; }) { const { slug } = await params; const agent = await findAgentBySlug(slug); if (!agent) { notFound(); } return (
{agent.role}
Channels
Tools
No parsed tools.
)}Capabilities
No parsed capabilities.
)}Active
{agent.activeTasks.length}
Completed
{agent.completedTasks.length}
Last Event
{agent.lastEvent ? ({agent.lastEvent.summary}
{agent.lastEvent.detail || "No detail captured."}
{formatDateTime(agent.lastEvent.created_at)}
No audit events recorded yet.
)}Notes
{task.title}
{task.description}
No active tasks assigned.
)}{task.title}
{task.result_summary ? ({task.result_summary}
) : ({task.description}
)}{formatDateTime(task.completed_at || task.updated_at)}
No recently completed tasks.
)}