// Copyright (c) Microsoft. All rights reserved. using System; using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; #if ASPNETCORE namespace Microsoft.Agents.AI.Hosting.AGUI.AspNetCore.Shared; #else namespace Microsoft.Agents.AI.AGUI.Shared; #endif internal sealed class RunAgentInput { [JsonPropertyName("threadId")] public string ThreadId { get; set; } = string.Empty; [JsonPropertyName("runId")] public string RunId { get; set; } = string.Empty; [JsonPropertyName("state")] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)] public JsonElement State { get; set; } [JsonPropertyName("messages")] public IEnumerable Messages { get; set; } = []; [JsonPropertyName("context")] public Dictionary Context { get; set; } = new(StringComparer.Ordinal); [JsonPropertyName("forwardedProperties")] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)] public JsonElement ForwardedProperties { get; set; } }