





















@@ -78,7 +78,7 @@ import { resolveEffectiveReplyRoute } from "./effective-reply-route.js";
7878import { withFullRuntimeReplyConfig } from "./get-reply-fast-path.js";
7979import { claimInboundDedupe, commitInboundDedupe, releaseInboundDedupe } from "./inbound-dedupe.js";
8080import { resolveReplyRoutingDecision } from "./routing-policy.js";
81-import { resolveSourceReplyDeliveryMode } from "./source-reply-delivery-mode.js";
81+import { resolveSourceReplyVisibilityPolicy } from "./source-reply-delivery-mode.js";
8282import { resolveRunTypingPolicy } from "./typing-policy.js";
83838484let routeReplyRuntimePromise: Promise<typeof import("./route-reply.runtime.js")> | null = null;
@@ -592,20 +592,23 @@ export async function dispatchReplyFromConfig(
592592undefined,
593593chatType: sessionStoreEntry.entry?.chatType,
594594});
595-const sendPolicyDenied = sendPolicy === "deny";
596-const sourceReplyDeliveryMode = resolveSourceReplyDeliveryMode({
595+const sourceReplyPolicy = resolveSourceReplyVisibilityPolicy({
597596 cfg,
598597 ctx,
599598requested: params.replyOptions?.sourceReplyDeliveryMode,
599+ sendPolicy,
600+ suppressAcpChildUserDelivery,
601+explicitSuppressTyping: params.replyOptions?.suppressTyping === true,
602+ shouldSuppressTyping,
600603});
601-const suppressAutomaticSourceDelivery = sourceReplyDeliveryMode === "message_tool_only";
602-const suppressDelivery = sendPolicyDenied || suppressAutomaticSourceDelivery;
603-const deliverySuppressionReason = sendPolicyDenied
604-? "sendPolicy: deny"
605-: suppressAutomaticSourceDelivery
606- ? "sourceReplyDeliveryMode: message_tool_only"
607- : "";
608-const suppressHookUserDelivery = suppressAcpChildUserDelivery || suppressDelivery;
604+const {
605+ sourceReplyDeliveryMode,
606+ suppressAutomaticSourceDelivery,
607+suppressDelivery,
608+deliverySuppressionReason,
609+suppressHookUserDelivery,
610+suppressHookReplyLifecycle,
611+} = sourceReplyPolicy;
609612610613let pluginFallbackReason:
611614| "plugin-bound-fallback-missing-plugin"
@@ -856,6 +859,7 @@ export async function dispatchReplyFromConfig(
856859 sessionTtsAuto,
857860ttsChannel: deliveryChannel,
858861suppressUserDelivery: suppressHookUserDelivery,
862+suppressReplyLifecycle: suppressHookReplyLifecycle,
859863 sourceReplyDeliveryMode,
860864 shouldRouteToOriginating,
861865originatingChannel: routeReplyChannel,
@@ -1037,8 +1041,7 @@ export async function dispatchReplyFromConfig(
10371041};
10381042const typing = resolveRunTypingPolicy({
10391043requestedPolicy: params.replyOptions?.typingPolicy,
1040-suppressTyping:
1041-sendPolicyDenied || params.replyOptions?.suppressTyping === true || shouldSuppressTyping,
1044+suppressTyping: sourceReplyPolicy.suppressTyping,
10421045originatingChannel: routeReplyChannel,
10431046systemEvent: shouldRouteToOriginating,
10441047});
@@ -1272,6 +1275,7 @@ export async function dispatchReplyFromConfig(
12721275 sessionTtsAuto,
12731276ttsChannel: deliveryChannel,
12741277suppressUserDelivery: suppressHookUserDelivery,
1278+suppressReplyLifecycle: suppressHookReplyLifecycle,
12751279 sourceReplyDeliveryMode,
12761280 shouldRouteToOriginating,
12771281originatingChannel: routeReplyChannel,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。