@kryptosai/mcp-observatory 0.18.0 → 0.19.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/src/commands/diff.js +1 -1
- package/dist/src/commands/diff.js.map +1 -1
- package/dist/src/commands/helpers.d.ts +1 -1
- package/dist/src/commands/helpers.js +3 -0
- package/dist/src/commands/helpers.js.map +1 -1
- package/dist/src/commands/legacy.js +1 -1
- package/dist/src/commands/legacy.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/reporters/pr-comment.d.ts +2 -0
- package/dist/src/reporters/pr-comment.js +207 -0
- package/dist/src/reporters/pr-comment.js.map +1 -0
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ export function registerDiffCommands(program) {
|
|
|
6
6
|
.description("Compare two runs and show regressions and schema drift.")
|
|
7
7
|
.argument("<base>", "Base run artifact JSON file.")
|
|
8
8
|
.argument("<head>", "Head run artifact JSON file.")
|
|
9
|
-
.option("--format <format>", "terminal, json, markdown, html, junit, or sarif", "terminal")
|
|
9
|
+
.option("--format <format>", "terminal, json, markdown, pr-comment, html, junit, or sarif", "terminal")
|
|
10
10
|
.option("--output <file>", "Write to file instead of stdout.")
|
|
11
11
|
.option("--no-color", "Disable colored output.")
|
|
12
12
|
.option("--fail-on-regression", "Exit with code 1 when regressions are present.", false)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/commands/diff.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/commands/diff.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,6DAA6D,EAAE,UAAU,CAAC;SACtG,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC;SAC/C,MAAM,CAAC,sBAAsB,EAAE,gDAAgD,EAAE,KAAK,CAAC;SACvF,MAAM,CACL,KAAK,EAAE,IAAY,EAAE,IAAY,EAAE,OAIlC,EAAE,EAAE;QACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,YAAY,CAAC,YAAY,KAAK,KAAK,IAAI,YAAY,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
|
|
@@ -19,7 +19,7 @@ export declare function getPassthroughArgs(): string[];
|
|
|
19
19
|
export declare function resolveTarget(options: {
|
|
20
20
|
target?: string;
|
|
21
21
|
}): Promise<TargetConfig>;
|
|
22
|
-
export declare function formatOutput(artifact: Parameters<typeof renderTerminal>[0], format: "html" | "json" | "junit" | "markdown" | "sarif" | "terminal"): string;
|
|
22
|
+
export declare function formatOutput(artifact: Parameters<typeof renderTerminal>[0], format: "html" | "json" | "junit" | "markdown" | "pr-comment" | "sarif" | "terminal"): string;
|
|
23
23
|
export declare function writeOutput(content: string, format: string, outputPath?: string): Promise<void>;
|
|
24
24
|
/** Returns the command the user actually typed, so tips are copy-pasteable. */
|
|
25
25
|
export declare function getBinName(): string;
|
|
@@ -2,6 +2,7 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { renderHtml, renderMarkdown, renderTerminal, } from "../index.js";
|
|
4
4
|
import { renderJUnit } from "../reporters/junit.js";
|
|
5
|
+
import { renderPrComment } from "../reporters/pr-comment.js";
|
|
5
6
|
import { renderSarif } from "../reporters/sarif.js";
|
|
6
7
|
import { validateTargetConfig } from "../validate.js";
|
|
7
8
|
// ── ANSI Codes ──────────────────────────────────────────────────────────────
|
|
@@ -101,6 +102,8 @@ export function formatOutput(artifact, format) {
|
|
|
101
102
|
return JSON.stringify(artifact, null, 2);
|
|
102
103
|
if (format === "markdown")
|
|
103
104
|
return renderMarkdown(artifact);
|
|
105
|
+
if (format === "pr-comment")
|
|
106
|
+
return renderPrComment(artifact);
|
|
104
107
|
if (format === "html")
|
|
105
108
|
return renderHtml(artifact);
|
|
106
109
|
if (format === "junit" && artifact.artifactType === "run")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ export function registerLegacyCommands(program) {
|
|
|
62
62
|
.command("report", { hidden: true })
|
|
63
63
|
.description("Render a run artifact.")
|
|
64
64
|
.requiredOption("--run <artifact>", "Run artifact JSON.")
|
|
65
|
-
.option("--format <format>", "terminal, markdown, json, or html", "terminal")
|
|
65
|
+
.option("--format <format>", "terminal, markdown, pr-comment, json, or html", "terminal")
|
|
66
66
|
.option("--output <file>", "Write to file instead of stdout.")
|
|
67
67
|
.option("--no-color", "Disable colored output.")
|
|
68
68
|
.action(async (options) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../src/commands/legacy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../src/commands/legacy.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export { scanForTargets } from "./discovery.js";
|
|
|
9
9
|
export { renderHtml } from "./reporters/html.js";
|
|
10
10
|
export { renderJUnit } from "./reporters/junit.js";
|
|
11
11
|
export { renderMarkdown } from "./reporters/markdown.js";
|
|
12
|
+
export { renderPrComment } from "./reporters/pr-comment.js";
|
|
12
13
|
export { renderSarif } from "./reporters/sarif.js";
|
|
13
14
|
export { renderTerminal, renderWatchFirstRun, renderWatchNoChanges, renderWatchChanges } from "./reporters/terminal.js";
|
|
14
15
|
export { runTarget, runTargetRecording, type RunOptions, type RunResult } from "./runner.js";
|
package/dist/src/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { scanForTargets } from "./discovery.js";
|
|
|
9
9
|
export { renderHtml } from "./reporters/html.js";
|
|
10
10
|
export { renderJUnit } from "./reporters/junit.js";
|
|
11
11
|
export { renderMarkdown } from "./reporters/markdown.js";
|
|
12
|
+
export { renderPrComment } from "./reporters/pr-comment.js";
|
|
12
13
|
export { renderSarif } from "./reporters/sarif.js";
|
|
13
14
|
export { renderTerminal, renderWatchFirstRun, renderWatchNoChanges, renderWatchChanges } from "./reporters/terminal.js";
|
|
14
15
|
export { runTarget, runTargetRecording } from "./runner.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,YAAY,GAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,cAAc,EAA0D,MAAM,4BAA4B,CAAC;AACpH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAmC,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAqB,eAAe,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAqB,MAAM,aAAa,CAAC;AAClE,OAAO,EACL,kBAAkB,GAInB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,GAMvB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,YAAY,GAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,cAAc,EAA0D,MAAM,4BAA4B,CAAC;AACpH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAmC,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAqB,eAAe,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAqB,MAAM,aAAa,CAAC;AAClE,OAAO,EACL,kBAAkB,GAInB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,GAMvB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { findChecksByStatus } from "./common.js";
|
|
2
|
+
// ── Constants ───────────────────────────────────────────────────────────────
|
|
3
|
+
const MAX_ITEMS_PER_SECTION = 5;
|
|
4
|
+
const REPO_URL = "https://github.com/KryptosAI/mcp-observatory";
|
|
5
|
+
// ── Extraction helpers ──────────────────────────────────────────────────────
|
|
6
|
+
function extractSecurityFindings(checks) {
|
|
7
|
+
const securityChecks = checks.filter(c => c.id === "security" || c.id === "security-lite");
|
|
8
|
+
const findings = [];
|
|
9
|
+
for (const check of securityChecks) {
|
|
10
|
+
for (const ev of check.evidence) {
|
|
11
|
+
for (const diag of ev.diagnostics ?? []) {
|
|
12
|
+
const match = diag.match(/^\[(high|medium|low)]\s+(.+)$/);
|
|
13
|
+
if (match) {
|
|
14
|
+
findings.push({ severity: match[1], message: match[2] });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return findings;
|
|
20
|
+
}
|
|
21
|
+
function extractQualityFindings(checks) {
|
|
22
|
+
const qualityChecks = checks.filter(c => c.id === "schema-quality");
|
|
23
|
+
const findings = [];
|
|
24
|
+
for (const check of qualityChecks) {
|
|
25
|
+
for (const ev of check.evidence) {
|
|
26
|
+
for (const diag of ev.diagnostics ?? []) {
|
|
27
|
+
const match = diag.match(/^\[(warning|info)]\s+(.+)$/i);
|
|
28
|
+
if (match) {
|
|
29
|
+
findings.push({ severity: match[1], message: match[2] });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return findings;
|
|
35
|
+
}
|
|
36
|
+
function countCapabilities(checks) {
|
|
37
|
+
const get = (id) => {
|
|
38
|
+
const check = checks.find(c => c.id === id);
|
|
39
|
+
return check?.evidence[0]?.itemCount ?? 0;
|
|
40
|
+
};
|
|
41
|
+
return { tools: get("tools"), prompts: get("prompts"), resources: get("resources") };
|
|
42
|
+
}
|
|
43
|
+
function conformanceSummary(checks) {
|
|
44
|
+
const check = checks.find(c => c.id === "conformance");
|
|
45
|
+
if (!check || check.status === "pass")
|
|
46
|
+
return undefined;
|
|
47
|
+
return check.message;
|
|
48
|
+
}
|
|
49
|
+
// ── Formatting helpers ──────────────────────────────────────────────────────
|
|
50
|
+
function blockquoteList(items, max = MAX_ITEMS_PER_SECTION) {
|
|
51
|
+
const shown = items.slice(0, max);
|
|
52
|
+
const lines = shown.map(item => `> ${item}`);
|
|
53
|
+
const remaining = items.length - max;
|
|
54
|
+
if (remaining > 0) {
|
|
55
|
+
lines.push(`> ...and ${remaining} more`);
|
|
56
|
+
}
|
|
57
|
+
return lines.join("\n");
|
|
58
|
+
}
|
|
59
|
+
function footer() {
|
|
60
|
+
return [
|
|
61
|
+
"",
|
|
62
|
+
"---",
|
|
63
|
+
`<sub>🔭 <a href="${REPO_URL}">MCP Observatory</a> — test your MCP servers for breaking changes · <a href="${REPO_URL}">⭐ Star</a></sub>`,
|
|
64
|
+
].join("\n");
|
|
65
|
+
}
|
|
66
|
+
// ── Run artifact rendering ──────────────────────────────────────────────────
|
|
67
|
+
function renderRunComment(artifact) {
|
|
68
|
+
const sections = [];
|
|
69
|
+
const security = extractSecurityFindings(artifact.checks);
|
|
70
|
+
const quality = extractQualityFindings(artifact.checks);
|
|
71
|
+
const failingChecks = findChecksByStatus(artifact.checks, "fail")
|
|
72
|
+
.filter(c => c.id !== "security" && c.id !== "security-lite");
|
|
73
|
+
const conformance = conformanceSummary(artifact.checks);
|
|
74
|
+
const highMedSecurity = security.filter(f => f.severity === "high" || f.severity === "medium");
|
|
75
|
+
const issueCount = highMedSecurity.length + failingChecks.length + quality.length + (conformance ? 1 : 0);
|
|
76
|
+
// Header
|
|
77
|
+
if (issueCount === 0) {
|
|
78
|
+
sections.push("## 🔭 MCP Observatory — All clear ✅");
|
|
79
|
+
sections.push("");
|
|
80
|
+
sections.push("All checks passed. No security issues, no schema quality warnings.");
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
sections.push(`## 🔭 MCP Observatory — ${issueCount} issue${issueCount === 1 ? "" : "s"} found`);
|
|
84
|
+
}
|
|
85
|
+
// Security (red)
|
|
86
|
+
if (highMedSecurity.length > 0) {
|
|
87
|
+
const highCount = highMedSecurity.filter(f => f.severity === "high").length;
|
|
88
|
+
const medCount = highMedSecurity.filter(f => f.severity === "medium").length;
|
|
89
|
+
const parts = [];
|
|
90
|
+
if (highCount > 0)
|
|
91
|
+
parts.push(`${highCount} high`);
|
|
92
|
+
if (medCount > 0)
|
|
93
|
+
parts.push(`${medCount} medium`);
|
|
94
|
+
sections.push("");
|
|
95
|
+
sections.push(`### 🔴 SECURITY (${parts.join(", ")})`);
|
|
96
|
+
sections.push(blockquoteList(highMedSecurity.map(f => `\`${f.severity}\` ${f.message}`)));
|
|
97
|
+
}
|
|
98
|
+
// Failing checks (red)
|
|
99
|
+
if (failingChecks.length > 0) {
|
|
100
|
+
sections.push("");
|
|
101
|
+
sections.push(`### 🔴 FAILING (${failingChecks.length})`);
|
|
102
|
+
sections.push(blockquoteList(failingChecks.map(c => `**${c.id}**: ${c.message}`)));
|
|
103
|
+
}
|
|
104
|
+
// Quality warnings (yellow)
|
|
105
|
+
const qualityItems = [];
|
|
106
|
+
for (const f of quality) {
|
|
107
|
+
qualityItems.push(f.message);
|
|
108
|
+
}
|
|
109
|
+
if (conformance) {
|
|
110
|
+
qualityItems.push(`Conformance: ${conformance}`);
|
|
111
|
+
}
|
|
112
|
+
if (qualityItems.length > 0) {
|
|
113
|
+
sections.push("");
|
|
114
|
+
sections.push(`### ⚠️ QUALITY (${qualityItems.length} warning${qualityItems.length === 1 ? "" : "s"})`);
|
|
115
|
+
sections.push(blockquoteList(qualityItems));
|
|
116
|
+
}
|
|
117
|
+
// Summary stats
|
|
118
|
+
const caps = countCapabilities(artifact.checks);
|
|
119
|
+
const statsLine = [
|
|
120
|
+
artifact.healthScore
|
|
121
|
+
? `Health: **${artifact.healthScore.grade}** (${artifact.healthScore.overall})`
|
|
122
|
+
: `Gate: **${artifact.gate}**`,
|
|
123
|
+
`${caps.tools} tools`,
|
|
124
|
+
`${caps.prompts} prompts`,
|
|
125
|
+
`${caps.resources} resources`,
|
|
126
|
+
].join(" · ");
|
|
127
|
+
sections.push("");
|
|
128
|
+
sections.push(`### 📊 Summary`);
|
|
129
|
+
sections.push(`> ${statsLine}`);
|
|
130
|
+
sections.push(footer());
|
|
131
|
+
return sections.join("\n");
|
|
132
|
+
}
|
|
133
|
+
// ── Diff artifact rendering ─────────────────────────────────────────────────
|
|
134
|
+
function renderDiffComment(artifact) {
|
|
135
|
+
const sections = [];
|
|
136
|
+
const { regressions, recoveries, schemaDrift } = artifact;
|
|
137
|
+
const driftCount = schemaDrift?.length ?? 0;
|
|
138
|
+
const totalIssues = regressions.length + driftCount;
|
|
139
|
+
// Header
|
|
140
|
+
if (totalIssues === 0) {
|
|
141
|
+
sections.push("## 🔭 MCP Observatory — No regressions ✅");
|
|
142
|
+
sections.push("");
|
|
143
|
+
sections.push("All checks stable. No regressions, no schema drift.");
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
const parts = [];
|
|
147
|
+
if (regressions.length > 0)
|
|
148
|
+
parts.push(`${regressions.length} regression${regressions.length === 1 ? "" : "s"}`);
|
|
149
|
+
if (driftCount > 0)
|
|
150
|
+
parts.push(`${driftCount} schema change${driftCount === 1 ? "" : "s"}`);
|
|
151
|
+
sections.push(`## 🔭 MCP Observatory — ${parts.join(", ")} detected`);
|
|
152
|
+
}
|
|
153
|
+
// Regressions (red)
|
|
154
|
+
if (regressions.length > 0) {
|
|
155
|
+
sections.push("");
|
|
156
|
+
sections.push(`### 🔴 REGRESSIONS (${regressions.length})`);
|
|
157
|
+
sections.push(blockquoteList(regressions.map(r => {
|
|
158
|
+
const transition = r.fromStatus && r.toStatus ? `${r.fromStatus} → ${r.toStatus}` : "";
|
|
159
|
+
return `**${r.id}**: ${transition}${transition ? " — " : ""}${r.message}`;
|
|
160
|
+
})));
|
|
161
|
+
}
|
|
162
|
+
// Schema drift (red)
|
|
163
|
+
if (schemaDrift && schemaDrift.length > 0) {
|
|
164
|
+
sections.push("");
|
|
165
|
+
sections.push(`### 🔴 SCHEMA DRIFT (${schemaDrift.length})`);
|
|
166
|
+
const driftLines = flattenDrift(schemaDrift);
|
|
167
|
+
sections.push(blockquoteList(driftLines));
|
|
168
|
+
}
|
|
169
|
+
// Recoveries (green)
|
|
170
|
+
if (recoveries.length > 0) {
|
|
171
|
+
sections.push("");
|
|
172
|
+
sections.push(`### ✅ RECOVERED (${recoveries.length})`);
|
|
173
|
+
sections.push(blockquoteList(recoveries.map(r => {
|
|
174
|
+
const transition = r.fromStatus && r.toStatus ? `${r.fromStatus} → ${r.toStatus}` : "";
|
|
175
|
+
return `**${r.id}**: ${transition}`;
|
|
176
|
+
})));
|
|
177
|
+
}
|
|
178
|
+
// Summary
|
|
179
|
+
const { summary } = artifact;
|
|
180
|
+
const statsLine = [
|
|
181
|
+
`Gate: **${artifact.gate}**`,
|
|
182
|
+
`Regressions: ${summary.regressions}`,
|
|
183
|
+
`Recoveries: ${summary.recoveries}`,
|
|
184
|
+
`Unchanged: ${summary.unchanged}`,
|
|
185
|
+
].join(" · ");
|
|
186
|
+
sections.push("");
|
|
187
|
+
sections.push(`### 📊 Summary`);
|
|
188
|
+
sections.push(`> ${statsLine}`);
|
|
189
|
+
sections.push(footer());
|
|
190
|
+
return sections.join("\n");
|
|
191
|
+
}
|
|
192
|
+
function flattenDrift(drift) {
|
|
193
|
+
const lines = [];
|
|
194
|
+
for (const entry of drift) {
|
|
195
|
+
for (const change of entry.changes) {
|
|
196
|
+
lines.push(`**${entry.name}**: ${change}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return lines;
|
|
200
|
+
}
|
|
201
|
+
// ── Public API ──────────────────────────────────────────────────────────────
|
|
202
|
+
export function renderPrComment(artifact) {
|
|
203
|
+
return artifact.artifactType === "run"
|
|
204
|
+
? renderRunComment(artifact)
|
|
205
|
+
: renderDiffComment(artifact);
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=pr-comment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-comment.js","sourceRoot":"","sources":["../../../src/reporters/pr-comment.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kryptosai/mcp-observatory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "Test your MCP servers for breaking changes. Checks capabilities, invokes tools, detects schema drift between versions.",
|
|
5
5
|
"mcpName": "io.github.KryptosAI/mcp-observatory",
|
|
6
6
|
"license": "MIT",
|