Refused JSON contracts built by reflection and checked all of them in the trimmed build (#1152)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2026-11-03 18:29:50 +01:00
1 parent f864359290
commit 0b42c0288e
23 files changed
+535 -99

No files matched your search

@@ -21,7 +21,11 @@ public sealed class ToolExecutionResult
/// with every umlaut as six characters. The relaxed encoder escapes only what JSON requires.
/// </remarks>
// Internal, so a tool which keeps its result within a budget measures exactly what the model gets:
internal static readonly JsonSerializerOptions MODEL_CONTENT_OPTIONS = new() { Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping };
internal static readonly JsonSerializerOptions MODEL_CONTENT_OPTIONS = new JsonSerializerOptions
{
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
TypeInfoResolver = ToolExecutionResultJsonContext.Default,
}.AsReadOnly();
public string? TextContent { get; init; }