mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-04-28 15:59:48 +00:00
Consider mandatory internal plugins
This commit is contained in:
parent
65b0a4a15d
commit
a5b5566f84
@ -10,11 +10,20 @@ namespace AIStudio.Tools.PluginSystem;
|
||||
public static partial class PluginFactory
|
||||
{
|
||||
private static readonly ILogger LOG = Program.LOGGER_FACTORY.CreateLogger("PluginFactory");
|
||||
|
||||
private static readonly string DATA_DIR = SettingsManager.DataDirectory!;
|
||||
|
||||
private static readonly string PLUGINS_ROOT = Path.Join(DATA_DIR, "plugins");
|
||||
|
||||
private static readonly Dictionary<IPluginMetadata, string> AVAILABLE_PLUGINS = new();
|
||||
|
||||
private static readonly SettingsManager SETTINGS = Program.SERVICE_PROVIDER.GetRequiredService<SettingsManager>();
|
||||
|
||||
private static readonly Guid[] MANDATORY_INTERNAL_PLUGINS =
|
||||
[
|
||||
new("97dfb1ba-50c4-4440-8dfa-6575daf543c8"), // Language EN-US (base language)
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// A list of all available plugins.
|
||||
/// </summary>
|
||||
@ -23,12 +32,12 @@ public static partial class PluginFactory
|
||||
/// <summary>
|
||||
/// A list of all enabled plugins.
|
||||
/// </summary>
|
||||
public static IEnumerable<IPluginMetadata> EnabledPlugins => AVAILABLE_PLUGINS.Keys.Where(x => SETTINGS.ConfigurationData.EnabledPlugins.Contains(x.Id));
|
||||
public static IEnumerable<IPluginMetadata> EnabledPlugins => AVAILABLE_PLUGINS.Keys.Where(x => SETTINGS.ConfigurationData.EnabledPlugins.Contains(x.Id) || MANDATORY_INTERNAL_PLUGINS.Contains(x.Id));
|
||||
|
||||
/// <summary>
|
||||
/// A list of all disabled plugins.
|
||||
/// </summary>
|
||||
public static IEnumerable<IPluginMetadata> DisabledPlugins => AVAILABLE_PLUGINS.Keys.Where(x => !SETTINGS.ConfigurationData.EnabledPlugins.Contains(x.Id));
|
||||
public static IEnumerable<IPluginMetadata> DisabledPlugins => AVAILABLE_PLUGINS.Keys.Where(x => !(SETTINGS.ConfigurationData.EnabledPlugins.Contains(x.Id) || MANDATORY_INTERNAL_PLUGINS.Contains(x.Id)));
|
||||
|
||||
/// <summary>
|
||||
/// Try to load all plugins from the plugins directory.
|
||||
|
Loading…
Reference in New Issue
Block a user