@generacy-ai/workflow-engine 0.2.1 → 0.3.0

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.
Files changed (48) hide show
  1. package/dist/actions/builtin/speckit/operations/clarify.d.ts +11 -0
  2. package/dist/actions/builtin/speckit/operations/clarify.d.ts.map +1 -1
  3. package/dist/actions/builtin/speckit/operations/clarify.js +81 -11
  4. package/dist/actions/builtin/speckit/operations/clarify.js.map +1 -1
  5. package/dist/actions/epic/update-status.d.ts.map +1 -1
  6. package/dist/actions/epic/update-status.js +2 -0
  7. package/dist/actions/epic/update-status.js.map +1 -1
  8. package/dist/actions/github/classify-label-provisioning-error.d.ts +25 -0
  9. package/dist/actions/github/classify-label-provisioning-error.d.ts.map +1 -0
  10. package/dist/actions/github/classify-label-provisioning-error.js +30 -0
  11. package/dist/actions/github/classify-label-provisioning-error.js.map +1 -0
  12. package/dist/actions/github/client/gh-cli.d.ts +24 -4
  13. package/dist/actions/github/client/gh-cli.d.ts.map +1 -1
  14. package/dist/actions/github/client/gh-cli.js +263 -4
  15. package/dist/actions/github/client/gh-cli.js.map +1 -1
  16. package/dist/actions/github/client/interface.d.ts +96 -2
  17. package/dist/actions/github/client/interface.d.ts.map +1 -1
  18. package/dist/actions/github/label-definitions.d.ts.map +1 -1
  19. package/dist/actions/github/label-definitions.js +18 -0
  20. package/dist/actions/github/label-definitions.js.map +1 -1
  21. package/dist/actions/github/preflight.d.ts.map +1 -1
  22. package/dist/actions/github/preflight.js +8 -6
  23. package/dist/actions/github/preflight.js.map +1 -1
  24. package/dist/actions/github/read-pr-feedback.d.ts.map +1 -1
  25. package/dist/actions/github/read-pr-feedback.js +40 -10
  26. package/dist/actions/github/read-pr-feedback.js.map +1 -1
  27. package/dist/actions/workflow/update-stage.d.ts.map +1 -1
  28. package/dist/actions/workflow/update-stage.js +2 -0
  29. package/dist/actions/workflow/update-stage.js.map +1 -1
  30. package/dist/index.d.ts +5 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +6 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/security/comment-trust-config.d.ts +34 -0
  35. package/dist/security/comment-trust-config.d.ts.map +1 -0
  36. package/dist/security/comment-trust-config.js +67 -0
  37. package/dist/security/comment-trust-config.js.map +1 -0
  38. package/dist/security/comment-trust.d.ts +40 -0
  39. package/dist/security/comment-trust.d.ts.map +1 -0
  40. package/dist/security/comment-trust.js +119 -0
  41. package/dist/security/comment-trust.js.map +1 -0
  42. package/dist/security/untrusted-data-fence.d.ts +19 -0
  43. package/dist/security/untrusted-data-fence.d.ts.map +1 -0
  44. package/dist/security/untrusted-data-fence.js +33 -0
  45. package/dist/security/untrusted-data-fence.js.map +1 -0
  46. package/dist/types/github.d.ts +54 -1
  47. package/dist/types/github.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import { executeCommand, parseJSONSafe } from '../../cli-utils.js';
2
2
  /**
3
- * Thrown by `executeGh()` when the gh CLI's stderr signals HTTP 401.
3
+ * Thrown by `executeGh()` when the gh CLI's stderr signals HTTP 401 or 403.
4
4
  * Callers (label/PR-feedback monitors) catch this to drive auth-health state.
5
+ * See #861 for the 403 widening (GraphQL scope-denial paths).
5
6
  */
6
7
  export class GhAuthError extends Error {
7
8
  statusCode;
@@ -57,8 +58,11 @@ export class GhCliGitHubClient {
57
58
  async executeGh(args) {
58
59
  const env = await this.resolveTokenEnv();
59
60
  const result = await executeCommand('gh', args, { cwd: this.workdir, env });
60
- if (result.exitCode !== 0 && parseGhStatusCode(result.stderr) === 401) {
61
- throw new GhAuthError(401, result.stderr);
61
+ if (result.exitCode !== 0) {
62
+ const code = parseGhStatusCode(result.stderr);
63
+ if (code === 401 || code === 403) {
64
+ throw new GhAuthError(code, result.stderr);
65
+ }
62
66
  }
63
67
  return result;
64
68
  }
@@ -119,6 +123,22 @@ export class GhCliGitHubClient {
119
123
  updated_at: data['updatedAt'],
120
124
  };
121
125
  }
126
+ async getIssueLabels(owner, repo, number) {
127
+ const result = await this.executeGh([
128
+ 'issue', 'view', String(number),
129
+ '-R', `${owner}/${repo}`,
130
+ '--json', 'labels',
131
+ ]);
132
+ if (result.exitCode !== 0) {
133
+ throw new Error(`Failed to get labels for issue #${number}: ${result.stderr}`);
134
+ }
135
+ const data = parseJSONSafe(result.stdout);
136
+ if (!data) {
137
+ throw new Error('Failed to parse issue label data');
138
+ }
139
+ const labels = data['labels'] ?? [];
140
+ return labels.map(l => l.name);
141
+ }
122
142
  async listIssuesWithLabel(owner, repo, label) {
123
143
  const result = await this.executeGh([
124
144
  'issue', 'list',
@@ -190,6 +210,8 @@ export class GhCliGitHubClient {
190
210
  throw new Error(`Failed to add comment to issue #${number}: ${result.stderr}`);
191
211
  }
192
212
  // gh doesn't return the comment details, so we need to fetch the latest comment
213
+ // #842 audit: whitelist — fetches the bot's own just-posted comment for
214
+ // metadata; content is not surfaced to any agent.
193
215
  const comments = await this.getIssueComments(owner, repo, number);
194
216
  const latest = comments[comments.length - 1];
195
217
  if (!latest) {
@@ -217,8 +239,58 @@ export class GhCliGitHubClient {
217
239
  author: c.user.login,
218
240
  created_at: c.created_at,
219
241
  updated_at: c.updated_at,
242
+ authorAssociation: c.author_association,
220
243
  }));
221
244
  }
245
+ async getIssueCommentsWithViewerAuth(owner, repo, number) {
246
+ const query = `query($owner: String!, $repo: String!, $number: Int!) {
247
+ repository(owner: $owner, name: $repo) {
248
+ issue(number: $number) {
249
+ comments(first: 100) {
250
+ nodes {
251
+ databaseId
252
+ body
253
+ createdAt
254
+ updatedAt
255
+ author { login }
256
+ authorAssociation
257
+ viewerDidAuthor
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }`;
263
+ const result = await this.executeGh([
264
+ 'api', 'graphql',
265
+ '-f', `query=${query}`,
266
+ '-F', `owner=${owner}`,
267
+ '-F', `repo=${repo}`,
268
+ '-F', `number=${number}`,
269
+ ]);
270
+ if (result.exitCode !== 0) {
271
+ throw new Error(`Failed to get issue comments for issue #${number}: ${result.stderr}`);
272
+ }
273
+ const parsed = parseJSONSafe(result.stdout);
274
+ const nodes = parsed?.data?.repository?.issue?.comments?.nodes;
275
+ if (!nodes)
276
+ return [];
277
+ return nodes.map((c) => {
278
+ const comment = {
279
+ id: c.databaseId,
280
+ body: c.body,
281
+ author: c.author?.login ?? '',
282
+ created_at: c.createdAt,
283
+ updated_at: c.updatedAt,
284
+ };
285
+ if (c.authorAssociation !== null && c.authorAssociation !== undefined) {
286
+ comment.authorAssociation = c.authorAssociation;
287
+ }
288
+ if (c.viewerDidAuthor !== null && c.viewerDidAuthor !== undefined) {
289
+ comment.viewerDidAuthor = c.viewerDidAuthor;
290
+ }
291
+ return comment;
292
+ });
293
+ }
222
294
  async updateComment(owner, repo, commentId, body) {
223
295
  // gh CLI doesn't have a direct command to edit comments, use API
224
296
  const result = await this.executeGh([
@@ -352,7 +424,7 @@ export class GhCliGitHubClient {
352
424
  const result = await this.executeGh([
353
425
  'api',
354
426
  `/repos/${owner}/${repo}/pulls/${number}/comments`,
355
- '--jq', '.[] | {id: .id, body: .body, author: .user.login, path: .path, line: .line, in_reply_to_id: .in_reply_to_id, created_at: .created_at, updated_at: .updated_at}',
427
+ '--jq', '.[] | {id: .id, body: .body, author: .user.login, author_association: .author_association, path: .path, line: .line, in_reply_to_id: .in_reply_to_id, created_at: .created_at, updated_at: .updated_at}',
356
428
  ]);
357
429
  if (result.exitCode !== 0) {
358
430
  // No comments is not an error
@@ -368,6 +440,7 @@ export class GhCliGitHubClient {
368
440
  id: data['id'],
369
441
  body: data['body'],
370
442
  author: data['author'],
443
+ authorAssociation: data['author_association'],
371
444
  path: data['path'],
372
445
  line: data['line'],
373
446
  in_reply_to_id: data['in_reply_to_id'],
@@ -377,6 +450,84 @@ export class GhCliGitHubClient {
377
450
  }
378
451
  return comments;
379
452
  }
453
+ async getPRReviewThreads(owner, repo, number) {
454
+ const query = `query($owner: String!, $repo: String!, $number: Int!) {
455
+ repository(owner: $owner, name: $repo) {
456
+ pullRequest(number: $number) {
457
+ reviewThreads(first: 100) {
458
+ nodes {
459
+ id
460
+ isResolved
461
+ comments(first: 100) {
462
+ nodes {
463
+ databaseId
464
+ body
465
+ path
466
+ line
467
+ createdAt
468
+ updatedAt
469
+ author { login }
470
+ authorAssociation
471
+ replyTo { databaseId }
472
+ viewerDidAuthor
473
+ }
474
+ }
475
+ }
476
+ }
477
+ }
478
+ }
479
+ }`;
480
+ const result = await this.executeGh([
481
+ 'api', 'graphql',
482
+ '-f', `query=${query}`,
483
+ '-F', `owner=${owner}`,
484
+ '-F', `repo=${repo}`,
485
+ '-F', `number=${number}`,
486
+ ]);
487
+ if (result.exitCode !== 0) {
488
+ throw new Error(`Failed to fetch review threads for PR #${number}: ${result.stderr}`);
489
+ }
490
+ const parsed = parseJSONSafe(result.stdout);
491
+ const nodes = parsed?.data?.repository?.pullRequest?.reviewThreads?.nodes;
492
+ if (!nodes)
493
+ return [];
494
+ const threads = [];
495
+ for (const node of nodes) {
496
+ const commentNodes = node.comments?.nodes;
497
+ if (!commentNodes || commentNodes.length === 0)
498
+ continue;
499
+ const comments = commentNodes.map(c => {
500
+ const comment = {
501
+ id: c.databaseId,
502
+ body: c.body,
503
+ author: c.author?.login ?? '',
504
+ created_at: c.createdAt,
505
+ updated_at: c.updatedAt,
506
+ };
507
+ if (c.path !== null && c.path !== undefined)
508
+ comment.path = c.path;
509
+ if (c.line !== null && c.line !== undefined)
510
+ comment.line = c.line;
511
+ if (c.replyTo?.databaseId !== undefined && c.replyTo?.databaseId !== null) {
512
+ comment.in_reply_to_id = c.replyTo.databaseId;
513
+ }
514
+ if (c.authorAssociation !== null && c.authorAssociation !== undefined) {
515
+ comment.authorAssociation = c.authorAssociation;
516
+ }
517
+ if (c.viewerDidAuthor !== null && c.viewerDidAuthor !== undefined) {
518
+ comment.viewerDidAuthor = c.viewerDidAuthor;
519
+ }
520
+ return comment;
521
+ });
522
+ threads.push({
523
+ id: node.id,
524
+ rootCommentId: comments[0].id,
525
+ isResolved: node.isResolved,
526
+ comments,
527
+ });
528
+ }
529
+ return threads;
530
+ }
380
531
  async replyToPRComment(owner, repo, number, commentId, body) {
381
532
  const result = await this.executeGh([
382
533
  'api',
@@ -399,6 +550,47 @@ export class GhCliGitHubClient {
399
550
  updated_at: data['updated_at'],
400
551
  };
401
552
  }
553
+ async resolveReviewThread(threadId) {
554
+ const mutation = 'mutation($id: ID!) { resolveReviewThread(input: { threadId: $id }) { thread { id isResolved } } }';
555
+ const backoffs = [1000, 2000, 4000];
556
+ let lastError = null;
557
+ for (let attempt = 0; attempt < 3; attempt++) {
558
+ try {
559
+ const result = await this.executeGh([
560
+ 'api', 'graphql',
561
+ '-f', `query=${mutation}`,
562
+ '-F', `id=${threadId}`,
563
+ ]);
564
+ if (result.exitCode !== 0) {
565
+ lastError = new Error(`resolveReviewThread failed for ${threadId}: ${result.stderr}`);
566
+ }
567
+ else {
568
+ const parsed = parseJSONSafe(result.stdout);
569
+ if (parsed?.errors && parsed.errors.length > 0) {
570
+ const messages = parsed.errors
571
+ .map(e => e.message ?? 'unknown')
572
+ .join('; ');
573
+ throw new Error(`resolveReviewThread returned GraphQL errors for ${threadId}: ${messages}`);
574
+ }
575
+ return;
576
+ }
577
+ }
578
+ catch (err) {
579
+ if (err instanceof GhAuthError)
580
+ throw err;
581
+ if (err instanceof Error &&
582
+ err.message.startsWith('resolveReviewThread returned GraphQL errors')) {
583
+ throw err;
584
+ }
585
+ lastError = err instanceof Error ? err : new Error(String(err));
586
+ }
587
+ const backoff = backoffs[attempt];
588
+ if (backoff !== undefined) {
589
+ await new Promise(resolve => setTimeout(resolve, backoff));
590
+ }
591
+ }
592
+ throw lastError ?? new Error(`resolveReviewThread failed for ${threadId}`);
593
+ }
402
594
  async listOpenPullRequests(owner, repo) {
403
595
  const result = await this.executeGh([
404
596
  'pr', 'list',
@@ -430,6 +622,28 @@ export class GhCliGitHubClient {
430
622
  updated_at: pr['updatedAt'],
431
623
  }));
432
624
  }
625
+ async listPrCommentBodies(owner, repo, prNumber) {
626
+ const result = await this.executeGh([
627
+ 'pr', 'view', String(prNumber),
628
+ '--repo', `${owner}/${repo}`,
629
+ '--json', 'comments',
630
+ '--jq', '.comments[].body',
631
+ ]);
632
+ if (result.exitCode !== 0) {
633
+ throw new Error(`Failed to list PR comments for ${owner}/${repo}#${prNumber}: ${result.stderr}`);
634
+ }
635
+ return result.stdout.split('\n').filter(l => l.length > 0);
636
+ }
637
+ async postPrComment(owner, repo, prNumber, body) {
638
+ const result = await this.executeGh([
639
+ 'pr', 'comment', String(prNumber),
640
+ '--repo', `${owner}/${repo}`,
641
+ '--body', body,
642
+ ]);
643
+ if (result.exitCode !== 0) {
644
+ throw new Error(`Failed to post PR comment on ${owner}/${repo}#${prNumber}: ${result.stderr}`);
645
+ }
646
+ }
433
647
  async findPRForBranch(owner, repo, branch) {
434
648
  const result = await this.executeGh([
435
649
  'pr', 'list',
@@ -792,9 +1006,54 @@ export class GhCliGitHubClient {
792
1006
  };
793
1007
  });
794
1008
  }
1009
+ async getFilesChangedBetween(base, head) {
1010
+ const result = await executeCommand('git', [
1011
+ 'diff', '--name-only', `${base}...${head}`,
1012
+ ], { cwd: this.workdir });
1013
+ if (result.exitCode !== 0) {
1014
+ throw new Error(`git diff --name-only ${base}...${head} failed (exit ${result.exitCode}): ${result.stderr.trim()}`);
1015
+ }
1016
+ return result.stdout.split('\n').filter(Boolean);
1017
+ }
795
1018
  // ==========================================================================
796
1019
  // Alias Methods (convenience wrappers)
797
1020
  // ==========================================================================
1021
+ /**
1022
+ * Fetch the head commit SHA for a branch/ref (#892).
1023
+ * Uses `gh api repos/{o}/{r}/commits/{ref} --jq .sha` and validates that the
1024
+ * response is a 40-char lower-case hex SHA. Non-conforming output → throw.
1025
+ * 401 → `GhAuthError` via `executeGh` (existing #762 path).
1026
+ */
1027
+ async getRefHeadSha(owner, repo, ref) {
1028
+ const result = await this.executeGh([
1029
+ 'api',
1030
+ `repos/${owner}/${repo}/commits/${ref}`,
1031
+ '--jq', '.sha',
1032
+ ]);
1033
+ if (result.exitCode !== 0) {
1034
+ throw new Error(`getRefHeadSha ${owner}/${repo}@${ref} failed (exit ${result.exitCode}): ${result.stderr.trim()}`);
1035
+ }
1036
+ const sha = result.stdout.trim();
1037
+ if (!/^[0-9a-f]{40}$/.test(sha)) {
1038
+ throw new Error(`Invalid SHA for ${owner}/${repo}@${ref}: ${sha.slice(0, 80)}`);
1039
+ }
1040
+ return sha;
1041
+ }
1042
+ /**
1043
+ * List file names touched by a PR (`gh pr diff --name-only`, #892).
1044
+ * Non-zero exit → throw with stderr for visibility.
1045
+ */
1046
+ async prDiffNames(ownerRepo, prNumber) {
1047
+ const result = await this.executeGh([
1048
+ 'pr', 'diff', String(prNumber),
1049
+ '--repo', ownerRepo,
1050
+ '--name-only',
1051
+ ]);
1052
+ if (result.exitCode !== 0) {
1053
+ throw new Error(`prDiffNames ${ownerRepo}#${prNumber} failed (exit ${result.exitCode}): ${result.stderr.trim()}`);
1054
+ }
1055
+ return result.stdout.split('\n').map((l) => l.trim()).filter(Boolean);
1056
+ }
798
1057
  async listBranches(owner, repo) {
799
1058
  // List remote branches using gh api
800
1059
  const result = await this.executeGh([
@@ -1 +1 @@
1
- {"version":3,"file":"gh-cli.js","sourceRoot":"","sources":["../../../../src/actions/github/client/gh-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gh-cli.js","sourceRoot":"","sources":["../../../../src/actions/github/client/gh-cli.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * GitHubClient interface - provider abstraction for GitHub operations.
3
3
  * Allows different implementations (gh CLI, Octokit, etc.) to be swapped.
4
4
  */
5
- import type { Issue, PullRequest, Comment, Label, RepoInfo, ConflictInfo } from '../../../types/github.js';
5
+ import type { Issue, PullRequest, Comment, Label, RepoInfo, ConflictInfo, ReviewThread } from '../../../types/github.js';
6
6
  /**
7
7
  * Issue update data
8
8
  */
@@ -103,10 +103,34 @@ export interface GitHubClient {
103
103
  * Get comments on an issue
104
104
  */
105
105
  getIssueComments(owner: string, repo: string, number: number): Promise<Comment[]>;
106
+ /**
107
+ * Fetch issue comments via GraphQL with `viewerDidAuthor` populated per
108
+ * comment. Sibling to `getIssueComments()` (REST) and mirror of
109
+ * `getPRReviewThreads()` (existing GraphQL precedent from #878).
110
+ *
111
+ * Callers that pass results through `isTrustedCommentAuthor(c, surface, ctx)`
112
+ * MUST use this method — REST does not surface `viewerDidAuthor`, so
113
+ * App-identity clusters cannot self-recognize their own posts and the
114
+ * trust helper rejects them at tier NONE. Consumed by
115
+ * `integrateClarificationAnswers` (answer-scanner surface) and
116
+ * `buildTrustedIssueCommentsBlock` (clarify-resume surface).
117
+ *
118
+ * Returns the first page (`first: 100`) only — matches
119
+ * `getPRReviewThreads()` pagination posture. See #910.
120
+ *
121
+ * @throws GhAuthError on HTTP 401 or 403.
122
+ * @throws Error on any other non-zero exit.
123
+ */
124
+ getIssueCommentsWithViewerAuth(owner: string, repo: string, number: number): Promise<Comment[]>;
106
125
  /**
107
126
  * Update a comment
108
127
  */
109
128
  updateComment(owner: string, repo: string, commentId: number, body: string): Promise<void>;
129
+ /**
130
+ * Get the label names on an issue. Cheaper than `getIssue` when only labels
131
+ * are needed (e.g., pre-enqueue `blocked:*` skip checks). See #883.
132
+ */
133
+ getIssueLabels(owner: string, repo: string, number: number): Promise<string[]>;
110
134
  /**
111
135
  * List open issues in a repository that have a specific label
112
136
  */
@@ -128,17 +152,57 @@ export interface GitHubClient {
128
152
  */
129
153
  markPRReady(owner: string, repo: string, number: number): Promise<void>;
130
154
  /**
131
- * Get comments on a PR (review comments)
155
+ * Get comments on a PR (review comments).
156
+ *
157
+ * @deprecated The REST endpoint underneath this method does not expose
158
+ * thread resolution — every returned `Comment.resolved` is `undefined`.
159
+ * Use `getPRReviewThreads()` instead. Removed in a follow-up PR. See #861.
132
160
  */
133
161
  getPRComments(owner: string, repo: string, number: number): Promise<Comment[]>;
162
+ /**
163
+ * Fetch all review threads on a PR, with resolution state, via GraphQL.
164
+ *
165
+ * The REST endpoint at `/repos/{owner}/{repo}/pulls/{n}/comments` does NOT
166
+ * expose thread resolution — thread state is a GraphQL-only concept.
167
+ * Callers that need per-thread resolved state MUST use this method.
168
+ * `getPRComments()` is deprecated; do not use it for new code.
169
+ *
170
+ * @throws GhAuthError on HTTP 401 or 403.
171
+ * @throws Error on any other non-zero exit.
172
+ */
173
+ getPRReviewThreads(owner: string, repo: string, number: number): Promise<ReviewThread[]>;
134
174
  /**
135
175
  * Reply to a PR comment
136
176
  */
137
177
  replyToPRComment(owner: string, repo: string, number: number, commentId: number, body: string): Promise<Comment>;
178
+ /**
179
+ * Resolve a PR review thread via the GraphQL `resolveReviewThread` mutation.
180
+ *
181
+ * Retries transient failures up to 3 times with 1s / 2s / 4s backoff. Auth
182
+ * failures (`GhAuthError`) are NOT retried — they are rethrown on the first
183
+ * attempt (aligns with #762 convention). GraphQL-level `errors[]` on a 200
184
+ * response are treated as terminal (deleted node, permission-denied) and are
185
+ * NOT retried. On persistent transient failure, throws `Error` with the
186
+ * last upstream stderr as the message. See #883.
187
+ *
188
+ * @param threadId - The GraphQL node ID of the thread (see ReviewThread.id).
189
+ */
190
+ resolveReviewThread(threadId: string): Promise<void>;
138
191
  /**
139
192
  * List all open pull requests in a repository
140
193
  */
141
194
  listOpenPullRequests(owner: string, repo: string): Promise<PullRequest[]>;
195
+ /**
196
+ * List top-level (issue-comment) PR comment bodies for idempotency
197
+ * checks (#869 / FR-004). Does NOT return review-thread comment bodies
198
+ * (those come from `getPRReviewThreads`).
199
+ */
200
+ listPrCommentBodies(owner: string, repo: string, prNumber: number): Promise<string[]>;
201
+ /**
202
+ * Post a top-level PR comment (issue-comment API, not review-thread reply).
203
+ * Used by the PR-feedback monitor to post the untrusted-notice per FR-004.
204
+ */
205
+ postPrComment(owner: string, repo: string, prNumber: number, body: string): Promise<void>;
142
206
  /**
143
207
  * Find PR for the current branch
144
208
  */
@@ -235,10 +299,40 @@ export interface GitHubClient {
235
299
  sha: string;
236
300
  message: string;
237
301
  }[]>;
302
+ /**
303
+ * List files changed between two refs using merge-base (triple-dot) semantics.
304
+ * Equivalent to `git diff --name-only <base>...<head>`.
305
+ *
306
+ * @param base Base ref, typically `origin/<branch>`.
307
+ * @param head Head ref, typically `HEAD`.
308
+ * @returns Repo-relative file paths as emitted by git; empty array `[]` never null/undefined.
309
+ * @throws Error when the git command exits non-zero (missing ref, no fetch, ...).
310
+ */
311
+ getFilesChangedBetween(base: string, head: string): Promise<string[]>;
238
312
  /**
239
313
  * List all branches in the repository
240
314
  */
241
315
  listBranches(owner: string, repo: string): Promise<string[]>;
316
+ /**
317
+ * Returns the current head commit SHA of a branch or ref.
318
+ * Used by BaseAdvanceMonitorService to detect base-branch advances (#892).
319
+ *
320
+ * @param ref - Branch/ref name, e.g. "develop", "main", "release/v2".
321
+ * @returns Full 40-character lower-case hex SHA.
322
+ * @throws GhAuthError on HTTP 401 (feeds #762 auth-health backstop).
323
+ * @throws Error on malformed response (non-40-hex).
324
+ */
325
+ getRefHeadSha(owner: string, repo: string, ref: string): Promise<string>;
326
+ /**
327
+ * List the file names touched by a pull request via `gh pr diff --name-only`.
328
+ * Used by ValidateFixHandler's sibling-duplication guard (#892).
329
+ *
330
+ * @param ownerRepo - `owner/repo` slug (matches gh CLI's `--repo` flag shape).
331
+ * @param prNumber - Pull request number.
332
+ * @returns Repo-relative file paths; empty array if no changes.
333
+ * @throws Error on non-zero exit.
334
+ */
335
+ prDiffNames(ownerRepo: string, prNumber: number): Promise<string[]>;
242
336
  /**
243
337
  * Create a PR (alias for createPullRequest)
244
338
  */