@vyuhlabs/dxkit 2.0.0 → 2.1.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 +153 -0
- package/README.md +21 -15
- package/dist/analyzers/bom/detailed.d.ts +26 -0
- package/dist/analyzers/bom/detailed.d.ts.map +1 -0
- package/dist/analyzers/bom/detailed.js +227 -0
- package/dist/analyzers/bom/detailed.js.map +1 -0
- package/dist/analyzers/bom/gather.d.ts +52 -0
- package/dist/analyzers/bom/gather.d.ts.map +1 -0
- package/dist/analyzers/bom/gather.js +183 -0
- package/dist/analyzers/bom/gather.js.map +1 -0
- package/dist/analyzers/bom/index.d.ts +23 -0
- package/dist/analyzers/bom/index.d.ts.map +1 -0
- package/dist/analyzers/bom/index.js +183 -0
- package/dist/analyzers/bom/index.js.map +1 -0
- package/dist/analyzers/bom/types.d.ts +71 -0
- package/dist/analyzers/bom/types.d.ts.map +1 -0
- package/dist/analyzers/bom/types.js +3 -0
- package/dist/analyzers/bom/types.js.map +1 -0
- package/dist/analyzers/health.js +20 -9
- package/dist/analyzers/health.js.map +1 -1
- package/dist/analyzers/licenses/detailed.d.ts +30 -0
- package/dist/analyzers/licenses/detailed.d.ts.map +1 -0
- package/dist/analyzers/licenses/detailed.js +194 -0
- package/dist/analyzers/licenses/detailed.js.map +1 -0
- package/dist/analyzers/licenses/gather.d.ts +15 -0
- package/dist/analyzers/licenses/gather.d.ts.map +1 -0
- package/dist/analyzers/licenses/gather.js +24 -0
- package/dist/analyzers/licenses/gather.js.map +1 -0
- package/dist/analyzers/licenses/index.d.ts +21 -0
- package/dist/analyzers/licenses/index.d.ts.map +1 -0
- package/dist/analyzers/licenses/index.js +146 -0
- package/dist/analyzers/licenses/index.js.map +1 -0
- package/dist/analyzers/licenses/types.d.ts +30 -0
- package/dist/analyzers/licenses/types.d.ts.map +1 -0
- package/dist/analyzers/licenses/types.js +13 -0
- package/dist/analyzers/licenses/types.js.map +1 -0
- package/dist/analyzers/security/detailed.d.ts +0 -3
- package/dist/analyzers/security/detailed.d.ts.map +1 -1
- package/dist/analyzers/security/detailed.js +37 -6
- package/dist/analyzers/security/detailed.js.map +1 -1
- package/dist/analyzers/security/gather.d.ts.map +1 -1
- package/dist/analyzers/security/gather.js +2 -0
- package/dist/analyzers/security/gather.js.map +1 -1
- package/dist/analyzers/security/index.d.ts.map +1 -1
- package/dist/analyzers/security/index.js +53 -14
- package/dist/analyzers/security/index.js.map +1 -1
- package/dist/analyzers/security/types.d.ts +5 -0
- package/dist/analyzers/security/types.d.ts.map +1 -1
- package/dist/analyzers/security/types.js +0 -3
- package/dist/analyzers/security/types.js.map +1 -1
- package/dist/analyzers/tools/osv.d.ts +49 -5
- package/dist/analyzers/tools/osv.d.ts.map +1 -1
- package/dist/analyzers/tools/osv.js +99 -17
- package/dist/analyzers/tools/osv.js.map +1 -1
- package/dist/analyzers/tools/runner.d.ts +11 -0
- package/dist/analyzers/tools/runner.d.ts.map +1 -1
- package/dist/analyzers/tools/runner.js +54 -0
- package/dist/analyzers/tools/runner.js.map +1 -1
- package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
- package/dist/analyzers/tools/tool-registry.js +77 -0
- package/dist/analyzers/tools/tool-registry.js.map +1 -1
- package/dist/analyzers/xlsx/bom.d.ts +27 -0
- package/dist/analyzers/xlsx/bom.d.ts.map +1 -0
- package/dist/analyzers/xlsx/bom.js +131 -0
- package/dist/analyzers/xlsx/bom.js.map +1 -0
- package/dist/analyzers/xlsx/index.d.ts +27 -0
- package/dist/analyzers/xlsx/index.d.ts.map +1 -0
- package/dist/analyzers/xlsx/index.js +92 -0
- package/dist/analyzers/xlsx/index.js.map +1 -0
- package/dist/analyzers/xlsx/licenses.d.ts +40 -0
- package/dist/analyzers/xlsx/licenses.d.ts.map +1 -0
- package/dist/analyzers/xlsx/licenses.js +140 -0
- package/dist/analyzers/xlsx/licenses.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +178 -1
- package/dist/cli.js.map +1 -1
- package/dist/languages/capabilities/descriptors.d.ts +4 -1
- package/dist/languages/capabilities/descriptors.d.ts.map +1 -1
- package/dist/languages/capabilities/descriptors.js +20 -1
- package/dist/languages/capabilities/descriptors.js.map +1 -1
- package/dist/languages/capabilities/types.d.ts +59 -3
- package/dist/languages/capabilities/types.d.ts.map +1 -1
- package/dist/languages/csharp.d.ts +13 -0
- package/dist/languages/csharp.d.ts.map +1 -1
- package/dist/languages/csharp.js +228 -33
- package/dist/languages/csharp.js.map +1 -1
- package/dist/languages/go.d.ts.map +1 -1
- package/dist/languages/go.js +211 -26
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/python.d.ts.map +1 -1
- package/dist/languages/python.js +187 -11
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/rust.d.ts +13 -0
- package/dist/languages/rust.d.ts.map +1 -1
- package/dist/languages/rust.js +195 -29
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/types.d.ts +2 -1
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript.d.ts.map +1 -1
- package/dist/languages/typescript.js +252 -1
- package/dist/languages/typescript.js.map +1 -1
- package/package.json +7 -2
- package/dist/agents/extract.d.ts +0 -25
- package/dist/agents/extract.d.ts.map +0 -1
- package/dist/agents/extract.js +0 -186
- package/dist/agents/extract.js.map +0 -1
- package/dist/agents/schemas.d.ts +0 -106
- package/dist/agents/schemas.d.ts.map +0 -1
- package/dist/agents/schemas.js +0 -86
- package/dist/agents/schemas.js.map +0 -1
- package/dist/agents/session.d.ts +0 -28
- package/dist/agents/session.d.ts.map +0 -1
- package/dist/agents/session.js +0 -223
- package/dist/agents/session.js.map +0 -1
- package/dist/analyzers/index.d.ts +0 -3
- package/dist/analyzers/index.d.ts.map +0 -1
- package/dist/analyzers/index.js +0 -6
- package/dist/analyzers/index.js.map +0 -1
- package/dist/analyzers/security/report.d.ts +0 -6
- package/dist/analyzers/security/report.d.ts.map +0 -1
- package/dist/analyzers/security/report.js +0 -118
- package/dist/analyzers/security/report.js.map +0 -1
- package/dist/analyzers/tools/dotnet.d.ts +0 -8
- package/dist/analyzers/tools/dotnet.d.ts.map +0 -1
- package/dist/analyzers/tools/dotnet.js +0 -81
- package/dist/analyzers/tools/dotnet.js.map +0 -1
- package/dist/analyzers/tools/gather-cache.d.ts +0 -16
- package/dist/analyzers/tools/gather-cache.d.ts.map +0 -1
- package/dist/analyzers/tools/gather-cache.js +0 -126
- package/dist/analyzers/tools/gather-cache.js.map +0 -1
- package/dist/analyzers/tools/go.d.ts +0 -8
- package/dist/analyzers/tools/go.d.ts.map +0 -1
- package/dist/analyzers/tools/go.js +0 -84
- package/dist/analyzers/tools/go.js.map +0 -1
- package/dist/analyzers/tools/node.d.ts +0 -8
- package/dist/analyzers/tools/node.d.ts.map +0 -1
- package/dist/analyzers/tools/node.js +0 -160
- package/dist/analyzers/tools/node.js.map +0 -1
- package/dist/analyzers/tools/python.d.ts +0 -8
- package/dist/analyzers/tools/python.d.ts.map +0 -1
- package/dist/analyzers/tools/python.js +0 -81
- package/dist/analyzers/tools/python.js.map +0 -1
- package/dist/analyzers/tools/rust.d.ts +0 -8
- package/dist/analyzers/tools/rust.d.ts.map +0 -1
- package/dist/analyzers/tools/rust.js +0 -86
- package/dist/analyzers/tools/rust.js.map +0 -1
- package/templates/.ai/templates/session-checkpoint-template.md +0 -97
|
@@ -32,15 +32,21 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.typescript = void 0;
|
|
37
40
|
exports.extractTsImportsRaw = extractTsImportsRaw;
|
|
38
41
|
exports.resolveTsImportRaw = resolveTsImportRaw;
|
|
39
42
|
const fs = __importStar(require("fs"));
|
|
40
43
|
const path = __importStar(require("path"));
|
|
44
|
+
const hosted_git_info_1 = __importDefault(require("hosted-git-info"));
|
|
41
45
|
const coverage_1 = require("../analyzers/tools/coverage");
|
|
42
46
|
const exclusions_1 = require("../analyzers/tools/exclusions");
|
|
47
|
+
const osv_1 = require("../analyzers/tools/osv");
|
|
43
48
|
const runner_1 = require("../analyzers/tools/runner");
|
|
49
|
+
const tool_registry_1 = require("../analyzers/tools/tool-registry");
|
|
44
50
|
const TS_JS_EXT = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'];
|
|
45
51
|
/**
|
|
46
52
|
* Tier an ESLint rule ID into the four-tier severity model.
|
|
@@ -115,9 +121,61 @@ function tierEslintMessage(ruleId, eslintSeverity) {
|
|
|
115
121
|
}
|
|
116
122
|
return tiered;
|
|
117
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Map npm-audit's severity vocabulary to the four-tier `SeverityCounts`
|
|
126
|
+
* domain. npm uses `moderate`; we normalize to `medium` everywhere else.
|
|
127
|
+
* Unknown values fall through to `low` to avoid silently inflating counts.
|
|
128
|
+
*/
|
|
129
|
+
function normalizeNpmSeverity(s) {
|
|
130
|
+
switch (s) {
|
|
131
|
+
case 'critical':
|
|
132
|
+
return 'critical';
|
|
133
|
+
case 'high':
|
|
134
|
+
return 'high';
|
|
135
|
+
case 'moderate':
|
|
136
|
+
case 'medium':
|
|
137
|
+
return 'medium';
|
|
138
|
+
default:
|
|
139
|
+
return 'low';
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Extract the GHSA identifier from a GitHub advisory URL like
|
|
144
|
+
* `https://github.com/advisories/GHSA-h5c3-5r3r-rr8q`. Returns null when
|
|
145
|
+
* the URL doesn't match (e.g. legacy npm advisory pages).
|
|
146
|
+
*/
|
|
147
|
+
function extractGhsaId(url) {
|
|
148
|
+
if (!url)
|
|
149
|
+
return null;
|
|
150
|
+
const m = url.match(/GHSA-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}/i);
|
|
151
|
+
return m ? m[0].toUpperCase() : null;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Read the locally installed version of a package from
|
|
155
|
+
* `node_modules/<pkg>/package.json`. Used to attach `installedVersion`
|
|
156
|
+
* to dep-vuln findings — npm-audit's JSON only reports the affected
|
|
157
|
+
* range, not which exact resolved version is on disk.
|
|
158
|
+
*/
|
|
159
|
+
function readInstalledTsVersion(cwd, pkgName) {
|
|
160
|
+
try {
|
|
161
|
+
const raw = fs.readFileSync(path.join(cwd, 'node_modules', pkgName, 'package.json'), 'utf-8');
|
|
162
|
+
const parsed = JSON.parse(raw);
|
|
163
|
+
return parsed.version;
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
118
169
|
/**
|
|
119
170
|
* Single source of truth for the typescript pack's dep-vuln gathering.
|
|
120
171
|
* Consumed by `tsDepVulnsProvider` (capability dispatcher).
|
|
172
|
+
*
|
|
173
|
+
* Counts derive from the per-package severity buckets (npm-audit's own
|
|
174
|
+
* aggregation). Findings derive from the per-advisory `via[]` objects
|
|
175
|
+
* — one finding per advisory, so a package with three GHSAs yields
|
|
176
|
+
* three findings even though counts increment by one. This matches the
|
|
177
|
+
* customer xlsx model: col 11 (Criticality) is per-package, col 12
|
|
178
|
+
* (Vulnerability Issues) is per-advisory.
|
|
121
179
|
*/
|
|
122
180
|
async function gatherTsDepVulnsResult(cwd) {
|
|
123
181
|
if (!(0, runner_1.fileExists)(cwd, 'package.json'))
|
|
@@ -150,11 +208,88 @@ async function gatherTsDepVulnsResult(cwd) {
|
|
|
150
208
|
low++;
|
|
151
209
|
}
|
|
152
210
|
}
|
|
211
|
+
const findings = [];
|
|
212
|
+
if (auditData.vulnerabilities) {
|
|
213
|
+
const versionCache = new Map();
|
|
214
|
+
const installedVersion = (pkg) => {
|
|
215
|
+
if (!versionCache.has(pkg))
|
|
216
|
+
versionCache.set(pkg, readInstalledTsVersion(cwd, pkg));
|
|
217
|
+
return versionCache.get(pkg);
|
|
218
|
+
};
|
|
219
|
+
for (const [pkgName, entry] of Object.entries(auditData.vulnerabilities)) {
|
|
220
|
+
// npm-audit's `fixAvailable` is the *consumer* upgrade command —
|
|
221
|
+
// `{ name, version }` identifies which top-level dep to bump to
|
|
222
|
+
// resolve the entire advisory tree under this entry. When `name`
|
|
223
|
+
// matches the entry key, the fix is at this package's own
|
|
224
|
+
// version (direct upgrade). When `name` differs, the fix is a
|
|
225
|
+
// transitive parent upgrade — applying `fix.version` as THIS
|
|
226
|
+
// package's fixedVersion is wrong (caused the "uuid@13 fixed at
|
|
227
|
+
// 3.2.1" false positive surfaced by the 10h.3.10 benchmark).
|
|
228
|
+
const fix = entry.fixAvailable;
|
|
229
|
+
const fixIsObject = typeof fix === 'object';
|
|
230
|
+
const directFix = fixIsObject && fix.name === pkgName ? fix : null;
|
|
231
|
+
const transitiveFix = fixIsObject && fix.name !== pkgName ? fix : null;
|
|
232
|
+
for (const v of entry.via ?? []) {
|
|
233
|
+
if (typeof v === 'string')
|
|
234
|
+
continue;
|
|
235
|
+
const advisoryPkg = v.name ?? pkgName;
|
|
236
|
+
const ghsa = extractGhsaId(v.url);
|
|
237
|
+
const id = ghsa ?? (v.source ? `npm-${v.source}` : `npm-${advisoryPkg}`);
|
|
238
|
+
const finding = {
|
|
239
|
+
id,
|
|
240
|
+
package: advisoryPkg,
|
|
241
|
+
installedVersion: installedVersion(advisoryPkg),
|
|
242
|
+
tool: 'npm-audit',
|
|
243
|
+
severity: normalizeNpmSeverity(v.severity),
|
|
244
|
+
};
|
|
245
|
+
if (typeof v.cvss?.score === 'number')
|
|
246
|
+
finding.cvssScore = v.cvss.score;
|
|
247
|
+
if (directFix) {
|
|
248
|
+
finding.fixedVersion = directFix.version;
|
|
249
|
+
finding.breakingUpgrade = directFix.isSemVerMajor;
|
|
250
|
+
}
|
|
251
|
+
else if (transitiveFix) {
|
|
252
|
+
// Parent-upgrade remediation — surface directly in upgradeAdvice
|
|
253
|
+
// rather than pretending the value is a direct fix. Bom render
|
|
254
|
+
// picks this up as the Tier-1 resolution for the row.
|
|
255
|
+
const majorNote = transitiveFix.isSemVerMajor ? ' [major]' : '';
|
|
256
|
+
finding.upgradeAdvice =
|
|
257
|
+
`Upgrade ${transitiveFix.name} to ${transitiveFix.version}${majorNote} ` +
|
|
258
|
+
`(transitive fix)`;
|
|
259
|
+
}
|
|
260
|
+
if (ghsa)
|
|
261
|
+
finding.aliases = [ghsa];
|
|
262
|
+
if (v.title)
|
|
263
|
+
finding.summary = v.title;
|
|
264
|
+
if (v.url)
|
|
265
|
+
finding.references = [v.url];
|
|
266
|
+
findings.push(finding);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
// Alias-fallback CVSS pass: npm-audit ships CVSS for ~100% of
|
|
271
|
+
// advisories (smoke: 94/94 on platform), so this is typically a
|
|
272
|
+
// no-op — every input has `embeddedCvss` set, no API calls fire.
|
|
273
|
+
// Future-proof against the rare advisory missing CVSS.
|
|
274
|
+
if (findings.length > 0) {
|
|
275
|
+
const cvssInputs = findings.map((f) => ({
|
|
276
|
+
primaryId: f.id,
|
|
277
|
+
embeddedCvss: f.cvssScore ?? null,
|
|
278
|
+
aliases: f.aliases ?? [],
|
|
279
|
+
}));
|
|
280
|
+
const resolved = await (0, osv_1.resolveCvssScores)(cvssInputs);
|
|
281
|
+
for (const f of findings) {
|
|
282
|
+
const score = resolved.get(f.id);
|
|
283
|
+
if (score !== null && score !== undefined)
|
|
284
|
+
f.cvssScore = score;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
153
287
|
const envelope = {
|
|
154
288
|
schemaVersion: 1,
|
|
155
289
|
tool: 'npm-audit',
|
|
156
290
|
enrichment: null,
|
|
157
291
|
counts: { critical, high, medium, low },
|
|
292
|
+
findings,
|
|
158
293
|
};
|
|
159
294
|
return { kind: 'success', envelope };
|
|
160
295
|
}
|
|
@@ -412,6 +547,121 @@ const tsTestFrameworkProvider = {
|
|
|
412
547
|
return gatherTsTestFrameworkResult(cwd);
|
|
413
548
|
},
|
|
414
549
|
};
|
|
550
|
+
function readTsPackageMetadata(cwd, pkgName) {
|
|
551
|
+
try {
|
|
552
|
+
const raw = fs.readFileSync(path.join(cwd, 'node_modules', pkgName, 'package.json'), 'utf-8');
|
|
553
|
+
const parsed = JSON.parse(raw);
|
|
554
|
+
let repositoryUrl;
|
|
555
|
+
if (typeof parsed.repository === 'string') {
|
|
556
|
+
repositoryUrl = parsed.repository;
|
|
557
|
+
}
|
|
558
|
+
else if (parsed.repository && typeof parsed.repository.url === 'string') {
|
|
559
|
+
repositoryUrl = parsed.repository.url;
|
|
560
|
+
}
|
|
561
|
+
return { description: parsed.description, repositoryUrl };
|
|
562
|
+
}
|
|
563
|
+
catch {
|
|
564
|
+
return {};
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* Canonicalise a repository URL via npm's `hosted-git-info`. Expands
|
|
569
|
+
* shorthand (`user/repo`, `github:user/repo`), converts SCP-like SSH
|
|
570
|
+
* (`git@github.com:user/repo.git`) to RFC (`git+ssh://...`), and emits
|
|
571
|
+
* `git+https://` for standard https input — matching the format the
|
|
572
|
+
* customer's benchmark xlsx records (Phase 10h.5). Preserves SSH intent
|
|
573
|
+
* when the source URL is an SSH scheme; falls through unchanged for
|
|
574
|
+
* non-GitHub/GitLab/Bitbucket hosts that hosted-git-info can't parse.
|
|
575
|
+
*/
|
|
576
|
+
function normalizeRepoUrl(raw) {
|
|
577
|
+
if (!raw)
|
|
578
|
+
return undefined;
|
|
579
|
+
const info = hosted_git_info_1.default.fromUrl(raw);
|
|
580
|
+
if (!info)
|
|
581
|
+
return raw;
|
|
582
|
+
const looksSsh = /^(git\+ssh:|ssh:|git@)/.test(raw.trim());
|
|
583
|
+
return looksSsh ? info.sshurl({ noCommittish: true }) : info.https({ noCommittish: true });
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Split license-checker's `${name}@${version}` key, preserving a leading
|
|
587
|
+
* '@' on scoped packages. Returns null on malformed keys (no '@' past
|
|
588
|
+
* position 0) so the caller can skip cleanly.
|
|
589
|
+
*/
|
|
590
|
+
function splitTsLicenseCheckerKey(key) {
|
|
591
|
+
const atIdx = key.lastIndexOf('@');
|
|
592
|
+
if (atIdx <= 0)
|
|
593
|
+
return null;
|
|
594
|
+
return { package: key.slice(0, atIdx), version: key.slice(atIdx + 1) };
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* Single source of truth for the typescript pack's license gathering.
|
|
598
|
+
* Consumed by `tsLicensesProvider` (capability dispatcher).
|
|
599
|
+
*
|
|
600
|
+
* Returns null when the repo isn't a Node project OR the tool isn't
|
|
601
|
+
* available (so the dispatcher skips the pack cleanly rather than
|
|
602
|
+
* emitting an empty envelope). License-text is inlined by reading the
|
|
603
|
+
* `licenseFile` path on disk — the customer's existing workflow does
|
|
604
|
+
* the same thing (see `license-generation.sh` in vyuhlabs-platform).
|
|
605
|
+
*/
|
|
606
|
+
function gatherTsLicensesResult(cwd) {
|
|
607
|
+
if (!(0, runner_1.fileExists)(cwd, 'package.json'))
|
|
608
|
+
return null;
|
|
609
|
+
const status = (0, tool_registry_1.findTool)(tool_registry_1.TOOL_DEFS['license-checker-rseidelsohn'], cwd);
|
|
610
|
+
if (!status.available || !status.path)
|
|
611
|
+
return null;
|
|
612
|
+
const raw = (0, runner_1.run)(`${status.path} --json --excludePrivatePackages 2>/dev/null`, cwd, 120000);
|
|
613
|
+
if (!raw)
|
|
614
|
+
return null;
|
|
615
|
+
let data;
|
|
616
|
+
try {
|
|
617
|
+
data = JSON.parse(raw);
|
|
618
|
+
}
|
|
619
|
+
catch {
|
|
620
|
+
return null;
|
|
621
|
+
}
|
|
622
|
+
const findings = [];
|
|
623
|
+
for (const [key, entry] of Object.entries(data)) {
|
|
624
|
+
const split = splitTsLicenseCheckerKey(key);
|
|
625
|
+
if (!split)
|
|
626
|
+
continue;
|
|
627
|
+
const licenseType = Array.isArray(entry.licenses)
|
|
628
|
+
? entry.licenses.join(' OR ')
|
|
629
|
+
: entry.licenses || 'UNKNOWN';
|
|
630
|
+
let licenseText;
|
|
631
|
+
if (entry.licenseFile) {
|
|
632
|
+
try {
|
|
633
|
+
licenseText = fs.readFileSync(entry.licenseFile, 'utf-8');
|
|
634
|
+
}
|
|
635
|
+
catch {
|
|
636
|
+
// license file vanished between scan and read — skip silently
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
const meta = readTsPackageMetadata(cwd, split.package);
|
|
640
|
+
findings.push({
|
|
641
|
+
package: split.package,
|
|
642
|
+
version: split.version,
|
|
643
|
+
licenseType,
|
|
644
|
+
licenseText,
|
|
645
|
+
// Prefer raw repository.url (byte-identical to `npm view`) over
|
|
646
|
+
// license-checker's normalized form; normalise via hosted-git-info
|
|
647
|
+
// to expand shorthand and canonicalise across SCP/SSH/HTTPS.
|
|
648
|
+
sourceUrl: normalizeRepoUrl(meta.repositoryUrl || entry.repository || entry.url),
|
|
649
|
+
description: meta.description,
|
|
650
|
+
supplier: entry.publisher,
|
|
651
|
+
});
|
|
652
|
+
}
|
|
653
|
+
return {
|
|
654
|
+
schemaVersion: 1,
|
|
655
|
+
tool: 'license-checker-rseidelsohn',
|
|
656
|
+
findings,
|
|
657
|
+
};
|
|
658
|
+
}
|
|
659
|
+
const tsLicensesProvider = {
|
|
660
|
+
source: 'typescript',
|
|
661
|
+
async gather(cwd) {
|
|
662
|
+
return gatherTsLicensesResult(cwd);
|
|
663
|
+
},
|
|
664
|
+
};
|
|
415
665
|
exports.typescript = {
|
|
416
666
|
id: 'typescript',
|
|
417
667
|
displayName: 'TypeScript / JavaScript',
|
|
@@ -435,7 +685,7 @@ exports.typescript = {
|
|
|
435
685
|
return (0, runner_1.fileExists)(cwd, 'package.json');
|
|
436
686
|
},
|
|
437
687
|
mapLintSeverity: mapEslintRuleSeverity,
|
|
438
|
-
tools: ['eslint', 'npm-audit', 'vitest-coverage'],
|
|
688
|
+
tools: ['eslint', 'npm-audit', 'vitest-coverage', 'license-checker-rseidelsohn'],
|
|
439
689
|
semgrepRulesets: ['p/javascript', 'p/typescript'],
|
|
440
690
|
capabilities: {
|
|
441
691
|
depVulns: tsDepVulnsProvider,
|
|
@@ -443,6 +693,7 @@ exports.typescript = {
|
|
|
443
693
|
coverage: tsCoverageProvider,
|
|
444
694
|
imports: tsImportsProvider,
|
|
445
695
|
testFramework: tsTestFrameworkProvider,
|
|
696
|
+
licenses: tsLicensesProvider,
|
|
446
697
|
},
|
|
447
698
|
};
|
|
448
699
|
//# sourceMappingURL=typescript.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vyuhlabs/dxkit",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "AI-native developer experience toolkit for any repository",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Vyuh Labs",
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@eslint/js": "^9.13.0",
|
|
66
|
+
"@types/hosted-git-info": "^3.0.5",
|
|
66
67
|
"@types/node": "^20.0.0",
|
|
67
68
|
"@vitest/coverage-v8": "^2.1.9",
|
|
68
69
|
"eslint": "^9.13.0",
|
|
@@ -86,5 +87,9 @@
|
|
|
86
87
|
"developer-experience",
|
|
87
88
|
"ai",
|
|
88
89
|
"skills"
|
|
89
|
-
]
|
|
90
|
+
],
|
|
91
|
+
"dependencies": {
|
|
92
|
+
"exceljs": "^4.4.0",
|
|
93
|
+
"hosted-git-info": "^9.0.2"
|
|
94
|
+
}
|
|
90
95
|
}
|
package/dist/agents/extract.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Prompt extraction — reads agent templates from src-templates/
|
|
3
|
-
* and transforms them for use with Managed Agents.
|
|
4
|
-
*
|
|
5
|
-
* Source of truth: src-templates/.claude/agents-available/*.md
|
|
6
|
-
* This module READS those files at runtime — never copies or duplicates them.
|
|
7
|
-
*/
|
|
8
|
-
export interface ExtractedAgent {
|
|
9
|
-
name: string;
|
|
10
|
-
description: string;
|
|
11
|
-
systemPrompt: string;
|
|
12
|
-
model: string;
|
|
13
|
-
tools: Array<{
|
|
14
|
-
type: string;
|
|
15
|
-
[key: string]: unknown;
|
|
16
|
-
}>;
|
|
17
|
-
outputSchema: object | undefined;
|
|
18
|
-
}
|
|
19
|
-
/** List all available agent template names. */
|
|
20
|
-
export declare function listAgentTemplates(): string[];
|
|
21
|
-
/** Extract a single agent's prompt from its template file. */
|
|
22
|
-
export declare function extractAgent(name: string, modelOverride?: string): ExtractedAgent;
|
|
23
|
-
/** Extract all available agent prompts. */
|
|
24
|
-
export declare function extractAllAgents(modelOverride?: string): ExtractedAgent[];
|
|
25
|
-
//# sourceMappingURL=extract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/agents/extract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;IACvD,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AA4DD,+CAA+C;AAC/C,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAO7C;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,cAAc,CA0CjF;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAEzE"}
|
package/dist/agents/extract.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Prompt extraction — reads agent templates from src-templates/
|
|
4
|
-
* and transforms them for use with Managed Agents.
|
|
5
|
-
*
|
|
6
|
-
* Source of truth: src-templates/.claude/agents-available/*.md
|
|
7
|
-
* This module READS those files at runtime — never copies or duplicates them.
|
|
8
|
-
*/
|
|
9
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
-
var ownKeys = function(o) {
|
|
27
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
-
var ar = [];
|
|
29
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
-
return ar;
|
|
31
|
-
};
|
|
32
|
-
return ownKeys(o);
|
|
33
|
-
};
|
|
34
|
-
return function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
})();
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.listAgentTemplates = listAgentTemplates;
|
|
44
|
-
exports.extractAgent = extractAgent;
|
|
45
|
-
exports.extractAllAgents = extractAllAgents;
|
|
46
|
-
const fs = __importStar(require("fs"));
|
|
47
|
-
const path = __importStar(require("path"));
|
|
48
|
-
const schemas_1 = require("./schemas");
|
|
49
|
-
/**
|
|
50
|
-
* Default model per agent category.
|
|
51
|
-
* Analysis agents use Sonnet (cheaper, good enough).
|
|
52
|
-
* Execution agents use Opus (accuracy matters for code changes).
|
|
53
|
-
*/
|
|
54
|
-
const AGENT_MODELS = {
|
|
55
|
-
// Analysis — Sonnet is cost-effective
|
|
56
|
-
'health-auditor': 'claude-sonnet-4-6',
|
|
57
|
-
'vulnerability-scanner': 'claude-sonnet-4-6',
|
|
58
|
-
'test-gap-finder': 'claude-sonnet-4-6',
|
|
59
|
-
'dev-report': 'claude-sonnet-4-6',
|
|
60
|
-
'dependency-mapper': 'claude-sonnet-4-6',
|
|
61
|
-
'codebase-explorer': 'claude-sonnet-4-6',
|
|
62
|
-
'code-reviewer': 'claude-sonnet-4-6',
|
|
63
|
-
'doc-writer': 'claude-sonnet-4-6',
|
|
64
|
-
'dashboard-builder': 'claude-sonnet-4-6',
|
|
65
|
-
'knowledge-bot': 'claude-sonnet-4-6',
|
|
66
|
-
// Execution — Opus for accuracy
|
|
67
|
-
'feature-planner': 'claude-opus-4-6',
|
|
68
|
-
'feature-builder': 'claude-opus-4-6',
|
|
69
|
-
'plan-executor': 'claude-opus-4-6',
|
|
70
|
-
'strategic-planner': 'claude-opus-4-6',
|
|
71
|
-
'test-writer': 'claude-opus-4-6',
|
|
72
|
-
'debugger': 'claude-opus-4-6',
|
|
73
|
-
'hooks-configurator': 'claude-sonnet-4-6',
|
|
74
|
-
};
|
|
75
|
-
/** Map of Claude Code slash command references to plain-language equivalents. */
|
|
76
|
-
const COMMAND_REPLACEMENTS = {
|
|
77
|
-
'Run /health': 'Analyze the codebase for health metrics',
|
|
78
|
-
'Run /quality': 'Run available linting tools via bash',
|
|
79
|
-
'Run /test': 'Run the test suite via bash',
|
|
80
|
-
'Run /vulnerabilities': 'Scan for security vulnerabilities',
|
|
81
|
-
'/health': 'health analysis',
|
|
82
|
-
'/quality': 'quality check',
|
|
83
|
-
'/test': 'test suite',
|
|
84
|
-
};
|
|
85
|
-
/** Lines to strip from prompts (Claude Code-specific). */
|
|
86
|
-
const STRIP_PATTERNS = [
|
|
87
|
-
/Save .*to \.ai\/reports\/.*/g,
|
|
88
|
-
/Saves? reports? to \.ai\/reports\/.*/g,
|
|
89
|
-
/\.ai\/reports\//g,
|
|
90
|
-
/\.ai\/sessions\//g,
|
|
91
|
-
];
|
|
92
|
-
/**
|
|
93
|
-
* Resolve the templates directory.
|
|
94
|
-
* In development: src-templates/
|
|
95
|
-
* When published: templates/ (copied by build script)
|
|
96
|
-
*/
|
|
97
|
-
function templatesDir() {
|
|
98
|
-
const srcTemplates = path.resolve(__dirname, '..', '..', 'src-templates');
|
|
99
|
-
if (fs.existsSync(srcTemplates))
|
|
100
|
-
return srcTemplates;
|
|
101
|
-
return path.resolve(__dirname, '..', '..', 'templates');
|
|
102
|
-
}
|
|
103
|
-
/** List all available agent template names. */
|
|
104
|
-
function listAgentTemplates() {
|
|
105
|
-
const dir = path.join(templatesDir(), '.claude', 'agents-available');
|
|
106
|
-
if (!fs.existsSync(dir))
|
|
107
|
-
return [];
|
|
108
|
-
return fs
|
|
109
|
-
.readdirSync(dir)
|
|
110
|
-
.filter((f) => f.endsWith('.md'))
|
|
111
|
-
.map((f) => f.replace('.md', ''));
|
|
112
|
-
}
|
|
113
|
-
/** Extract a single agent's prompt from its template file. */
|
|
114
|
-
function extractAgent(name, modelOverride) {
|
|
115
|
-
const filePath = path.join(templatesDir(), '.claude', 'agents-available', `${name}.md`);
|
|
116
|
-
if (!fs.existsSync(filePath)) {
|
|
117
|
-
throw new Error(`Agent template not found: ${name}`);
|
|
118
|
-
}
|
|
119
|
-
const raw = fs.readFileSync(filePath, 'utf-8');
|
|
120
|
-
const { frontmatter, body } = parseFrontmatter(raw);
|
|
121
|
-
// Clean the prompt for Managed Agent use
|
|
122
|
-
let systemPrompt = body;
|
|
123
|
-
// Replace Claude Code command references
|
|
124
|
-
for (const [pattern, replacement] of Object.entries(COMMAND_REPLACEMENTS)) {
|
|
125
|
-
systemPrompt = systemPrompt.replaceAll(pattern, replacement);
|
|
126
|
-
}
|
|
127
|
-
// Strip Claude Code-specific lines
|
|
128
|
-
for (const pattern of STRIP_PATTERNS) {
|
|
129
|
-
systemPrompt = systemPrompt.replace(pattern, '');
|
|
130
|
-
}
|
|
131
|
-
// Determine the agent type for schema lookup
|
|
132
|
-
const agentType = mapNameToSchemaType(name);
|
|
133
|
-
const outputSchema = agentType ? (0, schemas_1.getSchema)(agentType) : undefined;
|
|
134
|
-
// Append JSON output instructions if we have a schema
|
|
135
|
-
if (outputSchema) {
|
|
136
|
-
systemPrompt += `\n\n## Output Format\n\nReturn your analysis as valid JSON. Wrap the JSON in a \`\`\`json code block. The JSON must match this schema:\n\n\`\`\`json\n${JSON.stringify(outputSchema, null, 2)}\n\`\`\`\n`;
|
|
137
|
-
}
|
|
138
|
-
// Clean up excessive blank lines
|
|
139
|
-
systemPrompt = systemPrompt.replace(/\n{3,}/g, '\n\n').trim();
|
|
140
|
-
return {
|
|
141
|
-
name: `dxkit-${name}`,
|
|
142
|
-
description: frontmatter.description || `DXKit ${name} agent`,
|
|
143
|
-
systemPrompt,
|
|
144
|
-
model: modelOverride || AGENT_MODELS[name] || 'claude-sonnet-4-6',
|
|
145
|
-
tools: [{ type: 'agent_toolset_20260401' }],
|
|
146
|
-
outputSchema,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
/** Extract all available agent prompts. */
|
|
150
|
-
function extractAllAgents(modelOverride) {
|
|
151
|
-
return listAgentTemplates().map((name) => extractAgent(name, modelOverride));
|
|
152
|
-
}
|
|
153
|
-
/** Map agent names to schema type keys. */
|
|
154
|
-
function mapNameToSchemaType(name) {
|
|
155
|
-
const map = {
|
|
156
|
-
'health-auditor': 'health',
|
|
157
|
-
'vulnerability-scanner': 'vulnerabilities',
|
|
158
|
-
'feature-planner': 'feature',
|
|
159
|
-
'feature-builder': 'execution',
|
|
160
|
-
'plan-executor': 'execution',
|
|
161
|
-
};
|
|
162
|
-
return map[name];
|
|
163
|
-
}
|
|
164
|
-
/** Parse YAML-ish frontmatter from agent markdown files. */
|
|
165
|
-
function parseFrontmatter(raw) {
|
|
166
|
-
const frontmatter = {};
|
|
167
|
-
if (!raw.startsWith('---')) {
|
|
168
|
-
return { frontmatter, body: raw };
|
|
169
|
-
}
|
|
170
|
-
const endIdx = raw.indexOf('---', 3);
|
|
171
|
-
if (endIdx === -1) {
|
|
172
|
-
return { frontmatter, body: raw };
|
|
173
|
-
}
|
|
174
|
-
const fmBlock = raw.slice(3, endIdx).trim();
|
|
175
|
-
for (const line of fmBlock.split('\n')) {
|
|
176
|
-
const colonIdx = line.indexOf(':');
|
|
177
|
-
if (colonIdx === -1)
|
|
178
|
-
continue;
|
|
179
|
-
const key = line.slice(0, colonIdx).trim();
|
|
180
|
-
const value = line.slice(colonIdx + 1).trim();
|
|
181
|
-
frontmatter[key] = value;
|
|
182
|
-
}
|
|
183
|
-
const body = raw.slice(endIdx + 3).trim();
|
|
184
|
-
return { frontmatter, body };
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=extract.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/agents/extract.ts"],"names":[],"mappings":"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"}
|