























@@ -867,9 +867,21 @@ export async function handleToolExecutionEnd(
867867});
868868}
869869870-// Commit messaging tool text on success, discard on error.
870+// Commit messaging tool evidence on success, discard on error.
871871const pendingText = ctx.state.pendingMessagingTexts.get(toolCallId);
872872const pendingTarget = ctx.state.pendingMessagingTargets.get(toolCallId);
873+const pendingMediaUrls = ctx.state.pendingMessagingMediaUrls.get(toolCallId) ?? [];
874+const startArgs =
875+startData?.args && typeof startData.args === "object"
876+ ? (startData.args as Record<string, unknown>)
877+ : {};
878+const isMessagingSend =
879+pendingMediaUrls.length > 0 ||
880+(isMessagingTool(toolName) && isMessagingToolSendAction(toolName, startArgs));
881+const committedMediaUrls =
882+!isToolError && isMessagingSend
883+ ? [...pendingMediaUrls, ...collectMessagingMediaUrlsFromToolResult(result)]
884+ : [];
873885if (pendingText) {
874886ctx.state.pendingMessagingTexts.delete(toolCallId);
875887if (!isToolError) {
@@ -882,24 +894,16 @@ export async function handleToolExecutionEnd(
882894if (pendingTarget) {
883895ctx.state.pendingMessagingTargets.delete(toolCallId);
884896if (!isToolError) {
885-ctx.state.messagingToolSentTargets.push(pendingTarget);
897+ctx.state.messagingToolSentTargets.push({
898+ ...pendingTarget,
899+ ...(pendingText ? { text: pendingText } : {}),
900+ ...(committedMediaUrls.length > 0 ? { mediaUrls: committedMediaUrls.slice() } : {}),
901+});
886902ctx.trimMessagingToolSent();
887903}
888904}
889-const pendingMediaUrls = ctx.state.pendingMessagingMediaUrls.get(toolCallId) ?? [];
890905ctx.state.pendingMessagingMediaUrls.delete(toolCallId);
891-const startArgs =
892-startData?.args && typeof startData.args === "object"
893- ? (startData.args as Record<string, unknown>)
894- : {};
895-const isMessagingSend =
896-pendingMediaUrls.length > 0 ||
897-(isMessagingTool(toolName) && isMessagingToolSendAction(toolName, startArgs));
898906if (!isToolError && isMessagingSend) {
899-const committedMediaUrls = [
900- ...pendingMediaUrls,
901- ...collectMessagingMediaUrlsFromToolResult(result),
902-];
903907if (committedMediaUrls.length > 0) {
904908ctx.state.messagingToolSentMediaUrls.push(...committedMediaUrls);
905909ctx.trimMessagingToolSent();
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。