fix: canonicalize canceled workbench final response

This commit is contained in:
lyon
2026-06-25 06:53:01 +08:00
parent 9de6042276
commit 5fe79674d5
2 changed files with 6 additions and 1 deletions
@@ -128,6 +128,7 @@ test("workbench projection writer seals canceled AgentRun turns with canonical c
payload: {
traceId: "trc_writer_canceled",
status: "canceled",
finalResponse: { text: "command cancelled before backend start", status: "canceled", traceId: "trc_writer_canceled" },
userMessage: "当前 AgentRun 请求已取消;traceId/runId/commandId 已保留,可重试上一条消息。",
runnerTrace: {
traceId: "trc_writer_canceled",
+5 -1
View File
@@ -188,9 +188,13 @@ function terminalTurnEvidence({ result = null, traceTerminal = null } = {}) {
}
function terminalFinalResponse(status, result = null, traceTerminal = null) {
if (normalizeWorkbenchStatus(status) === "canceled") return canonicalCancelFinalResponse(result, traceTerminal);
const direct = traceTerminal?.finalResponse ?? result?.finalResponse;
if (direct) return direct;
if (normalizeWorkbenchStatus(status) !== "canceled") return null;
return null;
}
function canonicalCancelFinalResponse(result = null, traceTerminal = null) {
return {
text: CANCEL_FINAL_RESPONSE_TEXT,
status: "canceled",