openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
26 lines (25 loc) • 1.4 kB
JavaScript
import { a as isInternalMessageChannel } from "./message-channel-AvA3r_Xp.mjs";
import { t as createOutboundPayloadPlan } from "./payloads-k3x9706z.mjs";
import { t as createAssistantCommentaryMediaCustody } from "./chat-send-commentary-media-DRT1NIRD.mjs";
//#region src/gateway/agent-turn/agent-run-media-custody.ts
/** Keep final payload media under the same Gateway run that owns its progress media. */
function createAgentRunMediaCustody(params) {
const { options } = params;
const commentary = createAssistantCommentaryMediaCustody(params);
const finalize = async (reply) => {
if (!reply || params.incognito || options.privateCompletion || options.sessionEffects === "internal" || options.deliver === true || options.internalDeliveryMediaUrls !== void 0 || !isInternalMessageChannel(options.channel ?? options.messageChannel)) return;
const plan = createOutboundPayloadPlan(reply.payloads).filter(({ payload }) => payload.sensitiveMedia !== true);
if (!plan.some(({ parts }) => parts.mediaUrls.length > 0)) return;
const { finalizeAgentRunMedia } = await import("./agent-run-final-media-C8hsbMVk.mjs");
await finalizeAgentRunMedia(params, reply, plan);
};
return {
run(operation) {
return commentary.run(operation);
},
prepareAssistantTranscriptMessage: commentary.prepareAssistantTranscriptMessage,
finalize
};
}
//#endregion
export { createAgentRunMediaCustody };