@vyuhlabs/dxkit 2.4.3 → 2.4.4

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +145 -0
  2. package/dist/analyzers/health.js +9 -9
  3. package/dist/analyzers/health.js.map +1 -1
  4. package/dist/analyzers/licenses/gather.js +1 -1
  5. package/dist/analyzers/licenses/gather.js.map +1 -1
  6. package/dist/analyzers/quality/gather.js +2 -2
  7. package/dist/analyzers/quality/gather.js.map +1 -1
  8. package/dist/analyzers/security/gather.d.ts.map +1 -1
  9. package/dist/analyzers/security/gather.js +11 -2
  10. package/dist/analyzers/security/gather.js.map +1 -1
  11. package/dist/analyzers/tests/import-graph.d.ts.map +1 -1
  12. package/dist/analyzers/tests/import-graph.js +5 -0
  13. package/dist/analyzers/tests/import-graph.js.map +1 -1
  14. package/dist/analyzers/tests/index.d.ts.map +1 -1
  15. package/dist/analyzers/tests/index.js +2 -0
  16. package/dist/analyzers/tests/index.js.map +1 -1
  17. package/dist/analyzers/tests/types.d.ts +12 -2
  18. package/dist/analyzers/tests/types.d.ts.map +1 -1
  19. package/dist/analyzers/tools/coverage.d.ts +1 -1
  20. package/dist/analyzers/tools/coverage.d.ts.map +1 -1
  21. package/dist/analyzers/tools/coverage.js.map +1 -1
  22. package/dist/analyzers/tools/jscpd.d.ts +8 -7
  23. package/dist/analyzers/tools/jscpd.d.ts.map +1 -1
  24. package/dist/analyzers/tools/jscpd.js +30 -13
  25. package/dist/analyzers/tools/jscpd.js.map +1 -1
  26. package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
  27. package/dist/analyzers/tools/tool-registry.js +25 -0
  28. package/dist/analyzers/tools/tool-registry.js.map +1 -1
  29. package/dist/constants.d.ts +2 -0
  30. package/dist/constants.d.ts.map +1 -1
  31. package/dist/languages/capabilities/index.d.ts +21 -12
  32. package/dist/languages/capabilities/index.d.ts.map +1 -1
  33. package/dist/languages/capabilities/index.js +47 -13
  34. package/dist/languages/capabilities/index.js.map +1 -1
  35. package/dist/languages/index.d.ts.map +1 -1
  36. package/dist/languages/index.js +2 -1
  37. package/dist/languages/index.js.map +1 -1
  38. package/dist/languages/kotlin.d.ts +103 -0
  39. package/dist/languages/kotlin.d.ts.map +1 -0
  40. package/dist/languages/kotlin.js +676 -0
  41. package/dist/languages/kotlin.js.map +1 -0
  42. package/dist/types.d.ts +12 -10
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/templates/.claude/rules/kotlin.md +11 -0
  46. package/templates/configs/kotlin/README.md +6 -0
@@ -4,27 +4,43 @@
4
4
  *
5
5
  * The `jscpdProvider` is registered in `GLOBAL_CAPABILITIES.duplication`
6
6
  * (src/languages/capabilities/global.ts). jscpd runs once per repo with
7
- * a fixed source-file pattern and respects the project's `.gitignore`
8
- * via the `--gitignore` flag — crucial on large repos, jscpd without
9
- * it walks into `node_modules` and OOMs.
7
+ * a cross-language source-file pattern and respects the project's
8
+ * `.gitignore` via the `--gitignore` flag — crucial on large repos,
9
+ * jscpd without it walks into `node_modules` and OOMs.
10
10
  *
11
- * The source-file pattern is cross-language (all five packs' extensions
12
- * in one glob). jscpd's tokenizer is language-aware so this is safe;
13
- * keeping the pattern declared here rather than per-pack avoids five
14
- * separate jscpd invocations on mixed-stack repos.
11
+ * The source-file pattern is the union of every pack's
12
+ * `sourceExtensions` (LP-recipe pattern, Phase 10i.0-LP). jscpd's
13
+ * tokenizer is language-aware so a single union glob is safe; pack-
14
+ * driven derivation keeps adding a new language to a one-line scaffold
15
+ * change rather than a cross-cutting edit here.
15
16
  */
16
17
  Object.defineProperty(exports, "__esModule", { value: true });
17
18
  exports.jscpdProvider = void 0;
18
19
  exports.gatherJscpdResult = gatherJscpdResult;
20
+ const languages_1 = require("../../languages");
19
21
  const runner_1 = require("./runner");
20
22
  const tool_registry_1 = require("./tool-registry");
21
23
  /**
22
- * Union of source extensions across all language packs. A union pattern
23
- * rather than per-pack invocation so mixed-stack repos (Node + Python)
24
- * pay for one jscpd run, not N. Adding a language's extensions here is
25
- * the one cross-cutting edit needed when registering a new pack.
24
+ * Union of source extensions across all language packs, derived
25
+ * pack-side. Iterates LANGUAGES fresh on every call so a new pack lands
26
+ * in the glob without an edit here (matches `allSourceExtensions`'s
27
+ * pattern from Phase 10i.0-LP.3). A union pattern (rather than per-pack
28
+ * invocation) so mixed-stack repos pay for one jscpd run, not N.
29
+ *
30
+ * Note: returns a function so the registry mutation in
31
+ * `test/recipe-playbook.test.ts` (which appends a synthetic pack to
32
+ * LANGUAGES) takes effect — module-load capture would freeze the union
33
+ * before the test injection.
26
34
  */
27
- const JSCPD_PATTERN = '**/*.{ts,tsx,js,jsx,py,go,rs,cs}';
35
+ function buildJscpdPattern() {
36
+ const exts = new Set();
37
+ for (const lang of languages_1.LANGUAGES) {
38
+ for (const e of lang.sourceExtensions) {
39
+ exts.add(e.replace(/^\./, ''));
40
+ }
41
+ }
42
+ return `**/*.{${[...exts].sort().join(',')}}`;
43
+ }
28
44
  /** Extract the top N clone pairs sorted largest-first. */
29
45
  function topClonesFrom(duplicates, limit = 15) {
30
46
  return duplicates
@@ -55,7 +71,8 @@ function gatherJscpdResult(cwd) {
55
71
  if (!status.available || !status.path)
56
72
  return { kind: 'unavailable', reason: 'not installed' };
57
73
  const reportDir = `/tmp/dxkit-jscpd-${Date.now()}`;
58
- (0, runner_1.run)(`${status.path} --reporters json --output '${reportDir}' --gitignore --pattern '${JSCPD_PATTERN}' --min-lines 5 --min-tokens 50 '${cwd}' > /dev/null 2>&1`, cwd, 300000);
74
+ const pattern = buildJscpdPattern();
75
+ (0, runner_1.run)(`${status.path} --reporters json --output '${reportDir}' --gitignore --pattern '${pattern}' --min-lines 5 --min-tokens 50 '${cwd}' > /dev/null 2>&1`, cwd, 300000);
59
76
  const reportRaw = (0, runner_1.run)(`cat '${reportDir}/jscpd-report.json' 2>/dev/null`, cwd);
60
77
  (0, runner_1.run)(`rm -rf '${reportDir}'`, cwd);
61
78
  if (!reportRaw)
@@ -1 +1 @@
1
- {"version":3,"file":"jscpd.js","sourceRoot":"","sources":["../../../src/analyzers/tools/jscpd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jscpd.js","sourceRoot":"","sources":["../../../src/analyzers/tools/jscpd.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAoFH,8CAsCC;AAxHD,+CAA4C;AAG5C,qCAA+B;AAC/B,mDAAsD;AA8BtD;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,qBAAS,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAChD,CAAC;AAED,0DAA0D;AAC1D,SAAS,aAAa,CAAC,UAA+B,EAAE,KAAK,GAAG,EAAE;IAChE,OAAO,UAAU;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;QACrB,CAAC,EAAE;YACD,IAAI,EAAE,CAAC,CAAC,SAAU,CAAC,IAAK;YACxB,SAAS,EAAE,CAAC,CAAC,SAAU,CAAC,KAAK,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,CAAC,SAAU,CAAC,GAAG,IAAI,CAAC;SAC/B;QACD,CAAC,EAAE;YACD,IAAI,EAAE,CAAC,CAAC,UAAW,CAAC,IAAK;YACzB,SAAS,EAAE,CAAC,CAAC,UAAW,CAAC,KAAK,IAAI,CAAC;YACnC,OAAO,EAAE,CAAC,CAAC,UAAW,CAAC,GAAG,IAAI,CAAC;SAChC;KACF,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,yBAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAE/F,MAAM,SAAS,GAAG,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAA,YAAG,EACD,GAAG,MAAM,CAAC,IAAI,+BAA+B,SAAS,4BAA4B,OAAO,oCAAoC,GAAG,oBAAoB,EACpJ,GAAG,EACH,MAAM,CACP,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,YAAG,EAAC,QAAQ,SAAS,iCAAiC,EAAE,GAAG,CAAC,CAAC;IAC/E,IAAA,YAAG,EAAC,WAAW,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;IAElC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAEpE,IAAI,IAAiB,CAAC;IACtB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAgB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;IACjC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAEjE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAsB;QAClC,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,CAAC,CAAC,KAAK;QACnB,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG;QAChD,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC;KACrC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACvC,CAAC;AAED;;;GAGG;AACU,QAAA,aAAa,GAA0C;IAClE,MAAM,EAAE,OAAO;IACf,KAAK,CAAC,MAAM,CAAC,GAAG;QACd,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/tool-registry.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,QAA2D,CAAC;AA2BnF,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,eAAe,EAAE;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;IAClF,WAAW,EAAE,cAAc,CAAC;CAC7B;AAuHD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAiFtE;AAkBD,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAO7D;AAMD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAiYpD,CAAC;AAMF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,eAAe,EAAE,CA8B3F;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAgB/F"}
1
+ {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/tool-registry.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,QAA2D,CAAC;AA2BnF,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,eAAe,EAAE;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;IAClF,WAAW,EAAE,cAAc,CAAC;CAC7B;AAuHD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAiFtE;AAkBD,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAO7D;AAMD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA2ZpD,CAAC;AAMF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,eAAe,EAAE,CA8B3F;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAgB/F"}
@@ -635,6 +635,31 @@ exports.TOOL_DEFS = {
635
635
  windows: 'dotnet tool install --global nuget-license',
636
636
  },
637
637
  },
638
+ detekt: {
639
+ name: 'detekt',
640
+ description: 'Kotlin static analysis (lint, complexity, style)',
641
+ install: 'brew install detekt',
642
+ check: 'detekt --version',
643
+ for: 'kotlin',
644
+ layer: 'language',
645
+ // detekt-cli's standalone zip ships the entrypoint as `detekt-cli`
646
+ // (verified against v1.23.6 zip structure). Brew's detekt formula
647
+ // installs both `detekt` and `detekt-cli` as the same wrapper, so
648
+ // listing both keeps detection working across install methods.
649
+ binaries: ['detekt', 'detekt-cli'],
650
+ versionCheck: 'detekt --version 2>/dev/null || detekt-cli --version 2>/dev/null',
651
+ // detekt-cli ships as a single zip on GitHub Releases. Linux install
652
+ // mirrors the gitleaks pattern: download to ~/.local/share, symlink
653
+ // the entrypoint script (zip ships it as `bin/detekt-cli`) into
654
+ // ~/.local/bin under both names so callers using either binary name
655
+ // resolve. v1.23.6 is the latest 1.x line; 2.x drops Kotlin <1.9
656
+ // support — track for a future bump.
657
+ installCommands: {
658
+ macos: 'brew install detekt',
659
+ linux: 'mkdir -p ~/.local/share/detekt ~/.local/bin && curl -sSfL -o /tmp/detekt-cli.zip https://github.com/detekt/detekt/releases/download/v1.23.6/detekt-cli-1.23.6.zip && unzip -q -o /tmp/detekt-cli.zip -d ~/.local/share/detekt && chmod +x ~/.local/share/detekt/detekt-cli-1.23.6/bin/detekt-cli && ln -sf ~/.local/share/detekt/detekt-cli-1.23.6/bin/detekt-cli ~/.local/bin/detekt-cli && ln -sf ~/.local/share/detekt/detekt-cli-1.23.6/bin/detekt-cli ~/.local/bin/detekt',
660
+ windows: 'scoop install detekt',
661
+ },
662
+ },
638
663
  // ── Coverage providers ──────────────────────────────────────────────────
639
664
  'vitest-coverage': {
640
665
  name: 'vitest-coverage',
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/analyzers/tools/tool-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/analyzers/tools/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,12 @@ export declare const VERSION: string;
3
3
  export declare const DEFAULT_VERSIONS: {
4
4
  postgres: string;
5
5
  redis: string;
6
+ typescript: string;
6
7
  python: string;
7
8
  go: string;
8
9
  rust: string;
9
10
  csharp: string;
11
+ kotlin: string;
10
12
  node: string;
11
13
  };
12
14
  export declare const DEFAULT_COVERAGE = "80";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAiB,MAAM,SAAS,CAAC;AAqBxD,eAAO,MAAM,OAAO,QAAuB,CAAC;AAiB5C,eAAO,MAAM,gBAAgB;;;;;;;;CAI5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyC7E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkC/E"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAiB,MAAM,SAAS,CAAC;AAqBxD,eAAO,MAAM,OAAO,QAAuB,CAAC;AAiB5C,eAAO,MAAM,gBAAgB;;;;;;;;;;CAI5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyC7E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkC/E"}
@@ -9,23 +9,32 @@
9
9
  import { type CapabilityDescriptor } from './descriptors';
10
10
  import type { CapabilityProvider } from './provider';
11
11
  import type { CapabilityEnvelope } from './types';
12
+ /** Test seam — drop the active-pack cache between runs. */
13
+ export declare function clearProvidersForCache(): void;
12
14
  /**
13
15
  * Resolve the concrete provider list for a capability descriptor.
14
16
  *
15
17
  * For per-pack capabilities (depVulns, lint, coverage, testFramework,
16
- * imports): collected from every LanguageSupport that declared a provider
17
- * in `capabilities.<id>`. Inactive packs (detect() returns false for this
18
- * repo) still contributeeach provider is responsible for returning
19
- * null when it has nothing to do. The dispatcher filters nulls before
20
- * aggregating.
18
+ * imports): collected from LanguageSupport entries that declared a
19
+ * provider in `capabilities.<id>`. When a `cwd` is given, filter to
20
+ * packs whose `detect(cwd)` returns truethis is the stack-aware
21
+ * path that closes D010 (inactive-pack `toolsUsed` pollution + the
22
+ * gather-time cost of inactive packs' providers running and bailing
23
+ * fast on every analyzer dispatch). When `cwd` is omitted, every
24
+ * registered pack's provider is returned — this is the path the
25
+ * pack-shape contract tests use to assert "every pack ships X."
21
26
  *
22
- * For global capabilities (secrets, codePatterns, duplication, structural):
23
- * the registered provider array (Phase 10e.C.7.5). A slot may carry
24
- * multiple providers SECRETS stacks gitleaks + grep-secrets fallback,
25
- * DEP_VULNS is set up for a future Snyk opt-in (Phase 10h.4). The
26
- * descriptor's `aggregate` function merges envelopes across providers.
27
- * Returns `[]` when the capability id isn't in either registry.
27
+ * For global capabilities (secrets, codePatterns, duplication,
28
+ * structural): the registered provider array (Phase 10e.C.7.5),
29
+ * unconditional. Globals are stack-agnostic gitleaks scans regardless
30
+ * of which packs are active so the `cwd` parameter is ignored on
31
+ * this branch.
32
+ *
33
+ * SECRETS stacks gitleaks + grep-secrets fallback, DEP_VULNS is set up
34
+ * for a future Snyk opt-in (Phase 10h.4). The descriptor's `aggregate`
35
+ * function merges envelopes across providers. Returns `[]` when the
36
+ * capability id isn't in either registry.
28
37
  */
29
- export declare function providersFor<T extends CapabilityEnvelope>(cap: CapabilityDescriptor<T>): ReadonlyArray<CapabilityProvider<T>>;
38
+ export declare function providersFor<T extends CapabilityEnvelope>(cap: CapabilityDescriptor<T>, cwd?: string): ReadonlyArray<CapabilityProvider<T>>;
30
39
  export { GLOBAL_CAPABILITIES, type GlobalCapabilities } from './global';
31
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/languages/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,KAAK,oBAAoB,EAAsC,MAAM,eAAe,CAAC;AAE9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,kBAAkB,EACvD,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC3B,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAmBtC;AAED,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/languages/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,KAAK,oBAAoB,EAAsC,MAAM,eAAe,CAAC;AAE9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA0BlD,2DAA2D;AAC3D,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,kBAAkB,EACvD,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC5B,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAoBtC;AAED,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
@@ -9,28 +9,61 @@
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.GLOBAL_CAPABILITIES = void 0;
12
+ exports.clearProvidersForCache = clearProvidersForCache;
12
13
  exports.providersFor = providersFor;
13
14
  const index_1 = require("../index");
14
15
  const descriptors_1 = require("./descriptors");
15
16
  const global_1 = require("./global");
17
+ /**
18
+ * Module-local memo for active-pack detection. `providersFor()` is called
19
+ * once per capability (~9 times) per dxkit run; without memoization,
20
+ * each call re-walks the project tree to evaluate every pack's
21
+ * `detect(cwd)` (kotlin's `hasKotlinSourceWithinDepth` alone is a depth-3
22
+ * filesystem traversal). With six packs × nine capabilities = 54 detect
23
+ * walks per analyzer run; memoizing collapses this to six.
24
+ *
25
+ * The cache is keyed on `cwd`, never invalidates inside the process —
26
+ * `detect()` is supposed to depend only on the project's file layout,
27
+ * which doesn't change mid-run. Tests reset via `clearProvidersForCache`.
28
+ */
29
+ const detectCache = new Map();
30
+ function activePacksFor(cwd) {
31
+ let cached = detectCache.get(cwd);
32
+ if (!cached) {
33
+ cached = index_1.LANGUAGES.filter((l) => l.detect(cwd));
34
+ detectCache.set(cwd, cached);
35
+ }
36
+ return cached;
37
+ }
38
+ /** Test seam — drop the active-pack cache between runs. */
39
+ function clearProvidersForCache() {
40
+ detectCache.clear();
41
+ }
16
42
  /**
17
43
  * Resolve the concrete provider list for a capability descriptor.
18
44
  *
19
45
  * For per-pack capabilities (depVulns, lint, coverage, testFramework,
20
- * imports): collected from every LanguageSupport that declared a provider
21
- * in `capabilities.<id>`. Inactive packs (detect() returns false for this
22
- * repo) still contributeeach provider is responsible for returning
23
- * null when it has nothing to do. The dispatcher filters nulls before
24
- * aggregating.
46
+ * imports): collected from LanguageSupport entries that declared a
47
+ * provider in `capabilities.<id>`. When a `cwd` is given, filter to
48
+ * packs whose `detect(cwd)` returns truethis is the stack-aware
49
+ * path that closes D010 (inactive-pack `toolsUsed` pollution + the
50
+ * gather-time cost of inactive packs' providers running and bailing
51
+ * fast on every analyzer dispatch). When `cwd` is omitted, every
52
+ * registered pack's provider is returned — this is the path the
53
+ * pack-shape contract tests use to assert "every pack ships X."
54
+ *
55
+ * For global capabilities (secrets, codePatterns, duplication,
56
+ * structural): the registered provider array (Phase 10e.C.7.5),
57
+ * unconditional. Globals are stack-agnostic — gitleaks scans regardless
58
+ * of which packs are active — so the `cwd` parameter is ignored on
59
+ * this branch.
25
60
  *
26
- * For global capabilities (secrets, codePatterns, duplication, structural):
27
- * the registered provider array (Phase 10e.C.7.5). A slot may carry
28
- * multiple providers SECRETS stacks gitleaks + grep-secrets fallback,
29
- * DEP_VULNS is set up for a future Snyk opt-in (Phase 10h.4). The
30
- * descriptor's `aggregate` function merges envelopes across providers.
31
- * Returns `[]` when the capability id isn't in either registry.
61
+ * SECRETS stacks gitleaks + grep-secrets fallback, DEP_VULNS is set up
62
+ * for a future Snyk opt-in (Phase 10h.4). The descriptor's `aggregate`
63
+ * function merges envelopes across providers. Returns `[]` when the
64
+ * capability id isn't in either registry.
32
65
  */
33
- function providersFor(cap) {
66
+ function providersFor(cap, cwd) {
34
67
  // The casts through `unknown` are safe at runtime because PER_PACK_REGISTRY
35
68
  // and GLOBAL_REGISTRY are typed such that `cap.id` being in a registry
36
69
  // implies the providers under that key produce exactly T. TypeScript can't
@@ -41,8 +74,9 @@ function providersFor(cap) {
41
74
  }
42
75
  if (cap.id in descriptors_1.PER_PACK_REGISTRY) {
43
76
  const key = cap.id;
77
+ const candidates = cwd !== undefined ? activePacksFor(cwd) : index_1.LANGUAGES;
44
78
  const providers = [];
45
- for (const lang of index_1.LANGUAGES) {
79
+ for (const lang of candidates) {
46
80
  const p = lang.capabilities?.[key];
47
81
  if (p)
48
82
  providers.push(p);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/languages/capabilities/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA0BH,oCAqBC;AA7CD,oCAAqC;AACrC,+CAA8F;AAC9F,qCAAwE;AAKxE;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,YAAY,CAC1B,GAA4B;IAE5B,4EAA4E;IAC5E,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,GAAG,CAAC,EAAE,IAAI,6BAAe,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,4BAAmB,CAAC,GAAG,CAAC,EAA8B,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAoD,CAAC;IACzE,CAAC;IACD,IAAI,GAAG,CAAC,EAAE,IAAI,+BAAiB,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,EAAoC,CAAC;QACrD,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,iBAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAqC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,mCAAwE;AAA/D,6GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/languages/capabilities/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAkCH,wDAEC;AA0BD,oCAuBC;AAnFD,oCAAqC;AAErC,+CAA8F;AAC9F,qCAAwE;AAKxE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0C,CAAC;AAEtE,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2DAA2D;AAC3D,SAAgB,sBAAsB;IACpC,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,YAAY,CAC1B,GAA4B,EAC5B,GAAY;IAEZ,4EAA4E;IAC5E,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,GAAG,CAAC,EAAE,IAAI,6BAAe,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,4BAAmB,CAAC,GAAG,CAAC,EAA8B,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAoD,CAAC;IACzE,CAAC;IACD,IAAI,GAAG,CAAC,EAAE,IAAI,+BAAiB,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,EAAoC,CAAC;QACrD,MAAM,UAAU,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAS,CAAC;QACvE,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAqC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,mCAAwE;AAA/D,6GAAA,mBAAmB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAO3D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7F,eAAO,MAAM,SAAS,EAAE,SAAS,eAAe,EAA2C,CAAC;AAE5F,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS,CAEvE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,EAAE,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,eAAe,EAAE,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,MAAM,EAA0B,GAAG;IACjF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAKA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ3D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7F,eAAO,MAAM,SAAS,EAAE,SAAS,eAAe,EAAmD,CAAC;AAEpG,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS,CAEvE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,EAAE,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,eAAe,EAAE,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,MAAM,EAA0B,GAAG;IACjF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAKA"}
@@ -13,7 +13,8 @@ const go_1 = require("./go");
13
13
  const python_1 = require("./python");
14
14
  const rust_1 = require("./rust");
15
15
  const typescript_1 = require("./typescript");
16
- exports.LANGUAGES = [python_1.python, typescript_1.typescript, csharp_1.csharp, go_1.go, rust_1.rust];
16
+ const kotlin_1 = require("./kotlin");
17
+ exports.LANGUAGES = [python_1.python, typescript_1.typescript, csharp_1.csharp, go_1.go, rust_1.rust, kotlin_1.kotlin];
17
18
  function getLanguage(id) {
18
19
  return exports.LANGUAGES.find((l) => l.id === id);
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":";;;AAYA,kCAEC;AAED,sDAEC;AASD,4DAEC;AAOD,4DAEC;AAQD,kDAEC;AASD,kDAEC;AASD,sDAQC;AA1ED,qCAAkC;AAClC,6BAA0B;AAC1B,qCAAkC;AAClC,iCAA8B;AAC9B,6CAA0C;AAI7B,QAAA,SAAS,GAA+B,CAAC,eAAM,EAAE,uBAAU,EAAE,eAAM,EAAE,OAAE,EAAE,WAAI,CAAC,CAAC;AAE5F,SAAgB,WAAW,CAAC,EAAc;IACxC,OAAO,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,OAAO,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,KAAoB;IAC3D,OAAO,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAiC;IACxE,OAAO,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB;IACjC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB;IACjC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,WAAqB,mBAAmB,EAAE;IAI9E,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":";;;AAaA,kCAEC;AAED,sDAEC;AASD,4DAEC;AAOD,4DAEC;AAQD,kDAEC;AASD,kDAEC;AASD,sDAQC;AA3ED,qCAAkC;AAClC,6BAA0B;AAC1B,qCAAkC;AAClC,iCAA8B;AAC9B,6CAA0C;AAC1C,qCAAkC;AAIrB,QAAA,SAAS,GAA+B,CAAC,eAAM,EAAE,uBAAU,EAAE,eAAM,EAAE,OAAE,EAAE,WAAI,EAAE,eAAM,CAAC,CAAC;AAEpG,SAAgB,WAAW,CAAC,EAAc;IACxC,OAAO,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,OAAO,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,KAAoB;IAC3D,OAAO,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAiC;IACxE,OAAO,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB;IACjC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB;IACjC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,WAAqB,mBAAmB,EAAE;IAI9E,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,103 @@
1
+ import { type Coverage } from '../analyzers/tools/coverage';
2
+ import type { DepVulnFinding, SeverityCounts } from './capabilities/types';
3
+ import type { LanguageSupport, LintSeverity } from './types';
4
+ /**
5
+ * Map detekt's lowercased Severity enum to dxkit's four-tier scheme.
6
+ * detekt 1.23+ emits `error|warning|info` (the `dev.detekt.api.Severity`
7
+ * enum lowercased — see CheckstyleOutputReportSpec in detekt's repo).
8
+ *
9
+ * Tiering rationale (no source-of-truth from detekt — they don't tier):
10
+ * - error → high (detekt's authors classify as a real defect)
11
+ * - warning → medium (style/maintainability concerns)
12
+ * - info → low (informational signals)
13
+ * - unknown → medium (defensive default — never trust an empty string)
14
+ *
15
+ * detekt's older `Defect`/`Style`/`Maintainability`/etc. taxonomy was
16
+ * collapsed in 1.23; we only need to recognise the lowercased modern
17
+ * names. Any future taxonomy change shows up here as an unknown bucket
18
+ * rather than silently miscounting.
19
+ */
20
+ export declare function mapDetektSeverity(severity: string): LintSeverity;
21
+ /**
22
+ * Pure parser for detekt's Checkstyle XML report. The format is fixed
23
+ * (detekt's CheckstyleOutputReport renders verbatim per its 1.23 spec):
24
+ *
25
+ * <?xml version="1.0" encoding="UTF-8"?>
26
+ * <checkstyle version="4.3">
27
+ * <file name="src/main/Sample1.kt">
28
+ * <TAB><error line="11" column="1" severity="error" message="..." source="detekt.style/MagicNumber" />
29
+ * ...
30
+ * </file>
31
+ * </checkstyle>
32
+ *
33
+ * We tally `<error severity="...">` attribute values; we don't need the
34
+ * full file/line index because the lint envelope only carries
35
+ * SeverityCounts. Future enrichment (per-finding paths) would extend
36
+ * the parser without breaking this signature.
37
+ *
38
+ * Exported for unit tests; consumed by `gatherKotlinLintResult`.
39
+ */
40
+ export declare function parseDetektCheckstyleXml(raw: string): SeverityCounts;
41
+ /**
42
+ * Pure parser for JaCoCo's XML report (DTD: `report.dtd`). The structure:
43
+ *
44
+ * <report name="...">
45
+ * <package name="com/example">
46
+ * <class name="com/example/Foo" sourcefilename="Foo.kt">...</class>
47
+ * <sourcefile name="Foo.kt">
48
+ * <line nr="N" mi="..." ci="..." mb="..." cb="..."/>
49
+ * <counter type="LINE" missed="X" covered="Y"/>
50
+ * </sourcefile>
51
+ * <counter type="LINE" missed="X" covered="Y"/>
52
+ * </package>
53
+ * <counter type="LINE" missed="X" covered="Y"/>
54
+ * </report>
55
+ *
56
+ * Per-file coverage comes from `<sourcefile>` blocks: their LINE counter
57
+ * holds the file's missed/covered totals. Project-level total comes from
58
+ * the top-level `<counter type="LINE">` (last in the document).
59
+ *
60
+ * Path attribution joins `<package name>` (forward-slashed, JVM-style)
61
+ * with `<sourcefile name>` to produce the canonical relative path the
62
+ * downstream consumers expect (`com/example/Foo.kt`). JVM bytecode
63
+ * namespacing isn't 1:1 with on-disk source paths in multi-module
64
+ * projects — accepted limitation (matches C#'s cobertura attribution).
65
+ *
66
+ * Returns null when no `<counter type="LINE">` exists at the top level
67
+ * — that's JaCoCo's "no coverage data" signal, distinct from "0%
68
+ * coverage" (where the counter exists with covered=0).
69
+ *
70
+ * Exported for unit tests; consumed by `gatherKotlinCoverageResult`.
71
+ */
72
+ export declare function parseJaCoCoXml(raw: string, sourceFile: string, _cwd: string): Coverage | null;
73
+ /**
74
+ * Pure parser for osv-scanner v2.x JSON output, scoped to Maven
75
+ * findings only. Other ecosystems (npm, PyPI, Go) are filtered out so
76
+ * polyglot repos don't double-count: the typescript pack handles npm,
77
+ * the python pack handles PyPI, etc. The kotlin pack owns Maven.
78
+ *
79
+ * Returns counts + findings + the raw OSV vuln records for downstream
80
+ * CVSS resolution. Exported for unit tests.
81
+ */
82
+ export declare function parseOsvScannerMavenFindings(raw: string): {
83
+ counts: SeverityCounts;
84
+ findings: DepVulnFinding[];
85
+ vulnsForCvss: Array<{
86
+ primaryId: string;
87
+ embeddedCvss: number | null;
88
+ aliases: string[];
89
+ }>;
90
+ };
91
+ /**
92
+ * Capture Kotlin import specifiers from source text. Handles both
93
+ * `import com.foo.Bar` (single) and `import com.foo.*` (wildcard) plus
94
+ * the `import com.foo.Bar as Baz` alias form. Comments are stripped
95
+ * conservatively — single-line `//` and inline `/* ... *\/`. Multi-line
96
+ * `/* ... *\/` blocks containing `import` statements are not extracted
97
+ * (acceptable: comment-out-import is intentional non-use).
98
+ *
99
+ * Exported for unit tests; consumed by `gatherKotlinImportsResult`.
100
+ */
101
+ export declare function extractKotlinImportsRaw(content: string): string[];
102
+ export declare const kotlin: LanguageSupport;
103
+ //# sourceMappingURL=kotlin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kotlin.d.ts","sourceRoot":"","sources":["../../src/languages/kotlin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,6BAA6B,CAAC;AAWvF,OAAO,KAAK,EAEV,cAAc,EAMd,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAmE7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAMhE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAWpE;AA2DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAmE7F;AAqED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG;IACzD,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,YAAY,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC5F,CAiEA;AAkFD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAYjE;AA8FD,eAAO,MAAM,MAAM,EAAE,eA6DpB,CAAC"}