From e46ff7e1ebef4adbc0ca1cf2e74d85a9d6616ba8 Mon Sep 17 00:00:00 2001 From: lyon Date: Thu, 18 Jun 2026 17:59:46 +0800 Subject: [PATCH] fix: expose workbench message text --- internal/cloud/server-workbench-http.test.ts | 2 ++ internal/cloud/server-workbench-http.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/internal/cloud/server-workbench-http.test.ts b/internal/cloud/server-workbench-http.test.ts index a3088ed9..3418602d 100644 --- a/internal/cloud/server-workbench-http.test.ts +++ b/internal/cloud/server-workbench-http.test.ts @@ -92,6 +92,8 @@ test("workbench read model exposes session, messages, turn, and trace without wr assert.equal(messages.body.contractVersion, "workbench-message-page-v1"); assert.equal(messages.body.messages.length, 1); assert.equal(messages.body.messages[0].role, "user"); + assert.equal(messages.body.messages[0].text, "ping"); + assert.equal(messages.body.messages[0].parts[0].text, "ping"); assert.equal(messages.body.hasMore, true); const turn = await getJson(port, `/v1/workbench/turns/${encodeURIComponent(traceId)}`); diff --git a/internal/cloud/server-workbench-http.ts b/internal/cloud/server-workbench-http.ts index 636913cf..afccfd74 100644 --- a/internal/cloud/server-workbench-http.ts +++ b/internal/cloud/server-workbench-http.ts @@ -417,6 +417,7 @@ function messageFact(message, index, session, snapshot) { turnId: safeTurnId(message?.turnId) || traceId, status: normalizeStatus(message?.status ?? (isAssistantLikeRole(role) ? session.status : "completed")), parts, + text: text || "", textPreview: text ? text.slice(0, 240) : null, createdAt: textValue(message?.createdAt ?? message?.timestamp ?? message?.at) || session.startedAt || session.updatedAt || null, updatedAt: textValue(message?.updatedAt) || session.updatedAt || null,