From 042c031c5c49c56a623a7ab0b4cb18d432bafa78 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 24 Apr 2026 10:23:14 +0100 Subject: [PATCH] ci(release): parse logged agent payload text (cherry picked from commit c52a16989e9277875b1fd65d7335039032b33562) --- scripts/openclaw-cross-os-release-checks.ts | 25 ++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/scripts/openclaw-cross-os-release-checks.ts b/scripts/openclaw-cross-os-release-checks.ts index 9ee10025a9b..b5352a459ec 100644 --- a/scripts/openclaw-cross-os-release-checks.ts +++ b/scripts/openclaw-cross-os-release-checks.ts @@ -2415,17 +2415,32 @@ async function runAgentTurn(params) { function parseAgentPayloadTexts(stdout) { try { const payload = JSON.parse(stdout); + const directTexts = [ + payload?.finalAssistantVisibleText, + payload?.finalAssistantRawText, + payload?.meta?.finalAssistantVisibleText, + payload?.meta?.finalAssistantRawText, + payload?.result?.finalAssistantVisibleText, + payload?.result?.finalAssistantRawText, + payload?.result?.meta?.finalAssistantVisibleText, + payload?.result?.meta?.finalAssistantRawText, + ].filter((text): text is string => typeof text === "string"); const entries = Array.isArray(payload?.payloads) ? payload.payloads : Array.isArray(payload?.result?.payloads) ? payload.result.payloads : []; - if (!Array.isArray(entries)) { - return []; - } - return entries.flatMap((entry) => (typeof entry?.text === "string" ? [entry.text] : [])); + const payloadTexts = Array.isArray(entries) + ? entries.flatMap((entry) => (typeof entry?.text === "string" ? [entry.text] : [])) + : []; + return [...directTexts, ...payloadTexts]; } catch { - return stdout.trim() ? [stdout] : []; + const finalTextMatches = [ + ...stdout.matchAll( + /"(?:finalAssistantVisibleText|finalAssistantRawText|text)"\s*:\s*"([^"]*)"/gu, + ), + ].map((match) => match[1]); + return finalTextMatches.length > 0 ? finalTextMatches : stdout.trim() ? [stdout] : []; } }