diff --git a/src/agents/subagent-announce-delivery.test.ts b/src/agents/subagent-announce-delivery.test.ts index 3a7c1a88bd7d..e5c384e07774 100644 --- a/src/agents/subagent-announce-delivery.test.ts +++ b/src/agents/subagent-announce-delivery.test.ts @@ -2385,7 +2385,7 @@ describe("deliverSubagentAnnouncement completion delivery", () => { ); }); - it("no-ops stale isolated cron run media completions", async () => { + it("directly delivers stale isolated cron run media completions", async () => { const callGateway = createGatewayMock(); const sendMessage = createSendMessageMock(); const queueEmbeddedPiMessageWithOutcome = createQueueOutcomeMock(true); @@ -2416,6 +2416,40 @@ describe("deliverSubagentAnnouncement completion delivery", () => { ], }); + expectRecordFields(result, { + delivered: true, + path: "direct", + }); + expect(queueEmbeddedPiMessageWithOutcome).not.toHaveBeenCalled(); + expect(callGateway).not.toHaveBeenCalled(); + expect(sendMessage).toHaveBeenCalledWith( + expect.objectContaining({ + channel: "slack", + accountId: "acct-1", + to: "channel:C123", + content: "The generated image is ready.", + mediaUrls: ["/tmp/generated-daily.png"], + idempotencyKey: "announce-stale-cron-media:generated-media-direct", + }), + ); + }); + + it("no-ops stale isolated cron run text completions", async () => { + const callGateway = createGatewayMock(); + const sendMessage = createSendMessageMock(); + const queueEmbeddedPiMessageWithOutcome = createQueueOutcomeMock(true); + const result = await deliverSlackChannelAnnouncement({ + callGateway, + sendMessage, + queueEmbeddedPiMessageWithOutcome, + sessionId: "stale-cron-run-session", + isActive: false, + requesterSessionKey: "agent:main:cron:daily-text:run:run-123", + expectsCompletionMessage: true, + directIdempotencyKey: "announce-stale-cron-text", + sourceTool: "subagent_announce", + }); + expectRecordFields(result, { delivered: true, path: "none", diff --git a/src/agents/subagent-announce-delivery.ts b/src/agents/subagent-announce-delivery.ts index 7021fce64c0f..49388cc8e8d1 100644 --- a/src/agents/subagent-announce-delivery.ts +++ b/src/agents/subagent-announce-delivery.ts @@ -913,6 +913,10 @@ async function sendSubagentAnnounceDirectly(params: { isCronRunSessionKey(canonicalRequesterSessionKey) && !resolveRequesterSessionActivity(canonicalRequesterSessionKey).isActive ) { + const generatedMediaDelivery = await tryGeneratedMediaDirectDelivery(); + if (generatedMediaDelivery) { + return generatedMediaDelivery; + } return { delivered: true, path: "none",