"use client"; import { useState } from "react"; import { useScopeEffect } from "@/lib/company-scope"; import { CompanyNameTag } from "@/components/shared/CompanyNameTag"; import { listAgentExecutions, reviewAgentExecution } from "@/lib/api-v2"; import { PageContainer, Badge} from "@/components/shared/PageContainer"; import { LoadingSpinner } from "@/components/shared/LoadingSpinner"; import { EmptyState } from "@/components/shared/EmptyState"; import { toast } from "sonner"; /** Agent 执行记录项。 */ interface AgentExecution { id: string; company_id?: string; agent_name: string; autonomy_level: string; output_summary: string; duration_ms?: number; review_status: string; } export default function AgentsPage() { const [items, setItems] = useState([]); const [isLoading, setIsLoading] = useState(true); const load = () => { listAgentExecutions() .then((resp) => setItems((resp.data as AgentExecution[]) ?? [])) .catch(() => setItems([])) .finally(() => setIsLoading(false)); }; useScopeEffect(() => { load(); }); const handleReview = async (id: string, status: string) => { try { await reviewAgentExecution(id, status); toast.success("审核完成"); load(); } catch { toast.error("审核失败"); } }; return ( {isLoading ? ( ) : items.length === 0 ? ( ) : (
{items.map((item, i) => ( ))}
企业 Agent 自治级别 输出摘要 耗时 审核状态 操作
{item.agent_name} {item.autonomy_level} {item.output_summary} {item.duration_ms ? `${item.duration_ms}ms` : "-"} {item.review_status} {item.review_status === "pending" && (
)}
)}
); }