





















@@ -803,28 +803,37 @@ export function createSubagentRegistryLifecycleController(params: {
803803return;
804804}
805805if (didAnnounce) {
806-if (!options?.skipAnnounce) {
807-const delivery = ensureDeliveryState(entry);
808-const deliveredAt = delivery.deliveredAt ?? Date.now();
806+const delivery = ensureDeliveryState(entry);
807+const shouldCreditDelivery =
808+!options?.skipAnnounce ||
809+delivery.status === "delivered" ||
810+typeof delivery.announcedAt === "number";
811+if (shouldCreditDelivery) {
812+const deliveredAt = delivery.deliveredAt ?? delivery.announcedAt ?? Date.now();
809813delivery.status = "delivered";
810814delivery.deliveredAt = deliveredAt;
811-delivery.announcedAt = deliveredAt;
812-params.persist();
815+delivery.announcedAt = delivery.announcedAt ?? deliveredAt;
816+if (!options?.skipAnnounce) {
817+delivery.announcedAt = deliveredAt;
818+params.persist();
819+}
813820}
814821clearPendingFinalDelivery(entry);
815-const delivery = ensureDeliveryState(entry);
816-delivery.status = "delivered";
817-delivery.suspendedAt = undefined;
818-delivery.suspendedReason = undefined;
819-if (!options?.skipDeliveryStatus) {
822+const finalDelivery = ensureDeliveryState(entry);
823+if (shouldCreditDelivery) {
824+finalDelivery.status = "delivered";
825+finalDelivery.suspendedAt = undefined;
826+finalDelivery.suspendedReason = undefined;
827+}
828+if (shouldCreditDelivery && !options?.skipDeliveryStatus) {
820829safeSetSubagentTaskDeliveryStatus({
821830 runId,
822831childSessionKey: entry.childSessionKey,
823832deliveryStatus: "delivered",
824833});
825834}
826-delivery.lastError = undefined;
827-delivery.lastDropReason = undefined;
835+finalDelivery.lastError = undefined;
836+finalDelivery.lastDropReason = undefined;
828837entry.wakeOnDescendantSettle = undefined;
829838const completion = ensureCompletionState(entry);
830839completion.fallbackResultText = undefined;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。