





















@@ -149,7 +149,6 @@ import {
149149} from "../../infra/outbound/outbound-session.js";
150150import { buildOutboundSessionContext } from "../../infra/outbound/session-context.js";
151151import { enqueueSystemEvent } from "../../infra/system-events.js";
152-import { shouldEnqueueCronMainSummary } from "../heartbeat-policy.js";
153152import {
154153dispatchCronDelivery,
155154getCompletedDirectCronDeliveriesCountForTests,
@@ -338,18 +337,6 @@ describe("dispatchCronDelivery — double-announce guard", () => {
338337expect(state.deliveryAttempted).toBe(true);
339338expect(waitForDescendantSubagentSummary).toHaveBeenCalledTimes(1);
340339341-// Verify timer guard agrees: shouldEnqueueCronMainSummary returns false
342-expect(
343-shouldEnqueueCronMainSummary({
344-summaryText: "on it",
345-deliveryRequested: true,
346-delivered: state.delivered,
347-deliveryAttempted: state.deliveryAttempted,
348-suppressMainSummary: false,
349-isCronSystemEvent: () => true,
350-}),
351-).toBe(false);
352-353340// No announce should have been attempted (subagents still running)
354341expect(deliverOutboundPayloads).not.toHaveBeenCalled();
355342});
@@ -496,18 +483,6 @@ describe("dispatchCronDelivery — double-announce guard", () => {
496483// deliveryAttempted must be true so timer does NOT fire enqueueSystemEvent
497484expect(state.deliveryAttempted).toBe(true);
498485499-// Verify timer guard agrees
500-expect(
501-shouldEnqueueCronMainSummary({
502-summaryText: "on it, pulling everything together",
503-deliveryRequested: true,
504-delivered: state.delivered,
505-deliveryAttempted: state.deliveryAttempted,
506-suppressMainSummary: false,
507-isCronSystemEvent: () => true,
508-}),
509-).toBe(false);
510-511486// No direct delivery should have been sent (stale interim suppressed)
512487expect(deliverOutboundPayloads).not.toHaveBeenCalled();
513488});
@@ -577,18 +552,6 @@ describe("dispatchCronDelivery — double-announce guard", () => {
577552expect(state.deliveryAttempted).toBe(true);
578553expect(state.delivered).toBe(true);
579554expect(deliverOutboundPayloads).toHaveBeenCalledTimes(1);
580-581-// Timer should not fire enqueueSystemEvent (delivered=true)
582-expect(
583-shouldEnqueueCronMainSummary({
584-summaryText: "Morning briefing complete.",
585-deliveryRequested: true,
586-delivered: state.delivered,
587-deliveryAttempted: state.deliveryAttempted,
588-suppressMainSummary: false,
589-isCronSystemEvent: () => true,
590-}),
591-).toBe(false);
592555});
593556594557it("applies TTS directives before direct cron announce delivery and mirrors spoken text", async () => {
@@ -1045,16 +1008,6 @@ describe("dispatchCronDelivery — double-announce guard", () => {
10451008deliveryAttempted: true,
10461009});
10471010expect(deliverOutboundPayloads).not.toHaveBeenCalled();
1048-expect(
1049-shouldEnqueueCronMainSummary({
1050-summaryText: "Yesterday's morning briefing.",
1051-deliveryRequested: true,
1052-delivered: state.result?.delivered,
1053-deliveryAttempted: state.result?.deliveryAttempted,
1054-suppressMainSummary: false,
1055-isCronSystemEvent: () => true,
1056-}),
1057-).toBe(false);
10581011});
1059101210601013it("still delivers when the run started on time but finished more than three hours later", async () => {
@@ -1483,18 +1436,6 @@ describe("dispatchCronDelivery — double-announce guard", () => {
14831436// deliveryAttempted must be true so the heartbeat timer does not fire
14841437// a fallback enqueueSystemEvent with the control-token text.
14851438expect(state.deliveryAttempted).toBe(true);
1486-1487-// Verify timer guard agrees: shouldEnqueueCronMainSummary returns false
1488-expect(
1489-shouldEnqueueCronMainSummary({
1490-summaryText: controlToken,
1491-deliveryRequested: true,
1492-delivered: state.result?.delivered,
1493-deliveryAttempted: state.result?.deliveryAttempted,
1494-suppressMainSummary: false,
1495-isCronSystemEvent: () => true,
1496-}),
1497-).toBe(false);
14981439},
14991440);
15001441@@ -1826,17 +1767,6 @@ describe("dispatchCronDelivery — double-announce guard", () => {
18261767deliveryAttempted: true,
18271768});
18281769expect(state.deliveryAttempted).toBe(true);
1829-1830-expect(
1831-shouldEnqueueCronMainSummary({
1832-summaryText: " NO_REPLY ",
1833-deliveryRequested: true,
1834-delivered: state.result?.delivered,
1835-deliveryAttempted: state.result?.deliveryAttempted,
1836-suppressMainSummary: false,
1837-isCronSystemEvent: () => true,
1838-}),
1839-).toBe(false);
18401770});
1841177118421772it("suppresses mixed-case NO_REPLY in text delivery", async () => {
@@ -1848,16 +1778,6 @@ describe("dispatchCronDelivery — double-announce guard", () => {
18481778status: "ok",
18491779delivered: false,
18501780});
1851-expect(
1852-shouldEnqueueCronMainSummary({
1853-summaryText: "No_Reply",
1854-deliveryRequested: true,
1855-delivered: state.result?.delivered,
1856-deliveryAttempted: state.result?.deliveryAttempted,
1857-suppressMainSummary: false,
1858-isCronSystemEvent: () => true,
1859-}),
1860-).toBe(false);
18611781});
1862178218631783it("cleans up the direct cron session after a structured silent reply when deleteAfterRun is enabled", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。