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>
Some hops only accept stelnet in system-view; make it a saved yes/no setting (default off) instead of auto-retry, and always ALTER the new column on API boot when Alembic skips legacy DDL.
Co-authored-by: Cursor <cursoragent@cursor.com>
Topology MCP adds pull/compact/bundle/suggest-hubs with a no-template skill path; API gains fabric level and NE collection policy; web list pages get paging and denser collect/network workflows.
Co-authored-by: Cursor <cursoragent@cursor.com>
Mirror config-sync retry_failed so operators can re-collect hard failures and empty/stub LLDP results without re-running the full scope.
Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve ports from EQ+PTP first, enrich from LLDP when compatible, miss only on valid LLDP evidence, and paint UME solid blue / LLDP dashed / missing red. Also localize new root maps as Root map in English.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep visited regions when panning, prefetch detail on search locate with a gold flashing target highlight, and shrink default NE icons so dense UME layouts stay readable.
Co-authored-by: Cursor <cursoragent@cursor.com>
Seed a unique L2 World canvas under the UME World container, show the flat map only when nested regions have NEs, pack blocks without overlap, allow drag overrides on the world map while forbidding direct NE adds, and hide the world-map truncation banner.
Co-authored-by: Cursor <cursoragent@cursor.com>
Project-neighbors supports dry_run for local dirty canvas; Save flushes adds. Connect mode uses drag-from side anchors with smoothstep elbows instead of click-click.
Co-authored-by: Cursor <cursoragent@cursor.com>
Queue fabric edge deletes until Save with undo-safe pending state; hard-delete topology/LLDP placeholders from the canvas; purge fully orphaned fabric nodes after inventory detach, with a periodic reconcile GC.
Co-authored-by: Cursor <cursoragent@cursor.com>
Toolbar and pane context menu create placeholders that follow the same setup path as LLDP in NE management and WebCRT.
Co-authored-by: Cursor <cursoragent@cursor.com>
Claim the existing placeholder in place and promote source to webcrt instead of prompting for password-only auth.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align collection tasks with LLDP/config-sync chrome, and refresh active-task overview when jobs change.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sample Windows CPU via Processor Utility so values match Task Manager, and expose host metrics on /v1/metrics/json for the workbench poll.
Co-authored-by: Cursor <cursoragent@cursor.com>
Paginate LLDP job items, surface port-traffic raw logs with a 300s default, harden topology discover/edit/zoom/fullscreen, and join mid-token CLI wraps before TextFSM.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add capability RBAC, Alembic bootstrap, optional worker schedulers, and close public docs by default so lab installs stay usable without shared signing keys.
Co-authored-by: Cursor <cursoragent@cursor.com>
Unify live runners in /audit/tasks (including UME sync and connect tests), extend port-traffic compare past now via ahead_hours, and distinguish WebCRT connecting/ready/detached.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fix unreadable collect-log contrast, surface errors on the Logs button, and let operators re-link a monitor to a chosen inventory NE without wiping samples.
Co-authored-by: Cursor <cursoragent@cursor.com>
Treat Fabric as an inventory sheet for role/region tagging and slices; detach fabric links on managed/UME delete instead of cascading map deletes. Extend collection to all managed and UME NEs, show NE source in management, and refine canvas vendor icon tones.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add fabric link browsing, conservative job retention, hour-based intervals, multi-worker start locking, and trim canvas discover UI in favor of the LLDP page.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move scheduled discovery under Network → LLDP links, mark absent edges missing after one successful scan, purge only after four miss cycles, and expose unmatched/raw job detail.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stream large uploads/downloads with progress, raise the size cap, and support drag-drop folders plus fixed/resizable columns.
Co-authored-by: Cursor <cursoragent@cursor.com>
Open SFTP on the live session transport after SSH connect, pass the target path on every list refresh, and use folder/file icons in the browser panel.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add quick-connect sessions with credential retry, raw interactive drivers, bootstrap banner replay, Huawei telnet prompt cleanup, and session rename/delete in the tree.
Co-authored-by: Cursor <cursoragent@cursor.com>
Persist board/panel layouts server-side, open each board outside the network shell so workbench reloads do not refresh walls, and fix mapped-baseline chart overlay plus fullscreen fit.
Co-authored-by: Cursor <cursoragent@cursor.com>
Split the ops wall to its own route with fullscreen charts, persist collect errors as device events, and polish wall legend layout.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add tool modes, layouts, and per-edge/default style overrides with a cleaner toolbar and context menus.
Co-authored-by: Cursor <cursoragent@cursor.com>
Compare by interface target_id with optional mapped baseline (same window or time-shifted), keep chart samples on target_row_id, and unify UI wording to interface.
Co-authored-by: Cursor <cursoragent@cursor.com>
Per-NE failures stay in fail_count for retry; completed cycles no longer fail the whole run. Configurations page can download txt/zip snapshots.
Co-authored-by: Cursor <cursoragent@cursor.com>
These raw fetch/navigation paths skipped Authorization after login was required, same class of bug as topology discover stream.
Co-authored-by: Cursor <cursoragent@cursor.com>
The SSE discover endpoint used raw fetch without Authorization, so login sessions got unauthorized after auth was enabled.
Co-authored-by: Cursor <cursoragent@cursor.com>
Nested stelnet/telnet captures hop TTY width at start; Netmiko's default 511 cols made mid-line edit redraws wrap and garble in ~80-col WebCRT.
Co-authored-by: Cursor <cursoragent@cursor.com>
Gate netx Web/API/WebCRT with JWT and per-user API tokens, bootstrap an admin with forced password change, and expose users/audit/API-key management under a System section. MCP can reuse data/auth/mcp_token without extra env for local labs.
Co-authored-by: Cursor <cursoragent@cursor.com>