mirror of
				https://github.com/MindWorkAI/AI-Studio.git
				synced 2025-11-04 04:00:21 +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