namespace StellaOps.Plugin.Hosting; /// /// Represents a failure that occurred while attempting to load a plugin. /// /// The path to the plugin assembly that failed to load. /// The category of failure. /// A detailed message describing the failure. public sealed record PluginLoadFailure( string AssemblyPath, PluginLoadFailureReason Reason, string Message); /// /// Categorizes the reason a plugin failed to load. /// public enum PluginLoadFailureReason { /// /// The plugin assembly could not be loaded due to an error. /// LoadError, /// /// The plugin's signature verification failed. /// SignatureInvalid, /// /// The plugin is not compatible with the host version. /// IncompatibleVersion, /// /// The plugin does not have a required StellaPluginVersion attribute. /// MissingVersionAttribute }