@hardlydifficult/github 1.0.1 → 1.0.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/README.md CHANGED
@@ -42,6 +42,51 @@ const contributed = await github.getContributedRepos(30);
42
42
  const myPRs = await github.getMyOpenPRs();
43
43
  ```
44
44
 
45
+ ### Watching for PR activity
46
+
47
+ Poll repos and your open PRs for real-time updates — no webhooks required.
48
+
49
+ ```typescript
50
+ const watcher = github.watch({
51
+ repos: ["owner/repo1", "owner/repo2"],
52
+ myPRs: true,
53
+ intervalMs: 30_000, // default
54
+ });
55
+
56
+ watcher.onNewPR((event) => {
57
+ console.log(`New PR: ${event.pr.title} in ${event.repo.owner}/${event.repo.name}`);
58
+ });
59
+
60
+ watcher.onComment((event) => {
61
+ console.log(`${event.comment.user.login} commented on #${event.pr.number}`);
62
+ });
63
+
64
+ watcher.onReview((event) => {
65
+ console.log(`${event.review.user.login} ${event.review.state} #${event.pr.number}`);
66
+ });
67
+
68
+ watcher.onCheckRun((event) => {
69
+ console.log(`${event.checkRun.name}: ${event.checkRun.status} (${event.checkRun.conclusion})`);
70
+ });
71
+
72
+ watcher.onMerged((event) => {
73
+ console.log(`PR #${event.pr.number} was merged`);
74
+ });
75
+
76
+ watcher.onClosed((event) => {
77
+ console.log(`PR #${event.pr.number} was closed`);
78
+ });
79
+
80
+ watcher.onError((error) => {
81
+ console.error("Watcher error:", error);
82
+ });
83
+
84
+ await watcher.start(); // initial poll + begins interval
85
+ watcher.stop(); // stop polling
86
+ ```
87
+
88
+ The first poll fires `onNewPR` for all existing open PRs (discovery). Subsequent polls fire granular events for new comments, reviews, check run changes, and state transitions.
89
+
45
90
  ## API
46
91
 
47
92
  ### `GitHubClient`
@@ -50,6 +95,7 @@ const myPRs = await github.getMyOpenPRs();
50
95
  |--------|-------------|
51
96
  | `static create(token?)` | Create client (token defaults to `GH_PAT` env var) |
52
97
  | `repo(owner, name)` | Get a `RepoClient` scoped to owner/repo |
98
+ | `watch(options)` | Create a `PRWatcher` for polling PR activity |
53
99
  | `getOwnerRepos(owner)` | List repos for a user or org |
54
100
  | `getContributedRepos(days)` | Find repos the user contributed to recently |
55
101
  | `getMyOpenPRs()` | Find open PRs by the authenticated user |
@@ -76,6 +122,30 @@ const myPRs = await github.getMyOpenPRs();
76
122
  | `postComment(body)` | Post a comment on the PR |
77
123
  | `merge(title)` | Squash-merge the PR |
78
124
 
125
+ ### `PRWatcher`
126
+
127
+ Created via `github.watch(options)`. All `on*` methods return an unsubscribe function.
128
+
129
+ | Method | Description |
130
+ |--------|-------------|
131
+ | `onNewPR(callback)` | New PR appeared in a watched repo or user's PRs |
132
+ | `onComment(callback)` | New comment posted on a tracked PR |
133
+ | `onReview(callback)` | New review submitted on a tracked PR |
134
+ | `onCheckRun(callback)` | Check run created or status changed on a tracked PR |
135
+ | `onMerged(callback)` | Tracked PR was merged |
136
+ | `onClosed(callback)` | Tracked PR was closed without merge |
137
+ | `onError(callback)` | Polling or callback error |
138
+ | `start()` | Begin polling (initial poll + interval) |
139
+ | `stop()` | Stop polling |
140
+
141
+ ### `WatchOptions`
142
+
143
+ | Field | Type | Default | Description |
144
+ |-------|------|---------|-------------|
145
+ | `repos` | `string[]` | `[]` | Repos to watch (`"owner/repo"` format) |
146
+ | `myPRs` | `boolean` | `false` | Also watch all open PRs by the authenticated user |
147
+ | `intervalMs` | `number` | `30000` | Polling interval in milliseconds |
148
+
79
149
  ### Types
80
150
 
81
- `PullRequest`, `Repository`, `User`, `CheckRun`, `PullRequestReview`, `PullRequestComment`, `PullRequestFile`, `PullRequestCommit`, `Label`, `ContributionRepo`, `MergeableState`
151
+ `PullRequest`, `Repository`, `User`, `CheckRun`, `PullRequestReview`, `PullRequestComment`, `PullRequestFile`, `PullRequestCommit`, `Label`, `ContributionRepo`, `MergeableState`, `WatchOptions`, `PREvent`, `CommentEvent`, `ReviewEvent`, `CheckRunEvent`
@@ -1,5 +1,6 @@
1
1
  import { Octokit } from "@octokit/rest";
2
- import type { CheckRun, ContributionRepo, PullRequest, PullRequestComment, PullRequestCommit, PullRequestFile, PullRequestReview, Repository } from "./types.js";
2
+ import { PRWatcher } from "./PRWatcher.js";
3
+ import type { CheckRun, ContributionRepo, PullRequest, PullRequestComment, PullRequestCommit, PullRequestFile, PullRequestReview, Repository, WatchOptions } from "./types.js";
3
4
  export declare class PRClient {
4
5
  private readonly octokit;
5
6
  private readonly owner;
@@ -33,6 +34,7 @@ export declare class GitHubClient {
33
34
  private constructor();
34
35
  static create(token?: string): Promise<GitHubClient>;
35
36
  repo(owner: string, name: string): RepoClient;
37
+ watch(options: WatchOptions): PRWatcher;
36
38
  getOwnerRepos(owner: string): Promise<readonly ContributionRepo[]>;
37
39
  getContributedRepos(days: number): Promise<readonly ContributionRepo[]>;
38
40
  getMyOpenPRs(): Promise<readonly {
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubClient.d.ts","sourceRoot":"","sources":["../src/GitHubClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOnE,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;IAU3B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAa1B,QAAQ,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAW/C,UAAU,IAAI,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC;IAWnD,UAAU,IAAI,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC;IAWnD,WAAW,IAAI,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC;IAWrD,YAAY,IAAI,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC;IAY5C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS1C;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAE9B,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMzD,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAItB,UAAU,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAW7C,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;CAQjC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO;WAKM,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAY1D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;IAIvC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC;IAoClE,mBAAmB,CACvB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC;IA8BjC,YAAY,IAAI,OAAO,CAC3B,SAAS;QACP,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAClE,EAAE,CACJ;CA0BF"}
1
+ {"version":3,"file":"GitHubClient.d.ts","sourceRoot":"","sources":["../src/GitHubClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOnE,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;IAU3B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAa1B,QAAQ,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAW/C,UAAU,IAAI,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC;IAWnD,UAAU,IAAI,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC;IAWnD,WAAW,IAAI,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC;IAWrD,YAAY,IAAI,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC;IAY5C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS1C;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAE9B,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMzD,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAItB,UAAU,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAW7C,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;CAQjC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO;WAKM,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAY1D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;IAI7C,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS;IAIjC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC;IAoClE,mBAAmB,CACvB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC;IA8BjC,YAAY,IAAI,OAAO,CAC3B,SAAS;QACP,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAClE,EAAE,CACJ;CA0BF"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GitHubClient = exports.RepoClient = exports.PRClient = void 0;
4
4
  const rest_1 = require("@octokit/rest");
5
+ const PRWatcher_js_1 = require("./PRWatcher.js");
5
6
  class PRClient {
6
7
  octokit;
7
8
  owner;
@@ -148,6 +149,9 @@ class GitHubClient {
148
149
  repo(owner, name) {
149
150
  return new RepoClient(this.octokit, owner, name);
150
151
  }
152
+ watch(options) {
153
+ return new PRWatcher_js_1.PRWatcher(this.octokit, this.username, options);
154
+ }
151
155
  async getOwnerRepos(owner) {
152
156
  const repos = [];
153
157
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubClient.js","sourceRoot":"","sources":["../src/GitHubClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitHubClient.js","sourceRoot":"","sources":["../src/GitHubClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { Octokit } from "@octokit/rest";
2
+ import type { CheckRunEvent, CommentEvent, PREvent, ReviewEvent, WatchOptions } from "./types.js";
3
+ export declare class PRWatcher {
4
+ private readonly octokit;
5
+ private readonly username;
6
+ private readonly repos;
7
+ private readonly myPRs;
8
+ private readonly intervalMs;
9
+ private readonly newPRCallbacks;
10
+ private readonly commentCallbacks;
11
+ private readonly reviewCallbacks;
12
+ private readonly checkRunCallbacks;
13
+ private readonly mergedCallbacks;
14
+ private readonly closedCallbacks;
15
+ private readonly errorCallbacks;
16
+ private readonly snapshots;
17
+ private timer;
18
+ private fetching;
19
+ private initialized;
20
+ /** @internal */
21
+ constructor(octokit: Octokit, username: string, options: WatchOptions);
22
+ onNewPR(callback: (event: PREvent) => void): () => void;
23
+ onComment(callback: (event: CommentEvent) => void): () => void;
24
+ onReview(callback: (event: ReviewEvent) => void): () => void;
25
+ onCheckRun(callback: (event: CheckRunEvent) => void): () => void;
26
+ onMerged(callback: (event: PREvent) => void): () => void;
27
+ onClosed(callback: (event: PREvent) => void): () => void;
28
+ onError(callback: (error: Error) => void): () => void;
29
+ start(): Promise<void>;
30
+ stop(): void;
31
+ private poll;
32
+ private processUpdates;
33
+ private handleNewPR;
34
+ private handleExistingPR;
35
+ private handleRemovedPRs;
36
+ private emitNewComments;
37
+ private emitNewReviews;
38
+ private emitCheckRunChanges;
39
+ private emit;
40
+ private emitError;
41
+ }
42
+ //# sourceMappingURL=PRWatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PRWatcher.d.ts","sourceRoot":"","sources":["../src/PRWatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EACZ,OAAO,EAIP,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAapB,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuC;IACtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4C;IAC7E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2C;IAC3E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAE9B;IACJ,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IAEpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAE5B,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAQrE,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAKvD,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI;IAK9D,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI;IAK5D,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAKhE,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAKxD,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAKxD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM,IAAI;IAK/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,IAAI,IAAI,IAAI;YAOE,IAAI;YAqBJ,cAAc;YAsBd,WAAW;YAiBX,gBAAgB;YAqChB,gBAAgB;IA4B9B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,SAAS;CAKlB"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PRWatcher = void 0;
4
+ const fetchPRActivity_js_1 = require("./polling/fetchPRActivity.js");
5
+ const fetchWatchedPRs_js_1 = require("./polling/fetchWatchedPRs.js");
6
+ const DEFAULT_INTERVAL_MS = 30_000;
7
+ class PRWatcher {
8
+ octokit;
9
+ username;
10
+ repos;
11
+ myPRs;
12
+ intervalMs;
13
+ newPRCallbacks = new Set();
14
+ commentCallbacks = new Set();
15
+ reviewCallbacks = new Set();
16
+ checkRunCallbacks = new Set();
17
+ mergedCallbacks = new Set();
18
+ closedCallbacks = new Set();
19
+ errorCallbacks = new Set();
20
+ snapshots = new Map();
21
+ timer;
22
+ fetching = false;
23
+ initialized = false;
24
+ /** @internal */
25
+ constructor(octokit, username, options) {
26
+ this.octokit = octokit;
27
+ this.username = username;
28
+ this.repos = options.repos ?? [];
29
+ this.myPRs = options.myPRs ?? false;
30
+ this.intervalMs = options.intervalMs ?? DEFAULT_INTERVAL_MS;
31
+ }
32
+ onNewPR(callback) {
33
+ this.newPRCallbacks.add(callback);
34
+ return () => this.newPRCallbacks.delete(callback);
35
+ }
36
+ onComment(callback) {
37
+ this.commentCallbacks.add(callback);
38
+ return () => this.commentCallbacks.delete(callback);
39
+ }
40
+ onReview(callback) {
41
+ this.reviewCallbacks.add(callback);
42
+ return () => this.reviewCallbacks.delete(callback);
43
+ }
44
+ onCheckRun(callback) {
45
+ this.checkRunCallbacks.add(callback);
46
+ return () => this.checkRunCallbacks.delete(callback);
47
+ }
48
+ onMerged(callback) {
49
+ this.mergedCallbacks.add(callback);
50
+ return () => this.mergedCallbacks.delete(callback);
51
+ }
52
+ onClosed(callback) {
53
+ this.closedCallbacks.add(callback);
54
+ return () => this.closedCallbacks.delete(callback);
55
+ }
56
+ onError(callback) {
57
+ this.errorCallbacks.add(callback);
58
+ return () => this.errorCallbacks.delete(callback);
59
+ }
60
+ async start() {
61
+ await this.poll();
62
+ this.timer = setInterval(() => {
63
+ void this.poll();
64
+ }, this.intervalMs);
65
+ }
66
+ stop() {
67
+ if (this.timer) {
68
+ clearInterval(this.timer);
69
+ this.timer = undefined;
70
+ }
71
+ }
72
+ async poll() {
73
+ if (this.fetching) {
74
+ return;
75
+ }
76
+ this.fetching = true;
77
+ try {
78
+ const prs = await (0, fetchWatchedPRs_js_1.fetchWatchedPRs)(this.octokit, this.username, this.repos, this.myPRs);
79
+ await this.processUpdates(prs);
80
+ }
81
+ catch (error) {
82
+ this.emitError(error instanceof Error ? error : new Error(String(error)));
83
+ }
84
+ finally {
85
+ this.fetching = false;
86
+ }
87
+ }
88
+ async processUpdates(watchedPRs) {
89
+ const currentKeys = new Set();
90
+ for (const { pr, owner, name } of watchedPRs) {
91
+ const key = prKey(owner, name, pr.number);
92
+ currentKeys.add(key);
93
+ const previous = this.snapshots.get(key);
94
+ if (!previous) {
95
+ await this.handleNewPR(pr, owner, name, key);
96
+ continue;
97
+ }
98
+ await this.handleExistingPR(pr, owner, name, previous, key);
99
+ }
100
+ await this.handleRemovedPRs(currentKeys);
101
+ this.initialized = true;
102
+ }
103
+ async handleNewPR(pr, owner, name, key) {
104
+ const activity = await (0, fetchPRActivity_js_1.fetchPRActivity)(this.octokit, owner, name, pr.number, pr.head.sha);
105
+ this.snapshots.set(key, buildSnapshot(pr, owner, name, activity));
106
+ this.emit(this.newPRCallbacks, { pr, repo: { owner, name } });
107
+ }
108
+ async handleExistingPR(pr, owner, name, previous, key) {
109
+ const repo = { owner, name };
110
+ if (pr.merged_at !== null && previous.pr.merged_at === null) {
111
+ this.emit(this.mergedCallbacks, { pr, repo });
112
+ this.snapshots.delete(key);
113
+ return;
114
+ }
115
+ if (pr.state === "closed" && previous.pr.state !== "closed") {
116
+ this.emit(this.closedCallbacks, { pr, repo });
117
+ this.snapshots.delete(key);
118
+ return;
119
+ }
120
+ const activity = await (0, fetchPRActivity_js_1.fetchPRActivity)(this.octokit, owner, name, pr.number, pr.head.sha);
121
+ if (this.initialized) {
122
+ this.emitNewComments(activity.comments, previous, pr, repo);
123
+ this.emitNewReviews(activity.reviews, previous, pr, repo);
124
+ this.emitCheckRunChanges(activity.checkRuns, previous, pr, repo);
125
+ }
126
+ this.snapshots.set(key, buildSnapshot(pr, owner, name, activity));
127
+ }
128
+ async handleRemovedPRs(currentKeys) {
129
+ for (const [key, snapshot] of this.snapshots) {
130
+ if (currentKeys.has(key)) {
131
+ continue;
132
+ }
133
+ try {
134
+ const response = await this.octokit.pulls.get({
135
+ owner: snapshot.owner,
136
+ repo: snapshot.name,
137
+ pull_number: snapshot.pr.number,
138
+ });
139
+ const freshPR = response.data;
140
+ const repo = { owner: snapshot.owner, name: snapshot.name };
141
+ if (freshPR.merged_at !== null) {
142
+ this.emit(this.mergedCallbacks, { pr: freshPR, repo });
143
+ }
144
+ else if (freshPR.state === "closed") {
145
+ this.emit(this.closedCallbacks, { pr: freshPR, repo });
146
+ }
147
+ }
148
+ catch {
149
+ // PR may have been deleted or become inaccessible
150
+ }
151
+ this.snapshots.delete(key);
152
+ }
153
+ }
154
+ emitNewComments(comments, previous, pr, repo) {
155
+ for (const comment of comments) {
156
+ if (!previous.commentIds.has(comment.id)) {
157
+ this.emit(this.commentCallbacks, { comment, pr, repo });
158
+ }
159
+ }
160
+ }
161
+ emitNewReviews(reviews, previous, pr, repo) {
162
+ for (const review of reviews) {
163
+ if (!previous.reviewIds.has(review.id)) {
164
+ this.emit(this.reviewCallbacks, { review, pr, repo });
165
+ }
166
+ }
167
+ }
168
+ emitCheckRunChanges(checkRuns, previous, pr, repo) {
169
+ for (const checkRun of checkRuns) {
170
+ const prev = previous.checkRuns.get(checkRun.id);
171
+ const changed = prev?.status !== checkRun.status ||
172
+ prev.conclusion !== checkRun.conclusion;
173
+ if (changed) {
174
+ this.emit(this.checkRunCallbacks, { checkRun, pr, repo });
175
+ }
176
+ }
177
+ }
178
+ emit(callbacks, event) {
179
+ for (const callback of callbacks) {
180
+ try {
181
+ callback(event);
182
+ }
183
+ catch (error) {
184
+ this.emitError(error instanceof Error ? error : new Error(String(error)));
185
+ }
186
+ }
187
+ }
188
+ emitError(error) {
189
+ for (const callback of this.errorCallbacks) {
190
+ callback(error);
191
+ }
192
+ }
193
+ }
194
+ exports.PRWatcher = PRWatcher;
195
+ function prKey(owner, name, prNumber) {
196
+ return `${owner}/${name}#${String(prNumber)}`;
197
+ }
198
+ function buildSnapshot(pr, owner, name, activity) {
199
+ return {
200
+ pr,
201
+ owner,
202
+ name,
203
+ commentIds: new Set(activity.comments.map((c) => c.id)),
204
+ reviewIds: new Set(activity.reviews.map((r) => r.id)),
205
+ checkRuns: new Map(activity.checkRuns.map((cr) => [
206
+ cr.id,
207
+ { status: cr.status, conclusion: cr.conclusion },
208
+ ])),
209
+ };
210
+ }
211
+ //# sourceMappingURL=PRWatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PRWatcher.js","sourceRoot":"","sources":["../src/PRWatcher.ts"],"names":[],"mappings":";;;AAEA,qEAAgF;AAChF,qEAA+E;AAsB/E,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAa,SAAS;IACH,OAAO,CAAU;IACjB,QAAQ,CAAS;IACjB,KAAK,CAAoB;IACzB,KAAK,CAAU;IACf,UAAU,CAAS;IAEnB,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;IACrD,gBAAgB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC5D,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC1D,iBAAiB,GAAG,IAAI,GAAG,EAEzC,CAAC;IACa,eAAe,GAAG,IAAI,GAAG,EAA4B,CAAC;IACtD,eAAe,GAAG,IAAI,GAAG,EAA4B,CAAC;IACtD,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEnD,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IACnD,KAAK,CAA6C;IAClD,QAAQ,GAAG,KAAK,CAAC;IACjB,WAAW,GAAG,KAAK,CAAC;IAE5B,gBAAgB;IAChB,YAAY,OAAgB,EAAE,QAAgB,EAAE,OAAqB;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,QAAkC;QACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,QAAuC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,QAAQ,CAAC,QAAsC;QAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,QAAwC;QACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ,CAAC,QAAkC;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,QAAkC;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,QAAgC;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,oCAAe,EAC/B,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,CACX,CAAC;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,UAAgC;QAEhC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC1C,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7C,SAAS;YACX,CAAC;YAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,EAAe,EACf,KAAa,EACb,IAAY,EACZ,GAAW;QAEX,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAAe,EACpC,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,IAAI,EACJ,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,IAAI,CAAC,GAAG,CACZ,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,EAAe,EACf,KAAa,EACb,IAAY,EACZ,QAAoB,EACpB,GAAW;QAEX,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAE7B,IAAI,EAAE,CAAC,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAAe,EACpC,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,IAAI,EACJ,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,IAAI,CAAC,GAAG,CACZ,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAAwB;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;oBAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM;iBAChC,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAA8B,CAAC;gBACxD,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAE5D,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,eAAe,CACrB,QAAuC,EACvC,QAAoB,EACpB,EAAe,EACf,IAAqC;QAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,OAAqC,EACrC,QAAoB,EACpB,EAAe,EACf,IAAqC;QAErC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CACzB,SAA8B,EAC9B,QAAoB,EACpB,EAAe,EACf,IAAqC;QAErC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,OAAO,GACX,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM;gBAChC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,IAAI,CAAI,SAAkC,EAAE,KAAQ;QAC1D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAY;QAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3C,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAzQD,8BAyQC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC1D,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CACpB,EAAe,EACf,KAAa,EACb,IAAY,EACZ,QAAoB;IAEpB,OAAO;QACL,EAAE;QACF,KAAK;QACL,IAAI;QACJ,UAAU,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,SAAS,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,SAAS,EAAE,IAAI,GAAG,CAChB,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7B,EAAE,CAAC,EAAE;YACL,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE;SACjD,CAAC,CACH;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { GitHubClient, RepoClient, PRClient } from "./GitHubClient.js";
2
- export type { PullRequest, Repository, User, CheckRun, PullRequestReview, PullRequestComment, PullRequestFile, PullRequestCommit, Label, ContributionRepo, MergeableState, } from "./types.js";
2
+ export { PRWatcher } from "./PRWatcher.js";
3
+ export type { PullRequest, Repository, User, CheckRun, PullRequestReview, PullRequestComment, PullRequestFile, PullRequestCommit, Label, ContributionRepo, MergeableState, WatchOptions, PREvent, CommentEvent, ReviewEvent, CheckRunEvent, } from "./types.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EACV,WAAW,EACX,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EACV,WAAW,EACX,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PRClient = exports.RepoClient = exports.GitHubClient = void 0;
3
+ exports.PRWatcher = exports.PRClient = exports.RepoClient = exports.GitHubClient = void 0;
4
4
  var GitHubClient_js_1 = require("./GitHubClient.js");
5
5
  Object.defineProperty(exports, "GitHubClient", { enumerable: true, get: function () { return GitHubClient_js_1.GitHubClient; } });
6
6
  Object.defineProperty(exports, "RepoClient", { enumerable: true, get: function () { return GitHubClient_js_1.RepoClient; } });
7
7
  Object.defineProperty(exports, "PRClient", { enumerable: true, get: function () { return GitHubClient_js_1.PRClient; } });
8
+ var PRWatcher_js_1 = require("./PRWatcher.js");
9
+ Object.defineProperty(exports, "PRWatcher", { enumerable: true, get: function () { return PRWatcher_js_1.PRWatcher; } });
8
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAuE;AAA9D,+GAAA,YAAY,OAAA;AAAE,6GAAA,UAAU,OAAA;AAAE,2GAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAuE;AAA9D,+GAAA,YAAY,OAAA;AAAE,6GAAA,UAAU,OAAA;AAAE,2GAAA,QAAQ,OAAA;AAC3C,+CAA2C;AAAlC,yGAAA,SAAS,OAAA"}
@@ -0,0 +1,9 @@
1
+ import type { Octokit } from "@octokit/rest";
2
+ import type { CheckRun, PullRequestComment, PullRequestReview } from "../types.js";
3
+ export interface PRActivity {
4
+ readonly comments: readonly PullRequestComment[];
5
+ readonly reviews: readonly PullRequestReview[];
6
+ readonly checkRuns: readonly CheckRun[];
7
+ }
8
+ export declare function fetchPRActivity(octokit: Octokit, owner: string, name: string, number: number, headSha: string): Promise<PRActivity>;
9
+ //# sourceMappingURL=fetchPRActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPRActivity.d.ts","sourceRoot":"","sources":["../../src/polling/fetchPRActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;CACzC;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CA2BrB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchPRActivity = fetchPRActivity;
4
+ async function fetchPRActivity(octokit, owner, name, number, headSha) {
5
+ const [commentsRes, reviewsRes, checksRes] = await Promise.all([
6
+ octokit.issues.listComments({
7
+ owner,
8
+ repo: name,
9
+ issue_number: number,
10
+ per_page: 100,
11
+ }),
12
+ octokit.pulls.listReviews({
13
+ owner,
14
+ repo: name,
15
+ pull_number: number,
16
+ per_page: 100,
17
+ }),
18
+ octokit.checks.listForRef({
19
+ owner,
20
+ repo: name,
21
+ ref: headSha,
22
+ per_page: 100,
23
+ }),
24
+ ]);
25
+ return {
26
+ comments: commentsRes.data,
27
+ reviews: reviewsRes.data,
28
+ checkRuns: checksRes.data.check_runs,
29
+ };
30
+ }
31
+ //# sourceMappingURL=fetchPRActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPRActivity.js","sourceRoot":"","sources":["../../src/polling/fetchPRActivity.ts"],"names":[],"mappings":";;AAcA,0CAiCC;AAjCM,KAAK,UAAU,eAAe,CACnC,OAAgB,EAChB,KAAa,EACb,IAAY,EACZ,MAAc,EACd,OAAe;IAEf,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAC1B,KAAK;YACL,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,GAAG;SACd,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;YACxB,KAAK;YACL,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,MAAM;YACnB,QAAQ,EAAE,GAAG;SACd,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACxB,KAAK;YACL,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,OAAO;YACZ,QAAQ,EAAE,GAAG;SACd,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,IAAgD;QACtE,OAAO,EAAE,UAAU,CAAC,IAA+C;QACnE,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAA4C;KACvE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Octokit } from "@octokit/rest";
2
+ import type { PullRequest } from "../types.js";
3
+ export interface WatchedPR {
4
+ readonly pr: PullRequest;
5
+ readonly owner: string;
6
+ readonly name: string;
7
+ }
8
+ export declare function fetchWatchedPRs(octokit: Octokit, username: string, repos: readonly string[], myPRs: boolean): Promise<readonly WatchedPR[]>;
9
+ //# sourceMappingURL=fetchWatchedPRs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchWatchedPRs.d.ts","sourceRoot":"","sources":["../../src/polling/fetchWatchedPRs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CAuD/B"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchWatchedPRs = fetchWatchedPRs;
4
+ async function fetchWatchedPRs(octokit, username, repos, myPRs) {
5
+ const results = [];
6
+ const seen = new Set();
7
+ for (const repoSpec of repos) {
8
+ const [owner, name] = repoSpec.split("/");
9
+ const response = await octokit.pulls.list({
10
+ owner,
11
+ repo: name,
12
+ state: "open",
13
+ per_page: 100,
14
+ sort: "updated",
15
+ direction: "desc",
16
+ });
17
+ for (const pr of response.data) {
18
+ const key = `${owner}/${name}#${String(pr.number)}`;
19
+ if (!seen.has(key)) {
20
+ seen.add(key);
21
+ results.push({ pr: pr, owner, name });
22
+ }
23
+ }
24
+ }
25
+ if (myPRs) {
26
+ const response = await octokit.search.issuesAndPullRequests({
27
+ q: `is:pr is:open author:${username}`,
28
+ per_page: 100,
29
+ sort: "updated",
30
+ });
31
+ const pattern = /repos\/([^/]+)\/([^/]+)$/;
32
+ for (const item of response.data.items) {
33
+ const match = pattern.exec(item.repository_url);
34
+ if (match !== null) {
35
+ const [, owner, name] = match;
36
+ const key = `${owner}/${name}#${String(item.number)}`;
37
+ if (!seen.has(key)) {
38
+ seen.add(key);
39
+ const prResponse = await octokit.pulls.get({
40
+ owner,
41
+ repo: name,
42
+ pull_number: item.number,
43
+ });
44
+ results.push({
45
+ pr: prResponse.data,
46
+ owner,
47
+ name,
48
+ });
49
+ }
50
+ }
51
+ }
52
+ }
53
+ return results;
54
+ }
55
+ //# sourceMappingURL=fetchWatchedPRs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchWatchedPRs.js","sourceRoot":"","sources":["../../src/polling/fetchWatchedPRs.ts"],"names":[],"mappings":";;AAUA,0CA4DC;AA5DM,KAAK,UAAU,eAAe,CACnC,OAAgB,EAChB,QAAgB,EAChB,KAAwB,EACxB,KAAc;IAEd,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,KAAK;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QAEH,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAA4B,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAC1D,CAAC,EAAE,wBAAwB,QAAQ,EAAE;YACrC,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC9B,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;wBACzC,KAAK;wBACL,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI,CAAC,MAAM;qBACzB,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,UAAU,CAAC,IAA8B;wBAC7C,KAAK;wBACL,IAAI;qBACL,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -106,4 +106,25 @@ export interface PullRequestCommit {
106
106
  readonly author: User | null;
107
107
  readonly html_url: string;
108
108
  }
109
+ export interface WatchOptions {
110
+ readonly repos?: readonly string[];
111
+ readonly myPRs?: boolean;
112
+ readonly intervalMs?: number;
113
+ }
114
+ export interface PREvent {
115
+ readonly pr: PullRequest;
116
+ readonly repo: {
117
+ readonly owner: string;
118
+ readonly name: string;
119
+ };
120
+ }
121
+ export interface CommentEvent extends PREvent {
122
+ readonly comment: PullRequestComment;
123
+ }
124
+ export interface ReviewEvent extends PREvent {
125
+ readonly review: PullRequestReview;
126
+ }
127
+ export interface CheckRunEvent extends PREvent {
128
+ readonly checkRun: CheckRun;
129
+ }
109
130
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hardlydifficult/github",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "files": [