@mutmutco/cli 4.5.170 → 4.5.172
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 +4600 -4273
- package/dist/runbook-sweep.cjs +73 -71
- package/package.json +1 -1
package/dist/runbook-sweep.cjs
CHANGED
|
@@ -1179,6 +1179,79 @@ init_cli_shared();
|
|
|
1179
1179
|
init_hub_auth();
|
|
1180
1180
|
init_github_client();
|
|
1181
1181
|
|
|
1182
|
+
// src/marketplace-autoupdate.ts
|
|
1183
|
+
var CATALOG_CONTENT_REF = "main";
|
|
1184
|
+
var CATALOG_REF_PIN_STEPS = `add \`"ref": "${CATALOG_CONTENT_REF}"\` to this marketplace's \`source\` in ~/.claude/plugins/known_marketplaces.json, then restart Claude`;
|
|
1185
|
+
|
|
1186
|
+
// src/plugin-guard-io.ts
|
|
1187
|
+
init_cli_shared();
|
|
1188
|
+
|
|
1189
|
+
// src/version-lag.ts
|
|
1190
|
+
function parseVersion(v) {
|
|
1191
|
+
const [coreRaw, prereleaseRaw = ""] = v.replace(/^v/, "").split("-", 2);
|
|
1192
|
+
const core = coreRaw.split(".").slice(0, 3).map((part) => {
|
|
1193
|
+
const n = Number.parseInt(part, 10);
|
|
1194
|
+
return Number.isFinite(n) ? n : 0;
|
|
1195
|
+
});
|
|
1196
|
+
while (core.length < 3) core.push(0);
|
|
1197
|
+
return { core, prerelease: prereleaseRaw ? prereleaseRaw.split(".") : [] };
|
|
1198
|
+
}
|
|
1199
|
+
function comparePrerelease(a, b) {
|
|
1200
|
+
if (!a.length && !b.length) return 0;
|
|
1201
|
+
if (!a.length) return 1;
|
|
1202
|
+
if (!b.length) return -1;
|
|
1203
|
+
const len = Math.max(a.length, b.length);
|
|
1204
|
+
for (let i = 0; i < len; i++) {
|
|
1205
|
+
const left = a[i];
|
|
1206
|
+
const right = b[i];
|
|
1207
|
+
if (left === void 0) return -1;
|
|
1208
|
+
if (right === void 0) return 1;
|
|
1209
|
+
const ln = Number.parseInt(left, 10);
|
|
1210
|
+
const rn = Number.parseInt(right, 10);
|
|
1211
|
+
const bothNumeric = String(ln) === left && String(rn) === right;
|
|
1212
|
+
const delta = bothNumeric ? ln - rn : left.localeCompare(right, "en");
|
|
1213
|
+
if (delta !== 0) return delta;
|
|
1214
|
+
}
|
|
1215
|
+
return 0;
|
|
1216
|
+
}
|
|
1217
|
+
function compareVersions(a, b) {
|
|
1218
|
+
const left = parseVersion(a);
|
|
1219
|
+
const right = parseVersion(b);
|
|
1220
|
+
for (let i = 0; i < 3; i++) {
|
|
1221
|
+
const delta = (left.core[i] ?? 0) - (right.core[i] ?? 0);
|
|
1222
|
+
if (delta !== 0) return delta;
|
|
1223
|
+
}
|
|
1224
|
+
return comparePrerelease(left.prerelease, right.prerelease);
|
|
1225
|
+
}
|
|
1226
|
+
function npmReleasedVersionArgs() {
|
|
1227
|
+
return ["view", "@mutmutco/cli", "version"];
|
|
1228
|
+
}
|
|
1229
|
+
function parseNpmVersion(stdout) {
|
|
1230
|
+
const v = stdout.trim();
|
|
1231
|
+
return /^\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?$/.test(v) ? v : void 0;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
// src/plugin-guard-io.ts
|
|
1235
|
+
var isWin = process.platform === "win32";
|
|
1236
|
+
var LEGACY_MMI_MARKETPLACE = "mmi";
|
|
1237
|
+
var CLAUDE_RECOVERY = `claude plugin marketplace remove ${LEGACY_MMI_MARKETPLACE} && claude plugin marketplace remove mutmutco && claude plugin marketplace add mutmutco/MMI-Hub --ref main && claude plugin install mmi@mutmutco`;
|
|
1238
|
+
var NPM_VIEW_TIMEOUT_MS = 15e3;
|
|
1239
|
+
function runHostBin(bin, args, opts) {
|
|
1240
|
+
const { step, timeout, env } = opts;
|
|
1241
|
+
const shared = { timeout, stdio: ["ignore", "pipe", "pipe"], maxBuffer: 16 * 1024 * 1024, ...env ? { env } : {} };
|
|
1242
|
+
const file = isWin ? "cmd.exe" : bin;
|
|
1243
|
+
const argv = isWin ? ["/c", bin, ...args] : args;
|
|
1244
|
+
return step ? execFileHard(file, argv, { ...shared, step }) : execFileP(file, argv, shared);
|
|
1245
|
+
}
|
|
1246
|
+
async function fetchNpmReleasedVersion() {
|
|
1247
|
+
try {
|
|
1248
|
+
const { stdout } = await runHostBin("npm", npmReleasedVersionArgs(), { timeout: NPM_VIEW_TIMEOUT_MS });
|
|
1249
|
+
return parseNpmVersion(stdout);
|
|
1250
|
+
} catch {
|
|
1251
|
+
return void 0;
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1182
1255
|
// src/registry-client.ts
|
|
1183
1256
|
init_fetch_retry();
|
|
1184
1257
|
init_client_version();
|
|
@@ -1255,51 +1328,6 @@ init_clean_exit();
|
|
|
1255
1328
|
init_cli_shared();
|
|
1256
1329
|
init_clean_exit();
|
|
1257
1330
|
|
|
1258
|
-
// src/version-lag.ts
|
|
1259
|
-
function parseVersion(v) {
|
|
1260
|
-
const [coreRaw, prereleaseRaw = ""] = v.replace(/^v/, "").split("-", 2);
|
|
1261
|
-
const core = coreRaw.split(".").slice(0, 3).map((part) => {
|
|
1262
|
-
const n = Number.parseInt(part, 10);
|
|
1263
|
-
return Number.isFinite(n) ? n : 0;
|
|
1264
|
-
});
|
|
1265
|
-
while (core.length < 3) core.push(0);
|
|
1266
|
-
return { core, prerelease: prereleaseRaw ? prereleaseRaw.split(".") : [] };
|
|
1267
|
-
}
|
|
1268
|
-
function comparePrerelease(a, b) {
|
|
1269
|
-
if (!a.length && !b.length) return 0;
|
|
1270
|
-
if (!a.length) return 1;
|
|
1271
|
-
if (!b.length) return -1;
|
|
1272
|
-
const len = Math.max(a.length, b.length);
|
|
1273
|
-
for (let i = 0; i < len; i++) {
|
|
1274
|
-
const left = a[i];
|
|
1275
|
-
const right = b[i];
|
|
1276
|
-
if (left === void 0) return -1;
|
|
1277
|
-
if (right === void 0) return 1;
|
|
1278
|
-
const ln = Number.parseInt(left, 10);
|
|
1279
|
-
const rn = Number.parseInt(right, 10);
|
|
1280
|
-
const bothNumeric = String(ln) === left && String(rn) === right;
|
|
1281
|
-
const delta = bothNumeric ? ln - rn : left.localeCompare(right, "en");
|
|
1282
|
-
if (delta !== 0) return delta;
|
|
1283
|
-
}
|
|
1284
|
-
return 0;
|
|
1285
|
-
}
|
|
1286
|
-
function compareVersions(a, b) {
|
|
1287
|
-
const left = parseVersion(a);
|
|
1288
|
-
const right = parseVersion(b);
|
|
1289
|
-
for (let i = 0; i < 3; i++) {
|
|
1290
|
-
const delta = (left.core[i] ?? 0) - (right.core[i] ?? 0);
|
|
1291
|
-
if (delta !== 0) return delta;
|
|
1292
|
-
}
|
|
1293
|
-
return comparePrerelease(left.prerelease, right.prerelease);
|
|
1294
|
-
}
|
|
1295
|
-
function npmReleasedVersionArgs() {
|
|
1296
|
-
return ["view", "@mutmutco/cli", "version"];
|
|
1297
|
-
}
|
|
1298
|
-
function parseNpmVersion(stdout) {
|
|
1299
|
-
const v = stdout.trim();
|
|
1300
|
-
return /^\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?$/.test(v) ? v : void 0;
|
|
1301
|
-
}
|
|
1302
|
-
|
|
1303
1331
|
// node_modules/commander/lib/error.js
|
|
1304
1332
|
var CommanderError = class extends Error {
|
|
1305
1333
|
/**
|
|
@@ -4923,32 +4951,6 @@ var import_node_path6 = require("node:path");
|
|
|
4923
4951
|
var import_node_child_process5 = require("node:child_process");
|
|
4924
4952
|
var import_node_util5 = require("node:util");
|
|
4925
4953
|
|
|
4926
|
-
// src/marketplace-autoupdate.ts
|
|
4927
|
-
var CATALOG_CONTENT_REF = "main";
|
|
4928
|
-
var CATALOG_REF_PIN_STEPS = `add \`"ref": "${CATALOG_CONTENT_REF}"\` to this marketplace's \`source\` in ~/.claude/plugins/known_marketplaces.json, then restart Claude`;
|
|
4929
|
-
|
|
4930
|
-
// src/plugin-guard-io.ts
|
|
4931
|
-
init_cli_shared();
|
|
4932
|
-
var isWin = process.platform === "win32";
|
|
4933
|
-
var LEGACY_MMI_MARKETPLACE = "mmi";
|
|
4934
|
-
var CLAUDE_RECOVERY = `claude plugin marketplace remove ${LEGACY_MMI_MARKETPLACE} && claude plugin marketplace remove mutmutco && claude plugin marketplace add mutmutco/MMI-Hub --ref main && claude plugin install mmi@mutmutco`;
|
|
4935
|
-
var NPM_VIEW_TIMEOUT_MS = 15e3;
|
|
4936
|
-
function runHostBin(bin, args, opts) {
|
|
4937
|
-
const { step, timeout, env } = opts;
|
|
4938
|
-
const shared = { timeout, stdio: ["ignore", "pipe", "pipe"], maxBuffer: 16 * 1024 * 1024, ...env ? { env } : {} };
|
|
4939
|
-
const file = isWin ? "cmd.exe" : bin;
|
|
4940
|
-
const argv = isWin ? ["/c", bin, ...args] : args;
|
|
4941
|
-
return step ? execFileHard(file, argv, { ...shared, step }) : execFileP(file, argv, shared);
|
|
4942
|
-
}
|
|
4943
|
-
async function fetchNpmReleasedVersion() {
|
|
4944
|
-
try {
|
|
4945
|
-
const { stdout } = await runHostBin("npm", npmReleasedVersionArgs(), { timeout: NPM_VIEW_TIMEOUT_MS });
|
|
4946
|
-
return parseNpmVersion(stdout);
|
|
4947
|
-
} catch {
|
|
4948
|
-
return void 0;
|
|
4949
|
-
}
|
|
4950
|
-
}
|
|
4951
|
-
|
|
4952
4954
|
// src/discard-sink.ts
|
|
4953
4955
|
function nodeDiscardSinkPath(platform = process.platform) {
|
|
4954
4956
|
return platform === "win32" ? "\\\\.\\NUL" : "/dev/null";
|
package/package.json
CHANGED