diff --git a/app/MindWork AI Studio/Tools/PluginSystem/IPluginMetadata.cs b/app/MindWork AI Studio/Tools/PluginSystem/IPluginMetadata.cs index c7f0722d..95d26b34 100644 --- a/app/MindWork AI Studio/Tools/PluginSystem/IPluginMetadata.cs +++ b/app/MindWork AI Studio/Tools/PluginSystem/IPluginMetadata.cs @@ -66,4 +66,9 @@ public interface IPluginMetadata /// The message that should be displayed when the plugin is deprecated. /// public string DeprecationMessage { get; } + + /// + /// True, when the plugin is AI Studio internal. + /// + public bool IsInternal { get; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/PluginSystem/PluginBase.cs b/app/MindWork AI Studio/Tools/PluginSystem/PluginBase.cs index d3801da7..8960369a 100644 --- a/app/MindWork AI Studio/Tools/PluginSystem/PluginBase.cs +++ b/app/MindWork AI Studio/Tools/PluginSystem/PluginBase.cs @@ -8,6 +8,12 @@ namespace AIStudio.Tools.PluginSystem; /// public abstract class PluginBase : IPluginMetadata { + private static readonly Guid[] MANDATORY_INTERNAL_PLUGINS = + [ + new("97dfb1ba-50c4-4440-8dfa-6575daf543c8"), // Language EN-US (base language) + new("43065dbc-78d0-45b7-92be-f14c2926e2dc"), // Language DE-DE + ]; + private readonly IReadOnlyCollection baseIssues; protected readonly LuaState state; @@ -51,7 +57,10 @@ public abstract class PluginBase : IPluginMetadata /// public string DeprecationMessage { get; } = string.Empty; - + + /// + public bool IsInternal { get; } + /// /// The issues that occurred during the initialization of this plugin. /// @@ -80,7 +89,10 @@ public abstract class PluginBase : IPluginMetadata this.IconSVG = iconSVG; if(this.TryInitId(out var issue, out var id)) + { this.Id = id; + this.IsInternal = MANDATORY_INTERNAL_PLUGINS.Contains(id); + } else if(this is not NoPlugin) issues.Add(issue); diff --git a/app/MindWork AI Studio/Tools/PluginSystem/PluginFactory.cs b/app/MindWork AI Studio/Tools/PluginSystem/PluginFactory.cs index 71b5aa7c..d8cd3ba1 100644 --- a/app/MindWork AI Studio/Tools/PluginSystem/PluginFactory.cs +++ b/app/MindWork AI Studio/Tools/PluginSystem/PluginFactory.cs @@ -17,13 +17,6 @@ public static partial class PluginFactory private static readonly Dictionary AVAILABLE_PLUGINS = new(); - private static readonly SettingsManager SETTINGS = Program.SERVICE_PROVIDER.GetRequiredService(); - - private static readonly Guid[] MANDATORY_INTERNAL_PLUGINS = - [ - new("97dfb1ba-50c4-4440-8dfa-6575daf543c8"), // Language EN-US (base language) - ]; - /// /// A list of all available plugins. /// diff --git a/app/MindWork AI Studio/Tools/PluginSystem/PluginMetadata.cs b/app/MindWork AI Studio/Tools/PluginSystem/PluginMetadata.cs index 8ce7b5fa..2bfdab1e 100644 --- a/app/MindWork AI Studio/Tools/PluginSystem/PluginMetadata.cs +++ b/app/MindWork AI Studio/Tools/PluginSystem/PluginMetadata.cs @@ -43,5 +43,8 @@ public sealed class PluginMetadata(PluginBase plugin) : IPluginMetadata /// public string DeprecationMessage { get; } = plugin.DeprecationMessage; + /// + public bool IsInternal { get; } = plugin.IsInternal; + #endregion } \ No newline at end of file