diff --git a/web/hwlab-cloud-web/src/components/workbench/ConversationPanel.vue b/web/hwlab-cloud-web/src/components/workbench/ConversationPanel.vue index 40f11301..68b902bd 100644 --- a/web/hwlab-cloud-web/src/components/workbench/ConversationPanel.vue +++ b/web/hwlab-cloud-web/src/components/workbench/ConversationPanel.vue @@ -393,25 +393,17 @@ function ceilDisplayDurationSecond(ms: number): number { } function sealedTerminalRecordedDurationMs(message: ChatMessage, timing: ChatMessage["timing"]): number | null { - const messageRecord = message as Record; - const trace = message.runnerTrace as Record | null | undefined; - const traceTiming = trace?.timing as Record | null | undefined; - const messageHasTerminalTimestamp = timestampMs(timing?.finishedAt ?? message.finishedAt ?? messageRecord.completedAt) !== null; - const traceHasTerminalTimestamp = timestampMs(traceTiming?.finishedAt ?? trace?.finishedAt ?? traceTiming?.completedAt ?? trace?.completedAt) !== null; + void message; + const messageHasTerminalTimestamp = timestampMs(timing?.finishedAt) !== null; return maxPositiveDurationMs( - messageHasTerminalTimestamp ? message.durationMs : null, messageHasTerminalTimestamp ? timing?.durationMs : null, - traceHasTerminalTimestamp ? message.runnerTrace?.durationMs : null, - traceHasTerminalTimestamp ? message.runnerTrace?.timing?.durationMs : null ); } function elapsedTerminalDurationMs(message: ChatMessage, timing: ChatMessage["timing"]): number | null { - const messageRecord = message as Record; - const trace = message.runnerTrace as Record | null | undefined; - const traceTiming = trace?.timing as Record | null | undefined; - const startedAt = timestampMs(timing?.startedAt ?? message.startedAt ?? traceTiming?.startedAt ?? trace?.startedAt); - const endedAt = timestampMs(timing?.finishedAt ?? message.finishedAt ?? messageRecord.completedAt ?? traceTiming?.finishedAt ?? trace?.finishedAt ?? traceTiming?.completedAt ?? trace?.completedAt); + void message; + const startedAt = timestampMs(timing?.startedAt); + const endedAt = timestampMs(timing?.finishedAt); if (startedAt === null || endedAt === null || endedAt < startedAt) return null; return Math.trunc(endedAt - startedAt); }