@mutmutco/cli 4.3.9 → 4.3.10

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 +15 -8
  2. package/package.json +1 -1
package/dist/main.cjs CHANGED
@@ -15450,10 +15450,10 @@ var rollout_plan_default = {
15450
15450
  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)."
15451
15451
  },
15452
15452
  baseline: {
15453
- version: "4.3.9",
15454
- tag: "v4.3.9",
15455
- commit: "64fc1be95e37",
15456
- npm: "@mutmutco/cli@4.3.9"
15453
+ version: "4.3.10",
15454
+ tag: "v4.3.10",
15455
+ commit: "6fe2720dc6ef",
15456
+ npm: "@mutmutco/cli@4.3.10"
15457
15457
  },
15458
15458
  exitCriterion: "fleet-n-of-n",
15459
15459
  hubOnlyShortcut: "forbidden",
@@ -15470,14 +15470,14 @@ var rollout_plan_default = {
15470
15470
  repo: "mutmutco/mmi-hub",
15471
15471
  role: "canary",
15472
15472
  schedule: "train",
15473
- v3Target: "v4.3.9"
15473
+ v3Target: "v4.3.10"
15474
15474
  }
15475
15475
  ],
15476
15476
  rollbackTrigger: "Any red inside the post-contract soak window: `devops train gate` FAIL attributable to the v4 doors, Hub endpoint health probe failure, a pre-v4 client admitted instead of receiving actionable HTTP 426, or npm consumer install/doctor failure on the v4-only dist.",
15477
15477
  rollback: {
15478
15478
  independent: true,
15479
- mechanism: "npm dist-tag latest -> 4.3.9 and redeploy the Hub Lambda from tag v4.3.9 (64fc1be95e37); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
15480
- v3Target: "v4.3.9 (@mutmutco/cli@4.3.9, tag commit 64fc1be95e37 \u2014 last known-good release carrying the repo-index v4-only contract)"
15479
+ mechanism: "npm dist-tag latest -> 4.3.10 and redeploy the Hub Lambda from tag v4.3.10 (6fe2720dc6ef); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
15480
+ v3Target: "v4.3.10 (@mutmutco/cli@4.3.10, tag commit 6fe2720dc6ef \u2014 last known-good release carrying the repo-index v4-only contract)"
15481
15481
  }
15482
15482
  },
15483
15483
  {
@@ -21139,6 +21139,11 @@ async function probeRegistryWhoami(train) {
21139
21139
  (0, import_node_fs23.rmSync)(dir, { recursive: true, force: true });
21140
21140
  }
21141
21141
  }
21142
+ var REGISTRY_TOKEN_ENV = /\b(NODE_AUTH_TOKEN|NPM_TOKEN)\b/;
21143
+ function publishesViaTrustedPublisher(workflows) {
21144
+ if (!workflows?.length) return false;
21145
+ return workflows.some((f) => /\bid-token:\s*write\b/.test(f.body)) && !workflows.some((f) => REGISTRY_TOKEN_ENV.test(f.body));
21146
+ }
21142
21147
  var defaultDeps2 = {
21143
21148
  cliVersion: resolveClientVersion,
21144
21149
  fetchReleasedVersion: fetchNpmReleasedVersion,
@@ -21443,7 +21448,9 @@ async function runTrainDoctor(input) {
21443
21448
  }
21444
21449
  if (/"publishVisibility"\s*:\s*"private"/.test(deps.readSurfacesRaw(cwd) ?? "")) {
21445
21450
  const probe = await deps.registryWhoami(train);
21446
- if (probe.kind === "rejected") {
21451
+ if (probe.kind === "rejected" && publishesViaTrustedPublisher(workflows)) {
21452
+ add({ code: "npm-token-rejected", severity: "info", source: "origin", title: `the vault npm token (_org npm/NPM_TOKEN) is REJECTED by registry.npmjs.org \u2014 ${probe.detail}; no lane of this repo consumes it (its workflows publish through OIDC Trusted Publishing and name no registry token)`, remedy: "nothing on the release path. It affects only a manual `npm view` of a restricted package made through the `_org` hop, which 404s exactly like an absent one until the token is rotated (`mmi-cli vault secrets set npm/NPM_TOKEN --slug _org`). If this repo verifies through a different vault entry, this row does not describe that hop (#6187)" });
21453
+ } else if (probe.kind === "rejected") {
21447
21454
  add({ code: "npm-token-rejected", severity: "warning", source: "origin", title: `the vault npm token (_org npm/NPM_TOKEN) is REJECTED by registry.npmjs.org \u2014 ${probe.detail}; every authenticated \`npm view\` of a restricted package will 404 exactly like an absent one`, remedy: 'rotate the org token: mint a fresh npm automation token, store it with `mmi-cli vault secrets set npm/NPM_TOKEN --slug _org` (master or an exact grant), and rerun. Until whoami answers a login, a restricted-package 404 proves nothing \u2014 never read it as "not published" (#6184)' });
21448
21455
  } else if (probe.kind === "unprobed") {
21449
21456
  add({ code: "npm-token-rejected", severity: "info", source: "origin", title: `the vault npm token was not probed (no _org npm/NPM_TOKEN grant, or a vault error): ${probe.detail}`, remedy: "nothing here \u2014 the release does not depend on it (CI publishes through OIDC Trusted Publishing). Before verifying a private publish by hand, run the whoami probe from an account holding the `_org` npm/NPM_TOKEN grant" });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "4.3.9",
3
+ "version": "4.3.10",
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",