@validate.qa/runner 1.0.100 → 1.0.102
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 +3 -0
- package/dist/{chunk-MBKGTELT.mjs → chunk-3JM6XTSZ.mjs} +1862 -530
- package/dist/{chunk-2XD63NU5.mjs → chunk-4WLP3RWN.mjs} +941 -86
- package/dist/{chunk-MHFP3QXU.mjs → chunk-5DFBEL72.mjs} +1 -1
- package/dist/{chunk-II7QW7MZ.mjs → chunk-BXLEPT4M.mjs} +31 -18
- package/dist/{chunk-MAO6ADAO.mjs → chunk-CBVHPYVJ.mjs} +62 -2
- package/dist/{chunk-5P4ANVDY.mjs → chunk-DN3O6EYT.mjs} +43073 -23357
- package/dist/{chunk-GIIIVO2W.mjs → chunk-E2RRAE27.mjs} +155 -11
- package/dist/chunk-E2VEMBQQ.mjs +291 -0
- package/dist/{chunk-HMUC3DKS.mjs → chunk-HJ6FKHMM.mjs} +2281 -2
- package/dist/{chunk-WDXLAZ2J.mjs → chunk-PWFWMVZU.mjs} +3 -2
- package/dist/{chunk-6NIT2CCH.mjs → chunk-ZZYBRIBT.mjs} +18 -12
- package/dist/cli.js +139723 -114754
- package/dist/cli.mjs +536 -247
- package/dist/credential-mcp-server.js +1761 -358
- package/dist/credential-mcp-server.mjs +3 -3
- package/dist/discovery-mcp-server.js +1874 -379
- package/dist/discovery-mcp-server.mjs +4 -4
- package/dist/dist-52M5RDZ6.mjs +17 -0
- package/dist/inbox-mcp-server.js +1902 -505
- package/dist/inbox-mcp-server.mjs +3 -3
- package/dist/route-seed-worker.js +3976 -356
- package/dist/route-seed-worker.mjs +14 -7
- package/dist/run-write-guard-preload.js +2908 -572
- package/dist/run-write-guard-preload.mjs +5 -285
- package/dist/run-write-guard.js +2908 -572
- package/dist/run-write-guard.mjs +3 -3
- package/dist/spec-driver.js +1 -1
- package/dist/spec-driver.mjs +1 -1
- package/package.json +4 -3
- package/dist/dist-DFNLMH6L.mjs +0 -16
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
require_route_seed,
|
|
3
3
|
require_typescript
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HJ6FKHMM.mjs";
|
|
5
5
|
import {
|
|
6
6
|
require_route_manifest
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import
|
|
7
|
+
} from "./chunk-PWFWMVZU.mjs";
|
|
8
|
+
import {
|
|
9
|
+
dist_exports,
|
|
10
|
+
init_dist
|
|
11
|
+
} from "./chunk-3JM6XTSZ.mjs";
|
|
9
12
|
import {
|
|
10
13
|
__commonJS,
|
|
11
14
|
__require,
|
|
15
|
+
__toCommonJS,
|
|
12
16
|
__toESM
|
|
13
17
|
} from "./chunk-WQXBGQU4.mjs";
|
|
14
18
|
|
|
@@ -25,6 +29,7 @@ var require_scan = __commonJS({
|
|
|
25
29
|
exports.joinPath = joinPath;
|
|
26
30
|
exports.hasModifier = hasModifier;
|
|
27
31
|
exports.decoratorsOf = decoratorsOf;
|
|
32
|
+
var shared_1 = (init_dist(), __toCommonJS(dist_exports));
|
|
28
33
|
var node_fs_1 = __require("fs");
|
|
29
34
|
var node_path_1 = __require("path");
|
|
30
35
|
var typescript_1 = __importDefault(require_typescript());
|
|
@@ -94,7 +99,7 @@ var require_scan = __commonJS({
|
|
|
94
99
|
return a || "/";
|
|
95
100
|
if (b.startsWith("/") && !a)
|
|
96
101
|
return b;
|
|
97
|
-
return `${(a || "")
|
|
102
|
+
return `${(0, shared_1.stripTrailingSlashes)(a || "")}/${b.replace(/^\/+/, "")}`.replace(/\/{2,}/g, "/");
|
|
98
103
|
}
|
|
99
104
|
function hasModifier(node, kind) {
|
|
100
105
|
return typescript_1.default.canHaveModifiers(node) && (typescript_1.default.getModifiers(node) ?? []).some((modifier) => modifier.kind === kind);
|
|
@@ -439,6 +444,7 @@ var require_clients = __commonJS({
|
|
|
439
444
|
exports.runClientSurface = runClientSurface;
|
|
440
445
|
exports.applyAuthPrefixes = applyAuthPrefixes;
|
|
441
446
|
exports.noteUnsupported = noteUnsupported;
|
|
447
|
+
var shared_1 = (init_dist(), __toCommonJS(dist_exports));
|
|
442
448
|
var node_path_1 = __require("path");
|
|
443
449
|
var typescript_1 = __importDefault(require_typescript());
|
|
444
450
|
var scan_js_1 = require_scan();
|
|
@@ -893,7 +899,7 @@ var require_clients = __commonJS({
|
|
|
893
899
|
if (!splat.prefix)
|
|
894
900
|
continue;
|
|
895
901
|
for (const link of linkTargets) {
|
|
896
|
-
const path = link.path.split(/[?#]/)[0]
|
|
902
|
+
const path = (0, shared_1.stripTrailingSlashes)(link.path.split(/[?#]/)[0] ?? "");
|
|
897
903
|
if (path.startsWith(`${splat.prefix}/`) && path.length > splat.prefix.length + 1 && !ctx.routes.some((route) => route.kind === "page" && !/\*$/.test(route.path) && segMatch(route.path, path))) {
|
|
898
904
|
ctx.coverage.rulesApplied.add("link-under-splat");
|
|
899
905
|
ctx.add({ path, kind: "page", rule: "link-under-splat", file: link.file, line: link.line, purpose: link.text || (0, scan_js_1.words)(path.slice(splat.prefix.length)) });
|
|
@@ -988,7 +994,7 @@ var require_clients = __commonJS({
|
|
|
988
994
|
const serverApi = ctx.routes.filter((route) => route.kind === "api");
|
|
989
995
|
const mountBases = [...new Set(serverApi.map((route) => route.path.split("/").slice(0, 2).join("/")).filter((base) => base && base !== "/"))];
|
|
990
996
|
for (const call of clientCalls) {
|
|
991
|
-
|
|
997
|
+
const path = (0, shared_1.stripTrailingSlashes)(call.path) || "/";
|
|
992
998
|
if (/\.(png|jpe?g|svg|gif|webp|css|js|json|ico|mp3|mp4|woff2?)$/.test(path))
|
|
993
999
|
continue;
|
|
994
1000
|
const candidates = [path, ...mountBases.map((base) => (0, scan_js_1.joinPath)(base, path))];
|
|
@@ -1489,6 +1495,7 @@ var require_seed = __commonJS({
|
|
|
1489
1495
|
"use strict";
|
|
1490
1496
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1491
1497
|
exports.seedRouteManifest = seedRouteManifest;
|
|
1498
|
+
var shared_1 = (init_dist(), __toCommonJS(dist_exports));
|
|
1492
1499
|
var route_manifest_js_1 = require_route_manifest();
|
|
1493
1500
|
var route_seed_js_1 = require_route_seed();
|
|
1494
1501
|
var clients_js_1 = require_clients();
|
|
@@ -1514,7 +1521,7 @@ var require_seed = __commonJS({
|
|
|
1514
1521
|
return "route-config";
|
|
1515
1522
|
}
|
|
1516
1523
|
function shapeManifest(ctx) {
|
|
1517
|
-
const familyKey = (row) => `${row.kind === "api" ? "api" : "page"} ${row.path.toLowerCase()
|
|
1524
|
+
const familyKey = (row) => `${row.kind === "api" ? "api" : "page"} ${(0, shared_1.stripTrailingSlashes)(row.path.toLowerCase()) || "/"}`;
|
|
1518
1525
|
const byFamily = /* @__PURE__ */ new Map();
|
|
1519
1526
|
for (const row of ctx.routes.slice().sort((a, b) => ruleRank(a.rule) - ruleRank(b.rule))) {
|
|
1520
1527
|
const key = familyKey(row);
|