Improve topology discovery UX with review modals and live search.

Report unmatched/stub neighbors and matched links, move result lists into detail dialogs, deep-link edges to port traffic, and add fuzzy type-ahead canvas/palette NE search.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-08-01 13:35:52 +08:00
parent 2382cb8269
commit 8cf1696d8c
12 changed files with 1442 additions and 66 deletions

View file

@ -253,6 +253,15 @@ _VENDOR_PARSERS: dict[str, ParserFn] = {
"generic": parse_generic_lldp,
}
# Parsers that intentionally return [] until lab samples are added.
STUB_PARSER_KEYS = frozenset({"h3c", "juniper", "nokia", "ericsson"})
def parser_meta(*, vendor: str = "", device_type: str = "") -> tuple[str, bool]:
"""Return (parser_key, is_stub)."""
key = resolve_vendor_key(vendor, device_type)
return key, key in STUB_PARSER_KEYS
def parse_neighbor_output(
text: str,