mcp-server-diff 2.1.6 → 2.1.8
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/README.md +2 -2
- package/dist/cli/index.js +20 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -595,8 +595,8 @@ npx mcp-server-diff -c servers.json -o diff
|
|
|
595
595
|
| `-b, --base <cmd\|url>` | Base server command (stdio) or URL (http) |
|
|
596
596
|
| `-t, --target <cmd\|url>` | Target server command (stdio) or URL (http) |
|
|
597
597
|
| `-H, --header <header>` | HTTP header for target (repeatable) |
|
|
598
|
-
|
|
|
599
|
-
|
|
|
598
|
+
| `-B, --base-header <header>` | HTTP header for base server (repeatable) |
|
|
599
|
+
| `-T, --target-header <header>` | HTTP header for target (same as `-H`) |
|
|
600
600
|
| `-c, --config <file>` | Config file with base and targets |
|
|
601
601
|
| `-o, --output <format>` | Output: `diff`, `json`, `markdown`, `summary` (default) |
|
|
602
602
|
| `-v, --verbose` | Verbose output |
|
package/dist/cli/index.js
CHANGED
|
@@ -56870,8 +56870,8 @@ function parseCliArgs() {
|
|
|
56870
56870
|
base: { type: "string", short: "b" },
|
|
56871
56871
|
target: { type: "string", short: "t" },
|
|
56872
56872
|
header: { type: "string", short: "H", multiple: true },
|
|
56873
|
-
"base-header": { type: "string", multiple: true },
|
|
56874
|
-
"target-header": { type: "string", multiple: true },
|
|
56873
|
+
"base-header": { type: "string", short: "B", multiple: true },
|
|
56874
|
+
"target-header": { type: "string", short: "T", multiple: true },
|
|
56875
56875
|
config: { type: "string", short: "c" },
|
|
56876
56876
|
output: { type: "string", short: "o", default: "summary" },
|
|
56877
56877
|
verbose: { type: "boolean", short: "v", default: false },
|
|
@@ -56900,8 +56900,8 @@ OPTIONS:
|
|
|
56900
56900
|
-b, --base <command> Base server command (stdio) or URL (http)
|
|
56901
56901
|
-t, --target <command> Target server command (stdio) or URL (http)
|
|
56902
56902
|
-H, --header <header> HTTP header for target (repeatable)
|
|
56903
|
-
|
|
56904
|
-
|
|
56903
|
+
-B, --base-header <header> HTTP header for base server (repeatable)
|
|
56904
|
+
-T, --target-header <hdr> HTTP header for target server (repeatable, same as -H)
|
|
56905
56905
|
Values support: env:VAR_NAME, secret:name, "Bearer secret:token"
|
|
56906
56906
|
-c, --config <file> Config file with base and targets
|
|
56907
56907
|
-o, --output <format> Output format: diff, json, markdown, summary (default: summary)
|
|
@@ -57060,44 +57060,46 @@ function findSecrets(headerStrings) {
|
|
|
57060
57060
|
*/
|
|
57061
57061
|
async function promptSecret(prompt) {
|
|
57062
57062
|
return new Promise((resolve) => {
|
|
57063
|
-
|
|
57064
|
-
input: process.stdin,
|
|
57065
|
-
output: process.stdout,
|
|
57066
|
-
});
|
|
57063
|
+
process.stdout.write(`${prompt}: `);
|
|
57067
57064
|
// Hide input by using raw mode if available
|
|
57068
|
-
if (process.stdin.isTTY) {
|
|
57069
|
-
process.stdout.write(`${prompt}: `);
|
|
57065
|
+
if (process.stdin.isTTY && process.stdin.setRawMode) {
|
|
57070
57066
|
process.stdin.setRawMode(true);
|
|
57071
57067
|
process.stdin.resume();
|
|
57068
|
+
process.stdin.setEncoding("utf8");
|
|
57072
57069
|
let value = "";
|
|
57073
57070
|
const onData = (char) => {
|
|
57074
|
-
|
|
57075
|
-
if (c === "\n" || c === "\r") {
|
|
57071
|
+
if (char === "\n" || char === "\r" || char === "\u0004") {
|
|
57076
57072
|
process.stdin.setRawMode(false);
|
|
57073
|
+
process.stdin.pause();
|
|
57077
57074
|
process.stdin.removeListener("data", onData);
|
|
57078
|
-
rl.close();
|
|
57079
57075
|
process.stdout.write("\n");
|
|
57080
57076
|
resolve(value);
|
|
57081
57077
|
}
|
|
57082
|
-
else if (
|
|
57078
|
+
else if (char === "\u0003") {
|
|
57083
57079
|
// Ctrl+C
|
|
57080
|
+
process.stdin.setRawMode(false);
|
|
57081
|
+
process.stdout.write("\n");
|
|
57084
57082
|
process.exit(1);
|
|
57085
57083
|
}
|
|
57086
|
-
else if (
|
|
57084
|
+
else if (char === "\u007F" || char === "\b") {
|
|
57087
57085
|
// Backspace
|
|
57088
57086
|
if (value.length > 0) {
|
|
57089
57087
|
value = value.slice(0, -1);
|
|
57090
57088
|
}
|
|
57091
57089
|
}
|
|
57092
57090
|
else {
|
|
57093
|
-
value +=
|
|
57091
|
+
value += char;
|
|
57094
57092
|
}
|
|
57095
57093
|
};
|
|
57096
57094
|
process.stdin.on("data", onData);
|
|
57097
57095
|
}
|
|
57098
57096
|
else {
|
|
57099
|
-
// Non-TTY:
|
|
57100
|
-
rl
|
|
57097
|
+
// Non-TTY: use readline (won't be hidden)
|
|
57098
|
+
const rl = external_readline_namespaceObject.createInterface({
|
|
57099
|
+
input: process.stdin,
|
|
57100
|
+
output: process.stdout,
|
|
57101
|
+
});
|
|
57102
|
+
rl.question("", (answer) => {
|
|
57101
57103
|
rl.close();
|
|
57102
57104
|
resolve(answer);
|
|
57103
57105
|
});
|