From 5e82adb7eb35c3ab06c5ae23ba9e34c406f6f3f4 Mon Sep 17 00:00:00 2001 From: 134 Date: Mon, 22 Jun 2026 22:19:54 +0800 Subject: [PATCH] fix: preserve canvas agent media metadata --- lib/canvas/agent-mutations.ts | 1 + tests/routes/canvas-agent-operations.test.ts | 22 +++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/canvas/agent-mutations.ts b/lib/canvas/agent-mutations.ts index 1a7a4fdb8..8b4764cdf 100644 --- a/lib/canvas/agent-mutations.ts +++ b/lib/canvas/agent-mutations.ts @@ -116,6 +116,7 @@ function buildMediaNode(params: { const now = new Date().toISOString(); const type = mediaNodeType(params.item); const metadata = { + ...(params.plan.metadata || {}), ...(params.item.metadata || {}), generatedByAgent: true, canvasAgentOperationId: params.plan.operationId, diff --git a/tests/routes/canvas-agent-operations.test.ts b/tests/routes/canvas-agent-operations.test.ts index 5c6944252..0c82561ff 100644 --- a/tests/routes/canvas-agent-operations.test.ts +++ b/tests/routes/canvas-agent-operations.test.ts @@ -361,7 +361,21 @@ test.describe("canvas agent operation mutation contract", () => { sourceNodeIds: ["image-source"], anchorNodeId: "image-source", placement: "right", - mediaItems: [buildMutationMediaItem("media-revision", ["image-source"])], + mediaItems: [ + { + ...buildMutationMediaItem("media-revision", ["image-source"]), + prompt: "turn the background white", + metadata: { + model: "test-image-model", + provider: "test-provider", + }, + }, + ], + metadata: { + messageId: "assistant-message-1", + chatId: "chat-1", + model: "plan-level-model", + }, }, }); @@ -376,11 +390,17 @@ test.describe("canvas agent operation mutation contract", () => { type: "image", data: { src: "https://cdn.example.com/media-revision.png", + prompt: "turn the background white", metadata: { generatedByAgent: true, canvasAgentOperationId: "op-append-revision", canvasAgentMediaItemId: "media-revision", revisionOf: "image-source", + sourceNodeIds: ["image-source"], + messageId: "assistant-message-1", + chatId: "chat-1", + model: "test-image-model", + provider: "test-provider", }, }, });