@mutmutco/cli 3.134.0 → 3.135.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 +39 -15
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -5313,9 +5313,10 @@ function resolveActiveWorkspaceRoot(deps = {}) {
|
|
|
5313
5313
|
var import_node_path8 = require("node:path");
|
|
5314
5314
|
function win32LongPath(p, platform2 = process.platform) {
|
|
5315
5315
|
if (platform2 !== "win32") return p;
|
|
5316
|
-
|
|
5317
|
-
if (
|
|
5318
|
-
return
|
|
5316
|
+
const normalized = p.replace(/\//g, "\\");
|
|
5317
|
+
if (normalized.startsWith("\\\\?\\")) return normalized;
|
|
5318
|
+
if (normalized.startsWith("\\\\")) return `\\\\?\\UNC\\${normalized.slice(2)}`;
|
|
5319
|
+
return `\\\\?\\${normalized}`;
|
|
5319
5320
|
}
|
|
5320
5321
|
function normalizeGithubRemote(url) {
|
|
5321
5322
|
const raw = url.trim();
|
|
@@ -14199,10 +14200,10 @@ var rollout_plan_default = {
|
|
|
14199
14200
|
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)."
|
|
14200
14201
|
},
|
|
14201
14202
|
baseline: {
|
|
14202
|
-
version: "3.
|
|
14203
|
-
tag: "v3.
|
|
14204
|
-
commit: "
|
|
14205
|
-
npm: "@mutmutco/cli@3.
|
|
14203
|
+
version: "3.135.0",
|
|
14204
|
+
tag: "v3.135.0",
|
|
14205
|
+
commit: "3d9fbd6f4628",
|
|
14206
|
+
npm: "@mutmutco/cli@3.135.0"
|
|
14206
14207
|
},
|
|
14207
14208
|
exitCriterion: "fleet-n-of-n",
|
|
14208
14209
|
hubOnlyShortcut: "forbidden",
|
|
@@ -14219,14 +14220,14 @@ var rollout_plan_default = {
|
|
|
14219
14220
|
repo: "mutmutco/mmi-hub",
|
|
14220
14221
|
role: "canary",
|
|
14221
14222
|
schedule: "train",
|
|
14222
|
-
v3Target: "v3.
|
|
14223
|
+
v3Target: "v3.135.0"
|
|
14223
14224
|
}
|
|
14224
14225
|
],
|
|
14225
14226
|
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.",
|
|
14226
14227
|
rollback: {
|
|
14227
14228
|
independent: true,
|
|
14228
|
-
mechanism: "npm dist-tag latest -> 3.
|
|
14229
|
-
v3Target: "v3.
|
|
14229
|
+
mechanism: "npm dist-tag latest -> 3.135.0 and redeploy the Hub Lambda from tag v3.135.0 (3d9fbd6f4628); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
|
|
14230
|
+
v3Target: "v3.135.0 (@mutmutco/cli@3.135.0, tag commit 3d9fbd6f4628 \u2014 the preserved latest-v3 distribution, D6b)"
|
|
14230
14231
|
}
|
|
14231
14232
|
},
|
|
14232
14233
|
{
|
|
@@ -40938,23 +40939,46 @@ pr.command("land <number>").description("agent merge path (#1440): train probe \
|
|
|
40938
40939
|
if (trimmed) {
|
|
40939
40940
|
try {
|
|
40940
40941
|
result.cleanup = JSON.parse(trimmed);
|
|
40941
|
-
const
|
|
40942
|
-
|
|
40942
|
+
const childCleanup = result.cleanup;
|
|
40943
|
+
result.cleanupStatus = childCleanup.cleanupStatus === "clean" ? "clean" : "deferred";
|
|
40944
|
+
if (childCleanup.worktree?.status === "deferred" || childCleanup.worktree?.status === "failed") spawnDeferredGcSweep();
|
|
40943
40945
|
} catch {
|
|
40944
40946
|
result.cleanupError = "cleanup output was not JSON";
|
|
40947
|
+
result.cleanupStatus = "deferred";
|
|
40945
40948
|
}
|
|
40946
40949
|
}
|
|
40947
40950
|
} catch (e) {
|
|
40948
|
-
|
|
40951
|
+
const err = e;
|
|
40952
|
+
const childStdout = (err.stdout ?? "").trim();
|
|
40953
|
+
const childStderr = (err.stderr ?? "").trim().split("\n")[0];
|
|
40954
|
+
let parsed;
|
|
40955
|
+
try {
|
|
40956
|
+
parsed = childStdout ? JSON.parse(childStdout) : void 0;
|
|
40957
|
+
} catch {
|
|
40958
|
+
parsed = void 0;
|
|
40959
|
+
}
|
|
40960
|
+
if (parsed && typeof parsed === "object") {
|
|
40961
|
+
result.cleanup = parsed;
|
|
40962
|
+
const wt = parsed.worktree;
|
|
40963
|
+
if (wt?.status === "deferred" || wt?.status === "failed") spawnDeferredGcSweep();
|
|
40964
|
+
result.cleanupError = childStderr || "post-merge cleanup did not complete";
|
|
40965
|
+
} else {
|
|
40966
|
+
result.cleanupError = childStderr || String(err.message || "pr merge cleanup failed");
|
|
40967
|
+
spawnDeferredGcSweep();
|
|
40968
|
+
}
|
|
40969
|
+
result.cleanupStatus = "deferred";
|
|
40949
40970
|
}
|
|
40950
40971
|
}
|
|
40951
40972
|
if (o.json) printLine(JSON.stringify(result));
|
|
40952
40973
|
else {
|
|
40953
40974
|
printLine(`pr land: ${result.status}${result.error ? ` \u2014 ${result.error}` : ""}`);
|
|
40954
40975
|
for (const line of renderPrLandCleanupLines(result.cleanup)) printLine(line);
|
|
40955
|
-
if (result.cleanupError)
|
|
40976
|
+
if (result.cleanupError) {
|
|
40977
|
+
printLine(`pr land: ${result.status} \u2014 post-merge cleanup DEFERRED (${result.cleanupError})`);
|
|
40978
|
+
printLine(`pr land: sweep the deferred cleanup with: mmi-cli worktree gc sweep-deferred`);
|
|
40979
|
+
}
|
|
40956
40980
|
}
|
|
40957
|
-
if (result.status === "failed"
|
|
40981
|
+
if (result.status === "failed") process.exitCode = 1;
|
|
40958
40982
|
});
|
|
40959
40983
|
jsonParity(pr.command("merge <number>").description("merge a PR (squash by default) and clean up its branch + worktree \u2014 no leftover local branch; on no-ci repos run pr ci-policy / checks-wait first (#1432)").option("--squash", "squash merge (default)").option("--merge", "create a merge commit").option("--rebase", "rebase merge").option("--repo <owner/repo>", "target repo (defaults to the current repo)").option("--auto", "enable auto-merge \u2014 merge once the base-branch policy is satisfied (use for policy-gated repos)").option("--wait", `wait for checks to reach a terminal passing verdict before merging (default budget ${PR_CHECKS_TIMEOUT_MS / 6e4}m)`).option("--preserve-worktree", "keep the local PR worktree/stage/branch for an active multi-issue batch (#1888)").option("--force", "acknowledge and merge past a remaining prunable/severe scratch housekeeping block (advisory kept plans/ never blocks, #3012) or a negated-closing-keyword (#3718) or ambiguous-cross-repo-closing (#4279) refusal")).action(async (number, o) => {
|
|
40960
40984
|
const method = o.rebase ? "--rebase" : o.merge ? "--merge" : "--squash";
|
package/package.json
CHANGED