import { useMemo } from 'react'; import { Capabilities } from 'librechat-data-provider'; import type { TConfig, AssistantsEndpoint } from 'librechat-data-provider'; import ImageVision from './ImageVision'; import { useLocalize } from '~/hooks'; import Retrieval from './Retrieval'; import Code from './Code'; export default function CapabilitiesForm({ version, endpoint, codeEnabled, retrievalEnabled, assistantsConfig, }: { version: number | string; codeEnabled?: boolean; retrievalEnabled?: boolean; endpoint: AssistantsEndpoint; assistantsConfig?: TConfig | null; }) { const localize = useLocalize(); const retrievalModels = useMemo( () => new Set(assistantsConfig?.retrievalModels ?? []), [assistantsConfig], ); const imageVisionEnabled = useMemo( () => assistantsConfig?.capabilities?.includes(Capabilities.image_vision), [assistantsConfig], ); return (
{codeEnabled && } {imageVisionEnabled && version == 1 && } {retrievalEnabled && ( )}
); }