@@ -12,7 +12,7 @@ import {
1212 applyReplyThreading ,
1313 filterMessagingToolDuplicates ,
1414 filterMessagingToolMediaDuplicates ,
15- shouldSuppressMessagingToolReplies ,
15+ resolveMessagingToolPayloadDedupe ,
1616} from "./reply-payloads.js" ;
1717import { resolveReplyToMode } from "./reply-threading.js" ;
1818
@@ -35,10 +35,11 @@ export function resolveFollowupDeliveryPayloads(params: {
3535 sentTargets ?: MessagingToolSend [ ] ;
3636 sentTexts ?: string [ ] ;
3737} ) : ReplyPayload [ ] {
38- const replyToChannel = resolveOriginMessageProvider ( {
38+ const replyMessageProvider = resolveOriginMessageProvider ( {
3939 originatingChannel : params . originatingChannel ,
4040 provider : params . messageProvider ,
41- } ) as OriginatingChannelType | undefined ;
41+ } ) ;
42+ const replyToChannel = replyMessageProvider as OriginatingChannelType | undefined ;
4243 const replyToMode = resolveReplyToMode (
4344 params . cfg ,
4445 replyToChannel ,
@@ -62,16 +63,8 @@ export function resolveFollowupDeliveryPayloads(params: {
6263 replyToMode,
6364 replyToChannel,
6465 } ) ;
65- const dedupedPayloads = filterMessagingToolDuplicates ( {
66- payloads : replyTaggedPayloads ,
67- sentTexts : params . sentTexts ?? [ ] ,
68- } ) ;
69- const mediaFilteredPayloads = filterMessagingToolMediaDuplicates ( {
70- payloads : dedupedPayloads ,
71- sentMediaUrls : params . sentMediaUrls ?? [ ] ,
72- } ) ;
73- const suppressMessagingToolReplies = shouldSuppressMessagingToolReplies ( {
74- messageProvider : replyToChannel ,
66+ const messagingToolPayloadDedupe = resolveMessagingToolPayloadDedupe ( {
67+ messageProvider : replyMessageProvider ,
7568 messagingToolSentTargets : params . sentTargets ,
7669 originatingTo : resolveOriginMessageTo ( {
7770 originatingTo : params . originatingTo ,
@@ -80,5 +73,17 @@ export function resolveFollowupDeliveryPayloads(params: {
8073 originatingAccountId : params . originatingAccountId ,
8174 } ) ,
8275 } ) ;
83- return suppressMessagingToolReplies ? [ ] : mediaFilteredPayloads ;
76+ const mediaFilteredPayloads = messagingToolPayloadDedupe . shouldDedupePayloads
77+ ? filterMessagingToolMediaDuplicates ( {
78+ payloads : replyTaggedPayloads ,
79+ sentMediaUrls : params . sentMediaUrls ?? [ ] ,
80+ } )
81+ : replyTaggedPayloads ;
82+ const dedupedPayloads = messagingToolPayloadDedupe . shouldDedupePayloads
83+ ? filterMessagingToolDuplicates ( {
84+ payloads : mediaFilteredPayloads ,
85+ sentTexts : params . sentTexts ?? [ ] ,
86+ } )
87+ : mediaFilteredPayloads ;
88+ return messagingToolPayloadDedupe . suppressReplies ? [ ] : dedupedPayloads ;
8489}
0 commit comments