mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-02-23 19:04:10 +01:00
🔀 refactor: Conditional Mapping Support for Multi-Convo (Parallel) Messages (#11180)
Some checks are pending
Docker Dev Branch Images Build / build (Dockerfile, lc-dev, node) (push) Waiting to run
Docker Dev Branch Images Build / build (Dockerfile.multi, lc-dev-api, api-build) (push) Waiting to run
Docker Dev Images Build / build (Dockerfile, librechat-dev, node) (push) Waiting to run
Docker Dev Images Build / build (Dockerfile.multi, librechat-dev-api, api-build) (push) Waiting to run
Sync Locize Translations & Create Translation PR / Sync Translation Keys with Locize (push) Waiting to run
Sync Locize Translations & Create Translation PR / Create Translation PR on Version Published (push) Blocked by required conditions
Some checks are pending
Docker Dev Branch Images Build / build (Dockerfile, lc-dev, node) (push) Waiting to run
Docker Dev Branch Images Build / build (Dockerfile.multi, lc-dev-api, api-build) (push) Waiting to run
Docker Dev Images Build / build (Dockerfile, librechat-dev, node) (push) Waiting to run
Docker Dev Images Build / build (Dockerfile.multi, librechat-dev-api, api-build) (push) Waiting to run
Sync Locize Translations & Create Translation PR / Sync Translation Keys with Locize (push) Waiting to run
Sync Locize Translations & Create Translation PR / Create Translation PR on Version Published (push) Blocked by required conditions
* refactor: message handling with addedConvo support - Introduced `addedConvo` property in message schema to track conversation additions. - Updated `BaseClient` to conditionally include `addedConvo` in saved messages based on request body. - Enhanced `AgentClient` to apply mapping logic for messages with the `addedConvo` flag, improving message processing. - Updated documentation to reflect new optional `mapCondition` parameter for message mapping functions, enhancing flexibility in message handling. * test: Add comprehensive tests for getMessagesForConversation method - Introduced a suite of tests for the `getMessagesForConversation` method in the `AgentClient` to validate mapping logic based on `mapMethod` and `mapCondition`. - Covered various scenarios including applying mapping to all messages, conditional mapping based on `addedConvo`, handling of empty messages, and preserving message order. - Ensured robust handling of edge cases such as null `mapMethod` and undefined `mapCondition`, enhancing overall test coverage and reliability of message processing.
This commit is contained in:
parent
b94388ce9d
commit
e452c1a8d9
5 changed files with 235 additions and 11 deletions
|
|
@ -140,6 +140,10 @@ const messageSchema: Schema<IMessage> = new Schema(
|
|||
expiredAt: {
|
||||
type: Date,
|
||||
},
|
||||
addedConvo: {
|
||||
type: Boolean,
|
||||
default: undefined,
|
||||
},
|
||||
},
|
||||
{ timestamps: true },
|
||||
);
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ export interface IMessage extends Document {
|
|||
content?: unknown[];
|
||||
thread_id?: string;
|
||||
iconURL?: string;
|
||||
addedConvo?: boolean;
|
||||
metadata?: Record<string, unknown>;
|
||||
attachments?: unknown[];
|
||||
expiredAt?: Date;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue