diff --git a/actions/setup/js/parse_mcp_gateway_log.cjs b/actions/setup/js/parse_mcp_gateway_log.cjs index 90f102e4b8..e91bacf600 100644 --- a/actions/setup/js/parse_mcp_gateway_log.cjs +++ b/actions/setup/js/parse_mcp_gateway_log.cjs @@ -124,7 +124,6 @@ function generateTokenUsageSummary(summary) { if (!summary || summary.totalRequests === 0) return ""; const lines = []; - lines.push("### 📊 Token Usage\n"); lines.push("| Model | Input | Output | Cache Read | Cache Write | ET | Requests | Duration |"); lines.push("|-------|------:|-------:|-----------:|------------:|---:|---------:|---------:|"); @@ -162,6 +161,8 @@ function generateTokenUsageSummary(summary) { lines.push(`ET weights: input=${w.input} · cached_input=${w.cached_input} · output=${w.output} · reasoning=${w.reasoning} · cache_write=${w.cache_write}`); } + lines.push(""); + return lines.join("\n") + "\n"; } @@ -183,7 +184,7 @@ function writeStepSummaryWithTokenUsage(coreObj) { const parsedSummary = parseTokenUsageJsonl(content); const markdown = generateTokenUsageSummary(parsedSummary); if (markdown.length > 0) { - coreObj.summary.addRaw(markdown); + coreObj.summary.addDetails("Token Usage", "\n\n" + markdown); } // Export total effective tokens as a GitHub Actions env var for use in // generated footers (GH_AW_EFFECTIVE_TOKENS is read by messages_footer.cjs) diff --git a/actions/setup/js/parse_mcp_gateway_log.test.cjs b/actions/setup/js/parse_mcp_gateway_log.test.cjs index 41dc72d1cc..c69b7e1bf3 100644 --- a/actions/setup/js/parse_mcp_gateway_log.test.cjs +++ b/actions/setup/js/parse_mcp_gateway_log.test.cjs @@ -288,6 +288,7 @@ Some content here.`; setFailed: vi.fn(), summary: { addRaw: vi.fn().mockReturnThis(), + addDetails: vi.fn().mockReturnThis(), write: vi.fn(), }, }; @@ -1004,7 +1005,6 @@ not-json test("renders header and table columns", () => { const summary = parseTokenUsageJsonl(JSON.stringify({ model: "claude-sonnet-4-6", provider: "anthropic", input_tokens: 100, output_tokens: 200, cache_read_tokens: 5000, cache_write_tokens: 3000, duration_ms: 2500 })); const md = generateTokenUsageSummary(summary); - expect(md).toContain("### 📊 Token Usage"); expect(md).toContain("| Model | Input | Output | Cache Read | Cache Write | ET | Requests | Duration |"); expect(md).toContain("claude-sonnet-4-6"); });