using ModelContextProtocol.Protocol;
using ModelContextProtocol.Server;
namespace ModelContextProtocol.Extensions.Tasks;
///
/// Configures server-side MCP Tasks behavior.
///
public sealed class McpTasksOptions
{
///
/// Gets or sets the callback that selects task execution behavior for each tool call.
///
///
/// The default treats every tool as task-capable, preserving the behavior of
/// WithTasks.
/// The callback may inspect to select
/// behavior from tool metadata without requiring Core to reference the Tasks extension.
///
public Func, McpTaskExecutionMode> ExecutionModeSelector { get; set; } =
static _ => McpTaskExecutionMode.Optional;
}