import React from "react"; import { FormItem, FormLabel, FormMessage } from "@/src/components/ui/form"; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "@/src/components/ui/dialog"; import { TemplateSelector } from "@/src/features/evals/components/template-selector"; import { EvaluatorForm } from "@/src/features/evals/components/evaluator-form"; import { type EvaluatorsStepProps } from "@/src/features/experiments/types/stepProps"; import { StepHeader } from "@/src/features/experiments/components/shared/StepHeader"; export const EvaluatorsStep: React.FC = ({ projectId, datasetId, evaluatorState, permissions, }) => { const { evalTemplates, activeEvaluators, pausedEvaluators, selectedEvaluatorData, showEvaluatorForm, handleConfigureEvaluator, handleSelectEvaluator, handleCloseEvaluatorForm, handleEvaluatorSuccess, handleEvaluatorToggled, preprocessFormValues, } = evaluatorState; const { hasEvalReadAccess, hasEvalWriteAccess } = permissions; return (
Select Evaluators {hasEvalReadAccess && datasetId ? ( ) : (

{!hasEvalReadAccess ? "You don't have permission to manage evaluators" : "Please select a dataset first to configure evaluators"}

)}
{/* Dialog for configuring evaluators */} {selectedEvaluatorData && ( { if (!open) { handleCloseEvaluatorForm(); } }} > {selectedEvaluatorData.evaluator.id ? "Edit" : "Configure"}{" "} Evaluator )}
); };