@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.
- package/dist/main.cjs +15 -8
- 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.
|
|
15454
|
-
tag: "v4.3.
|
|
15455
|
-
commit: "
|
|
15456
|
-
npm: "@mutmutco/cli@4.3.
|
|
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.
|
|
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.
|
|
15480
|
-
v3Target: "v4.3.
|
|
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