@vyuhlabs/dxkit 1.6.1 → 2.0.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/CHANGELOG.md +93 -0
- package/README.md +3 -3
- package/dist/agents/extract.d.ts +25 -0
- package/dist/agents/extract.d.ts.map +1 -0
- package/dist/agents/extract.js +186 -0
- package/dist/agents/extract.js.map +1 -0
- package/dist/agents/schemas.d.ts +106 -0
- package/dist/agents/schemas.d.ts.map +1 -0
- package/dist/agents/schemas.js +86 -0
- package/dist/agents/schemas.js.map +1 -0
- package/dist/agents/session.d.ts +28 -0
- package/dist/agents/session.d.ts.map +1 -0
- package/dist/agents/session.js +223 -0
- package/dist/agents/session.js.map +1 -0
- package/dist/analyzers/developer/detailed.js +1 -1
- package/dist/analyzers/developer/detailed.js.map +1 -1
- package/dist/analyzers/dispatcher.d.ts +36 -0
- package/dist/analyzers/dispatcher.d.ts.map +1 -0
- package/dist/analyzers/dispatcher.js +62 -0
- package/dist/analyzers/dispatcher.js.map +1 -0
- package/dist/analyzers/docs/shallow.d.ts +3 -2
- package/dist/analyzers/docs/shallow.d.ts.map +1 -1
- package/dist/analyzers/docs/shallow.js +2 -2
- package/dist/analyzers/docs/shallow.js.map +1 -1
- package/dist/analyzers/dx/shallow.d.ts +3 -2
- package/dist/analyzers/dx/shallow.d.ts.map +1 -1
- package/dist/analyzers/dx/shallow.js +2 -2
- package/dist/analyzers/dx/shallow.js.map +1 -1
- package/dist/analyzers/health/actions.d.ts +3 -3
- package/dist/analyzers/health/actions.d.ts.map +1 -1
- package/dist/analyzers/health/actions.js +99 -52
- package/dist/analyzers/health/actions.js.map +1 -1
- package/dist/analyzers/health/detailed.d.ts.map +1 -1
- package/dist/analyzers/health/detailed.js +6 -2
- package/dist/analyzers/health/detailed.js.map +1 -1
- package/dist/analyzers/health.d.ts +0 -2
- package/dist/analyzers/health.d.ts.map +1 -1
- package/dist/analyzers/health.js +123 -72
- package/dist/analyzers/health.js.map +1 -1
- package/dist/analyzers/maintainability/shallow.d.ts +3 -2
- package/dist/analyzers/maintainability/shallow.d.ts.map +1 -1
- package/dist/analyzers/maintainability/shallow.js +2 -2
- package/dist/analyzers/maintainability/shallow.js.map +1 -1
- package/dist/analyzers/quality/detailed.js +1 -1
- package/dist/analyzers/quality/detailed.js.map +1 -1
- package/dist/analyzers/quality/gather.d.ts +33 -4
- package/dist/analyzers/quality/gather.d.ts.map +1 -1
- package/dist/analyzers/quality/gather.js +81 -93
- package/dist/analyzers/quality/gather.js.map +1 -1
- package/dist/analyzers/quality/index.js +4 -4
- package/dist/analyzers/quality/index.js.map +1 -1
- package/dist/analyzers/quality/shallow.d.ts +3 -2
- package/dist/analyzers/quality/shallow.d.ts.map +1 -1
- package/dist/analyzers/quality/shallow.js +2 -2
- package/dist/analyzers/quality/shallow.js.map +1 -1
- package/dist/analyzers/scoring.d.ts +26 -9
- package/dist/analyzers/scoring.d.ts.map +1 -1
- package/dist/analyzers/scoring.js +83 -71
- package/dist/analyzers/scoring.js.map +1 -1
- package/dist/analyzers/security/detailed.js +1 -1
- package/dist/analyzers/security/detailed.js.map +1 -1
- package/dist/analyzers/security/gather.d.ts +28 -5
- package/dist/analyzers/security/gather.d.ts.map +1 -1
- package/dist/analyzers/security/gather.js +87 -135
- package/dist/analyzers/security/gather.js.map +1 -1
- package/dist/analyzers/security/index.d.ts +1 -1
- package/dist/analyzers/security/index.d.ts.map +1 -1
- package/dist/analyzers/security/index.js +16 -11
- package/dist/analyzers/security/index.js.map +1 -1
- package/dist/analyzers/security/report.d.ts +6 -0
- package/dist/analyzers/security/report.d.ts.map +1 -0
- package/dist/analyzers/security/report.js +118 -0
- package/dist/analyzers/security/report.js.map +1 -0
- package/dist/analyzers/security/shallow.d.ts +3 -2
- package/dist/analyzers/security/shallow.d.ts.map +1 -1
- package/dist/analyzers/security/shallow.js +2 -2
- package/dist/analyzers/security/shallow.js.map +1 -1
- package/dist/analyzers/tests/detailed.js +1 -1
- package/dist/analyzers/tests/detailed.js.map +1 -1
- package/dist/analyzers/tests/import-graph.d.ts +8 -22
- package/dist/analyzers/tests/import-graph.d.ts.map +1 -1
- package/dist/analyzers/tests/import-graph.js +22 -189
- package/dist/analyzers/tests/import-graph.js.map +1 -1
- package/dist/analyzers/tests/index.d.ts +1 -1
- package/dist/analyzers/tests/index.d.ts.map +1 -1
- package/dist/analyzers/tests/index.js +3 -3
- package/dist/analyzers/tests/index.js.map +1 -1
- package/dist/analyzers/tests/shallow.d.ts +3 -2
- package/dist/analyzers/tests/shallow.d.ts.map +1 -1
- package/dist/analyzers/tests/shallow.js +2 -2
- package/dist/analyzers/tests/shallow.js.map +1 -1
- package/dist/analyzers/tools/coverage.d.ts +21 -11
- package/dist/analyzers/tools/coverage.d.ts.map +1 -1
- package/dist/analyzers/tools/coverage.js +32 -44
- package/dist/analyzers/tools/coverage.js.map +1 -1
- package/dist/analyzers/tools/dotnet.d.ts +8 -0
- package/dist/analyzers/tools/dotnet.d.ts.map +1 -0
- package/dist/analyzers/tools/dotnet.js +81 -0
- package/dist/analyzers/tools/dotnet.js.map +1 -0
- package/dist/analyzers/tools/gather-cache.d.ts +16 -0
- package/dist/analyzers/tools/gather-cache.d.ts.map +1 -0
- package/dist/analyzers/tools/gather-cache.js +126 -0
- package/dist/analyzers/tools/gather-cache.js.map +1 -0
- package/dist/analyzers/tools/generic.d.ts.map +1 -1
- package/dist/analyzers/tools/generic.js +6 -28
- package/dist/analyzers/tools/generic.js.map +1 -1
- package/dist/analyzers/tools/gitleaks.d.ts +28 -5
- package/dist/analyzers/tools/gitleaks.d.ts.map +1 -1
- package/dist/analyzers/tools/gitleaks.js +91 -37
- package/dist/analyzers/tools/gitleaks.js.map +1 -1
- package/dist/analyzers/tools/go.d.ts +8 -0
- package/dist/analyzers/tools/go.d.ts.map +1 -0
- package/dist/analyzers/tools/go.js +84 -0
- package/dist/analyzers/tools/go.js.map +1 -0
- package/dist/analyzers/tools/graphify.d.ts +31 -3
- package/dist/analyzers/tools/graphify.d.ts.map +1 -1
- package/dist/analyzers/tools/graphify.js +78 -36
- package/dist/analyzers/tools/graphify.js.map +1 -1
- package/dist/analyzers/tools/grep-secrets.d.ts +6 -0
- package/dist/analyzers/tools/grep-secrets.d.ts.map +1 -0
- package/dist/analyzers/tools/grep-secrets.js +124 -0
- package/dist/analyzers/tools/grep-secrets.js.map +1 -0
- package/dist/analyzers/tools/jscpd.d.ts +40 -0
- package/dist/analyzers/tools/jscpd.d.ts.map +1 -0
- package/dist/analyzers/tools/jscpd.js +96 -0
- package/dist/analyzers/tools/jscpd.js.map +1 -0
- package/dist/analyzers/tools/node.d.ts +8 -0
- package/dist/analyzers/tools/node.d.ts.map +1 -0
- package/dist/analyzers/tools/node.js +160 -0
- package/dist/analyzers/tools/node.js.map +1 -0
- package/dist/analyzers/tools/package-json.d.ts +6 -0
- package/dist/analyzers/tools/package-json.d.ts.map +1 -0
- package/dist/analyzers/tools/package-json.js +67 -0
- package/dist/analyzers/tools/package-json.js.map +1 -0
- package/dist/analyzers/tools/parallel.d.ts +22 -5
- package/dist/analyzers/tools/parallel.d.ts.map +1 -1
- package/dist/analyzers/tools/parallel.js +26 -185
- package/dist/analyzers/tools/parallel.js.map +1 -1
- package/dist/analyzers/tools/paths.d.ts +21 -0
- package/dist/analyzers/tools/paths.d.ts.map +1 -0
- package/dist/analyzers/tools/paths.js +62 -0
- package/dist/analyzers/tools/paths.js.map +1 -0
- package/dist/analyzers/tools/python.d.ts +8 -0
- package/dist/analyzers/tools/python.d.ts.map +1 -0
- package/dist/analyzers/tools/python.js +81 -0
- package/dist/analyzers/tools/python.js.map +1 -0
- package/dist/analyzers/tools/rust.d.ts +8 -0
- package/dist/analyzers/tools/rust.d.ts.map +1 -0
- package/dist/analyzers/tools/rust.js +86 -0
- package/dist/analyzers/tools/rust.js.map +1 -0
- package/dist/analyzers/tools/semgrep.d.ts +39 -0
- package/dist/analyzers/tools/semgrep.d.ts.map +1 -0
- package/dist/analyzers/tools/semgrep.js +129 -0
- package/dist/analyzers/tools/semgrep.js.map +1 -0
- package/dist/analyzers/tools/tool-registry.d.ts +0 -41
- package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
- package/dist/analyzers/tools/tool-registry.js +0 -87
- package/dist/analyzers/tools/tool-registry.js.map +1 -1
- package/dist/analyzers/types.d.ts +42 -30
- package/dist/analyzers/types.d.ts.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +1 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +55 -14
- package/dist/constants.js.map +1 -1
- package/dist/languages/capabilities/descriptors.d.ts +74 -0
- package/dist/languages/capabilities/descriptors.d.ts.map +1 -0
- package/dist/languages/capabilities/descriptors.js +250 -0
- package/dist/languages/capabilities/descriptors.js.map +1 -0
- package/dist/languages/capabilities/global.d.ts +43 -0
- package/dist/languages/capabilities/global.d.ts.map +1 -0
- package/dist/languages/capabilities/global.js +48 -0
- package/dist/languages/capabilities/global.js.map +1 -0
- package/dist/languages/capabilities/index.d.ts +31 -0
- package/dist/languages/capabilities/index.d.ts.map +1 -0
- package/dist/languages/capabilities/index.js +56 -0
- package/dist/languages/capabilities/index.js.map +1 -0
- package/dist/languages/capabilities/provider.d.ts +16 -0
- package/dist/languages/capabilities/provider.d.ts.map +1 -0
- package/dist/languages/capabilities/provider.js +12 -0
- package/dist/languages/capabilities/provider.js.map +1 -0
- package/dist/languages/capabilities/types.d.ts +226 -0
- package/dist/languages/capabilities/types.d.ts.map +1 -0
- package/dist/languages/capabilities/types.js +23 -0
- package/dist/languages/capabilities/types.js.map +1 -0
- package/dist/languages/csharp.d.ts +8 -0
- package/dist/languages/csharp.d.ts.map +1 -1
- package/dist/languages/csharp.js +203 -103
- package/dist/languages/csharp.js.map +1 -1
- package/dist/languages/go.d.ts +13 -7
- package/dist/languages/go.d.ts.map +1 -1
- package/dist/languages/go.js +277 -183
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/python.d.ts +14 -0
- package/dist/languages/python.d.ts.map +1 -1
- package/dist/languages/python.js +276 -169
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/rust.d.ts +8 -0
- package/dist/languages/rust.d.ts.map +1 -1
- package/dist/languages/rust.js +218 -131
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/types.d.ts +16 -15
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript.d.ts +12 -11
- package/dist/languages/typescript.d.ts.map +1 -1
- package/dist/languages/typescript.js +256 -161
- package/dist/languages/typescript.js.map +1 -1
- package/package.json +1 -1
- package/templates/.ai/templates/session-checkpoint-template.md +97 -0
|
@@ -3,16 +3,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildHealthPlans = buildHealthPlans;
|
|
4
4
|
const remediation_1 = require("../remediation");
|
|
5
5
|
const scoring_1 = require("../scoring");
|
|
6
|
+
/** Shallow-clone the metrics slice with `patch` merged on top. */
|
|
7
|
+
function withMetrics(cur, patch) {
|
|
8
|
+
return { ...cur, metrics: { ...cur.metrics, ...patch } };
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Shallow-clone one capability envelope with `patch` merged on top.
|
|
12
|
+
* Returns `cur` unchanged when the envelope isn't present — the dispatcher
|
|
13
|
+
* only populates capabilities that had real data, and an action whose
|
|
14
|
+
* guard fired against a present envelope will never be asked to patch an
|
|
15
|
+
* absent one.
|
|
16
|
+
*/
|
|
17
|
+
function withCapability(cur, key, patch) {
|
|
18
|
+
const existing = cur.capabilities[key];
|
|
19
|
+
if (!existing)
|
|
20
|
+
return cur;
|
|
21
|
+
return {
|
|
22
|
+
...cur,
|
|
23
|
+
capabilities: {
|
|
24
|
+
...cur.capabilities,
|
|
25
|
+
[key]: { ...existing, ...patch },
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/** Pull the legacy "error count" (critical + high) from the lint envelope. */
|
|
30
|
+
function lintErrorsFrom(c) {
|
|
31
|
+
return (c.lint?.counts.critical ?? 0) + (c.lint?.counts.high ?? 0);
|
|
32
|
+
}
|
|
6
33
|
// ─── Testing dimension ──────────────────────────────────────────────────────
|
|
7
|
-
function testingActions(
|
|
34
|
+
function testingActions(input) {
|
|
35
|
+
const { metrics: m, capabilities: c } = input;
|
|
8
36
|
const actions = [];
|
|
9
|
-
|
|
37
|
+
const commentedCodeRatio = c.structural?.commentedCodeRatio ?? null;
|
|
38
|
+
if (commentedCodeRatio !== null && commentedCodeRatio > 0.5) {
|
|
10
39
|
actions.push({
|
|
11
40
|
id: 'health.testing.restore-commented-tests',
|
|
12
41
|
title: 'Restore commented-out test files',
|
|
13
42
|
rationale: 'High commented-code ratio across test files indicates atrophied tests. See test-gaps-detailed.md.',
|
|
14
43
|
evidence: [],
|
|
15
|
-
patch: (cur) => (
|
|
44
|
+
patch: (cur) => withCapability(cur, 'structural', { commentedCodeRatio: 0.1 }),
|
|
16
45
|
});
|
|
17
46
|
}
|
|
18
47
|
if (m.testFiles < m.sourceFiles * 0.1 && m.sourceFiles > 0) {
|
|
@@ -22,7 +51,7 @@ function testingActions(m) {
|
|
|
22
51
|
title: `Raise test-to-source ratio (${m.testFiles} tests for ${m.sourceFiles} source files)`,
|
|
23
52
|
rationale: 'Under 10% test-to-source ratio is critical. Start with top CRITICAL untested files — see test-gaps-detailed.md for the ranked list.',
|
|
24
53
|
evidence: [],
|
|
25
|
-
patch: (cur) => (
|
|
54
|
+
patch: (cur) => withMetrics(cur, { testFiles: target }),
|
|
26
55
|
});
|
|
27
56
|
}
|
|
28
57
|
if (!m.coverageConfigExists) {
|
|
@@ -31,14 +60,19 @@ function testingActions(m) {
|
|
|
31
60
|
title: 'Add test coverage tooling',
|
|
32
61
|
rationale: 'No coverage config (nyc/c8/jest.coverage/coverage.py). Configure + set threshold.',
|
|
33
62
|
evidence: [],
|
|
34
|
-
patch: (cur) => (
|
|
63
|
+
patch: (cur) => withMetrics(cur, { coverageConfigExists: true }),
|
|
35
64
|
});
|
|
36
65
|
}
|
|
37
66
|
return actions;
|
|
38
67
|
}
|
|
39
68
|
// ─── Quality dimension ──────────────────────────────────────────────────────
|
|
40
|
-
function qualityActions(
|
|
69
|
+
function qualityActions(input) {
|
|
70
|
+
const { metrics: m, capabilities: c } = input;
|
|
41
71
|
const actions = [];
|
|
72
|
+
const lintErrors = lintErrorsFrom(c);
|
|
73
|
+
const lintTool = c.lint?.tool ?? null;
|
|
74
|
+
const maxFunctionsInFile = c.structural?.maxFunctionsInFile ?? null;
|
|
75
|
+
const maxFunctionsFilePath = c.structural?.maxFunctionsFilePath ?? null;
|
|
42
76
|
if (m.consoleLogCount > 20) {
|
|
43
77
|
actions.push({
|
|
44
78
|
id: 'health.quality.remove-console',
|
|
@@ -47,50 +81,60 @@ function qualityActions(m) {
|
|
|
47
81
|
evidence: m.largestFilePath
|
|
48
82
|
? [{ file: m.largestFilePath, rule: 'console-log', tool: 'grep' }]
|
|
49
83
|
: [],
|
|
50
|
-
patch: (cur) => (
|
|
84
|
+
patch: (cur) => withMetrics(cur, { consoleLogCount: 10 }),
|
|
51
85
|
});
|
|
52
86
|
}
|
|
53
|
-
if (m.anyTypeCount > 100 &&
|
|
87
|
+
if (m.anyTypeCount > 100 && lintTool?.includes('eslint')) {
|
|
54
88
|
actions.push({
|
|
55
89
|
id: 'health.quality.remove-any-types',
|
|
56
90
|
title: `Replace ${m.anyTypeCount} \`: any\` type annotations`,
|
|
57
91
|
rationale: 'Loose any-types defeat TypeScript. Most can be inferred or narrowed.',
|
|
58
92
|
evidence: [],
|
|
59
|
-
patch: (cur) => (
|
|
93
|
+
patch: (cur) => withMetrics(cur, { anyTypeCount: 50 }),
|
|
60
94
|
});
|
|
61
95
|
}
|
|
62
|
-
if (
|
|
96
|
+
if (lintErrors > 10) {
|
|
63
97
|
actions.push({
|
|
64
98
|
id: 'health.quality.fix-lint-errors',
|
|
65
|
-
title: `Fix ${
|
|
66
|
-
rationale: `Run \`${
|
|
99
|
+
title: `Fix ${lintErrors} lint errors`,
|
|
100
|
+
rationale: `Run \`${lintTool || 'lint'} --fix\` for auto-fixable ones.`,
|
|
67
101
|
evidence: [],
|
|
68
|
-
|
|
102
|
+
// Zero out the "error" tier counts (critical + high); warnings (medium
|
|
103
|
+
// + low) stay as-is since this action only claims error-fixing.
|
|
104
|
+
patch: (cur) => withCapability(cur, 'lint', {
|
|
105
|
+
counts: {
|
|
106
|
+
critical: 0,
|
|
107
|
+
high: 0,
|
|
108
|
+
medium: cur.capabilities.lint?.counts.medium ?? 0,
|
|
109
|
+
low: cur.capabilities.lint?.counts.low ?? 0,
|
|
110
|
+
},
|
|
111
|
+
}),
|
|
69
112
|
});
|
|
70
113
|
}
|
|
71
|
-
if (
|
|
72
|
-
const ev =
|
|
114
|
+
if (maxFunctionsInFile !== null && maxFunctionsInFile > 50) {
|
|
115
|
+
const ev = maxFunctionsFilePath
|
|
73
116
|
? [
|
|
74
117
|
{
|
|
75
|
-
file:
|
|
118
|
+
file: maxFunctionsFilePath,
|
|
76
119
|
rule: 'god-file',
|
|
77
120
|
tool: 'graphify',
|
|
78
|
-
message: `${
|
|
121
|
+
message: `${maxFunctionsInFile} functions`,
|
|
79
122
|
},
|
|
80
123
|
]
|
|
81
124
|
: [];
|
|
82
125
|
actions.push({
|
|
83
126
|
id: 'health.quality.split-god-file',
|
|
84
|
-
title: `Split densest file (${
|
|
127
|
+
title: `Split densest file (${maxFunctionsInFile} functions)`,
|
|
85
128
|
rationale: 'Files with 50+ functions are hard to test and review.',
|
|
86
129
|
evidence: ev,
|
|
87
|
-
patch: (cur) => (
|
|
130
|
+
patch: (cur) => withCapability(cur, 'structural', { maxFunctionsInFile: 40 }),
|
|
88
131
|
});
|
|
89
132
|
}
|
|
90
133
|
return actions;
|
|
91
134
|
}
|
|
92
135
|
// ─── Documentation dimension ────────────────────────────────────────────────
|
|
93
|
-
function docsActions(
|
|
136
|
+
function docsActions(input) {
|
|
137
|
+
const m = input.metrics;
|
|
94
138
|
const actions = [];
|
|
95
139
|
if (!m.readmeExists || m.readmeLines < 50) {
|
|
96
140
|
actions.push({
|
|
@@ -100,7 +144,7 @@ function docsActions(m) {
|
|
|
100
144
|
: 'Create a README.md',
|
|
101
145
|
rationale: 'README is the first impression. Target 50+ lines covering setup, run, test.',
|
|
102
146
|
evidence: [],
|
|
103
|
-
patch: (cur) => (
|
|
147
|
+
patch: (cur) => withMetrics(cur, { readmeExists: true, readmeLines: 120 }),
|
|
104
148
|
});
|
|
105
149
|
}
|
|
106
150
|
if (!m.contributingExists) {
|
|
@@ -109,7 +153,7 @@ function docsActions(m) {
|
|
|
109
153
|
title: 'Add CONTRIBUTING.md',
|
|
110
154
|
rationale: 'Codifies contribution expectations, PR template, commit conventions.',
|
|
111
155
|
evidence: [],
|
|
112
|
-
patch: (cur) => (
|
|
156
|
+
patch: (cur) => withMetrics(cur, { contributingExists: true }),
|
|
113
157
|
});
|
|
114
158
|
}
|
|
115
159
|
if (!m.architectureDocsExist) {
|
|
@@ -118,7 +162,7 @@ function docsActions(m) {
|
|
|
118
162
|
title: 'Add architecture/ADR documentation',
|
|
119
163
|
rationale: 'System design context prevents tribal-knowledge debt.',
|
|
120
164
|
evidence: [],
|
|
121
|
-
patch: (cur) => (
|
|
165
|
+
patch: (cur) => withMetrics(cur, { architectureDocsExist: true }),
|
|
122
166
|
});
|
|
123
167
|
}
|
|
124
168
|
if (!m.apiDocsExist && (m.controllers > 0 || m.sourceFiles > 100)) {
|
|
@@ -127,21 +171,26 @@ function docsActions(m) {
|
|
|
127
171
|
title: 'Add API documentation',
|
|
128
172
|
rationale: 'With controllers/routes present, API surface should be documented.',
|
|
129
173
|
evidence: [],
|
|
130
|
-
patch: (cur) => (
|
|
174
|
+
patch: (cur) => withMetrics(cur, { apiDocsExist: true }),
|
|
131
175
|
});
|
|
132
176
|
}
|
|
133
177
|
return actions;
|
|
134
178
|
}
|
|
135
179
|
// ─── Security dimension ─────────────────────────────────────────────────────
|
|
136
|
-
function securityActions(
|
|
180
|
+
function securityActions(input) {
|
|
181
|
+
const { metrics: m, capabilities: c } = input;
|
|
137
182
|
const actions = [];
|
|
138
|
-
|
|
183
|
+
const secretFindings = c.secrets?.findings.length ?? 0;
|
|
184
|
+
const depVulnCritical = c.depVulns?.counts.critical ?? 0;
|
|
185
|
+
const depVulnHigh = c.depVulns?.counts.high ?? 0;
|
|
186
|
+
const depAuditTool = c.depVulns?.tool ?? null;
|
|
187
|
+
if (secretFindings > 0) {
|
|
139
188
|
actions.push({
|
|
140
189
|
id: 'health.security.remove-secrets',
|
|
141
|
-
title: `Rotate & remove ${
|
|
190
|
+
title: `Rotate & remove ${secretFindings} hardcoded secret${secretFindings === 1 ? '' : 's'}`,
|
|
142
191
|
rationale: 'Git history retains secrets — rotate credentials AND purge via git-filter-repo. See vulnerability-scan-detailed.md.',
|
|
143
192
|
evidence: [],
|
|
144
|
-
patch: (cur) => (
|
|
193
|
+
patch: (cur) => withCapability(cur, 'secrets', { findings: [] }),
|
|
145
194
|
});
|
|
146
195
|
}
|
|
147
196
|
if (m.privateKeyFiles > 0) {
|
|
@@ -150,21 +199,17 @@ function securityActions(m) {
|
|
|
150
199
|
title: `Remove ${m.privateKeyFiles} private key file${m.privateKeyFiles === 1 ? '' : 's'} from git`,
|
|
151
200
|
rationale: 'Private keys in git are compromised. Rotate + remove + add to .gitignore.',
|
|
152
201
|
evidence: [],
|
|
153
|
-
patch: (cur) => (
|
|
202
|
+
patch: (cur) => withMetrics(cur, { privateKeyFiles: 0 }),
|
|
154
203
|
});
|
|
155
204
|
}
|
|
156
|
-
if (
|
|
205
|
+
if (depVulnCritical > 0 || depVulnHigh > 0) {
|
|
157
206
|
actions.push({
|
|
158
207
|
id: 'health.security.update-deps',
|
|
159
|
-
title: `Update vulnerable dependencies (${
|
|
160
|
-
rationale: `Run \`${
|
|
208
|
+
title: `Update vulnerable dependencies (${depVulnCritical}C ${depVulnHigh}H)`,
|
|
209
|
+
rationale: `Run \`${depAuditTool || 'audit tool'} fix\` or bump affected packages.`,
|
|
161
210
|
evidence: [],
|
|
162
|
-
patch: (cur) => ({
|
|
163
|
-
|
|
164
|
-
depVulnCritical: 0,
|
|
165
|
-
depVulnHigh: 0,
|
|
166
|
-
depVulnMedium: 0,
|
|
167
|
-
depVulnLow: 0,
|
|
211
|
+
patch: (cur) => withCapability(cur, 'depVulns', {
|
|
212
|
+
counts: { critical: 0, high: 0, medium: 0, low: 0 },
|
|
168
213
|
}),
|
|
169
214
|
});
|
|
170
215
|
}
|
|
@@ -174,13 +219,14 @@ function securityActions(m) {
|
|
|
174
219
|
title: `Remove ${m.evalCount} eval() call${m.evalCount === 1 ? '' : 's'}`,
|
|
175
220
|
rationale: 'eval() enables arbitrary code execution. Replace with explicit parsing.',
|
|
176
221
|
evidence: [],
|
|
177
|
-
patch: (cur) => (
|
|
222
|
+
patch: (cur) => withMetrics(cur, { evalCount: 0 }),
|
|
178
223
|
});
|
|
179
224
|
}
|
|
180
225
|
return actions;
|
|
181
226
|
}
|
|
182
227
|
// ─── Maintainability dimension ──────────────────────────────────────────────
|
|
183
|
-
function maintainabilityActions(
|
|
228
|
+
function maintainabilityActions(input) {
|
|
229
|
+
const m = input.metrics;
|
|
184
230
|
const actions = [];
|
|
185
231
|
if (m.largestFileLines > 2000) {
|
|
186
232
|
actions.push({
|
|
@@ -190,7 +236,7 @@ function maintainabilityActions(m) {
|
|
|
190
236
|
evidence: m.largestFilePath
|
|
191
237
|
? [{ file: m.largestFilePath, rule: 'large-file', tool: 'wc' }]
|
|
192
238
|
: [],
|
|
193
|
-
patch: (cur) => (
|
|
239
|
+
patch: (cur) => withMetrics(cur, { largestFileLines: 500 }),
|
|
194
240
|
});
|
|
195
241
|
}
|
|
196
242
|
if (m.nodeEngineVersion) {
|
|
@@ -201,7 +247,7 @@ function maintainabilityActions(m) {
|
|
|
201
247
|
title: `Upgrade Node engine (currently ${m.nodeEngineVersion})`,
|
|
202
248
|
rationale: 'Node < 18 is out of LTS. Upgrade package.json engines.node.',
|
|
203
249
|
evidence: [{ file: 'package.json', rule: 'outdated-node', tool: 'npm' }],
|
|
204
|
-
patch: (cur) => (
|
|
250
|
+
patch: (cur) => withMetrics(cur, { nodeEngineVersion: '>=20' }),
|
|
205
251
|
});
|
|
206
252
|
}
|
|
207
253
|
}
|
|
@@ -211,13 +257,14 @@ function maintainabilityActions(m) {
|
|
|
211
257
|
title: `Reduce ${m.filesOver500Lines} files > 500 lines`,
|
|
212
258
|
rationale: 'Large files are hard to navigate and review.',
|
|
213
259
|
evidence: [],
|
|
214
|
-
patch: (cur) => (
|
|
260
|
+
patch: (cur) => withMetrics(cur, { filesOver500Lines: 5 }),
|
|
215
261
|
});
|
|
216
262
|
}
|
|
217
263
|
return actions;
|
|
218
264
|
}
|
|
219
265
|
// ─── Developer Experience dimension ─────────────────────────────────────────
|
|
220
|
-
function dxActions(
|
|
266
|
+
function dxActions(input) {
|
|
267
|
+
const m = input.metrics;
|
|
221
268
|
const actions = [];
|
|
222
269
|
if (m.ciConfigCount === 0) {
|
|
223
270
|
actions.push({
|
|
@@ -225,7 +272,7 @@ function dxActions(m) {
|
|
|
225
272
|
title: 'Add CI configuration',
|
|
226
273
|
rationale: 'No CI on this branch — lint/test/typecheck should block merges. Add .github/workflows or equivalent.',
|
|
227
274
|
evidence: [],
|
|
228
|
-
patch: (cur) => (
|
|
275
|
+
patch: (cur) => withMetrics(cur, { ciConfigCount: 1 }),
|
|
229
276
|
});
|
|
230
277
|
}
|
|
231
278
|
if (m.dockerConfigCount === 0) {
|
|
@@ -234,7 +281,7 @@ function dxActions(m) {
|
|
|
234
281
|
title: 'Add Dockerfile / containerization',
|
|
235
282
|
rationale: 'Containerized setup eliminates "works on my machine" onboarding friction.',
|
|
236
283
|
evidence: [],
|
|
237
|
-
patch: (cur) => (
|
|
284
|
+
patch: (cur) => withMetrics(cur, { dockerConfigCount: 1 }),
|
|
238
285
|
});
|
|
239
286
|
}
|
|
240
287
|
if (m.precommitConfigCount === 0) {
|
|
@@ -243,7 +290,7 @@ function dxActions(m) {
|
|
|
243
290
|
title: 'Add pre-commit hooks (husky / pre-commit)',
|
|
244
291
|
rationale: 'Catch lint/format issues before code leaves the developer machine.',
|
|
245
292
|
evidence: [],
|
|
246
|
-
patch: (cur) => (
|
|
293
|
+
patch: (cur) => withMetrics(cur, { precommitConfigCount: 1 }),
|
|
247
294
|
});
|
|
248
295
|
}
|
|
249
296
|
if (!m.envExampleExists) {
|
|
@@ -252,12 +299,12 @@ function dxActions(m) {
|
|
|
252
299
|
title: 'Add .env.example',
|
|
253
300
|
rationale: 'Documents required environment variables without leaking secrets.',
|
|
254
301
|
evidence: [],
|
|
255
|
-
patch: (cur) => (
|
|
302
|
+
patch: (cur) => withMetrics(cur, { envExampleExists: true }),
|
|
256
303
|
});
|
|
257
304
|
}
|
|
258
305
|
return actions;
|
|
259
306
|
}
|
|
260
|
-
function buildHealthPlans(
|
|
307
|
+
function buildHealthPlans(input) {
|
|
261
308
|
const dims = [
|
|
262
309
|
{ name: 'Testing', scorer: scoring_1.scoreTest, build: testingActions },
|
|
263
310
|
{ name: 'Quality', scorer: scoring_1.scoreQuality, build: qualityActions },
|
|
@@ -267,10 +314,10 @@ function buildHealthPlans(metrics) {
|
|
|
267
314
|
{ name: 'Developer Experience', scorer: scoring_1.scoreDeveloperExperience, build: dxActions },
|
|
268
315
|
];
|
|
269
316
|
return dims.map((d) => {
|
|
270
|
-
const baseline = d.scorer(
|
|
271
|
-
const actions = (0, remediation_1.rank)(d.build(
|
|
317
|
+
const baseline = d.scorer(input).score;
|
|
318
|
+
const actions = (0, remediation_1.rank)(d.build(input), input, d.scorer);
|
|
272
319
|
// "Ideal" = apply every action's patch in sequence, then score.
|
|
273
|
-
let ideal =
|
|
320
|
+
let ideal = input;
|
|
274
321
|
for (const a of actions)
|
|
275
322
|
ideal = a.patch(ideal);
|
|
276
323
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/analyzers/health/actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/analyzers/health/actions.ts"],"names":[],"mappings":";;AA+YA,4CA0BC;AArZD,gDAAuE;AAavE,wCAQoB;AAIpB,kEAAkE;AAClE,SAAS,WAAW,CAAC,GAAe,EAAE,KAA6B;IACjE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;AAC3D,CAAC;AAkBD;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,GAAe,EACf,GAAM,EACN,KAAsC;IAEtC,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAuC,CAAC;IAC7E,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC1B,OAAO;QACL,GAAG,GAAG;QACN,YAAY,EAAE;YACZ,GAAG,GAAG,CAAC,YAAY;YACnB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE;SACjC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,cAAc,CAAC,CAAmB;IACzC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,+EAA+E;AAE/E,SAAS,cAAc,CAAC,KAAiB;IACvC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,kBAAkB,GAAG,CAAC,CAAC,UAAU,EAAE,kBAAkB,IAAI,IAAI,CAAC;IAEpE,IAAI,kBAAkB,KAAK,IAAI,IAAI,kBAAkB,GAAG,GAAG,EAAE,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,wCAAwC;YAC5C,KAAK,EAAE,kCAAkC;YACzC,SAAS,EACP,mGAAmG;YACrG,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,iCAAiC;YACrC,KAAK,EAAE,+BAA+B,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,WAAW,gBAAgB;YAC5F,SAAS,EACP,qIAAqI;YACvI,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,oCAAoC;YACxC,KAAK,EAAE,2BAA2B;YAClC,SAAS,EACP,mFAAmF;YACrF,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E,SAAS,cAAc,CAAC,KAAiB;IACvC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;IACtC,MAAM,kBAAkB,GAAG,CAAC,CAAC,UAAU,EAAE,kBAAkB,IAAI,IAAI,CAAC;IACpE,MAAM,oBAAoB,GAAG,CAAC,CAAC,UAAU,EAAE,oBAAoB,IAAI,IAAI,CAAC;IAExE,IAAI,CAAC,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,+BAA+B;YACnC,KAAK,EAAE,8BAA8B,CAAC,CAAC,eAAe,GAAG;YACzD,SAAS,EAAE,wDAAwD;YACnE,QAAQ,EAAE,CAAC,CAAC,eAAe;gBACzB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAClE,CAAC,CAAC,EAAE;YACN,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,GAAG,GAAG,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,iCAAiC;YACrC,KAAK,EAAE,WAAW,CAAC,CAAC,YAAY,6BAA6B;YAC7D,SAAS,EAAE,sEAAsE;YACjF,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,OAAO,UAAU,cAAc;YACtC,SAAS,EAAE,SAAS,QAAQ,IAAI,MAAM,iCAAiC;YACvE,QAAQ,EAAE,EAAE;YACZ,uEAAuE;YACvE,gEAAgE;YAChE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;gBAC1B,MAAM,EAAE;oBACN,QAAQ,EAAE,CAAC;oBACX,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;oBACjD,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;iBAC5C;aACF,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IACD,IAAI,kBAAkB,KAAK,IAAI,IAAI,kBAAkB,GAAG,EAAE,EAAE,CAAC;QAC3D,MAAM,EAAE,GAAe,oBAAoB;YACzC,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,GAAG,kBAAkB,YAAY;iBAC3C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,+BAA+B;YACnC,KAAK,EAAE,uBAAuB,kBAAkB,aAAa;YAC7D,SAAS,EAAE,uDAAuD;YAClE,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E,SAAS,WAAW,CAAC,KAAiB;IACpC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;IACxB,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,2BAA2B;YAC/B,KAAK,EAAE,CAAC,CAAC,YAAY;gBACnB,CAAC,CAAC,4BAA4B,CAAC,CAAC,WAAW,SAAS;gBACpD,CAAC,CAAC,oBAAoB;YACxB,SAAS,EAAE,6EAA6E;YACxF,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,8BAA8B;YAClC,KAAK,EAAE,qBAAqB;YAC5B,SAAS,EAAE,sEAAsE;YACjF,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,8BAA8B;YAClC,KAAK,EAAE,oCAAoC;YAC3C,SAAS,EAAE,uDAAuD;YAClE,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,uBAAuB;YAC9B,SAAS,EAAE,oEAAoE;YAC/E,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E,SAAS,eAAe,CAAC,KAAiB;IACxC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC;IAE9C,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,mBAAmB,cAAc,oBAAoB,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YAC7F,SAAS,EACP,qHAAqH;YACvH,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,qCAAqC;YACzC,KAAK,EAAE,UAAU,CAAC,CAAC,eAAe,oBAAoB,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW;YACnG,SAAS,EAAE,2EAA2E;YACtF,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,eAAe,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,6BAA6B;YACjC,KAAK,EAAE,mCAAmC,eAAe,KAAK,WAAW,IAAI;YAC7E,SAAS,EAAE,SAAS,YAAY,IAAI,YAAY,mCAAmC;YACnF,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;gBAC9B,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;aACpD,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,6BAA6B;YACjC,KAAK,EAAE,UAAU,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YACzE,SAAS,EAAE,yEAAyE;YACpF,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E,SAAS,sBAAsB,CAAC,KAAiB;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;IACxB,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,CAAC,CAAC,gBAAgB,GAAG,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,iCAAiC;YACrC,KAAK,EAAE,SAAS,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,gBAAgB,SAAS;YACjE,SAAS,EAAE,gEAAgE;YAC3E,QAAQ,EAAE,CAAC,CAAC,eAAe;gBACzB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC/D,CAAC,CAAC,EAAE;YACN,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QACxE,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,2BAA2B;gBAC/B,KAAK,EAAE,kCAAkC,CAAC,CAAC,iBAAiB,GAAG;gBAC/D,SAAS,EAAE,6DAA6D;gBACxE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACxE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,GAAG,EAAE,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,iCAAiC;YACrC,KAAK,EAAE,UAAU,CAAC,CAAC,iBAAiB,oBAAoB;YACxD,SAAS,EAAE,8CAA8C;YACzD,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E,SAAS,SAAS,CAAC,KAAiB;IAClC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;IACxB,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,sBAAsB;YAC7B,SAAS,EACP,sGAAsG;YACxG,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,mCAAmC;YAC1C,SAAS,EAAE,2EAA2E;YACtF,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,oBAAoB,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,2CAA2C;YAClD,SAAS,EAAE,oEAAoE;YAC/E,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,2BAA2B;YAC/B,KAAK,EAAE,kBAAkB;YACzB,SAAS,EAAE,mEAAmE;YAC9E,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAWD,SAAgB,gBAAgB,CAAC,KAAiB;IAChD,MAAM,IAAI,GAIL;QACH,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAS,EAAE,KAAK,EAAE,cAAc,EAAE;QAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAY,EAAE,KAAK,EAAE,cAAc,EAAE;QAChE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,4BAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;QACzE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,uBAAa,EAAE,KAAK,EAAE,eAAe,EAAE;QACnE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,8BAAoB,EAAE,KAAK,EAAE,sBAAsB,EAAE;QACxF,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,kCAAwB,EAAE,KAAK,EAAE,SAAS,EAAE;KACrF,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QACvC,MAAM,OAAO,GAAG,IAAA,kBAAI,EAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,gEAAgE;QAChE,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO;YACL,SAAS,EAAE,CAAC,CAAC,IAAI;YACjB,QAAQ;YACR,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK;YAC5B,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detailed.d.ts","sourceRoot":"","sources":["../../../src/analyzers/health/detailed.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAoB,aAAa,EAAE,MAAM,WAAW,CAAC;AAG5D,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5C,+EAA+E;IAC/E,SAAS,EAAE;QACT,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAWD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,aAAa,GACrB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"detailed.d.ts","sourceRoot":"","sources":["../../../src/analyzers/health/detailed.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAoB,aAAa,EAAE,MAAM,WAAW,CAAC;AAG5D,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5C,+EAA+E;IAC/E,SAAS,EAAE;QACT,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAWD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,aAAa,GACrB,oBAAoB,CAwCtB;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,MAAM,GACd,MAAM,CA4GR"}
|
|
@@ -13,7 +13,11 @@ const DIM_TO_KEY = {
|
|
|
13
13
|
'Developer Experience': 'developerExperience',
|
|
14
14
|
};
|
|
15
15
|
function buildHealthDetailed(report, metrics) {
|
|
16
|
-
|
|
16
|
+
// Plans depend on capability-owned fields too; pull them from the report
|
|
17
|
+
// (always populated on real runs, defaults to {} for hand-built fixtures
|
|
18
|
+
// until C.7 narrows the type).
|
|
19
|
+
const scoreInput = { metrics, capabilities: report.capabilities ?? {} };
|
|
20
|
+
const plans = (0, actions_1.buildHealthPlans)(scoreInput);
|
|
17
21
|
// Build the "ideal" dimension scores by starting from the current report's
|
|
18
22
|
// dimensions and swapping each dimension's score for its plan ideal.
|
|
19
23
|
const projectedDims = {
|
|
@@ -40,7 +44,7 @@ function buildHealthDetailed(report, metrics) {
|
|
|
40
44
|
};
|
|
41
45
|
return {
|
|
42
46
|
...report,
|
|
43
|
-
schemaVersion: '
|
|
47
|
+
schemaVersion: '11',
|
|
44
48
|
plans,
|
|
45
49
|
projectedOverallScore: projected,
|
|
46
50
|
projectedGrade,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detailed.js","sourceRoot":"","sources":["../../../src/analyzers/health/detailed.ts"],"names":[],"mappings":";;AAmCA,
|
|
1
|
+
{"version":3,"file":"detailed.js","sourceRoot":"","sources":["../../../src/analyzers/health/detailed.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,4 @@ export declare function analyzeHealthWithMetrics(repoPath: string, options?: Ana
|
|
|
17
17
|
}>;
|
|
18
18
|
/** Run a full health analysis on a repository. */
|
|
19
19
|
export declare function analyzeHealth(repoPath: string, options?: AnalyzeHealthOptions): Promise<HealthReport>;
|
|
20
|
-
/** Merge language-specific metrics into the base, preferring non-null values. */
|
|
21
|
-
export declare function mergeMetrics(base: HealthMetrics, overlay: Partial<HealthMetrics>): void;
|
|
22
20
|
//# sourceMappingURL=health.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/analyzers/health.ts"],"names":[],"mappings":"AAWA,OAAO,
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/analyzers/health.ts"],"names":[],"mappings":"AAWA,OAAO,EAAoB,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA4BxE,mDAAmD;AACnD,wBAAgB,cAAc,IAAI,aAAa,CAyC9C;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAE3D;AAED,kDAAkD;AAClD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC,CAEvB"}
|