fix: 降低 session 和 queue CLI 默认输出噪声

This commit is contained in:
Codex
2026-06-10 01:25:23 +08:00
parent c7b3bd3837
commit dbc469ee1d
2 changed files with 294 additions and 16 deletions
+46 -2
View File
@@ -1,7 +1,7 @@
import assert from "node:assert/strict";
import type { JsonRecord } from "../../common/types.js";
import { assertNoSecretLeak, type SelfTestContext, type SelfTestResult } from "../harness.js";
import { renderRunEventSummaryTsv, summarizeRunEventPage } from "../../../scripts/src/cli.js";
import { renderRunEventSummaryTsv, summarizeQueueDispatchResult, summarizeRunEventPage, summarizeSessionEventPage } from "../../../scripts/src/cli.js";
export default function selfTest(_context: SelfTestContext): SelfTestResult {
const summary = summarizeRunEventPage({ items: [
@@ -30,5 +30,49 @@ export default function selfTest(_context: SelfTestContext): SelfTestResult {
assert.equal(tsv.includes("\n12\ttool_call\tshell\tcompleted\t0\t321\ttrue\t4096"), true);
assert.equal(tsv.includes("test-token-material"), false);
return { name: "15-cli-events-summary", tests: ["runs-events-summary-tail", "runs-events-summary-tsv-redaction"] };
const hugeRunnerTrace = "runner trace line with test-token-material\n".repeat(2_000);
const sessionSummary = summarizeSessionEventPage({
sessionId: "sess_noise",
runId: "run_noise",
items: [{
seq: 266,
type: "backend_status",
payload: {
phase: "turn/cancelled",
status: "cancelled",
commandId: "cmd_noise",
runnerTrace: { raw: hugeRunnerTrace },
rawEvent: { nested: hugeRunnerTrace },
},
}],
count: 1,
cursor: "266",
}, { kind: "trace", sessionId: "sess_noise", afterSeq: 250, limit: 100, runId: null, tail: null, summaryChars: 80 });
const sessionItems = sessionSummary.items as JsonRecord[];
assert.equal(sessionSummary.action, "session-trace-summary");
assert.equal(sessionSummary.nextAfterSeq, 266);
assert.equal(sessionItems[0]?.hasRunnerTrace, true);
assert.ok(Number(sessionItems[0]?.runnerTraceBytes) > 10_000);
assert.equal(JSON.stringify(sessionSummary).includes("runner trace line"), false);
assert.equal(String((sessionSummary.drillDownCommands as JsonRecord).full).includes("--full"), true);
assert.equal(String((sessionSummary.drillDownCommands as JsonRecord).raw).includes("--raw"), true);
assertNoSecretLeak(sessionSummary);
const queueSummary = summarizeQueueDispatchResult({
action: "queue-dispatch",
mutation: true,
task: { id: "qt_noise", state: "running", queue: "dev", lane: "case", title: "large trace queue dispatch", version: 7, payload: { prompt: hugeRunnerTrace } },
run: { id: "run_noise", status: "running", terminalStatus: null, backendProfile: "codex", providerId: "G14" },
command: { id: "cmd_noise", runId: "run_noise", seq: 1, type: "turn", state: "acknowledged", payload: { prompt: hugeRunnerTrace } },
runnerJob: { action: "create-kubernetes-job", runId: "run_noise", commandId: "cmd_noise", attemptId: "attempt_noise", runnerId: "runner_noise", namespace: "agentrun-v01", jobName: "job-noise", runner: { logPath: "kubectl logs job/job-noise", runnerTrace: hugeRunnerTrace } },
latestAttempt: { attemptId: "attempt_noise", state: "running", runId: "run_noise", commandId: "cmd_noise", runnerJobId: "rj_noise", sessionId: "sess_noise", sessionPath: "/api/v1/sessions/sess_noise" },
}, "qt_noise");
assert.equal(queueSummary.action, "queue-dispatch-summary");
assert.equal(((queueSummary.runnerJob as JsonRecord).attemptId), "attempt_noise");
assert.equal(JSON.stringify(queueSummary).includes("runner trace line"), false);
assert.equal(String(((queueSummary.pollCommands as JsonRecord).events)).includes("--tail-summary"), true);
assert.equal(((queueSummary.expandedOutput as JsonRecord).fullFlag), "--full");
assertNoSecretLeak(queueSummary);
return { name: "15-cli-events-summary", tests: ["runs-events-summary-tail", "runs-events-summary-tsv-redaction", "sessions-events-low-noise-summary", "queue-dispatch-low-noise-summary"] };
}