fix: canonicalize canceled workbench final response
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user