@xenos1996/usa 2.26.2 → 2.28.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/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +2 -0
- package/dist/cli-help.js.map +1 -1
- package/dist/cli-intent.d.ts +4 -0
- package/dist/cli-intent.d.ts.map +1 -0
- package/dist/cli-intent.js +108 -0
- package/dist/cli-intent.js.map +1 -0
- package/dist/cli-scan.d.ts +12 -0
- package/dist/cli-scan.d.ts.map +1 -0
- package/dist/cli-scan.js +142 -0
- package/dist/cli-scan.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/engine/audit-config.d.ts +66 -0
- package/dist/engine/audit-config.d.ts.map +1 -0
- package/dist/engine/audit-config.js +148 -0
- package/dist/engine/audit-config.js.map +1 -0
- package/dist/engine/audit-types.d.ts +44 -0
- package/dist/engine/audit-types.d.ts.map +1 -0
- package/dist/engine/audit-types.js +2 -0
- package/dist/engine/audit-types.js.map +1 -0
- package/dist/engine/audit-warnings.d.ts +56 -0
- package/dist/engine/audit-warnings.d.ts.map +1 -0
- package/dist/engine/audit-warnings.js +116 -0
- package/dist/engine/audit-warnings.js.map +1 -0
- package/dist/engine/audit.d.ts +14 -38
- package/dist/engine/audit.d.ts.map +1 -1
- package/dist/engine/audit.js +9 -500
- package/dist/engine/audit.js.map +1 -1
- package/dist/engine/evaluate-packs.d.ts +37 -0
- package/dist/engine/evaluate-packs.d.ts.map +1 -0
- package/dist/engine/evaluate-packs.js +144 -0
- package/dist/engine/evaluate-packs.js.map +1 -0
- package/dist/engine/evaluate.d.ts.map +1 -1
- package/dist/engine/evaluate.js +31 -8
- package/dist/engine/evaluate.js.map +1 -1
- package/dist/engine/invariants.d.ts +8 -0
- package/dist/engine/invariants.d.ts.map +1 -1
- package/dist/engine/invariants.js +11 -0
- package/dist/engine/invariants.js.map +1 -1
- package/dist/engine/pack-selection.d.ts +21 -0
- package/dist/engine/pack-selection.d.ts.map +1 -0
- package/dist/engine/pack-selection.js +63 -0
- package/dist/engine/pack-selection.js.map +1 -0
- package/dist/engine/report-build.d.ts +22 -0
- package/dist/engine/report-build.d.ts.map +1 -0
- package/dist/engine/report-build.js +67 -0
- package/dist/engine/report-build.js.map +1 -0
- package/dist/foundation/interview.d.ts.map +1 -1
- package/dist/foundation/interview.js +16 -5
- package/dist/foundation/interview.js.map +1 -1
- package/dist/intent/match.d.ts +38 -0
- package/dist/intent/match.d.ts.map +1 -0
- package/dist/intent/match.js +108 -0
- package/dist/intent/match.js.map +1 -0
- package/dist/intent/otm.d.ts +16 -0
- package/dist/intent/otm.d.ts.map +1 -0
- package/dist/intent/otm.js +144 -0
- package/dist/intent/otm.js.map +1 -0
- package/dist/intent/types.d.ts +111 -0
- package/dist/intent/types.d.ts.map +1 -0
- package/dist/intent/types.js +16 -0
- package/dist/intent/types.js.map +1 -0
- package/dist/scanner/adapters/codeql.d.ts +14 -0
- package/dist/scanner/adapters/codeql.d.ts.map +1 -0
- package/dist/scanner/adapters/codeql.js +134 -0
- package/dist/scanner/adapters/codeql.js.map +1 -0
- package/dist/scanner/adapters/dependency-cruiser.d.ts +3 -0
- package/dist/scanner/adapters/dependency-cruiser.d.ts.map +1 -0
- package/dist/scanner/adapters/dependency-cruiser.js +174 -0
- package/dist/scanner/adapters/dependency-cruiser.js.map +1 -0
- package/dist/scanner/adapters/ort.d.ts +12 -0
- package/dist/scanner/adapters/ort.d.ts.map +1 -0
- package/dist/scanner/adapters/ort.js +259 -0
- package/dist/scanner/adapters/ort.js.map +1 -0
- package/dist/scanner/adapters/scorecard.d.ts +7 -0
- package/dist/scanner/adapters/scorecard.d.ts.map +1 -0
- package/dist/scanner/adapters/scorecard.js +209 -0
- package/dist/scanner/adapters/scorecard.js.map +1 -0
- package/dist/scanner/adapters/semgrep.d.ts +3 -0
- package/dist/scanner/adapters/semgrep.d.ts.map +1 -0
- package/dist/scanner/adapters/semgrep.js +163 -0
- package/dist/scanner/adapters/semgrep.js.map +1 -0
- package/dist/scanner/adapters/trivy.d.ts +3 -0
- package/dist/scanner/adapters/trivy.d.ts.map +1 -0
- package/dist/scanner/adapters/trivy.js +163 -0
- package/dist/scanner/adapters/trivy.js.map +1 -0
- package/dist/scanner/config.d.ts +4 -0
- package/dist/scanner/config.d.ts.map +1 -0
- package/dist/scanner/config.js +15 -0
- package/dist/scanner/config.js.map +1 -0
- package/dist/scanner/identity.d.ts +17 -0
- package/dist/scanner/identity.d.ts.map +1 -0
- package/dist/scanner/identity.js +50 -0
- package/dist/scanner/identity.js.map +1 -0
- package/dist/scanner/normalize.d.ts +40 -0
- package/dist/scanner/normalize.d.ts.map +1 -0
- package/dist/scanner/normalize.js +85 -0
- package/dist/scanner/normalize.js.map +1 -0
- package/dist/scanner/registry.d.ts +19 -0
- package/dist/scanner/registry.d.ts.map +1 -0
- package/dist/scanner/registry.js +43 -0
- package/dist/scanner/registry.js.map +1 -0
- package/dist/scanner/run.d.ts +70 -0
- package/dist/scanner/run.d.ts.map +1 -0
- package/dist/scanner/run.js +419 -0
- package/dist/scanner/run.js.map +1 -0
- package/dist/scanner/sarif.d.ts +21 -0
- package/dist/scanner/sarif.d.ts.map +1 -0
- package/dist/scanner/sarif.js +156 -0
- package/dist/scanner/sarif.js.map +1 -0
- package/dist/scanner/types.d.ts +236 -0
- package/dist/scanner/types.d.ts.map +1 -0
- package/dist/scanner/types.js +11 -0
- package/dist/scanner/types.js.map +1 -0
- package/package.json +9 -8
- package/rules/core/code-quality.yaml +12 -2
- package/rules/core/provenance-attestation.yaml +5 -0
- package/rules/core/testing-assurance.yaml +19 -4
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { applySuppressionToFinding, evaluateRule, ruleApplies, } from './evaluate.js';
|
|
2
|
+
import { evaluateInvariant, invariantLocations } from './invariants.js';
|
|
3
|
+
import { ruleAutomatability } from './automatability.js';
|
|
4
|
+
import { dampen } from './maturity.js';
|
|
5
|
+
import { docFindings, runDocAudit } from './docs-audit.js';
|
|
6
|
+
import { loadDocTaxonomy } from './docs-taxonomy.js';
|
|
7
|
+
/**
|
|
8
|
+
* Scoring a pack set into findings.
|
|
9
|
+
*
|
|
10
|
+
* Two passes: file rules first, then invariants over the conclusions those
|
|
11
|
+
* rules reached. Invariants cannot run in the first pass — they have nothing
|
|
12
|
+
* to read until every file rule has reported.
|
|
13
|
+
*/
|
|
14
|
+
export function evaluatePacks(activePacks, facts, depth, include, ctx, profile) {
|
|
15
|
+
const evaluated = [];
|
|
16
|
+
const invariants = [];
|
|
17
|
+
for (const pack of activePacks) {
|
|
18
|
+
for (const rule of pack.rules) {
|
|
19
|
+
if (!ruleApplies(rule, facts, depth, include.has(pack.id)))
|
|
20
|
+
continue;
|
|
21
|
+
// Invariants read conclusions, not files: second pass, after every
|
|
22
|
+
// file rule has reported. Collect now, evaluate below.
|
|
23
|
+
if (rule.check.kind === 'invariant') {
|
|
24
|
+
invariants.push(rule);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
evaluated.push(scoreFinding(rule, ctx, profile));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
for (const rule of invariants) {
|
|
31
|
+
evaluated.push(scoreInvariant(rule, ctx, profile, evaluated));
|
|
32
|
+
}
|
|
33
|
+
return evaluated;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Appends the documentation-universe findings to the evaluated set. The
|
|
37
|
+
* findings come from `docFindings` — the exact function the standalone
|
|
38
|
+
* `usa docs audit` report uses — with the main audit's maturity profile for
|
|
39
|
+
* dampening and the already-evaluated rule ids for alias suppression (an
|
|
40
|
+
* absence an existing rule already reports, e.g. DOC-006 vs the getting
|
|
41
|
+
* started artifact, is scored once, not twice).
|
|
42
|
+
*/
|
|
43
|
+
export function appendDocUniverseFindings(evaluated, ctx) {
|
|
44
|
+
const { taxonomy, warnings: taxWarnings } = loadDocTaxonomy(ctx.rulesDir);
|
|
45
|
+
ctx.warnings.push(...taxWarnings);
|
|
46
|
+
if (!taxonomy)
|
|
47
|
+
return; // already warned: universe unavailable, audit continues
|
|
48
|
+
const result = runDocAudit({
|
|
49
|
+
project: ctx.project,
|
|
50
|
+
facts: ctx.facts,
|
|
51
|
+
taxonomy,
|
|
52
|
+
maturity: ctx.maturity,
|
|
53
|
+
usaVersion: ctx.usaVersion,
|
|
54
|
+
target: ctx.target,
|
|
55
|
+
commit: ctx.git.commit,
|
|
56
|
+
gitTags: ctx.project.gitTags(),
|
|
57
|
+
});
|
|
58
|
+
const knownRules = new Set(evaluated.map((e) => e.finding.ruleId));
|
|
59
|
+
for (const f of docFindings(result, {
|
|
60
|
+
suppressAliasedRules: knownRules,
|
|
61
|
+
dampen: (base) => dampen(base, 'documentation', ctx.profile),
|
|
62
|
+
})) {
|
|
63
|
+
evaluated.push({ rule: syntheticDocRule(f), finding: f });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** DOCU findings have no YAML rule; the minimal Rule shape keeps scoring intact. */
|
|
67
|
+
export function syntheticDocRule(f) {
|
|
68
|
+
return {
|
|
69
|
+
id: f.ruleId,
|
|
70
|
+
title: f.title,
|
|
71
|
+
section: f.section,
|
|
72
|
+
sectionTitle: f.sectionTitle,
|
|
73
|
+
severity: f.baseSeverity,
|
|
74
|
+
ruleClass: f.ruleClass,
|
|
75
|
+
check: { kind: 'info' },
|
|
76
|
+
tags: f.tags,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export function scoreInvariant(rule, ctx, profile, evaluated) {
|
|
80
|
+
const check = rule.check;
|
|
81
|
+
if (check.kind !== 'invariant') {
|
|
82
|
+
throw new Error(`scoreInvariant called on non-invariant rule ${rule.id}`);
|
|
83
|
+
}
|
|
84
|
+
const byId = new Map(evaluated.map((e) => [e.finding.ruleId, e.finding.status]));
|
|
85
|
+
const findings = evaluated.map((e) => e.finding);
|
|
86
|
+
const outcome = evaluateInvariant(check.when, check.assert, byId);
|
|
87
|
+
const base = {
|
|
88
|
+
ruleId: rule.id,
|
|
89
|
+
title: rule.title,
|
|
90
|
+
section: rule.section,
|
|
91
|
+
sectionTitle: rule.sectionTitle ?? rule.section,
|
|
92
|
+
baseSeverity: rule.severity,
|
|
93
|
+
ruleClass: rule.ruleClass,
|
|
94
|
+
why: rule.why,
|
|
95
|
+
evidenceHint: rule.evidence,
|
|
96
|
+
remediation: rule.remediation,
|
|
97
|
+
references: rule.references,
|
|
98
|
+
automatability: ruleAutomatability(rule),
|
|
99
|
+
tags: rule.tags,
|
|
100
|
+
};
|
|
101
|
+
if (!outcome.applicable) {
|
|
102
|
+
return {
|
|
103
|
+
rule,
|
|
104
|
+
finding: {
|
|
105
|
+
...base,
|
|
106
|
+
status: 'NOT_APPLICABLE',
|
|
107
|
+
severity: rule.severity,
|
|
108
|
+
dampened: false,
|
|
109
|
+
message: `Invariant inapplicable — ${outcome.detail}.`,
|
|
110
|
+
locations: [],
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const finding = {
|
|
115
|
+
...base,
|
|
116
|
+
status: outcome.passed ? 'PASS' : 'FAIL',
|
|
117
|
+
severity: rule.severity,
|
|
118
|
+
dampened: false,
|
|
119
|
+
message: outcome.passed
|
|
120
|
+
? `Combination holds and ${check.assert.rule} agrees — ${outcome.detail}.`
|
|
121
|
+
: `Dangerous combination: ${outcome.detail}.`,
|
|
122
|
+
locations: outcome.passed ? [] : invariantLocations(check.when, findings),
|
|
123
|
+
};
|
|
124
|
+
if (!outcome.passed) {
|
|
125
|
+
applySuppressionToFinding(ctx.suppressions, rule.id, finding);
|
|
126
|
+
if (finding.status !== 'PASS') {
|
|
127
|
+
const { severity, dampened } = dampen(rule.severity, rule.ruleClass, profile);
|
|
128
|
+
finding.severity = severity;
|
|
129
|
+
finding.dampened = dampened;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return { rule, finding };
|
|
133
|
+
}
|
|
134
|
+
export function scoreFinding(rule, ctx, profile) {
|
|
135
|
+
const finding = evaluateRule(rule, ctx);
|
|
136
|
+
if (finding.status === 'PASS' || finding.status === 'NOT_APPLICABLE') {
|
|
137
|
+
return { rule, finding };
|
|
138
|
+
}
|
|
139
|
+
const { severity, dampened } = dampen(rule.severity, rule.ruleClass, profile);
|
|
140
|
+
finding.severity = severity;
|
|
141
|
+
finding.dampened = dampened;
|
|
142
|
+
return { rule, finding };
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=evaluate-packs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-packs.js","sourceRoot":"","sources":["../../src/engine/evaluate-packs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,WAAW,GAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAwB,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,WAAuB,EACvB,KAAY,EACZ,KAAY,EACZ,OAAoB,EACpB,GAAgB,EAChB,OAAwB;IAExB,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAgC,EAAE,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAAE,SAAS;YACrE,mEAAmE;YACnE,uDAAuD;YACvD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAuB,EACvB,GAUC;IAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1E,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,wDAAwD;IAC/E,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ;QACR,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;KAC/B,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE;QAClC,oBAAoB,EAAE,UAAU;QAChC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC;KAC7D,CAAC,EAAE,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,MAAM;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,QAAQ,EAAE,CAAC,CAAC,YAAY;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACvB,IAAI,EAAE,CAAC,CAAC,IAAI;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAA+B,EAC/B,GAAgB,EAChB,OAAwB,EACxB,SAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO;QAC/C,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,kBAAkB,CAAC,IAAI,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO;YACL,IAAI;YACJ,OAAO,EAAE;gBACP,GAAG,IAAI;gBACP,MAAM,EAAE,gBAAgB;gBACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,4BAA4B,OAAO,CAAC,MAAM,GAAG;gBACtD,SAAS,EAAE,EAAE;aACd;SACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAY;QACvB,GAAG,IAAI;QACP,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,OAAO,CAAC,MAAM;YACrB,CAAC,CAAC,yBAAyB,KAAK,CAAC,MAAM,CAAC,IAAI,aAAa,OAAO,CAAC,MAAM,GAAG;YAC1E,CAAC,CAAC,0BAA0B,OAAO,CAAC,MAAM,GAAG;QAC/C,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC1E,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,yBAAyB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9E,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC5B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAA+B,EAC/B,GAAgB,EAChB,OAAwB;IAExB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9E,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,KAAK,EACL,KAAK,EACL,OAAO,EAEP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,QAAQ,EAET,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAID,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAQ7E;AA+DD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,UAAQ,GAAG,OAAO,CAS/F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAEjE;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CA0ClE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,IAAI,CAON;
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,KAAK,EACL,KAAK,EACL,OAAO,EAEP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,QAAQ,EAET,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAID,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAQ7E;AA+DD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,UAAQ,GAAG,OAAO,CAS/F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAEjE;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CA0ClE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,IAAI,CAON;AAkfD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAEhD"}
|
package/dist/engine/evaluate.js
CHANGED
|
@@ -398,12 +398,14 @@ function countSarifResults(raw, check) {
|
|
|
398
398
|
const runs = raw.runs;
|
|
399
399
|
if (!Array.isArray(runs))
|
|
400
400
|
return null;
|
|
401
|
-
const keep = sarifFilter(check);
|
|
402
401
|
let count = 0;
|
|
403
402
|
for (const run of runs) {
|
|
404
403
|
const results = run.results;
|
|
405
404
|
if (!Array.isArray(results))
|
|
406
405
|
continue;
|
|
406
|
+
// Levels are per run: the rule defaults that supply them live in the run's
|
|
407
|
+
// driver, not in the result.
|
|
408
|
+
const keep = sarifFilter(check, ruleLevels(run));
|
|
407
409
|
for (const r of results) {
|
|
408
410
|
if (keep(r))
|
|
409
411
|
count++;
|
|
@@ -411,21 +413,42 @@ function countSarifResults(raw, check) {
|
|
|
411
413
|
}
|
|
412
414
|
return count;
|
|
413
415
|
}
|
|
416
|
+
/**
|
|
417
|
+
* ruleId → defaultConfiguration.level for one run.
|
|
418
|
+
*
|
|
419
|
+
* SARIF 3.27.10: a result may omit `level` when it equals the rule's default.
|
|
420
|
+
* CodeQL omits it for every result, so without this map an error-level finding
|
|
421
|
+
* read as "warning" and a `levels: [error]` filter skipped it entirely — a rule
|
|
422
|
+
* that gates on errors passed over a report full of them.
|
|
423
|
+
*/
|
|
424
|
+
function ruleLevels(run) {
|
|
425
|
+
const levels = new Map();
|
|
426
|
+
const rules = run.tool?.driver?.rules;
|
|
427
|
+
if (!Array.isArray(rules))
|
|
428
|
+
return levels;
|
|
429
|
+
for (const rule of rules) {
|
|
430
|
+
const id = rule.id;
|
|
431
|
+
const level = rule.defaultConfiguration
|
|
432
|
+
?.level;
|
|
433
|
+
if (typeof id === 'string' && typeof level === 'string')
|
|
434
|
+
levels.set(id, level);
|
|
435
|
+
}
|
|
436
|
+
return levels;
|
|
437
|
+
}
|
|
414
438
|
/** Builds the predicate a SARIF result must satisfy to be counted. */
|
|
415
|
-
function sarifFilter(check) {
|
|
439
|
+
function sarifFilter(check, levelsByRule) {
|
|
416
440
|
const levels = check.levels && check.levels.length > 0 ? new Set(check.levels) : null;
|
|
417
441
|
const rules = check.rules && check.rules.length > 0 ? check.rules : null;
|
|
418
442
|
if (!levels && !rules)
|
|
419
443
|
return () => true;
|
|
420
444
|
return (result) => {
|
|
421
|
-
const
|
|
445
|
+
const ruleId = String(result.ruleId ?? '');
|
|
446
|
+
if (rules && !rules.some((needle) => ruleId.includes(needle)))
|
|
447
|
+
return false;
|
|
448
|
+
// Result level, then the rule's default, then the SARIF fallback.
|
|
449
|
+
const level = result.level ?? levelsByRule.get(ruleId) ?? 'warning';
|
|
422
450
|
if (levels && !levels.has(level))
|
|
423
451
|
return false;
|
|
424
|
-
if (rules) {
|
|
425
|
-
const ruleId = String(result.ruleId ?? '');
|
|
426
|
-
if (!rules.some((needle) => ruleId.includes(needle)))
|
|
427
|
-
return false;
|
|
428
|
-
}
|
|
429
452
|
return true;
|
|
430
453
|
};
|
|
431
454
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAc7B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C,gFAAgF;AAEhF,MAAM,UAAU,aAAa,CAAC,CAAwB,EAAE,KAAY;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,kEAAkE;IAClE,uEAAuE;IACvE,iEAAiE;IACjE,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAY,EAAE,KAAY;IACnD,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3F,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1F,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG;QAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC;AACf,CAAC;AASD,iFAAiF;AACjF,MAAM,WAAW,GAAiD;IAChE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvF,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxF,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;QACR,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACd,oEAAoE;QACpE,6DAA6D;QAC7D,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC1E,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACb,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,CAAC;YACH,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC;AAEF,SAAS,QAAQ,CAAC,CAAuC,EAAE,KAAY;IACrE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC;QACb,QAAQ;QACR,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1B,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,KAAY,EAAE,KAAY,EAAE,UAAU,GAAG,KAAK;IACpF,oEAAoE;IACpE,sEAAsE;IACtE,sEAAsE;IACtE,IAAI,UAAU;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,KAAY;IACtD,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClF,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,GAAgB;IACvD,MAAM,IAAI,GAAgF;QACxF,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO;QAC/C,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,kBAAkB,CAAC,IAAI,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;IAEF,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,oCAAoC;YAC7C,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAY;QACvB,GAAG,IAAI;QACP,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,KAAK;QACf,OAAO;QACP,SAAS;KACV,CAAC;IAEF,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACrD,yBAAyB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAuB,EACvB,MAAc,EACd,OAAgB;IAEhB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7F,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAWD,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,MAAM,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,YAAwB,EAAE;IAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,MAAM,GAAG,EAAE,SAAS,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACvD,CAAC;AAOD,SAAS,SAAS,CAAC,OAAgB,EAAE,KAAgB;IACnD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,WAAW,CAAC,MAA0C,EAAE,EAAgB;IAC/E,OAAO,cAAc,CAAC,sDAAsD,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,cAAc,CACrB,MAA6C,EAC7C,EAAgB;IAEhB,sEAAsE;IACtE,yEAAyE;IACzE,2DAA2D;IAC3D,OAAO,cAAc,CAAC,wEAAwE,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,SAAS,CAAC,MAAwC,EAAE,EAAgB;IAC3E,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,eAAe,CACtB,KAA8C,EAC9C,CAAe;IAEf,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtF,oEAAoE;IACpE,mEAAmE;IACnE,0DAA0D;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS;QAC3B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACJ,CAAC,CAAC,KAAK,CAAC;IACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC,OAAO,CAAC,uBAAuB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,eAAe,CACtB,KAA8C,EAC9C,CAAe;IAEf,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrF,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,+BAA+B,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACtF,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAA2C,EAAE,CAAe;IAChF,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,OAAO,CAAC,CAAC,IAAI,CACX,GAAG,KAAK,CAAC,MAAM,qBAAqB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC/D,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA+C,EAC/C,CAAe;IAEf,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5F,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,eAAe,CACtB,KAA8C,EAC9C,CAAe;IAEf,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,iBAAiB,WAAW,CAAC,IAAI,CAAC,EAAE;QAC3D,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,KAA6C,EAC7C,CAAe;IAEf,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,2BAA2B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,OAAO;QACL,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,8CAA8C,WAAW,CAAC,IAAI,CAAC,EAAE;QACxF,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAkD,EAClD,CAAe;IAEf,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACrE,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,gCAAgC;QACvD,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAiD,EACjD,CAAe;IAEf,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACtC,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,SAAS,QAAQ,CAAC,CAAC;IACzD,CAAC;IACD,8DAA8D;IAC9D,wEAAwE;IACxE,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,mBAAmB,KAAK,CAAC,SAAS,8BAA8B;QAC5F,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAkD,EAClD,CAAe;IAEf,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO,CAAC,CAAC,OAAO,CAAC,oBAAoB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtF,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAiD,EACjD,CAAe;IAEf,qEAAqE;IACrE,wEAAwE;IACxE,uEAAuE;IACvE,yDAAyD;IACzD,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO;SACpB,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,6CAA6C,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACpG,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,KAA4C,EAC5C,CAAe;IAEf,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACzD,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,KAAK,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;YACnG,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;SACnC,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,aAAa,CACpB,KAA4C,EAC5C,CAAe;IAEf,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1E,uEAAuE;IACvE,yEAAyE;IACzE,OAAO,CAAC,CAAC,OAAO,CACd,SAAS,CAAC,qBAAqB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,GAAG,GAAG,CAC7F,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAgB,EAChB,GAAW,EACX,QAAgB,EAChB,IAA0B;IAE1B,IAAI,CAAC;QACH,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,kEAAkE;QAClE,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YAC1C,GAAG,EAAE,OAAO,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CACT,KAAK,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,KAAK,GAAG,mBAAmB,QAAQ,gBAAgB;YAC5D,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,GAAG,gCAAgC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,KAAK,GAAG,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;YAC3D,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAA0C,EAAE,CAAe;IAC/E,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC,qDAAqD,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,KAAyC,EAAE,CAAe;IAC7E,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,MAAM,qBAAqB,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IAEvB,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC,GAAG,IAAI,sCAAsC,KAAK,CAAC,MAAM,YAAY,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,QAAQ,GACZ,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,cAAc,CACnB,KAAK,CAAC,MAAM,KAAK,MAAM;YACrB,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,SAAS,IAAI,mBAAmB;YACjD,CAAC,CAAC,GAAG,IAAI,kDAAkD,CAC9D,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC;IACjC,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;IACpG,OAAO,EAAE;QACP,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,+BAA+B,MAAM,GAAG;YACjD,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC9B,CAAC;AACR,CAAC;AAED,+EAA+E;AAC/E,SAAS,iBAAiB,CAAC,GAAY,EAAE,KAAyC;IAChF,MAAM,IAAI,GAAI,GAA4B,CAAC,IAAI,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAI,GAA+B,CAAC,OAAO,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,CAAC,CAAC;gBAAE,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,SAAS,WAAW,CAAC,KAAyC;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACzC,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,MAAM,KAAK,GAAI,MAA6B,CAAC,KAAK,IAAI,SAAS,CAAC;QAChE,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAc,CAAC;YAAE,OAAO,KAAK,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,MAAM,CAAE,MAA+B,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,cAAc,CAAC,GAAY,EAAE,KAAyC;IAC7E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,OAAO,CACd,MAAc,EACd,EAAyD,EACzD,KAAa;IAEb,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,UAAU;YACb,OAAO,MAAM,IAAI,KAAK,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,MAAM,KAAK,KAAK,CAAC;QAC1B;YACE,OAAO,MAAM,IAAI,KAAK,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,EAAU;IAC1B,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,KAAyC;IAC/D,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7F,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzF,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,kEAAkE;AAClE,SAAS,UAAU,CAAC,MAAc;IAChC,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,KAAyC,EAAE,CAAe;IAC5E,IAAI,KAA+B,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAoD,CAAC;QAC5F,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,KAAK,GAAG,GAAG,CAAC;IAC/E,CAAC;IACD,OAAO,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;AACjE,CAAC;AAED,kFAAkF;AAClF,MAAM,cAAc,GAEhB;IACF,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,gBAAgB;IAC9B,WAAW,EAAE,eAAe;IAC5B,UAAU,EAAE,cAAc;IAC1B,eAAe,EAAE,mBAAmB;IACpC,cAAc,EAAE,iBAAiB;IACjC,eAAe,EAAE,mBAAmB;IACpC,cAAc,EAAE,kBAAkB;IAClC,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;IACxB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;CACpB,CAAC;AAEF,SAAS,QAAQ,CACf,KAAW,EACX,GAAgB,EAChB,KAAY;IAEZ,MAAM,CAAC,GAAiB;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,WAAW;KAClB,CAAC;IACF,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAoD,CAAC;IAC9F,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAE/E,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,IAAuD;IAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAuD;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,OAAO,OAAO,OAAO,SAAS,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC;AACnE,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,MAAc;IACtD,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC9D,GAAG,GAAI,GAA+B,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,OAAO,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAW;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,14 @@ export interface InvariantOutcome {
|
|
|
24
24
|
* project access. Missing rule ids read as NOT_APPLICABLE (a rule that
|
|
25
25
|
* did not run cannot satisfy a precondition — fail closed toward silent,
|
|
26
26
|
* never toward firing on absent evidence).
|
|
27
|
+
*
|
|
28
|
+
* The same rule governs the assertion. An asserted rule that is
|
|
29
|
+
* NOT_APPLICABLE has no surface to judge: demanding PASS from it turns
|
|
30
|
+
* every project without that surface into a false positive (INV-SEC-003
|
|
31
|
+
* fired HIGH on this CLI because SEC-009 — output encoding for a web
|
|
32
|
+
* frontend — does not apply to a program that renders no HTML). An
|
|
33
|
+
* invariant is a claim about a *combination*; when one half of the
|
|
34
|
+
* combination does not exist, there is no claim to make.
|
|
27
35
|
*/
|
|
28
36
|
export declare function evaluateInvariant(when: InvariantCondition, assert: InvariantAssertion, byId: FindingStatusById): InvariantOutcome;
|
|
29
37
|
/** Evidence locations for a fired invariant: the matched findings' locations. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/engine/invariants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAElB,kBAAkB,EAClB,MAAM,EACP,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAiBpD,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/engine/invariants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAElB,kBAAkB,EAClB,MAAM,EACP,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAiBpD,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,iBAAiB,GACtB,gBAAgB,CAkBlB;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,WAAW,CAAC,CAStB"}
|
|
@@ -18,12 +18,23 @@ function assertHolds(assert, byId) {
|
|
|
18
18
|
* project access. Missing rule ids read as NOT_APPLICABLE (a rule that
|
|
19
19
|
* did not run cannot satisfy a precondition — fail closed toward silent,
|
|
20
20
|
* never toward firing on absent evidence).
|
|
21
|
+
*
|
|
22
|
+
* The same rule governs the assertion. An asserted rule that is
|
|
23
|
+
* NOT_APPLICABLE has no surface to judge: demanding PASS from it turns
|
|
24
|
+
* every project without that surface into a false positive (INV-SEC-003
|
|
25
|
+
* fired HIGH on this CLI because SEC-009 — output encoding for a web
|
|
26
|
+
* frontend — does not apply to a program that renders no HTML). An
|
|
27
|
+
* invariant is a claim about a *combination*; when one half of the
|
|
28
|
+
* combination does not exist, there is no claim to make.
|
|
21
29
|
*/
|
|
22
30
|
export function evaluateInvariant(when, assert, byId) {
|
|
23
31
|
if (!whenMatches(when, byId)) {
|
|
24
32
|
return { applicable: false, passed: true, detail: 'precondition not met' };
|
|
25
33
|
}
|
|
26
34
|
const actual = byId.get(assert.rule) ?? 'NOT_APPLICABLE';
|
|
35
|
+
if (actual === 'NOT_APPLICABLE') {
|
|
36
|
+
return { applicable: false, passed: true, detail: `${assert.rule} is not applicable` };
|
|
37
|
+
}
|
|
27
38
|
if (assertHolds(assert, byId)) {
|
|
28
39
|
return { applicable: true, passed: true, detail: `${assert.rule} is ${actual}` };
|
|
29
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../../src/engine/invariants.ts"],"names":[],"mappings":"AAwBA,SAAS,WAAW,CAAC,MAAuB,EAAE,IAAuB;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,IAAwB,EAAE,IAAuB;IACpE,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACzF,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxF,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACvF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,MAA0B,EAAE,IAAuB;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;AAC3E,CAAC;AASD
|
|
1
|
+
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../../src/engine/invariants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Facts, RulePack } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pack selection: which rule packs apply to this project, resolved to a
|
|
4
|
+
* fixed point because a pack may assert facts that make another pack apply.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Merges an additional capability set into the loaded packs for a single run.
|
|
8
|
+
* A pack id already present in the base registry wins (the registry is the
|
|
9
|
+
* source of truth); duplicate ids from `extraPacks` are dropped silently so a
|
|
10
|
+
* released capability cannot shadow a shipped one.
|
|
11
|
+
*/
|
|
12
|
+
export declare function mergeExtraPacks(packs: RulePack[], extra: RulePack[] | undefined): void;
|
|
13
|
+
export interface PackSelection {
|
|
14
|
+
activePacks: RulePack[];
|
|
15
|
+
packsLoaded: string[];
|
|
16
|
+
packsSkipped: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare function selectInitialPacks(packs: RulePack[], facts: Facts, include: Set<string>, exclude: Set<string>): PackSelection;
|
|
19
|
+
export declare function selectPack(pack: RulePack, facts: Facts, include: Set<string>, exclude: Set<string>, selection: PackSelection): boolean;
|
|
20
|
+
export declare function resolvePackFacts(packs: RulePack[], facts: Facts, include: Set<string>, exclude: Set<string>, selection: PackSelection): void;
|
|
21
|
+
//# sourceMappingURL=pack-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-selection.d.ts","sourceRoot":"","sources":["../../src/engine/pack-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnD;;;GAGG;AACH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,GAAG,IAAI,CAStF;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GACnB,aAAa,CAIf;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,SAAS,EAAE,aAAa,GACvB,OAAO,CAiBT;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,SAAS,EAAE,aAAa,GACvB,IAAI,CAaN"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { packApplies } from './evaluate.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pack selection: which rule packs apply to this project, resolved to a
|
|
4
|
+
* fixed point because a pack may assert facts that make another pack apply.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Merges an additional capability set into the loaded packs for a single run.
|
|
8
|
+
* A pack id already present in the base registry wins (the registry is the
|
|
9
|
+
* source of truth); duplicate ids from `extraPacks` are dropped silently so a
|
|
10
|
+
* released capability cannot shadow a shipped one.
|
|
11
|
+
*/
|
|
12
|
+
export function mergeExtraPacks(packs, extra) {
|
|
13
|
+
if (!extra || extra.length === 0)
|
|
14
|
+
return;
|
|
15
|
+
const seen = new Set(packs.map((p) => p.id));
|
|
16
|
+
for (const p of extra) {
|
|
17
|
+
if (!seen.has(p.id)) {
|
|
18
|
+
seen.add(p.id);
|
|
19
|
+
packs.push(p);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function selectInitialPacks(packs, facts, include, exclude) {
|
|
24
|
+
const selection = { activePacks: [], packsLoaded: [], packsSkipped: [] };
|
|
25
|
+
selection.activePacks = packs.filter((p) => selectPack(p, facts, include, exclude, selection));
|
|
26
|
+
return selection;
|
|
27
|
+
}
|
|
28
|
+
export function selectPack(pack, facts, include, exclude, selection) {
|
|
29
|
+
if (exclude.has(pack.id)) {
|
|
30
|
+
selection.packsSkipped.push(pack.id);
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (include.has(pack.id)) {
|
|
34
|
+
selection.packsLoaded.push(pack.id);
|
|
35
|
+
pack.provides?.forEach((f) => facts.flags.add(f));
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
if (!packApplies(pack, facts)) {
|
|
39
|
+
selection.packsSkipped.push(pack.id);
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
selection.packsLoaded.push(pack.id);
|
|
43
|
+
pack.provides?.forEach((f) => facts.flags.add(f));
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
export function resolvePackFacts(packs, facts, include, exclude, selection) {
|
|
47
|
+
for (let pass = 0; pass < 3; pass++) {
|
|
48
|
+
let changed = false;
|
|
49
|
+
for (const p of packs) {
|
|
50
|
+
if (selection.packsLoaded.includes(p.id) || exclude.has(p.id) || include.has(p.id))
|
|
51
|
+
continue;
|
|
52
|
+
if (!packApplies(p, facts))
|
|
53
|
+
continue;
|
|
54
|
+
selection.packsLoaded.push(p.id);
|
|
55
|
+
p.provides?.forEach((f) => facts.flags.add(f));
|
|
56
|
+
selection.activePacks.push(p);
|
|
57
|
+
changed = true;
|
|
58
|
+
}
|
|
59
|
+
if (!changed)
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=pack-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-selection.js","sourceRoot":"","sources":["../../src/engine/pack-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AuditReport, Depth, Facts, Finding, Maturity } from '../types.js';
|
|
2
|
+
import type { Project } from '../util/project.js';
|
|
3
|
+
import type { detect } from '../detect/index.js';
|
|
4
|
+
import type { ScoredRule } from './score.js';
|
|
5
|
+
/**
|
|
6
|
+
* Assembling the machine-readable report from scored findings.
|
|
7
|
+
*
|
|
8
|
+
* Deterministic by construction: the only non-deterministic field is
|
|
9
|
+
* `generatedAt`, and findings are sorted by a total order (severity, section,
|
|
10
|
+
* rule id) so two runs over the same tree diff cleanly.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildReport(opts: {
|
|
13
|
+
target: string;
|
|
14
|
+
depth: Depth;
|
|
15
|
+
profile: Maturity | 'auto';
|
|
16
|
+
rulesDir: string;
|
|
17
|
+
usaVersion: string;
|
|
18
|
+
}, git: ReturnType<Project['gitInfo']>, detection: ReturnType<typeof detect>, facts: Facts, maturity: Maturity, card: AuditReport['score'], evaluated: ScoredRule[], packsLoaded: string[], packsSkipped: string[]): AuditReport;
|
|
19
|
+
export declare function pick(facts: Facts, prefix: string): string[];
|
|
20
|
+
export declare const ORDER: Record<string, number>;
|
|
21
|
+
export declare function bySeverityThenSection(a: Finding, b: Finding): number;
|
|
22
|
+
//# sourceMappingURL=report-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-build.d.ts","sourceRoot":"","sources":["../../src/engine/report-build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EACnC,SAAS,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,EACpC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAC1B,SAAS,EAAE,UAAU,EAAE,EACvB,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EAAE,GACrB,WAAW,CAsCb;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAM3D;AAED,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAA0D,CAAC;AAEpG,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAOpE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { fingerprintRulesDir } from './ruleset.js';
|
|
3
|
+
/**
|
|
4
|
+
* Assembling the machine-readable report from scored findings.
|
|
5
|
+
*
|
|
6
|
+
* Deterministic by construction: the only non-deterministic field is
|
|
7
|
+
* `generatedAt`, and findings are sorted by a total order (severity, section,
|
|
8
|
+
* rule id) so two runs over the same tree diff cleanly.
|
|
9
|
+
*/
|
|
10
|
+
export function buildReport(opts, git, detection, facts, maturity, card, evaluated, packsLoaded, packsSkipped) {
|
|
11
|
+
return {
|
|
12
|
+
schema: 'usa-report-v1',
|
|
13
|
+
generatedAt: new Date().toISOString(),
|
|
14
|
+
usaVersion: opts.usaVersion,
|
|
15
|
+
ruleset: fingerprintRulesDir(opts.rulesDir),
|
|
16
|
+
target: {
|
|
17
|
+
path: path.resolve(opts.target),
|
|
18
|
+
name: path.basename(path.resolve(opts.target)) || opts.target,
|
|
19
|
+
commit: git.commit,
|
|
20
|
+
ref: git.ref,
|
|
21
|
+
repoUrl: git.repoUrl,
|
|
22
|
+
},
|
|
23
|
+
detection: {
|
|
24
|
+
maturity,
|
|
25
|
+
maturitySignals: detection.maturitySignals,
|
|
26
|
+
projectTypes: pick(facts, 'project'),
|
|
27
|
+
platforms: pick(facts, 'platform'),
|
|
28
|
+
languages: pick(facts, 'lang'),
|
|
29
|
+
frameworks: pick(facts, 'fw'),
|
|
30
|
+
packageManagers: pick(facts, 'pm'),
|
|
31
|
+
databases: pick(facts, 'db'),
|
|
32
|
+
flags: [...facts.flags].filter((f) => f.startsWith('has:')).sort(),
|
|
33
|
+
metrics: facts.metrics,
|
|
34
|
+
},
|
|
35
|
+
options: {
|
|
36
|
+
depth: opts.depth,
|
|
37
|
+
profile: opts.profile,
|
|
38
|
+
rulesDir: opts.rulesDir,
|
|
39
|
+
packsLoaded,
|
|
40
|
+
packsSkipped,
|
|
41
|
+
},
|
|
42
|
+
score: card,
|
|
43
|
+
findings: evaluated
|
|
44
|
+
.map((e) => e.finding)
|
|
45
|
+
.filter((f) => f.status !== 'NOT_APPLICABLE')
|
|
46
|
+
.sort(bySeverityThenSection),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export function pick(facts, prefix) {
|
|
50
|
+
const out = [];
|
|
51
|
+
for (const f of facts.flags) {
|
|
52
|
+
if (f.startsWith(`${prefix}:`))
|
|
53
|
+
out.push(f.slice(prefix.length + 1));
|
|
54
|
+
}
|
|
55
|
+
return out.sort();
|
|
56
|
+
}
|
|
57
|
+
export const ORDER = { CRITICAL: 0, HIGH: 1, MEDIUM: 2, LOW: 3, FUTURE: 4 };
|
|
58
|
+
export function bySeverityThenSection(a, b) {
|
|
59
|
+
const sa = ORDER[a.severity] ?? 9;
|
|
60
|
+
const sb = ORDER[b.severity] ?? 9;
|
|
61
|
+
if (sa !== sb)
|
|
62
|
+
return sa - sb;
|
|
63
|
+
if (a.section !== b.section)
|
|
64
|
+
return a.section.localeCompare(b.section, undefined, { numeric: true });
|
|
65
|
+
return a.ruleId.localeCompare(b.ruleId);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=report-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-build.js","sourceRoot":"","sources":["../../src/engine/report-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interview.d.ts","sourceRoot":"","sources":["../../src/foundation/interview.ts"],"names":[],"mappings":"AAgBA,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;CAC5C;AAOD,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EAmH3D,CAAC;AAyBF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAKtC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,GACV,gBAAgB,CAKlB;
|
|
1
|
+
{"version":3,"file":"interview.d.ts","sourceRoot":"","sources":["../../src/foundation/interview.ts"],"names":[],"mappings":"AAgBA,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;CAC5C;AAOD,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EAmH3D,CAAC;AAyBF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAKtC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,GACV,gBAAgB,CAKlB;AAwFD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,SAAY,GACtB,gBAAgB,CAOlB;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,gBAAgB,GACvB,MAAM,CAQR;AAgBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAgDrE;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAEpE;AAsDD,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,MAAM,GAAG,IAAI,EACzB,QAAQ,SAAuB,GAC9B,MAAM,GAAG,IAAI,CAcf;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,EAAE,SAAI,EACN,KAAK,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA2C,GACnE,KAAK,CASP;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgDD,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CA6BrE;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAgBrE"}
|