UNPKG

near-protocol-rewards

Version:

A transparent, metric-based rewards system for NEAR projects

33 lines (32 loc) 1.13 kB
/** * GitHub Metrics Collector * * Collects metrics from GitHub repositories including: * - Commits * - Pull requests * - Issues and comments * * Features built-in rate limiting and error handling for API calls. * Uses exponential backoff for retries on transient failures. */ import { RateLimiter } from "../utils/rate-limiter"; import { Logger } from "../utils/logger"; import { BaseCollector } from "./base"; import { GitHubMetrics } from "../types/metrics"; export declare class GitHubCollector extends BaseCollector { private readonly octokit; private readonly owner; private readonly repo; constructor({ token, repo, logger, rateLimiter, }: { token: string; repo: string; logger?: Logger; rateLimiter?: RateLimiter; }); testConnection(): Promise<void>; collectCommitMetrics(): Promise<GitHubMetrics["commits"]>; collectPullRequestMetrics(): Promise<GitHubMetrics["pullRequests"]>; collectReviewMetrics(): Promise<GitHubMetrics["reviews"]>; collectIssueMetrics(): Promise<GitHubMetrics["issues"]>; collectMetrics(): Promise<GitHubMetrics>; }