mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 00:40:14 +01:00
♻️ fix: Correct Message ID Assignment Logic (#8439)
* fix: Add `isRegenerate` flag to chat payload to avoid saving temporary response IDs * fix: Remove unused `isResubmission` flag * ci: Add tests for responseMessageId regeneration logic in BaseClient
This commit is contained in:
parent
170cc340d8
commit
e370a87ebe
8 changed files with 61 additions and 15 deletions
|
|
@ -4,14 +4,15 @@ import * as s from './schemas';
|
|||
|
||||
export default function createPayload(submission: t.TSubmission) {
|
||||
const {
|
||||
conversation,
|
||||
userMessage,
|
||||
endpointOption,
|
||||
isEdited,
|
||||
userMessage,
|
||||
isContinued,
|
||||
isTemporary,
|
||||
ephemeralAgent,
|
||||
isRegenerate,
|
||||
conversation,
|
||||
editedContent,
|
||||
ephemeralAgent,
|
||||
endpointOption,
|
||||
} = submission;
|
||||
const { conversationId } = s.tConvoUpdateSchema.parse(conversation);
|
||||
const { endpoint: _e, endpointType } = endpointOption as {
|
||||
|
|
@ -31,11 +32,12 @@ export default function createPayload(submission: t.TSubmission) {
|
|||
...userMessage,
|
||||
...endpointOption,
|
||||
endpoint,
|
||||
ephemeralAgent: s.isAssistantsEndpoint(endpoint) ? undefined : ephemeralAgent,
|
||||
isContinued: !!(isEdited && isContinued),
|
||||
conversationId,
|
||||
isTemporary,
|
||||
isRegenerate,
|
||||
editedContent,
|
||||
conversationId,
|
||||
isContinued: !!(isEdited && isContinued),
|
||||
ephemeralAgent: s.isAssistantsEndpoint(endpoint) ? undefined : ephemeralAgent,
|
||||
};
|
||||
|
||||
return { server, payload };
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@ export type TEphemeralAgent = {
|
|||
export type TPayload = Partial<TMessage> &
|
||||
Partial<TEndpointOption> & {
|
||||
isContinued: boolean;
|
||||
isRegenerate?: boolean;
|
||||
conversationId: string | null;
|
||||
messages?: TMessages;
|
||||
isTemporary: boolean;
|
||||
|
|
@ -125,7 +126,6 @@ export type TSubmission = {
|
|||
isTemporary: boolean;
|
||||
messages: TMessage[];
|
||||
isRegenerate?: boolean;
|
||||
isResubmission?: boolean;
|
||||
initialResponse?: TMessage;
|
||||
conversation: Partial<TConversation>;
|
||||
endpointOption: TEndpointOption;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue