/** * GitHub 生态数据(零依赖:node 原生 fetch,公共 REST API,无需凭据)。 * * 拆分纯函数与网络层: * - parseRepoStats:纯函数(离线可测) * - fetchRepoStats:网络(集成验证) * * 域:dsh-community(开源生态域)——dsh-quant 独有的「自我造血」域, * 内部五队(PDAT/PAAT/PCPT/PRT/PET)没有对应物:开源侧用自己的工具 * 度量自己的生态影响力。 */ export interface RepoStats { owner: string; repo: string; /** 星标数 */ stars: number; forks: number; watchers: number; /** 打开的 issue 数(不含 PR) */ openIssues: number; /** 打开的 PR 数 */ openPullRequests: number; language: string | null; topics: string[]; license: string | null; description: string | null; createdAt: string; pushedAt: string; latestRelease: string | null; latestReleaseAt: string | null; url: string; } type Json = any; /** * 解析 GitHub repo / pulls / releases 响应为统一的 RepoStats(纯函数)。 * - repoJson:GET /repos/{owner}/{repo} 响应体 * - pullsJson:GET /repos/{owner}/{repo}/pulls?state=open 响应数组 * - releasesJson:GET /repos/{owner}/{repo}/releases/latest 响应体(可能为 { message: 'Not Found' }) */ export declare function parseRepoStats(owner: string, repo: string, repoJson: Json, pullsJson: readonly Json[], releasesJson: Json | null): RepoStats; /** 拉取仓库生态数据(公共 API,无凭据;有 GITHUB_TOKEN 环境变量时自动走认证通道,限额高得多)。超时由调用方 signal 控制。 */ export declare function fetchRepoStats(owner: string, repo: string, signal: AbortSignal): Promise; export {};