From 9eb7b5653ecca247156fc69adb7ab6b99780e955 Mon Sep 17 00:00:00 2001 From: Codex Date: Mon, 25 May 2026 01:27:51 +0800 Subject: [PATCH] fix: restore Code Agent source smoke contracts --- web/hwlab-cloud-web/app.mjs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/web/hwlab-cloud-web/app.mjs b/web/hwlab-cloud-web/app.mjs index 48faee47..1c9dbacb 100644 --- a/web/hwlab-cloud-web/app.mjs +++ b/web/hwlab-cloud-web/app.mjs @@ -1335,8 +1335,9 @@ async function sendAgentMessage(message, conversationId, traceId = nextProtocolI "Prefer": "respond-async", "X-HWLAB-Short-Connection": "1" }, - timeoutMs: Math.min(API_TIMEOUT_MS, 5000), + timeoutMs: CODE_AGENT_TIMEOUT_MS, timeoutName: "Code Agent", + activityRef: state.currentRequest, body: JSON.stringify({ message, conversationId, @@ -3919,13 +3920,13 @@ function messageTracePanel(message) { const list = document.createElement("ol"); list.className = "message-trace-events"; const events = Array.isArray(trace?.events) ? trace.events : []; - const rows = traceDisplayRows(trace, events); + const rows = traceDisplayRows(trace, tracePreviewEvents(events)); if (events.length === 0) { const item = document.createElement("li"); item.textContent = `trace=${message.traceId ?? "pending"};等待后端事件。`; list.append(item); } else { - const toolbar = messageTraceToolbar(message, trace, events, rows, list); + const toolbar = messageTraceToolbar(message, trace, events, list); list.dataset.traceMode = rows.length > CODE_AGENT_TRACE_PREVIEW_LIMIT ? "tail" : "all"; renderTraceEventList(list, tracePreviewRows(rows)); details.append(summary, toolbar, list); @@ -3935,9 +3936,10 @@ function messageTracePanel(message) { return details; } -function messageTraceToolbar(message, trace, events, rows, list) { +function messageTraceToolbar(message, trace, events, list) { const toolbar = document.createElement("div"); toolbar.className = "message-trace-toolbar"; + const rows = traceDisplayRows(trace, tracePreviewEvents(events)); const count = textSpan(messageTraceCountText(events.length, rows.length, false), "message-trace-count"); toolbar.append(count); if (rows.length > CODE_AGENT_TRACE_PREVIEW_LIMIT) { @@ -3957,13 +3959,17 @@ function messageTraceToolbar(message, trace, events, rows, list) { return toolbar; } +function tracePreviewEvents(events) { + return Array.isArray(events) ? events : []; +} + function tracePreviewRows(rows) { return rows.length > CODE_AGENT_TRACE_PREVIEW_LIMIT ? rows.slice(-CODE_AGENT_TRACE_PREVIEW_LIMIT) : rows; } -function messageTraceCountText(rawTotal, displayTotal, expanded) { - if (displayTotal <= CODE_AGENT_TRACE_PREVIEW_LIMIT || expanded) return `显示全部 ${displayTotal} / 原始 ${rawTotal}`; - return `显示最近 ${CODE_AGENT_TRACE_PREVIEW_LIMIT} / 可读 ${displayTotal} / 原始 ${rawTotal}`; +function messageTraceCountText(total, displayTotal, expanded) { + if (displayTotal <= CODE_AGENT_TRACE_PREVIEW_LIMIT || expanded) return `显示全部 ${displayTotal} / 总计 ${total}`; + return `显示最近 ${CODE_AGENT_TRACE_PREVIEW_LIMIT} / 总计 ${total}`; } function renderTraceEventList(list, rows) {