Versions in this module Expand all Collapse all v1 v1.0.0 Feb 17, 2026 Changes in this version + const DefaultCacheTTL + const DefaultMaxCacheSize + type Cache struct + func NewCache(maxSize int, defaultTTL time.Duration) *Cache + func (c *Cache) CleanExpired() int + func (c *Cache) Clear() + func (c *Cache) Delete(key string) + func (c *Cache) Get(key string) *CacheEntry + func (c *Cache) Set(key string, entry *CacheEntry) + func (c *Cache) SetWithTTL(key string, entry *CacheEntry, ttl time.Duration) + func (c *Cache) Size() int + type CacheEntry struct + Content *FileContent + ETag string + ExpiresAt time.Time + func (ce *CacheEntry) IsExpired() bool + type ExtractionResult struct + Errors []error + Labels map[string]string + Metadata map[string]string + ProcessingTime time.Duration + type Extractor interface + Extract func(ctx context.Context, pr github.PullRequest, fetcher FileFetcher) (map[string]string, error) + Name func() string + Required func() bool + type ExtractorConfig struct + DefaultValue string + FilePath string + JSONPath string + Key string + Name string + Pattern string + Required bool + Transform string + Type string + type Fetcher struct + func NewFetcher(client *github.Client, logger *zap.Logger) *Fetcher + func NewFetcherWithCache(client *github.Client, logger *zap.Logger, maxSize int, ttl time.Duration) *Fetcher + func (f *Fetcher) CacheSize() int + func (f *Fetcher) CleanExpired() int + func (f *Fetcher) ClearCache() + func (f *Fetcher) GetFile(ctx context.Context, pr github.PullRequest, path string) (*FileContent, error) + func (f *Fetcher) GetFileWithRef(ctx context.Context, repo github.Repository, path string, ref string) (*FileContent, error) + type FileContent struct + Content []byte + FetchedAt time.Time + Path string + SHA string + Size int64 + type FileFetcher interface + ClearCache func() + GetFile func(ctx context.Context, pr github.PullRequest, path string) (*FileContent, error) + GetFileWithRef func(ctx context.Context, repo github.Repository, path string, ref string) (*FileContent, error) + type LabelComposer interface + Compose func(metadata map[string]string) (map[string]string, error) + type LabelTemplate struct + DefaultValue string + MetadataKey string + Name string + Prefix string