@oss-autopilot/core 0.42.2 → 0.42.3

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.
@@ -4387,10 +4387,10 @@ var init_state = __esm({
4387
4387
  }
4388
4388
  // === Dismiss / Undismiss Issues ===
4389
4389
  /**
4390
- * Dismiss an issue by URL. Dismissed issues are excluded from `new_response` notifications
4390
+ * Dismiss an issue or PR by URL. Dismissed URLs are excluded from `new_response` notifications
4391
4391
  * until new activity occurs after the dismiss timestamp.
4392
- * @param url - The full GitHub issue URL.
4393
- * @param timestamp - ISO timestamp of when the issue was dismissed.
4392
+ * @param url - The full GitHub issue or PR URL.
4393
+ * @param timestamp - ISO timestamp of when the issue/PR was dismissed.
4394
4394
  * @returns true if newly dismissed, false if already dismissed.
4395
4395
  */
4396
4396
  dismissIssue(url, timestamp) {
@@ -4404,8 +4404,8 @@ var init_state = __esm({
4404
4404
  return true;
4405
4405
  }
4406
4406
  /**
4407
- * Undismiss an issue by URL.
4408
- * @param url - The full GitHub issue URL.
4407
+ * Undismiss an issue or PR by URL.
4408
+ * @param url - The full GitHub issue or PR URL.
4409
4409
  * @returns true if found and removed, false if not dismissed.
4410
4410
  */
4411
4411
  undismissIssue(url) {
@@ -4416,8 +4416,8 @@ var init_state = __esm({
4416
4416
  return true;
4417
4417
  }
4418
4418
  /**
4419
- * Get the timestamp when an issue was dismissed.
4420
- * @param url - The full GitHub issue URL.
4419
+ * Get the timestamp when an issue or PR was dismissed.
4420
+ * @param url - The full GitHub issue or PR URL.
4421
4421
  * @returns The ISO dismiss timestamp, or undefined if not dismissed.
4422
4422
  */
4423
4423
  getIssueDismissedAt(url) {
@@ -17199,7 +17199,6 @@ var init_shelve = __esm({
17199
17199
  // src/commands/dismiss.ts
17200
17200
  var dismiss_exports = {};
17201
17201
  __export(dismiss_exports, {
17202
- ISSUE_OR_PR_URL_PATTERN: () => ISSUE_OR_PR_URL_PATTERN,
17203
17202
  runDismiss: () => runDismiss,
17204
17203
  runUndismiss: () => runUndismiss
17205
17204
  });
@@ -3,7 +3,6 @@
3
3
  * Manages dismissing issue and PR notifications without posting a comment.
4
4
  * Dismissed URLs resurface automatically when new responses arrive after the dismiss timestamp.
5
5
  */
6
- import { ISSUE_OR_PR_URL_PATTERN } from './validation.js';
7
6
  export interface DismissOutput {
8
7
  dismissed: boolean;
9
8
  url: string;
@@ -12,7 +11,6 @@ export interface UndismissOutput {
12
11
  undismissed: boolean;
13
12
  url: string;
14
13
  }
15
- export { ISSUE_OR_PR_URL_PATTERN };
16
14
  export declare function runDismiss(options: {
17
15
  url: string;
18
16
  }): Promise<DismissOutput>;
@@ -5,8 +5,6 @@
5
5
  */
6
6
  import { getStateManager } from '../core/index.js';
7
7
  import { ISSUE_OR_PR_URL_PATTERN, validateGitHubUrl, validateUrl } from './validation.js';
8
- // Re-export for tests
9
- export { ISSUE_OR_PR_URL_PATTERN };
10
8
  export async function runDismiss(options) {
11
9
  validateUrl(options.url);
12
10
  validateGitHubUrl(options.url, ISSUE_OR_PR_URL_PATTERN, 'issue or PR');
@@ -108,7 +108,8 @@ export function checkUnrespondedComments(comments, reviews, reviewComments, user
108
108
  if (!body && review.state !== 'COMMENTED' && review.state !== 'CHANGES_REQUESTED')
109
109
  continue;
110
110
  const author = review.user?.login || 'unknown';
111
- // For inline-only COMMENTED reviews, skip pure self-replies (#199)
111
+ // For inline-only COMMENTED reviews, skip pure self-replies (#199).
112
+ // CHANGES_REQUESTED reviews are always actionable regardless of self-replies.
112
113
  if (!body && review.state === 'COMMENTED' && review.id != null) {
113
114
  if (isAllSelfReplies(review.id, reviewComments)) {
114
115
  continue;
@@ -206,22 +206,22 @@ export declare class StateManager {
206
206
  */
207
207
  isPRShelved(url: string): boolean;
208
208
  /**
209
- * Dismiss an issue by URL. Dismissed issues are excluded from `new_response` notifications
209
+ * Dismiss an issue or PR by URL. Dismissed URLs are excluded from `new_response` notifications
210
210
  * until new activity occurs after the dismiss timestamp.
211
- * @param url - The full GitHub issue URL.
212
- * @param timestamp - ISO timestamp of when the issue was dismissed.
211
+ * @param url - The full GitHub issue or PR URL.
212
+ * @param timestamp - ISO timestamp of when the issue/PR was dismissed.
213
213
  * @returns true if newly dismissed, false if already dismissed.
214
214
  */
215
215
  dismissIssue(url: string, timestamp: string): boolean;
216
216
  /**
217
- * Undismiss an issue by URL.
218
- * @param url - The full GitHub issue URL.
217
+ * Undismiss an issue or PR by URL.
218
+ * @param url - The full GitHub issue or PR URL.
219
219
  * @returns true if found and removed, false if not dismissed.
220
220
  */
221
221
  undismissIssue(url: string): boolean;
222
222
  /**
223
- * Get the timestamp when an issue was dismissed.
224
- * @param url - The full GitHub issue URL.
223
+ * Get the timestamp when an issue or PR was dismissed.
224
+ * @param url - The full GitHub issue or PR URL.
225
225
  * @returns The ISO dismiss timestamp, or undefined if not dismissed.
226
226
  */
227
227
  getIssueDismissedAt(url: string): string | undefined;
@@ -721,10 +721,10 @@ export class StateManager {
721
721
  }
722
722
  // === Dismiss / Undismiss Issues ===
723
723
  /**
724
- * Dismiss an issue by URL. Dismissed issues are excluded from `new_response` notifications
724
+ * Dismiss an issue or PR by URL. Dismissed URLs are excluded from `new_response` notifications
725
725
  * until new activity occurs after the dismiss timestamp.
726
- * @param url - The full GitHub issue URL.
727
- * @param timestamp - ISO timestamp of when the issue was dismissed.
726
+ * @param url - The full GitHub issue or PR URL.
727
+ * @param timestamp - ISO timestamp of when the issue/PR was dismissed.
728
728
  * @returns true if newly dismissed, false if already dismissed.
729
729
  */
730
730
  dismissIssue(url, timestamp) {
@@ -738,8 +738,8 @@ export class StateManager {
738
738
  return true;
739
739
  }
740
740
  /**
741
- * Undismiss an issue by URL.
742
- * @param url - The full GitHub issue URL.
741
+ * Undismiss an issue or PR by URL.
742
+ * @param url - The full GitHub issue or PR URL.
743
743
  * @returns true if found and removed, false if not dismissed.
744
744
  */
745
745
  undismissIssue(url) {
@@ -750,8 +750,8 @@ export class StateManager {
750
750
  return true;
751
751
  }
752
752
  /**
753
- * Get the timestamp when an issue was dismissed.
754
- * @param url - The full GitHub issue URL.
753
+ * Get the timestamp when an issue or PR was dismissed.
754
+ * @param url - The full GitHub issue or PR URL.
755
755
  * @returns The ISO dismiss timestamp, or undefined if not dismissed.
756
756
  */
757
757
  getIssueDismissedAt(url) {
@@ -451,7 +451,7 @@ export interface AgentConfig {
451
451
  aiPolicyBlocklist?: string[];
452
452
  /** PR URLs manually shelved by the user. Shelved PRs are excluded from capacity and actionable issues. Auto-unshelved when maintainers engage. */
453
453
  shelvedPRUrls?: string[];
454
- /** Issue URLs dismissed by the user, mapped to ISO timestamp of when dismissed. Issues with new responses after the dismiss timestamp resurface automatically. */
454
+ /** Issue/PR URLs dismissed by the user, mapped to ISO timestamp of when dismissed. Issues with new responses after the dismiss timestamp resurface automatically. Named dismissedIssues for state backward compatibility (#416). */
455
455
  dismissedIssues?: Record<string, string>;
456
456
  /** PR URLs with snoozed CI failures, mapped to snooze metadata. Snoozed PRs are excluded from actionable CI failure list until expiry. */
457
457
  snoozedPRs?: Record<string, SnoozeInfo>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oss-autopilot/core",
3
- "version": "0.42.2",
3
+ "version": "0.42.3",
4
4
  "description": "CLI and core library for managing open source contributions",
5
5
  "type": "module",
6
6
  "bin": {