mirror of
https://github.com/hansjone/netx.git
synced 2026-10-09 10:40:46 +08:00
feat(web): NetX workbench, UME-only UI, i18n, and header status
- Replace sidebar app with workbench home and module tabs (openOrFocusModule) - Remove legacy pages; add module registry, shared tab channel, WEB.md - Add zh/en i18n, global ToastProvider, restore oclaw bridge pill in header Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
664775927b
commit
282dbe75af
33 changed files with 1631 additions and 1677 deletions
|
|
@ -1,79 +1,14 @@
|
|||
export type Batch = {
|
||||
batch_id: string;
|
||||
source_file: string;
|
||||
status: string;
|
||||
total_rows: number;
|
||||
success_rows: number;
|
||||
failed_rows: number;
|
||||
created_at: string;
|
||||
};
|
||||
|
||||
export type Alarm = {
|
||||
id: number;
|
||||
alarm_time: string;
|
||||
severity_norm: string;
|
||||
ne_name: string;
|
||||
alarm_code: string;
|
||||
};
|
||||
|
||||
export type AlarmQueryResponse = {
|
||||
total: number;
|
||||
page: number;
|
||||
page_size: number;
|
||||
items: Alarm[];
|
||||
};
|
||||
|
||||
export type Diagnostics = {
|
||||
batch_id: string;
|
||||
total_alarms: number;
|
||||
severity_summary?: Array<{ key: string; count: number }>;
|
||||
top_alarm_codes?: Array<{ key: string; count: number }>;
|
||||
top_ne?: Array<{ key: string; count: number }>;
|
||||
protocol_summary?: Array<{ key: string; count: number }>;
|
||||
};
|
||||
|
||||
export type IntegrationStatus = {
|
||||
netx_api: { status: "up" | "down" | "unknown"; [k: string]: unknown };
|
||||
db: { status: "up" | "down" | "unknown"; latency_ms?: number; error?: string; [k: string]: unknown };
|
||||
oclaw_bridge: {
|
||||
oclaw_bridge?: {
|
||||
status: "up" | "down" | "unknown";
|
||||
latency_ms?: number;
|
||||
http_status?: number | null;
|
||||
error_kind?: string;
|
||||
error?: string;
|
||||
detail?: unknown;
|
||||
[k: string]: unknown;
|
||||
};
|
||||
};
|
||||
|
||||
export type ImportHistoryItem = {
|
||||
kind: "alarms" | "logs" | "config";
|
||||
ts_ms: number;
|
||||
file_name: string;
|
||||
batch_id?: string;
|
||||
ok: boolean;
|
||||
summary: string;
|
||||
};
|
||||
|
||||
export type AiAnalyzeHistoryItem = {
|
||||
id: number;
|
||||
analysis_request_id?: string;
|
||||
batch_id: string;
|
||||
question: string;
|
||||
filters?: Record<string, unknown>;
|
||||
ok: boolean;
|
||||
answer?: string;
|
||||
error?: string;
|
||||
created_at: string;
|
||||
};
|
||||
|
||||
export type AiAnalyzeHistoryResponse = {
|
||||
total: number;
|
||||
page: number;
|
||||
page_size: number;
|
||||
items: AiAnalyzeHistoryItem[];
|
||||
};
|
||||
|
||||
export type UmeSyncJobItem = {
|
||||
id: number;
|
||||
domain: string;
|
||||
|
|
@ -82,7 +17,6 @@ export type UmeSyncJobItem = {
|
|||
pulled_count: number;
|
||||
inserted_count: number;
|
||||
updated_count: number;
|
||||
/** Full-snapshot reconcile deletes (inventory: NE rows; alarms_current: current alarm rows). */
|
||||
deleted?: number;
|
||||
error_message?: string;
|
||||
started_at: string;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue