|
@@ -1979,9 +1979,35 @@
|
|
|
{mergeResponses}
|
|
|
{chatActionHandler}
|
|
|
bottomPadding={files.length > 0}
|
|
|
- on:submit={(e) => {
|
|
|
+ on:submit={async (e) => {
|
|
|
if (e.detail) {
|
|
|
- submitPrompt(e.detail);
|
|
|
+ // New user message
|
|
|
+ let userPrompt = e.detail.prompt;
|
|
|
+ let userMessageId = uuidv4();
|
|
|
+
|
|
|
+ let userMessage = {
|
|
|
+ id: userMessageId,
|
|
|
+ parentId: e.detail.parentId,
|
|
|
+ childrenIds: [],
|
|
|
+ role: 'user',
|
|
|
+ content: userPrompt,
|
|
|
+ models: selectedModels
|
|
|
+ };
|
|
|
+
|
|
|
+ let messageParentId = e.detail.parentId;
|
|
|
+
|
|
|
+ if (messageParentId !== null) {
|
|
|
+ history.messages[messageParentId].childrenIds = [
|
|
|
+ ...history.messages[messageParentId].childrenIds,
|
|
|
+ userMessageId
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ history.messages[userMessageId] = userMessage;
|
|
|
+ history.currentId = userMessageId;
|
|
|
+
|
|
|
+ await tick();
|
|
|
+ await sendPrompt(userPrompt, userMessageId);
|
|
|
}
|
|
|
}}
|
|
|
/>
|
|
@@ -2045,9 +2071,33 @@
|
|
|
{createMessagePair}
|
|
|
on:submit={async (e) => {
|
|
|
if (e.detail) {
|
|
|
- prompt = '';
|
|
|
+ // New user message
|
|
|
+ let userPrompt = e.detail.prompt;
|
|
|
+ let userMessageId = uuidv4();
|
|
|
+
|
|
|
+ let userMessage = {
|
|
|
+ id: userMessageId,
|
|
|
+ parentId: e.detail.parentId,
|
|
|
+ childrenIds: [],
|
|
|
+ role: 'user',
|
|
|
+ content: userPrompt,
|
|
|
+ models: selectedModels
|
|
|
+ };
|
|
|
+
|
|
|
+ let messageParentId = e.detail.parentId;
|
|
|
+
|
|
|
+ if (messageParentId !== null) {
|
|
|
+ history.messages[messageParentId].childrenIds = [
|
|
|
+ ...history.messages[messageParentId].childrenIds,
|
|
|
+ userMessageId
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ history.messages[userMessageId] = userMessage;
|
|
|
+ history.currentId = userMessageId;
|
|
|
+
|
|
|
await tick();
|
|
|
- submitPrompt(e.detail);
|
|
|
+ await sendPrompt(userPrompt, userMessageId);
|
|
|
}
|
|
|
}}
|
|
|
/>
|