mcprigor 1.4.0 → 1.5.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.
- package/README.md +21 -4
- package/dist/audit.d.ts +44 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +157 -0
- package/dist/audit.js.map +1 -0
- package/dist/cli.js +243 -10
- package/dist/cli.js.map +1 -1
- package/dist/composition.d.ts +42 -0
- package/dist/composition.d.ts.map +1 -0
- package/dist/composition.js +130 -0
- package/dist/composition.js.map +1 -0
- package/dist/coverage.d.ts +33 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/coverage.js +83 -0
- package/dist/coverage.js.map +1 -0
- package/dist/export.d.ts +4 -0
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +56 -0
- package/dist/export.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/language.js +1 -1
- package/dist/language.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +4 -1
- package/dist/loader.js.map +1 -1
- package/dist/monitor.d.ts +22 -0
- package/dist/monitor.d.ts.map +1 -0
- package/dist/monitor.js +71 -0
- package/dist/monitor.js.map +1 -0
- package/dist/oauth.d.ts +73 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +144 -0
- package/dist/oauth.js.map +1 -0
- package/dist/perf.d.ts +37 -0
- package/dist/perf.d.ts.map +1 -0
- package/dist/perf.js +90 -0
- package/dist/perf.js.map +1 -0
- package/dist/publish.d.ts +19 -0
- package/dist/publish.d.ts.map +1 -0
- package/dist/publish.js +58 -0
- package/dist/publish.js.map +1 -0
- package/dist/qa-language.d.ts.map +1 -1
- package/dist/qa-language.js +75 -3
- package/dist/qa-language.js.map +1 -1
- package/dist/reporters.d.ts +3 -1
- package/dist/reporters.d.ts.map +1 -1
- package/dist/reporters.js +21 -3
- package/dist/reporters.js.map +1 -1
- package/dist/runner.d.ts +7 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +53 -15
- package/dist/runner.js.map +1 -1
- package/dist/schema.d.ts +66 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +21 -1
- package/dist/schema.js.map +1 -1
- package/dist/session.d.ts +2 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +7 -3
- package/dist/session.js.map +1 -1
- package/dist/timeline.d.ts +18 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +59 -0
- package/dist/timeline.js.map +1 -0
- package/dist/types.d.ts +29 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +35 -3
- package/dist/workspace.js.map +1 -1
- package/docs/AUTHENTICATION.md +213 -0
- package/docs/CLI-REFERENCE.md +123 -2
- package/docs/COVERAGE.md +37 -0
- package/docs/ENGINEER-SETUP.md +1 -1
- package/docs/EVIDENCE.md +11 -0
- package/docs/GETTING-STARTED.md +1 -1
- package/docs/GITHUB-ACTION.md +82 -0
- package/docs/LANGUAGE-SPEC.md +64 -7
- package/docs/MCP-SERVER.md +1 -1
- package/docs/MONITORING.md +62 -0
- package/docs/MULTI-SERVER-COMPOSITIONS.md +103 -0
- package/docs/{PLAIN-LANGUAGE-COOKBOOK.md → NATURAL-LANGUAGE-COOKBOOK.md} +63 -4
- package/docs/PERFORMANCE-GOVERNANCE.md +85 -0
- package/docs/PUBLISHING.md +53 -0
- package/docs/QA-GUIDE.md +2 -2
- package/docs/QA-WORKSPACE.md +5 -1
- package/docs/README.md +10 -2
- package/docs/SECURITY-AUDIT.md +77 -0
- package/editors/mcpr-language.json +2 -2
- package/editors/vscode/package.json +1 -1
- package/editors/vscode/syntaxes/mcpr.tmLanguage.json +2 -2
- package/package.json +1 -2
- package/workspace-assets/app.js +35 -4
- package/workspace-assets/index.html +4 -1
- package/workspace-assets/style.css +2 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { readFile, rename, writeFile } from "node:fs/promises";
|
|
2
|
+
import YAML from "yaml";
|
|
3
|
+
import { canonicalize, fingerprint } from "./canonical.js";
|
|
4
|
+
import { compareContracts } from "./contract.js";
|
|
5
|
+
import { discoverTarget } from "./discovery.js";
|
|
6
|
+
/** Discover every named server and detect namespace/schema conflicts deterministically. */
|
|
7
|
+
export async function discoverComposition(servers) {
|
|
8
|
+
const names = Object.keys(servers).sort();
|
|
9
|
+
if (names.length < 2)
|
|
10
|
+
throw new Error("MCP-COMP-000 A composition needs at least two named servers");
|
|
11
|
+
const documents = await Promise.all(names.map(async (name) => [name, await discoverTarget(servers[name])]));
|
|
12
|
+
const discovered = Object.fromEntries(documents);
|
|
13
|
+
const issues = compositionIssues(discovered);
|
|
14
|
+
const stableServers = Object.fromEntries(Object.entries(discovered).map(([name, document]) => [name, { server: document.server, protocolVersion: document.protocolVersion, tools: document.tools, resources: document.resources, resourceTemplates: document.resourceTemplates, prompts: document.prompts }]));
|
|
15
|
+
const contract = canonicalize({ servers: stableServers, issues });
|
|
16
|
+
return { schemaVersion: 1, kind: "mcprigor-composition", discoveredAt: new Date().toISOString(), fingerprint: fingerprint(contract), servers: discovered, issues };
|
|
17
|
+
}
|
|
18
|
+
export function compositionIssues(servers) {
|
|
19
|
+
const issues = [];
|
|
20
|
+
const toolIndex = namedIndex(servers, "tools", "name");
|
|
21
|
+
for (const [name, occurrences] of toolIndex) {
|
|
22
|
+
if (occurrences.length < 2)
|
|
23
|
+
continue;
|
|
24
|
+
const serverNames = occurrences.map((item) => item.server).sort();
|
|
25
|
+
issues.push({ code: "MCP-COMP-001", severity: "potentially-breaking", kind: "tool-collision", name, servers: serverNames, message: `Tool “${name}” is advertised by ${serverNames.join(", ")}` });
|
|
26
|
+
const schemas = new Set(occurrences.map((item) => JSON.stringify(canonicalize({ inputSchema: item.value.inputSchema, outputSchema: item.value.outputSchema }))));
|
|
27
|
+
if (schemas.size > 1)
|
|
28
|
+
issues.push({ code: "MCP-COMP-002", severity: "breaking", kind: "tool-schema-conflict", name, servers: serverNames, message: `Tool “${name}” has conflicting schemas across ${serverNames.join(", ")}` });
|
|
29
|
+
}
|
|
30
|
+
for (const [name, occurrences] of namedIndex(servers, "resources", "uri"))
|
|
31
|
+
if (occurrences.length > 1) {
|
|
32
|
+
const serverNames = occurrences.map((item) => item.server).sort();
|
|
33
|
+
issues.push({ code: "MCP-COMP-003", severity: "breaking", kind: "resource-collision", name, servers: serverNames, message: `Resource URI “${name}” is owned by multiple servers: ${serverNames.join(", ")}` });
|
|
34
|
+
}
|
|
35
|
+
for (const [name, occurrences] of namedIndex(servers, "resourceTemplates", "uriTemplate"))
|
|
36
|
+
if (occurrences.length > 1) {
|
|
37
|
+
const serverNames = occurrences.map((item) => item.server).sort();
|
|
38
|
+
issues.push({ code: "MCP-COMP-003", severity: "breaking", kind: "resource-collision", name, servers: serverNames, message: `Resource template “${name}” is owned by multiple servers: ${serverNames.join(", ")}` });
|
|
39
|
+
}
|
|
40
|
+
for (const [name, occurrences] of namedIndex(servers, "prompts", "name"))
|
|
41
|
+
if (occurrences.length > 1) {
|
|
42
|
+
const serverNames = occurrences.map((item) => item.server).sort();
|
|
43
|
+
issues.push({ code: "MCP-COMP-004", severity: "potentially-breaking", kind: "prompt-collision", name, servers: serverNames, message: `Prompt “${name}” is advertised by ${serverNames.join(", ")}` });
|
|
44
|
+
}
|
|
45
|
+
return issues.sort((a, b) => severityRank(a.severity) - severityRank(b.severity) || a.name.localeCompare(b.name) || a.code.localeCompare(b.code));
|
|
46
|
+
}
|
|
47
|
+
function namedIndex(servers, surface, key) {
|
|
48
|
+
const index = new Map();
|
|
49
|
+
for (const [server, document] of Object.entries(servers))
|
|
50
|
+
for (const item of document[surface]) {
|
|
51
|
+
if (!item || typeof item !== "object" || typeof item[key] !== "string")
|
|
52
|
+
continue;
|
|
53
|
+
const name = String(item[key]);
|
|
54
|
+
const values = index.get(name) ?? [];
|
|
55
|
+
values.push({ server, value: item });
|
|
56
|
+
index.set(name, values);
|
|
57
|
+
}
|
|
58
|
+
return index;
|
|
59
|
+
}
|
|
60
|
+
export async function writeCompositionLock(lock, file) {
|
|
61
|
+
const temporary = `${file}.${process.pid}.tmp`;
|
|
62
|
+
await writeFile(temporary, file.endsWith(".json") ? JSON.stringify(lock, null, 2) + "\n" : YAML.stringify(lock, { sortMapEntries: true }), "utf8");
|
|
63
|
+
await rename(temporary, file);
|
|
64
|
+
}
|
|
65
|
+
export async function readCompositionLock(file) {
|
|
66
|
+
const source = await readFile(file, "utf8");
|
|
67
|
+
const value = file.endsWith(".json") ? JSON.parse(source) : YAML.parse(source);
|
|
68
|
+
if (!value || typeof value !== "object" || value.kind !== "mcprigor-composition" || value.schemaVersion !== 1 || !value.servers || typeof value.servers !== "object" || !Array.isArray(value.issues))
|
|
69
|
+
throw new Error(`MCP-COMP-LOCK-001 ${file} is not an MCP Rigor composition lock`);
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
export async function updateCompositionLock(file, servers) {
|
|
73
|
+
const before = await readCompositionLock(file);
|
|
74
|
+
const after = await discoverComposition(servers);
|
|
75
|
+
const diff = compareCompositions(before, after);
|
|
76
|
+
await writeCompositionLock(after, file);
|
|
77
|
+
return diff;
|
|
78
|
+
}
|
|
79
|
+
/** Compare the entire fleet: added/removed servers, each contract, and collision-set changes. */
|
|
80
|
+
export function compareCompositions(before, after) {
|
|
81
|
+
const changes = [];
|
|
82
|
+
const serverDiffs = {};
|
|
83
|
+
const oldNames = new Set(Object.keys(before.servers));
|
|
84
|
+
const newNames = new Set(Object.keys(after.servers));
|
|
85
|
+
for (const name of [...oldNames].sort()) {
|
|
86
|
+
if (!newNames.has(name))
|
|
87
|
+
changes.push({ severity: "breaking", code: "MCP-COMP-DRIFT-001", path: `servers.${name}`, message: `Server “${name}” was removed from the composition` });
|
|
88
|
+
else {
|
|
89
|
+
const diff = compareContracts(before.servers[name], after.servers[name]);
|
|
90
|
+
serverDiffs[name] = diff;
|
|
91
|
+
for (const change of diff.changes)
|
|
92
|
+
changes.push({ ...change, path: `servers.${name}.${change.path}`, message: `${name}: ${change.message}` });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
for (const name of [...newNames].sort())
|
|
96
|
+
if (!oldNames.has(name))
|
|
97
|
+
changes.push({ severity: "non-breaking", code: "MCP-COMP-DRIFT-002", path: `servers.${name}`, message: `Server “${name}” was added to the composition` });
|
|
98
|
+
const issueKey = (issue) => `${issue.code}\0${issue.name}\0${issue.servers.join(",")}`;
|
|
99
|
+
const oldIssues = new Map(before.issues.map((issue) => [issueKey(issue), issue]));
|
|
100
|
+
const newIssues = new Map(after.issues.map((issue) => [issueKey(issue), issue]));
|
|
101
|
+
const compositionChanges = [];
|
|
102
|
+
for (const [key, issue] of newIssues)
|
|
103
|
+
if (!oldIssues.has(key))
|
|
104
|
+
compositionChanges.push({ severity: issue.severity === "notice" ? "non-breaking" : issue.severity, code: "MCP-COMP-DRIFT-010", message: `New composition conflict: ${issue.message}` });
|
|
105
|
+
for (const [key, issue] of oldIssues)
|
|
106
|
+
if (!newIssues.has(key))
|
|
107
|
+
compositionChanges.push({ severity: "non-breaking", code: "MCP-COMP-DRIFT-011", message: `Composition conflict resolved: ${issue.message}` });
|
|
108
|
+
const all = [...changes, ...compositionChanges.map((item) => ({ ...item, path: "composition.issues" }))];
|
|
109
|
+
return { status: all.length ? "changed" : "unchanged", breaking: all.filter((item) => item.severity === "breaking").length, potentiallyBreaking: all.filter((item) => item.severity === "potentially-breaking").length, nonBreaking: all.filter((item) => item.severity === "non-breaking").length, servers: serverDiffs, changes, compositionChanges };
|
|
110
|
+
}
|
|
111
|
+
export function compositionReport(lock) {
|
|
112
|
+
const lines = [`MCP Rigor composition — ${Object.keys(lock.servers).length} servers`, `Combined fingerprint: ${lock.fingerprint}`, `${lock.issues.length} namespace/schema issue${lock.issues.length === 1 ? "" : "s"}`];
|
|
113
|
+
for (const issue of lock.issues)
|
|
114
|
+
lines.push(`${issue.severity === "breaking" ? "✗" : "!"} ${issue.message} [${issue.code}]`);
|
|
115
|
+
if (!lock.issues.length)
|
|
116
|
+
lines.push("✓ No tool, schema, resource URI, or prompt-name collisions detected.");
|
|
117
|
+
return lines.join("\n");
|
|
118
|
+
}
|
|
119
|
+
export function compositionDriftReport(diff) {
|
|
120
|
+
if (diff.status === "unchanged")
|
|
121
|
+
return "No MCP composition drift detected.";
|
|
122
|
+
const lines = [`${diff.breaking} breaking, ${diff.potentiallyBreaking} potentially breaking, ${diff.nonBreaking} non-breaking composition changes`];
|
|
123
|
+
for (const change of diff.changes)
|
|
124
|
+
lines.push(`${change.severity === "breaking" ? "✗" : change.severity === "potentially-breaking" ? "!" : "✓"} ${change.message} [${change.code}]`);
|
|
125
|
+
for (const change of diff.compositionChanges)
|
|
126
|
+
lines.push(`${change.severity === "breaking" ? "✗" : change.severity === "potentially-breaking" ? "!" : "✓"} ${change.message} [${change.code}]`);
|
|
127
|
+
return lines.join("\n");
|
|
128
|
+
}
|
|
129
|
+
function severityRank(value) { return value === "breaking" ? 0 : value === "potentially-breaking" ? 1 : 2; }
|
|
130
|
+
//# sourceMappingURL=composition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { DiscoveryDocument, Suite } from "./types.js";
|
|
2
|
+
export interface CoverageItem {
|
|
3
|
+
kind: "tool" | "resource" | "resource-template" | "prompt" | "schema";
|
|
4
|
+
name: string;
|
|
5
|
+
covered: boolean;
|
|
6
|
+
detail?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface CoverageResult {
|
|
9
|
+
schemaVersion: 1;
|
|
10
|
+
score: number;
|
|
11
|
+
covered: number;
|
|
12
|
+
total: number;
|
|
13
|
+
surfaces: {
|
|
14
|
+
tools: Fraction;
|
|
15
|
+
resources: Fraction;
|
|
16
|
+
resourceTemplates: Fraction;
|
|
17
|
+
prompts: Fraction;
|
|
18
|
+
schemaBranches: Fraction;
|
|
19
|
+
};
|
|
20
|
+
items: CoverageItem[];
|
|
21
|
+
}
|
|
22
|
+
interface Fraction {
|
|
23
|
+
covered: number;
|
|
24
|
+
total: number;
|
|
25
|
+
percent: number;
|
|
26
|
+
}
|
|
27
|
+
/** Static deterministic coverage: what the suite references vs the discovered MCP contract. */
|
|
28
|
+
export declare function measureCoverage(suite: Suite): Promise<CoverageResult>;
|
|
29
|
+
export declare function coverageAgainst(suite: Suite, contract: DiscoveryDocument): CoverageResult;
|
|
30
|
+
export declare function coverageReport(result: CoverageResult): string;
|
|
31
|
+
export declare function coverageMarkdown(result: CoverageResult): string;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=coverage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../src/coverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAY,MAAM,YAAY,CAAC;AAErE,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AACxJ,MAAM,WAAW,cAAc;IAAG,aAAa,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,QAAQ,CAAC;QAAC,iBAAiB,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAC;QAAC,cAAc,EAAE,QAAQ,CAAA;KAAE,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE;AACxP,UAAU,QAAQ;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAEtE,+FAA+F;AAC/F,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAuE;AACnJ,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,GAAG,cAAc,CA2BzF;AA0BD,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAI7D;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAke"}
|
package/dist/coverage.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { discoverTarget } from "./discovery.js";
|
|
2
|
+
/** Static deterministic coverage: what the suite references vs the discovered MCP contract. */
|
|
3
|
+
export async function measureCoverage(suite) { return coverageAgainst(suite, await discoverTarget(suite.target)); }
|
|
4
|
+
export function coverageAgainst(suite, contract) {
|
|
5
|
+
const items = [];
|
|
6
|
+
const steps = suite.tests.flatMap((test) => test.steps);
|
|
7
|
+
const tools = contract.tools;
|
|
8
|
+
for (const tool of tools.filter((x) => x.name)) {
|
|
9
|
+
const calls = steps.filter((step) => "tool" in step && step.tool.name === tool.name);
|
|
10
|
+
items.push({ kind: "tool", name: tool.name, covered: calls.length > 0, detail: calls.length ? `${calls.length} call${calls.length === 1 ? "" : "s"}` : "never called" });
|
|
11
|
+
const schemas = schemaBranches(tool.name, tool.inputSchema);
|
|
12
|
+
for (const branch of schemas)
|
|
13
|
+
items.push({ kind: "schema", name: branch.name, covered: calls.some((call) => branch.matches(call.tool.arguments ?? {})), detail: `tool ${tool.name}` });
|
|
14
|
+
}
|
|
15
|
+
const requestSteps = steps.filter((step) => "request" in step);
|
|
16
|
+
for (const resource of contract.resources.filter((x) => x.uri)) {
|
|
17
|
+
const covered = requestSteps.some((step) => step.request.method === "resources/read" && step.request.params?.uri === resource.uri);
|
|
18
|
+
items.push({ kind: "resource", name: resource.uri, covered, detail: covered ? "read by suite" : "never read" });
|
|
19
|
+
}
|
|
20
|
+
for (const template of contract.resourceTemplates.filter((x) => x.uriTemplate)) {
|
|
21
|
+
const prefix = template.uriTemplate.split("{")[0];
|
|
22
|
+
const covered = requestSteps.some((step) => step.request.method === "resources/read" && typeof step.request.params?.uri === "string" && String(step.request.params.uri).startsWith(prefix));
|
|
23
|
+
items.push({ kind: "resource-template", name: template.uriTemplate, covered, detail: covered ? "matching URI read by suite" : "never matched by a resource read" });
|
|
24
|
+
}
|
|
25
|
+
for (const prompt of contract.prompts.filter((x) => x.name)) {
|
|
26
|
+
const covered = requestSteps.some((step) => step.request.method === "prompts/get" && step.request.params?.name === prompt.name);
|
|
27
|
+
items.push({ kind: "prompt", name: prompt.name, covered, detail: covered ? "requested by suite" : "never requested" });
|
|
28
|
+
}
|
|
29
|
+
const fraction = (kind) => { const list = items.filter((x) => x.kind === kind); const covered = list.filter((x) => x.covered).length; return { covered, total: list.length, percent: list.length ? Math.round(covered / list.length * 100) : 100 }; };
|
|
30
|
+
const covered = items.filter((x) => x.covered).length;
|
|
31
|
+
const total = items.length;
|
|
32
|
+
return { schemaVersion: 1, score: total ? Math.round(covered / total * 100) : 100, covered, total, surfaces: { tools: fraction("tool"), resources: fraction("resource"), resourceTemplates: fraction("resource-template"), prompts: fraction("prompt"), schemaBranches: fraction("schema") }, items };
|
|
33
|
+
}
|
|
34
|
+
function schemaBranches(tool, schema) {
|
|
35
|
+
const out = [];
|
|
36
|
+
const walk = (node, path, getter) => {
|
|
37
|
+
if (!node || typeof node !== "object" || Array.isArray(node))
|
|
38
|
+
return;
|
|
39
|
+
const record = node;
|
|
40
|
+
if (record.properties && typeof record.properties === "object")
|
|
41
|
+
for (const [key, child] of Object.entries(record.properties)) {
|
|
42
|
+
const get = (value) => value && typeof value === "object" ? value[key] : undefined;
|
|
43
|
+
out.push({ name: `${tool}:${path}.properties.${key}`, matches: (value) => get(getter(value)) !== undefined });
|
|
44
|
+
walk(child, `${path}.properties.${key}`, (value) => get(getter(value)));
|
|
45
|
+
}
|
|
46
|
+
if (Array.isArray(record.enum))
|
|
47
|
+
for (const option of record.enum)
|
|
48
|
+
out.push({ name: `${tool}:${path}.enum=${JSON.stringify(option)}`, matches: (value) => Object.is(getter(value), option) });
|
|
49
|
+
for (const keyword of ["oneOf", "anyOf"])
|
|
50
|
+
if (Array.isArray(record[keyword]))
|
|
51
|
+
record[keyword].forEach((branch, index) => out.push({ name: `${tool}:${path}.${keyword}[${index}]`, matches: (value) => shallowMatch(getter(value), branch) }));
|
|
52
|
+
};
|
|
53
|
+
walk(schema, "$", (value) => value);
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
function shallowMatch(value, schema) {
|
|
57
|
+
if (!schema || typeof schema !== "object")
|
|
58
|
+
return false;
|
|
59
|
+
const s = schema;
|
|
60
|
+
if ("const" in s)
|
|
61
|
+
return Object.is(value, s.const);
|
|
62
|
+
if (Array.isArray(s.enum))
|
|
63
|
+
return s.enum.some((x) => Object.is(x, value));
|
|
64
|
+
if (s.required && Array.isArray(s.required))
|
|
65
|
+
return !!value && typeof value === "object" && s.required.every((key) => typeof key === "string" && key in value);
|
|
66
|
+
if (typeof s.type === "string")
|
|
67
|
+
return s.type === "array" ? Array.isArray(value) : s.type === "object" ? !!value && typeof value === "object" && !Array.isArray(value) : typeof value === s.type;
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
export function coverageReport(result) {
|
|
71
|
+
const lines = [`MCP Rigor coverage: ${result.score}% (${result.covered}/${result.total})`, `Tools ${result.surfaces.tools.percent}% · Resources ${result.surfaces.resources.percent}% · Templates ${result.surfaces.resourceTemplates.percent}% · Prompts ${result.surfaces.prompts.percent}% · Schema branches ${result.surfaces.schemaBranches.percent}%`];
|
|
72
|
+
const missing = result.items.filter((x) => !x.covered);
|
|
73
|
+
if (!missing.length)
|
|
74
|
+
lines.push("✓ Every discovered surface and schema branch is covered.");
|
|
75
|
+
else {
|
|
76
|
+
lines.push("", "Uncovered:");
|
|
77
|
+
for (const item of missing)
|
|
78
|
+
lines.push(`○ ${item.kind}: ${item.name} — ${item.detail ?? "not exercised"}`);
|
|
79
|
+
}
|
|
80
|
+
return lines.join("\n");
|
|
81
|
+
}
|
|
82
|
+
export function coverageMarkdown(result) { return [`# MCP Rigor coverage — ${result.score}%`, "", `**${result.covered}/${result.total}** discovered coverage units exercised.`, "", "| Surface | Covered | Total | Percent |", "|---|---:|---:|---:|", ...Object.entries(result.surfaces).map(([name, x]) => `| ${name} | ${x.covered} | ${x.total} | ${x.percent}% |`), "", "## Uncovered", "", ...result.items.filter((x) => !x.covered).map((x) => `- **${x.kind}** \`${x.name}\` — ${x.detail ?? "not exercised"}`), ""].join("\n"); }
|
|
83
|
+
//# sourceMappingURL=coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../src/coverage.ts"],"names":[],"mappings":"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"}
|
package/dist/export.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AuditResult } from "./audit.js";
|
|
1
2
|
import type { RunResult } from "./types.js";
|
|
2
3
|
import type { HistoryEntry } from "./workspace.js";
|
|
3
4
|
export declare function csvRows(rows: Array<Array<unknown>>): string;
|
|
@@ -11,6 +12,9 @@ export declare function trendsCsv(entries: HistoryEntry[]): string;
|
|
|
11
12
|
export declare function runPdf(result: RunResult): Buffer;
|
|
12
13
|
/** Historical trends as a designed PDF: overview cards, per-suite run timelines, per-test pass-rate bars. */
|
|
13
14
|
export declare function trendsPdf(entries: HistoryEntry[], scope?: string): Buffer;
|
|
15
|
+
/** Designed security audit PDF: score/grade, severity cards, and finding detail. */
|
|
16
|
+
export declare function auditPdf(result: AuditResult): Buffer;
|
|
17
|
+
export declare function auditCsv(result: AuditResult): string;
|
|
14
18
|
export declare function writeRunCsv(result: RunResult, file: string): Promise<void>;
|
|
15
19
|
export declare function writeRunPdf(result: RunResult, file: string): Promise<void>;
|
|
16
20
|
//# sourceMappingURL=export.d.ts.map
|
package/dist/export.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAE3D;AAED,wCAAwC;AACxC,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAIhD;AAED,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAO1D;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAkBzD;AAkLD,sGAAsG;AACtG,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAsDhD;AAED,6GAA6G;AAC7G,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CA4DzE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAmD;AACpI,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAA2C"}
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAE3D;AAED,wCAAwC;AACxC,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAIhD;AAED,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAO1D;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAkBzD;AAkLD,sGAAsG;AACtG,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAsDhD;AAED,6GAA6G;AAC7G,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CA4DzE;AAED,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsCpD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAIpD;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAmD;AACpI,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAA2C"}
|
package/dist/export.js
CHANGED
|
@@ -361,6 +361,62 @@ export function trendsPdf(entries, scope) {
|
|
|
361
361
|
}
|
|
362
362
|
return pdf.finish();
|
|
363
363
|
}
|
|
364
|
+
/** Designed security audit PDF: score/grade, severity cards, and finding detail. */
|
|
365
|
+
export function auditPdf(result) {
|
|
366
|
+
const pdf = new Pdf(`MCP Rigor security audit — ${result.server.name ?? "MCP server"}`);
|
|
367
|
+
headerBand(pdf, "Security & permissions audit", `${result.server.name ?? "MCP server"} ${result.server.version ?? ""} — deterministic probe pack — ${result.startedAt}`);
|
|
368
|
+
statCards(pdf, [
|
|
369
|
+
{ label: "Score", value: `${result.score}/100`, ink: result.score >= 90 ? GREEN : result.score >= 70 ? AMBER : RED },
|
|
370
|
+
{ label: "Grade", value: result.grade, ink: result.grade === "A" ? GREEN : result.grade <= "C" ? RED : AMBER },
|
|
371
|
+
{ label: "Passed", value: String(result.summary.passed), ink: GREEN },
|
|
372
|
+
{ label: "Failed", value: String(result.summary.failed), ink: result.summary.failed ? RED : DIM },
|
|
373
|
+
{ label: "Skipped", value: String(result.summary.skipped), ink: DIM },
|
|
374
|
+
]);
|
|
375
|
+
pdf.text("SEVERITY", MARGIN, pdf.y - 10, 8.5, BRAND, true);
|
|
376
|
+
pdf.rule(pdf.y - 16, LINE);
|
|
377
|
+
pdf.y -= 28;
|
|
378
|
+
const cards = [["Critical", result.summary.critical, RED], ["High", result.summary.high, RED], ["Medium", result.summary.medium, AMBER], ["Low", result.summary.low, PURPLE]];
|
|
379
|
+
cards.forEach(([label, count, ink], index) => {
|
|
380
|
+
const x = MARGIN + index * 128;
|
|
381
|
+
pdf.pill(`${label.toUpperCase()} ${count}`, x, pdf.y - 5, 8, ink, count ? (ink === RED ? RED_SOFT : AMBER_SOFT) : ZEBRA);
|
|
382
|
+
});
|
|
383
|
+
pdf.y -= 32;
|
|
384
|
+
pdf.text("FINDINGS", MARGIN, pdf.y - 10, 8.5, BRAND, true);
|
|
385
|
+
pdf.rule(pdf.y - 16, LINE);
|
|
386
|
+
pdf.y -= 26;
|
|
387
|
+
result.findings.forEach((finding, index) => {
|
|
388
|
+
const detail = wrapText(finding.message, 8.5, CONTENT_W - 84);
|
|
389
|
+
const evidence = finding.evidence ? wrapText(`Evidence: ${finding.evidence}`, 7.5, CONTENT_W - 84).slice(0, 3) : [];
|
|
390
|
+
const need = 27 + detail.length * 11 + evidence.length * 10;
|
|
391
|
+
pdf.ensure(need);
|
|
392
|
+
const top = pdf.y;
|
|
393
|
+
if (index % 2 === 0)
|
|
394
|
+
pdf.rect(MARGIN - 6, top - need + 5, CONTENT_W + 12, need, ZEBRA, 5);
|
|
395
|
+
pdf.pill(finding.status.toUpperCase(), MARGIN, top - 13, 7, STATUS_INK[finding.status] ?? DIM, STATUS_BG[finding.status] ?? ZEBRA);
|
|
396
|
+
pdf.text(truncate(`${finding.id} ${finding.title}`, 9.5, CONTENT_W - 88, true), MARGIN + 72, top - 13, 9.5, INK, true);
|
|
397
|
+
pdf.text(finding.severity.toUpperCase(), PAGE_W - MARGIN - 48, top - 13, 7.5, finding.severity === "critical" || finding.severity === "high" ? RED : finding.severity === "medium" ? AMBER : DIM, true);
|
|
398
|
+
let y = top - 29;
|
|
399
|
+
for (const line of detail) {
|
|
400
|
+
pdf.text(line, MARGIN + 72, y, 8.5, DIM);
|
|
401
|
+
y -= 11;
|
|
402
|
+
}
|
|
403
|
+
for (const line of evidence) {
|
|
404
|
+
pdf.text(line, MARGIN + 72, y, 7.5, FAINT);
|
|
405
|
+
y -= 10;
|
|
406
|
+
}
|
|
407
|
+
pdf.y = top - need - 2;
|
|
408
|
+
});
|
|
409
|
+
pdf.ensure(30);
|
|
410
|
+
pdf.rule(pdf.y - 4, LINE);
|
|
411
|
+
pdf.text("Scoring: critical -35, high -20, medium -10, low -4. Skipped probes do not affect score.", MARGIN, pdf.y - 18, 7.5, FAINT);
|
|
412
|
+
return pdf.finish();
|
|
413
|
+
}
|
|
414
|
+
export function auditCsv(result) {
|
|
415
|
+
const rows = [["server", "score", "grade", "id", "category", "status", "severity", "tool", "title", "message"]];
|
|
416
|
+
for (const item of result.findings)
|
|
417
|
+
rows.push([result.server.name ?? "", result.score, result.grade, item.id, item.category, item.status, item.severity, item.tool ?? "", item.title, item.message]);
|
|
418
|
+
return csvRows(rows);
|
|
419
|
+
}
|
|
364
420
|
export async function writeRunCsv(result, file) { await writeFile(file, runCsv(result), "utf8"); }
|
|
365
421
|
export async function writeRunPdf(result, file) { await writeFile(file, runPdf(result)); }
|
|
366
422
|
//# sourceMappingURL=export.js.map
|
package/dist/export.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export { authorTest, createReadlinePromptAdapter, flattenResponse, renderAuthore
|
|
|
3
3
|
export { canonicalize, canonicalJson, fingerprint } from "./canonical.js";
|
|
4
4
|
export { checkContract, compareContracts, contractMarkdown, contractReport, readContract, updateContract, type ContractChange, type ContractDiff, type DriftSeverity } from "./contract.js";
|
|
5
5
|
export { discoverTarget, generateSuite, writeGeneratedSuite, writeLock } from "./discovery.js";
|
|
6
|
+
export { coverageAgainst, coverageMarkdown, coverageReport, measureCoverage, type CoverageItem, type CoverageResult } from "./coverage.js";
|
|
7
|
+
export { compareCompositions, compositionDriftReport, compositionIssues, compositionReport, discoverComposition, readCompositionLock, updateCompositionLock, writeCompositionLock, type CompositionDrift, type CompositionIssue, type CompositionLock } from "./composition.js";
|
|
6
8
|
export { clearDataCache, loadData, type DataProvider, type DataRow, type DataSet } from "./data.js";
|
|
7
9
|
export { builtinNames, callUtility, createFunctionRegistry, type UtilityFunction } from "./extensions.js";
|
|
8
10
|
export { resolveFlowImports, type ImportGraph } from "./imports.js";
|
|
@@ -20,6 +22,9 @@ export { SnapshotStore, normalizeSnapshot, renderSemanticDiff, semanticDiff, typ
|
|
|
20
22
|
export { readState, targetFingerprint, writeState, type PersistedState } from "./state.js";
|
|
21
23
|
export { compareEvidence, showEvidence, TraceRecorder, traceSession, writeEvidenceBundle, type EvidenceManifest, type NormalizedTraceEvent, type TraceEvent } from "./trace.js";
|
|
22
24
|
export { runSuite, type RunOptions } from "./runner.js";
|
|
25
|
+
export { monitorLine, monitorSuite, parseDuration, type MonitorEvent, type MonitorOptions } from "./monitor.js";
|
|
26
|
+
export { buildTimeline, type TimelineEntry } from "./timeline.js";
|
|
27
|
+
export { publishToNetlify, writeLocalBundle, type NetlifyOptions, type PublishFiles, type PublishResult } from "./publish.js";
|
|
23
28
|
export { createSession, installSignalCleanup, shutdownSessions } from "./session.js";
|
|
24
29
|
export { RigorError, FAILURE_CODES, classifyFailure, formatFailure, sanitizeTerminal, type FailureCategory, type FailureInfo } from "./errors.js";
|
|
25
30
|
export { defineExtension, defineManifest, type ExtensionDataProvider, type ExtensionFunction, type ExtensionManifest, type ExtensionPermission } from "./extension-sdk.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzK,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5L,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACrJ,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClK,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAChL,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAClJ,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3K,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACxJ,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvE,mBAAmB,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,8 @@ export { authorTest, createReadlinePromptAdapter, flattenResponse, renderAuthore
|
|
|
3
3
|
export { canonicalize, canonicalJson, fingerprint } from "./canonical.js";
|
|
4
4
|
export { checkContract, compareContracts, contractMarkdown, contractReport, readContract, updateContract } from "./contract.js";
|
|
5
5
|
export { discoverTarget, generateSuite, writeGeneratedSuite, writeLock } from "./discovery.js";
|
|
6
|
+
export { coverageAgainst, coverageMarkdown, coverageReport, measureCoverage } from "./coverage.js";
|
|
7
|
+
export { compareCompositions, compositionDriftReport, compositionIssues, compositionReport, discoverComposition, readCompositionLock, updateCompositionLock, writeCompositionLock } from "./composition.js";
|
|
6
8
|
export { clearDataCache, loadData } from "./data.js";
|
|
7
9
|
export { builtinNames, callUtility, createFunctionRegistry } from "./extensions.js";
|
|
8
10
|
export { resolveFlowImports } from "./imports.js";
|
|
@@ -20,6 +22,9 @@ export { SnapshotStore, normalizeSnapshot, renderSemanticDiff, semanticDiff } fr
|
|
|
20
22
|
export { readState, targetFingerprint, writeState } from "./state.js";
|
|
21
23
|
export { compareEvidence, showEvidence, TraceRecorder, traceSession, writeEvidenceBundle } from "./trace.js";
|
|
22
24
|
export { runSuite } from "./runner.js";
|
|
25
|
+
export { monitorLine, monitorSuite, parseDuration } from "./monitor.js";
|
|
26
|
+
export { buildTimeline } from "./timeline.js";
|
|
27
|
+
export { publishToNetlify, writeLocalBundle } from "./publish.js";
|
|
23
28
|
export { createSession, installSignalCleanup, shutdownSessions } from "./session.js";
|
|
24
29
|
export { RigorError, FAILURE_CODES, classifyFailure, formatFailure, sanitizeTerminal } from "./errors.js";
|
|
25
30
|
export { defineExtension, defineManifest } from "./extension-sdk.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAyC,MAAM,aAAa,CAAC;AACzK,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAA8D,MAAM,eAAe,CAAC;AAC5L,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAiD,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAwB,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAoB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,wBAAwB,EAA6D,MAAM,eAAe,CAAC;AACrJ,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAA6D,MAAM,aAAa,CAAC;AACjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAyB,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAyC,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAgE,MAAM,gBAAgB,CAAC;AAClK,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAuB,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAqE,MAAM,YAAY,CAAC;AAChL,OAAO,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAA0C,MAAM,aAAa,CAAC;AAClJ,OAAO,EAAE,eAAe,EAAE,cAAc,EAAwG,MAAM,oBAAoB,CAAC;AAC3K,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAAuD,MAAM,qBAAqB,CAAC;AACxJ,OAAO,EAAE,cAAc,EAAyB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/language.js
CHANGED
|
@@ -79,7 +79,7 @@ function classify(text) {
|
|
|
79
79
|
return "version";
|
|
80
80
|
if (/^Suite:/i.test(text))
|
|
81
81
|
return "suite";
|
|
82
|
-
if (/^(Server:|MCP URL:|Connect to:|Compare target\s+|Parity target\s+|Target options for\s+|Server options:)/i.test(text))
|
|
82
|
+
if (/^(Server:|MCP URL:|Connect to:|Named server\s+|Server options for\s+|Compare target\s+|Parity target\s+|Target options for\s+|Server options:)/i.test(text))
|
|
83
83
|
return "server";
|
|
84
84
|
if (/^Import flows from\s+/i.test(text))
|
|
85
85
|
return "import";
|