Generated the JSON contracts of visual briefings and model answers at compile time (#1151)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2026-11-03 14:20:41 +01:00
1 parent 24e3c22db3
commit 770c16e20a
101 files changed
+2333 -392

No files matched your search

@@ -13,18 +13,19 @@ namespace AIStudio.Assistants.ERI;
/// </remarks>
internal sealed class ERIServerFileList
{
private static readonly JsonSerializerOptions JSON_OPTIONS = new()
internal static readonly JsonSerializerOptions JSON_OPTIONS = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
AllowTrailingCommas = false,
ReadCommentHandling = JsonCommentHandling.Disallow,
MaxDepth = 8,
};
TypeInfoResolver = ERIServerFileListJsonContext.Default,
}.AsReadOnly();
/// <summary>
/// The paths of the files, relative to the base directory.
/// </summary>
public List<string>? Files { get; init; }
public List<string>? Files { get; set; }
/// <summary>
/// Reads the list of files out of the answer of the model.
@@ -0,0 +1,10 @@
using System.Text.Json.Serialization;
namespace AIStudio.Assistants.ERI;
/// <summary>
/// The contracts with which System.Text.Json reads the files a model plans for an ERI server, built at compile time.
/// </summary>
[JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Metadata)]
[JsonSerializable(typeof(ERIServerFileList))]
internal sealed partial class ERIServerFileListJsonContext : JsonSerializerContext;