// Copyright (c) Microsoft. All rights reserved.
using Microsoft.Agents.AI.DurableTask;
namespace Microsoft.Agents.AI.Hosting.AzureFunctions;
///
/// Provides Azure Functions–specific configuration for durable workflows.
///
internal sealed class FunctionsDurableOptions : DurableOptions
{
private readonly HashSet _statusEndpointWorkflows = new(StringComparer.OrdinalIgnoreCase);
private readonly HashSet _mcpToolTriggerWorkflows = new(StringComparer.OrdinalIgnoreCase);
///
/// Enables the status HTTP endpoint for the specified workflow.
///
internal void EnableStatusEndpoint(string workflowName)
{
this._statusEndpointWorkflows.Add(workflowName);
}
///
/// Returns whether the status endpoint is enabled for the specified workflow.
///
internal bool IsStatusEndpointEnabled(string workflowName)
{
return this._statusEndpointWorkflows.Contains(workflowName);
}
///
/// Enables the MCP tool trigger for the specified workflow.
///
internal void EnableMcpToolTrigger(string workflowName)
{
this._mcpToolTriggerWorkflows.Add(workflowName);
}
///
/// Returns whether the MCP tool trigger is enabled for the specified workflow.
///
internal bool IsMcpToolTriggerEnabled(string workflowName)
{
return this._mcpToolTriggerWorkflows.Contains(workflowName);
}
}