@mutmutco/cli 4.5.201 → 4.5.203

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 +59 -17
  2. package/package.json +1 -1
package/dist/main.cjs CHANGED
@@ -1595,7 +1595,6 @@ __export(index_exports, {
1595
1595
  argvWantsJson: () => argvWantsJson3,
1596
1596
  awsCallerArn: () => awsCallerArn,
1597
1597
  ciAuditDeps: () => ciAuditDeps2,
1598
- classifyParseError: () => classifyParseError,
1599
1598
  commandOwnLongFlags: () => commandOwnLongFlags,
1600
1599
  envHealLockPath: () => envHealLockPath,
1601
1600
  isOrgRegisteredRepo: () => isOrgRegisteredRepo,
@@ -6299,6 +6298,31 @@ function excessArgumentMessage(extra, corrected) {
6299
6298
  const head = `unexpected positional argument ${list} \u2014 this command does not take it`;
6300
6299
  return corrected ? `${head}. Did you mean \`${corrected}\`?` : head;
6301
6300
  }
6301
+ function boardClaimStatusFlagRecovery(flag, canonicalPath, argv) {
6302
+ if (canonicalPath !== "oracle board claim") return void 0;
6303
+ if (flag !== "--status" && !flag.startsWith("--status=")) return void 0;
6304
+ const kept = [];
6305
+ for (let i = 0; i < argv.length; i++) {
6306
+ const tok = argv[i];
6307
+ if (tok.startsWith("--status=")) continue;
6308
+ if (tok === "--status") {
6309
+ if (i + 1 < argv.length && !argv[i + 1].startsWith("-")) i++;
6310
+ continue;
6311
+ }
6312
+ kept.push(tok);
6313
+ }
6314
+ return {
6315
+ message: "unknown option '--status' \u2014 `oracle board claim` automatically sets status to In Progress; retry without --status and its value",
6316
+ corrected: `mmi-cli ${kept.join(" ")}`
6317
+ };
6318
+ }
6319
+ function classifyParseError(plain) {
6320
+ if (/unknown command/i.test(plain)) return "unknown-command";
6321
+ if (/unknown option|missing required argument|too many arguments|argument missing|is invalid\. Allowed choices are|cannot be used with/i.test(plain)) {
6322
+ return "bad-arguments";
6323
+ }
6324
+ return "other";
6325
+ }
6302
6326
 
6303
6327
  // src/released-version-cache.ts
6304
6328
  var import_node_fs10 = require("node:fs");
@@ -14180,6 +14204,12 @@ function evaluateClaim(item, login) {
14180
14204
  }
14181
14205
  if (others.length) return { ok: false, reason: `${item.ref} is already assigned to @${others.join(", @")}` };
14182
14206
  if (item.status === "In Progress" && mine) return { ok: true, alreadyClaimed: true };
14207
+ if (item.status === "Done") {
14208
+ return {
14209
+ ok: false,
14210
+ reason: `${item.ref} is not claimable: Status is Done \u2014 claim does not reopen terminal cards; skip completed items and pass only open issues (never chain separate claims with &&)`
14211
+ };
14212
+ }
14183
14213
  if (item.status !== "Todo" && item.status !== "In Progress" && item.status !== "In Review") {
14184
14214
  return { ok: false, reason: `${item.ref} is not claimable: Status is ${item.status}` };
14185
14215
  }
@@ -19279,10 +19309,10 @@ var rollout_plan_default = {
19279
19309
  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)."
19280
19310
  },
19281
19311
  baseline: {
19282
- version: "4.5.201",
19283
- tag: "v4.5.201",
19284
- commit: "bd1c969606c6",
19285
- npm: "@mutmutco/cli@4.5.201"
19312
+ version: "4.5.203",
19313
+ tag: "v4.5.203",
19314
+ commit: "de3cb25fda6a",
19315
+ npm: "@mutmutco/cli@4.5.203"
19286
19316
  },
19287
19317
  exitCriterion: "fleet-n-of-n",
19288
19318
  hubOnlyShortcut: "forbidden",
@@ -19299,14 +19329,14 @@ var rollout_plan_default = {
19299
19329
  repo: "mutmutco/mmi-hub",
19300
19330
  role: "canary",
19301
19331
  schedule: "train",
19302
- v3Target: "v4.5.201"
19332
+ v3Target: "v4.5.203"
19303
19333
  }
19304
19334
  ],
19305
19335
  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.",
19306
19336
  rollback: {
19307
19337
  independent: true,
19308
- mechanism: "npm dist-tag latest -> 4.5.201 and redeploy the Hub Lambda from tag v4.5.201 (bd1c969606c6); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
19309
- v3Target: "v4.5.201 (@mutmutco/cli@4.5.201, tag commit bd1c969606c6 \u2014 last known-good release carrying the repo-index v4-only contract)"
19338
+ mechanism: "npm dist-tag latest -> 4.5.203 and redeploy the Hub Lambda from tag v4.5.203 (de3cb25fda6a); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
19339
+ v3Target: "v4.5.203 (@mutmutco/cli@4.5.203, tag commit de3cb25fda6a \u2014 last known-good release carrying the repo-index v4-only contract)"
19310
19340
  }
19311
19341
  },
19312
19342
  {
@@ -57958,13 +57988,7 @@ var DISCOVERY_HINT = "run `mmi-cli commands` for the agentic-coding map, `mmi-cl
57958
57988
  var STALE_HINT = `(${DISCOVERY_HINT}). If you expected this command to exist, your installed tooling may be stale \u2014 run \`mmi-hub update\`, then retry`;
57959
57989
  var lastParseErrorKind = "other";
57960
57990
  var lastUnknownCommand;
57961
- function classifyParseError(plain) {
57962
- if (/unknown command/i.test(plain)) return "unknown-command";
57963
- if (/unknown option|missing required argument|too many arguments|argument missing|is invalid\. Allowed choices are/i.test(plain)) {
57964
- return "bad-arguments";
57965
- }
57966
- return "other";
57967
- }
57991
+ var lastParseErrorConflict = false;
57968
57992
  function parseInvalidChoiceError(plain) {
57969
57993
  const m = /option '([^']+)' argument '([^']*)' is invalid\. Allowed choices are ([^.]+)\./.exec(plain);
57970
57994
  if (!m) return void 0;
@@ -58045,7 +58069,7 @@ function resolveParseHint() {
58045
58069
  const path2 = canonicalPathFor(commandPath3(cmd));
58046
58070
  return [
58047
58071
  `Usage: mmi-cli ${path2} ${cmd.usage()}`,
58048
- "This command exists and your mmi-cli is not the problem \u2014 the ARGUMENTS did not parse.",
58072
+ lastParseErrorConflict ? "This command exists and your mmi-cli is not the problem \u2014 two of the options conflict. Choose one of them and retry." : "This command exists and your mmi-cli is not the problem \u2014 the ARGUMENTS did not parse.",
58049
58073
  `Run \`mmi-cli ${path2} --help\` for its signature, \`mmi-cli explain ${path2} --json\` for exact detail, or \`mmi-cli commands\` for the task map.`
58050
58074
  ].join("\n");
58051
58075
  }
@@ -58101,6 +58125,7 @@ function envelopeAwareWriteErr(str2) {
58101
58125
  return;
58102
58126
  }
58103
58127
  lastParseErrorKind = classifyParseError(plain);
58128
+ lastParseErrorConflict = /cannot be used with/i.test(plain);
58104
58129
  lastUnknownCommand = /unknown command '?([\w:-]+)'?/.exec(plain)?.[1];
58105
58130
  const badChoice = parseInvalidChoiceError(plain);
58106
58131
  if (badChoice) {
@@ -58141,6 +58166,24 @@ function envelopeAwareWriteErr(str2) {
58141
58166
  const flag = match[1];
58142
58167
  const argv = process.argv.slice(2);
58143
58168
  const invoked = resolveCommandFromArgv(program2, argv);
58169
+ const claimStatus = invoked ? boardClaimStatusFlagRecovery(flag, canonicalPathFor(commandPath3(invoked)) ?? commandPath3(invoked), canonicalArgvFor(argv)) : void 0;
58170
+ if (claimStatus) {
58171
+ if (argvWantsJson3()) {
58172
+ process.stderr.write(
58173
+ formatErrorEnvelope(claimStatus.message, {
58174
+ code: ERROR_CODES.ERR_UNKNOWN_FLAG,
58175
+ offending_flag: "--status",
58176
+ corrected_command: claimStatus.corrected
58177
+ }) + "\n"
58178
+ );
58179
+ unknownFlagJsonHandled = true;
58180
+ return;
58181
+ }
58182
+ writeHumanParseError(
58183
+ str2.replace(/unknown option '[^']+'/, `${claimStatus.message}: run \`${claimStatus.corrected}\``)
58184
+ );
58185
+ return;
58186
+ }
58144
58187
  const positional = TARGET_SELECTOR_FLAGS.has(flag) ? positionalTargetForm(invoked, { flag, argv }) : void 0;
58145
58188
  if (argvWantsJson3()) {
58146
58189
  const ownFlags = commandOwnLongFlags(invoked);
@@ -59367,7 +59410,6 @@ program2.parseAsync(process.argv).then(() => finishCliRun()).catch((e) => failGr
59367
59410
  argvWantsJson,
59368
59411
  awsCallerArn,
59369
59412
  ciAuditDeps,
59370
- classifyParseError,
59371
59413
  commandOwnLongFlags,
59372
59414
  envHealLockPath,
59373
59415
  isOrgRegisteredRepo,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "4.5.201",
3
+ "version": "4.5.203",
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",