From 7380250b68b9f068f6e5fe9984828d4db2e37402 Mon Sep 17 00:00:00 2001 From: nilsk Date: Tue, 24 Mar 2026 12:58:57 +0100 Subject: [PATCH] WIP: added new data class for assistant security audits --- .../Settings/DataModel/Data.cs | 11 ++++++++++- .../Assistants/PluginAssistantAudit.cs | 17 +++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 app/MindWork AI Studio/Tools/PluginSystem/Assistants/PluginAssistantAudit.cs diff --git a/app/MindWork AI Studio/Settings/DataModel/Data.cs b/app/MindWork AI Studio/Settings/DataModel/Data.cs index d6339739..df5797f1 100644 --- a/app/MindWork AI Studio/Settings/DataModel/Data.cs +++ b/app/MindWork AI Studio/Settings/DataModel/Data.cs @@ -1,3 +1,5 @@ +using AIStudio.Tools.PluginSystem.Assistants; + namespace AIStudio.Settings.DataModel; /// @@ -56,6 +58,11 @@ public sealed class Data /// public Dictionary ManagedEditableDefaults { get; set; } = []; + /// + /// Cached audit results for assistant plugins. + /// + public List AssistantPluginAudits { get; set; } = []; + /// /// The next provider number to use. /// @@ -114,6 +121,8 @@ public sealed class Data public DataAgentDataSourceSelection AgentDataSourceSelection { get; init; } = new(); public DataAgentRetrievalContextValidation AgentRetrievalContextValidation { get; init; } = new(); + + public DataAssistantPluginAudit AssistantPluginAudit { get; init; } = new(x => x.AssistantPluginAudit); public DataAgenda Agenda { get; init; } = new(); @@ -136,4 +145,4 @@ public sealed class Data public DataBiasOfTheDay BiasOfTheDay { get; init; } = new(); public DataI18N I18N { get; init; } = new(); -} \ No newline at end of file +} diff --git a/app/MindWork AI Studio/Tools/PluginSystem/Assistants/PluginAssistantAudit.cs b/app/MindWork AI Studio/Tools/PluginSystem/Assistants/PluginAssistantAudit.cs new file mode 100644 index 00000000..6f46cc1a --- /dev/null +++ b/app/MindWork AI Studio/Tools/PluginSystem/Assistants/PluginAssistantAudit.cs @@ -0,0 +1,17 @@ +using AIStudio.Agents.AssistantAudit; + +namespace AIStudio.Tools.PluginSystem.Assistants; + +public sealed class PluginAssistantAudit +{ + public Guid PluginId { get; init; } + public string PluginHash { get; init; } = string.Empty; + public DateTimeOffset AuditedAtUtc { get; set; } + public string AuditProviderId { get; set; } = string.Empty; + public string AuditProviderName { get; set; } = string.Empty; + public AssistantAuditLevel Level { get; init; } = AssistantAuditLevel.UNKNOWN; + public string Summary { get; init; } = string.Empty; + public float Confidence { get; set; } + public string PromptPreview { get; set; } = string.Empty; + public List Findings { get; set; } = []; +}