From c47c02439985eb456b9c290a3fcda6a73ddbb709 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 3 Nov 2026 08:40:05 +0100 Subject: [PATCH] Made the JSON types of the Visual Briefing assistant settable instead of init-only --- .../VisualBriefingAssetPlanItem.cs | 6 +-- .../VisualBriefingBuildRecord.cs | 30 +++++++------- .../VisualBriefingControlOption.cs | 4 +- .../VisualBriefingControlSpec.cs | 10 ++--- .../VisualBriefingEvidenceArtifact.cs | 16 ++++---- .../VisualBriefingExportManifest.cs | 40 +++++++++---------- .../VisualBriefingLayoutNode.cs | 12 +++--- .../VisualBriefing/VisualBriefingManifest.cs | 2 +- .../VisualBriefingPlanArtifact.cs | 10 ++--- .../VisualBriefing/VisualBriefingSlotValue.cs | 4 +- 10 files changed, 67 insertions(+), 67 deletions(-) diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingAssetPlanItem.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingAssetPlanItem.cs index f2e0cb871..8d6b62a91 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingAssetPlanItem.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingAssetPlanItem.cs @@ -13,17 +13,17 @@ public sealed class VisualBriefingAssetPlanItem /// Gets or sets the stable visual asset identifier. /// [JsonRequired] - public string AssetId { get; init; } = string.Empty; + public string AssetId { get; set; } = string.Empty; /// /// Gets or sets the model's visual description for presentation decisions. /// [JsonRequired] - public string Description { get; init; } = string.Empty; + public string Description { get; set; } = string.Empty; /// /// Gets or sets the target-language text alternative. /// [JsonRequired] - public string AltText { get; init; } = string.Empty; + public string AltText { get; set; } = string.Empty; } \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingBuildRecord.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingBuildRecord.cs index c7b988b56..290834c1c 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingBuildRecord.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingBuildRecord.cs @@ -8,12 +8,12 @@ public sealed class VisualBriefingBuildRecord /// /// Gets or sets the build-record schema version. /// - public int BuildVersion { get; init; } = VisualBriefingVersions.BUILD; + public int BuildVersion { get; set; } = VisualBriefingVersions.BUILD; /// /// Gets or sets the build identifier. /// - public Guid BuildId { get; init; } + public Guid BuildId { get; set; } /// /// Gets or sets the operation identifier shown in diagnostics and logs. @@ -23,17 +23,17 @@ public sealed class VisualBriefingBuildRecord /// /// Gets or sets the owning briefing identifier. /// - public Guid BriefingId { get; init; } + public Guid BriefingId { get; set; } /// /// Gets or sets the requested edit mode. /// - public VisualBriefingEditMode Mode { get; init; } + public VisualBriefingEditMode Mode { get; set; } /// /// Gets or sets the parent revision identifier. /// - public Guid? ParentRevisionId { get; init; } + public Guid? ParentRevisionId { get; set; } /// /// Gets or sets the local revision instruction used for recovery. @@ -48,7 +48,7 @@ public sealed class VisualBriefingBuildRecord /// /// Gets or sets durable stage progress. /// - public List Stages { get; init; } = []; + public List Stages { get; set; } = []; /// /// Gets or sets the content artifact identifier. @@ -83,47 +83,47 @@ public sealed class VisualBriefingBuildRecord /// /// Gets or sets the complete safe input fingerprint. /// - public string InputFingerprint { get; init; } = string.Empty; + public string InputFingerprint { get; set; } = string.Empty; /// /// Gets or sets the source and transcript fingerprint. /// - public string SourceFingerprint { get; init; } = string.Empty; + public string SourceFingerprint { get; set; } = string.Empty; /// /// Gets or sets the content prompt contract version. /// - public int ContentContractVersion { get; init; } = VisualBriefingVersions.CONTENT_CONTRACT; + public int ContentContractVersion { get; set; } = VisualBriefingVersions.CONTENT_CONTRACT; /// /// Gets or sets the evidence prompt contract version. /// - public int EvidenceContractVersion { get; init; } = VisualBriefingVersions.EVIDENCE_CONTRACT; + public int EvidenceContractVersion { get; set; } = VisualBriefingVersions.EVIDENCE_CONTRACT; /// /// Gets or sets the plan prompt contract version. /// - public int PlanContractVersion { get; init; } = VisualBriefingVersions.PLAN_CONTRACT; + public int PlanContractVersion { get; set; } = VisualBriefingVersions.PLAN_CONTRACT; /// /// Gets or sets the design prompt contract version. /// - public int DesignContractVersion { get; init; } = VisualBriefingVersions.DESIGN_CONTRACT; + public int DesignContractVersion { get; set; } = VisualBriefingVersions.DESIGN_CONTRACT; /// /// Gets or sets the selected provider family. /// - public string ProviderFamily { get; init; } = string.Empty; + public string ProviderFamily { get; set; } = string.Empty; /// /// Gets or sets the selected model name. /// - public string Model { get; init; } = string.Empty; + public string Model { get; set; } = string.Empty; /// /// Gets or sets the build creation time. /// - public DateTimeOffset CreatedAtUtc { get; init; } + public DateTimeOffset CreatedAtUtc { get; set; } /// /// Gets or sets the most recent build update time. diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingControlOption.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingControlOption.cs index 0ee17de84..ab05c006c 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingControlOption.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingControlOption.cs @@ -11,9 +11,9 @@ public sealed class VisualBriefingControlOption { /// Gets or sets the stored option value. [JsonRequired] - public string Value { get; init; } = string.Empty; + public string Value { get; set; } = string.Empty; /// Gets or sets the visible option label. [JsonRequired] - public string Label { get; init; } = string.Empty; + public string Label { get; set; } = string.Empty; } \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingControlSpec.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingControlSpec.cs index 4ba43abc1..7595f9dff 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingControlSpec.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingControlSpec.cs @@ -12,21 +12,21 @@ public sealed class VisualBriefingControlSpec { /// Gets or sets the globally unique control identifier. [JsonRequired] - public string ControlId { get; init; } = string.Empty; + public string ControlId { get; set; } = string.Empty; /// Gets or sets the owning component identifier. [JsonRequired] - public string ComponentId { get; init; } = string.Empty; + public string ComponentId { get; set; } = string.Empty; /// Gets or sets the control kind. [JsonRequired] - public VisualBriefingControlKind Kind { get; init; } + public VisualBriefingControlKind Kind { get; set; } /// Gets or sets the deterministic initial value. [JsonRequired] - public JsonElement InitialValue { get; init; } + public JsonElement InitialValue { get; set; } /// Gets or sets the selectable options. [JsonRequired] - public List Options { get; init; } = []; + public List Options { get; set; } = []; } \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingEvidenceArtifact.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingEvidenceArtifact.cs index 0644b06ae..fd013d5f1 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingEvidenceArtifact.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingEvidenceArtifact.cs @@ -15,29 +15,29 @@ public sealed class VisualBriefingEvidenceArtifact public int ContractVersion { get; set; } = VisualBriefingVersions.EVIDENCE_CONTRACT; /// Gets or sets the immutable artifact identifier. - public Guid ArtifactId { get; init; } + public Guid ArtifactId { get; set; } /// Gets or sets the artifact creation time. public DateTimeOffset CreatedAtUtc { get; set; } /// Gets or sets the hash of the artifact payload. - public string PayloadHash { get; init; } = string.Empty; + public string PayloadHash { get; set; } = string.Empty; /// Gets or sets the extracted factual statements. - public List Facts { get; init; } = []; + public List Facts { get; set; } = []; /// Gets or sets the extracted numeric metrics. - public List Metrics { get; init; } = []; + public List Metrics { get; set; } = []; /// Gets or sets the extracted tables. - public List Tables { get; init; } = []; + public List Tables { get; set; } = []; /// Gets or sets source coverage. - public List SourceCoverage { get; init; } = []; + public List SourceCoverage { get; set; } = []; /// Gets or sets the visual asset plan. - public List AssetPlan { get; init; } = []; + public List AssetPlan { get; set; } = []; /// Gets or sets the contributing model name. - public string Model { get; init; } = string.Empty; + public string Model { get; set; } = string.Empty; } \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingExportManifest.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingExportManifest.cs index dec997dc1..dea2ef5ed 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingExportManifest.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingExportManifest.cs @@ -11,102 +11,102 @@ public sealed class VisualBriefingExportManifest /// /// Defines ArtifactVersion for the visual briefing feature. /// - public int ArtifactVersion { get; init; } = VisualBriefingVersions.ARTIFACT; + public int ArtifactVersion { get; set; } = VisualBriefingVersions.ARTIFACT; /// /// Defines SchemaVersion for the visual briefing feature. /// - public int SchemaVersion { get; init; } = VisualBriefingVersions.SCHEMA; + public int SchemaVersion { get; set; } = VisualBriefingVersions.SCHEMA; /// /// Defines RuntimeVersion for the visual briefing feature. /// - public int RuntimeVersion { get; init; } = VisualBriefingVersions.RUNTIME; + public int RuntimeVersion { get; set; } = VisualBriefingVersions.RUNTIME; /// /// Defines BriefingId for the visual briefing feature. /// - public Guid BriefingId { get; init; } + public Guid BriefingId { get; set; } /// /// Defines RevisionId for the visual briefing feature. /// - public Guid RevisionId { get; init; } + public Guid RevisionId { get; set; } /// /// Defines ParentRevisionId for the visual briefing feature. /// - public Guid? ParentRevisionId { get; init; } + public Guid? ParentRevisionId { get; set; } /// /// Defines Name for the visual briefing feature. /// - public string Name { get; init; } = string.Empty; + public string Name { get; set; } = string.Empty; /// /// Defines Author for the visual briefing feature. /// - public string Author { get; init; } = string.Empty; + public string Author { get; set; } = string.Empty; /// /// Defines CreatedAtUtc for the visual briefing feature. /// - public DateTimeOffset CreatedAtUtc { get; init; } + public DateTimeOffset CreatedAtUtc { get; set; } /// /// Defines TargetLanguage for the visual briefing feature. /// - public CommonLanguages TargetLanguage { get; init; } + public CommonLanguages TargetLanguage { get; set; } /// /// Defines CustomTargetLanguage for the visual briefing feature. /// - public string CustomTargetLanguage { get; init; } = string.Empty; + public string CustomTargetLanguage { get; set; } = string.Empty; /// /// Defines AudienceProfile for the visual briefing feature. /// - public AudienceProfile AudienceProfile { get; init; } + public AudienceProfile AudienceProfile { get; set; } /// /// Defines AudienceAgeGroup for the visual briefing feature. /// - public AudienceAgeGroup AudienceAgeGroup { get; init; } + public AudienceAgeGroup AudienceAgeGroup { get; set; } /// /// Defines AudienceOrganizationalLevel for the visual briefing feature. /// - public AudienceOrganizationalLevel AudienceOrganizationalLevel { get; init; } + public AudienceOrganizationalLevel AudienceOrganizationalLevel { get; set; } /// /// Defines AudienceExpertise for the visual briefing feature. /// - public AudienceExpertise AudienceExpertise { get; init; } + public AudienceExpertise AudienceExpertise { get; set; } /// /// Defines ShowSourceReferences for the visual briefing feature. /// - public bool ShowSourceReferences { get; init; } + public bool ShowSourceReferences { get; set; } /// /// Defines ProtectionLevel for the visual briefing feature. /// - public VisualBriefingProtectionLevel ProtectionLevel { get; init; } + public VisualBriefingProtectionLevel ProtectionLevel { get; set; } /// /// Defines CustomProtectionLevel for the visual briefing feature. /// - public string CustomProtectionLevel { get; init; } = string.Empty; + public string CustomProtectionLevel { get; set; } = string.Empty; /// /// Defines AIStudioVersion for the visual briefing feature. /// - public string AIStudioVersion { get; init; } = string.Empty; + public string AIStudioVersion { get; set; } = string.Empty; /// /// Defines RuntimeAIStudioVersion for the visual briefing feature. /// - public string RuntimeAIStudioVersion { get; init; } = string.Empty; + public string RuntimeAIStudioVersion { get; set; } = string.Empty; /// /// Gets or sets the SHA-256 hash of the complete standalone HTML document. diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingLayoutNode.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingLayoutNode.cs index 93b7a4c32..b68dc5066 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingLayoutNode.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingLayoutNode.cs @@ -11,23 +11,23 @@ public sealed class VisualBriefingLayoutNode { /// Gets or sets the globally unique layout node identifier. [JsonRequired] - public string NodeId { get; init; } = string.Empty; + public string NodeId { get; set; } = string.Empty; /// Gets or sets the node kind. [JsonRequired] - public VisualBriefingLayoutNodeKind Kind { get; init; } + public VisualBriefingLayoutNodeKind Kind { get; set; } /// Gets or sets the planned section identifier for a section node. [JsonRequired] - public string? SectionId { get; init; } + public string? SectionId { get; set; } /// Gets or sets the planned component identifier for a component node. [JsonRequired] - public string? ComponentId { get; init; } + public string? ComponentId { get; set; } /// Gets or sets the ordered child nodes. [JsonRequired] - public List Children { get; init; } = []; + public List Children { get; set; } = []; /// Gets or sets responsive columns for a grid node. [JsonRequired] @@ -39,7 +39,7 @@ public sealed class VisualBriefingLayoutNode /// Gets or sets the explicit sibling order. [JsonRequired] - public int Order { get; init; } + public int Order { get; set; } /// Gets or sets whether the node receives visual emphasis. [JsonRequired] diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingManifest.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingManifest.cs index 1832fa3e3..efa72806d 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingManifest.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingManifest.cs @@ -52,7 +52,7 @@ public sealed class VisualBriefingManifest /// than in the settings, which the editor replaces with every save. A briefing nothing was sent to, or one /// written before this property existed, demands nothing. /// - public ChatRestrictions Restrictions { get; init; } = ChatRestrictions.NONE; + public ChatRestrictions Restrictions { get; set; } = ChatRestrictions.NONE; /// /// Defines Sources for the visual briefing feature. diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingPlanArtifact.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingPlanArtifact.cs index add7978df..05f16149a 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingPlanArtifact.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingPlanArtifact.cs @@ -15,20 +15,20 @@ public sealed class VisualBriefingPlanArtifact public int ContractVersion { get; set; } = VisualBriefingVersions.PLAN_CONTRACT; /// Gets or sets the immutable artifact identifier. - public Guid ArtifactId { get; init; } + public Guid ArtifactId { get; set; } /// Gets or sets the artifact creation time. public DateTimeOffset CreatedAtUtc { get; set; } /// Gets or sets the hash of the artifact payload. - public string PayloadHash { get; init; } = string.Empty; + public string PayloadHash { get; set; } = string.Empty; /// Gets or sets the ordered planned sections. - public List Sections { get; init; } = []; + public List Sections { get; set; } = []; /// Gets or sets the canonical structural signature. - public string StructuralSignature { get; init; } = string.Empty; + public string StructuralSignature { get; set; } = string.Empty; /// Gets or sets the contributing model name. - public string Model { get; init; } = string.Empty; + public string Model { get; set; } = string.Empty; } \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingSlotValue.cs b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingSlotValue.cs index 08822270d..009f0d0fd 100644 --- a/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingSlotValue.cs +++ b/app/MindWork AI Studio/Assistants/VisualBriefing/VisualBriefingSlotValue.cs @@ -12,9 +12,9 @@ public sealed class VisualBriefingSlotValue { /// Gets or sets the planned slot identifier. [JsonRequired] - public string SlotId { get; init; } = string.Empty; + public string SlotId { get; set; } = string.Empty; /// Gets or sets the validated slot value. [JsonRequired] - public JsonElement Value { get; init; } + public JsonElement Value { get; set; } } \ No newline at end of file