src/Custom/Responses/Items/ReasoningResponseItem.cs (24 lines of code) (raw):

using System.Collections.Generic; using System.Linq; namespace OpenAI.Responses; // CUSTOM: // - Renamed. [CodeGenType("ResponsesReasoningItem")] public partial class ReasoningResponseItem { // CUSTOM: Convert simple text input into typed wire input public ReasoningResponseItem(IEnumerable<string> summaryTextParts) : base(InternalResponsesItemType.Reasoning) { Argument.AssertNotNull(summaryTextParts, nameof(summaryTextParts)); Summary ??= []; foreach (string summaryTextPart in summaryTextParts) { Summary.Add(new InternalResponsesReasoningItemSummaryElementSummaryText(summaryTextPart)); } } // CUSTOM: Made internal for simplified public reprojection [CodeGenMember("Summary")] internal IList<InternalResponsesReasoningItemSummaryElement> Summary { get; } public IReadOnlyList<string> SummaryTextParts => Summary? .Select(summaryElement => summaryElement as InternalResponsesReasoningItemSummaryElementSummaryText)? .Select(summaryTextElement => summaryTextElement.Text)? .ToList() ?? []; }