Versions in this module Expand all Collapse all v0 v0.6.0 Jul 27, 2026 v0.5.1 Jun 29, 2026 v0.5.0 Jun 7, 2026 v0.4.0 May 22, 2026 v0.3.2 May 3, 2026 v0.3.1 May 2, 2026 Changes in this version + const SchemaVersion + func Exists(path string) bool + type Artifact struct + ContentHash sql.NullString + ContentType sql.NullString + CreatedAt time.Time + FetchedAt sql.NullTime + Filename string + HitCount int64 + ID int64 + LastAccessedAt sql.NullTime + Size sql.NullInt64 + StoragePath sql.NullString + UpdatedAt time.Time + UpstreamURL string + VersionPURL string + func (a *Artifact) IsCached() bool + type CacheStats struct + EcosystemCounts map[string]int64 + TotalArtifacts int64 + TotalHits int64 + TotalPackages int64 + TotalSize int64 + TotalVersions int64 + type DB struct + func Create(path string) (*DB, error) + func Open(path string) (*DB, error) + func OpenOrCreate(path string) (*DB, error) + func OpenPostgres(url string) (*DB, error) + func OpenPostgresOrCreate(url string) (*DB, error) + func (db *DB) ClearArtifactCache(versionPURL, filename string) error + func (db *DB) CountCachedPackages(ecosystem string) (int64, error) + func (db *DB) CountSearchResults(query string, ecosystem string) (int64, error) + func (db *DB) CreateSchema() error + func (db *DB) DeleteVulnerabilitiesForPackage(ecosystem, name string) error + func (db *DB) Dialect() Dialect + func (db *DB) EnsureArtifactsTable() error + func (db *DB) EnsureMetadataCacheTable() error + func (db *DB) GetArtifact(versionPURL, filename string) (*Artifact, error) + func (db *DB) GetArtifactByPath(storagePath string) (*Artifact, error) + func (db *DB) GetArtifactsByVersionPURL(versionPURL string) ([]Artifact, error) + func (db *DB) GetCacheStats() (*CacheStats, error) + func (db *DB) GetCachedArtifactCount() (int64, error) + func (db *DB) GetEnrichmentStats() (*EnrichmentStats, error) + func (db *DB) GetLeastRecentlyUsedArtifacts(limit int) ([]Artifact, error) + func (db *DB) GetMetadataCache(ecosystem, name string) (*MetadataCacheEntry, error) + func (db *DB) GetMostPopularPackages(limit int) ([]PopularPackage, error) + func (db *DB) GetPackageByEcosystemName(ecosystem, name string) (*Package, error) + func (db *DB) GetPackageByPURL(purl string) (*Package, error) + func (db *DB) GetPackagesNeedingVulnSync(limit int, minAge time.Duration) ([]Package, error) + func (db *DB) GetRecentlyCachedPackages(limit int) ([]RecentPackage, error) + func (db *DB) GetTotalCacheSize() (int64, error) + func (db *DB) GetVersionByPURL(purl string) (*Version, error) + func (db *DB) GetVersionsByPackagePURL(packagePURL string) ([]Version, error) + func (db *DB) GetVulnCountForPackage(ecosystem, name string) (int64, error) + func (db *DB) GetVulnerabilitiesForPackage(ecosystem, name string) ([]Vulnerability, error) + func (db *DB) GetVulnsSyncedAt(ecosystem, name string) (time.Time, error) + func (db *DB) HasColumn(table, column string) (bool, error) + func (db *DB) HasTable(name string) (bool, error) + func (db *DB) ListCachedPackages(ecosystem string, sortBy string, limit int, offset int) ([]PackageListItem, error) + func (db *DB) MarkArtifactCached(versionPURL, filename, storagePath, contentHash string, size int64, ...) error + func (db *DB) MigrateSchema() error + func (db *DB) OptimizeForBulkWrites() error + func (db *DB) OptimizeForReads() error + func (db *DB) Path() string + func (db *DB) Rebind(query string) string + func (db *DB) RecordArtifactHit(versionPURL, filename string) error + func (db *DB) SchemaVersion() (int, error) + func (db *DB) SearchPackages(query string, ecosystem string, limit int, offset int) ([]SearchResult, error) + func (db *DB) SetVulnsSyncedAt(ecosystem, name string) error + func (db *DB) UpsertArtifact(a *Artifact) error + func (db *DB) UpsertMetadataCache(entry *MetadataCacheEntry) error + func (db *DB) UpsertPackage(pkg *Package) error + func (db *DB) UpsertVersion(v *Version) error + func (db *DB) UpsertVulnerability(v *Vulnerability) error + type Dialect string + const DialectPostgres + const DialectSQLite + type EnrichmentStats struct + CriticalVulns int64 + EnrichedPackages int64 + HighVulns int64 + LowVulns int64 + MediumVulns int64 + TotalPackages int64 + TotalVulnerabilities int64 + VulnSyncedPackages int64 + type MetadataCacheEntry struct + ContentType sql.NullString + CreatedAt time.Time + ETag sql.NullString + Ecosystem string + FetchedAt sql.NullTime + ID int64 + LastModified sql.NullTime + Name string + Size sql.NullInt64 + StoragePath string + UpdatedAt time.Time + type Package struct + CreatedAt time.Time + Description sql.NullString + Ecosystem string + EnrichedAt sql.NullTime + Homepage sql.NullString + ID int64 + LatestVersion sql.NullString + License sql.NullString + Name string + PURL string + RegistryURL sql.NullString + RepositoryURL sql.NullString + Source sql.NullString + SupplierName sql.NullString + SupplierType sql.NullString + UpdatedAt time.Time + VulnsSyncedAt sql.NullTime + type PackageListItem struct + CachedAt sql.NullString + Ecosystem string + Hits int64 + LatestVersion sql.NullString + License sql.NullString + Name string + Size int64 + VulnCount int64 + type PopularPackage struct + Ecosystem string + Hits int64 + Name string + Size int64 + type RecentPackage struct + CachedAt time.Time + Ecosystem string + Name string + Size int64 + Version string + type SearchResult struct + CachedAt sql.NullString + Ecosystem string + Hits int64 + LatestVersion sql.NullString + License sql.NullString + Name string + Size int64 + type Version struct + CreatedAt time.Time + EnrichedAt sql.NullTime + ID int64 + Integrity sql.NullString + License sql.NullString + PURL string + PackagePURL string + PublishedAt sql.NullTime + Source sql.NullString + UpdatedAt time.Time + Yanked bool + func (v *Version) Version() string + type Vulnerability struct + CVSSScore sql.NullFloat64 + CreatedAt time.Time + Ecosystem string + FetchedAt sql.NullTime + FixedVersion sql.NullString + ID int64 + PackageName string + References sql.NullString + Severity sql.NullString + Summary sql.NullString + UpdatedAt time.Time + VulnID string v0.3.0 Apr 13, 2026 v0.2.1 Apr 6, 2026 v0.2.0 Apr 6, 2026 v0.1.0 Mar 19, 2026