From 3ebbf9a0c1b9293d8a1de0f7f1600bd4f004611a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 31 May 2026 14:29:31 +0100 Subject: [PATCH] fix(agents): keep async media starts nonterminal --- CHANGELOG.md | 1 + src/agents/tools/image-generate-tool.test.ts | 2 +- src/agents/tools/media-generate-background-shared.ts | 1 - src/agents/tools/music-generate-tool.test.ts | 2 +- src/agents/tools/video-generate-tool.test.ts | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f82e4193d3a..06030ceb36da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ Docs: https://docs.openclaw.ai ### Fixes +- Agents/media: keep async image, music, and video generation starts from ending the Codex turn, so mixed requests can continue with summaries or other work while media renders in the background. - Agents/Codex: keep public OpenAI API-key profiles from being treated as native Codex app-server auth while preserving persisted Codex OAuth sessions. - Control UI: keep collapsed tool cards labeled with the tool name and action instead of generic output text. Thanks @shakkernerd. - Agents/Codex: surface Skill Workshop guidance in Codex app-server prompts when `skill_workshop` is available. Thanks @shakkernerd. diff --git a/src/agents/tools/image-generate-tool.test.ts b/src/agents/tools/image-generate-tool.test.ts index 93636be24909..788256b3d3b6 100644 --- a/src/agents/tools/image-generate-tool.test.ts +++ b/src/agents/tools/image-generate-tool.test.ts @@ -758,7 +758,7 @@ describe("createImageGenerateTool", () => { expect(details.async).toBe(true); expect(details.status).toBe("started"); expect(details.taskId).toBe("task-image-123"); - expect((result as { terminate?: boolean }).terminate).toBe(true); + expect((result as { terminate?: boolean }).terminate).toBeUndefined(); expect(taskRuntimeMocks.createRunningTaskRun).toHaveBeenCalledWith( expect.objectContaining({ taskKind: "image_generation", diff --git a/src/agents/tools/media-generate-background-shared.ts b/src/agents/tools/media-generate-background-shared.ts index 738323901821..7ac3afe2c444 100644 --- a/src/agents/tools/media-generate-background-shared.ts +++ b/src/agents/tools/media-generate-background-shared.ts @@ -331,7 +331,6 @@ export function buildMediaGenerationStartedToolResult(params: { : {}), ...params.detailExtras, }, - terminate: true, }; } diff --git a/src/agents/tools/music-generate-tool.test.ts b/src/agents/tools/music-generate-tool.test.ts index 8ae39fadb323..6b5f0f2e8e77 100644 --- a/src/agents/tools/music-generate-tool.test.ts +++ b/src/agents/tools/music-generate-tool.test.ts @@ -629,7 +629,7 @@ describe("createMusicGenerateTool", () => { applied: 120_000, minimum: 120_000, }); - expect((result as { terminate?: boolean }).terminate).toBe(true); + expect((result as { terminate?: boolean }).terminate).toBeUndefined(); if (!scheduledWork) { throw new Error("expected scheduled music generation work"); } diff --git a/src/agents/tools/video-generate-tool.test.ts b/src/agents/tools/video-generate-tool.test.ts index 9555b36f60e5..1faa69dbcaf8 100644 --- a/src/agents/tools/video-generate-tool.test.ts +++ b/src/agents/tools/video-generate-tool.test.ts @@ -933,7 +933,7 @@ describe("createVideoGenerateTool", () => { expect(details.async).toBe(true); expect(details.status).toBe("started"); expect((details.task as { taskId?: string }).taskId).toBe("task-123"); - expect((result as { terminate?: boolean }).terminate).toBe(true); + expect((result as { terminate?: boolean }).terminate).toBeUndefined(); if (!scheduledWork) { throw new Error("expected scheduled video generation work"); }