using AIStudio.Tools.PluginSystem; namespace AIStudio.Tools.Services; /// /// What the user gets to see before a plugin archive is installed. It is not bound to a specific /// plugin type, so it also serves upcoming import paths for other plugin types. /// /// The plugin from the archive, with the metadata it declares about itself. /// The installed plugin that gets replaced or null when the archive adds a new plugin. public sealed record PluginImportPreview(IPluginMetadata Plugin, IAvailablePlugin? ExistingPlugin) { /// /// True when an installed plugin with the same ID gets replaced. /// public bool ReplacesExisting => this.ExistingPlugin is not null; }