























@@ -200,6 +200,34 @@ function normalizeMessagingToolTarget(
200200};
201201}
202202203+function buildResolvedCronTraceTarget(
204+resolvedDelivery: ResolvedCronDeliveryTarget,
205+): CronDeliveryTrace["resolved"] {
206+if (resolvedDelivery.ok) {
207+return {
208+ok: true,
209+ ...normalizeCronTraceTarget({
210+channel: resolvedDelivery.channel,
211+to: resolvedDelivery.to,
212+accountId: resolvedDelivery.accountId,
213+threadId: resolvedDelivery.threadId,
214+source: resolvedDelivery.mode === "implicit" ? "last" : "explicit",
215+}),
216+};
217+}
218+return {
219+ok: false,
220+ ...normalizeCronTraceTarget({
221+channel: resolvedDelivery.channel,
222+to: resolvedDelivery.to ?? null,
223+accountId: resolvedDelivery.accountId,
224+threadId: resolvedDelivery.threadId,
225+source: resolvedDelivery.mode === "implicit" ? "last" : "explicit",
226+}),
227+error: resolvedDelivery.error.message,
228+};
229+}
230+203231function buildCronDeliveryTrace(params: {
204232deliveryPlan: CronDeliveryPlan;
205233resolvedDelivery: ResolvedCronDeliveryTarget;
@@ -216,28 +244,11 @@ function buildCronDeliveryTrace(params: {
216244source:
217245params.deliveryPlan.channel === "last" || !params.deliveryPlan.channel ? "last" : "explicit",
218246});
219-const resolved = params.resolvedDelivery.ok
220- ? {
221-ok: true,
222- ...normalizeCronTraceTarget({
223-channel: params.resolvedDelivery.channel,
224-to: params.resolvedDelivery.to,
225-accountId: params.resolvedDelivery.accountId,
226-threadId: params.resolvedDelivery.threadId,
227-source: params.resolvedDelivery.mode === "implicit" ? "last" : "explicit",
228-}),
229-}
230- : {
231-ok: false,
232- ...normalizeCronTraceTarget({
233-channel: params.resolvedDelivery.channel,
234-to: params.resolvedDelivery.to ?? null,
235-accountId: params.resolvedDelivery.accountId,
236-threadId: params.resolvedDelivery.threadId,
237-source: params.resolvedDelivery.mode === "implicit" ? "last" : "explicit",
238-}),
239-error: params.resolvedDelivery.error.message,
240-};
247+const includeResolved =
248+params.deliveryPlan.mode !== "none" || hasExplicitCronDeliveryTarget(params.deliveryPlan);
249+const resolved = includeResolved
250+ ? buildResolvedCronTraceTarget(params.resolvedDelivery)
251+ : undefined;
241252const messageToolSentTo = params.messagingToolSentTargets
242253.map((target) =>
243254normalizeMessagingToolTarget(
@@ -249,7 +260,7 @@ function buildCronDeliveryTrace(params: {
249260.filter((target): target is CronDeliveryTraceMessageTarget => Boolean(target));
250261return {
251262 ...(intended ? { intended } : {}),
252- resolved,
263+...(resolved ? { resolved } : {}),
253264 ...(messageToolSentTo.length > 0 ? { messageToolSentTo } : {}),
254265fallbackUsed: params.fallbackUsed,
255266delivered: params.delivered,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。