page.tsx 878 B

12345678910111213141516171819202122232425
  1. import { AgentsDashboard } from "@/components/agents/agents-dashboard";
  2. import { loadAgentFeed } from "@/lib/agent-monitor";
  3. import { AgentStatus } from "@/types/agent";
  4. type AgentsPageProps = {
  5. searchParams?: Promise<{
  6. status?: string;
  7. }>;
  8. };
  9. function isAgentStatus(value: string | undefined): value is AgentStatus {
  10. return value === "working" || value === "idle" || value === "warning" || value === "offline";
  11. }
  12. export default async function AgentsPage({ searchParams }: AgentsPageProps) {
  13. const resolvedSearchParams = searchParams ? await searchParams : undefined;
  14. const activeStatus = isAgentStatus(resolvedSearchParams?.status) ? resolvedSearchParams.status : "all";
  15. const feed = await loadAgentFeed(activeStatus);
  16. return (
  17. <main className="page-shell">
  18. <AgentsDashboard initialFeed={feed} initialStatus={activeStatus} />
  19. </main>
  20. );
  21. }