import { useTranslation } from "react-i18next"; import { FileCode2 } from "lucide-react"; import { EmptyState } from "@/components/shared/EmptyState"; import { LoadingSpinner } from "@/components/shared/LoadingSpinner"; import { StatusBadge } from "@/components/shared/StatusBadge"; import { formatDateTime } from "@/lib/utils"; import type { AgentVersion } from "@/types"; export function AgentVersions({ versions, loading }: { versions: AgentVersion[]; loading: boolean }) { const { t } = useTranslation(); if (loading) return ; if (!versions.length) return ; const sorted = [...versions].sort((a, b) => b.version_no - a.version_no); return (
{sorted.map((version) => (

v{version.version_no}

{version.goal ?? t("agents.noDescription")}

{formatDateTime(version.created_time)}

{t("agents.role")}

{version.role}

{t("agents.model")}

{stringifyConfigValue(version.model_config_json.model) ?? t("agents.noDescription")}

{t("agents.published")}

{version.published_time ? formatDateTime(version.published_time) : t("agents.notPublished")}

))}
); } function stringifyConfigValue(value: unknown) { if (typeof value === "string") return value; if (typeof value === "number" || typeof value === "boolean") return String(value); return undefined; }