@yawlabs/mcp-compliance 0.15.0 → 0.15.1
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.
|
@@ -3209,7 +3209,7 @@ async function runComplianceSuite(target, options = {}) {
|
|
|
3209
3209
|
return { passed: true, details: `HTTP ${res.statusCode} (unauthenticated request rejected)` };
|
|
3210
3210
|
}
|
|
3211
3211
|
return { passed: false, details: `HTTP ${res.statusCode} \u2014 server accepted unauthenticated request` };
|
|
3212
|
-
} catch (
|
|
3212
|
+
} catch (_err) {
|
|
3213
3213
|
return { passed: true, details: "Connection rejected (acceptable)" };
|
|
3214
3214
|
}
|
|
3215
3215
|
}
|
|
@@ -3271,7 +3271,7 @@ async function runComplianceSuite(target, options = {}) {
|
|
|
3271
3271
|
return { passed: true, details: `HTTP ${res.statusCode} (malformed auth rejected)` };
|
|
3272
3272
|
}
|
|
3273
3273
|
return { passed: false, details: `HTTP ${res.statusCode} \u2014 server accepted malformed auth token` };
|
|
3274
|
-
} catch (
|
|
3274
|
+
} catch (_err) {
|
|
3275
3275
|
return { passed: true, details: "Connection rejected (acceptable)" };
|
|
3276
3276
|
}
|
|
3277
3277
|
}
|
|
@@ -3784,7 +3784,7 @@ async function runComplianceSuite(target, options = {}) {
|
|
|
3784
3784
|
if (!toolsListOk) return { passed: true, details: "Skipped: tools/list not available" };
|
|
3785
3785
|
const tools = cachedToolsList ?? [];
|
|
3786
3786
|
if (tools.length === 0) return { passed: true, details: "No tools to validate" };
|
|
3787
|
-
const missing = tools.filter((t) =>
|
|
3787
|
+
const missing = tools.filter((t) => t.inputSchema?.type !== "object");
|
|
3788
3788
|
if (missing.length > 0) {
|
|
3789
3789
|
return {
|
|
3790
3790
|
passed: false,
|
package/dist/index.js
CHANGED
|
@@ -3568,7 +3568,7 @@ async function runComplianceSuite(target, options = {}) {
|
|
|
3568
3568
|
return { passed: true, details: `HTTP ${res.statusCode} (unauthenticated request rejected)` };
|
|
3569
3569
|
}
|
|
3570
3570
|
return { passed: false, details: `HTTP ${res.statusCode} \u2014 server accepted unauthenticated request` };
|
|
3571
|
-
} catch (
|
|
3571
|
+
} catch (_err) {
|
|
3572
3572
|
return { passed: true, details: "Connection rejected (acceptable)" };
|
|
3573
3573
|
}
|
|
3574
3574
|
}
|
|
@@ -3630,7 +3630,7 @@ async function runComplianceSuite(target, options = {}) {
|
|
|
3630
3630
|
return { passed: true, details: `HTTP ${res.statusCode} (malformed auth rejected)` };
|
|
3631
3631
|
}
|
|
3632
3632
|
return { passed: false, details: `HTTP ${res.statusCode} \u2014 server accepted malformed auth token` };
|
|
3633
|
-
} catch (
|
|
3633
|
+
} catch (_err) {
|
|
3634
3634
|
return { passed: true, details: "Connection rejected (acceptable)" };
|
|
3635
3635
|
}
|
|
3636
3636
|
}
|
|
@@ -4143,7 +4143,7 @@ async function runComplianceSuite(target, options = {}) {
|
|
|
4143
4143
|
if (!toolsListOk) return { passed: true, details: "Skipped: tools/list not available" };
|
|
4144
4144
|
const tools = cachedToolsList ?? [];
|
|
4145
4145
|
if (tools.length === 0) return { passed: true, details: "No tools to validate" };
|
|
4146
|
-
const missing = tools.filter((t) =>
|
|
4146
|
+
const missing = tools.filter((t) => t.inputSchema?.type !== "object");
|
|
4147
4147
|
if (missing.length > 0) {
|
|
4148
4148
|
return {
|
|
4149
4149
|
passed: false,
|
|
@@ -5798,7 +5798,7 @@ Error: ${message}
|
|
|
5798
5798
|
}
|
|
5799
5799
|
}
|
|
5800
5800
|
);
|
|
5801
|
-
program.command("unpublish").description("Remove a previously-published compliance report from mcp.hosting").argument("<url>", "MCP server URL whose report should be removed").action(async (url) => {
|
|
5801
|
+
program.command("unpublish").description("Remove a previously-published compliance report from mcp.hosting").argument("<url>", "MCP server URL whose report should be removed").option("-y, --yes", "Skip the confirmation prompt (for automation)").action(async (url, opts) => {
|
|
5802
5802
|
try {
|
|
5803
5803
|
const stored = getTokenForUrl(url);
|
|
5804
5804
|
if (!stored) {
|
|
@@ -5811,6 +5811,13 @@ No delete token found locally for ${url} \u2014 nothing to unpublish from this m
|
|
|
5811
5811
|
);
|
|
5812
5812
|
return;
|
|
5813
5813
|
}
|
|
5814
|
+
if (!opts.yes) {
|
|
5815
|
+
const ok = await promptYesNo(chalk2.yellow(`Remove the published report for ${url}? This cannot be undone.`));
|
|
5816
|
+
if (!ok) {
|
|
5817
|
+
console.error(chalk2.dim("\nAborted. Re-run with --yes to skip this prompt.\n"));
|
|
5818
|
+
return;
|
|
5819
|
+
}
|
|
5820
|
+
}
|
|
5814
5821
|
await unpublishReport(stored.hash, stored.entry.deleteToken);
|
|
5815
5822
|
deleteToken(stored.hash);
|
|
5816
5823
|
console.log(chalk2.green(`
|
package/dist/mcp/server.js
CHANGED
package/dist/runner.js
CHANGED
package/package.json
CHANGED