fix: 固化 Workbench Trace 可读性探针

This commit is contained in:
Codex
2026-07-10 18:00:24 +02:00
parent 92686ff213
commit b6f5e5efd4
21 changed files with 1378 additions and 16 deletions
+31
View File
@@ -155,6 +155,7 @@ export interface HwlabRuntimeWebProbeSpec {
readonly projectManagement?: HwlabRuntimeWebProbeProjectManagementSpec;
readonly realtimeFanoutProfiles?: Readonly<Record<string, HwlabRuntimeWebProbeRealtimeFanoutProfileSpec>>;
readonly workbenchKafkaDebugReplay?: HwlabRuntimeWebProbeWorkbenchKafkaDebugReplaySpec;
readonly workbenchTraceReadability?: HwlabRuntimeWebProbeWorkbenchTraceReadabilitySpec;
}
export interface HwlabRuntimeWebProbeWorkbenchKafkaDebugReplaySpec {
@@ -164,6 +165,18 @@ export interface HwlabRuntimeWebProbeWorkbenchKafkaDebugReplaySpec {
readonly completionTimeoutMs: number;
}
export interface HwlabRuntimeWebProbeWorkbenchTraceReadabilitySpec {
readonly enabled: boolean;
readonly runningCardTimeoutMs: number;
readonly disclosureActionTimeoutMs: number;
readonly disclosureOpenTimeoutMs: number;
readonly runningReadableTimeoutMs: number;
readonly terminalTimeoutMs: number;
readonly domStableQuietMs: number;
readonly domStableTimeoutMs: number;
readonly pollIntervalMs: number;
}
export interface HwlabRuntimeWebProbeRealtimeFanoutProfileSpec {
readonly subscriberCount: 2;
readonly debugStreams: readonly ("stdio" | "agentrun" | "hwlab")[];
@@ -1309,6 +1322,9 @@ function webProbeConfig(value: unknown, path: string): HwlabRuntimeWebProbeSpec
...(raw.workbenchKafkaDebugReplay === undefined
? {}
: { workbenchKafkaDebugReplay: webProbeWorkbenchKafkaDebugReplayConfig(raw.workbenchKafkaDebugReplay, `${path}.workbenchKafkaDebugReplay`) }),
...(raw.workbenchTraceReadability === undefined
? {}
: { workbenchTraceReadability: webProbeWorkbenchTraceReadabilityConfig(raw.workbenchTraceReadability, `${path}.workbenchTraceReadability`) }),
};
}
@@ -1332,6 +1348,21 @@ function webProbeWorkbenchKafkaDebugReplayConfig(value: unknown, path: string):
};
}
function webProbeWorkbenchTraceReadabilityConfig(value: unknown, path: string): HwlabRuntimeWebProbeWorkbenchTraceReadabilitySpec {
const raw = asRecord(value, path);
return {
enabled: booleanField(raw, "enabled", path),
runningCardTimeoutMs: numberField(raw, "runningCardTimeoutMs", path),
disclosureActionTimeoutMs: numberField(raw, "disclosureActionTimeoutMs", path),
disclosureOpenTimeoutMs: numberField(raw, "disclosureOpenTimeoutMs", path),
runningReadableTimeoutMs: numberField(raw, "runningReadableTimeoutMs", path),
terminalTimeoutMs: numberField(raw, "terminalTimeoutMs", path),
domStableQuietMs: numberField(raw, "domStableQuietMs", path),
domStableTimeoutMs: numberField(raw, "domStableTimeoutMs", path),
pollIntervalMs: numberField(raw, "pollIntervalMs", path),
};
}
function webProbeOriginsConfig(value: unknown, path: string): HwlabRuntimeWebProbeOriginsSpec {
const raw = asRecord(value, path);
for (const key of Object.keys(raw)) {