netx/netx_api
oliver 32d7d969f6 feat: refine cutover operations board and monitoring performance
Protect previous wave coverage, normalize batch identities, cache shared metric evidence, and batch diff inserts. Add live continuity KPIs, server paging and filters, scoped business selection, and preserve legacy monitor rule metadata.

Validation: 198 backend tests passed with 1 opt-in benchmark skipped; 14 frontend unit tests and 24 browser checks passed; TypeScript and production build passed.
2026-10-11 07:55:04 +08:00
..
biz_migration feat: refine cutover operations board and monitoring performance 2026-10-11 07:55:04 +08:00
biz_state fix: enforce business continuity and live cutover monitoring 2026-10-11 07:33:17 +08:00
cli_templates Make bgp_route hand-only for divergent IN/OUT CLI layouts. 2026-09-23 15:36:25 +08:00
config/parsers feat: initialize netx ops tool repository 2026-05-03 23:43:21 +08:00
mcp Add UME TopoNodes/TopologicalLinks daily sync into local tables. 2026-08-06 18:17:45 +08:00
models Make biz compare async and cutover-friendly for large tables. 2026-10-08 10:47:39 +08:00
__init__.py feat(mcp): add netx-mcp package and HTTP stdio MCP 2026-05-30 15:44:32 +08:00
alarms_router.py Split port traffic service and replace deprecated UTC/lifespan APIs. 2026-08-02 17:06:46 +08:00
ap_client.py fix(oclaw-bridge): disable system proxy for localhost health calls 2026-05-09 16:10:34 +08:00
app_shutdown.py Add biz_state monitoring with shared LLDP parse and batch collect. 2026-09-17 16:17:04 +08:00
app_startup.py Add compare batch cancel and restart recovery so stuck runs unblock. 2026-10-08 14:48:10 +08:00
audit_async.py Audit only intentional auth actions, not automatic 401/403 gates. 2026-09-01 21:51:59 +08:00
auth_cookies.py Harden auth with revocable sessions, cookies, and single-login default. 2026-08-06 14:13:37 +08:00
auth_deps.py Harden auth with revocable sessions, cookies, and single-login default. 2026-08-06 14:13:37 +08:00
auth_middleware.py Add Windows packaging with bundled UI and dual-mode PostgreSQL. 2026-10-06 22:52:03 +08:00
auth_passwords.py feat(auth): add local login, audit, API keys, and system admin UI 2026-07-30 02:34:25 +00:00
auth_rate_limit.py Harden auth with revocable sessions, cookies, and single-login default. 2026-08-06 14:13:37 +08:00
auth_router.py Polish HeroUI chrome, topology toolbar, and session client IP. 2026-09-12 15:10:57 +08:00
auth_schemas.py Harden auth with revocable sessions, cookies, and single-login default. 2026-08-06 14:13:37 +08:00
auth_scopes.py Add NE capability descriptors and native async exec jobs for agents. 2026-10-06 18:32:14 +08:00
auth_service.py Polish HeroUI chrome, topology toolbar, and session client IP. 2026-09-12 15:10:57 +08:00
auth_tokens.py Harden auth with revocable sessions, cookies, and single-login default. 2026-08-06 14:13:37 +08:00
biz_migration_router.py fix: enforce business continuity and live cutover monitoring 2026-10-11 07:33:17 +08:00
biz_state_router.py fix(biz-compare): validate templates and protect comparison inputs 2026-10-11 05:56:09 +08:00
biz_state_scheduler.py Fix ZTE BGP RR *i/RD parsing and add batch collect detail UX. 2026-09-23 10:52:43 +08:00
biz_state_worker.py Scale biz_state collects with dedicated workers and non-blocking UI poll. 2026-09-22 17:00:37 +08:00
cli_budget.py Raise runtime defaults for multi-user shared-server deployments. 2026-08-02 18:11:12 +08:00
cli_creds.py Skip CLI startup when device credentials are incomplete. 2026-08-11 15:11:59 +08:00
cli_resolve.py Add opt-in per-NE CLI exec_policy for MCP/API exec. 2026-09-22 09:27:40 +08:00
cli_router.py feat(cli): UME lazy exec via shared profiles and ume_ne_id MCP support 2026-06-26 17:13:49 +08:00
cli_schemas.py Add explicit Huawei hop system-view option and startup column safety-net. 2026-08-28 23:58:05 +08:00
cli_service.py Add explicit Huawei hop system-view option and startup column safety-net. 2026-08-28 23:58:05 +08:00
cli_timeout.py Harden runtime budgets: DB pool, CLI concurrency, timeouts, and metrics. 2026-08-02 18:02:43 +08:00
cli_wrap.py Improve topology UX, traffic discover logs, and CLI wrap parsing. 2026-08-03 19:24:43 +08:00
client_ip.py Polish HeroUI chrome, topology toolbar, and session client IP. 2026-09-12 15:10:57 +08:00
collection_job_state.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
collection_policy.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
collection_recovery.py feat(ops): add managed NE management and batch CLI collection 2026-05-27 23:34:29 +08:00
collection_router.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
collection_schemas.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
collection_service.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
config.py Release 0.4.5: installer DB wizard, credential key, lean offline Setup. 2026-10-07 14:44:40 +08:00
config_sync_codec.py Add industrial config sync separate from collection tasks. 2026-07-31 10:25:36 +08:00
config_sync_commands.py Switch CLI parsing to TextFSM and polish topology/workbench UX. 2026-08-02 23:06:40 +08:00
config_sync_common.py Raise runtime defaults for multi-user shared-server deployments. 2026-08-02 18:11:12 +08:00
config_sync_cycles.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
config_sync_recovery.py Add config-sync cycle retention alongside config history keep. 2026-08-02 03:44:35 +00:00
config_sync_router.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
config_sync_runner.py Disable target paging after hop login and keep CLI echo on timeouts. 2026-08-29 12:30:33 +08:00
config_sync_scheduler.py Expose worker scheduler health via heartbeat and isolate WebCRT IO. 2026-08-02 18:37:06 +08:00
config_sync_schemas.py Raise runtime defaults for multi-user shared-server deployments. 2026-08-02 18:11:12 +08:00
config_sync_service.py Split topology classify and config sync services by domain. 2026-08-02 17:21:50 +08:00
config_sync_snapshots.py Split topology classify and config sync services by domain. 2026-08-02 17:21:50 +08:00
db.py Harden runtime budgets: DB pool, CLI concurrency, timeouts, and metrics. 2026-08-02 18:02:43 +08:00
db_storage_metrics.py Show netx database used size on the workbench storage gauge. 2026-08-06 09:36:17 +08:00
device_types.py Add topology-canvas placeholder NE create (source=topology). 2026-08-05 17:42:51 +08:00
dsh_alarm_hub.py Show DSH alarm hub multi-subscriber status instead of OClaw single link. 2026-09-10 16:57:42 +08:00
fabric_reconcile_scheduler.py Defer canvas edge deletes to Save and cascade orphan Fabric on NE detach. 2026-08-05 22:43:03 +08:00
host_metrics.py Unify dark UI surfaces and add adjustable topology canvas background. 2026-08-04 23:56:18 +08:00
importer.py feat: initialize netx ops tool repository 2026-05-03 23:43:21 +08:00
integrations_router.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
key_alert_config.py fix(ume): global clear-push setting, schema migration, and help hints 2026-06-22 17:26:49 +08:00
key_alert_forward.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
key_alert_matcher.py feat(ume): ne_type filter, rule edit, and pager layout 2026-06-23 20:44:33 +08:00
lldp_collect_router.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
lldp_collect_scheduler.py Expose worker scheduler health via heartbeat and isolate WebCRT IO. 2026-08-02 18:37:06 +08:00
lldp_collect_schemas.py Add LLDP collect retry for failed and weak-evidence NEs. 2026-08-11 11:25:57 +08:00
lldp_collect_service.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
lldp_shared.py Add biz_state monitoring with shared LLDP parse and batch collect. 2026-09-17 16:17:04 +08:00
main.py Add Windows packaging with bundled UI and dual-mode PostgreSQL. 2026-10-06 22:52:03 +08:00
managed_ne_router.py Add NE capability descriptors and native async exec jobs for agents. 2026-10-06 18:32:14 +08:00
mcp_server.py feat(mcp): add netx-mcp package and HTTP stdio MCP 2026-05-30 15:44:32 +08:00
metrics_router.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
ne_capability.py Add NE capability descriptors and native async exec jobs for agents. 2026-10-06 18:32:14 +08:00
ne_cli_errors.py Fix ZTE hop false auth rejects by treating CLI prompt as success. 2026-08-31 10:46:16 +08:00
ne_cli_hop.py Split ne_session_factory into templates, CLI hop detection, and connect paths. 2026-08-02 17:15:57 +08:00
ne_collect_runner.py Fix empty Cisco IOSv CLI output and harden Windows stop/start. 2026-09-05 03:31:09 +08:00
ne_collect_scheduler.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
ne_collection_paths.py Harden retention under one-click start: UME raw caps and collection TTL. 2026-08-02 18:16:30 +08:00
ne_connect.py Add topology NE create/connect flows and trim connect-test logs. 2026-09-01 20:37:42 +08:00
ne_crypto.py Release 0.4.5: installer DB wizard, credential key, lean offline Setup. 2026-10-07 14:44:40 +08:00
ne_exec.py Add opt-in per-NE CLI exec_policy for MCP/API exec. 2026-09-22 09:27:40 +08:00
ne_exec_guard.py Add NE capability descriptors and native async exec jobs for agents. 2026-10-06 18:32:14 +08:00
ne_exec_jobs.py Add NE capability descriptors and native async exec jobs for agents. 2026-10-06 18:32:14 +08:00
ne_hop_templates.py Support bastion hop hosts as FQDN and pasted OpenSSH destinations. 2026-08-11 17:36:45 +08:00
ne_netmiko.py Add NE capability descriptors and native async exec jobs for agents. 2026-10-06 18:32:14 +08:00
ne_schemas.py Add NE capability descriptors and native async exec jobs for agents. 2026-10-06 18:32:14 +08:00
ne_service.py Support bastion hop hosts as FQDN and pasted OpenSSH destinations. 2026-08-11 17:36:45 +08:00
ne_service_common.py Add opt-in per-NE CLI exec_policy for MCP/API exec. 2026-09-22 09:27:40 +08:00
ne_service_crud.py Add NE capability descriptors and native async exec jobs for agents. 2026-10-06 18:32:14 +08:00
ne_service_import.py Split UME routes and managed-NE service by domain. 2026-08-02 17:03:42 +08:00
ne_service_webcrt.py Add topology-canvas placeholder NE create (source=topology). 2026-08-05 17:42:51 +08:00
ne_session_connect.py Fix ZTE hop false auth rejects by treating CLI prompt as success. 2026-08-31 10:46:16 +08:00
ne_session_factory.py Support bastion hop hosts as FQDN and pasted OpenSSH destinations. 2026-08-11 17:36:45 +08:00
ntc_parse.py Add TextFSM rule tables as dual input to biz-state parsers. 2026-09-17 22:18:21 +08:00
ops_router.py Add ops task overview, chart ahead window, and WebCRT lifecycle status. 2026-08-02 14:05:59 +08:00
ops_tasks_service.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
parser_config.py feat: initialize netx ops tool repository 2026-05-03 23:43:21 +08:00
port_traffic_board_service.py Add ops task overview, chart ahead window, and WebCRT lifecycle status. 2026-08-02 14:05:59 +08:00
port_traffic_commands.py Switch CLI parsing to TextFSM and polish topology/workbench UX. 2026-08-02 23:06:40 +08:00
port_traffic_common.py Split port traffic service and replace deprecated UTC/lifespan APIs. 2026-08-02 17:06:46 +08:00
port_traffic_devices.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
port_traffic_migrate.py Fix Alembic brownfield patches aborting the Postgres transaction. 2026-08-02 20:02:07 +08:00
port_traffic_parsers.py Switch CLI parsing to TextFSM and polish topology/workbench UX. 2026-08-02 23:06:40 +08:00
port_traffic_recovery.py Move port traffic to device-centric monitoring with a dedicated wall and collect logs. 2026-08-01 15:45:20 +08:00
port_traffic_router.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
port_traffic_runner.py Disable target paging after hop login and keep CLI echo on timeouts. 2026-08-29 12:30:33 +08:00
port_traffic_samples.py Define port traffic samples logger used by retention purge. 2026-09-16 10:22:34 +08:00
port_traffic_scheduler.py Adopt production-safe runtime defaults and forwarder retry limits. 2026-08-02 18:08:28 +08:00
port_traffic_schemas.py Improve topology UX, traffic discover logs, and CLI wrap parsing. 2026-08-03 19:24:43 +08:00
port_traffic_service.py Split port traffic service and replace deprecated UTC/lifespan APIs. 2026-08-02 17:06:46 +08:00
runtime_budget.py Start API and collector worker together from one-click scripts. 2026-08-02 18:20:13 +08:00
runtime_task_messages.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
scheduler_heartbeat.py Add biz_state monitoring with shared LLDP parse and batch collect. 2026-09-17 16:17:04 +08:00
schema_patches.py Scale biz_state collects with dedicated workers and non-blocking UI poll. 2026-09-22 17:00:37 +08:00
schemas.py feat: initialize netx ops tool repository 2026-05-03 23:43:21 +08:00
security_bootstrap.py Default UME TLS verify off for lab self-signed certs. 2026-08-06 15:15:48 +08:00
sql_guard.py Fix fabric path search, read scope, orbit total ranking, and edge menu clamp. 2026-08-10 21:31:50 +08:00
sql_router.py Harden auth scopes, SQL/WebCRT gates, and per-install JWT secrets. 2026-08-02 16:24:34 +08:00
timeutil.py Split port traffic service and replace deprecated UTC/lifespan APIs. 2026-08-02 17:06:46 +08:00
topology_classify.py Split topology classify and config sync services by domain. 2026-08-02 17:21:50 +08:00
topology_classify_apply.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
topology_classify_common.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
topology_classify_rules.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
topology_classify_slices.py Fix world-map zoom-out starfield, tree search canvas hits, and sidebar scroll. 2026-08-07 14:23:21 +08:00
topology_common.py Harden topology tree against bad view filters and allow deleting UME World. 2026-08-07 09:58:20 +08:00
topology_discover.py Add LLDP pause/resume/stop with restart recovery, and localize ops task titles. 2026-08-04 22:23:44 +08:00
topology_discover_common.py Prefer vendor label for LLDP command when it conflicts with device_type. 2026-08-29 00:24:06 +08:00
topology_discover_jobs.py Add LLDP collect retry for failed and weak-evidence NEs. 2026-08-11 11:25:57 +08:00
topology_discover_scan.py Add biz_state monitoring with shared LLDP parse and batch collect. 2026-09-17 16:17:04 +08:00
topology_fabric.py add topology tool 2026-08-10 20:29:05 +08:00
topology_fabric_links.py Harden UME/LLDP link ports and canvas styles around UME authority. 2026-08-07 16:33:25 +08:00
topology_fabric_nodes.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
topology_fabric_peers.py Add topology-canvas placeholder NE create (source=topology). 2026-08-05 17:42:51 +08:00
topology_inventory_lifecycle.py Defer canvas edge deletes to Save and cascade orphan Fabric on NE detach. 2026-08-05 22:43:03 +08:00
topology_level.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
topology_lldp.py Harden ZTE biz-state parsers and default | one-line collect CLIs. 2026-09-20 14:49:41 +08:00
topology_membership.py Raise physical canvas capacity and keep region==canvas rules consistent. 2026-08-09 23:23:09 +08:00
topology_migrate.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
topology_region_canvas.py Render world map overview as a screen-space starfield and rename it to 世界地图. 2026-08-07 11:02:23 +08:00
topology_router.py Ship gated eye polish, fabric levels, and collection UI refresh. 2026-08-12 16:13:05 +08:00
topology_schemas.py Add topology situational overlays and harden live sync. 2026-09-01 21:13:15 +08:00
topology_service.py Fix fabric path search, read scope, orbit total ranking, and edge menu clamp. 2026-08-10 21:31:50 +08:00
topology_views.py Add topology-canvas placeholder NE create (source=topology). 2026-08-05 17:42:51 +08:00
topology_views_graph.py Add topology situational overlays and harden live sync. 2026-09-01 21:13:15 +08:00
topology_views_tree.py Raise physical canvas capacity and keep region==canvas rules consistent. 2026-08-09 23:23:09 +08:00
ui_static.py Add Windows packaging with bundled UI and dual-mode PostgreSQL. 2026-10-06 22:52:03 +08:00
ume_alarm_apply.py Fix missing imports after UME router split. 2026-08-06 15:29:36 +08:00
ume_alarm_subscription_store.py feat(ume): real-time current alarms via WebSocket subscription 2026-05-22 20:27:43 +08:00
ume_alarm_ws.py Split UME alarm WebSocket consumer into state, log, subscription, and loop modules. 2026-08-02 17:26:40 +08:00
ume_alarm_ws_consumer.py Fix more UME split regressions for sync and alarm WSS. 2026-08-06 15:59:02 +08:00
ume_alarm_ws_log.py Treat UME stream handshake 500 as a lost subscription. 2026-08-06 16:19:14 +08:00
ume_alarm_ws_state.py Split UME alarm WebSocket consumer into state, log, subscription, and loop modules. 2026-08-02 17:26:40 +08:00
ume_alarm_ws_subscription.py Fix UME alarm WSS startup NameError for SessionLocal. 2026-08-05 09:41:36 +08:00
ume_alarms_router.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
ume_client.py Wait indefinitely for UME topology dumps while the connection stays up. 2026-08-06 19:04:13 +08:00
ume_inventory_router.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
ume_key_alert_router.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
ume_port_normalize.py Harden UME/LLDP link ports and canvas styles around UME authority. 2026-08-07 16:33:25 +08:00
ume_raw.py Harden retention under one-click start: UME raw caps and collection TTL. 2026-08-02 18:16:30 +08:00
ume_router.py Split UME routes and managed-NE service by domain. 2026-08-02 17:03:42 +08:00
ume_runtime.py Scale biz_state collects with dedicated workers and non-blocking UI poll. 2026-09-22 17:00:37 +08:00
ume_support.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
ume_sync_common.py Fix more UME split regressions for sync and alarm WSS. 2026-08-06 15:59:02 +08:00
ume_sync_pull.py Harden retention under one-click start: UME raw caps and collection TTL. 2026-08-02 18:16:30 +08:00
ume_sync_router.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
ume_sync_service.py Add UME TopoNodes/TopologicalLinks daily sync into local tables. 2026-08-06 18:17:45 +08:00
ume_sync_topology.py Heal UME dock-to-Fabric gaps: partial jobs, startup apply, and one-click UI. 2026-08-07 10:33:25 +08:00
ume_token_router.py Remove legacy OClaw alarm WSS and fix key-alert rules table layout. 2026-09-15 23:10:26 +08:00
ume_token_store.py feat(UME): 增加RESTCONF对接与可视化运维页 2026-05-08 01:36:53 +08:00
ume_topology_apply.py Harden UME/LLDP link ports and canvas styles around UME authority. 2026-08-07 16:33:25 +08:00
ume_topology_flat_coords.py Unify UME World as hex nav with conditional flat world map. 2026-08-07 00:51:08 +08:00
ume_topology_world.py Protect root maps and auto world map; only sub-regions are deletable. 2026-08-07 14:41:06 +08:00
ume_topology_world_graph.py Render world map overview as a screen-space starfield and rename it to 世界地图. 2026-08-07 11:02:23 +08:00
webcrt_channel.py Fix log audit record bug 2026-09-03 14:19:51 +08:00
webcrt_io.py Expose worker scheduler health via heartbeat and isolate WebCRT IO. 2026-08-02 18:37:06 +08:00
webcrt_router.py Polish HeroUI chrome, topology toolbar, and session client IP. 2026-09-12 15:10:57 +08:00
webcrt_service.py Fix Huawei WebCRT hop login echo doubling and safer Change-now handling. 2026-08-28 23:34:15 +08:00
webcrt_session.py Harden auth with revocable sessions, cookies, and single-login default. 2026-08-06 14:13:37 +08:00
webcrt_session_model.py Harden WebCRT Enter audit so logged commands match the visible line. 2026-09-02 22:01:28 +08:00
webcrt_session_registry.py Record WebCRT device login/commands and NE exec in operation audit. 2026-09-01 21:36:44 +08:00
webcrt_sftp.py Expand WebCRT SFTP into a fuller file manager. 2026-08-02 01:33:37 +08:00
webcrt_tickets.py Fix WebCRT sessions killed by StrictMode ws_ticket reuse. 2026-08-02 18:49:29 +08:00
worker.py Scale biz_state collects with dedicated workers and non-blocking UI poll. 2026-09-22 17:00:37 +08:00