From 14db08d7fa4e8c60f186bee7b1bc2b19dd4affa8 Mon Sep 17 00:00:00 2001 From: Lyon <88232613+pikasTech@users.noreply.github.com> Date: Mon, 22 Jun 2026 10:45:21 +0800 Subject: [PATCH] fix(code-agent): use command terminal authority for cancel (#1866) --- internal/cloud/code-agent-agentrun-adapter.ts | 2 +- internal/cloud/server-code-agent-http.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/cloud/code-agent-agentrun-adapter.ts b/internal/cloud/code-agent-agentrun-adapter.ts index 277333a7..eb7af332 100644 --- a/internal/cloud/code-agent-agentrun-adapter.ts +++ b/internal/cloud/code-agent-agentrun-adapter.ts @@ -939,7 +939,7 @@ export async function cancelAgentRunChatTurn({ traceId, currentResult = null, op function agentRunCancelTerminalStatus(payload = null) { if (!payload || typeof payload !== "object") return null; - for (const value of [payload.status, payload.agentRun?.terminalStatus, payload.agentRun?.commandState, payload.agentRun?.status, payload.agentRun?.runStatus]) { + for (const value of [payload.agentRun?.terminalStatus, payload.agentRun?.commandState, payload.agentRun?.commandStatus]) { const status = normalizeAgentRunStatus(value); if (isAgentRunTerminalStatus(status)) return status; } diff --git a/internal/cloud/server-code-agent-http.ts b/internal/cloud/server-code-agent-http.ts index db597f0c..c9326550 100644 --- a/internal/cloud/server-code-agent-http.ts +++ b/internal/cloud/server-code-agent-http.ts @@ -3425,7 +3425,7 @@ function cancelScopeFieldMismatch(field, requested, expectedValues) { async function syncAlreadyTerminalAgentRunBeforeCancel({ traceId, currentResult = null, params = {}, options = {}, traceStore = defaultCodeAgentTraceStore } = {}) { if (!safeTraceId(traceId) || !currentResult?.agentRun?.runId || !currentResult?.agentRun?.commandId) return null; - const currentTerminalStatus = currentResult.status ?? currentResult.agentRun?.terminalStatus ?? currentResult.agentRun?.commandState ?? currentResult.agentRun?.status; + const currentTerminalStatus = currentResult.agentRun?.terminalStatus ?? currentResult.agentRun?.commandState ?? currentResult.agentRun?.commandStatus; if (isTraceCommandTerminalStatus(currentTerminalStatus)) { return alreadyTerminalCancelPayload({ traceId, payload: currentResult, params, options, traceStore }); } @@ -3439,7 +3439,7 @@ async function syncAlreadyTerminalAgentRunBeforeCancel({ traceId, currentResult refreshEvents: true }); const payload = synced?.result ?? null; - const payloadTerminalStatus = payload?.status ?? payload?.agentRun?.terminalStatus ?? payload?.agentRun?.commandState ?? payload?.agentRun?.status; + const payloadTerminalStatus = payload?.agentRun?.terminalStatus ?? payload?.agentRun?.commandState ?? payload?.agentRun?.commandStatus; if (!isTraceCommandTerminalStatus(payloadTerminalStatus)) return null; return alreadyTerminalCancelPayload({ traceId, payload, params, options, traceStore }); } catch (error) {