@mutmutco/cli 3.55.0 → 3.56.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 +1 -54
  2. package/package.json +1 -1
package/dist/main.cjs CHANGED
@@ -24401,34 +24401,7 @@ async function runDoctorClean(opts, io, deps) {
24401
24401
  const cli = checkCliVersion(cliInput, releasedNote);
24402
24402
  if (cli) checks.push(cli);
24403
24403
  }
24404
- const cacheProbe = deps.pluginCache();
24405
- const cacheStale = cacheProbe.stale.length > 0 || cacheProbe.staging.length > 0;
24406
- if (applyEnv && deps.prunePluginCache && cacheStale) {
24407
- const pruned = await deps.prunePluginCache();
24408
- const removed = pruned.removed ?? [];
24409
- const pruneEvidence = [
24410
- `cached versions: ${cacheProbe.cached}`,
24411
- `stale: ${cacheProbe.stale.length ? cacheProbe.stale.join(", ") : "(none)"}`,
24412
- `orphaned staging dirs: ${cacheProbe.staging.length ? cacheProbe.staging.join(", ") : "(none)"}`,
24413
- `prune: ${pruned.detail}`,
24414
- ...removed.map((r) => `removed: ${r}`)
24415
- ];
24416
- checks.push(pruned.ok ? {
24417
- ok: true,
24418
- label: "plugin cache",
24419
- detail: removed.length ? `pruned ${removed.length} stale entr${removed.length === 1 ? "y" : "ies"}` : "nothing to prune",
24420
- verbose: pruneEvidence
24421
- } : {
24422
- ok: false,
24423
- label: "plugin cache",
24424
- // Same split as the other env heals (#3489): a contention skip is not this run's gap.
24425
- ...pruned.skipped ? { reportOnly: true } : {},
24426
- fix: pruned.skipped ? `${pruned.detail} \u2014 another doctor on this machine is pruning it now; re-run once it finishes` : `prune failed (${pruned.detail}) \u2014 run \`mmi-cli plugin prune --apply\``,
24427
- verbose: pruneEvidence
24428
- });
24429
- } else {
24430
- checks.push(checkPluginCache(cacheProbe));
24431
- }
24404
+ checks.push(checkPluginCache(deps.pluginCache()));
24432
24405
  if (deps.sessionPayload) {
24433
24406
  const payload = checkSessionPayload(deps.sessionPayload());
24434
24407
  if (payload) checks.push(payload);
@@ -24847,32 +24820,6 @@ function mmiDoctorDeps(opts = {}) {
24847
24820
  stagingBytes: plan.stagingBytes
24848
24821
  };
24849
24822
  },
24850
- // #3485 wave 2 item 11: the --apply reap, through the SAME plan + reaper `plugin prune --apply` drives.
24851
- // The plan's own keep-policy refuses the running and newest versions, so this cannot delete what is
24852
- // loaded. Under the #3489 env-heal lock: deleting cache dirs while another doctor is mid-reinstall is
24853
- // the same machine-global hazard the lock exists for.
24854
- prunePluginCache: () => withEnvHealLock("plugin cache prune", async () => {
24855
- const plan = buildPluginCachePlan(
24856
- (0, import_node_os9.homedir)(),
24857
- runningPluginVersion(process.env, resolveClientVersion()),
24858
- pluginCacheFsDeps((0, import_node_os9.homedir)(), directoryBytes),
24859
- { withBytes: true }
24860
- );
24861
- const result = applyPluginCachePlan(
24862
- plan,
24863
- (p) => (0, import_node_fs32.rmSync)(p, { recursive: true, force: true }),
24864
- stagingApplyFsGuard((0, import_node_os9.homedir)())
24865
- );
24866
- const removed = [...result.removed, ...result.removedStaging ?? []];
24867
- if (result.failed.length) {
24868
- return {
24869
- ok: false,
24870
- removed,
24871
- detail: `${removed.length} removed, ${result.failed.length} failed \u2014 ${result.failed.map((f) => `${f.version}: ${f.error}`).join("; ")}`
24872
- };
24873
- }
24874
- return { ok: true, removed, detail: removed.length ? `removed ${removed.join(", ")}` : "nothing to prune" };
24875
- }),
24876
24823
  // #3008: the schedules-notebook drift probe, compacted for the check. Full doctor only — the gather in
24877
24824
  // runDoctorClean skips this dep entirely on fast/banner/preflight runs.
24878
24825
  schedulesNotebook: async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "3.55.0",
3
+ "version": "3.56.0",
4
4
  "description": "MMI Future CLI — the org dev toolbox (board, registry, keyless secrets, release train, bootstrap, doctor) and the cross-IDE engine the plugin's session-start hook drives.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",