import { DataTable } from "@/src/components/table/data-table"; import { DataTableToolbar } from "@/src/components/table/data-table-toolbar"; import { type LangfuseColumnDef } from "@/src/components/table/types"; import { api } from "@/src/utils/api"; import { type BackgroundMigration } from "@langfuse/shared"; import { RetryBackgroundMigration } from "@/src/features/background-migrations/components/retry-background-migration"; import { StatusBadge } from "@/src/components/layouts/status-badge"; import Page from "@/src/components/layouts/page"; export default function BackgroundMigrationsTable() { const backgroundMigrations = api.backgroundMigrations.all.useQuery(); const columns = [ { accessorKey: "name", id: "name", enableColumnFilter: false, header: "Name", }, { accessorKey: "script", id: "script", enableColumnFilter: false, header: "Script", }, { accessorKey: "args", id: "args", enableColumnFilter: false, header: "Args", size: 80, cell: (row) => JSON.stringify(row.getValue()), }, { id: "status", header: "Status", size: 80, cell: (row) => { const failedAt = row.row.original.failedAt; if (failedAt) { return ; } const finishedAt = row.row.original.finishedAt; if (finishedAt) { return ; } const workerId = row.row.original.workerId; if (workerId) { return ; } return ; }, }, { accessorKey: "failedReason", id: "failedReason", enableColumnFilter: false, header: "Failed Reason", }, { accessorKey: "state", id: "state", enableColumnFilter: false, header: "State", cell: (row) => JSON.stringify(row.getValue()), }, { id: "actions", header: "Actions", size: 65, cell: (row) => { const name = row.row.original.name; const isRetryable = row.row.original.failedAt !== null; return ( ); }, }, ] as LangfuseColumnDef[]; return ( ); }