🔉 feat: TTS/STT rate limiters (#2925)

* fix: remove double initialization of speech routes

* refactor(useMessageHelpers): more consistent latestMessage updates based on unique textKey and early returns when setting

* feat: TTS/STT rate limiters

* chore: remove console log

* fix: make modular chat true by default
This commit is contained in:
Danny Avila 2024-05-30 18:39:21 -04:00 committed by GitHub
parent 08d6bea359
commit 8318f26d66
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 265 additions and 35 deletions

View file

@ -5,6 +5,7 @@ export * from './latex';
export * from './convos';
export * from './presets';
export * from './textarea';
export * from './messages';
export * from './languages';
export * from './endpoints';
export * from './sharedLink';

View file

@ -0,0 +1,26 @@
import { ContentTypes } from 'librechat-data-provider';
import type { TMessage } from 'librechat-data-provider';
export const getLengthAndFirstFiveChars = (str?: string) => {
const length = str ? str.length : 0;
const firstFiveChars = str ? str.substring(0, 5) : '';
return `${length}${firstFiveChars}`;
};
export const getLatestText = (message?: TMessage | null) => {
if (!message) {
return '';
}
if (message.text) {
return message.text;
}
if (message.content?.length) {
for (let i = message.content.length - 1; i >= 0; i--) {
const part = message.content[i];
if (part.type === ContentTypes.TEXT && part[ContentTypes.TEXT]?.value?.length > 0) {
return part[ContentTypes.TEXT].value;
}
}
}
return '';
};