export type EntryStatus = 'draft' | 'verified' | 'rejected'; export type Suggestion = 'adopt' | 'reject' | 'review'; export type Scope = 'origin' | 'all'; export const STATUS_LABEL: Record = { draft: '待审', verified: '已采纳', rejected: '已驳回', }; export const CATEGORY_LABEL: Record = { control_tip: '控件技巧', path: '入口路径', rule: '系统规则', note: '其他', }; export const SUGGESTION_LABEL: Record = { adopt: '建议采纳', reject: '建议驳回', review: '需人工判断', }; export const SCOPE_LABEL: Record = { origin: '仅来源学校', all: '所有学校', }; export interface Entry { id: number; knowledge_id: string; business_id: string; key: string; value: string; category: string; status: EntryStatus; scope: Scope; observations: number; school_count: number; // 试用证据:各校 Agent 在真实页面上验证相符 / 不符的次数 confirmed: number; contradicted: number; origin_school_id: string; schools: string | null; version: number; suggestion: Suggestion | null; suggestion_note: string; suggested_at: string | null; reviewed_by: string | null; reviewed_at: string | null; created_at: string; updated_at: string; } export interface School { id: string; name: string; note: string; created_at: string; last_seen_at: string | null; last_report_at: string | null; last_pull_at: string | null; reported_entries: number; } export interface SyncRow { id: number; school_id: string; direction: 'report' | 'pull'; count: number; detail: string; at: string; } export interface Facet { knowledge_id: string; business_id: string; drafts: number; total: number; } export interface Stats { by_status: Partial>; draft_by_category: Record; schools: number; recent_sync: SyncRow[]; facets: Facet[]; } export interface Meta { pid: number; uptime_s: number; db: string; console_auth: boolean; llm_ready: boolean; llm_model: string; }