import { useMemo } from 'react'; import { getSettingsKeys } from 'librechat-data-provider'; import type { SettingDefinition } from 'librechat-data-provider'; import type { TModelSelectProps } from '~/common'; import { componentMapping } from '~/components/SidePanel/Parameters/components'; import { presetSettings } from 'librechat-data-provider'; export default function OpenAISettings({ conversation, setOption, models, readonly, }: TModelSelectProps) { const parameters = useMemo(() => { const [combinedKey, endpointKey] = getSettingsKeys( conversation?.endpointType ?? conversation?.endpoint ?? '', conversation?.model ?? '', ); return presetSettings[combinedKey] ?? presetSettings[endpointKey]; }, [conversation]); if (!parameters) { return null; } const renderComponent = (setting: SettingDefinition | undefined) => { if (!setting) { return null; } const Component = componentMapping[setting.component]; if (!Component) { return null; } const { key, default: defaultValue, ...rest } = setting; const props = { key, settingKey: key, defaultValue, ...rest, readonly, setOption, conversation, }; if (key === 'model') { return ; } return ; }; return (
{parameters.col1.map(renderComponent)}
{parameters.col2.map(renderComponent)}
); }