From 15afc966ce931f89321f5c8bbcc3aa56a5b056bf Mon Sep 17 00:00:00 2001 From: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com> Date: Wed, 8 Oct 2025 22:51:59 +0100 Subject: [PATCH] .NET: Add missing workflow properties to the workflow.definition tag (#1261) * add workflow edge data properties to the workflow.definition tag. * use workflow info classes for workflow.definition tag value * add unit test * fix test * fix formatting issue * remove flaky unit test * remove unused package dependency --- .../WorkflowBuilder.cs | 17 ++++------------ .../WorkflowJsonDefintion.cs | 20 ------------------- 2 files changed, 4 insertions(+), 33 deletions(-) delete mode 100644 dotnet/src/Microsoft.Agents.AI.Workflows/WorkflowJsonDefintion.cs diff --git a/dotnet/src/Microsoft.Agents.AI.Workflows/WorkflowBuilder.cs b/dotnet/src/Microsoft.Agents.AI.Workflows/WorkflowBuilder.cs index 7a848de4e5..94e4f20594 100644 --- a/dotnet/src/Microsoft.Agents.AI.Workflows/WorkflowBuilder.cs +++ b/dotnet/src/Microsoft.Agents.AI.Workflows/WorkflowBuilder.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Text.Json; using System.Threading; using System.Threading.Tasks; +using Microsoft.Agents.AI.Workflows.Checkpointing; using Microsoft.Agents.AI.Workflows.Observability; using Microsoft.Shared.Diagnostics; @@ -414,23 +415,13 @@ public class WorkflowBuilder { activity?.SetTag(Tags.WorkflowDescription, workflow.Description); } - if (activity is not null) - { - var workflowJsonDefinitionData = new WorkflowJsonDefinitionData - { - StartExecutorId = this._startExecutorId, - Edges = this._edges.Values.SelectMany(e => e), - Ports = this._inputPorts.Values, - OutputExecutors = this._outputExecutors - }; - activity.SetTag( + activity?.SetTag( Tags.WorkflowDefinition, JsonSerializer.Serialize( - workflowJsonDefinitionData, - WorkflowJsonDefinitionJsonContext.Default.WorkflowJsonDefinitionData + workflow.ToWorkflowInfo(), + WorkflowsJsonUtilities.JsonContext.Default.WorkflowInfo ) ); - } return workflow; } diff --git a/dotnet/src/Microsoft.Agents.AI.Workflows/WorkflowJsonDefintion.cs b/dotnet/src/Microsoft.Agents.AI.Workflows/WorkflowJsonDefintion.cs deleted file mode 100644 index d4e177b338..0000000000 --- a/dotnet/src/Microsoft.Agents.AI.Workflows/WorkflowJsonDefintion.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. - -using System.Collections.Generic; -using System.Text.Json.Serialization; - -namespace Microsoft.Agents.AI.Workflows; - -[JsonSourceGenerationOptions(UseStringEnumConverter = true)] -[JsonSerializable(typeof(WorkflowJsonDefinitionData))] -internal partial class WorkflowJsonDefinitionJsonContext : JsonSerializerContext -{ -} - -internal class WorkflowJsonDefinitionData -{ - public string StartExecutorId { get; set; } = string.Empty; - public IEnumerable Edges { get; set; } = []; - public IEnumerable Ports { get; set; } = []; - public IEnumerable OutputExecutors { get; set; } = []; -}