@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.
- package/dist/main.cjs +45 -36
- 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.
|
|
16041
|
-
tag: "v3.
|
|
16042
|
-
commit: "
|
|
16043
|
-
npm: "@mutmutco/cli@3.
|
|
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.
|
|
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.
|
|
16067
|
-
v3Target: "v3.
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
43780
|
+
`mmi-cli ${houseToken}: '${lookupPath}' lives in house '${actual}' \u2014 ${recoveryPointerFor(lookupPath)}
|
|
43772
43781
|
`
|
|
43773
43782
|
);
|
|
43774
43783
|
} else {
|
package/package.json
CHANGED