feat: add workbench triad observe collect view

This commit is contained in:
Codex
2026-07-02 04:39:03 +00:00
parent 1b24e994f8
commit 6a7da005e4
4 changed files with 201 additions and 4 deletions
+65 -1
View File
@@ -2096,6 +2096,65 @@ function compactObserveCollectForRaw(collect: Record<string, unknown> | null): R
valuesRedacted: true,
};
}) : undefined;
const collectView = typeof collect.view === "string" ? collect.view : null;
const slimNetworkEvidence = (value: unknown): Record<string, unknown> => {
const source = observeRecord(value);
const latestTurn = observeRecord(source.latestTurnResponse);
const latestTrace = observeRecord(source.latestTraceEventsResponse);
return {
requestCount: source.requestCount ?? null,
responseCount: source.responseCount ?? null,
failedCount: source.failedCount ?? null,
terminalResponseCount: source.terminalResponseCount ?? null,
turnResponseCount: source.turnResponseCount ?? null,
traceEventsResponseCount: source.traceEventsResponseCount ?? null,
latestTurnResponse: {
ts: latestTurn.ts ?? null,
sampleSeq: latestTurn.sampleSeq ?? null,
status: latestTurn.status ?? null,
bodySummary: observeRecord(latestTurn.bodySummary),
valuesRedacted: true,
},
latestTraceEventsResponse: {
ts: latestTrace.ts ?? null,
sampleSeq: latestTrace.sampleSeq ?? null,
status: latestTrace.status ?? null,
bodySummary: observeRecord(latestTrace.bodySummary),
valuesRedacted: true,
},
valuesRedacted: true,
};
};
const slimFreeze = (value: unknown): Record<string, unknown> => {
const source = observeRecord(value);
const blocker = observeRecord(source.latestBlocker);
return {
blockerCount: source.blockerCount ?? null,
responsivenessEventCount: source.responsivenessEventCount ?? null,
latestBlocker: {
ts: blocker.ts ?? null,
sampleSeq: blocker.sampleSeq ?? null,
rootCause: blocker.rootCause ?? null,
rootCauseStatus: blocker.rootCauseStatus ?? null,
fallbackAllowed: blocker.fallbackAllowed === true,
observed: observeRecord(blocker.observed),
page: observeRecord(blocker.page),
valuesRedacted: true,
},
valuesRedacted: true,
};
};
const slimFindings = Array.isArray(collect.findings) ? collect.findings.slice(0, 6).map((item) => {
const row = observeRecord(item);
return {
id: row.id ?? null,
severity: row.severity ?? null,
count: row.count ?? null,
rootCause: row.rootCause ?? row.rootCauseStatus ?? null,
summary: typeof row.summary === "string" ? row.summary.slice(0, 140) : row.summary ?? null,
valuesRedacted: true,
};
}) : undefined;
return {
ok: collect.ok !== false,
command: collect.command,
@@ -2110,12 +2169,17 @@ function compactObserveCollectForRaw(collect: Record<string, unknown> | null): R
counts: observeRecord(collect.counts),
...(rows === undefined ? {} : { rows }),
...(timelineRows === undefined ? {} : { timelineRows }),
renderedText: collect.view === "timeline" ? undefined : typeof collect.renderedText === "string" ? collect.renderedText : undefined,
renderedText: collectView === "timeline" || collectView === "workbench-triad" ? undefined : typeof collect.renderedText === "string" ? collect.renderedText : undefined,
sourceFiles: Array.isArray(collect.sourceFiles) ? collect.sourceFiles : undefined,
blocker: collect.blocker,
sampleSeq: collect.sampleSeq,
traceId: collect.traceId,
finalResponse: collect.finalResponse,
statusGap: observeRecord(collect.statusGap),
dom: observeRecord(collect.dom),
networkEvidence: collectView === "workbench-triad" ? slimNetworkEvidence(collect.networkEvidence) : observeRecord(collect.networkEvidence),
freeze: collectView === "workbench-triad" ? slimFreeze(collect.freeze) : observeRecord(collect.freeze),
findings: collectView === "workbench-triad" ? slimFindings : Array.isArray(collect.findings) ? collect.findings.slice(0, 8) : undefined,
valuesRedacted: true,
};
}