/** * Briefing — GitHub Section Builder * * Fetches all GitHub data for the briefing resource: CI status, * workflow runs, issues, PRs, milestones, repo insights, and copilot reviews. */ import type { GitHubIntegration } from '../../../../github/github-integration/index.js'; import type { BriefingConfig } from '../../shared.js'; import { resolveBriefingRepo, fetchCiStatus, fetchIssuesAndPrs, fetchMilestones, fetchInsights, fetchCopilotReviews } from './github-repo-and-kanban.js'; export { resolveBriefingRepo, fetchCiStatus, fetchIssuesAndPrs, fetchMilestones, fetchInsights, fetchCopilotReviews, }; /** * Shape of the assembled GitHub context for the briefing. */ export interface BriefingGitHub { repo: string | null; branch: string | null; ci: 'passing' | 'failing' | 'pending' | 'cancelled' | 'unknown'; openIssues: number; openPRs: number; milestones: { title: string; progress: string; dueOn: string | null; }[]; insights?: { stars: number | null; forks: number | null; clones14d?: number | undefined; views14d?: number | undefined; } | undefined; openIssueList?: { number: number; title: string; }[] | undefined; openPrList?: { number: number; title: string; state: string; }[] | undefined; prStatusSummary?: { open: number; merged: number; closed: number; } | undefined; workflowSummary?: { passing: number; failing: number; pending: number; cancelled: number; runs?: { name: string; conclusion: string; url?: string | undefined; }[] | undefined; } | undefined; copilotReviews?: { reviewed: number; approved: number; changesRequested: number; totalComments: number; } | undefined; localGitStatus?: { modified: number; untracked: number; isClean: boolean; degraded?: boolean | undefined; } | undefined; ciName?: string | undefined; ciUpdatedAt?: string | undefined; activePr?: { number: number; title: string; url: string; state: string; reviewStatus?: string | undefined; commentCount?: number | undefined; ciStatus?: string | undefined; } | undefined; degraded?: boolean | undefined; degradedReasons?: string[] | undefined; } /** * Fetch all GitHub context for the briefing. * Returns null if GitHub is unavailable or un-configured. */ export declare function buildGitHubSection(github: GitHubIntegration | null | undefined, config: BriefingConfig): Promise; export declare const fetchGitHubSection: typeof buildGitHubSection; //# sourceMappingURL=github-section.d.ts.map