From c97b0f0f767ab9f3e1a549d1c901f5557e07f659 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Mon, 2 Nov 2026 19:12:28 +0100 Subject: [PATCH] Made the JSON types of the runtime calls settable instead of init-only --- .../Tools/ContentStreamDocumentDetails.cs | 4 ++-- .../Tools/ContentStreamDocumentMetadata.cs | 2 +- .../Tools/ContentStreamErrorDetails.cs | 8 ++++---- .../Tools/ContentStreamErrorMetadata.cs | 2 +- .../Tools/ContentStreamPdfDetails.cs | 2 +- .../Tools/ContentStreamPdfMetadata.cs | 2 +- .../Tools/ContentStreamPptxImageData.cs | 10 +++++----- .../Tools/ContentStreamPresentationDetails.cs | 4 ++-- .../Tools/ContentStreamPresentationMetadata.cs | 2 +- .../Tools/ContentStreamPromptInjectionDetails.cs | 4 ++-- .../Tools/ContentStreamPromptInjectionMetadata.cs | 2 +- .../Tools/ContentStreamSpreadsheetDetails.cs | 4 ++-- .../Tools/ContentStreamSpreadsheetMetadata.cs | 2 +- app/MindWork AI Studio/Tools/ContentStreamSseEvent.cs | 8 ++++---- .../Tools/ContentStreamTextDetails.cs | 2 +- .../Tools/ContentStreamTextMetadata.cs | 2 +- .../Tools/Databases/VectorStore/VectorSearchResult.cs | 2 +- .../Tools/Security/PromptInjectionFinding.cs | 6 +++--- 18 files changed, 34 insertions(+), 34 deletions(-) diff --git a/app/MindWork AI Studio/Tools/ContentStreamDocumentDetails.cs b/app/MindWork AI Studio/Tools/ContentStreamDocumentDetails.cs index 44adaf0cd..e4466ba53 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamDocumentDetails.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamDocumentDetails.cs @@ -5,8 +5,8 @@ namespace AIStudio.Tools; public sealed class ContentStreamDocumentDetails { [JsonPropertyName("page_number")] - public int? PageNumber { get; init; } + public int? PageNumber { get; set; } [JsonPropertyName("image")] - public ContentStreamPptxImageData? Image { get; init; } + public ContentStreamPptxImageData? Image { get; set; } } diff --git a/app/MindWork AI Studio/Tools/ContentStreamDocumentMetadata.cs b/app/MindWork AI Studio/Tools/ContentStreamDocumentMetadata.cs index 7a47d4728..12f3ecb51 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamDocumentMetadata.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamDocumentMetadata.cs @@ -6,5 +6,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamDocumentMetadata : ContentStreamSseMetadata { [JsonPropertyName("Document")] - public ContentStreamDocumentDetails? Document { get; init; } + public ContentStreamDocumentDetails? Document { get; set; } } diff --git a/app/MindWork AI Studio/Tools/ContentStreamErrorDetails.cs b/app/MindWork AI Studio/Tools/ContentStreamErrorDetails.cs index 55bb4d05b..1a6642549 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamErrorDetails.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamErrorDetails.cs @@ -7,23 +7,23 @@ namespace AIStudio.Tools; public sealed class ContentStreamErrorDetails { [JsonPropertyName("code")] - public string? Code { get; init; } + public string? Code { get; set; } [JsonPropertyName("message")] - public string? Message { get; init; } + public string? Message { get; set; } /// /// The page the failure belongs to, when the failure affects a single page only. /// [JsonPropertyName("page_number")] - public int? PageNumber { get; init; } + public int? PageNumber { get; set; } /// /// The format the runtime identified by looking at the content, e.g. when it contradicts the /// file extension. /// [JsonPropertyName("detected_format")] - public string? DetectedFormat { get; init; } + public string? DetectedFormat { get; set; } /// /// Gets the parsed error code. diff --git a/app/MindWork AI Studio/Tools/ContentStreamErrorMetadata.cs b/app/MindWork AI Studio/Tools/ContentStreamErrorMetadata.cs index d32f24f99..3ff829135 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamErrorMetadata.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamErrorMetadata.cs @@ -7,5 +7,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamErrorMetadata : ContentStreamSseMetadata { [JsonPropertyName("Error")] - public ContentStreamErrorDetails? Error { get; init; } + public ContentStreamErrorDetails? Error { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamPdfDetails.cs b/app/MindWork AI Studio/Tools/ContentStreamPdfDetails.cs index dd727ce20..692c1c563 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamPdfDetails.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamPdfDetails.cs @@ -7,5 +7,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamPdfDetails { [JsonPropertyName("page_number")] - public int? PageNumber { get; init; } + public int? PageNumber { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamPdfMetadata.cs b/app/MindWork AI Studio/Tools/ContentStreamPdfMetadata.cs index 172adf444..e5a430858 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamPdfMetadata.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamPdfMetadata.cs @@ -7,5 +7,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamPdfMetadata : ContentStreamSseMetadata { [JsonPropertyName("Pdf")] - public ContentStreamPdfDetails? Pdf { get; init; } + public ContentStreamPdfDetails? Pdf { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamPptxImageData.cs b/app/MindWork AI Studio/Tools/ContentStreamPptxImageData.cs index b036fe022..9c13e146d 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamPptxImageData.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamPptxImageData.cs @@ -5,17 +5,17 @@ namespace AIStudio.Tools; public sealed class ContentStreamPptxImageData { [JsonPropertyName("id")] - public string? Id { get; init; } + public string? Id { get; set; } [JsonPropertyName("content")] - public string? Content { get; init; } + public string? Content { get; set; } [JsonPropertyName("segment")] - public int? Segment { get; init; } + public int? Segment { get; set; } [JsonPropertyName("is_end")] - public bool IsEnd { get; init; } + public bool IsEnd { get; set; } [JsonPropertyName("media_type")] - public string? MediaType { get; init; } + public string? MediaType { get; set; } } diff --git a/app/MindWork AI Studio/Tools/ContentStreamPresentationDetails.cs b/app/MindWork AI Studio/Tools/ContentStreamPresentationDetails.cs index e0b39fb85..6a518eddf 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamPresentationDetails.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamPresentationDetails.cs @@ -7,8 +7,8 @@ namespace AIStudio.Tools; public sealed class ContentStreamPresentationDetails { [JsonPropertyName("slide_number")] - public int? SlideNumber { get; init; } + public int? SlideNumber { get; set; } [JsonPropertyName("image")] - public ContentStreamPptxImageData? Image { get; init; } + public ContentStreamPptxImageData? Image { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamPresentationMetadata.cs b/app/MindWork AI Studio/Tools/ContentStreamPresentationMetadata.cs index 3ce7305e2..5cb491224 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamPresentationMetadata.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamPresentationMetadata.cs @@ -7,5 +7,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamPresentationMetadata : ContentStreamSseMetadata { [JsonPropertyName("Presentation")] - public ContentStreamPresentationDetails? Presentation { get; init; } + public ContentStreamPresentationDetails? Presentation { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamPromptInjectionDetails.cs b/app/MindWork AI Studio/Tools/ContentStreamPromptInjectionDetails.cs index 14fcbb31d..b48bf24ab 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamPromptInjectionDetails.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamPromptInjectionDetails.cs @@ -17,12 +17,12 @@ namespace AIStudio.Tools; public sealed class ContentStreamPromptInjectionDetails { [JsonPropertyName("findings")] - public List? Findings { get; init; } + public List? Findings { get; set; } /// /// How many passages were filtered. Can exceed the number of findings, because the runtime /// caps how many it reports in detail while it filters every single one. /// [JsonPropertyName("redacted_count")] - public int RedactedCount { get; init; } + public int RedactedCount { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamPromptInjectionMetadata.cs b/app/MindWork AI Studio/Tools/ContentStreamPromptInjectionMetadata.cs index 133106e5b..95e5ba4ff 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamPromptInjectionMetadata.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamPromptInjectionMetadata.cs @@ -7,5 +7,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamPromptInjectionMetadata : ContentStreamSseMetadata { [JsonPropertyName("PromptInjection")] - public ContentStreamPromptInjectionDetails? PromptInjection { get; init; } + public ContentStreamPromptInjectionDetails? PromptInjection { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamSpreadsheetDetails.cs b/app/MindWork AI Studio/Tools/ContentStreamSpreadsheetDetails.cs index 717277996..0ae04a2a7 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamSpreadsheetDetails.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamSpreadsheetDetails.cs @@ -7,8 +7,8 @@ namespace AIStudio.Tools; public sealed class ContentStreamSpreadsheetDetails { [JsonPropertyName("sheet_name")] - public string? SheetName { get; init; } + public string? SheetName { get; set; } [JsonPropertyName("row_number")] - public int? RowNumber { get; init; } + public int? RowNumber { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamSpreadsheetMetadata.cs b/app/MindWork AI Studio/Tools/ContentStreamSpreadsheetMetadata.cs index 2a8452c1b..71553f3df 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamSpreadsheetMetadata.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamSpreadsheetMetadata.cs @@ -7,5 +7,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamSpreadsheetMetadata : ContentStreamSseMetadata { [JsonPropertyName("Spreadsheet")] - public ContentStreamSpreadsheetDetails? Spreadsheet { get; init; } + public ContentStreamSpreadsheetDetails? Spreadsheet { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamSseEvent.cs b/app/MindWork AI Studio/Tools/ContentStreamSseEvent.cs index 02d69c0d2..bc567debb 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamSseEvent.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamSseEvent.cs @@ -5,14 +5,14 @@ namespace AIStudio.Tools; public sealed class ContentStreamSseEvent { [JsonPropertyName("content")] - public string? Content { get; init; } + public string? Content { get; set; } [JsonPropertyName("stream_id")] - public string? StreamId { get; init; } + public string? StreamId { get; set; } [JsonPropertyName("metadata")] - public ContentStreamSseMetadata? Metadata { get; init; } + public ContentStreamSseMetadata? Metadata { get; set; } [JsonPropertyName("token_count")] - public int? TokenCount { get; init; } + public int? TokenCount { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamTextDetails.cs b/app/MindWork AI Studio/Tools/ContentStreamTextDetails.cs index 25d1f6a56..47d241822 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamTextDetails.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamTextDetails.cs @@ -6,5 +6,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamTextDetails { [JsonPropertyName("line_number")] - public int? LineNumber { get; init; } + public int? LineNumber { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/ContentStreamTextMetadata.cs b/app/MindWork AI Studio/Tools/ContentStreamTextMetadata.cs index b9d304956..93976d8af 100644 --- a/app/MindWork AI Studio/Tools/ContentStreamTextMetadata.cs +++ b/app/MindWork AI Studio/Tools/ContentStreamTextMetadata.cs @@ -6,5 +6,5 @@ namespace AIStudio.Tools; public sealed class ContentStreamTextMetadata : ContentStreamSseMetadata { [JsonPropertyName("Text")] - public ContentStreamTextDetails? Text { get; init; } + public ContentStreamTextDetails? Text { get; set; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/Databases/VectorStore/VectorSearchResult.cs b/app/MindWork AI Studio/Tools/Databases/VectorStore/VectorSearchResult.cs index 4c66ff088..96eb11240 100644 --- a/app/MindWork AI Studio/Tools/Databases/VectorStore/VectorSearchResult.cs +++ b/app/MindWork AI Studio/Tools/Databases/VectorStore/VectorSearchResult.cs @@ -27,7 +27,7 @@ public sealed record VectorSearchResult( /// /// The vector store keeps only the pages of a chunk, cf. LocalIndexSearchService.SearchVectorsAsync. /// - public ChunkLocation? StoredLocation { get; init; } + public ChunkLocation? StoredLocation { get; set; } /// /// Where the chunk is: what the index store keeps, or the pages alone when it could not say. diff --git a/app/MindWork AI Studio/Tools/Security/PromptInjectionFinding.cs b/app/MindWork AI Studio/Tools/Security/PromptInjectionFinding.cs index fb1c315f5..6326f4f52 100644 --- a/app/MindWork AI Studio/Tools/Security/PromptInjectionFinding.cs +++ b/app/MindWork AI Studio/Tools/Security/PromptInjectionFinding.cs @@ -15,17 +15,17 @@ public sealed record PromptInjectionFinding /// Which rule matched, e.g. "instruction_override". /// [JsonPropertyName("rule_id")] - public string RuleId { get; init; } = string.Empty; + public string RuleId { get; set; } = string.Empty; /// /// The rule's family, e.g. "exfiltration". /// [JsonPropertyName("category")] - public PromptInjectionFindingCategory Category { get; init; } = PromptInjectionFindingCategory.UNKNOWN; + public PromptInjectionFindingCategory Category { get; set; } = PromptInjectionFindingCategory.UNKNOWN; /// /// The passage as it appeared in the content, so the user can see what was removed. /// [JsonPropertyName("snippet")] - public string Snippet { get; init; } = string.Empty; + public string Snippet { get; set; } = string.Empty; } \ No newline at end of file