// Copyright (c) Microsoft. All rights reserved.
namespace Microsoft.Agents.AI.Workflows;
///
/// Process-wide opt-in switches for in-development behavior changes that will become
/// the default in a future major release. Each flag defaults to
/// and should be toggled once at application startup.
///
public static class Futures
{
///
/// When , and
/// payloads yielded by an executor participate
/// in the normal output-filter pipeline (i.e. they must be designated via
/// or
///
/// to surface), and the resulting s carry
/// reflecting that designation.
///
///
///
/// When (the current default), the runner emits
/// and unconditionally,
/// bypassing the output filter (historical behavior). Lifecycle: opt-in today, marked
/// [Obsolete] in v2.0.0 when the new behavior becomes default, and removed in v3.0.0.
///
///
/// Interaction with . When this flag
/// is , joins
/// in being forwarded out of the agent surface
/// unconditionally — neither honors the host's includeWorkflowOutputsInResponse
/// switch. That switch only governs the generic path for
/// non-AIAgent payloads. When this flag is , the legacy asymmetry
/// is preserved: is always forwarded but
/// stays gated by includeWorkflowOutputsInResponse.
///
///
public static bool EnableAgentResponseOutputTaggingAndFiltering { get; set; }
}