

























@@ -495,6 +495,72 @@ describe("createMediaGenerationTaskLifecycle", () => {
495495});
496496});
497497498+it("does not pin a stored thread from a different requester target", () => {
499+subagentAnnounceDeliveryMocks.loadRequesterSessionEntry.mockReturnValue({
500+entry: {
501+lastChannel: "telegram",
502+lastTo: "room-b",
503+lastThreadId: 99,
504+},
505+});
506+const lifecycle = createMediaGenerationTaskLifecycle({
507+toolName: "image_generate",
508+taskKind: "image_generation",
509+label: "Image generation",
510+queuedProgressSummary: "Queued image generation",
511+generatedLabel: "image",
512+failureProgressSummary: "Image generation failed",
513+eventSource: "image_generation",
514+announceType: "image generation task",
515+completionLabel: "image",
516+});
517+518+const handle = lifecycle.createTaskRun({
519+sessionKey: "agent:main:telegram:room-a",
520+requesterOrigin: { channel: "telegram", to: "room-a" },
521+prompt: "proof image",
522+});
523+524+expect(handle?.requesterOrigin).toEqual({
525+channel: "telegram",
526+to: "room-a",
527+accountId: undefined,
528+});
529+});
530+531+it("pins the external session route for an internal requester origin", () => {
532+subagentAnnounceDeliveryMocks.loadRequesterSessionEntry.mockReturnValue({
533+entry: {
534+lastChannel: "telegram",
535+lastTo: "room-a",
536+lastAccountId: "bot-1",
537+},
538+});
539+const lifecycle = createMediaGenerationTaskLifecycle({
540+toolName: "image_generate",
541+taskKind: "image_generation",
542+label: "Image generation",
543+queuedProgressSummary: "Queued image generation",
544+generatedLabel: "image",
545+failureProgressSummary: "Image generation failed",
546+eventSource: "image_generation",
547+announceType: "image generation task",
548+completionLabel: "image",
549+});
550+551+const handle = lifecycle.createTaskRun({
552+sessionKey: "agent:main:telegram:room-a",
553+requesterOrigin: { channel: "webchat" },
554+prompt: "proof image",
555+});
556+557+expect(handle?.requesterOrigin).toEqual({
558+channel: "telegram",
559+to: "room-a",
560+accountId: "bot-1",
561+});
562+});
563+498564it("returns the completion wake delivery result", async () => {
499565subagentAnnounceDeliveryMocks.deliverSubagentAnnouncement.mockResolvedValueOnce({
500566delivered: true,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。