Commit graph

536 commits

Author SHA1 Message Date
fe34319d65 Stabilize compare board KPIs: fixed run overview + sheet strip slots.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:13:49 +08:00
499a5fec2e Store compare diffs in row table with server-side paging per sheet.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:59:06 +08:00
33264d7b76 Redesign compare board for many sheets: sidebar nav + strip + table.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:46:14 +08:00
ab4cb6e27d Unify compare board colors to dark slate surfaces.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:34:05 +08:00
854b0950f5 Add compare result board, richer KPIs, and zip table export.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:23:26 +08:00
e9b8042ca7 Use schedule checkbox for biz-state; add compare job delete action.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:11:50 +08:00
108c9da00f Add seconds unit to biz-state collection interval picker.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:03:37 +08:00
ff37d0866a Align biz-state interval to days/hours and polish compare result workbook.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 18:57:25 +08:00
29b08f9807 Add biz-state schedule UI; empty port map ignores iface and lists unchanged diffs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 18:39:33 +08:00
ea6e0041c1 Multi-metric compare templates with presence mode and batch workbook results.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 17:47:51 +08:00
14f5870e19 Redesign biz compare: editable templates and pre/post result workbook.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 17:26:52 +08:00
4811a25ac3 Allow biz_state tasks from all CLI targets with searchable NE picker.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 17:21:16 +08:00
0a967b4172 Use modals and Excel-like metric sheets for biz_state batches.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 17:06:25 +08:00
1352535a9b Align biz_state pages with network management UI patterns.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 16:48:09 +08:00
06331ca763 Add biz_state Phase3 VRF discover-select and parameterized collect.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 16:37:31 +08:00
1e2cc98d49 Add biz_state Phase2 cutover compare (templates, port maps, jobs, UI).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 16:25:52 +08:00
4fa1b9b4dc Add biz_state monitoring with shared LLDP parse and batch collect.
Introduce ParseProfile-based business state tasks that reuse LLDP parsing for snapshot batches (separate from topology Fabric writes), with scheduler, export, and a Phase1 UI under network tasks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 16:17:04 +08:00
066158d2f7 Define port traffic samples logger used by retention purge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 10:22:34 +08:00
5d2c05a286 Fix Accordion expandedKeys type for HeroUI build.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 09:40:31 +08:00
41fd5b62a4 Polish network shell and UME with HeroUI chips and denser layouts.
Refresh left-nav/main chrome, unify list status chips across network pages, and merge UME token with alarm subscription into one top card.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 00:13:24 +08:00
0a4561f385 Remove legacy OClaw alarm WSS and fix key-alert rules table layout.
Key alerts now deliver only via the DSH hub; Modal Body no longer flex-shrinks the rules rows to empty.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 23:10:26 +08:00
f937efa0f9 Fix API token name Input to use native disabled prop.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 00:08:11 +08:00
6d21d45185 Embed login password eye toggle inside the field.
EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 23:51:33 +08:00
b5da5948a8 Make UME CLI sample NE test a filterable picker.
Pull top-5 matches from UME inventory, expand the list in-flow under the input, and auto-scroll the modal to keep results visible.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 17:38:27 +08:00
cd6e1f1069 Redesign workbench FLEET into aligned donuts and a clickable sched dartboard.
Drop fabric reconcile as redundant with topology, open the traffic wall from the sched card, and surface scheduler tick ages in metrics types.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 16:55:09 +08:00
c4526e36d8 Polish HeroUI chrome, topology toolbar, and session client IP.
Checkpoint before workbench facade redesign: list defaults, API key quota, toast portal, topology canvas editor toolbar with More menu, and trusted-proxy client IP for sessions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 15:10:57 +08:00
5096117ad4 Show DSH alarm hub multi-subscriber status instead of OClaw single link.
Track per-connection metadata on the hub and surface it in the UME key-alert UI so operators can see which Netx Ops clients are subscribed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:57:42 +08:00
0f8a06bfba Expand netx-ops into a field playbook with clear CLI batch rules.
Document host_name-only replies, vendor/? exploration, and same-vendor command variance without abandoning working commands.
2026-09-06 20:58:22 +08:00
e732e1a0a7 Merge nms and common skills into netx-ops.
Login/CLI playbooks now share one skill with NMS tools so hosts cannot load alarms-only guidance.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 02:11:02 +08:00
13ce2482ab Add shared skills tree and rename MCP NMS tools to *Nms*.
Canonical playbooks live under skills/; netx-mcp 0.3.0 exposes queryNmsAlarms et al. with nms_ne_id aliases.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 01:46:21 +08:00
5e7d14f253 Add DSH key-alarm subscribe hub for outbound netxops clients.
netx hosts /v1/integrations/dsh-alarm/ws; matched key alerts fan out to dialed-in DSH subscribers while the optional oclaw bridge remains.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 20:50:50 +08:00
bd01440e9d Fix empty Cisco IOSv CLI output and harden Windows stop/start.
Drain leftover prompts before Netmiko send_command, and make stop/start tolerate orphan workers and locked log files.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 03:31:09 +08:00
3612dd6e45 Fix log audit record bug 2026-09-03 14:19:51 +08:00
4295b6d677 Add WebCRT R1 audit e2e helper that reads credentials from the environment.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 22:02:52 +08:00
f4ce8caf3e Harden WebCRT Enter audit so logged commands match the visible line.
Fix bare Enter re-audits, Tab expansion lag, and history mid-line edits by preferring the xterm/device row at Enter and rejecting empty-prompt snapshots.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 22:01:28 +08:00
fcef3b59ac Fix WebCRT command audit loss on merged stdin flush and early input.
Audit every completed stdin line per flush, keep a list of audit_line hints from the router, restore prompt enrichment and stdout fallback, and record actual bytes when hints disagree with what was sent.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 15:58:55 +08:00
302ebfac23 Tighten WebCRT command audit: reject device errors and stdout replay.
Only audit interactive commands from frontend audit_line with a CLI prompt prefix; skip prompt-sync Enter and device error echoes; join wrapped xterm rows for long commands.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 14:47:12 +08:00
52424dce37 Dedupe WebCRT command audit on double-fired Enter.
xterm and keydown can both emit carriage return for one keypress; skip duplicate Enter frames on the client and collapse identical audits within 450ms on the server.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 14:25:27 +08:00
7ca57278fe Skip WebCRT audit for empty Enter on prompt-only lines.
Do not reuse the previous command when the operator presses Enter on a blank prompt; validate prompt-only rows on both frontend and backend.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 11:37:06 +08:00
b35e56afb0 Prefer xterm visible line for WebCRT command audit on Enter.
PTY stdout/stdin carry backspace and edit noise during typing; record only the final row the operator sees when pressing Enter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 11:13:41 +08:00
6ea14e6d5e Audit WebCRT commands from device stdout after tab completion.
ZTE tab redraws the input line via carriage return; parse the last prompt line from PTY stdout on Enter instead of stdin keystrokes. Also remove remaining ?? in AuditPage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 10:53:15 +08:00
a9c7e81793 Fix WebCRT build regression and AuditPage nullish coalescing.
Remove duplicate serializeTerminal fragment that broke WebTerminal compilation; rewrite ne.exec_batch count without mixing ?? and ||.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 10:33:10 +08:00
3fd1e9131d Record WebCRT commands from xterm visible line including prompt.
On Enter, send audit_line from the terminal row so tab completion and edits match what the operator executed; keep the device prompt prefix in audit logs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 09:58:48 +08:00
eb76e07a46 Fix AuditPage build error mixing nullish coalescing with logical OR.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 09:34:15 +08:00
dd35234599 Remove the operation-log noise hint from the audit page.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 21:57:11 +08:00
61531e524f Audit only intentional auth actions, not automatic 401/403 gates.
Stop recording unauthorized/forbidden/password-gate and silent refresh; keep login, logout, and failed-login style events.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 21:51:59 +08:00
d35d3992c2 Dedupe auth.unauthorized floods from unauthenticated page loads.
Keep one 401 audit per IP+path window, and hide historical unauthorized noise from the default business view.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 21:48:18 +08:00
ea3d45ddc2 Stop auditing successful auth.me and auth.sessions polls.
These are UI session checks that flooded the business audit view; keep failures only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 21:44:52 +08:00
c181158209 Drop HTTP polling noise from operation audit by default.
Persist only business events and mutating/failed HTTP calls, and default the audit UI to a business view with an explicit HTTP filter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 21:41:05 +08:00
8915455b52 Record WebCRT device login/commands and NE exec in operation audit.
Make session lifecycle and typed CLI lines searchable in audit_log with password redaction, and surface summaries plus device filters in the ops UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 21:36:44 +08:00