(feat-redraw)Prepare Icon and other node data resolver for dynamic graphs#656
Merged
Conversation
Add a presentation-only icon resolver that derives a branded node icon from a node's directory slug (preferred) or split label, mirroring the label rules in getOasfSlugFromNodeData. Wire it into topologyWireToReactFlow in place of the generic SmartToy/LocalShipping fallback so the dynamic renderer can match the hand-authored graph icons. Inert until the dynamic path goes live. Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: pdobrei <pdobrei@cisco.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Bring the topology renderer up to visual parity with the hand-authored graph: - Render a single group node as a real container (type group + style) and parent its members (parentId/extent), marking the in-group transport compact so the existing compact-group layout applies. - Label edges into MCP servers as "MCP:" (detected by target label) while keeping them branching. - Attach the A2A directory/recruiter left/right extra handles and the "stdio -> grpc" edge label for the recruiter pattern. Inert until the dynamic path goes live. Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: pdobrei <pdobrei@cisco.com>
Extract isMcpServerLabel/isRecruiterLabel/isDirectoryLabel into agenticTopologyIdentityUiMap and reuse them from the dynamic renderer and icon resolver, removing the duplicated label heuristics. (The chat-stream highlight adoption lands later, alongside the live-topology switch.) Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: pdobrei <pdobrei@cisco.com>
13 tasks
This was referenced Jun 23, 2026
misi-bp
reviewed
Jun 26, 2026
misi-bp
reviewed
Jun 26, 2026
misi-bp
previously approved these changes
Jun 26, 2026
Use enums instead of string literals for ikon kind Signed-off-by: pdobrei <pdobrei@cisco.com>
misi-bp
approved these changes
Jun 29, 2026
misi-bp
left a comment
Contributor
There was a problem hiding this comment.
lgtm, thank you for the changes :)
pregnor
approved these changes
Jun 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a dynamic node icon, grouping, and label resolver that prepares for the dynamic drawing of graphs.
Topology graphs should be rendered dynamically based on backend provided data. This was partially done before, but was mostly reverted, due to stylistic and structural reasons, e.g.: specific icons were not rendered correctly, nodes not appearing as they should, etc.
This change aims to prepare necessary node data resolvers, so a future dynamic graph rendering can draw the proper node-specific graphical elements (like icons, labels, etc.) correctly.
This PR is not a standalone change, it is a part of a chain of smaller changes reviewed independently.
The follow-up PR is here:
#657
Other corresponding PRs:
#658
#659
#661
#663
Issue Link
No specific issue was opened for the change.
Type of Change
Checklist