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; } = []; -}