Generated the JSON contracts of providers, the runtime, and services at compile time (#1150)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2026-11-03 07:59:30 +01:00
1 parent e954881fda
commit 24e3c22db3
140 files changed
+1415 -292

No files matched your search

@@ -6,9 +6,13 @@ namespace AIStudio.Provider.Google;
public sealed record GoogleEmbeddingResponse
{
[JsonConverter(typeof(GoogleEmbeddingListConverter))]
public List<GoogleEmbedding>? Embedding { get; init; }
public List<GoogleEmbedding>? Embedding { get; set; }
private sealed class GoogleEmbeddingListConverter : JsonConverter<List<GoogleEmbedding>>
/// <remarks>
/// Internal rather than private: the JSON context of the providers has to reach the converter, else it reads
/// the embeddings without it.
/// </remarks>
internal sealed class GoogleEmbeddingListConverter : JsonConverter<List<GoogleEmbedding>>
{
public override List<GoogleEmbedding> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{