Versions in this module Expand all Collapse all v0 v0.2.0 Apr 26, 2026 Changes in this version + const DefaultRegistryHost + func GetPluginsDir() string + type DeployConfig struct + Dependencies map[string]string + func LoadDeployConfig(path string) (*DeployConfig, error) + func (c *DeployConfig) GetPluginIDs() ([]*PluginID, error) + type InstallResult struct + Error error + PluginID *PluginID + Status InstallStatus + type InstallStage string + const StageComplete + const StageDownloading + const StageExtracting + const StageResolving + const StageVerifying + type InstallStatus int + const StatusFailed + const StatusInstalled + const StatusSkipped + type InstalledPlugin struct + Dependencies map[string]string + ID string + InstalledAt time.Time + RegistryHost string + Shasum string + Type string + Version string + type Manager struct + func NewManager(registryClient *registries.RegistryClient, ...) *Manager + func NewManagerWithPluginsDir(registryClient *registries.RegistryClient, ...) *Manager + func (m *Manager) ExtractArchive(archivePath, destDir string) error + func (m *Manager) GetMissingPlugins(pluginIDs []*PluginID) ([]*PluginID, error) + func (m *Manager) GetUnsatisfiedPlugins(pluginIDs []*PluginID) ([]*PluginID, error) + func (m *Manager) Install(ctx context.Context, pluginID *PluginID, progressFn ProgressCallback) (*InstallResult, error) + func (m *Manager) InstallAll(ctx context.Context, pluginIDs []*PluginID, progressFn ProgressCallback) ([]*InstallResult, error) + func (m *Manager) InstallMissing(ctx context.Context, pluginIDs []*PluginID, progressFn ProgressCallback) ([]*InstallResult, error) + func (m *Manager) IsInstalled(pluginID *PluginID) (bool, *InstalledPlugin, error) + func (m *Manager) IsSatisfied(pluginID *PluginID) (bool, *InstalledPlugin, error) + func (m *Manager) ListInstalled() ([]*InstalledPlugin, error) + func (m *Manager) LoadManifest() (*PluginManifest, error) + func (m *Manager) ResolveDependencies(ctx context.Context, pluginIDs []*PluginID) ([]*PluginID, error) + func (m *Manager) ResolveLatestVersion(ctx context.Context, pluginID *PluginID) (string, error) + func (m *Manager) ResolveVersion(ctx context.Context, pluginID *PluginID) (string, error) + func (m *Manager) SaveManifest(manifest *PluginManifest) error + func (m *Manager) Uninstall(pluginID *PluginID) *UninstallResult + func (m *Manager) UninstallAll(pluginIDs []*PluginID) []*UninstallResult + func (m *Manager) VerifyChecksum(filePath string, shasums []byte, expectedFilename string) error + func (m *Manager) VerifyGPGSignature(shasums, signature []byte, signingKeys map[string]string) error + type PluginID struct + Name string + Namespace string + RegistryHost string + Version string + func ParsePluginID(input string) (*PluginID, error) + func (p *PluginID) FullyQualified() string + func (p *PluginID) IsDefaultRegistry() bool + func (p *PluginID) IsVersionConstraint() bool + func (p *PluginID) ManifestKey() string + func (p *PluginID) ParseVersionConstraint() (*version.Constraint, error) + func (p *PluginID) String() string + func (p *PluginID) WithVersion(version string) *PluginID + type PluginManifest struct + Plugins map[string]*InstalledPlugin + type ProgressCallback func(pluginID *PluginID, stage InstallStage, downloaded, total int64) + type UninstallResult struct + Error error + PluginID *PluginID + Status UninstallStatus + type UninstallStatus int + const UninstallStatusFailed + const UninstallStatusNotFound + const UninstallStatusRemoved