Delete empty message before tool invocations

2dad86e0769f803f674995a3b15ca48369144c36

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +6 -8Ignore whitespace
public/script.js+6 -8
@@ -4409,14 +4409,12 @@ export async function Generate(type, { automatic_trigger, force_name2, quiet_pro
4409 }4409 }
44104410
4411 if (canPerformToolCalls && Array.isArray(streamingProcessor.toolCalls) && streamingProcessor.toolCalls.length) {4411 if (canPerformToolCalls && Array.isArray(streamingProcessor.toolCalls) && streamingProcessor.toolCalls.length) {
4412 const lastMessage = chat[chat.length - 1];
4413 const shouldDeleteMessage = ['', '...'].includes(lastMessage?.mes) && ['', '...'].includes(streamingProcessor.result);
4414 shouldDeleteMessage && await deleteLastMessage();
4412 const invocations = await ToolManager.invokeFunctionTools(streamingProcessor.toolCalls);4415 const invocations = await ToolManager.invokeFunctionTools(streamingProcessor.toolCalls);
4413 if (Array.isArray(invocations) && invocations.length) {4416 if (Array.isArray(invocations) && invocations.length) {
4414 const lastMessage = chat[chat.length - 1];4417 streamingProcessor = null;
4415 const shouldDeleteMessage = ['', '...'].includes(lastMessage?.mes) && ['', '...'].includes(streamingProcessor.result);
4416 if (shouldDeleteMessage) {
4417 await deleteLastMessage();
4418 streamingProcessor = null;
4419 }
4420 ToolManager.saveFunctionToolInvocations(invocations);4418 ToolManager.saveFunctionToolInvocations(invocations);
4421 return Generate(type, { automatic_trigger, force_name2, quiet_prompt, quietToLoud, skipWIAN, force_chid, signal, quietImage, quietName }, dryRun);4419 return Generate(type, { automatic_trigger, force_name2, quiet_prompt, quietToLoud, skipWIAN, force_chid, signal, quietImage, quietName }, dryRun);
4422 }4420 }
@@ -4497,10 +4495,10 @@ export async function Generate(type, { automatic_trigger, force_name2, quiet_pro
4497 }4495 }
44984496
4499 if (canPerformToolCalls) {4497 if (canPerformToolCalls) {
4498 const shouldDeleteMessage = ['', '...'].includes(getMessage);
4499 shouldDeleteMessage && await deleteLastMessage();
4500 const invocations = await ToolManager.invokeFunctionTools(data);4500 const invocations = await ToolManager.invokeFunctionTools(data);
4501 if (Array.isArray(invocations) && invocations.length) {4501 if (Array.isArray(invocations) && invocations.length) {
4502 const shouldDeleteMessage = ['', '...'].includes(getMessage);
4503 shouldDeleteMessage && await deleteLastMessage();
4504 ToolManager.saveFunctionToolInvocations(invocations);4502 ToolManager.saveFunctionToolInvocations(invocations);
4505 return Generate(type, { automatic_trigger, force_name2, quiet_prompt, quietToLoud, skipWIAN, force_chid, signal, quietImage, quietName }, dryRun);4503 return Generate(type, { automatic_trigger, force_name2, quiet_prompt, quietToLoud, skipWIAN, force_chid, signal, quietImage, quietName }, dryRun);
4506 }4504 }