mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-03-13 19:36:16 +01:00
Merge branch 'main' into Speech-to-Text
This commit is contained in:
commit
fd23679e37
7 changed files with 14 additions and 10 deletions
4
.github/workflows/backend-review.yml
vendored
4
.github/workflows/backend-review.yml
vendored
|
|
@ -23,10 +23,10 @@ jobs:
|
||||||
CREDS_IV: ${{ secrets.CREDS_IV }}
|
CREDS_IV: ${{ secrets.CREDS_IV }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Use Node.js 19.x
|
- name: Use Node.js 20.x
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 19.x
|
node-version: 20
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
|
|
||||||
4
.github/workflows/frontend-review.yml
vendored
4
.github/workflows/frontend-review.yml
vendored
|
|
@ -18,10 +18,10 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Use Node.js 19.x
|
- name: Use Node.js 20.x
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 19.x
|
node-version: 20
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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}
|
||||||
|
|
|
||||||
|
|
@ -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),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue