Versions in this module Expand all Collapse all v0 v0.1.0 Nov 4, 2025 Changes in this version + func ResetGlobalRepositoryCache() + type Client struct + func NewClient(cfg ClientConfig) *Client + func (c *Client) CreateDependencyWalker(sources []string, targetFramework string) (*resolver.DependencyWalker, error) + func (c *Client) CreateMetadataClient(sources []string) (resolver.PackageMetadataClient, error) + func (c *Client) DownloadPackage(ctx context.Context, packageID, versionStr string) (io.ReadCloser, error) + func (c *Client) FindBestVersion(ctx context.Context, packageID string, versionRange *version.Range) (*version.NuGetVersion, error) + func (c *Client) GetCompatibleDependencies(metadata *PackageMetadata) ([]PackageDependency, error) + func (c *Client) GetPackageMetadata(ctx context.Context, packageID, versionStr string) (*ProtocolMetadata, error) + func (c *Client) GetRepositoryManager() *RepositoryManager + func (c *Client) GetTargetFramework() *frameworks.NuGetFramework + func (c *Client) ListVersions(ctx context.Context, packageID string) ([]string, error) + func (c *Client) ResolvePackageDependencies(ctx context.Context, packageID string, versionStr string) (*resolver.ResolutionResult, error) + func (c *Client) ResolvePackageVersion(ctx context.Context, packageID, versionStr string, includePrerelease bool) (*version.NuGetVersion, error) + func (c *Client) SearchPackages(ctx context.Context, query string, opts SearchOptions) (map[string][]SearchResult, error) + func (c *Client) SetTargetFramework(fw *frameworks.NuGetFramework) + type ClientConfig struct + RepositoryManager *RepositoryManager + TargetFramework *frameworks.NuGetFramework + type HTTPClient interface + Do func(ctx context.Context, req *http.Request) (*http.Response, error) + DoWithRetry func(ctx context.Context, req *http.Request) (*http.Response, error) + Get func(ctx context.Context, url string) (*http.Response, error) + SetUserAgent func(ua string) + type InstallPackageRequest struct + IncludePrerelease bool + PackageID string + TargetFramework *frameworks.NuGetFramework + Version string + type PackageDependency struct + Exclude []string + ID string + Include []string + VersionRange *version.Range + type PackageDependencyGroup struct + Dependencies []PackageDependency + TargetFramework *frameworks.NuGetFramework + type PackageIdentity struct + ID string + Version *version.NuGetVersion + func NewPackageIdentity(id string, ver *version.NuGetVersion) PackageIdentity + func (p PackageIdentity) Equals(other PackageIdentity) bool + func (p PackageIdentity) String() string + type PackageMetadata struct + Authors []string + DependencyGroups []PackageDependencyGroup + Description string + IconURL string + Identity PackageIdentity + LicenseURL string + Listed bool + Owners []string + ProjectURL string + RequireLicenseAcceptance bool + Summary string + Tags []string + Title string + func (m *PackageMetadata) GetDependenciesForFramework(target *frameworks.NuGetFramework) []PackageDependency + type ProtocolDependency struct + ID string + Range string + type ProtocolDependencyGroup struct + Dependencies []ProtocolDependency + TargetFramework string + type ProtocolMetadata struct + Authors []string + Dependencies []ProtocolDependencyGroup + Description string + DownloadCount int64 + DownloadURL string + ID string + IconURL string + IsPrerelease bool + LicenseExpression string + LicenseURL string + Owners []string + ProjectURL string + Published string + RequireLicenseAcceptance bool + Summary string + Tags []string + Title string + Version string + type ProviderFactory struct + func NewProviderFactory(httpClient HTTPClient, mtCache *cache.MultiTierCache) *ProviderFactory + func (f *ProviderFactory) CreateProvider(ctx context.Context, sourceURL string) (ResourceProvider, error) + func (f *ProviderFactory) CreateV2Provider(sourceURL string) ResourceProvider + func (f *ProviderFactory) CreateV3Provider(sourceURL string) ResourceProvider + type RepositoryConfig struct + Authenticator auth.Authenticator + Cache *cache.MultiTierCache + HTTPClient *nugethttp.Client + Logger observability.Logger + Name string + SourceURL string + type RepositoryManager struct + func NewRepositoryManager() *RepositoryManager + func (m *RepositoryManager) AddRepository(repo *SourceRepository) error + func (m *RepositoryManager) GetRepository(name string) (*SourceRepository, error) + func (m *RepositoryManager) ListRepositories() []*SourceRepository + func (m *RepositoryManager) RemoveRepository(name string) error + func (m *RepositoryManager) SearchAll(ctx context.Context, cacheCtx *cache.SourceCacheContext, query string, ...) (map[string][]SearchResult, error) + type ResourceProvider interface + DownloadPackage func(ctx context.Context, cacheCtx *cache.SourceCacheContext, ...) (io.ReadCloser, error) + GetMetadata func(ctx context.Context, cacheCtx *cache.SourceCacheContext, ...) (*ProtocolMetadata, error) + ListVersions func(ctx context.Context, cacheCtx *cache.SourceCacheContext, packageID string) ([]string, error) + ProtocolVersion func() string + Search func(ctx context.Context, cacheCtx *cache.SourceCacheContext, query string, ...) ([]SearchResult, error) + SourceURL func() string + type SearchOptions struct + IncludePrerelease bool + Skip int + Take int + type SearchResult struct + Authors []string + Description string + ID string + IconURL string + Tags []string + TotalDownloads int64 + Verified bool + Version string + type SourceRepository struct + func GetOrCreateRepository(sourceURL string) *SourceRepository + func NewSourceRepository(cfg RepositoryConfig) *SourceRepository + func (r *SourceRepository) DownloadPackage(ctx context.Context, cacheCtx *cache.SourceCacheContext, ...) (io.ReadCloser, error) + func (r *SourceRepository) GetMetadata(ctx context.Context, cacheCtx *cache.SourceCacheContext, ...) (*ProtocolMetadata, error) + func (r *SourceRepository) GetProvider(ctx context.Context) (ResourceProvider, error) + func (r *SourceRepository) ListVersions(ctx context.Context, cacheCtx *cache.SourceCacheContext, packageID string) ([]string, error) + func (r *SourceRepository) Name() string + func (r *SourceRepository) Search(ctx context.Context, cacheCtx *cache.SourceCacheContext, query string, ...) ([]SearchResult, error) + func (r *SourceRepository) SourceURL() string + type V2ResourceProvider struct + func NewV2ResourceProvider(sourceURL string, httpClient HTTPClient, mtCache *cache.MultiTierCache) *V2ResourceProvider + func (p *V2ResourceProvider) DownloadPackage(ctx context.Context, cacheCtx *cache.SourceCacheContext, ...) (io.ReadCloser, error) + func (p *V2ResourceProvider) FindPackagesByID(ctx context.Context, cacheCtx *cache.SourceCacheContext, packageID string) ([]*ProtocolMetadata, error) + func (p *V2ResourceProvider) GetMetadata(ctx context.Context, cacheCtx *cache.SourceCacheContext, ...) (*ProtocolMetadata, error) + func (p *V2ResourceProvider) ListVersions(ctx context.Context, cacheCtx *cache.SourceCacheContext, packageID string) ([]string, error) + func (p *V2ResourceProvider) ProtocolVersion() string + func (p *V2ResourceProvider) Search(ctx context.Context, cacheCtx *cache.SourceCacheContext, query string, ...) ([]SearchResult, error) + func (p *V2ResourceProvider) SourceURL() string + type V3ResourceProvider struct + func NewV3ResourceProvider(sourceURL string, httpClient HTTPClient, mtCache *cache.MultiTierCache) *V3ResourceProvider + func NewV3ResourceProviderWithServiceIndex(sourceURL, serviceIndexURL string, httpClient HTTPClient, ...) *V3ResourceProvider + func (p *V3ResourceProvider) DownloadPackage(ctx context.Context, cacheCtx *cache.SourceCacheContext, ...) (io.ReadCloser, error) + func (p *V3ResourceProvider) GetMetadata(ctx context.Context, cacheCtx *cache.SourceCacheContext, ...) (*ProtocolMetadata, error) + func (p *V3ResourceProvider) ListVersions(ctx context.Context, cacheCtx *cache.SourceCacheContext, packageID string) ([]string, error) + func (p *V3ResourceProvider) ProtocolVersion() string + func (p *V3ResourceProvider) Search(ctx context.Context, cacheCtx *cache.SourceCacheContext, query string, ...) ([]SearchResult, error) + func (p *V3ResourceProvider) ServiceIndexURL() string + func (p *V3ResourceProvider) SourceURL() string