From d9098d288f4d9e7c9ee2696824af62c717795d40 Mon Sep 17 00:00:00 2001 From: krut_ni Date: Mon, 13 Jul 2026 17:55:57 +0200 Subject: [PATCH] using the parsed config to allow or forbid to revise the assistant with ai --- .../Dynamic/AssistantDynamic.razor.cs | 2 +- .../AssistantPluginRevisionDialog.razor.cs | 6 +-- app/MindWork AI Studio/Pages/Plugins.razor.cs | 4 +- .../AssistantPluginGenerationService.cs | 38 ++++++++++++++----- 4 files changed, 34 insertions(+), 16 deletions(-) diff --git a/app/MindWork AI Studio/Assistants/Dynamic/AssistantDynamic.razor.cs b/app/MindWork AI Studio/Assistants/Dynamic/AssistantDynamic.razor.cs index bd9ed525..595836a7 100644 --- a/app/MindWork AI Studio/Assistants/Dynamic/AssistantDynamic.razor.cs +++ b/app/MindWork AI Studio/Assistants/Dynamic/AssistantDynamic.razor.cs @@ -74,7 +74,7 @@ public partial class AssistantDynamic : AssistantBaseCore private static readonly AssistantSessionStateKey SECURITY_MESSAGE_STATE_KEY = new(nameof(securityMessage)); private static readonly AssistantSessionStateKey IS_SECURITY_BLOCKED_STATE_KEY = new(nameof(isSecurityBlocked)); - private bool CanReviseCurrentAssistant => this.assistantPlugin is { IsInternal: false, IsAssistantBuilderGenerated: true } && !string.IsNullOrWhiteSpace(this.assistantPlugin.PluginPath); + private bool CanReviseCurrentAssistant => this.assistantPlugin is { IsInternal: false, IsManagedByConfigServer: false } && !string.IsNullOrWhiteSpace(this.assistantPlugin.PluginPath); /// protected override void CaptureCustomAssistantSessionState(AssistantSessionStateWriter state) diff --git a/app/MindWork AI Studio/Dialogs/AssistantPluginRevisionDialog.razor.cs b/app/MindWork AI Studio/Dialogs/AssistantPluginRevisionDialog.razor.cs index 7e46467e..cd136008 100644 --- a/app/MindWork AI Studio/Dialogs/AssistantPluginRevisionDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/AssistantPluginRevisionDialog.razor.cs @@ -87,7 +87,7 @@ public partial class AssistantPluginRevisionDialog : MSGComponentBase if (!CanReviseAssistantPlugin(this.availablePlugin, this.assistantPlugin)) { - this.issue = T("Only local assistants generated by the Assistant Builder can be revised with AI."); + this.issue = T("Only locally managed assistant plugins can be revised with AI."); return; } @@ -225,9 +225,9 @@ public partial class AssistantPluginRevisionDialog : MSGComponentBase private void Cancel() => this.MudDialog.Cancel(); private static bool CanReviseAssistantPlugin(IAvailablePlugin availablePlugin, PluginAssistants assistantPlugin) => - availablePlugin is { IsInternal: false, Type: PluginType.ASSISTANT } && + availablePlugin is { IsInternal: false, IsManagedByConfigServer: false, Type: PluginType.ASSISTANT } && !string.IsNullOrWhiteSpace(availablePlugin.LocalPath) && - assistantPlugin.IsAssistantBuilderGenerated; + assistantPlugin is { IsInternal: false, IsManagedByConfigServer: false }; private static void UpsertAudit(IList audits, PluginAssistantAudit audit) { diff --git a/app/MindWork AI Studio/Pages/Plugins.razor.cs b/app/MindWork AI Studio/Pages/Plugins.razor.cs index 8b753eae..be7c2105 100644 --- a/app/MindWork AI Studio/Pages/Plugins.razor.cs +++ b/app/MindWork AI Studio/Pages/Plugins.razor.cs @@ -195,9 +195,9 @@ public partial class Plugins : MSGComponentBase private static bool CanReviseAssistantPlugin(IAvailablePlugin plugin) { var assistantPlugin = PluginFactory.RunningPlugins.OfType().FirstOrDefault(x => x.Id == plugin.Id); - return plugin is { IsInternal: false, Type: PluginType.ASSISTANT } && + return plugin is { IsInternal: false, IsManagedByConfigServer: false, Type: PluginType.ASSISTANT } && !string.IsNullOrWhiteSpace(plugin.LocalPath) && - assistantPlugin?.IsAssistantBuilderGenerated is true; + assistantPlugin?.IsManagedByConfigServer is false; } private async Task OpenAssistantPluginEditorDialogAsync(IAvailablePlugin plugin) diff --git a/app/MindWork AI Studio/Tools/Services/AssistantPluginGenerationService.cs b/app/MindWork AI Studio/Tools/Services/AssistantPluginGenerationService.cs index d93839f3..b0342356 100644 --- a/app/MindWork AI Studio/Tools/Services/AssistantPluginGenerationService.cs +++ b/app/MindWork AI Studio/Tools/Services/AssistantPluginGenerationService.cs @@ -105,12 +105,19 @@ public sealed class AssistantPluginGenerationService(ILogger @@ -263,6 +278,7 @@ public sealed class AssistantPluginGenerationService(ILogger @@ -391,7 +410,8 @@ public sealed class AssistantPluginGenerationService(ILogger