From c60b42412482bc3cb7b4c52b4ec4ee96a5541f2c Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 14 Jun 2026 09:41:54 +0800 Subject: [PATCH] test(release): accept trajectory command session final (cherry picked from commit 9458ffa7e8598608e582fd233fccb586ecc7b10b) --- .../gateway-trajectory-export.live.test.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/gateway/gateway-trajectory-export.live.test.ts b/src/gateway/gateway-trajectory-export.live.test.ts index d37661bf20b3..67f5b0701502 100644 --- a/src/gateway/gateway-trajectory-export.live.test.ts +++ b/src/gateway/gateway-trajectory-export.live.test.ts @@ -207,6 +207,12 @@ async function waitForTrajectoryExportInstructionText(params: { if (eventText) { return eventText; } + const sessionEventText = params.events + .map((event) => extractChatFinalTextForSession(event, params.sessionKey)) + .find((text) => text?.includes(params.expectedText)); + if (sessionEventText) { + return sessionEventText; + } const history: { messages?: unknown[] } = await params.client.request( "chat.history", { @@ -242,6 +248,25 @@ function extractChatFinalText(event: EventFrame, runId: string): string | undefi if (record.runId !== runId || record.state !== "final") { return undefined; } + return extractChatFinalRecordText(record); +} + +function extractChatFinalTextForSession(event: EventFrame, sessionKey: string): string | undefined { + if (event.event !== "chat") { + return undefined; + } + const payload = event.payload; + if (!payload || typeof payload !== "object") { + return undefined; + } + const record = payload as Record; + if (record.sessionKey !== sessionKey || record.state !== "final") { + return undefined; + } + return extractChatFinalRecordText(record); +} + +function extractChatFinalRecordText(record: Record): string | undefined { const message = record.message; if (!message || typeof message !== "object") { return undefined;