mjolnir-qa 0.5.13 → 0.5.14
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/CHANGELOG.md +13 -0
- package/README.md +187 -66
- package/dist/cli.d.mts +1 -1
- package/dist/cli.mjs +1594 -1218
- package/dist/mcp/stdio.mjs +24 -5
- package/package.json +2 -1
package/dist/mcp/stdio.mjs
CHANGED
|
@@ -13253,7 +13253,7 @@ function renderSarif(result, repoRootUri) {
|
|
|
13253
13253
|
tool: { driver: {
|
|
13254
13254
|
name: "Mjölnir",
|
|
13255
13255
|
informationUri: "https://github.com/Sergey-Bar/Mjolnir",
|
|
13256
|
-
version: "0.5.
|
|
13256
|
+
version: "0.5.14",
|
|
13257
13257
|
rules: [...rules.values()].map((r) => {
|
|
13258
13258
|
const meta = RULES.find((x) => x.id === r.id);
|
|
13259
13259
|
return {
|
|
@@ -15291,6 +15291,12 @@ const HELP_ENTRIES = [
|
|
|
15291
15291
|
summary: "install the agent instruction surfaces + optional staged hook",
|
|
15292
15292
|
usage: "mjolnir install [--staged-hook] [--dry-run] [--force]",
|
|
15293
15293
|
examples: ["mjolnir install --dry-run", "mjolnir install --staged-hook"]
|
|
15294
|
+
},
|
|
15295
|
+
{
|
|
15296
|
+
verb: "mcp",
|
|
15297
|
+
summary: "run as an MCP server over stdio (scan / explain / diff tools)",
|
|
15298
|
+
usage: "mjolnir mcp",
|
|
15299
|
+
examples: ["mjolnir mcp"]
|
|
15294
15300
|
}
|
|
15295
15301
|
];
|
|
15296
15302
|
/** Scan-flag entries documented per-flag via the overview. */
|
|
@@ -15455,7 +15461,8 @@ const GROUPS = [
|
|
|
15455
15461
|
"explain",
|
|
15456
15462
|
"why",
|
|
15457
15463
|
"handoff",
|
|
15458
|
-
"install"
|
|
15464
|
+
"install",
|
|
15465
|
+
"mcp"
|
|
15459
15466
|
]
|
|
15460
15467
|
}
|
|
15461
15468
|
];
|
|
@@ -17693,7 +17700,7 @@ const { runScan, buildUniversalRules, fallbackWorkspace, pathMatchesGlob, isVali
|
|
|
17693
17700
|
* `scripts/sync-sarif-version.cjs` on release and guarded by
|
|
17694
17701
|
* `tests/version-consistency.spec.ts` locally.
|
|
17695
17702
|
*/
|
|
17696
|
-
const CLI_VERSION = "0.5.
|
|
17703
|
+
const CLI_VERSION = "0.5.14";
|
|
17697
17704
|
function parseArgs(argv, onError) {
|
|
17698
17705
|
const args = {
|
|
17699
17706
|
target: ".",
|
|
@@ -18557,7 +18564,8 @@ const SUBCOMMANDS = /* @__PURE__ */ new Set([
|
|
|
18557
18564
|
"doctor",
|
|
18558
18565
|
"rules",
|
|
18559
18566
|
"explain",
|
|
18560
|
-
"doctor:playwright"
|
|
18567
|
+
"doctor:playwright",
|
|
18568
|
+
"mcp"
|
|
18561
18569
|
]);
|
|
18562
18570
|
async function main(argv = process$1.argv.slice(2), io = {
|
|
18563
18571
|
out,
|
|
@@ -18594,6 +18602,10 @@ async function main(argv = process$1.argv.slice(2), io = {
|
|
|
18594
18602
|
if (argv[0] === "why") return runWhyCommand(argv.slice(1), io);
|
|
18595
18603
|
if (argv[0] === "handoff") return runHandoffCommand(argv.slice(1), io);
|
|
18596
18604
|
if (argv[0] === "install") return runInstallCommand(argv.slice(1), io);
|
|
18605
|
+
if (argv[0] === "mcp") {
|
|
18606
|
+
await runStdioTransport(process$1.stdin, process$1.stdout);
|
|
18607
|
+
return 0;
|
|
18608
|
+
}
|
|
18597
18609
|
if (argv[0] === "help") return runHelpCommand(argv.slice(1), io);
|
|
18598
18610
|
if (SUBCOMMANDS.has(argv[0] ?? "")) {
|
|
18599
18611
|
err(`mjolnir: incomplete or unknown subcommand "${argv[0]}".`);
|
|
@@ -19027,7 +19039,14 @@ async function handleStdioLine(line, write) {
|
|
|
19027
19039
|
//#endregion
|
|
19028
19040
|
//#region src/mcp/stdio.ts
|
|
19029
19041
|
/**
|
|
19030
|
-
*
|
|
19042
|
+
* The standalone MCP stdio binary (blueprint §21), built to
|
|
19043
|
+
* `dist/mcp/stdio.mjs` and run by `npm run mcp`.
|
|
19044
|
+
*
|
|
19045
|
+
* `mjolnir mcp` reaches the same transport through the CLI and is what
|
|
19046
|
+
* the README documents, since it needs no path into node_modules. This
|
|
19047
|
+
* entry stays because the packaged binary is addressable without the
|
|
19048
|
+
* CLI's arg parsing in front of it, which is what the spawned-binary
|
|
19049
|
+
* contract test exercises.
|
|
19031
19050
|
*
|
|
19032
19051
|
* Thin glue: wires real stdin/stdout into the transport loop, then exits.
|
|
19033
19052
|
* All transport logic lives in ./transport.ts and is covered there; THIS
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mjolnir-qa",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.14",
|
|
4
4
|
"description": "Mjölnir — the Verification Trust Engine for QA. Audits test suites and CI pipelines, reports a worthiness score and prioritized findings.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"docs:capability": "tsx scripts/generate-capability-matrix.ts",
|
|
39
39
|
"docs:machine-contract": "tsx scripts/generate-machine-contract-doc.ts",
|
|
40
40
|
"docs:hero": "tsx scripts/generate-readme-hero.ts",
|
|
41
|
+
"docs:gauge": "tsx scripts/generate-readme-score-gauge.ts",
|
|
41
42
|
"docs:formats": "tsx scripts/generate-site-formats.ts",
|
|
42
43
|
"docs:forensics-samples": "tsx scripts/generate-forensics-samples.ts",
|
|
43
44
|
"site:doctor": "npm --prefix site run doctor",
|