From 3aea2b02b7bc3089934d41eecf0dcd5fef974292 Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Tue, 16 Jul 2024 00:53:40 -0700 Subject: [PATCH] AIX: Reply-To ordered correctly --- src/modules/aix/client/aix.client.fromDMessages.api.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/modules/aix/client/aix.client.fromDMessages.api.ts b/src/modules/aix/client/aix.client.fromDMessages.api.ts index d7562c65a..96cbecb0d 100644 --- a/src/modules/aix/client/aix.client.fromDMessages.api.ts +++ b/src/modules/aix/client/aix.client.fromDMessages.api.ts @@ -78,9 +78,13 @@ export async function aixChatGenerateRequestFromDMessages(messageSequence: Reado return uMsg; }, Promise.resolve({ role: 'user', parts: [] } as AixMessages_UserMessage)); - // handle metadata on user messages - if (m.metadata?.inReplyToText) - aixChatMessageUser.parts.push(_clientCreateAixMetaReplyToPart(m.metadata.inReplyToText)); + // handle reply-to metadata, adding a part right after the user text (or at the beginning) + if (m.metadata?.inReplyToText) { + // find the index of the tast text part + const lastTextPartIndex = aixChatMessageUser.parts.findLastIndex(p => p.pt === 'text'); + // insert the meta part after the last text part (and before the first attachment) + aixChatMessageUser.parts.splice(lastTextPartIndex + 1, 0, _clientCreateAixMetaReplyToPart(m.metadata.inReplyToText)); + } acc.chatSequence.push(aixChatMessageUser);