@mutmutco/cli 3.129.0 → 3.130.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 (2) hide show
  1. package/dist/main.cjs +45 -36
  2. package/package.json +1 -1
package/dist/main.cjs CHANGED
@@ -16037,10 +16037,10 @@ var rollout_plan_default = {
16037
16037
  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)."
16038
16038
  },
16039
16039
  baseline: {
16040
- version: "3.129.0",
16041
- tag: "v3.129.0",
16042
- commit: "7067f7164642",
16043
- npm: "@mutmutco/cli@3.129.0"
16040
+ version: "3.130.0",
16041
+ tag: "v3.130.0",
16042
+ commit: "4092383c82be",
16043
+ npm: "@mutmutco/cli@3.130.0"
16044
16044
  },
16045
16045
  exitCriterion: "fleet-n-of-n",
16046
16046
  hubOnlyShortcut: "forbidden",
@@ -16057,14 +16057,14 @@ var rollout_plan_default = {
16057
16057
  repo: "mutmutco/mmi-hub",
16058
16058
  role: "canary",
16059
16059
  schedule: "train",
16060
- v3Target: "v3.129.0"
16060
+ v3Target: "v3.130.0"
16061
16061
  }
16062
16062
  ],
16063
16063
  rollbackTrigger: "Any red inside the post-cut soak window: `devops train gate` FAIL attributable to the v4 doors, Hub endpoint health probe failure, a v3 client refused while the compat window must still admit it (SUPPORTED_MINOR_WINDOW=2, MIN_CLIENT_VERSION 0.0.0 \u2014 D6a), or npm consumer install/doctor failure on the v4 dist.",
16064
16064
  rollback: {
16065
16065
  independent: true,
16066
- mechanism: "npm dist-tag latest -> 3.129.0 and redeploy the Hub Lambda from tag v3.129.0 (7067f7164642); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
16067
- v3Target: "v3.129.0 (@mutmutco/cli@3.129.0, tag commit 7067f7164642 \u2014 the preserved latest-v3 distribution, D6b)"
16066
+ mechanism: "npm dist-tag latest -> 3.130.0 and redeploy the Hub Lambda from tag v3.130.0 (4092383c82be); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
16067
+ v3Target: "v3.130.0 (@mutmutco/cli@3.130.0, tag commit 4092383c82be \u2014 the preserved latest-v3 distribution, D6b)"
16068
16068
  }
16069
16069
  },
16070
16070
  {
@@ -16253,7 +16253,7 @@ function formatTrainStatus(r) {
16253
16253
  "",
16254
16254
  `release track: ${r.releaseTrack} \u2014 stages: ${r.branches.join(" -> ")}`,
16255
16255
  `cli version: ${r.cliVersion}${r.repoVersion ? ` (repo: ${r.repoVersion})` : ""}${r.releasedVersion ? ` (released: ${r.releasedVersion})` : ""}`,
16256
- `release bump intent: ${r.bumpIntent ?? "not declared \u2014 set MMI_BUMP_INTENT=major|minor|patch before an ordinary train"}`
16256
+ `release bump intent: ${r.bumpIntent ?? "not declared \u2014 an ordinary train defaults to patch (#4929); set MMI_BUMP_INTENT=major|minor to override"}`
16257
16257
  ];
16258
16258
  if (r.versionLag.ok) {
16259
16259
  lines.push("version lag: none \u2014 CLI is current");
@@ -17065,7 +17065,7 @@ async function runIssueViewContext(deps, opts) {
17065
17065
  }
17066
17066
  async function runPrViewContext(deps, opts) {
17067
17067
  let fields = opts.jsonFields;
17068
- if (opts.comments || opts.context) fields = ensureField(fields, "comments");
17068
+ if (opts.comments || opts.context) fields = ensureField(ensureField(fields, "body"), "comments");
17069
17069
  if (opts.context) fields = ensureField(fields, "closingIssuesReferences");
17070
17070
  const base = await deps.ghJson(["pr", "view", String(opts.number), "--repo", opts.repo, "--json", fields], GH_LIST_TIMEOUT_MS);
17071
17071
  if (!opts.context) return base;
@@ -20417,21 +20417,7 @@ async function resolveTrainBumpIntent(deps, env = process.env) {
20417
20417
  }
20418
20418
  return explicit.major > latest.major ? "major" : explicit.minor > latest.minor ? "minor" : "patch";
20419
20419
  }
20420
- try {
20421
- return requireValue(
20422
- clean2(await deps.run("node", ["scripts/next-version.mjs", "intent"])),
20423
- "release bump intent"
20424
- );
20425
- } catch (e) {
20426
- const message = e instanceof Error ? e.message : String(e);
20427
- const usage = /usage: next-version\.mjs <([^>]+)>/.exec(message);
20428
- if (usage && !usage[1].split("|").includes("intent")) {
20429
- throw new Error(
20430
- `release bump intent: this repo's seeded scripts/next-version.mjs predates the \`intent\` verb (its usage lists <${usage[1]}>), so unset-intent derivation cannot run here. Declare the intent explicitly and rerun \u2014 MMI_BUMP_INTENT=major|minor|patch (or MMI_RELEASE_VERSION=X.Y.Z for an exact target); the train then resolves it in the CLI without shelling this script. The durable fix is refreshing the seeded script from the Hub via seed propagation.`
20431
- );
20432
- }
20433
- throw e;
20434
- }
20420
+ return "patch";
20435
20421
  }
20436
20422
  async function runTrainApply(command, deps, options = {}) {
20437
20423
  const watch = options.watch ?? false;
@@ -36161,12 +36147,8 @@ var LOOP_PLAYBOOKS = {
36161
36147
  ]
36162
36148
  }
36163
36149
  };
36164
- function formatExplainCommand(cmd, rootName) {
36150
+ function formatOwnDetail(cmd) {
36165
36151
  const lines = [];
36166
- if (cmd.description) {
36167
- lines.push(cmd.description);
36168
- lines.push("");
36169
- }
36170
36152
  const args = cmd.arguments;
36171
36153
  if (args.length) {
36172
36154
  lines.push("Arguments:");
@@ -36177,10 +36159,10 @@ function formatExplainCommand(cmd, rootName) {
36177
36159
  }
36178
36160
  lines.push("");
36179
36161
  }
36180
- if (cmd.options.length) {
36162
+ const ownOptions = cmd.options.filter((opt) => opt.flags !== "--help" && opt.flags !== "-V, --version");
36163
+ if (ownOptions.length) {
36181
36164
  lines.push("Options:");
36182
- for (const opt of cmd.options) {
36183
- if (opt.flags === "--help" || opt.flags === "-V, --version") continue;
36165
+ for (const opt of ownOptions) {
36184
36166
  const tags = [];
36185
36167
  if (opt.mandatory) tags.push("required");
36186
36168
  if (opt.default !== void 0) tags.push(`default: ${JSON.stringify(opt.default)}`);
@@ -36205,6 +36187,15 @@ function formatExplainCommand(cmd, rootName) {
36205
36187
  }
36206
36188
  lines.push("");
36207
36189
  }
36190
+ return lines;
36191
+ }
36192
+ function formatExplainCommand(cmd, rootName) {
36193
+ const lines = [];
36194
+ if (cmd.description) {
36195
+ lines.push(cmd.description);
36196
+ lines.push("");
36197
+ }
36198
+ lines.push(...formatOwnDetail(cmd));
36208
36199
  return lines.join("\n").trimEnd();
36209
36200
  }
36210
36201
  function formatExplainGroup(cmd, rootName) {
@@ -36212,9 +36203,10 @@ function formatExplainGroup(cmd, rootName) {
36212
36203
  const lines = [
36213
36204
  `${rootName} ${canonical(cmd)}${cmd.description ? ` \u2014 ${cmd.description}` : ""}`,
36214
36205
  `Category: ${cmd.category} \xB7 Discovery: ${cmd.discovery}`,
36215
- "",
36216
- "Commands:"
36206
+ ""
36217
36207
  ];
36208
+ lines.push(...formatOwnDetail(cmd));
36209
+ lines.push("Commands:");
36218
36210
  for (const child2 of cmd.subcommands) {
36219
36211
  const args = child2.arguments.map((arg) => {
36220
36212
  const name = arg.variadic ? `${arg.name}...` : arg.name;
@@ -43735,6 +43727,23 @@ installProcessBackstop();
43735
43727
  consolidateCommandNamespaces(program2);
43736
43728
  registerOrgHealthQuery(program2);
43737
43729
  applyCommandTaxonomy(program2);
43730
+ function registeredPathPrefix(path2) {
43731
+ const tokens2 = path2.split(" ");
43732
+ let node = program2;
43733
+ let depth = 0;
43734
+ while (depth < tokens2.length) {
43735
+ const next = node.commands.find((c) => c.name() === tokens2[depth]);
43736
+ if (!next) break;
43737
+ node = next;
43738
+ depth += 1;
43739
+ }
43740
+ return tokens2.slice(0, Math.max(depth, 1)).join(" ");
43741
+ }
43742
+ function recoveryPointerFor(path2) {
43743
+ const runnable = registeredPathPrefix(path2);
43744
+ if (runnable === path2) return `run: mmi-cli ${canonicalPathFor(runnable)} \u2026`;
43745
+ return `'${path2}' is not a registered command \u2014 run \`mmi-cli ${canonicalPathFor(runnable)} --help\` for what lives under it`;
43746
+ }
43738
43747
  function resolveHouseShim(argv) {
43739
43748
  const houseToken = argv[2];
43740
43749
  if (!houseToken) return;
@@ -43744,7 +43753,7 @@ function resolveHouseShim(argv) {
43744
43753
  const flatHouse = houseForPath(flatPath);
43745
43754
  if (!flatHouse || flatHouse === "core") return;
43746
43755
  process.stderr.write(
43747
- `mmi-cli: the flat '${flatPath}' alias was removed in ${COMPAT_SHIM_DEATH_WAVE} (#4316) \u2014 run: mmi-cli ${canonicalPathFor(flatPath)} \u2026
43756
+ `mmi-cli: the flat '${flatPath}' alias was removed in ${COMPAT_SHIM_DEATH_WAVE} (#4316) \u2014 ${recoveryPointerFor(flatPath)}
43748
43757
  `
43749
43758
  );
43750
43759
  hardExit(2);
@@ -43768,7 +43777,7 @@ function resolveHouseShim(argv) {
43768
43777
  }
43769
43778
  if (actual) {
43770
43779
  process.stderr.write(
43771
- `mmi-cli ${houseToken}: '${lookupPath}' lives in house '${actual}' \u2014 run: mmi-cli ${canonicalPathFor(lookupPath)} \u2026
43780
+ `mmi-cli ${houseToken}: '${lookupPath}' lives in house '${actual}' \u2014 ${recoveryPointerFor(lookupPath)}
43772
43781
  `
43773
43782
  );
43774
43783
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "3.129.0",
3
+ "version": "3.130.0",
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",