feat(orchestrator): observe Page Data validation
This commit is contained in:
@@ -460,6 +460,25 @@ export type OrchestratorShadowRunDetail = {
|
||||
phase?: string;
|
||||
plan?: Record<string, unknown>;
|
||||
result?: Record<string, unknown>;
|
||||
validation?: {
|
||||
version?: string;
|
||||
kind?: string;
|
||||
taskType?: string | null;
|
||||
required?: boolean;
|
||||
verdict?: 'passed' | 'failed' | 'inconclusive';
|
||||
checks?: Array<{
|
||||
id?: string;
|
||||
status?: 'passed' | 'failed' | 'skipped';
|
||||
codes?: string[];
|
||||
}>;
|
||||
metrics?: {
|
||||
pageCount?: number;
|
||||
publicationCount?: number;
|
||||
};
|
||||
source?: string;
|
||||
dataPolicy?: string;
|
||||
observedAt?: number;
|
||||
} | null;
|
||||
} | null;
|
||||
events: Array<{
|
||||
sequence?: number;
|
||||
|
||||
@@ -328,6 +328,19 @@ export function OrchestratorShadowPanel() {
|
||||
{selected.remote.executorJob.error.message}
|
||||
</p>
|
||||
) : null}
|
||||
{selected.remote.state?.validation ? (
|
||||
<p
|
||||
className={selected.remote.state.validation.verdict === 'failed' ? 'alert' : undefined}
|
||||
style={{ color: selected.remote.state.validation.verdict === 'failed' ? undefined : '#4f6258' }}
|
||||
>
|
||||
Page Data 验证:
|
||||
{selected.remote.state.validation.verdict ?? 'unknown'}
|
||||
{' · '}
|
||||
{selected.remote.state.validation.checks?.length ?? 0} 项检查
|
||||
{' · '}
|
||||
{selected.remote.state.validation.dataPolicy ?? 'unknown-policy'}
|
||||
</p>
|
||||
) : null}
|
||||
<div style={{ display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))', gap: 12 }}>
|
||||
<div>
|
||||
<strong>LangGraph checkpoint</strong>
|
||||
|
||||
Reference in New Issue
Block a user