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

+12 -1
View File
@@ -5,4 +5,15 @@ namespace AIStudio.Tools;
/// </summary>
/// <param name="Title">The title of the source.</param>
/// <param name="URL">The URL of the source.</param>
public record Source(string Title, string URL, SourceOrigin Origin) : ISource;
public record Source(string Title, string URL, SourceOrigin Origin) : ISource
{
//
// The properties of the parameters, declared again to be settable. A derived record which passes a value of
// its own to one of them, as the search results of Perplexity do with the origin, would otherwise lose it:
// the source generation of System.Text.Json sets every init-only property while it creates the object, also
// one missing in the JSON. Keep them in the order of the parameters, which is the order they get stored in:
//
public string Title { get; set; } = Title;
public string URL { get; set; } = URL;
public SourceOrigin Origin { get; set; } = Origin;
}