| import { parseConvo } from 'librechat-data-provider'; |
| import type { TPreset } from 'librechat-data-provider'; |
|
|
| type UIPreset = Partial<TPreset> & { presetOverride?: Partial<TPreset> }; |
| type TCleanupPreset = { |
| preset?: UIPreset; |
| }; |
|
|
| const cleanupPreset = ({ preset: _preset }: TCleanupPreset): TPreset => { |
| const { endpoint, endpointType } = _preset ?? ({} as UIPreset); |
| if (endpoint == null || endpoint === '') { |
| console.error(`Unknown endpoint ${endpoint}`, _preset); |
| return { |
| endpoint: null, |
| presetId: _preset?.presetId ?? null, |
| title: _preset?.title ?? 'New Preset', |
| }; |
| } |
|
|
| const { presetOverride = {}, ...rest } = _preset ?? {}; |
| const preset = { ...rest, ...presetOverride }; |
|
|
| |
| |
| |
| if (preset.chatGptLabel && preset.modelLabel) { |
| |
| delete preset.chatGptLabel; |
| } else if (preset.chatGptLabel && !preset.modelLabel) { |
| |
| preset.modelLabel = preset.chatGptLabel; |
| delete preset.chatGptLabel; |
| } else if ('chatGptLabel' in preset) { |
| |
| delete preset.chatGptLabel; |
| } |
|
|
| |
| const parsedPreset = parseConvo({ endpoint, endpointType, conversation: preset }); |
|
|
| return { |
| presetId: _preset?.presetId ?? null, |
| ...parsedPreset, |
| endpoint, |
| endpointType, |
| title: _preset?.title ?? 'New Preset', |
| } as TPreset; |
| }; |
|
|
| export default cleanupPreset; |
|
|