Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions web/oss/src/components/EvalRunDetails/Table.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,21 @@ import {useCallback, useEffect, useMemo, useRef} from "react"

import type {RunSchema} from "@agenta/entities/evaluationRun/etl"
import {message} from "@agenta/ui/app-message"
import clsx from "clsx"
import {useAtomValue, useSetAtom, useStore} from "jotai"

import VirtualizedScenarioTableAnnotateDrawer from "@/oss/components/EvalRunDetails/components/AnnotateDrawer/VirtualizedScenarioTableAnnotateDrawer"
import {
EXPORT_RESOLVE_SKIP,
InfiniteVirtualTableFeatureShell,
type ColumnVisibilityMenuRendererContext,
type ColumnVisibilityState,
type TableExportColumnContext,
type TableFeaturePagination,
type TableScopeConfig,
useInfiniteTablePagination,
} from "@/oss/components/InfiniteVirtualTable"
import {
EXPORT_RESOLVE_SKIP,
type TableExportColumnContext,
} from "@/oss/components/InfiniteVirtualTable/hooks/useTableExport"
} from "@agenta/ui/table"
import clsx from "clsx"
import {useAtomValue, useSetAtom, useStore} from "jotai"

import VirtualizedScenarioTableAnnotateDrawer from "@/oss/components/EvalRunDetails/components/AnnotateDrawer/VirtualizedScenarioTableAnnotateDrawer"
import {useProjectPermissions} from "@/oss/hooks/useProjectPermissions"

import useComparisonPaginations from "../EvalRunDetails2/hooks/useComparisonPaginations"
import useComparisonSchemas from "../EvalRunDetails2/hooks/useComparisonSchemas"
Expand Down Expand Up @@ -73,6 +72,7 @@ const EvalRunDetailsTable = ({
const runDisplayName = useAtomValue(runDisplayNameAtom)
const rowHeightMenuItems = useRowHeightMenuItems()
const store = useStore()
const {canExportData} = useProjectPermissions()

const basePagination = useInfiniteTablePagination({
store: evaluationPreviewTableStore,
Expand Down Expand Up @@ -1073,6 +1073,7 @@ const EvalRunDetailsTable = ({
/>
)}
pagination={paginationForShell}
enableExport={canExportData}
exportOptions={exportOptions}
tableProps={{
rowClassName: (record) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,9 @@ import {
useTestcaseDrawerNavigation,
type TestcaseDrawerContentRenderProps,
} from "@agenta/entity-ui/testcase"
import {useInfiniteTablePagination, type InfiniteTableStore} from "@agenta/ui/table"
import {useAtomValue, useSetAtom} from "jotai"

import {
useInfiniteTablePagination,
type InfiniteTableStore,
} from "@/oss/components/InfiniteVirtualTable"

import {scenarioStepsQueryFamily} from "../../atoms/scenarioSteps"
import {
scenarioTestcaseEntityAtomFamily,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import {memo, useCallback, useEffect, useMemo} from "react"

import {CopyTooltip as TooltipWithCopyAction} from "@agenta/ui/copy-tooltip"
import {useInfiniteTablePagination} from "@agenta/ui/table"
import {CaretDownIcon, CaretUpIcon} from "@phosphor-icons/react"
import {Button, Select, SelectProps, Tag, Typography} from "antd"
import {useAtomValue} from "jotai"

import {useInfiniteTablePagination} from "@/oss/components/InfiniteVirtualTable"

import {evaluationPreviewTableStore} from "../evaluationPreviewTableStore"
import {previewEvalTypeAtom} from "../state/evalType"
import {focusScenarioAtom} from "../state/focusDrawerAtom"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import {memo, useCallback, useMemo, useState} from "react"
import type {ReactNode} from "react"

import {useInfiniteTablePagination} from "@agenta/ui/table"
import {TreeStructure, Download, Sparkle, Speedometer} from "@phosphor-icons/react"
import {Skeleton} from "antd"
import {useAtomValue} from "jotai"

import CustomTreeComponent from "@/oss/components/CustomUIs/CustomTreeComponent"
import {useInfiniteTablePagination} from "@/oss/components/InfiniteVirtualTable"

import {evaluationPreviewTableStore} from "../evaluationPreviewTableStore"
import usePreviewTableData from "../hooks/usePreviewTableData"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import {useMemo, useCallback, useEffect, useRef} from "react"

import {
ColumnVisibilityPopoverContentBase,
type ColumnTreeNode,
type ColumnVisibilityNodeMeta,
type ColumnVisibilityState,
} from "@agenta/ui/table"
import {Typography} from "antd"

import type {ColumnTreeNode, ColumnVisibilityState} from "@/oss/components/InfiniteVirtualTable"
import ColumnVisibilityPopoverContentBase, {
type ColumnVisibilityNodeMeta,
} from "@/oss/components/InfiniteVirtualTable/components/columnVisibility/ColumnVisibilityPopoverContent"
import {humanizeMetricPath} from "@/oss/lib/evaluations/utils/metrics"

import {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import {memo, useCallback, useEffect, useMemo} from "react"

import {useInfiniteTablePagination} from "@agenta/ui/table"
import {LeftOutlined, RightOutlined} from "@ant-design/icons"
import {Button, Select, SelectProps, Tag, Typography} from "antd"

import {useInfiniteTablePagination} from "@/oss/components/InfiniteVirtualTable"

import {evaluationPreviewTableStore} from "../../../evaluationPreviewTableStore"

interface ScenarioNavigatorProps {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import {memo, useCallback, useEffect, useMemo, useRef} from "react"

import {useInfiniteTablePagination} from "@agenta/ui/table"
import {Card, Tag, Typography} from "antd"
import {useAtom, useAtomValue, useSetAtom} from "jotai"
import dynamic from "next/dynamic"
import {useRouter} from "next/router"

import {useInfiniteTablePagination} from "@/oss/components/InfiniteVirtualTable"

import {scenarioAnnotationsQueryAtomFamily} from "../../../atoms/annotations"
import {runningInvocationsAtom, triggerRunInvocationAtom} from "../../../atoms/runInvocationAction"
import {scenarioStepsQueryFamily} from "../../../atoms/scenarioSteps"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import type {Key} from "react"

import {atom, useAtom} from "jotai"
import {atomFamily} from "jotai/utils"

import {
createInfiniteTableStore,
useInfiniteTablePagination,
} from "@/oss/components/InfiniteVirtualTable"
import type {InfiniteDatasetStore} from "@/oss/components/InfiniteVirtualTable/createInfiniteDatasetStore"
type InfiniteDatasetStore,
} from "@agenta/ui/table"
import {atom, useAtom} from "jotai"
import {atomFamily} from "jotai/utils"

import {effectiveProjectIdAtom} from "./atoms/run"
import type {WindowingState, EvaluationScenarioRow} from "./atoms/table"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {useCallback, useEffect, useState} from "react"

import {useVirtualTableScrollContainer} from "@/oss/components/InfiniteVirtualTable"
import {useVirtualTableScrollContainer} from "@agenta/ui/table"

// Fixed buffer values - no need for dynamic calculation per cell
// These provide generous lookahead for smooth scrolling
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import {useEffect, useMemo, useCallback, useRef} from "react"
import type {ReactNode} from "react"

import {
ColumnVisibilityMenuTrigger,
type ColumnTreeNode,
type ColumnVisibilityNodeMeta,
} from "@agenta/ui/table"
import {Typography} from "antd"

import type {ColumnTreeNode} from "@/oss/components/InfiniteVirtualTable"
import ColumnVisibilityMenuTrigger, {
type ColumnVisibilityNodeMeta,
} from "@/oss/components/InfiniteVirtualTable/components/columnVisibility/ColumnVisibilityMenuTrigger"
import {humanizeMetricPath} from "@/oss/lib/evaluations/utils/metrics"

import {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
import React from "react"

import {ColumnVisibilityHeader, type ExtendedColumn as ExtendedColumnType} from "@agenta/ui/table"
import {Tooltip} from "antd"
import type {ColumnsType, ColumnType} from "antd/es/table"
import clsx from "clsx"

import {ColumnVisibilityHeader} from "@/oss/components/InfiniteVirtualTable"
import type {ExtendedColumnType} from "@/oss/components/InfiniteVirtualTable"

import type {
EvaluationTableColumn,
EvaluationTableColumnGroup,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {hasResolvableSubject, isSubjectRun} from "@agenta/entities/evaluationRun/etl"
import type {WindowingState} from "@agenta/ui/table"

import type {WindowingState} from "@/oss/components/InfiniteVirtualTable/types"
import {deriveEvaluationKind} from "@/oss/lib/evaluations/utils/evaluationKind"

import type {QueryWindowingPayload} from "../../../services/onlineEvaluations/api"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import {createInfiniteDatasetStore} from "@agenta/ui/table"
import type {WindowingState} from "@agenta/ui/table"
import {atom} from "jotai"
import type {PrimitiveAtom} from "jotai"
import {atomFamily} from "jotai/utils"
import {atomWithStorage} from "jotai/vanilla/utils"

import {createInfiniteDatasetStore} from "@/oss/components/InfiniteVirtualTable"
import type {WindowingState} from "@/oss/components/InfiniteVirtualTable/types"

import type {
EvaluationRunApiRow,
EvaluationRunTableRow,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
import type {Key, ReactNode} from "react"
import {useCallback, useEffect, useMemo, useRef, useState} from "react"

import {
InfiniteVirtualTableFeatureShell,
useTableExport,
EXPORT_RESOLVE_SKIP,
type TableFeaturePagination,
type TableScopeConfig,
type TableExportColumnContext,
} from "@agenta/ui/table"
import {useQueryClient} from "@tanstack/react-query"
import {Grid} from "antd"
import type {TableProps} from "antd/es/table"
Expand All @@ -12,15 +20,6 @@ import {useRouter} from "next/router"
import type {DeleteEvaluationKind} from "@/oss/components/DeleteEvaluationModal/types"
import {activePreviewProjectIdAtom} from "@/oss/components/EvalRunDetails/atoms/run"
import {clearAllMetricStatsCaches} from "@/oss/components/EvalRunDetails/atoms/runMetrics"
import {
InfiniteVirtualTableFeatureShell,
type TableFeaturePagination,
type TableScopeConfig,
} from "@/oss/components/InfiniteVirtualTable"
import useTableExport, {
EXPORT_RESOLVE_SKIP,
type TableExportColumnContext,
} from "@/oss/components/InfiniteVirtualTable/hooks/useTableExport"
import EmptyStateAllEvaluations from "@/oss/components/pages/evaluations/allEvaluations/EmptyStateAllEvaluations"
import EmptyStateEvaluation from "@/oss/components/pages/evaluations/autoEvaluation/EmptyStateEvaluation"
import EmptyStateHumanEvaluation from "@/oss/components/pages/evaluations/humanEvaluation/EmptyStateHumanEvaluation"
Expand Down Expand Up @@ -772,6 +771,7 @@ const EvaluationRunsTableActive = ({
primaryActions={createButton}
deleteAction={deleteAction}
exportAction={exportAction}
enableExport={canExportData}
autoHeight={autoHeight}
rowHeight={ROW_HEIGHT}
fallbackControlsHeight={fallbackControlsHeight}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type {TableTabsConfig} from "@/oss/components/InfiniteVirtualTable"
import type {TableTabsConfig} from "@agenta/ui/table"

import {type EvaluationRunKind} from "../../types"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import {useCallback, useMemo} from "react"

import {Typography} from "antd"
import {LOW_PRIORITY, useAtomValueWithSchedule} from "jotai-scheduler"

import {
ColumnVisibilityPopoverContentBase,
type ColumnVisibilityState,
type ColumnTreeNode,
} from "@/oss/components/InfiniteVirtualTable"
import ColumnVisibilityPopoverContentBase, {
type ColumnVisibilityNodeMeta,
} from "@/oss/components/InfiniteVirtualTable/components/columnVisibility/ColumnVisibilityPopoverContent"
} from "@agenta/ui/table"
import {Typography} from "antd"
import {LOW_PRIORITY, useAtomValueWithSchedule} from "jotai-scheduler"

import {
getEvaluatorMetricBlueprintAtom,
type EvaluatorMetricGroupBlueprint,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import {MouseEvent, useMemo, useState, useCallback} from "react"

import {FiltersPopoverTrigger} from "@agenta/ui/table"
import {Input, Tag, Tooltip, Typography, type PopoverProps} from "antd"
import clsx from "clsx"
import {atom, useAtom, useAtomValue, useSetAtom} from "jotai"

import {FiltersPopoverTrigger} from "@/oss/components/InfiniteVirtualTable"
import {
getReferenceToneColors,
type ReferenceTone,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import {useCallback, useEffect, useMemo, useRef, useState} from "react"

import {
ColumnVisibilityMenuTrigger,
createColumnVisibilityAwareCell,
createComponentCell,
createTableColumns,
type TableColumnConfig,
} from "@agenta/ui/table"
import type {ColumnsType} from "antd/es/table"
import {useAtomValue, useSetAtom} from "jotai"

import {
INVOCATION_METRIC_KEYS,
INVOCATION_METRIC_LABELS,
} from "@/oss/components/EvalRunDetails/components/views/OverviewView/constants"
import {
ColumnVisibilityMenuTrigger,
createColumnVisibilityAwareCell,
createComponentCell,
createTableColumns,
} from "@/oss/components/InfiniteVirtualTable"
import type {TableColumnConfig} from "@/oss/components/InfiniteVirtualTable/columns/types"
import {getEvaluatorMetricBlueprintAtom} from "@/oss/components/References/atoms/metricBlueprint"
import {PreviewCreatedByCell} from "@/oss/components/References/cells/CreatedByCells"
import {humanizeEvaluatorName, humanizeMetricPath} from "@/oss/lib/evaluations/utils/metrics"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import type {ReactNode} from "react"

import {ColumnVisibilityHeader} from "@/oss/components/InfiniteVirtualTable"
import {ColumnVisibilityHeader} from "@agenta/ui/table"

import {deriveEvaluationKind} from "@/oss/lib/evaluations/utils/evaluationKind"
import {humanizeMetricPath} from "@/oss/lib/evaluations/utils/metrics"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import {useMemo} from "react"

import {getColumnViewportVisibilityAtom} from "@agenta/ui/table"
import {atom} from "jotai"
import {LOW_PRIORITY, useAtomValueWithSchedule} from "jotai-scheduler"

import {getColumnViewportVisibilityAtom} from "@/oss/components/InfiniteVirtualTable/atoms/columnVisibility"
import {evaluatorReferenceAtomFamily} from "@/oss/components/References/atoms/entityReferences"
import type {EvaluatorReference} from "@/oss/components/References/atoms/entityReferences"

Expand Down
4 changes: 2 additions & 2 deletions web/oss/src/components/EvaluationRunsTablePOC/types.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type {EvaluationRun} from "@agenta/entities/evaluationRun"
import type {InfiniteTableRowBase} from "@agenta/ui/table"
import type {WindowingState} from "@agenta/ui/table"

import type {InfiniteTableRowBase} from "@/oss/components/InfiniteVirtualTable/types"
import type {WindowingState} from "@/oss/components/InfiniteVirtualTable/types"
import type {SnakeToCamelCaseKeys} from "@/oss/lib/Types"

// The original `@/oss/state/evaluations/legacyAtoms` module no longer exists, and `legacy`
Expand Down
Loading
Loading