@yemi33/minions 0.1.1867 → 0.1.1868

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 CHANGED
@@ -1,14 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.1867 (2026-05-11)
3
+ ## 0.1.1868 (2026-05-11)
4
4
 
5
- ### Fixes
6
- - harden PRD filename uniqueness against TOCTOU collisions (#2346)
5
+ ### Other
6
+ - docs(shared): JSDoc + tests for getCanonicalPrId (#2339)
7
+
8
+ ## 0.1.1866 (2026-05-11)
7
9
 
8
10
  ### Other
9
- - test(consolidation): add unit tests for archiveInboxFiles, buildConsolidationPrompt, consolidateInbox state-flag handling (#2348)
10
- - test(cooldown): add unit tests for normalizePrHeadForCooldown, getPrReviewHead, getPrReviewCooldownBase, clearLegacyPrReviewCooldown, clearCooldown (#2347)
11
- - test(meeting): add unit tests for meeting pure helpers (round/content/artifact) (#2343)
12
11
  - test(scheduler): add unit tests for writeScheduleRunEntry, createScheduledWorkItem, recordScheduleRun (#2341)
13
12
 
14
13
  ## 0.1.1865 (2026-05-11)
package/engine/shared.js CHANGED
@@ -2751,6 +2751,34 @@ function isPrCompatibleWithProject(project, prRef, url = '') {
2751
2751
  return !getPrProjectScopeMismatch(project, prRef, url);
2752
2752
  }
2753
2753
 
2754
+ /**
2755
+ * Build a canonical, repository-scoped PR identifier.
2756
+ *
2757
+ * Disambiguates PR numbers across hosts/repos by prefixing with the host scope
2758
+ * derived from `url` (if it parses as a known host PR URL) or otherwise from
2759
+ * the `project` config. The `url` always wins when present so that a PR
2760
+ * record carrying a foreign-host URL is not mis-scoped to its current
2761
+ * project.
2762
+ *
2763
+ * Output shapes:
2764
+ * - GitHub project: `github:<owner>/<repo>#<prNumber>` (e.g. `github:yemi33/minions#1234`)
2765
+ * - ADO project: `ado:<org>/<adoProject>/<repo>#<prNumber>` (e.g. `ado:office/office/Office#5134010`)
2766
+ * - No usable scope but numeric prRef: `PR-<prNumber>` (legacy fallback)
2767
+ * - Unparseable: returns the raw id string (may be empty)
2768
+ *
2769
+ * @param {object|null} project - Project config; uses `repoHost`, `adoOrg`,
2770
+ * `adoProject`, `repoName`, and `prUrlBase` to derive the scope. May be null
2771
+ * when only `url` provides scope.
2772
+ * .
2773
+ * @param {number|string|object} prRef - PR reference. Accepts a numeric id,
2774
+ * a numeric string, an existing canonical id (`github:owner/repo#42`),
2775
+ * a host PR URL, or a PR-record object with `id`/`url`/`prNumber` fields.
2776
+ * @param {string} [url=''] - Full PR URL used for host disambiguation
2777
+ * (primary signal for ADO vs GitHub when `prRef` is bare-numeric and the
2778
+ * project config disagrees with the URL host).
2779
+ * @returns {string} Canonical PR id string (see shapes above), or the raw id
2780
+ * when no scope and no number can be derived.
2781
+ */
2754
2782
  function getCanonicalPrId(project, prRef, url = '') {
2755
2783
  const isObjectRef = !!prRef && typeof prRef === 'object';
2756
2784
  const rawId = isObjectRef ? (prRef.id || '') : String(prRef || '');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1867",
3
+ "version": "0.1.1868",
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"