


















@@ -37,6 +37,20 @@ beforeEach(() => {
3737taskRegistryDeliveryRuntimeMocks.sendMessage.mockReset();
3838});
393940+function createImageMediaLifecycle() {
41+return createMediaGenerationTaskLifecycle({
42+toolName: "image_generate",
43+taskKind: "image_generation",
44+label: "Image generation",
45+queuedProgressSummary: "Queued image generation",
46+generatedLabel: "image",
47+failureProgressSummary: "Image generation failed",
48+eventSource: "image_generation",
49+announceType: "image generation task",
50+completionLabel: "image",
51+});
52+}
53+4054describe("shouldDetachMediaGenerationTask", () => {
4155it("detaches session-backed media generation", () => {
4256expect(shouldDetachMediaGenerationTask("agent:main:discord:direct:123")).toBe(true);
@@ -403,17 +417,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
403417subagentAnnounceDeliveryMocks.deliverSubagentAnnouncement.mockResolvedValueOnce({
404418delivered: true,
405419});
406-const lifecycle = createMediaGenerationTaskLifecycle({
407-toolName: "image_generate",
408-taskKind: "image_generation",
409-label: "Image generation",
410-queuedProgressSummary: "Queued image generation",
411-generatedLabel: "image",
412-failureProgressSummary: "Image generation failed",
413-eventSource: "image_generation",
414-announceType: "image generation task",
415-completionLabel: "image",
416-});
420+const lifecycle = createImageMediaLifecycle();
417421418422const handle = lifecycle.createTaskRun({
419423sessionKey: "agent:main:telegram:5866004662",
@@ -426,7 +430,6 @@ describe("createMediaGenerationTaskLifecycle", () => {
426430accountId: "bot-1",
427431});
428432429-// Later session drift cannot change the route stored on the task handle.
430433subagentAnnounceDeliveryMocks.loadRequesterSessionEntry.mockReturnValue({
431434entry: {
432435lastChannel: "telegram",
@@ -459,17 +462,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
459462lastAccountId: "bot-b",
460463},
461464});
462-const lifecycle = createMediaGenerationTaskLifecycle({
463-toolName: "image_generate",
464-taskKind: "image_generation",
465-label: "Image generation",
466-queuedProgressSummary: "Queued image generation",
467-generatedLabel: "image",
468-failureProgressSummary: "Image generation failed",
469-eventSource: "image_generation",
470-announceType: "image generation task",
471-completionLabel: "image",
472-});
465+const lifecycle = createImageMediaLifecycle();
473466474467const handle = lifecycle.createTaskRun({
475468sessionKey: "agent:main:telegram:shared",
@@ -503,17 +496,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
503496lastThreadId: 99,
504497},
505498});
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-});
499+const lifecycle = createImageMediaLifecycle();
517500518501const handle = lifecycle.createTaskRun({
519502sessionKey: "agent:main:telegram:room-a",
@@ -536,17 +519,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
536519lastAccountId: "bot-1",
537520},
538521});
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-});
522+const lifecycle = createImageMediaLifecycle();
550523551524const handle = lifecycle.createTaskRun({
552525sessionKey: "agent:main:telegram:room-a",
@@ -565,17 +538,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
565538subagentAnnounceDeliveryMocks.deliverSubagentAnnouncement.mockResolvedValueOnce({
566539delivered: true,
567540});
568-const lifecycle = createMediaGenerationTaskLifecycle({
569-toolName: "image_generate",
570-taskKind: "image_generation",
571-label: "Image generation",
572-queuedProgressSummary: "Queued image generation",
573-generatedLabel: "image",
574-failureProgressSummary: "Image generation failed",
575-eventSource: "image_generation",
576-announceType: "image generation task",
577-completionLabel: "image",
578-});
541+const lifecycle = createImageMediaLifecycle();
579542580543await expect(
581544lifecycle.wakeTaskCompletion({
@@ -603,17 +566,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
603566terminal: true,
604567error: "generated media direct delivery failed after partial upload",
605568});
606-const lifecycle = createMediaGenerationTaskLifecycle({
607-toolName: "image_generate",
608-taskKind: "image_generation",
609-label: "Image generation",
610-queuedProgressSummary: "Queued image generation",
611-generatedLabel: "image",
612-failureProgressSummary: "Image generation failed",
613-eventSource: "image_generation",
614-announceType: "image generation task",
615-completionLabel: "image",
616-});
569+const lifecycle = createImageMediaLifecycle();
617570618571await expect(
619572lifecycle.wakeTaskCompletion({
@@ -641,17 +594,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
641594error: "completion agent did not deliver generated media",
642595});
643596taskRegistryDeliveryRuntimeMocks.sendMessage.mockResolvedValueOnce({});
644-const lifecycle = createMediaGenerationTaskLifecycle({
645-toolName: "image_generate",
646-taskKind: "image_generation",
647-label: "Image generation",
648-queuedProgressSummary: "Queued image generation",
649-generatedLabel: "image",
650-failureProgressSummary: "Image generation failed",
651-eventSource: "image_generation",
652-announceType: "image generation task",
653-completionLabel: "image",
654-});
597+const lifecycle = createImageMediaLifecycle();
655598656599await expect(
657600lifecycle.wakeTaskCompletion({
@@ -765,17 +708,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
765708reason: "requester_abandoned",
766709error: "requester session abandoned after timeout",
767710});
768-const lifecycle = createMediaGenerationTaskLifecycle({
769-toolName: "image_generate",
770-taskKind: "image_generation",
771-label: "Image generation",
772-queuedProgressSummary: "Queued image generation",
773-generatedLabel: "image",
774-failureProgressSummary: "Image generation failed",
775-eventSource: "image_generation",
776-announceType: "image generation task",
777-completionLabel: "image",
778-});
711+const lifecycle = createImageMediaLifecycle();
779712780713await expect(
781714lifecycle.wakeTaskCompletion({
@@ -805,17 +738,7 @@ describe("createMediaGenerationTaskLifecycle", () => {
805738path: "direct",
806739error: "gateway request timeout for agent",
807740});
808-const lifecycle = createMediaGenerationTaskLifecycle({
809-toolName: "image_generate",
810-taskKind: "image_generation",
811-label: "Image generation",
812-queuedProgressSummary: "Queued image generation",
813-generatedLabel: "image",
814-failureProgressSummary: "Image generation failed",
815-eventSource: "image_generation",
816-announceType: "image generation task",
817-completionLabel: "image",
818-});
741+const lifecycle = createImageMediaLifecycle();
819742820743await expect(
821744lifecycle.wakeTaskCompletion({
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。