mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-04-28 18:59:47 +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
|
public static partial class PluginFactory
|
||||||
{
|
{
|
||||||
private static readonly ILogger LOG = Program.LOGGER_FACTORY.CreateLogger("PluginFactory");
|
private static readonly ILogger LOG = Program.LOGGER_FACTORY.CreateLogger("PluginFactory");
|
||||||
|
|
||||||
private static readonly string DATA_DIR = SettingsManager.DataDirectory!;
|
private static readonly string DATA_DIR = SettingsManager.DataDirectory!;
|
||||||
|
|
||||||
private static readonly string PLUGINS_ROOT = Path.Join(DATA_DIR, "plugins");
|
private static readonly string PLUGINS_ROOT = Path.Join(DATA_DIR, "plugins");
|
||||||
|
|
||||||
private static readonly Dictionary<IPluginMetadata, string> AVAILABLE_PLUGINS = new();
|
private static readonly Dictionary<IPluginMetadata, string> AVAILABLE_PLUGINS = new();
|
||||||
|
|
||||||
private static readonly SettingsManager SETTINGS = Program.SERVICE_PROVIDER.GetRequiredService<SettingsManager>();
|
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>
|
/// <summary>
|
||||||
/// A list of all available plugins.
|
/// A list of all available plugins.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -23,12 +32,12 @@ public static partial class PluginFactory
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// A list of all enabled plugins.
|
/// A list of all enabled plugins.
|
||||||
/// </summary>
|
/// </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>
|
/// <summary>
|
||||||
/// A list of all disabled plugins.
|
/// A list of all disabled plugins.
|
||||||
/// </summary>
|
/// </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>
|
/// <summary>
|
||||||
/// Try to load all plugins from the plugins directory.
|
/// Try to load all plugins from the plugins directory.
|
||||||
|
Loading…
Reference in New Issue
Block a user