From 87d6130636b1175dd6d73c71aa874cd500a93417 Mon Sep 17 00:00:00 2001 From: Lyon <88232613+pikasTech@users.noreply.github.com> Date: Wed, 24 Jun 2026 03:49:01 +0800 Subject: [PATCH] fix(web-probe): reuse turn status helpers (#771) Co-authored-by: Codex --- .../src/hwlab-node-web-observe-runner-source.ts | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/scripts/src/hwlab-node-web-observe-runner-source.ts b/scripts/src/hwlab-node-web-observe-runner-source.ts index e4c22aee..df49ee49 100644 --- a/scripts/src/hwlab-node-web-observe-runner-source.ts +++ b/scripts/src/hwlab-node-web-observe-runner-source.ts @@ -4466,18 +4466,6 @@ function inferTurnMetricPromptIndex(metric, samplePromptIndex, maxDomIndex) { return null; } -function isActiveTurnStatus(status) { - const value = String(status || "").toLowerCase(); - if (!value) return false; - if (isTerminalTurnStatus(value)) return false; - return /running|pending|admitted|queued|dispatch|execut|progress|thinking|working|active|streaming|created|started/u.test(value); -} - -function isTerminalTurnStatus(status) { - const value = String(status || "").toLowerCase(); - return /completed|succeeded|success|failed|error|canceled|cancelled|blocked|done|terminal/u.test(value); -} - function detectTurnTimingNonMonotonic(columns, rows) { const anomalies = []; const elapsedZeroResets = []; @@ -4695,7 +4683,7 @@ function maxPositiveDelta(items) { function isTerminalTurnStatus(value) { const status = String(value ?? "").trim().toLowerCase().replace(/_/gu, "-"); - return ["completed", "failed", "blocked", "timeout", "canceled", "cancelled", "stale", "thread-resume-failed"].includes(status); + return ["completed", "succeeded", "success", "failed", "error", "blocked", "timeout", "canceled", "cancelled", "stale", "done", "terminal", "thread-resume-failed"].includes(status); } @@ -5333,7 +5321,7 @@ function isCodeAgentCardTerminal(item) { function isActiveTurnStatus(value) { const status = String(value ?? "").trim().toLowerCase().replace(/_/gu, "-"); - return ["pending", "running", "queued", "admitted", "dispatching", "in-progress", "inprogress"].includes(status); + return ["pending", "running", "queued", "admitted", "dispatching", "in-progress", "inprogress", "executing", "progress", "thinking", "working", "active", "streaming", "created", "started"].includes(status); } function buildRoundCompletionMetrics(samples, timeline, turnTiming) {