@ai-ecoverse/mcpcat 0.17.6 → 0.17.7
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/host/mcpcat.mjs +20 -19
- package/dist/kernel/mcpcat.mjs +20 -19
- package/package.json +3 -3
package/dist/host/mcpcat.mjs
CHANGED
|
@@ -9855,6 +9855,15 @@ function containsPlaceholders(value) {
|
|
|
9855
9855
|
function expandPlaceholders(value, env) {
|
|
9856
9856
|
return value.replace(PLACEHOLDER, (_, name) => env[name] ?? "");
|
|
9857
9857
|
}
|
|
9858
|
+
var MIN_VAR_SECRET = 8;
|
|
9859
|
+
function placeholderValues(value, env) {
|
|
9860
|
+
const values = [];
|
|
9861
|
+
for (const m of value.matchAll(PLACEHOLDER)) {
|
|
9862
|
+
const v = env[m[1]];
|
|
9863
|
+
if (v !== void 0 && v.length >= MIN_VAR_SECRET) values.push(v);
|
|
9864
|
+
}
|
|
9865
|
+
return values;
|
|
9866
|
+
}
|
|
9858
9867
|
function missingPlaceholders(value, env) {
|
|
9859
9868
|
const missing = [];
|
|
9860
9869
|
for (const m of value.matchAll(PLACEHOLDER)) {
|
|
@@ -11163,6 +11172,12 @@ function redactWrites(platform2, redact2) {
|
|
|
11163
11172
|
write: (fd, data) => platform2.write(fd, typeof data === "string" ? redact2(data) : data)
|
|
11164
11173
|
});
|
|
11165
11174
|
}
|
|
11175
|
+
function redactSecrets(text, secrets) {
|
|
11176
|
+
const ordered = [...secrets].filter((s) => s.length > 0).sort((a, b) => b.length - a.length);
|
|
11177
|
+
let result = text;
|
|
11178
|
+
for (const secret of ordered) result = result.replaceAll(secret, "[REDACTED]");
|
|
11179
|
+
return result;
|
|
11180
|
+
}
|
|
11166
11181
|
|
|
11167
11182
|
// src/render/result.ts
|
|
11168
11183
|
function formatBytes(n) {
|
|
@@ -15362,15 +15377,7 @@ function isSensitiveHeader(name) {
|
|
|
15362
15377
|
return SENSITIVE_HEADER_RE.test(name) || SENSITIVE_NAME_RE.test(name);
|
|
15363
15378
|
}
|
|
15364
15379
|
function redact(text, secrets) {
|
|
15365
|
-
|
|
15366
|
-
for (const secret of secrets) {
|
|
15367
|
-
if (secret.length > 0) {
|
|
15368
|
-
while (result.includes(secret)) {
|
|
15369
|
-
result = result.replace(secret, "[REDACTED]");
|
|
15370
|
-
}
|
|
15371
|
-
}
|
|
15372
|
-
}
|
|
15373
|
-
return result;
|
|
15380
|
+
return redactSecrets(text, secrets);
|
|
15374
15381
|
}
|
|
15375
15382
|
function createVerboseLogger(platform2, enabled) {
|
|
15376
15383
|
const secrets = /* @__PURE__ */ new Set();
|
|
@@ -16448,7 +16455,7 @@ function expandAndCollect(headers, env) {
|
|
|
16448
16455
|
}
|
|
16449
16456
|
const e = expandPlaceholders(v, env);
|
|
16450
16457
|
result[k] = e;
|
|
16451
|
-
if (e !== v) secrets.push(e);
|
|
16458
|
+
if (e !== v) secrets.push(e, ...placeholderValues(v, env));
|
|
16452
16459
|
if (v.length > 0) secrets.push(v);
|
|
16453
16460
|
}
|
|
16454
16461
|
return { expanded: result, secrets, unset };
|
|
@@ -16661,13 +16668,7 @@ async function runClientVerb(platform2, version, parsed) {
|
|
|
16661
16668
|
const configSecrets = collectConfigSecrets(resolved.headers, platform2.env);
|
|
16662
16669
|
for (const s of configSecrets) verbose.secrets.add(s);
|
|
16663
16670
|
const allSecrets = /* @__PURE__ */ new Set([...secrets, ...configSecrets]);
|
|
16664
|
-
const redact2 = (text) =>
|
|
16665
|
-
let result = text;
|
|
16666
|
-
for (const secret of allSecrets) {
|
|
16667
|
-
if (secret.length > 0) result = result.replaceAll(secret, "[REDACTED]");
|
|
16668
|
-
}
|
|
16669
|
-
return result;
|
|
16670
|
-
};
|
|
16671
|
+
const redact2 = (text) => redactSecrets(text, allSecrets);
|
|
16671
16672
|
const mergedHeaders = { ...configHeaders, ...expanded };
|
|
16672
16673
|
const hasAuthHeader = "Authorization" in mergedHeaders;
|
|
16673
16674
|
const authResolved = await resolveAuthProvider(
|
|
@@ -16778,7 +16779,7 @@ function collectConfigSecrets(headers, env) {
|
|
|
16778
16779
|
const secrets = [];
|
|
16779
16780
|
for (const [, v] of Object.entries(headers)) {
|
|
16780
16781
|
const expanded = expandPlaceholders(v, env);
|
|
16781
|
-
if (expanded !== v && expanded.length > 0) secrets.push(expanded);
|
|
16782
|
+
if (expanded !== v && expanded.length > 0) secrets.push(expanded, ...placeholderValues(v, env));
|
|
16782
16783
|
if (v.length > 0 && v !== expanded) secrets.push(v);
|
|
16783
16784
|
}
|
|
16784
16785
|
return secrets;
|
|
@@ -17044,5 +17045,5 @@ try {
|
|
|
17044
17045
|
});
|
|
17045
17046
|
} catch {
|
|
17046
17047
|
}
|
|
17047
|
-
var code = await run(platform, "0.17.
|
|
17048
|
+
var code = await run(platform, "0.17.7", args);
|
|
17048
17049
|
process.exit(code);
|
package/dist/kernel/mcpcat.mjs
CHANGED
|
@@ -9476,6 +9476,15 @@ function containsPlaceholders(value) {
|
|
|
9476
9476
|
function expandPlaceholders(value, env2) {
|
|
9477
9477
|
return value.replace(PLACEHOLDER, (_, name) => env2[name] ?? "");
|
|
9478
9478
|
}
|
|
9479
|
+
var MIN_VAR_SECRET = 8;
|
|
9480
|
+
function placeholderValues(value, env2) {
|
|
9481
|
+
const values = [];
|
|
9482
|
+
for (const m of value.matchAll(PLACEHOLDER)) {
|
|
9483
|
+
const v = env2[m[1]];
|
|
9484
|
+
if (v !== void 0 && v.length >= MIN_VAR_SECRET) values.push(v);
|
|
9485
|
+
}
|
|
9486
|
+
return values;
|
|
9487
|
+
}
|
|
9479
9488
|
function missingPlaceholders(value, env2) {
|
|
9480
9489
|
const missing = [];
|
|
9481
9490
|
for (const m of value.matchAll(PLACEHOLDER)) {
|
|
@@ -10784,6 +10793,12 @@ function redactWrites(platform2, redact2) {
|
|
|
10784
10793
|
write: (fd, data) => platform2.write(fd, typeof data === "string" ? redact2(data) : data)
|
|
10785
10794
|
});
|
|
10786
10795
|
}
|
|
10796
|
+
function redactSecrets(text, secrets) {
|
|
10797
|
+
const ordered = [...secrets].filter((s) => s.length > 0).sort((a, b) => b.length - a.length);
|
|
10798
|
+
let result = text;
|
|
10799
|
+
for (const secret of ordered) result = result.replaceAll(secret, "[REDACTED]");
|
|
10800
|
+
return result;
|
|
10801
|
+
}
|
|
10787
10802
|
|
|
10788
10803
|
// src/render/result.ts
|
|
10789
10804
|
function formatBytes(n) {
|
|
@@ -14983,15 +14998,7 @@ function isSensitiveHeader(name) {
|
|
|
14983
14998
|
return SENSITIVE_HEADER_RE.test(name) || SENSITIVE_NAME_RE.test(name);
|
|
14984
14999
|
}
|
|
14985
15000
|
function redact(text, secrets) {
|
|
14986
|
-
|
|
14987
|
-
for (const secret of secrets) {
|
|
14988
|
-
if (secret.length > 0) {
|
|
14989
|
-
while (result.includes(secret)) {
|
|
14990
|
-
result = result.replace(secret, "[REDACTED]");
|
|
14991
|
-
}
|
|
14992
|
-
}
|
|
14993
|
-
}
|
|
14994
|
-
return result;
|
|
15001
|
+
return redactSecrets(text, secrets);
|
|
14995
15002
|
}
|
|
14996
15003
|
function createVerboseLogger(platform2, enabled) {
|
|
14997
15004
|
const secrets = /* @__PURE__ */ new Set();
|
|
@@ -16069,7 +16076,7 @@ function expandAndCollect(headers, env2) {
|
|
|
16069
16076
|
}
|
|
16070
16077
|
const e = expandPlaceholders(v, env2);
|
|
16071
16078
|
result[k] = e;
|
|
16072
|
-
if (e !== v) secrets.push(e);
|
|
16079
|
+
if (e !== v) secrets.push(e, ...placeholderValues(v, env2));
|
|
16073
16080
|
if (v.length > 0) secrets.push(v);
|
|
16074
16081
|
}
|
|
16075
16082
|
return { expanded: result, secrets, unset };
|
|
@@ -16282,13 +16289,7 @@ async function runClientVerb(platform2, version, parsed) {
|
|
|
16282
16289
|
const configSecrets = collectConfigSecrets(resolved.headers, platform2.env);
|
|
16283
16290
|
for (const s of configSecrets) verbose.secrets.add(s);
|
|
16284
16291
|
const allSecrets = /* @__PURE__ */ new Set([...secrets, ...configSecrets]);
|
|
16285
|
-
const redact2 = (text) =>
|
|
16286
|
-
let result = text;
|
|
16287
|
-
for (const secret of allSecrets) {
|
|
16288
|
-
if (secret.length > 0) result = result.replaceAll(secret, "[REDACTED]");
|
|
16289
|
-
}
|
|
16290
|
-
return result;
|
|
16291
|
-
};
|
|
16292
|
+
const redact2 = (text) => redactSecrets(text, allSecrets);
|
|
16292
16293
|
const mergedHeaders = { ...configHeaders, ...expanded };
|
|
16293
16294
|
const hasAuthHeader = "Authorization" in mergedHeaders;
|
|
16294
16295
|
const authResolved = await resolveAuthProvider(
|
|
@@ -16399,7 +16400,7 @@ function collectConfigSecrets(headers, env2) {
|
|
|
16399
16400
|
const secrets = [];
|
|
16400
16401
|
for (const [, v] of Object.entries(headers)) {
|
|
16401
16402
|
const expanded = expandPlaceholders(v, env2);
|
|
16402
|
-
if (expanded !== v && expanded.length > 0) secrets.push(expanded);
|
|
16403
|
+
if (expanded !== v && expanded.length > 0) secrets.push(expanded, ...placeholderValues(v, env2));
|
|
16403
16404
|
if (v.length > 0 && v !== expanded) secrets.push(v);
|
|
16404
16405
|
}
|
|
16405
16406
|
return secrets;
|
|
@@ -16766,7 +16767,7 @@ async function main(ctx) {
|
|
|
16766
16767
|
packageDir: "/node_modules/@ai-ecoverse/mcpcat"
|
|
16767
16768
|
});
|
|
16768
16769
|
const args = ctx.argv.slice(1);
|
|
16769
|
-
return run(platform2, "0.17.
|
|
16770
|
+
return run(platform2, "0.17.7", args);
|
|
16770
16771
|
}
|
|
16771
16772
|
export {
|
|
16772
16773
|
main as default
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/mcpcat",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.7",
|
|
4
4
|
"description": "A curl for the Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -62,14 +62,14 @@
|
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@ai-ecoverse/slicc-bios": "1.36.1",
|
|
65
|
-
"@ai-ecoverse/slicc-kernel": "1.141.
|
|
65
|
+
"@ai-ecoverse/slicc-kernel": "1.141.3",
|
|
66
66
|
"@ai-ecoverse/slicc-shared-web": "1.29.8",
|
|
67
67
|
"@biomejs/biome": "2.5.15",
|
|
68
68
|
"@earendil-works/pi-codemode": "1.2.0",
|
|
69
69
|
"@earendil-works/pi-mcp": "1.2.0",
|
|
70
70
|
"@types/node": "26.6.5",
|
|
71
71
|
"esbuild": "0.28.2",
|
|
72
|
-
"kernel-cert-new": "npm:@ai-ecoverse/slicc-kernel@1.141.
|
|
72
|
+
"kernel-cert-new": "npm:@ai-ecoverse/slicc-kernel@1.141.3",
|
|
73
73
|
"lefthook": "2.2.2",
|
|
74
74
|
"monocart-coverage-reports": "2.13.2",
|
|
75
75
|
"proper-lockfile": "4.1.2",
|