// Copyright (c) Microsoft. All rights reserved. using Microsoft.Agents.AI.Workflows; namespace Microsoft.Agents.AI.DurableTask.Workflows; /// /// Represents an executor in the workflow with its metadata. /// /// The unique identifier of the executor. /// Indicates whether this executor is an agentic executor. /// The request port if this executor is a request port executor; otherwise, null. /// The sub-workflow if this executor is a sub-workflow executor; otherwise, null. internal sealed record WorkflowExecutorInfo( string ExecutorId, bool IsAgenticExecutor, RequestPort? RequestPort = null, Workflow? SubWorkflow = null) { /// /// Gets a value indicating whether this executor is a request port executor (human-in-the-loop). /// public bool IsRequestPortExecutor => this.RequestPort is not null; /// /// Gets a value indicating whether this executor is a sub-workflow executor. /// public bool IsSubworkflowExecutor => this.SubWorkflow is not null; }