@mutmutco/cli 4.6.11 → 4.6.13

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.
@@ -363,13 +363,7 @@ async function ghFilingAppEnv(file, args, requireApp = false) {
363
363
  if (!ghWriteTokenProvider || !/(^|[\\/])gh(\.exe)?$/i.test(file) || !requireApp && process.env.MMI_ACTOR?.trim() === "personal") return void 0;
364
364
  if (!isAppFilingWrite(args)) return void 0;
365
365
  const explicitApp = requireApp || process.env.MMI_ACTOR?.trim() === "app";
366
- let token;
367
- try {
368
- token = await ghWriteTokenProvider();
369
- } catch (e) {
370
- if (explicitApp) throw e;
371
- return void 0;
372
- }
366
+ const token = await ghWriteTokenProvider();
373
367
  if (!token && explicitApp) {
374
368
  throw new Error("app actor: filing write token unavailable \u2014 refusing personal-token fallback under MMI_ACTOR=app");
375
369
  }
@@ -461,7 +455,7 @@ var init_cli_shared = __esm({
461
455
  try {
462
456
  return await tag(run(appEnv), "app_installation");
463
457
  } catch (e) {
464
- if (shouldRetryIntegrationRefusalOnAmbient(e)) return tag(run(), ambient);
458
+ if (!reportsCredential && shouldRetryIntegrationRefusalOnAmbient(e)) return tag(run(), ambient);
465
459
  throw e;
466
460
  }
467
461
  };
@@ -8547,6 +8541,36 @@ var DEPLOY_MODEL_SET = new Set(DEPLOY_MODELS);
8547
8541
  var RELEASE_TRACK_SET = new Set(RELEASE_TRACKS);
8548
8542
  var REQUIRED_CHECK_BRANCH_SET = new Set(REQUIRED_CHECK_BRANCHES);
8549
8543
 
8544
+ // src/bootstrap-apply.ts
8545
+ var LEGACY_RC_REUSE_STEP_YAML = String.raw`
8546
+ # #8206: keep a fresh successful tag gate; promote the exact development verdict, not a ref.
8547
+ - name: Reuse development gate for rc tag
8548
+ id: development-gate
8549
+ uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
8550
+ with:
8551
+ script: |
8552
+ core.setOutput('reuse', 'false');
8553
+ if (context.eventName !== 'push' || !/^refs\/tags\/v.+-rc\.\d+$/.test(context.ref) || !/^[0-9a-f]{40}$/.test(context.sha)) return;
8554
+ try {
8555
+ const { data: current } = await github.rest.actions.getWorkflowRun({ ...context.repo, run_id: context.runId });
8556
+ const { data } = await github.rest.actions.listWorkflowRuns({
8557
+ ...context.repo, workflow_id: current.workflow_id, branch: 'development',
8558
+ event: 'push', head_sha: context.sha, per_page: 100
8559
+ });
8560
+ // API returns newest first: a newer red/pending rerun must not reuse an older green.
8561
+ const run = data.workflow_runs[0];
8562
+ if (!run || run.head_sha !== context.sha || run.head_branch !== 'development' ||
8563
+ run.event !== 'push' || run.status !== 'completed' || run.conclusion !== 'success') return;
8564
+ const jobs = await github.paginate(github.rest.actions.listJobsForWorkflowRun, {
8565
+ ...context.repo, run_id: run.id, filter: 'latest', per_page: 100
8566
+ });
8567
+ if (!jobs.some(job => job.name === 'gate' && job.status === 'completed' && job.conclusion === 'success')) return;
8568
+ core.setOutput('reuse', 'true');
8569
+ core.info('Reusing successful development gate run ' + run.id + ' for exact SHA ' + context.sha);
8570
+ } catch (error) {
8571
+ core.warning('Development gate proof unavailable; running normal gate: ' + error.message);
8572
+ }`;
8573
+
8550
8574
  // src/train-apply-contracts.ts
8551
8575
  function isCentralDispatchModel(model) {
8552
8576
  return model === "tenant-container" || model === "solo-container" || model === "static-cdn";
@@ -8561,6 +8585,16 @@ init_github_quota();
8561
8585
 
8562
8586
  // src/fleet-lockstep-enforce.ts
8563
8587
  init_github_client();
8588
+
8589
+ // src/registry-repositories.ts
8590
+ function qualifyRegistryRepo(raw) {
8591
+ return raw.includes("/") ? raw : `mutmutco/${raw}`;
8592
+ }
8593
+ function registryRepoKey(repo) {
8594
+ return repo.toLowerCase();
8595
+ }
8596
+
8597
+ // src/fleet-lockstep-enforce.ts
8564
8598
  init_clean_exit();
8565
8599
  init_cli_shared();
8566
8600
 
@@ -13176,14 +13210,6 @@ function message(e) {
13176
13210
  return e instanceof Error ? e.message : String(e);
13177
13211
  }
13178
13212
 
13179
- // src/registry-repositories.ts
13180
- function qualifyRegistryRepo(raw) {
13181
- return raw.includes("/") ? raw : `mutmutco/${raw}`;
13182
- }
13183
- function registryRepoKey(repo) {
13184
- return repo.toLowerCase();
13185
- }
13186
-
13187
13213
  // src/ci-audit.ts
13188
13214
  var import_yaml2 = __toESM(require_dist(), 1);
13189
13215
  var HUB_REPO4 = "mutmutco/MMI-Hub";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "4.6.11",
3
+ "version": "4.6.13",
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",