@yemi33/minions 0.1.2094 → 0.1.2096

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/engine/queries.js CHANGED
@@ -732,6 +732,10 @@ function getPullRequests(config) {
732
732
  shared.normalizePrRecords([pr], project);
733
733
  pr._project = project.name || 'Project';
734
734
  }
735
+ // Issue #2969 — surface paused PR-fix causes on the enriched record so
736
+ // dashboards / API consumers can render a chip without re-parsing
737
+ // _noOpFixes themselves.
738
+ pr._pausedCauses = shared.getPrPausedCauses(pr);
735
739
  allPrs.push(pr);
736
740
  seenIds.add(pr.id);
737
741
  }
@@ -758,6 +762,8 @@ function getPullRequests(config) {
758
762
  if (prNumber != null) pr.url = base + prNumber;
759
763
  }
760
764
  pr._project = project.name || 'Project';
765
+ // Issue #2969 — surface paused PR-fix causes (see SQL path above).
766
+ pr._pausedCauses = shared.getPrPausedCauses(pr);
761
767
  allPrs.push(pr);
762
768
  seenIds.add(pr.id);
763
769
  }
@@ -768,6 +774,8 @@ function getPullRequests(config) {
768
774
  for (const pr of centralPrs) {
769
775
  if (!pr?.id || seenIds.has(pr.id)) continue;
770
776
  pr._project = 'central';
777
+ // Issue #2969 — surface paused PR-fix causes (see SQL path above).
778
+ pr._pausedCauses = shared.getPrPausedCauses(pr);
771
779
  allPrs.push(pr);
772
780
  seenIds.add(pr.id);
773
781
  }
package/engine/shared.js CHANGED
@@ -5239,6 +5239,24 @@ function isPrNoOpFixCausePaused(pr, cause) {
5239
5239
  return record.evidenceFingerprint === prFixEvidenceFingerprint(pr, cause);
5240
5240
  }
5241
5241
 
5242
+ // Issue #2969 — Derive the list of currently-paused causes for surfacing on
5243
+ // `/api/pull-requests` + the dashboard PR card. Returns deduped cause strings
5244
+ // from `_noOpFixes[c].paused === true`. Does NOT re-validate evidence
5245
+ // fingerprints (the dashboard surface shows the persisted pause flag — when
5246
+ // evidence drifts and the discovery filter ignores the stale record, the
5247
+ // next fix dispatch overwrites `_noOpFixes[cause]` and naturally re-derives
5248
+ // this field on the following enrichment pass).
5249
+ function getPrPausedCauses(pr) {
5250
+ if (!pr || !pr._noOpFixes || typeof pr._noOpFixes !== 'object') return [];
5251
+ const causes = [];
5252
+ for (const [cause, record] of Object.entries(pr._noOpFixes)) {
5253
+ if (record && typeof record === 'object' && record.paused === true) {
5254
+ causes.push(cause);
5255
+ }
5256
+ }
5257
+ return causes;
5258
+ }
5259
+
5242
5260
  /**
5243
5261
  * Recursively purge Windows reserved-name pseudo-files (NUL, CON, PRN, AUX, etc.)
5244
5262
  * using the \\?\ extended path prefix that bypasses reserved-name interpretation.
@@ -5647,6 +5665,7 @@ module.exports = {
5647
5665
  prFixEvidenceFingerprint,
5648
5666
  getPrNoOpFixRecord,
5649
5667
  isPrNoOpFixCausePaused,
5668
+ getPrPausedCauses,
5650
5669
  parseSkillFrontmatter,
5651
5670
  sleepMs,
5652
5671
  killGracefully,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.2094",
3
+ "version": "0.1.2096",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"