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
}