feat: add workbench triad observe collect view
This commit is contained in:
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user