@mutmutco/cli 4.5.177 → 4.5.179

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/dist/main.cjs CHANGED
@@ -15958,7 +15958,6 @@ function encodeGitHubContents(content) {
15958
15958
  }
15959
15959
 
15960
15960
  // src/bootstrap-ruleset.ts
15961
- init_github_client();
15962
15961
  var PRODUCT_RULESET_NAME = "mmi-product-required-checks";
15963
15962
  var PRODUCT_PENDING_RULESET_PREFIX = "mmi-product-required-checks-pending-";
15964
15963
  var PRODUCT_GATE_CONTEXT = "gate";
@@ -19193,10 +19192,10 @@ var rollout_plan_default = {
19193
19192
  note: "The v4.0.0 stamp happens at cut time (D6e #4463); until then the candidate is the origin/development head artifacts (built cli/dist + npm pack), identity proven by dist content hash (D6a)."
19194
19193
  },
19195
19194
  baseline: {
19196
- version: "4.5.177",
19197
- tag: "v4.5.177",
19198
- commit: "828c3b27cb77",
19199
- npm: "@mutmutco/cli@4.5.177"
19195
+ version: "4.5.179",
19196
+ tag: "v4.5.179",
19197
+ commit: "c6f88610b8cc",
19198
+ npm: "@mutmutco/cli@4.5.179"
19200
19199
  },
19201
19200
  exitCriterion: "fleet-n-of-n",
19202
19201
  hubOnlyShortcut: "forbidden",
@@ -19213,14 +19212,14 @@ var rollout_plan_default = {
19213
19212
  repo: "mutmutco/mmi-hub",
19214
19213
  role: "canary",
19215
19214
  schedule: "train",
19216
- v3Target: "v4.5.177"
19215
+ v3Target: "v4.5.179"
19217
19216
  }
19218
19217
  ],
19219
19218
  rollbackTrigger: "Any red inside the post-contract soak window: `devops train gate` FAIL attributable to the v4 doors, Hub endpoint health probe failure, a pre-v4 client admitted instead of receiving actionable HTTP 426, or npm consumer install/doctor failure on the v4-only dist.",
19220
19219
  rollback: {
19221
19220
  independent: true,
19222
- mechanism: "npm dist-tag latest -> 4.5.177 and redeploy the Hub Lambda from tag v4.5.177 (828c3b27cb77); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
19223
- v3Target: "v4.5.177 (@mutmutco/cli@4.5.177, tag commit 828c3b27cb77 \u2014 last known-good release carrying the repo-index v4-only contract)"
19221
+ mechanism: "npm dist-tag latest -> 4.5.179 and redeploy the Hub Lambda from tag v4.5.179 (c6f88610b8cc); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
19222
+ v3Target: "v4.5.179 (@mutmutco/cli@4.5.179, tag commit c6f88610b8cc \u2014 last known-good release carrying the repo-index v4-only contract)"
19224
19223
  }
19225
19224
  },
19226
19225
  {
@@ -25762,20 +25761,15 @@ async function defaultWatchRun(deps, runId, repo) {
25762
25761
  } catch {
25763
25762
  watchSaidSuccess = false;
25764
25763
  }
25765
- let confirmError;
25766
25764
  for (let attempt = 0; attempt < RUN_CONFIRM_ATTEMPTS2; attempt++) {
25767
25765
  if (attempt > 0) await new Promise((resolve7) => setTimeout(resolve7, RUN_CONFIRM_DELAY_MS2));
25768
25766
  try {
25769
25767
  const parsed = JSON.parse(await deps.run("gh", ["run", "view", String(runId), "--repo", repo, "--json", "status,conclusion"]));
25770
25768
  if (parsed.status === "completed") return parsed.conclusion === "success" ? "success" : "failure";
25771
- confirmError = void 0;
25772
- } catch (e) {
25773
- confirmError = e;
25769
+ } catch {
25774
25770
  }
25775
25771
  }
25776
- if (!watchSaidSuccess) return "failure";
25777
- if (confirmError) return "pending";
25778
- return "success";
25772
+ return watchSaidSuccess ? "pending" : "failure";
25779
25773
  }
25780
25774
  function alignmentPhaseEntry(dev, rc) {
25781
25775
  if (!dev && !rc) return { state: "skipped", note: "no protected-branch alignment leg on this release" };
@@ -30066,6 +30060,14 @@ async function runPipelineWithBump(bump, mode, input) {
30066
30060
  return { ...await runTrainApplyPipeline(mode, input), bump };
30067
30061
  }
30068
30062
 
30063
+ // src/registry-repositories.ts
30064
+ function qualifyRegistryRepo(raw) {
30065
+ return raw.includes("/") ? raw : `mutmutco/${raw}`;
30066
+ }
30067
+ function registryRepoKey(repo) {
30068
+ return repo.toLowerCase();
30069
+ }
30070
+
30069
30071
  // src/ci-audit.ts
30070
30072
  var HUB_REPO4 = "mutmutco/MMI-Hub";
30071
30073
  var HUB_GATE_CONTEXTS = ["cli", "infra", "docs"];
@@ -30425,8 +30427,8 @@ function collectRegistryRepos(projects) {
30425
30427
  const seen = /* @__PURE__ */ new Map();
30426
30428
  for (const project2 of projects) {
30427
30429
  for (const raw of project2.repos ?? []) {
30428
- const repo = raw.includes("/") ? raw : `mutmutco/${raw}`;
30429
- const key = repo.toLowerCase();
30430
+ const repo = qualifyRegistryRepo(raw);
30431
+ const key = registryRepoKey(repo);
30430
30432
  if (!seen.has(key)) seen.set(key, repo);
30431
30433
  }
30432
30434
  }
@@ -41600,8 +41602,15 @@ async function runPrLand(prNumber, options, deps) {
41600
41602
  return queueMerged(base, deps);
41601
41603
  }
41602
41604
  const deadline = (deps.now ?? (() => Date.now()))() + (options.queueTimeoutMs ?? PR_LAND_QUEUE_TIMEOUT_MS);
41603
- await (deps.sleep ?? ((ms) => new Promise((resolve7) => setTimeout(resolve7, ms))))(deps.pollDelayMs?.(0) ?? PR_LAND_POLL_MS);
41604
- return pollPrMergeQueue(prNumber, options, deps, base, void 0, deadline);
41605
+ let confirmed;
41606
+ if (options.enqueueOnly) {
41607
+ const read = await deps.readMergeQueue(prNumber, repo);
41608
+ if (read.isInMergeQueue || read.state === "MERGED") confirmed = read;
41609
+ }
41610
+ if (!confirmed) {
41611
+ await (deps.sleep ?? ((ms) => new Promise((resolve7) => setTimeout(resolve7, ms))))(deps.pollDelayMs?.(0) ?? PR_LAND_POLL_MS);
41612
+ }
41613
+ return pollPrMergeQueue(prNumber, options, deps, base, confirmed, deadline);
41605
41614
  }
41606
41615
  if (merge.mergeStatus === "merged") {
41607
41616
  return {
@@ -281,14 +281,6 @@ var init_gh_usage = __esm({
281
281
  }
282
282
  });
283
283
 
284
- // src/github-quota.ts
285
- var init_github_quota = __esm({
286
- "src/github-quota.ts"() {
287
- "use strict";
288
- init_github_client();
289
- }
290
- });
291
-
292
284
  // src/fetch-retry.ts
293
285
  var init_fetch_retry = __esm({
294
286
  "src/fetch-retry.ts"() {
@@ -441,6 +433,14 @@ var init_github_client = __esm({
441
433
  }
442
434
  });
443
435
 
436
+ // src/github-quota.ts
437
+ var init_github_quota = __esm({
438
+ "src/github-quota.ts"() {
439
+ "use strict";
440
+ init_github_client();
441
+ }
442
+ });
443
+
444
444
  // src/runbook-sweep-entry.ts
445
445
  var runbook_sweep_entry_exports = {};
446
446
  __export(runbook_sweep_entry_exports, {
@@ -1138,9 +1138,6 @@ function createRunbookLiveDeps(cliBin) {
1138
1138
  var PR_CHECKS_TIMEOUT_MS = 30 * 6e4;
1139
1139
  var PR_CHECKS_ZERO_RUNS_GRACE_MS = 2 * 6e4;
1140
1140
 
1141
- // src/bootstrap-ruleset.ts
1142
- init_github_client();
1143
-
1144
1141
  // src/gate-budget.ts
1145
1142
  var TEST_RUNNER_AT_START = new RegExp(
1146
1143
  "^(?:(?:npm|yarn|pnpm|bun)\\s+(?:run\\s+)?(?:test|t)(?:[:\\s]|$)|(?:npx|bunx|pnpm\\s+dlx)\\s+(?:vitest|jest|mocha|playwright|cypress|ava|tap)\\b|(?:vitest|jest|mocha|pytest|py\\.test|phpunit|rspec)\\b|python[0-9.]*\\s+-m\\s+(?:pytest|unittest)\\b|(?:poetry|pipenv)\\s+run\\s+(?:pytest|py\\.test|python[0-9.]*\\s+-m\\s+(?:pytest|unittest))\\b|(?:bundle\\s+exec\\s+)?rspec\\b|(?:go|cargo|dotnet|mvn|gradle|swift)\\s+test\\b|(?:rails|php\\s+artisan)\\s+test\\b|playwright\\s+test\\b)",
@@ -5777,6 +5774,14 @@ function message(e) {
5777
5774
  return e instanceof Error ? e.message : String(e);
5778
5775
  }
5779
5776
 
5777
+ // src/registry-repositories.ts
5778
+ function qualifyRegistryRepo(raw) {
5779
+ return raw.includes("/") ? raw : `mutmutco/${raw}`;
5780
+ }
5781
+ function registryRepoKey(repo) {
5782
+ return repo.toLowerCase();
5783
+ }
5784
+
5780
5785
  // src/ci-audit.ts
5781
5786
  var HUB_REPO4 = "mutmutco/MMI-Hub";
5782
5787
  var DEV_STAGE_STALE_TOLERANCE_MS = 30 * 60 * 1e3;
@@ -5784,8 +5789,8 @@ function collectRegistryRepos(projects) {
5784
5789
  const seen = /* @__PURE__ */ new Map();
5785
5790
  for (const project of projects) {
5786
5791
  for (const raw of project.repos ?? []) {
5787
- const repo = raw.includes("/") ? raw : `mutmutco/${raw}`;
5788
- const key = repo.toLowerCase();
5792
+ const repo = qualifyRegistryRepo(raw);
5793
+ const key = registryRepoKey(repo);
5789
5794
  if (!seen.has(key)) seen.set(key, repo);
5790
5795
  }
5791
5796
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "4.5.177",
3
+ "version": "4.5.179",
4
4
  "description": "MMI Future CLI — the org dev toolbox and shared cross-IDE engine for every registry-declared MMI coding surface.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",