import { useEffect, useMemo } from 'react'; import { Capabilities } from 'librechat-data-provider'; import { useFormContext, Controller, useWatch } from 'react-hook-form'; import { Checkbox, HoverCard, HoverCardContent, HoverCardPortal, HoverCardTrigger, } from '~/components/ui'; import OptionHover from '~/components/SidePanel/Parameters/OptionHover'; import { CircleHelpIcon } from '~/components/svg'; import type { AgentForm } from '~/common'; import { useLocalize } from '~/hooks'; import { ESide } from '~/common'; import { cn } from '~/utils/'; export default function Retrieval({ retrievalModels }: { retrievalModels: Set }) { const localize = useLocalize(); const methods = useFormContext(); const { control, setValue, getValues } = methods; const model = useWatch({ control, name: 'model' }); const isDisabled = useMemo(() => !retrievalModels.has(model), [model, retrievalModels]); useEffect(() => { if (model && isDisabled) { setValue(Capabilities.retrieval, false); } }, [model, setValue, isDisabled]); return ( <>
( )} />

{/* // TODO: Add description for file search */}

); }