DependencyGraphResult
Namespace: Dotsider.Core.Analysis.Models
Assembly: Dotsider.Core.dll
The result of building a transitive assembly dependency graph. Contains the public topology consumed by serializers (Nodes, Edges) and the internal navigation metadata consumed by the TUI (NavigationById).
public sealed record DependencyGraphResult : IEquatable<DependencyGraphResult>Inheritance
Section titled “Inheritance”Object → DependencyGraphResult
Implements
Section titled “Implements”Constructors
Section titled “Constructors”DependencyGraphResult(IReadOnlyList<GraphNode>, IReadOnlyList<GraphEdge>, IReadOnlyDictionary<string, GraphNavigationContext>)
Section titled “DependencyGraphResult(IReadOnlyList<GraphNode>, IReadOnlyList<GraphEdge>, IReadOnlyDictionary<string, GraphNavigationContext>)”The result of building a transitive assembly dependency graph. Contains the public topology consumed by serializers (Nodes, Edges) and the internal navigation metadata consumed by the TUI (NavigationById).
Parameters:
Nodes(IReadOnlyList<GraphNode>): All nodes in the graph including the root and any unresolved or identity-mismatched leaves, each carrying its computed layout coordinates and depth.Edges(IReadOnlyList<GraphEdge>): Directed edges from each referencing assembly to every assembly it references. Edges for cycles and diamonds are preserved; a child identity revisited through a second parent emits a new edge but does not re-expand the subtree.NavigationById(IReadOnlyDictionary<String, GraphNavigationContext>): Per-node navigation metadata keyed by Id. Intended for in-process TUI use only — consumers that serialize graph topology (CLI JSON, diagnostics UDS, MCP tools) must ignore this dictionary to avoid leaking machine-local paths through their public contracts.
public DependencyGraphResult(IReadOnlyList<GraphNode> Nodes, IReadOnlyList<GraphEdge> Edges, IReadOnlyDictionary<string, GraphNavigationContext> NavigationById)Properties
Section titled “Properties”Directed edges from each referencing assembly to every assembly it references. Edges for cycles and diamonds are preserved; a child identity revisited through a second parent emits a new edge but does not re-expand the subtree.
Returns: IReadOnlyList<GraphEdge>
public IReadOnlyList<GraphEdge> Edges { get; init; }NavigationById
Section titled “NavigationById”Per-node navigation metadata keyed by Id. Intended for in-process TUI use only — consumers that serialize graph topology (CLI JSON, diagnostics UDS, MCP tools) must ignore this dictionary to avoid leaking machine-local paths through their public contracts.
Returns: IReadOnlyDictionary<String, GraphNavigationContext>
public IReadOnlyDictionary<string, GraphNavigationContext> NavigationById { get; init; }All nodes in the graph including the root and any unresolved or identity-mismatched leaves, each carrying its computed layout coordinates and depth.
Returns: IReadOnlyList<GraphNode>
public IReadOnlyList<GraphNode> Nodes { get; init; }