Versions in this module Expand all Collapse all v1 v1.25.1 May 15, 2026 v1.25.0 May 9, 2026 Changes in this version + var FeatureAlphaTool = alpha.MustFeatureKey("tool") + func SelectVersionProviders(tools []*ToolDefinition, commandRunner exec.CommandRunner, ...) map[string]LatestVersionProvider + type CachedToolVersion struct + LatestVersion string + type Checksum struct + Algorithm string + Value string + type Detector interface + DetectAll func(ctx context.Context, tools []*ToolDefinition) ([]*ToolStatus, error) + DetectTool func(ctx context.Context, tool *ToolDefinition) (*ToolStatus, error) + func NewDetector(commandRunner exec.CommandRunner) Detector + type ExtensionRegistryVersionProvider struct + func NewExtensionRegistryVersionProvider(cacheManager *extensions.RegistryCacheManager) *ExtensionRegistryVersionProvider + func (p *ExtensionRegistryVersionProvider) GetLatestVersion(ctx context.Context, tool *ToolDefinition) (string, error) + type InstallResult struct + Duration time.Duration + Error error + InstalledVersion string + Strategy string + Success bool + Tool *ToolDefinition + type InstallStrategy struct + Checksum Checksum + DirectDownloadUrl string + FallbackUrl string + InstallCommand string + PackageId string + PackageManager string + type Installer interface + Install func(ctx context.Context, tool *ToolDefinition) (*InstallResult, error) + Upgrade func(ctx context.Context, tool *ToolDefinition) (*InstallResult, error) + func NewInstaller(commandRunner exec.CommandRunner, platformDetector *PlatformDetector, ...) Installer + func NewInstallerWithHTTPClient(commandRunner exec.CommandRunner, platformDetector *PlatformDetector, ...) Installer + type LatestVersionProvider interface + GetLatestVersion func(ctx context.Context, tool *ToolDefinition) (string, error) + func SelectVersionProvider(tool *ToolDefinition, commandRunner exec.CommandRunner, ...) LatestVersionProvider + type Manager struct + func NewManager(detector Detector, installer Installer, updateChecker *UpdateChecker) *Manager + func (m *Manager) CheckForUpdates(ctx context.Context) ([]*UpdateCheckResult, error) + func (m *Manager) DetectAll(ctx context.Context) ([]*ToolStatus, error) + func (m *Manager) DetectTool(ctx context.Context, id string) (*ToolStatus, error) + func (m *Manager) FindTool(id string) (*ToolDefinition, error) + func (m *Manager) GetAllTools() []*ToolDefinition + func (m *Manager) GetToolsByCategory(category ToolCategory) []*ToolDefinition + func (m *Manager) HasUpdatesAvailable(ctx context.Context) (bool, int, error) + func (m *Manager) InstallTools(ctx context.Context, ids []string) ([]*InstallResult, error) + func (m *Manager) MarkUpdateNotificationShown(ctx context.Context) error + func (m *Manager) ShouldCheckForUpdates(ctx context.Context) bool + func (m *Manager) ShouldShowNotification(ctx context.Context) bool + func (m *Manager) UpgradeAll(ctx context.Context) ([]*InstallResult, error) + func (m *Manager) UpgradeTools(ctx context.Context, ids []string) ([]*InstallResult, error) + type MarketplaceVersionProvider struct + func NewMarketplaceVersionProvider(httpClient httpDoer) *MarketplaceVersionProvider + func (p *MarketplaceVersionProvider) GetLatestVersion(ctx context.Context, tool *ToolDefinition) (string, error) + type PackageManagerVersionProvider struct + func NewPackageManagerVersionProvider(commandRunner exec.CommandRunner) *PackageManagerVersionProvider + func (p *PackageManagerVersionProvider) GetLatestVersion(ctx context.Context, tool *ToolDefinition) (string, error) + type Platform struct + AvailableManagers []string + OS string + func (p *Platform) HasManager(name string) bool + type PlatformDetector struct + func NewPlatformDetector(commandRunner exec.CommandRunner) *PlatformDetector + func (pd *PlatformDetector) Detect(ctx context.Context) (*Platform, error) + func (pd *PlatformDetector) IsManagerAvailable(ctx context.Context, manager string) bool + func (pd *PlatformDetector) SelectStrategy(tool *ToolDefinition, platform *Platform) *InstallStrategy + type ToolCategory string + const ToolCategoryCLI + const ToolCategoryExtension + const ToolCategoryLibrary + const ToolCategoryServer + type ToolDefinition struct + Category ToolCategory + Dependencies []string + Description string + DetectCommand string + Id string + InstallStrategies map[string]InstallStrategy + Name string + Priority ToolPriority + VersionArgs []string + VersionRegex string + Website string + func BuiltInTools() []*ToolDefinition + func FindTool(id string) *ToolDefinition + func FindToolsByCategory(category ToolCategory) []*ToolDefinition + type ToolPriority string + const ToolPriorityOptional + const ToolPriorityRecommended + type ToolStatus struct + Error error + Installed bool + InstalledVersion string + Tool *ToolDefinition + type UpdateCheckCache struct + CheckedAt time.Time + ExpiresAt time.Time + Tools map[string]CachedToolVersion + type UpdateCheckResult struct + CurrentVersion string + LatestVersion string + Tool *ToolDefinition + UpdateAvailable bool + type UpdateChecker struct + func NewUpdateChecker(configManager config.UserConfigManager, detector Detector, ...) *UpdateChecker + func (uc *UpdateChecker) Check(ctx context.Context, tools []*ToolDefinition) ([]*UpdateCheckResult, error) + func (uc *UpdateChecker) GetCachedResults() (*UpdateCheckCache, error) + func (uc *UpdateChecker) HasUpdatesAvailable(ctx context.Context, tools []*ToolDefinition) (bool, int, error) + func (uc *UpdateChecker) MarkNotificationShown(ctx context.Context) error + func (uc *UpdateChecker) SaveCache(cache *UpdateCheckCache) error + func (uc *UpdateChecker) ShouldCheck(ctx context.Context) bool + func (uc *UpdateChecker) ShouldShowNotification(ctx context.Context) bool