spidersan 0.20.1 → 0.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/bin/command-registry.d.ts +25 -0
- package/dist/bin/command-registry.d.ts.map +1 -0
- package/dist/bin/command-registry.js +29 -0
- package/dist/bin/command-registry.js.map +1 -0
- package/dist/bin/spidersan.d.ts +16 -0
- package/dist/bin/spidersan.d.ts.map +1 -0
- package/dist/bin/spidersan.js +98 -0
- package/dist/bin/spidersan.js.map +1 -0
- package/dist/commands/abandon.d.ts +8 -0
- package/dist/commands/abandon.d.ts.map +1 -0
- package/dist/commands/abandon.js +43 -0
- package/dist/commands/abandon.js.map +1 -0
- package/dist/commands/cleanup.d.ts +8 -0
- package/dist/commands/cleanup.d.ts.map +1 -0
- package/dist/commands/cleanup.js +50 -0
- package/dist/commands/cleanup.js.map +1 -0
- package/dist/commands/config.d.ts +15 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +309 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/conflicts.d.ts +34 -0
- package/dist/commands/conflicts.d.ts.map +1 -0
- package/dist/commands/conflicts.js +773 -0
- package/dist/commands/conflicts.js.map +1 -0
- package/dist/commands/context.d.ts +8 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +104 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/cross-conflicts.d.ts +17 -0
- package/dist/commands/cross-conflicts.d.ts.map +1 -0
- package/dist/commands/cross-conflicts.js +273 -0
- package/dist/commands/cross-conflicts.js.map +1 -0
- package/dist/commands/depends.d.ts +11 -0
- package/dist/commands/depends.d.ts.map +1 -0
- package/dist/commands/depends.js +63 -0
- package/dist/commands/depends.js.map +1 -0
- package/dist/commands/doctor.d.ts +30 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +558 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/git-watch.d.ts +24 -0
- package/dist/commands/git-watch.d.ts.map +1 -0
- package/dist/commands/git-watch.js +84 -0
- package/dist/commands/git-watch.js.map +1 -0
- package/dist/commands/github-sync.d.ts +42 -0
- package/dist/commands/github-sync.d.ts.map +1 -0
- package/dist/commands/github-sync.js +191 -0
- package/dist/commands/github-sync.js.map +1 -0
- package/dist/commands/index.d.ts +25 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +29 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +23 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +45 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/log.d.ts +7 -0
- package/dist/commands/log.d.ts.map +1 -0
- package/dist/commands/log.js +110 -0
- package/dist/commands/log.js.map +1 -0
- package/dist/commands/merge-order.d.ts +9 -0
- package/dist/commands/merge-order.d.ts.map +1 -0
- package/dist/commands/merge-order.js +100 -0
- package/dist/commands/merge-order.js.map +1 -0
- package/dist/commands/merged.d.ts +8 -0
- package/dist/commands/merged.d.ts.map +1 -0
- package/dist/commands/merged.js +37 -0
- package/dist/commands/merged.js.map +1 -0
- package/dist/commands/pr-check.d.ts +24 -0
- package/dist/commands/pr-check.d.ts.map +1 -0
- package/dist/commands/pr-check.js +85 -0
- package/dist/commands/pr-check.js.map +1 -0
- package/dist/commands/ready-check.d.ts +11 -0
- package/dist/commands/ready-check.d.ts.map +1 -0
- package/dist/commands/ready-check.js +150 -0
- package/dist/commands/ready-check.js.map +1 -0
- package/dist/commands/rebase-helper.d.ts +3 -0
- package/dist/commands/rebase-helper.d.ts.map +1 -0
- package/dist/commands/rebase-helper.js +52 -0
- package/dist/commands/rebase-helper.js.map +1 -0
- package/dist/commands/register.d.ts +10 -0
- package/dist/commands/register.d.ts.map +1 -0
- package/dist/commands/register.js +176 -0
- package/dist/commands/register.js.map +1 -0
- package/dist/commands/registry-sync.d.ts +9 -0
- package/dist/commands/registry-sync.d.ts.map +1 -0
- package/dist/commands/registry-sync.js +129 -0
- package/dist/commands/registry-sync.js.map +1 -0
- package/dist/commands/stale.d.ts +17 -0
- package/dist/commands/stale.d.ts.map +1 -0
- package/dist/commands/stale.js +136 -0
- package/dist/commands/stale.js.map +1 -0
- package/dist/commands/sync.d.ts +21 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +78 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/verify-trunk.d.ts +18 -0
- package/dist/commands/verify-trunk.d.ts.map +1 -0
- package/dist/commands/verify-trunk.js +77 -0
- package/dist/commands/verify-trunk.js.map +1 -0
- package/dist/commands/watch.d.ts +8 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +509 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/activity.d.ts +53 -0
- package/dist/lib/activity.d.ts.map +1 -0
- package/dist/lib/activity.js +271 -0
- package/dist/lib/activity.js.map +1 -0
- package/dist/lib/agent-errors.d.ts +41 -0
- package/dist/lib/agent-errors.d.ts.map +1 -0
- package/dist/lib/agent-errors.js +145 -0
- package/dist/lib/agent-errors.js.map +1 -0
- package/dist/lib/ai/context-builder.d.ts +16 -0
- package/dist/lib/ai/context-builder.d.ts.map +1 -0
- package/dist/lib/ai/context-builder.js +229 -0
- package/dist/lib/ai/context-builder.js.map +1 -0
- package/dist/lib/ai/event-handler.d.ts +21 -0
- package/dist/lib/ai/event-handler.d.ts.map +1 -0
- package/dist/lib/ai/event-handler.js +111 -0
- package/dist/lib/ai/event-handler.js.map +1 -0
- package/dist/lib/ai/index.d.ts +13 -0
- package/dist/lib/ai/index.d.ts.map +1 -0
- package/dist/lib/ai/index.js +11 -0
- package/dist/lib/ai/index.js.map +1 -0
- package/dist/lib/ai/llm-client.d.ts +37 -0
- package/dist/lib/ai/llm-client.d.ts.map +1 -0
- package/dist/lib/ai/llm-client.js +225 -0
- package/dist/lib/ai/llm-client.js.map +1 -0
- package/dist/lib/ai/reasoner.d.ts +11 -0
- package/dist/lib/ai/reasoner.d.ts.map +1 -0
- package/dist/lib/ai/reasoner.js +227 -0
- package/dist/lib/ai/reasoner.js.map +1 -0
- package/dist/lib/ai/setup.d.ts +40 -0
- package/dist/lib/ai/setup.d.ts.map +1 -0
- package/dist/lib/ai/setup.js +154 -0
- package/dist/lib/ai/setup.js.map +1 -0
- package/dist/lib/ai/types.d.ts +135 -0
- package/dist/lib/ai/types.d.ts.map +1 -0
- package/dist/lib/ai/types.js +42 -0
- package/dist/lib/ai/types.js.map +1 -0
- package/dist/lib/ast.d.ts +44 -0
- package/dist/lib/ast.d.ts.map +1 -0
- package/dist/lib/ast.js +160 -0
- package/dist/lib/ast.js.map +1 -0
- package/dist/lib/carries.d.ts +22 -0
- package/dist/lib/carries.d.ts.map +1 -0
- package/dist/lib/carries.js +56 -0
- package/dist/lib/carries.js.map +1 -0
- package/dist/lib/colony-subscriber.d.ts +56 -0
- package/dist/lib/colony-subscriber.d.ts.map +1 -0
- package/dist/lib/colony-subscriber.js +265 -0
- package/dist/lib/colony-subscriber.js.map +1 -0
- package/dist/lib/config.d.ts +62 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +235 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/conflict-analyzer.d.ts +33 -0
- package/dist/lib/conflict-analyzer.d.ts.map +1 -0
- package/dist/lib/conflict-analyzer.js +114 -0
- package/dist/lib/conflict-analyzer.js.map +1 -0
- package/dist/lib/conflict-renderer.d.ts +7 -0
- package/dist/lib/conflict-renderer.d.ts.map +1 -0
- package/dist/lib/conflict-renderer.js +145 -0
- package/dist/lib/conflict-renderer.js.map +1 -0
- package/dist/lib/conflict-tier.d.ts +20 -0
- package/dist/lib/conflict-tier.d.ts.map +1 -0
- package/dist/lib/conflict-tier.js +49 -0
- package/dist/lib/conflict-tier.js.map +1 -0
- package/dist/lib/crypto.d.ts +71 -0
- package/dist/lib/crypto.d.ts.map +1 -0
- package/dist/lib/crypto.js +176 -0
- package/dist/lib/crypto.js.map +1 -0
- package/dist/lib/ecosystem-env.d.ts +33 -0
- package/dist/lib/ecosystem-env.d.ts.map +1 -0
- package/dist/lib/ecosystem-env.js +62 -0
- package/dist/lib/ecosystem-env.js.map +1 -0
- package/dist/lib/errors.d.ts +35 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +71 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/git-events-subscriber.d.ts +86 -0
- package/dist/lib/git-events-subscriber.d.ts.map +1 -0
- package/dist/lib/git-events-subscriber.js +870 -0
- package/dist/lib/git-events-subscriber.js.map +1 -0
- package/dist/lib/git-merge-analyzer.d.ts +38 -0
- package/dist/lib/git-merge-analyzer.d.ts.map +1 -0
- package/dist/lib/git-merge-analyzer.js +23 -0
- package/dist/lib/git-merge-analyzer.js.map +1 -0
- package/dist/lib/git.d.ts +103 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +670 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/github.d.ts +151 -0
- package/dist/lib/github.d.ts.map +1 -0
- package/dist/lib/github.js +425 -0
- package/dist/lib/github.js.map +1 -0
- package/dist/lib/graph.d.ts +38 -0
- package/dist/lib/graph.d.ts.map +1 -0
- package/dist/lib/graph.js +165 -0
- package/dist/lib/graph.js.map +1 -0
- package/dist/lib/machine.d.ts +14 -0
- package/dist/lib/machine.d.ts.map +1 -0
- package/dist/lib/machine.js +38 -0
- package/dist/lib/machine.js.map +1 -0
- package/dist/lib/notify.d.ts +68 -0
- package/dist/lib/notify.d.ts.map +1 -0
- package/dist/lib/notify.js +111 -0
- package/dist/lib/notify.js.map +1 -0
- package/dist/lib/outline.d.ts +6 -0
- package/dist/lib/outline.d.ts.map +1 -0
- package/dist/lib/outline.js +60 -0
- package/dist/lib/outline.js.map +1 -0
- package/dist/lib/push-registry.d.ts +22 -0
- package/dist/lib/push-registry.d.ts.map +1 -0
- package/dist/lib/push-registry.js +21 -0
- package/dist/lib/push-registry.js.map +1 -0
- package/dist/lib/reconcile.d.ts +100 -0
- package/dist/lib/reconcile.d.ts.map +1 -0
- package/dist/lib/reconcile.js +121 -0
- package/dist/lib/reconcile.js.map +1 -0
- package/dist/lib/regex-utils.d.ts +6 -0
- package/dist/lib/regex-utils.d.ts.map +1 -0
- package/dist/lib/regex-utils.js +24 -0
- package/dist/lib/regex-utils.js.map +1 -0
- package/dist/lib/register-renderer.d.ts +10 -0
- package/dist/lib/register-renderer.d.ts.map +1 -0
- package/dist/lib/register-renderer.js +19 -0
- package/dist/lib/register-renderer.js.map +1 -0
- package/dist/lib/remote-drift.d.ts +61 -0
- package/dist/lib/remote-drift.d.ts.map +1 -0
- package/dist/lib/remote-drift.js +227 -0
- package/dist/lib/remote-drift.js.map +1 -0
- package/dist/lib/security.d.ts +72 -0
- package/dist/lib/security.d.ts.map +1 -0
- package/dist/lib/security.js +180 -0
- package/dist/lib/security.js.map +1 -0
- package/dist/lib/semantic-analysis.d.ts +31 -0
- package/dist/lib/semantic-analysis.d.ts.map +1 -0
- package/dist/lib/semantic-analysis.js +120 -0
- package/dist/lib/semantic-analysis.js.map +1 -0
- package/dist/lib/supabase-credentials.d.ts +36 -0
- package/dist/lib/supabase-credentials.d.ts.map +1 -0
- package/dist/lib/supabase-credentials.js +43 -0
- package/dist/lib/supabase-credentials.js.map +1 -0
- package/dist/lib/trunk.d.ts +39 -0
- package/dist/lib/trunk.d.ts.map +1 -0
- package/dist/lib/trunk.js +116 -0
- package/dist/lib/trunk.js.map +1 -0
- package/dist/lib/update-check.d.ts +11 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +113 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/watch-renderer.d.ts +13 -0
- package/dist/lib/watch-renderer.d.ts.map +1 -0
- package/dist/lib/watch-renderer.js +35 -0
- package/dist/lib/watch-renderer.js.map +1 -0
- package/dist/storage/adapter.d.ts +81 -0
- package/dist/storage/adapter.d.ts.map +1 -0
- package/dist/storage/adapter.js +8 -0
- package/dist/storage/adapter.js.map +1 -0
- package/dist/storage/branch-registry-store.d.ts +13 -0
- package/dist/storage/branch-registry-store.d.ts.map +1 -0
- package/dist/storage/branch-registry-store.js +2 -0
- package/dist/storage/branch-registry-store.js.map +1 -0
- package/dist/storage/factory.d.ts +6 -0
- package/dist/storage/factory.d.ts.map +1 -0
- package/dist/storage/factory.js +14 -0
- package/dist/storage/factory.js.map +1 -0
- package/dist/storage/index.d.ts +10 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +11 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/json-branch-registry-store.d.ts +19 -0
- package/dist/storage/json-branch-registry-store.d.ts.map +1 -0
- package/dist/storage/json-branch-registry-store.js +138 -0
- package/dist/storage/json-branch-registry-store.js.map +1 -0
- package/dist/storage/local.d.ts +20 -0
- package/dist/storage/local.d.ts.map +1 -0
- package/dist/storage/local.js +40 -0
- package/dist/storage/local.js.map +1 -0
- package/dist/storage/memory-branch-registry-store.d.ts +16 -0
- package/dist/storage/memory-branch-registry-store.d.ts.map +1 -0
- package/dist/storage/memory-branch-registry-store.js +68 -0
- package/dist/storage/memory-branch-registry-store.js.map +1 -0
- package/dist/storage/supabase-registry-sync-client-impl.d.ts +40 -0
- package/dist/storage/supabase-registry-sync-client-impl.d.ts.map +1 -0
- package/dist/storage/supabase-registry-sync-client-impl.js +278 -0
- package/dist/storage/supabase-registry-sync-client-impl.js.map +1 -0
- package/dist/storage/supabase-registry-sync-client.d.ts +9 -0
- package/dist/storage/supabase-registry-sync-client.d.ts.map +1 -0
- package/dist/storage/supabase-registry-sync-client.js +2 -0
- package/dist/storage/supabase-registry-sync-client.js.map +1 -0
- package/dist/storage/supabase.d.ts +28 -0
- package/dist/storage/supabase.d.ts.map +1 -0
- package/dist/storage/supabase.js +56 -0
- package/dist/storage/supabase.js.map +1 -0
- package/dist/types/cloud.d.ts +102 -0
- package/dist/types/cloud.d.ts.map +1 -0
- package/dist/types/cloud.js +13 -0
- package/dist/types/cloud.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub API client wrapper using `gh` CLI
|
|
3
|
+
*
|
|
4
|
+
* Provides access to branch, PR, and CI status from GitHub
|
|
5
|
+
* without requiring Octokit or managing authentication.
|
|
6
|
+
*/
|
|
7
|
+
export interface GitHubRepoConfig {
|
|
8
|
+
owner: string;
|
|
9
|
+
repo: string;
|
|
10
|
+
}
|
|
11
|
+
export interface GitHubBranchInfo {
|
|
12
|
+
name: string;
|
|
13
|
+
sha: string;
|
|
14
|
+
protected: boolean;
|
|
15
|
+
commit: {
|
|
16
|
+
sha: string;
|
|
17
|
+
date: string;
|
|
18
|
+
author: string;
|
|
19
|
+
message: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface GitHubPRInfo {
|
|
23
|
+
number: number;
|
|
24
|
+
title: string;
|
|
25
|
+
state: string;
|
|
26
|
+
headBranch: string;
|
|
27
|
+
draft: boolean;
|
|
28
|
+
createdAt: string;
|
|
29
|
+
updatedAt: string;
|
|
30
|
+
}
|
|
31
|
+
export interface GitHubCIStatus {
|
|
32
|
+
status: string;
|
|
33
|
+
conclusion: string | null;
|
|
34
|
+
url: string;
|
|
35
|
+
runId: string;
|
|
36
|
+
createdAt: string;
|
|
37
|
+
}
|
|
38
|
+
export interface GitHubCommitInfo {
|
|
39
|
+
sha: string;
|
|
40
|
+
date: string;
|
|
41
|
+
author: string;
|
|
42
|
+
message: string;
|
|
43
|
+
}
|
|
44
|
+
export interface AheadBehind {
|
|
45
|
+
ahead: number;
|
|
46
|
+
behind: number;
|
|
47
|
+
}
|
|
48
|
+
export interface GitHubPRDetails {
|
|
49
|
+
number: number;
|
|
50
|
+
title: string;
|
|
51
|
+
headBranch: string;
|
|
52
|
+
files: string[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if GitHub CLI (gh) is available and authenticated.
|
|
56
|
+
*/
|
|
57
|
+
export declare function isGhAvailable(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Fetch all branches from a GitHub repository.
|
|
60
|
+
*/
|
|
61
|
+
export declare function listBranches(config: GitHubRepoConfig): Promise<GitHubBranchInfo[]>;
|
|
62
|
+
/**
|
|
63
|
+
* Fetch commit details for a specific branch.
|
|
64
|
+
*/
|
|
65
|
+
export declare function getCommitInfo(config: GitHubRepoConfig, branch: string): Promise<GitHubCommitInfo | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Fetch all pull requests for a repository.
|
|
68
|
+
*/
|
|
69
|
+
export declare function listPullRequests(config: GitHubRepoConfig): Promise<GitHubPRInfo[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Get CI status for a branch (from latest workflow run).
|
|
72
|
+
*/
|
|
73
|
+
export declare function getCIStatus(config: GitHubRepoConfig, branch: string): Promise<GitHubCIStatus | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Compare a branch to main (or specified base) and get ahead/behind counts.
|
|
76
|
+
*
|
|
77
|
+
* Returns `null` when the comparison could not be determined — an invalid
|
|
78
|
+
* branch name, a gh transport/auth/rate-limit failure, or unparseable output.
|
|
79
|
+
* This is deliberately distinct from `{ ahead: 0, behind: 0 }`, which means the
|
|
80
|
+
* branch is genuinely in sync. Callers MUST NOT treat `null` as "in sync": a
|
|
81
|
+
* rate-limited or 403'd compare would otherwise mislabel a diverged branch as
|
|
82
|
+
* clean. Set DEBUG_GITHUB=1 to see the underlying failure.
|
|
83
|
+
*/
|
|
84
|
+
export declare function getAheadBehind(config: GitHubRepoConfig, branch: string, baseBranch?: string): Promise<AheadBehind | null>;
|
|
85
|
+
/**
|
|
86
|
+
* Fetch details for a specific pull request: head branch name and list of changed files.
|
|
87
|
+
* Requires `gh` CLI to be authenticated and run from inside the repository directory.
|
|
88
|
+
*/
|
|
89
|
+
export declare function getPRDetails(prNumber: number): Promise<GitHubPRDetails>;
|
|
90
|
+
/** A lightweight open-PR entry (no file list — fetch that via getPRChangedFiles). */
|
|
91
|
+
export interface OpenPR {
|
|
92
|
+
number: number;
|
|
93
|
+
title: string;
|
|
94
|
+
headBranch: string;
|
|
95
|
+
draft: boolean;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Open PRs in the current repo. cwd-based `gh` (same convention as getPRDetails,
|
|
99
|
+
* so no GitHubRepoConfig plumbing needed). Empty array on any failure.
|
|
100
|
+
*/
|
|
101
|
+
export declare function listOpenPRs(): Promise<OpenPR[]>;
|
|
102
|
+
/** Label names on a PR (cwd-based gh). `null` on failure so gates fail closed. */
|
|
103
|
+
export declare function getPRLabels(prNumber: number): Promise<string[] | null>;
|
|
104
|
+
/** Changed file paths for a PR (diff only — leaner than getPRDetails). Empty on failure. */
|
|
105
|
+
export declare function getPRChangedFiles(prNumber: number): Promise<string[]>;
|
|
106
|
+
/**
|
|
107
|
+
* Merge readiness of a PR: stacked-base detection, conflict/red state, and a
|
|
108
|
+
* defensively-parsed CI check rollup. Backs `spidersan pr-check`.
|
|
109
|
+
*/
|
|
110
|
+
export interface PRMergeState {
|
|
111
|
+
number: number;
|
|
112
|
+
title: string;
|
|
113
|
+
/** Base branch the PR merges into. != trunk ⇒ stacked PR. */
|
|
114
|
+
baseRefName: string;
|
|
115
|
+
headRefName: string;
|
|
116
|
+
/** GitHub mergeability (computed async; can briefly be UNKNOWN). */
|
|
117
|
+
mergeable: 'MERGEABLE' | 'CONFLICTING' | 'UNKNOWN';
|
|
118
|
+
/** Combined merge-state status from GitHub. */
|
|
119
|
+
mergeStateStatus: 'CLEAN' | 'UNSTABLE' | 'DIRTY' | 'BEHIND' | 'BLOCKED' | 'DRAFT' | 'HAS_HOOKS' | 'UNKNOWN';
|
|
120
|
+
/** Per-check buckets (heterogeneous CheckRun + StatusContext nodes). */
|
|
121
|
+
checks: {
|
|
122
|
+
name: string;
|
|
123
|
+
bucket: 'pass' | 'fail' | 'pending' | 'skipping';
|
|
124
|
+
required: boolean;
|
|
125
|
+
}[];
|
|
126
|
+
/** Aggregate rollup. `failingRequired` = names of failing *required* checks only. */
|
|
127
|
+
checkRollup: {
|
|
128
|
+
pass: number;
|
|
129
|
+
fail: number;
|
|
130
|
+
pending: number;
|
|
131
|
+
failingRequired: string[];
|
|
132
|
+
};
|
|
133
|
+
/** PR head SHA (for fork-safe conflict analysis in merge-plan). */
|
|
134
|
+
headRefOid?: string;
|
|
135
|
+
}
|
|
136
|
+
/** @internal test hook — set the UNKNOWN re-poll delay (keeps the suite fast). */
|
|
137
|
+
export declare function __setUnknownRepollDelayForTests(ms: number): void;
|
|
138
|
+
/**
|
|
139
|
+
* Fetch a PR's merge readiness: base branch (for stacked-PR detection),
|
|
140
|
+
* mergeable/merge-state status, and a defensively-bucketed CI rollup.
|
|
141
|
+
*
|
|
142
|
+
* One `gh pr view --json …` call. When `opts.repo` ("owner/name") is given it
|
|
143
|
+
* is passed as `--repo`. Re-polls once when `mergeable === 'UNKNOWN'` (GitHub
|
|
144
|
+
* computes it asynchronously), then reports as-is.
|
|
145
|
+
*
|
|
146
|
+
* @returns the merge state, or `null` if gh is unavailable or the PR isn't found.
|
|
147
|
+
*/
|
|
148
|
+
export declare function getPRMergeState(prNumber: number, opts?: {
|
|
149
|
+
repo?: string;
|
|
150
|
+
}): Promise<PRMergeState | null>;
|
|
151
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub API client wrapper using `gh` CLI
|
|
3
|
+
*
|
|
4
|
+
* Provides access to branch, PR, and CI status from GitHub
|
|
5
|
+
* without requiring Octokit or managing authentication.
|
|
6
|
+
*/
|
|
7
|
+
import { execFileSync } from 'child_process';
|
|
8
|
+
import { validateBranchName, validatePRNumber } from './security.js';
|
|
9
|
+
/**
|
|
10
|
+
* Env-gated debug breadcrumb (mirrors the DEBUG_COLONY convention). Off by
|
|
11
|
+
* default so normal runs stay quiet; set DEBUG_GITHUB=1 to surface the reason a
|
|
12
|
+
* gh call failed instead of having it swallowed into a benign-looking default.
|
|
13
|
+
*/
|
|
14
|
+
function debugGitHub(message, detail) {
|
|
15
|
+
if (!process.env.DEBUG_GITHUB)
|
|
16
|
+
return;
|
|
17
|
+
const suffix = detail instanceof Error
|
|
18
|
+
? `: ${detail.message}`
|
|
19
|
+
: detail !== undefined ? `: ${String(detail)}` : '';
|
|
20
|
+
console.error(`[github] ${message}${suffix}`);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Check if GitHub CLI (gh) is available and authenticated.
|
|
24
|
+
*/
|
|
25
|
+
export function isGhAvailable() {
|
|
26
|
+
try {
|
|
27
|
+
execFileSync('gh', ['auth', 'status'], { encoding: 'utf-8', stdio: 'pipe' });
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Fetch all branches from a GitHub repository.
|
|
36
|
+
*/
|
|
37
|
+
export async function listBranches(config) {
|
|
38
|
+
try {
|
|
39
|
+
const output = execFileSync('gh', [
|
|
40
|
+
'api',
|
|
41
|
+
`repos/${config.owner}/${config.repo}/branches`,
|
|
42
|
+
'--paginate',
|
|
43
|
+
'--jq',
|
|
44
|
+
'.[] | {name: .name, sha: .commit.sha, protected: .protected}',
|
|
45
|
+
], { encoding: 'utf-8' });
|
|
46
|
+
const branches = [];
|
|
47
|
+
const lines = output.trim().split('\n').filter(l => l.length > 0);
|
|
48
|
+
for (const line of lines) {
|
|
49
|
+
try {
|
|
50
|
+
const data = JSON.parse(line);
|
|
51
|
+
branches.push({
|
|
52
|
+
name: data.name,
|
|
53
|
+
sha: data.sha,
|
|
54
|
+
protected: data.protected,
|
|
55
|
+
commit: { sha: data.sha, date: '', author: '', message: '' },
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Skip invalid JSON lines
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return branches;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
66
|
+
throw new Error(`Failed to list branches: ${msg}`, { cause: error });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Fetch commit details for a specific branch.
|
|
71
|
+
*/
|
|
72
|
+
export async function getCommitInfo(config, branch) {
|
|
73
|
+
try {
|
|
74
|
+
const safeBranch = validateBranchName(branch);
|
|
75
|
+
const output = execFileSync('gh', [
|
|
76
|
+
'api',
|
|
77
|
+
`repos/${config.owner}/${config.repo}/commits/${safeBranch}`,
|
|
78
|
+
'--jq',
|
|
79
|
+
'{sha: .sha, date: .commit.author.date, author: .commit.author.name, message: .commit.message}',
|
|
80
|
+
], { encoding: 'utf-8' });
|
|
81
|
+
try {
|
|
82
|
+
return JSON.parse(output);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Fetch all pull requests for a repository.
|
|
94
|
+
*/
|
|
95
|
+
export async function listPullRequests(config) {
|
|
96
|
+
try {
|
|
97
|
+
const output = execFileSync('gh', [
|
|
98
|
+
'pr', 'list',
|
|
99
|
+
'--repo', `${config.owner}/${config.repo}`,
|
|
100
|
+
'--state', 'all',
|
|
101
|
+
'--json', 'number,title,state,headRefName,isDraft,createdAt,updatedAt',
|
|
102
|
+
'--limit', '1000',
|
|
103
|
+
], { encoding: 'utf-8' });
|
|
104
|
+
try {
|
|
105
|
+
const data = JSON.parse(output);
|
|
106
|
+
return data.map((pr) => ({
|
|
107
|
+
number: pr.number,
|
|
108
|
+
title: pr.title,
|
|
109
|
+
state: pr.state,
|
|
110
|
+
headBranch: pr.headRefName,
|
|
111
|
+
draft: pr.isDraft,
|
|
112
|
+
createdAt: pr.createdAt,
|
|
113
|
+
updatedAt: pr.updatedAt,
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return [];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return [];
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Get CI status for a branch (from latest workflow run).
|
|
126
|
+
*/
|
|
127
|
+
export async function getCIStatus(config, branch) {
|
|
128
|
+
try {
|
|
129
|
+
const safeBranch = validateBranchName(branch);
|
|
130
|
+
const output = execFileSync('gh', [
|
|
131
|
+
'run', 'list',
|
|
132
|
+
'--repo', `${config.owner}/${config.repo}`,
|
|
133
|
+
'--branch', safeBranch,
|
|
134
|
+
'--limit', '1',
|
|
135
|
+
'--json', 'status,conclusion,url,databaseId,createdAt',
|
|
136
|
+
], { encoding: 'utf-8' });
|
|
137
|
+
try {
|
|
138
|
+
const data = JSON.parse(output);
|
|
139
|
+
if (!Array.isArray(data) || data.length === 0)
|
|
140
|
+
return null;
|
|
141
|
+
const run = data[0];
|
|
142
|
+
return {
|
|
143
|
+
status: run.status,
|
|
144
|
+
conclusion: run.conclusion,
|
|
145
|
+
url: run.url,
|
|
146
|
+
runId: String(run.databaseId),
|
|
147
|
+
createdAt: run.createdAt,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Compare a branch to main (or specified base) and get ahead/behind counts.
|
|
160
|
+
*
|
|
161
|
+
* Returns `null` when the comparison could not be determined — an invalid
|
|
162
|
+
* branch name, a gh transport/auth/rate-limit failure, or unparseable output.
|
|
163
|
+
* This is deliberately distinct from `{ ahead: 0, behind: 0 }`, which means the
|
|
164
|
+
* branch is genuinely in sync. Callers MUST NOT treat `null` as "in sync": a
|
|
165
|
+
* rate-limited or 403'd compare would otherwise mislabel a diverged branch as
|
|
166
|
+
* clean. Set DEBUG_GITHUB=1 to see the underlying failure.
|
|
167
|
+
*/
|
|
168
|
+
export async function getAheadBehind(config, branch, baseBranch = 'main') {
|
|
169
|
+
let safeBranch;
|
|
170
|
+
let safeBaseBranch;
|
|
171
|
+
try {
|
|
172
|
+
safeBranch = validateBranchName(branch);
|
|
173
|
+
safeBaseBranch = validateBranchName(baseBranch);
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
debugGitHub('getAheadBehind: invalid branch name', error);
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
const range = `${safeBaseBranch}...${safeBranch}`;
|
|
180
|
+
let output;
|
|
181
|
+
try {
|
|
182
|
+
output = execFileSync('gh', [
|
|
183
|
+
'api',
|
|
184
|
+
`repos/${config.owner}/${config.repo}/compare/${range}`,
|
|
185
|
+
'--jq',
|
|
186
|
+
'{ahead: .ahead_by, behind: .behind_by}',
|
|
187
|
+
], { encoding: 'utf-8', stdio: 'pipe' });
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
// Transport / auth / rate-limit failure — surface as "unknown", NOT {0,0}.
|
|
191
|
+
debugGitHub(`getAheadBehind(${range}): gh compare failed`, error);
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
try {
|
|
195
|
+
const data = JSON.parse(output);
|
|
196
|
+
// jq emits `null` for a missing ahead_by/behind_by — treat that as
|
|
197
|
+
// "couldn't determine", not 0. (Number(null) === 0 would mask it.)
|
|
198
|
+
if (typeof data.ahead !== 'number' || typeof data.behind !== 'number'
|
|
199
|
+
|| !Number.isFinite(data.ahead) || !Number.isFinite(data.behind)) {
|
|
200
|
+
debugGitHub(`getAheadBehind(${range}): non-numeric compare result`, output.trim());
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
return { ahead: data.ahead, behind: data.behind };
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
debugGitHub(`getAheadBehind(${range}): unparseable compare output`, error);
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Fetch details for a specific pull request: head branch name and list of changed files.
|
|
212
|
+
* Requires `gh` CLI to be authenticated and run from inside the repository directory.
|
|
213
|
+
*/
|
|
214
|
+
export async function getPRDetails(prNumber) {
|
|
215
|
+
const safePrNumber = validatePRNumber(prNumber);
|
|
216
|
+
// Get PR metadata (head branch, title, number)
|
|
217
|
+
let prOutput;
|
|
218
|
+
try {
|
|
219
|
+
prOutput = execFileSync('gh', [
|
|
220
|
+
'pr', 'view',
|
|
221
|
+
'--json', 'headRefName,title,number',
|
|
222
|
+
'--', String(safePrNumber)
|
|
223
|
+
], { encoding: 'utf-8' });
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
227
|
+
throw new Error(`Failed to fetch PR #${safePrNumber} metadata: ${msg}`, { cause: err });
|
|
228
|
+
}
|
|
229
|
+
const prData = JSON.parse(prOutput);
|
|
230
|
+
// Get changed file paths via the diff (--name-only lists one file per line)
|
|
231
|
+
let diffOutput;
|
|
232
|
+
try {
|
|
233
|
+
diffOutput = execFileSync('gh', [
|
|
234
|
+
'pr', 'diff',
|
|
235
|
+
'--name-only',
|
|
236
|
+
'--', String(safePrNumber)
|
|
237
|
+
], { encoding: 'utf-8' });
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
241
|
+
throw new Error(`Failed to fetch changed files for PR #${prNumber}: ${msg}`, { cause: err });
|
|
242
|
+
}
|
|
243
|
+
const files = diffOutput.trim().split('\n').filter(f => f.length > 0);
|
|
244
|
+
return {
|
|
245
|
+
number: prData.number,
|
|
246
|
+
title: prData.title,
|
|
247
|
+
headBranch: prData.headRefName,
|
|
248
|
+
files,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Open PRs in the current repo. cwd-based `gh` (same convention as getPRDetails,
|
|
253
|
+
* so no GitHubRepoConfig plumbing needed). Empty array on any failure.
|
|
254
|
+
*/
|
|
255
|
+
export async function listOpenPRs() {
|
|
256
|
+
try {
|
|
257
|
+
const out = execFileSync('gh', [
|
|
258
|
+
'pr', 'list', '--state', 'open',
|
|
259
|
+
'--json', 'number,title,headRefName,isDraft',
|
|
260
|
+
'--limit', '200',
|
|
261
|
+
], { encoding: 'utf-8' });
|
|
262
|
+
const data = JSON.parse(out);
|
|
263
|
+
return data.map(p => ({ number: p.number, title: p.title, headBranch: p.headRefName, draft: p.isDraft }));
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
return [];
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/** Label names on a PR (cwd-based gh). `null` on failure so gates fail closed. */
|
|
270
|
+
export async function getPRLabels(prNumber) {
|
|
271
|
+
const safePrNumber = validatePRNumber(prNumber);
|
|
272
|
+
try {
|
|
273
|
+
const out = execFileSync('gh', ['pr', 'view', '--json', 'labels', '--', String(safePrNumber)], { encoding: 'utf-8' });
|
|
274
|
+
const data = JSON.parse(out);
|
|
275
|
+
return (data.labels ?? []).map((l) => l.name).filter(Boolean);
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/** Changed file paths for a PR (diff only — leaner than getPRDetails). Empty on failure. */
|
|
282
|
+
export async function getPRChangedFiles(prNumber) {
|
|
283
|
+
const safePrNumber = validatePRNumber(prNumber);
|
|
284
|
+
try {
|
|
285
|
+
const out = execFileSync('gh', ['pr', 'diff', '--name-only', '--', String(safePrNumber)], { encoding: 'utf-8' });
|
|
286
|
+
return out.trim().split('\n').filter(f => f.length > 0);
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
return [];
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
/** Short delay before re-polling when mergeable is UNKNOWN. Overridable for tests. */
|
|
293
|
+
let unknownRepollDelayMs = 1500;
|
|
294
|
+
/** @internal test hook — set the UNKNOWN re-poll delay (keeps the suite fast). */
|
|
295
|
+
export function __setUnknownRepollDelayForTests(ms) {
|
|
296
|
+
unknownRepollDelayMs = ms;
|
|
297
|
+
}
|
|
298
|
+
function sleep(ms) {
|
|
299
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Bucket one rollup node into pass/fail/pending/skipping from whichever of
|
|
303
|
+
* `conclusion` / `state` / `status` is present (nodes are heterogeneous and
|
|
304
|
+
* any field may be null/absent). Never throws.
|
|
305
|
+
*/
|
|
306
|
+
function bucketRollupNode(node) {
|
|
307
|
+
// Prefer the terminal conclusion; CheckRuns report status=COMPLETED + a conclusion,
|
|
308
|
+
// or status=QUEUED/IN_PROGRESS with a null conclusion. StatusContexts use `state`.
|
|
309
|
+
const signal = (node.conclusion ?? node.state ?? node.status ?? '')
|
|
310
|
+
.toString()
|
|
311
|
+
.toUpperCase();
|
|
312
|
+
switch (signal) {
|
|
313
|
+
case 'SUCCESS':
|
|
314
|
+
return 'pass';
|
|
315
|
+
case 'FAILURE':
|
|
316
|
+
case 'ERROR':
|
|
317
|
+
case 'CANCELLED':
|
|
318
|
+
case 'TIMED_OUT':
|
|
319
|
+
case 'ACTION_REQUIRED':
|
|
320
|
+
case 'STARTUP_FAILURE':
|
|
321
|
+
return 'fail';
|
|
322
|
+
case 'NEUTRAL':
|
|
323
|
+
case 'SKIPPED':
|
|
324
|
+
return 'skipping';
|
|
325
|
+
case 'PENDING':
|
|
326
|
+
case 'IN_PROGRESS':
|
|
327
|
+
case 'QUEUED':
|
|
328
|
+
case 'REQUESTED':
|
|
329
|
+
case 'WAITING':
|
|
330
|
+
case 'EXPECTED':
|
|
331
|
+
return 'pending';
|
|
332
|
+
default:
|
|
333
|
+
// null conclusion on a not-yet-complete run, or an unknown signal → pending.
|
|
334
|
+
return 'pending';
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
function parseRollup(rollup) {
|
|
338
|
+
const checks = [];
|
|
339
|
+
const rollupAgg = { pass: 0, fail: 0, pending: 0, failingRequired: [] };
|
|
340
|
+
const nodes = Array.isArray(rollup) ? rollup : [];
|
|
341
|
+
for (const node of nodes) {
|
|
342
|
+
if (!node || typeof node !== 'object')
|
|
343
|
+
continue;
|
|
344
|
+
const name = node.name ?? node.context ?? 'unknown';
|
|
345
|
+
// isRequired is OFTEN ABSENT → default false.
|
|
346
|
+
const required = node.isRequired === true;
|
|
347
|
+
const bucket = bucketRollupNode(node);
|
|
348
|
+
checks.push({ name, bucket, required });
|
|
349
|
+
if (bucket === 'pass')
|
|
350
|
+
rollupAgg.pass++;
|
|
351
|
+
else if (bucket === 'fail') {
|
|
352
|
+
rollupAgg.fail++;
|
|
353
|
+
// Only fail + required feeds failingRequired.
|
|
354
|
+
if (required)
|
|
355
|
+
rollupAgg.failingRequired.push(name);
|
|
356
|
+
}
|
|
357
|
+
else if (bucket === 'pending')
|
|
358
|
+
rollupAgg.pending++;
|
|
359
|
+
// 'skipping' counts toward none of pass/fail/pending.
|
|
360
|
+
}
|
|
361
|
+
return { checks, checkRollup: rollupAgg };
|
|
362
|
+
}
|
|
363
|
+
function normalizeMergeable(v) {
|
|
364
|
+
return v === 'MERGEABLE' || v === 'CONFLICTING' ? v : 'UNKNOWN';
|
|
365
|
+
}
|
|
366
|
+
function normalizeMergeStateStatus(v) {
|
|
367
|
+
const allowed = ['CLEAN', 'UNSTABLE', 'DIRTY', 'BEHIND', 'BLOCKED', 'DRAFT', 'HAS_HOOKS'];
|
|
368
|
+
return typeof v === 'string' && allowed.includes(v)
|
|
369
|
+
? v
|
|
370
|
+
: 'UNKNOWN';
|
|
371
|
+
}
|
|
372
|
+
/** Single `gh pr view --json …` call. Returns parsed JSON, or null on any failure. */
|
|
373
|
+
function fetchPRMergeJson(prNumber, repo) {
|
|
374
|
+
const args = ['pr', 'view'];
|
|
375
|
+
if (repo) {
|
|
376
|
+
args.push('--repo', repo);
|
|
377
|
+
}
|
|
378
|
+
args.push('--json', 'number,title,baseRefName,headRefName,headRefOid,mergeable,mergeStateStatus,statusCheckRollup', '--', String(prNumber));
|
|
379
|
+
try {
|
|
380
|
+
const out = execFileSync('gh', args, { encoding: 'utf-8', stdio: 'pipe' });
|
|
381
|
+
return JSON.parse(out);
|
|
382
|
+
}
|
|
383
|
+
catch {
|
|
384
|
+
return null;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Fetch a PR's merge readiness: base branch (for stacked-PR detection),
|
|
389
|
+
* mergeable/merge-state status, and a defensively-bucketed CI rollup.
|
|
390
|
+
*
|
|
391
|
+
* One `gh pr view --json …` call. When `opts.repo` ("owner/name") is given it
|
|
392
|
+
* is passed as `--repo`. Re-polls once when `mergeable === 'UNKNOWN'` (GitHub
|
|
393
|
+
* computes it asynchronously), then reports as-is.
|
|
394
|
+
*
|
|
395
|
+
* @returns the merge state, or `null` if gh is unavailable or the PR isn't found.
|
|
396
|
+
*/
|
|
397
|
+
export async function getPRMergeState(prNumber, opts) {
|
|
398
|
+
if (!isGhAvailable())
|
|
399
|
+
return null;
|
|
400
|
+
const safePrNumber = validatePRNumber(prNumber);
|
|
401
|
+
const repo = opts?.repo;
|
|
402
|
+
let data = fetchPRMergeJson(safePrNumber, repo);
|
|
403
|
+
if (!data)
|
|
404
|
+
return null;
|
|
405
|
+
// GitHub computes mergeability async — re-poll once if still UNKNOWN.
|
|
406
|
+
if (normalizeMergeable(data.mergeable) === 'UNKNOWN') {
|
|
407
|
+
await sleep(unknownRepollDelayMs);
|
|
408
|
+
const second = fetchPRMergeJson(safePrNumber, repo);
|
|
409
|
+
if (second)
|
|
410
|
+
data = second;
|
|
411
|
+
}
|
|
412
|
+
const { checks, checkRollup } = parseRollup(data.statusCheckRollup);
|
|
413
|
+
return {
|
|
414
|
+
number: typeof data.number === 'number' ? data.number : safePrNumber,
|
|
415
|
+
title: typeof data.title === 'string' ? data.title : '',
|
|
416
|
+
baseRefName: typeof data.baseRefName === 'string' ? data.baseRefName : '',
|
|
417
|
+
headRefName: typeof data.headRefName === 'string' ? data.headRefName : '',
|
|
418
|
+
mergeable: normalizeMergeable(data.mergeable),
|
|
419
|
+
mergeStateStatus: normalizeMergeStateStatus(data.mergeStateStatus),
|
|
420
|
+
checks,
|
|
421
|
+
checkRollup,
|
|
422
|
+
headRefOid: typeof data.headRefOid === 'string' ? data.headRefOid : undefined,
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"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"}
|