Only delete message if had successful tool calls

447a7fba68298cdae8becd82acb3b2f97dc785fd

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

1 files changed, +5 -5Ignore whitespace
public/script.js+5 -5
@@ -4417,11 +4417,11 @@ export async function Generate(type, { automatic_trigger, force_name2, quiet_pro
4417 }4417 }
44184418
4419 if (canPerformToolCalls && Array.isArray(streamingProcessor.toolCalls) && streamingProcessor.toolCalls.length) {4419 if (canPerformToolCalls && Array.isArray(streamingProcessor.toolCalls) && streamingProcessor.toolCalls.length) {
4420 const lastMessage = chat[chat.length - 1];
4421 const shouldDeleteMessage = ['', '...'].includes(lastMessage?.mes) && ['', '...'].includes(streamingProcessor.result);
4422 shouldDeleteMessage && await deleteLastMessage();
4423 const invocationResult = await ToolManager.invokeFunctionTools(streamingProcessor.toolCalls);4420 const invocationResult = await ToolManager.invokeFunctionTools(streamingProcessor.toolCalls);
4424 if (invocationResult.hadToolCalls) {4421 if (invocationResult.hadToolCalls) {
4422 const lastMessage = chat[chat.length - 1];
4423 const shouldDeleteMessage = ['', '...'].includes(lastMessage?.mes) && ['', '...'].includes(streamingProcessor.result);
4424 shouldDeleteMessage && await deleteLastMessage();
4425 if (!invocationResult.invocations.length && shouldDeleteMessage) {4425 if (!invocationResult.invocations.length && shouldDeleteMessage) {
4426 ToolManager.showToolCallError(invocationResult.errors);4426 ToolManager.showToolCallError(invocationResult.errors);
4427 unblockGeneration(type);4427 unblockGeneration(type);
@@ -4511,10 +4511,10 @@ export async function Generate(type, { automatic_trigger, force_name2, quiet_pro
4511 }4511 }
45124512
4513 if (canPerformToolCalls) {4513 if (canPerformToolCalls) {
4514 const shouldDeleteMessage = ['', '...'].includes(getMessage);
4515 shouldDeleteMessage && await deleteLastMessage();
4516 const invocationResult = await ToolManager.invokeFunctionTools(data);4514 const invocationResult = await ToolManager.invokeFunctionTools(data);
4517 if (invocationResult.hadToolCalls) {4515 if (invocationResult.hadToolCalls) {
4516 const shouldDeleteMessage = ['', '...'].includes(getMessage);
4517 shouldDeleteMessage && await deleteLastMessage();
4518 if (!invocationResult.invocations.length && shouldDeleteMessage) {4518 if (!invocationResult.invocations.length && shouldDeleteMessage) {
4519 ToolManager.showToolCallError(invocationResult.errors);4519 ToolManager.showToolCallError(invocationResult.errors);
4520 unblockGeneration(type);4520 unblockGeneration(type);