mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-24 23:51:48 +00:00
fix(subagents): correct duration display showing 5-6x inflated runtime (#57739)
Merged via squash.
Prepared head SHA: 018bbbca4d
Co-authored-by: samzong <13782141+samzong@users.noreply.github.com>
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com>
Reviewed-by: @frankekn
This commit is contained in:
@@ -9,9 +9,10 @@ import {
|
||||
} from "./subagents-format.js";
|
||||
|
||||
describe("shared/subagents-format", () => {
|
||||
it("formats compact durations across minute, hour, and day buckets", () => {
|
||||
expect(formatDurationCompact()).toBe("n/a");
|
||||
expect(formatDurationCompact(30_000)).toBe("1m");
|
||||
it("re-exports the canonical formatter with second-level precision", () => {
|
||||
expect(formatDurationCompact()).toBeUndefined();
|
||||
expect(formatDurationCompact(30_000)).toBe("30s");
|
||||
expect(formatDurationCompact(90_000)).toBe("1m30s");
|
||||
expect(formatDurationCompact(60 * 60_000)).toBe("1h");
|
||||
expect(formatDurationCompact(61 * 60_000)).toBe("1h1m");
|
||||
expect(formatDurationCompact(24 * 60 * 60_000)).toBe("1d");
|
||||
|
||||
@@ -1,20 +1,4 @@
|
||||
export function formatDurationCompact(valueMs?: number) {
|
||||
if (!valueMs || !Number.isFinite(valueMs) || valueMs <= 0) {
|
||||
return "n/a";
|
||||
}
|
||||
const minutes = Math.max(1, Math.round(valueMs / 60_000));
|
||||
if (minutes < 60) {
|
||||
return `${minutes}m`;
|
||||
}
|
||||
const hours = Math.floor(minutes / 60);
|
||||
const minutesRemainder = minutes % 60;
|
||||
if (hours < 24) {
|
||||
return minutesRemainder > 0 ? `${hours}h${minutesRemainder}m` : `${hours}h`;
|
||||
}
|
||||
const days = Math.floor(hours / 24);
|
||||
const hoursRemainder = hours % 24;
|
||||
return hoursRemainder > 0 ? `${days}d${hoursRemainder}h` : `${days}d`;
|
||||
}
|
||||
export { formatDurationCompact } from "../infra/format-time/format-duration.ts";
|
||||
|
||||
export function formatTokenShort(value?: number) {
|
||||
if (!value || !Number.isFinite(value) || value <= 0) {
|
||||
|
||||
Reference in New Issue
Block a user