// Copyright (c) Microsoft. All rights reserved.
using System.Text.Json.Serialization;
namespace Microsoft.Agents.AI.DurableTask.Workflows;
///
/// Source-generated JSON serialization context for durable workflow types.
///
///
///
/// This context provides AOT-compatible and trimmer-safe JSON serialization for the
/// internal data transfer types used by the durable workflow infrastructure:
///
///
/// - : Activity input wrapper with state
/// - : Executor output wrapper with results, events, and state updates
/// - : Serialized payload wrapper with type info (events and messages)
/// - : Live status payload (streaming events and pending request ports)
///
///
/// Note: User-defined executor input/output types still use reflection-based serialization
/// since their types are not known at compile time.
///
///
[JsonSourceGenerationOptions(
WriteIndented = false,
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase)]
[JsonSerializable(typeof(DurableActivityInput))]
[JsonSerializable(typeof(DurableExecutorOutput))]
[JsonSerializable(typeof(TypedPayload))]
[JsonSerializable(typeof(List))]
[JsonSerializable(typeof(DurableWorkflowLiveStatus))]
[JsonSerializable(typeof(DurableWorkflowResult))]
[JsonSerializable(typeof(PendingRequestPortStatus))]
[JsonSerializable(typeof(List))]
[JsonSerializable(typeof(List))]
[JsonSerializable(typeof(Dictionary))]
[JsonSerializable(typeof(Dictionary))]
internal partial class DurableWorkflowJsonContext : JsonSerializerContext;