fix: strict typescript issue, plugins localStorage, both causing App Errors (#765)

* fix(Enum): cannot be used as a value when imported as type

* hotfix(types): corrected types, some causing application error (bing null model)

* hotfix(Plugins): fix undefined localStorage item causing Application error
This commit is contained in:
Danny Avila 2023-08-06 11:26:37 -04:00 committed by GitHub
parent 06a7fba39b
commit 92f87b8dcc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 10 additions and 6 deletions

View file

@ -3,7 +3,7 @@ import { useEffect } from 'react';
import filenamify from 'filenamify'; import filenamify from 'filenamify';
import exportFromJSON from 'export-from-json'; import exportFromJSON from 'export-from-json';
import { useSetRecoilState, useRecoilState, useRecoilValue } from 'recoil'; import { useSetRecoilState, useRecoilState, useRecoilValue } from 'recoil';
import { EditPresetProps } from 'librechat-data-provider'; import { TEditPresetProps } from '~/common';
import { useSetOptions, useLocalize } from '~/hooks'; import { useSetOptions, useLocalize } from '~/hooks';
import { Input, Label, Dropdown, Dialog, DialogClose, DialogButton } from '~/components/'; import { Input, Label, Dropdown, Dialog, DialogClose, DialogButton } from '~/components/';
import DialogTemplate from '~/components/ui/DialogTemplate'; import DialogTemplate from '~/components/ui/DialogTemplate';
@ -12,7 +12,7 @@ import EndpointSettings from './EndpointSettings';
import { cn, defaultTextProps, removeFocusOutlines, cleanupPreset } from '~/utils/'; import { cn, defaultTextProps, removeFocusOutlines, cleanupPreset } from '~/utils/';
import store from '~/store'; import store from '~/store';
const EditPresetDialog = ({ open, onOpenChange, preset: _preset, title }: EditPresetProps) => { const EditPresetDialog = ({ open, onOpenChange, preset: _preset, title }: TEditPresetProps) => {
const [preset, setPreset] = useRecoilState(store.preset); const [preset, setPreset] = useRecoilState(store.preset);
const setPresets = useSetRecoilState(store.presets); const setPresets = useSetRecoilState(store.presets);
const availableEndpoints = useRecoilValue(store.availableEndpoints); const availableEndpoints = useRecoilValue(store.availableEndpoints);

View file

@ -75,7 +75,7 @@ export default function Settings({ conversation, setOption, models, readonly }:
<Slider <Slider
disabled={readonly} disabled={readonly}
value={[temperature ?? 0]} value={[temperature ?? 0]}
onValueChange={(value) => setTemperature(value[0])} onValueChange={(value: number[]) => setTemperature(value[0])}
doubleClickHandler={() => setTemperature(1)} doubleClickHandler={() => setTemperature(1)}
max={2} max={2}
min={0} min={0}

View file

@ -51,7 +51,11 @@ export default function Plugins({ conversation, setOption, models }: TModelSelec
.filter((el): el is TPlugin => el !== undefined); .filter((el): el is TPlugin => el !== undefined);
/* Filter Last Selected Tools */ /* Filter Last Selected Tools */
const lastSelectedTools = JSON.parse(localStorage.getItem('lastSelectedTools') ?? ''); const localStorageItem = localStorage.getItem('lastSelectedTools');
if (!localStorageItem) {
return setAvailableTools([...tools, pluginStore]);
}
const lastSelectedTools = JSON.parse(localStorageItem);
const filteredTools = lastSelectedTools.filter((tool: TPlugin) => const filteredTools = lastSelectedTools.filter((tool: TPlugin) =>
tools.some((existingTool) => existingTool.pluginKey === tool.pluginKey), tools.some((existingTool) => existingTool.pluginKey === tool.pluginKey),
); );

View file

@ -91,7 +91,7 @@ const usePresetOptions: TUsePresetOptions = (_preset) => {
); );
}; };
const setAgentOption: SetOption = (param) => (newValue) => { const setAgentOption: TSetOption = (param) => (newValue) => {
const editablePreset = JSON.parse(JSON.stringify(_preset)); const editablePreset = JSON.parse(JSON.stringify(_preset));
const { agentOptions } = editablePreset; const { agentOptions } = editablePreset;
agentOptions[param] = newValue; agentOptions[param] = newValue;

View file

@ -81,7 +81,7 @@ export const tConversationSchema = z.object({
examples: z.array(tExampleSchema).optional(), examples: z.array(tExampleSchema).optional(),
chatGptLabel: z.string().nullable().optional(), chatGptLabel: z.string().nullable().optional(),
userLabel: z.string().optional(), userLabel: z.string().optional(),
model: z.string().optional(), model: z.string().nullable().optional(),
promptPrefix: z.string().nullable().optional(), promptPrefix: z.string().nullable().optional(),
temperature: z.number().optional(), temperature: z.number().optional(),
topP: z.number().optional(), topP: z.number().optional(),