From 8a807c10a14e49a6883d7869304e4a2961a4d0a8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Mar 2026 06:18:49 +0000 Subject: [PATCH 1/4] Initial plan From 7cc56f94b90d8148ebf82b4e42fe23cd6c727e69 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Mar 2026 06:25:46 +0000 Subject: [PATCH 2/4] fix: GenerateVisualizationHtml returns non-empty dataSources when no snapshots are passed Co-authored-by: witskeeper <5594094+witskeeper@users.noreply.github.com> Agent-Logs-Url: https://github.com/netcorepal/netcorepal-cloud-framework/sessions/9a0e5d36-f784-4c22-a030-0a202f9cec8e --- .../VisualizationHtmlBuilder.cs | 57 ++++++++++++++++++- .../VisualizationHtmlBuilderTests.cs | 18 ++++++ 2 files changed, 74 insertions(+), 1 deletion(-) diff --git a/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs b/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs index 0f0328c5..233b44d8 100644 --- a/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs +++ b/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs @@ -61,7 +61,10 @@ public static string GenerateVisualizationHtml( } // 构建 dataSources 数组 - 每个snapshot生成完整的数据源 - var dataSourcesJson = BuildDataSourcesJson(snapshotList); + // 当没有快照时,使用 analysisResult 直接构建一个 Runtime 数据源,确保 dataSources 不为空 + var dataSourcesJson = snapshotList.Count > 0 + ? BuildDataSourcesJson(snapshotList) + : BuildDataSourcesJsonFromAnalysisResult(analysisResult); var diagramConfigsJson = BuildDiagramConfigsJson(); // 替换模板中的占位符 @@ -142,6 +145,58 @@ private static string BuildDataSourcesJson(System.Collections.Generic.List Date: Wed, 25 Mar 2026 15:35:19 +0800 Subject: [PATCH 3/4] Update src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../VisualizationHtmlBuilder.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs b/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs index 233b44d8..c1f2db94 100644 --- a/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs +++ b/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs @@ -163,8 +163,8 @@ private static string BuildDataSourcesJsonFromAnalysisResult(CodeFlowAnalysisRes sb.Append("\"metadata\":{"); sb.Append($"\"version\":\"{EscapeJavaScript(now.ToString("yyyyMMddHHmmss"))}\","); sb.Append($"\"timestamp\":\"{now:yyyy-MM-dd HH:mm:ss}\","); - sb.Append("\"description\":\"Runtime\","); - sb.Append("\"hash\":\"\","); + sb.Append($"\"description\":\"{EscapeJavaScript("Runtime")}\","); + sb.Append($"\"hash\":\"{EscapeJavaScript(string.Empty)}\","); sb.Append($"\"nodeCount\":{analysisResult.Nodes.Count},"); sb.Append($"\"relationshipCount\":{analysisResult.Relationships.Count}"); sb.Append("},"); From 99409748beab73bb606fae75f51f048caaaef7d9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Mar 2026 07:37:13 +0000 Subject: [PATCH 4/4] refactor: extract BuildSingleDataSourceEntryJson to eliminate duplication between snapshot and runtime paths Co-authored-by: witskeeper <5594094+witskeeper@users.noreply.github.com> Agent-Logs-Url: https://github.com/netcorepal/netcorepal-cloud-framework/sessions/8ed1e14d-3148-4d96-8663-ce2c347cca1f --- .../VisualizationHtmlBuilder.cs | 99 +++++++------------ 1 file changed, 38 insertions(+), 61 deletions(-) diff --git a/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs b/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs index 233b44d8..a5d4402e 100644 --- a/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs +++ b/src/NetCorePal.Extensions.CodeAnalysis/VisualizationHtmlBuilder.cs @@ -83,70 +83,48 @@ private static string BuildDataSourcesJson(System.Collections.Generic.List