mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-11-12 13:27:22 +00:00
Generated the JSON contracts of providers, the runtime, and services at compile time (#1150)
This commit is contained in:
1 parent
e954881fda
commit
24e3c22db3
140 files changed
+1415
-292
No files matched your search
@@ -9,7 +9,7 @@ public abstract class ERIClientBase(IERIDataSource dataSource) : IDisposable
|
||||
{
|
||||
protected readonly IERIDataSource DataSource = dataSource;
|
||||
|
||||
protected static readonly JsonSerializerOptions JSON_OPTIONS = new()
|
||||
internal static readonly JsonSerializerOptions JSON_OPTIONS = new JsonSerializerOptions
|
||||
{
|
||||
WriteIndented = true,
|
||||
AllowTrailingCommas = true,
|
||||
@@ -20,8 +20,9 @@ public abstract class ERIClientBase(IERIDataSource dataSource) : IDisposable
|
||||
Converters =
|
||||
{
|
||||
new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseUpper),
|
||||
}
|
||||
};
|
||||
},
|
||||
TypeInfoResolver = ERIClientJsonContext.Default,
|
||||
}.AsReadOnly();
|
||||
|
||||
protected readonly HttpClient HttpClient = ExternalHttpClientTimeout.CreateHttpClient(new Uri($"{dataSource.Hostname}:{dataSource.Port}"), ExternalHttpTrustPolicy.ALLOW_CUSTOM_ROOTS_WHEN_HOST_WHITELISTED);
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
using AIStudio.Tools.ERIClient.DataModel;
|
||||
|
||||
namespace AIStudio.Tools.ERIClient;
|
||||
|
||||
/// <summary>
|
||||
/// The contracts with which System.Text.Json reads and writes the calls to ERI servers, built at compile time.
|
||||
/// </summary>
|
||||
[JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Metadata)]
|
||||
|
||||
// The request:
|
||||
[JsonSerializable(typeof(RetrievalRequest))]
|
||||
|
||||
// The answers:
|
||||
[JsonSerializable(typeof(List<AuthScheme>))]
|
||||
[JsonSerializable(typeof(AuthResponse))]
|
||||
[JsonSerializable(typeof(DataSourceInfo))]
|
||||
[JsonSerializable(typeof(List<EmbeddingInfo>))]
|
||||
[JsonSerializable(typeof(List<RetrievalInfo>))]
|
||||
[JsonSerializable(typeof(List<Context>))]
|
||||
[JsonSerializable(typeof(SecurityRequirements))]
|
||||
internal sealed partial class ERIClientJsonContext : JsonSerializerContext;
|
||||
Reference in new issue
Block a user