fix: 收敛 session 输出渐进披露与 stdin 输入 (#136)
Co-authored-by: Codex <codex@pikas.tech>
This commit is contained in:
@@ -34,30 +34,52 @@ export default function selfTest(_context: SelfTestContext): SelfTestResult {
|
||||
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 },
|
||||
items: [
|
||||
{ id: "evt_tool", seq: 265, type: "tool_call", payload: { itemId: "tool_noise", method: "commandExecution", status: "completed", command: "printf hidden", outputSummary: "tool completed" } },
|
||||
{ id: "evt_output", seq: 266, type: "command_output", payload: { itemId: "tool_noise", text: hugeRunnerTrace, outputSummary: "large stdout", outputBytes: 100_000, outputTruncated: true } },
|
||||
{
|
||||
id: "evt_status",
|
||||
seq: 267,
|
||||
type: "backend_status",
|
||||
payload: {
|
||||
phase: "turn/cancelled",
|
||||
status: "cancelled",
|
||||
commandId: "cmd_noise",
|
||||
runnerTrace: { raw: hugeRunnerTrace },
|
||||
rawEvent: { nested: hugeRunnerTrace },
|
||||
},
|
||||
},
|
||||
}],
|
||||
count: 1,
|
||||
],
|
||||
count: 3,
|
||||
cursor: "266",
|
||||
}, { kind: "trace", sessionId: "sess_noise", afterSeq: 250, limit: 100, runId: null, tail: null, summaryChars: 80 });
|
||||
}, { kind: "trace", sessionId: "sess_noise", afterSeq: 250, limit: 100, runId: null, tail: null, summaryChars: 80, includeOutput: false });
|
||||
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(sessionSummary.sourceCount, 3);
|
||||
assert.equal(sessionSummary.displayedCount, 1);
|
||||
assert.equal(sessionSummary.nextAfterSeq, 267);
|
||||
assert.equal((sessionSummary.suppressedEvents as JsonRecord).count, 2);
|
||||
assert.equal(((sessionSummary.suppressedEvents as JsonRecord).byType as JsonRecord).command_output, 1);
|
||||
assert.equal(((sessionSummary.suppressedEvents as JsonRecord).byType as JsonRecord).backend_status, 1);
|
||||
assert.deepEqual(sessionItems.map((item) => item.type), ["tool_call"]);
|
||||
assert.equal(((sessionItems[0]?.detailCommands as JsonRecord).item as string).includes("--item-id tool_noise"), true);
|
||||
assert.equal(((sessionItems[0]?.detailCommands as JsonRecord).seq as string).includes("--seq 265"), true);
|
||||
assert.ok(Number((sessionSummary.suppressedEvents as JsonRecord).outputBytes) > 0);
|
||||
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 sessionOutputIncluded = summarizeSessionEventPage({
|
||||
sessionId: "sess_noise",
|
||||
runId: "run_noise",
|
||||
items: [{ id: "evt_output", seq: 266, type: "command_output", payload: { itemId: "tool_noise", text: hugeRunnerTrace, outputSummary: "large stdout", outputBytes: 100_000, outputTruncated: true } }],
|
||||
count: 1,
|
||||
cursor: "266",
|
||||
}, { kind: "output", sessionId: "sess_noise", afterSeq: 250, limit: 100, runId: "run_noise", tail: null, summaryChars: 80, includeOutput: true });
|
||||
assert.equal(((sessionOutputIncluded.items as JsonRecord[])[0]?.detailCommands as JsonRecord).seq, "./scripts/agentrun sessions output sess_noise --seq 266 --run-id run_noise --full");
|
||||
assert.equal(JSON.stringify(sessionOutputIncluded).includes("runner trace line"), false);
|
||||
|
||||
const queueSummary = summarizeQueueDispatchResult({
|
||||
action: "queue-dispatch",
|
||||
mutation: true,
|
||||
|
||||
Reference in New Issue
Block a user