@mutmutco/cli 3.118.0 → 3.119.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 +20 -14
  2. package/package.json +2 -2
package/dist/main.cjs CHANGED
@@ -15820,10 +15820,10 @@ var rollout_plan_default = {
15820
15820
  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)."
15821
15821
  },
15822
15822
  baseline: {
15823
- version: "3.118.0",
15824
- tag: "v3.118.0",
15825
- commit: "4f9600d3bf89",
15826
- npm: "@mutmutco/cli@3.118.0"
15823
+ version: "3.119.0",
15824
+ tag: "v3.119.0",
15825
+ commit: "32fef9b214ee",
15826
+ npm: "@mutmutco/cli@3.119.0"
15827
15827
  },
15828
15828
  exitCriterion: "fleet-n-of-n",
15829
15829
  hubOnlyShortcut: "forbidden",
@@ -15840,14 +15840,14 @@ var rollout_plan_default = {
15840
15840
  repo: "mutmutco/mmi-hub",
15841
15841
  role: "canary",
15842
15842
  schedule: "train",
15843
- v3Target: "v3.118.0"
15843
+ v3Target: "v3.119.0"
15844
15844
  }
15845
15845
  ],
15846
15846
  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.",
15847
15847
  rollback: {
15848
15848
  independent: true,
15849
- mechanism: "npm dist-tag latest -> 3.118.0 and redeploy the Hub Lambda from tag v3.118.0 (4f9600d3bf89); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
15850
- v3Target: "v3.118.0 (@mutmutco/cli@3.118.0, tag commit 4f9600d3bf89 \u2014 the preserved latest-v3 distribution, D6b)"
15849
+ mechanism: "npm dist-tag latest -> 3.119.0 and redeploy the Hub Lambda from tag v3.119.0 (32fef9b214ee); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
15850
+ v3Target: "v3.119.0 (@mutmutco/cli@3.119.0, tag commit 32fef9b214ee \u2014 the preserved latest-v3 distribution, D6b)"
15851
15851
  }
15852
15852
  },
15853
15853
  {
@@ -24657,6 +24657,7 @@ function buildCommand(cmd, path2) {
24657
24657
  path: path2,
24658
24658
  ...aliases.length ? { aliases: [...aliases] } : {},
24659
24659
  house,
24660
+ canonical: canonicalPathFor(path2) ?? path2,
24660
24661
  arguments: cmd.registeredArguments.map(buildArgument),
24661
24662
  // A hand-parsed command registers no Commander options, so its declared set is merged in (#3682).
24662
24663
  options: [...cmd.options.map(buildOption), ...readDeclaredOptions(cmd)],
@@ -32881,7 +32882,7 @@ var defaultLeaseCloseExec = (_cmd, args) => execJervCli(args, { timeout: GIT_TIM
32881
32882
  async function bestEffortLeaseClose(wtPath, exec = defaultLeaseCloseExec) {
32882
32883
  const step = "close jerv worktree lease";
32883
32884
  try {
32884
- await exec("jerv-cli", ["lease", "close", "--ref", wtPath]);
32885
+ await exec("jerv-cli", ["cli", "lease", "close", "--ref", wtPath]);
32885
32886
  return { step, status: "done" };
32886
32887
  } catch (e) {
32887
32888
  const err = e;
@@ -35787,8 +35788,9 @@ function formatExplainCommand(cmd, rootName) {
35787
35788
  return lines.join("\n").trimEnd();
35788
35789
  }
35789
35790
  function formatExplainGroup(cmd, rootName) {
35791
+ const canonical = (node) => canonicalPathFor(node.path) ?? node.path;
35790
35792
  const lines = [
35791
- `${rootName} ${cmd.path}${cmd.description ? ` \u2014 ${cmd.description}` : ""}`,
35793
+ `${rootName} ${canonical(cmd)}${cmd.description ? ` \u2014 ${cmd.description}` : ""}`,
35792
35794
  `Category: ${cmd.category} \xB7 Discovery: ${cmd.discovery}`,
35793
35795
  "",
35794
35796
  "Commands:"
@@ -35798,7 +35800,7 @@ function formatExplainGroup(cmd, rootName) {
35798
35800
  const name = arg.variadic ? `${arg.name}...` : arg.name;
35799
35801
  return arg.required ? `<${name}>` : `[${name}]`;
35800
35802
  }).join(" ");
35801
- lines.push(` ${child2.path}${args ? ` ${args}` : ""}${child2.description ? ` \u2014 ${child2.description}` : ""}`);
35803
+ lines.push(` ${canonical(child2)}${args ? ` ${args}` : ""}${child2.description ? ` \u2014 ${child2.description}` : ""}`);
35802
35804
  }
35803
35805
  return lines.join("\n");
35804
35806
  }
@@ -35812,7 +35814,7 @@ function formatExplainLoop(playbook) {
35812
35814
  }
35813
35815
  function findCommandInManifest(manifest, commandPath3) {
35814
35816
  const visit = (command) => {
35815
- if (command.path === commandPath3) return command;
35817
+ if (command.path === commandPath3 || canonicalPathFor(command.path) === commandPath3) return command;
35816
35818
  for (const child2 of command.subcommands) {
35817
35819
  const found = visit(child2);
35818
35820
  if (found) return found;
@@ -39751,12 +39753,15 @@ function positionalTargetForm(cmd, opts = {}) {
39751
39753
  const args = cmd.registeredArguments ?? [];
39752
39754
  const first = args[0];
39753
39755
  if (!first) return void 0;
39754
- return formatPositionalTarget(commandPath2(cmd), first.name(), opts);
39756
+ return formatPositionalTarget(canonicalPathFor(commandPath2(cmd)) ?? commandPath2(cmd), first.name(), opts);
39755
39757
  }
39756
39758
  function resolveParseHint() {
39757
39759
  if (lastParseErrorKind === "unknown-command") {
39758
- const path3 = lastUnknownCommand ? suggestCommandPath(lastUnknownCommand, allCommandPaths()) : void 0;
39759
- return path3 ? `(did you mean \`mmi-cli ${path3}\`? ${DISCOVERY_HINT})` : STALE_HINT;
39760
+ const parent = resolveCommandFromArgv(program2, process.argv.slice(2));
39761
+ const candidates = parent && parent.commands.length ? parent.commands.filter((child2) => commandMetadata(child2)?.category !== "internal").map(commandPath2) : allCommandPaths();
39762
+ const path3 = lastUnknownCommand ? suggestCommandPath(lastUnknownCommand, candidates) : void 0;
39763
+ const canonical = path3 ? canonicalPathFor(path3) ?? path3 : void 0;
39764
+ return canonical ? `(did you mean \`mmi-cli ${canonical}\`? ${DISCOVERY_HINT})` : STALE_HINT;
39760
39765
  }
39761
39766
  if (lastParseErrorKind !== "bad-arguments") return STALE_HINT;
39762
39767
  const cmd = resolveCommandFromArgv(program2, process.argv.slice(2));
@@ -40330,6 +40335,7 @@ withExamples(mutating(
40330
40335
  let lease;
40331
40336
  try {
40332
40337
  await execJervCli([
40338
+ "cli",
40333
40339
  "lease",
40334
40340
  "open",
40335
40341
  "--kind",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "3.118.0",
3
+ "version": "3.119.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",
@@ -30,7 +30,7 @@
30
30
  "access": "public"
31
31
  },
32
32
  "scripts": {
33
- "build": "node build.mjs",
33
+ "build": "node build.mjs && node ../scripts/refresh-distribution-bom.mjs",
34
34
  "test": "vitest run",
35
35
  "typecheck": "tsc --noEmit"
36
36
  },