@yawlabs/mcph 0.50.0 → 0.51.0
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/index.js +55 -13
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1668,7 +1668,7 @@ function selectFlakyNamespaces(entries, limit) {
|
|
|
1668
1668
|
}
|
|
1669
1669
|
|
|
1670
1670
|
// src/doctor-cmd.ts
|
|
1671
|
-
var VERSION = true ? "0.
|
|
1671
|
+
var VERSION = true ? "0.51.0" : "dev";
|
|
1672
1672
|
async function runDoctor(opts = {}) {
|
|
1673
1673
|
if (opts.json) return runDoctorJson(opts);
|
|
1674
1674
|
const lines = [];
|
|
@@ -3109,7 +3109,7 @@ Or re-run with --run to upgrade in place.`);
|
|
|
3109
3109
|
return { exitCode: 3, lines };
|
|
3110
3110
|
}
|
|
3111
3111
|
function readCurrentVersion() {
|
|
3112
|
-
return true ? "0.
|
|
3112
|
+
return true ? "0.51.0" : "dev";
|
|
3113
3113
|
}
|
|
3114
3114
|
|
|
3115
3115
|
// src/auto-upgrade.ts
|
|
@@ -3157,7 +3157,7 @@ function defaultSpawn2(cmd, args) {
|
|
|
3157
3157
|
async function maybeAutoUpgrade(deps = {}) {
|
|
3158
3158
|
const optOut = process.env.MCPH_AUTO_UPGRADE;
|
|
3159
3159
|
if (optOut === "0" || optOut?.toLowerCase() === "false") return;
|
|
3160
|
-
const current = deps.currentVersion ?? (true ? "0.
|
|
3160
|
+
const current = deps.currentVersion ?? (true ? "0.51.0" : "dev");
|
|
3161
3161
|
if (current === "dev") return;
|
|
3162
3162
|
const method = detectInstallMethod(deps.argvPath ?? process.argv[1]);
|
|
3163
3163
|
const latest = await (deps.fetchLatestImpl ?? fetchLatestVersion2)();
|
|
@@ -3325,6 +3325,39 @@ function detectMissingCredentials(stderrOrMessage) {
|
|
|
3325
3325
|
return [...found];
|
|
3326
3326
|
}
|
|
3327
3327
|
|
|
3328
|
+
// src/error-category.ts
|
|
3329
|
+
var RX_HTTP_401 = /\b401\b/;
|
|
3330
|
+
var RX_HTTP_403 = /\b403\b/;
|
|
3331
|
+
var RX_HTTP_404 = /\b404\b/;
|
|
3332
|
+
var RX_HTTP_429 = /\b429\b/;
|
|
3333
|
+
var RX_NO_TOKEN = /no [a-z_]*token (configured|set)/i;
|
|
3334
|
+
function classifyError(text) {
|
|
3335
|
+
if (!text) return "upstream_error";
|
|
3336
|
+
const t = text.toLowerCase();
|
|
3337
|
+
if (t.includes("-32001") || t.includes("timed out") || t.includes(" timeout")) {
|
|
3338
|
+
return "timeout";
|
|
3339
|
+
}
|
|
3340
|
+
if (t.includes("-32602") || t.includes("invalid input") || t.includes("invalid_type") || t.includes("invalid arguments")) {
|
|
3341
|
+
return "validation_error";
|
|
3342
|
+
}
|
|
3343
|
+
if (t.includes("unknown tool") || t.includes("-32601") || t.includes("method not found")) {
|
|
3344
|
+
return "unknown_tool";
|
|
3345
|
+
}
|
|
3346
|
+
if (t.includes("auto-reconnect failed") || t.includes("connection closed")) {
|
|
3347
|
+
return "connection_lost";
|
|
3348
|
+
}
|
|
3349
|
+
if (RX_HTTP_429.test(t) || t.includes("rate limit") || t.includes("too many requests")) {
|
|
3350
|
+
return "rate_limited";
|
|
3351
|
+
}
|
|
3352
|
+
if (RX_HTTP_401.test(t) || RX_HTTP_403.test(t) || t.includes("unauthorized") || t.includes("forbidden") || t.includes("permission denied") || RX_NO_TOKEN.test(text)) {
|
|
3353
|
+
return "unauthorized";
|
|
3354
|
+
}
|
|
3355
|
+
if (RX_HTTP_404.test(t) || t.includes("not found")) {
|
|
3356
|
+
return "not_found";
|
|
3357
|
+
}
|
|
3358
|
+
return "upstream_error";
|
|
3359
|
+
}
|
|
3360
|
+
|
|
3328
3361
|
// src/exec-engine.ts
|
|
3329
3362
|
function parseRefPath(raw) {
|
|
3330
3363
|
if (typeof raw !== "string" || raw.length === 0) return null;
|
|
@@ -5301,7 +5334,7 @@ function categorizeSpawnError(err) {
|
|
|
5301
5334
|
}
|
|
5302
5335
|
async function connectToUpstream(config, onDisconnect, onListChanged) {
|
|
5303
5336
|
const client = new Client(
|
|
5304
|
-
{ name: "mcph", version: true ? "0.
|
|
5337
|
+
{ name: "mcph", version: true ? "0.51.0" : "dev" },
|
|
5305
5338
|
{ capabilities: {} }
|
|
5306
5339
|
);
|
|
5307
5340
|
let transport;
|
|
@@ -5609,7 +5642,7 @@ var ConnectServer = class _ConnectServer {
|
|
|
5609
5642
|
this.apiUrl = apiUrl6;
|
|
5610
5643
|
this.token = token6;
|
|
5611
5644
|
this.server = new Server(
|
|
5612
|
-
{ name: "mcph", version: true ? "0.
|
|
5645
|
+
{ name: "mcph", version: true ? "0.51.0" : "dev" },
|
|
5613
5646
|
{
|
|
5614
5647
|
capabilities: {
|
|
5615
5648
|
tools: { listChanged: true },
|
|
@@ -6030,13 +6063,15 @@ var ConnectServer = class _ConnectServer {
|
|
|
6030
6063
|
const namespaces = resolveNamespaces(args);
|
|
6031
6064
|
const toolsFilter = namespaces.length === 1 && Array.isArray(args.tools) && args.tools.every((t) => typeof t === "string") ? args.tools : void 0;
|
|
6032
6065
|
const result2 = await this.handleActivate(namespaces, progress, toolsFilter);
|
|
6066
|
+
const category = result2.isError ? classifyError(result2.content?.[0]?.text) : void 0;
|
|
6033
6067
|
for (const ns of namespaces) {
|
|
6034
6068
|
recordConnectEvent({
|
|
6035
6069
|
namespace: ns,
|
|
6036
6070
|
toolName: null,
|
|
6037
6071
|
action: "activate",
|
|
6038
6072
|
latencyMs: null,
|
|
6039
|
-
success: !result2.isError
|
|
6073
|
+
success: !result2.isError,
|
|
6074
|
+
errorCategory: category
|
|
6040
6075
|
});
|
|
6041
6076
|
}
|
|
6042
6077
|
return this.attachGuideNudge(result2);
|
|
@@ -6044,13 +6079,15 @@ var ConnectServer = class _ConnectServer {
|
|
|
6044
6079
|
if (name === META_TOOLS.deactivate.name) {
|
|
6045
6080
|
const namespaces = resolveNamespaces(args);
|
|
6046
6081
|
const result2 = await this.handleDeactivate(namespaces);
|
|
6082
|
+
const category = result2.isError ? classifyError(result2.content?.[0]?.text) : void 0;
|
|
6047
6083
|
for (const ns of namespaces) {
|
|
6048
6084
|
recordConnectEvent({
|
|
6049
6085
|
namespace: ns,
|
|
6050
6086
|
toolName: null,
|
|
6051
6087
|
action: "deactivate",
|
|
6052
6088
|
latencyMs: null,
|
|
6053
|
-
success: !result2.isError
|
|
6089
|
+
success: !result2.isError,
|
|
6090
|
+
errorCategory: category
|
|
6054
6091
|
});
|
|
6055
6092
|
}
|
|
6056
6093
|
return this.attachGuideNudge(result2);
|
|
@@ -6062,7 +6099,8 @@ var ConnectServer = class _ConnectServer {
|
|
|
6062
6099
|
toolName: null,
|
|
6063
6100
|
action: "import",
|
|
6064
6101
|
latencyMs: null,
|
|
6065
|
-
success: !result2.isError
|
|
6102
|
+
success: !result2.isError,
|
|
6103
|
+
errorCategory: result2.isError ? classifyError(result2.content?.[0]?.text) : void 0
|
|
6066
6104
|
});
|
|
6067
6105
|
return this.attachGuideNudge(result2);
|
|
6068
6106
|
}
|
|
@@ -6073,7 +6111,8 @@ var ConnectServer = class _ConnectServer {
|
|
|
6073
6111
|
toolName: null,
|
|
6074
6112
|
action: "install",
|
|
6075
6113
|
latencyMs: null,
|
|
6076
|
-
success: !result2.isError
|
|
6114
|
+
success: !result2.isError,
|
|
6115
|
+
errorCategory: result2.isError ? classifyError(result2.content?.[0]?.text) : void 0
|
|
6077
6116
|
});
|
|
6078
6117
|
return this.attachGuideNudge(result2);
|
|
6079
6118
|
}
|
|
@@ -6090,7 +6129,8 @@ var ConnectServer = class _ConnectServer {
|
|
|
6090
6129
|
toolName: toolArg || null,
|
|
6091
6130
|
action: "read_tool",
|
|
6092
6131
|
latencyMs: null,
|
|
6093
|
-
success: !result2.isError
|
|
6132
|
+
success: !result2.isError,
|
|
6133
|
+
errorCategory: result2.isError ? classifyError(result2.content?.[0]?.text) : void 0
|
|
6094
6134
|
});
|
|
6095
6135
|
return this.attachGuideNudge(result2);
|
|
6096
6136
|
}
|
|
@@ -6105,7 +6145,8 @@ var ConnectServer = class _ConnectServer {
|
|
|
6105
6145
|
toolName: null,
|
|
6106
6146
|
action: "exec",
|
|
6107
6147
|
latencyMs: null,
|
|
6108
|
-
success: !result2.isError
|
|
6148
|
+
success: !result2.isError,
|
|
6149
|
+
errorCategory: result2.isError ? classifyError(result2.content?.[0]?.text) : void 0
|
|
6109
6150
|
});
|
|
6110
6151
|
return this.attachGuideNudge(result2);
|
|
6111
6152
|
}
|
|
@@ -6218,7 +6259,8 @@ var ConnectServer = class _ConnectServer {
|
|
|
6218
6259
|
toolName: route.originalName,
|
|
6219
6260
|
action: "tool_call",
|
|
6220
6261
|
latencyMs,
|
|
6221
|
-
success: !result.isError
|
|
6262
|
+
success: !result.isError,
|
|
6263
|
+
errorCategory: result.isError ? classifyError(result.content?.[0]?.text) : void 0
|
|
6222
6264
|
});
|
|
6223
6265
|
if (!result.isError && Array.isArray(result.content)) {
|
|
6224
6266
|
try {
|
|
@@ -7998,7 +8040,7 @@ if (subcommand === "compliance") {
|
|
|
7998
8040
|
`);
|
|
7999
8041
|
process.exit(0);
|
|
8000
8042
|
} else if (subcommand === "--version" || subcommand === "-V") {
|
|
8001
|
-
process.stdout.write(`mcph ${true ? "0.
|
|
8043
|
+
process.stdout.write(`mcph ${true ? "0.51.0" : "dev"}
|
|
8002
8044
|
`);
|
|
8003
8045
|
process.exit(0);
|
|
8004
8046
|
} else if (subcommand && !subcommand.startsWith("-")) {
|
package/package.json
CHANGED