@vyuhlabs/dxkit 2.13.3 → 2.14.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +14 -5
  3. package/dist/analyzers/cache.d.ts +9 -0
  4. package/dist/analyzers/cache.d.ts.map +1 -1
  5. package/dist/analyzers/cache.js +27 -15
  6. package/dist/analyzers/cache.js.map +1 -1
  7. package/dist/analyzers/health.d.ts +19 -0
  8. package/dist/analyzers/health.d.ts.map +1 -1
  9. package/dist/analyzers/health.js +72 -26
  10. package/dist/analyzers/health.js.map +1 -1
  11. package/dist/analyzers/tests/types.d.ts +9 -0
  12. package/dist/analyzers/tests/types.d.ts.map +1 -1
  13. package/dist/analyzers/tests/types.js +34 -0
  14. package/dist/analyzers/tests/types.js.map +1 -1
  15. package/dist/analyzers/tools/parallel.d.ts +2 -1
  16. package/dist/analyzers/tools/parallel.d.ts.map +1 -1
  17. package/dist/analyzers/tools/parallel.js +38 -24
  18. package/dist/analyzers/tools/parallel.js.map +1 -1
  19. package/dist/analyzers/tools/semgrep.d.ts +15 -1
  20. package/dist/analyzers/tools/semgrep.d.ts.map +1 -1
  21. package/dist/analyzers/tools/semgrep.js +49 -3
  22. package/dist/analyzers/tools/semgrep.js.map +1 -1
  23. package/dist/baseline/changed-files.d.ts +12 -0
  24. package/dist/baseline/changed-files.d.ts.map +1 -0
  25. package/dist/baseline/changed-files.js +100 -0
  26. package/dist/baseline/changed-files.js.map +1 -0
  27. package/dist/baseline/check.d.ts +23 -0
  28. package/dist/baseline/check.d.ts.map +1 -1
  29. package/dist/baseline/check.js +24 -2
  30. package/dist/baseline/check.js.map +1 -1
  31. package/dist/baseline/create.d.ts +10 -0
  32. package/dist/baseline/create.d.ts.map +1 -1
  33. package/dist/baseline/create.js +19 -15
  34. package/dist/baseline/create.js.map +1 -1
  35. package/dist/baseline/gather-scope.d.ts +116 -0
  36. package/dist/baseline/gather-scope.d.ts.map +1 -0
  37. package/dist/baseline/gather-scope.js +105 -0
  38. package/dist/baseline/gather-scope.js.map +1 -0
  39. package/dist/baseline/ref-baseline.d.ts +7 -2
  40. package/dist/baseline/ref-baseline.d.ts.map +1 -1
  41. package/dist/baseline/ref-baseline.js +8 -4
  42. package/dist/baseline/ref-baseline.js.map +1 -1
  43. package/dist/baseline/scoped-inputs.d.ts +21 -0
  44. package/dist/baseline/scoped-inputs.d.ts.map +1 -0
  45. package/dist/baseline/scoped-inputs.js +53 -0
  46. package/dist/baseline/scoped-inputs.js.map +1 -0
  47. package/dist/loop/stop-gate.d.ts.map +1 -1
  48. package/dist/loop/stop-gate.js +12 -1
  49. package/dist/loop/stop-gate.js.map +1 -1
  50. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.14.0] - 2026-06-22
11
+
12
+ ### Changed — the loop Stop-gate gathers far less work per stop
13
+
14
+ After 2.13.3 made the gate cache-aware, two further optimizations cut what an
15
+ unattended loop's `security-only` Stop-gate actually scans on every stop.
16
+ Both are **opt-in** (only the loop Stop-gate enables them) and **verdict-
17
+ preserving** — CI `baseline check`, `createBaseline`, and the `health` report
18
+ are byte-identical and still render every warning. End-to-end on a 3,748-file
19
+ repo with a realistic 2-file loop diff (separate processes), the security-only
20
+ gather dropped from **42.8s → 11.3s (74%)** while still blocking the same
21
+ net-new finding with identical blocking pairs.
22
+
23
+ - **Preset-scoped gather.** A guardrail can only block on the finding kinds its
24
+ policy escalates, so a `security-only` posture no longer runs the analyzers
25
+ that feed only non-blockable kinds (jscpd, lint, coverage, cloc, test-gaps,
26
+ graphify, licenses). The scope is derived declaratively from the policy
27
+ (`scopeForPolicy`): a `full-debt` posture, CI, and `health` all resolve to
28
+ the full scan. A scoped result is partial by construction and never enters
29
+ the shared `AnalysisResult` cache. (~42.8s → 24.0s.)
30
+ - **Incremental file-scoped scanning.** The current side's semgrep now scans
31
+ only the files that changed vs the baseline commit. Sound because semgrep is
32
+ intraprocedural — a net-new code finding can only appear in a file the diff
33
+ touched. The changed-file set is computed completely or falls back to a full
34
+ scan on any uncertainty (base unreachable, not a git repo), so a scan can
35
+ only ever over-cover, never under-cover. The ref/baseline side stays full.
36
+ (~24.0s → 11.3s.)
37
+
38
+ Both behaviors are confined to the loop Stop-gate; nothing about the CI
39
+ guardrail or the standalone reports changes.
40
+
10
41
  ## [2.13.3] - 2026-06-22
11
42
 
12
43
  ### Fixed — the loop Stop-gate no longer pays a full re-scan on every stop
package/README.md CHANGED
@@ -198,6 +198,13 @@ predictable.
198
198
  | **Deterministic identity** | false "net-new" findings under churn | **100% catch / 0% false-block** on seeded gate tests; **0 false net-new** on tested line shifts and renames |
199
199
  | **Graph context** | large-repo exploration tails | median roughly tied, but large-repo mean tokens **30% lower**, worst case **57% lower**, variance roughly halved |
200
200
 
201
+ **Fixing in the loop is cheaper than fixing later.** A fourth arm of the
202
+ loop-safety study measured the "detect on CI, fix later" model: deferring a
203
+ net-new finding to a cold session cost **19–49% more tokens** (and up to 51% more
204
+ turns) than repairing it inside the warm loop, because the cold fixer has to
205
+ re-orient in a context it no longer holds. So the gate is not just safer than
206
+ deferring, it is cheaper.
207
+
201
208
  > **Benchmark caveats:** the loop-safety study uses controlled synthetic tasks
202
209
  > plus real-repo validation, detector-backed findings, and Sonnet runs. It is
203
210
  > not a CVE corpus, not a claim of better detection, and not a guarantee that
@@ -294,9 +301,8 @@ so it does not inflate the Code Quality score.
294
301
  ## Reproduce the deterministic tier
295
302
 
296
303
  The deterministic results — the net-new gate decision and the finding-identity
297
- matcher — reproduce offline, so you do not have to trust our numbers. This is
298
- separate from the agentic benchmark, which requires running real agent sessions.
299
- The harnesses live in `benchmarks/`:
304
+ matcher — reproduce offline with no API key, so you do not have to trust our
305
+ numbers. These harnesses live in `benchmarks/`:
300
306
 
301
307
  ```bash
302
308
  node benchmarks/bench-guardrail.mjs config.json # block/allow on seeded findings
@@ -304,8 +310,11 @@ node benchmarks/bench-netnew-isolation.mjs config.json # net-new isolation under
304
310
  node benchmarks/bench-matcher.mjs config.json # false net-new on line shifts + renames
305
311
  ```
306
312
 
307
- See `benchmarks/README.md` to point them at a repo, and the full methodology,
308
- caveats, and artifact status in **[docs/benchmarks.md](docs/benchmarks.md)**.
313
+ See `benchmarks/README.md` to point them at a repo. The agent-driven harnesses
314
+ (loop safety, cost of deferral, gate-vs-LLM, and the graph-context sessions) need
315
+ a model subscription or API key and are published under `benchmarks/agentic/`.
316
+ Full methodology, the per-study reports, caveats, and repro steps:
317
+ **[docs/benchmarks.md](docs/benchmarks.md)**.
309
318
 
310
319
  ## Credits
311
320
 
@@ -73,6 +73,15 @@ export interface ReadOrBuildOptions {
73
73
  /** Override the wall-clock used for `builtAt`. Tests use this to
74
74
  * produce deterministic timestamps. Defaults to `new Date()`. */
75
75
  now?: () => Date;
76
+ /**
77
+ * This build is a SCOPED/partial gather (some analyzers skipped — see
78
+ * `GatherScope`). Its `AnalysisResult` is incomplete, so it must never
79
+ * enter the shared cache where a later FULL consumer (`health`) could
80
+ * read it as if complete. Set by the loop guardrail path; skips both the
81
+ * in-memory and on-disk cache for read AND write. The build still runs;
82
+ * only persistence is bypassed.
83
+ */
84
+ partial?: boolean;
76
85
  }
77
86
  /**
78
87
  * Resolve provenance fields needed to compute the cache key. Reads
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/analyzers/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAMH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAqB5B;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;uCAEmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;kBAEc;IACd,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAExD;sEACkE;IAClE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAOD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAUjE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,qBAAqB,CAAC;IAC7B,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,GAAG,OAAO,CAAC,cAAc,CAAC,CAgD1B;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/analyzers/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAMH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAqB5B;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;uCAEmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;kBAEc;IACd,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAExD;sEACkE;IAClE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAEjB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAUjE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,qBAAqB,CAAC;IAC7B,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,GAAG,OAAO,CAAC,cAAc,CAAC,CAyC1B;AA2BD,iEAAiE;AACjE,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -129,6 +129,13 @@ async function readOrBuildAnalysisResult(args) {
129
129
  const provenance = (opts.resolveProvenance ?? resolveProvenance)(cwd);
130
130
  const cacheDir = opts.cacheDir ?? path.join(provenance.cwd, CACHE_SUBDIR);
131
131
  const cacheKey = buildCacheKey(provenance);
132
+ // A scoped/partial gather must bypass the shared cache entirely — neither
133
+ // read (a full entry would mask the requested scope, but more importantly
134
+ // the inverse is the hazard) nor write (a partial result must never be
135
+ // served to a later full consumer). Build straight through.
136
+ if (opts.partial) {
137
+ return buildResult(cwd, build, provenance, opts.now);
138
+ }
132
139
  // In-memory short-circuit. Same provenance, same process: one rebuild.
133
140
  if (!opts.rescan) {
134
141
  const cached = inMemoryCache.get(cacheKey);
@@ -144,21 +151,7 @@ async function readOrBuildAnalysisResult(args) {
144
151
  if (fromDisk)
145
152
  return fromDisk;
146
153
  }
147
- // Build, stamp provenance, persist (when clean).
148
- const body = await build(cwd);
149
- const now = (opts.now ?? (() => new Date()))();
150
- const result = {
151
- ...body,
152
- commitSha: provenance.commitSha,
153
- branch: provenance.branch,
154
- cwd: provenance.cwd,
155
- builtAt: now.toISOString(),
156
- dxkitVersion: provenance.dxkitVersion,
157
- schemaVersion: analysis_result_1.ANALYSIS_RESULT_SCHEMA_VERSION,
158
- ignoreFileMtime: provenance.ignoreFileMtime,
159
- inputsDigest: provenance.inputsDigest,
160
- workingTreeDirty: provenance.workingTreeDirty,
161
- };
154
+ const result = await buildResult(cwd, build, provenance, opts.now);
162
155
  if (!provenance.workingTreeDirty) {
163
156
  writeDiskCache(cacheDir, result);
164
157
  }
@@ -170,6 +163,25 @@ async function readOrBuildAnalysisResult(args) {
170
163
  promise.catch(() => inMemoryCache.delete(cacheKey));
171
164
  return promise;
172
165
  }
166
+ /** Build + stamp provenance into a complete `AnalysisResult`. No caching —
167
+ * callers decide whether to persist. Shared by the cached and partial
168
+ * (scope-bypass) paths so they produce byte-identical result envelopes. */
169
+ async function buildResult(cwd, build, provenance, now) {
170
+ const body = await build(cwd);
171
+ const stamp = (now ?? (() => new Date()))();
172
+ return {
173
+ ...body,
174
+ commitSha: provenance.commitSha,
175
+ branch: provenance.branch,
176
+ cwd: provenance.cwd,
177
+ builtAt: stamp.toISOString(),
178
+ dxkitVersion: provenance.dxkitVersion,
179
+ schemaVersion: analysis_result_1.ANALYSIS_RESULT_SCHEMA_VERSION,
180
+ ignoreFileMtime: provenance.ignoreFileMtime,
181
+ inputsDigest: provenance.inputsDigest,
182
+ workingTreeDirty: provenance.workingTreeDirty,
183
+ };
184
+ }
173
185
  /** Test seam — drop in-memory dedup state between test cases. */
174
186
  function clearInMemoryCache() {
175
187
  inMemoryCache.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/analyzers/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/analyzers/cache.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,30 @@
1
1
  import { HealthMetrics, HealthReport } from './types';
2
2
  import type { AnalysisResult, AnalysisResultBody } from '../analysis-result';
3
+ import { type GatherScope } from '../baseline/gather-scope';
3
4
  /** Default values for all HealthMetrics fields. */
4
5
  export declare function defaultMetrics(): HealthMetrics;
5
6
  /** Options for analyzeHealth. */
6
7
  export interface AnalyzeHealthOptions {
7
8
  /** Print per-tool timing to stderr. */
8
9
  verbose?: boolean;
10
+ /**
11
+ * Restrict the gather to the analyzers a scope needs. Defaults to
12
+ * `FULL_SCOPE` (every analyzer), so the `health` report and CI guardrail
13
+ * are unaffected. The loop Stop-gate passes a policy-derived scope so a
14
+ * `security-only` posture skips the analyzers it can never block on (see
15
+ * `src/baseline/gather-scope.ts`). A scoped result is partial by
16
+ * construction and is never written to the shared `AnalysisResult` cache.
17
+ */
18
+ scope?: GatherScope;
19
+ /**
20
+ * Incremental scanning (opt 3): when set, semgrep scans ONLY these
21
+ * project-relative changed files instead of the whole tree. Sound for a
22
+ * net-new gate because semgrep is intraprocedural — a net-new code
23
+ * finding can only appear in a changed file. Like `scope`, this makes the
24
+ * result partial (it never enters the shared cache). Only the loop
25
+ * Stop-gate sets it; CI / `health` leave it undefined (full scan).
26
+ */
27
+ incrementalFiles?: ReadonlyArray<string>;
9
28
  }
10
29
  /**
11
30
  * Run a full health analysis on a repository, returning both the summary
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/analyzers/health.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAoB,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAgC7E,mDAAmD;AACnD,wBAAgB,cAAc,IAAI,aAAa,CAiD9C;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;AAcD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAwG7B;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CA0BzE"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/analyzers/health.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAoB,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAgC7E,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,0BAA0B,CAAC;AAExE,mDAAmD;AACnD,wBAAgB,cAAc,IAAI,aAAa,CAiD9C;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC1C;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;AAcD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAiH7B;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CA0BzE"}
@@ -66,6 +66,7 @@ const dispatcher_1 = require("./dispatcher");
66
66
  const descriptors_1 = require("../languages/capabilities/descriptors");
67
67
  const capabilities_1 = require("../languages/capabilities");
68
68
  const gather_2 = require("./security/gather");
69
+ const semgrep_1 = require("./tools/semgrep");
69
70
  const gather_3 = require("./licenses/gather");
70
71
  const shallow_1 = require("./tests/shallow");
71
72
  const shallow_2 = require("./quality/shallow");
@@ -74,6 +75,7 @@ const shallow_4 = require("./security/shallow");
74
75
  const shallow_5 = require("./maintainability/shallow");
75
76
  const shallow_6 = require("./dx/shallow");
76
77
  const scoring_1 = require("../scoring");
78
+ const gather_scope_1 = require("../baseline/gather-scope");
77
79
  /** Default values for all HealthMetrics fields. */
78
80
  function defaultMetrics() {
79
81
  return {
@@ -162,6 +164,7 @@ async function analyzeHealthInternal(repoPath, options = {}) {
162
164
  */
163
165
  async function gatherAnalysisResultBody(repoPath, options = {}) {
164
166
  const verbose = !!options.verbose;
167
+ const scope = options.scope ?? gather_scope_1.FULL_SCOPE;
165
168
  // Step 1: Detect stack
166
169
  const stack = (0, timing_1.timed)('detect', verbose, () => (0, detect_1.detect)(repoPath));
167
170
  // Step 2: Gather metrics -- generic first, then language-specific, then optional.
@@ -180,30 +183,38 @@ async function gatherAnalysisResultBody(repoPath, options = {}) {
180
183
  // counts, graphify AST stats. Reshaped from the dispatcher's cached
181
184
  // envelopes (`tools/parallel.ts`), so each tool shells out at most once
182
185
  // per analyzer run.
183
- const layer2 = await (0, timing_1.timedAsync)('layer2 (parallel)', verbose, () => (0, parallel_1.gatherLayer2Parallel)(repoPath, verbose));
186
+ const layer2 = await (0, timing_1.timedAsync)('layer2 (parallel)', verbose, () => (0, parallel_1.gatherLayer2Parallel)(repoPath, verbose, scope));
184
187
  mergeLayer2(metrics, layer2);
185
188
  // Hygiene + comment-ratio metrics shared with the standalone Quality
186
189
  // report. Live in HealthMetrics so the canonical Quality scorer
187
190
  // sees the same values from both consumer paths — closes the
188
191
  // dual-Quality-formula drift class structurally. The standalone
189
192
  // analyzeQuality reads these straight off the cached AnalysisResult.
190
- const hygiene = (0, timing_1.timed)('hygiene (grep)', verbose, () => (0, gather_1.gatherHygieneMarkers)(repoPath));
191
- metrics.todoCount = hygiene.todoCount;
192
- metrics.fixmeCount = hygiene.fixmeCount;
193
- metrics.hackCount = hygiene.hackCount;
194
- // hygiene.consoleLogCount is intentionally NOT mirrored — Layer 2
195
- // already populates metrics.consoleLogCount via the shared
196
- // gatherDebugStatements helper, and both paths converge on the
197
- // same number by construction.
198
- metrics.staleFiles = hygiene.staleFiles.length;
199
- metrics.mixedLanguages = hygiene.mixedLanguages;
200
- const comments = (0, timing_1.timed)('cloc (comment ratio)', verbose, () => (0, gather_1.gatherCommentRatio)(repoPath));
201
- metrics.commentRatio = comments.ratio;
193
+ // Hygiene markers feed Quality counts + `stale-file`; skipped under a
194
+ // scope that blocks on neither (the loop's security-only posture).
195
+ if (scope.hygiene) {
196
+ const hygiene = (0, timing_1.timed)('hygiene (grep)', verbose, () => (0, gather_1.gatherHygieneMarkers)(repoPath));
197
+ metrics.todoCount = hygiene.todoCount;
198
+ metrics.fixmeCount = hygiene.fixmeCount;
199
+ metrics.hackCount = hygiene.hackCount;
200
+ // hygiene.consoleLogCount is intentionally NOT mirrored — Layer 2
201
+ // already populates metrics.consoleLogCount via the shared
202
+ // gatherDebugStatements helper, and both paths converge on the
203
+ // same number by construction.
204
+ metrics.staleFiles = hygiene.staleFiles.length;
205
+ metrics.mixedLanguages = hygiene.mixedLanguages;
206
+ }
207
+ if (scope.cloc) {
208
+ const comments = (0, timing_1.timed)('cloc (comment ratio)', verbose, () => (0, gather_1.gatherCommentRatio)(repoPath));
209
+ metrics.commentRatio = comments.ratio;
210
+ }
202
211
  // Surface the coverage tool name in `toolsUsed` even though its data
203
212
  // lives under `capabilities.coverage`. `loadCoverage` and the COVERAGE
204
213
  // dispatcher share the same underlying providers — the call here is
205
214
  // served from the dispatcher cache when `gatherCapabilityReport` runs.
206
- const coverage = await (0, timing_1.timedAsync)('coverage', verbose, () => (0, coverage_1.loadCoverage)(repoPath));
215
+ const coverage = scope.coverage
216
+ ? await (0, timing_1.timedAsync)('coverage', verbose, () => (0, coverage_1.loadCoverage)(repoPath))
217
+ : null;
207
218
  if (coverage) {
208
219
  metrics.toolsUsed.push(`coverage:${coverage.source}`);
209
220
  }
@@ -226,7 +237,7 @@ async function gatherAnalysisResultBody(repoPath, options = {}) {
226
237
  // Capability envelopes alongside legacy metrics. Dispatched in parallel;
227
238
  // providers the legacy path already ran are served from the dispatcher
228
239
  // cache (free). Scorers read capability-owned fields from this bundle.
229
- const capabilities = await (0, timing_1.timedAsync)('capabilities', verbose, () => gatherCapabilityReport(repoPath));
240
+ const capabilities = await (0, timing_1.timedAsync)('capabilities', verbose, () => gatherCapabilityReport(repoPath, scope, options.incrementalFiles));
230
241
  // Synthesize per-pack tool names (eslint, npm-audit, ruff, pip-audit,
231
242
  // clippy, cargo-audit, golangci-lint, govulncheck, dotnet-format,
232
243
  // dotnet-vulnerable) into `metrics.toolsUsed` from the LINT + DEP_VULNS
@@ -358,7 +369,26 @@ function splitToolNames(tool) {
358
369
  * parallel — the descriptor aggregates are pure, and the dispatcher
359
370
  * isolates provider failures.
360
371
  */
361
- async function gatherCapabilityReport(cwd) {
372
+ async function gatherCapabilityReport(cwd, scope = gather_scope_1.FULL_SCOPE, incrementalFiles) {
373
+ // Incremental scanning (opt 3): swap the full-tree semgrep provider for
374
+ // one bound to just the changed files. Same `source: 'semgrep'` identity,
375
+ // so the dispatcher's envelope/provenance handling is identical.
376
+ const codePatternsProviders = incrementalFiles
377
+ ? [(0, semgrep_1.incrementalSemgrepProvider)(incrementalFiles)]
378
+ : (0, capabilities_1.providersFor)(descriptors_1.CODE_PATTERNS, cwd);
379
+ // Vacuous outcomes for capabilities the scope skips. Each is byte-
380
+ // identical to what the gather returns when no active pack supplies a
381
+ // provider, so every downstream availability/aggregate branch treats a
382
+ // skipped capability exactly as it already treats "nothing to scan" —
383
+ // no new code path, no score drift on the full path.
384
+ const emptyDispatch = {
385
+ envelope: null,
386
+ attempted: [],
387
+ succeeded: [],
388
+ skipped: [],
389
+ skipReasons: {},
390
+ };
391
+ const emptyAvail = { envelope: null, available: true, unavailableReason: '' };
362
392
  // D025b (2.4.7): depVulns gathers via `gatherDepVulnsWithAvailability`
363
393
  // (NOT the dispatcher) so the per-pack availability discriminant
364
394
  // survives to the health-side scorer. Health doesn't need the
@@ -368,17 +398,25 @@ async function gatherCapabilityReport(cwd) {
368
398
  // `DepVulnResult` envelope shape the dispatcher would produce, plus
369
399
  // the availability metadata.
370
400
  const [depVulnsWithAvail, lintOutcome, coverage, imports, testFramework, secretsOutcome, codePatternsOutcome, duplicationOutcome, structuralOutcome, licensesWithAvail,] = await Promise.all([
371
- (0, gather_2.gatherDepVulnsWithAvailability)(cwd),
401
+ scope.depVulns ? (0, gather_2.gatherDepVulnsWithAvailability)(cwd) : Promise.resolve(emptyAvail),
372
402
  // gatherWithProvenance (not gather) so the cached LintResult.tool
373
403
  // can carry the "(not run: <packs>)" suffix when one of the
374
404
  // active packs returned null silently. Standalone analyzeQuality
375
405
  // reads the augmented label off the cached envelope — closes the
376
406
  // cross-process drift class where two surfaces could disagree on
377
407
  // whether a linter ran on a given pack.
378
- dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.LINT, (0, capabilities_1.providersFor)(descriptors_1.LINT, cwd)),
379
- dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.COVERAGE, (0, capabilities_1.providersFor)(descriptors_1.COVERAGE, cwd)),
380
- dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.IMPORTS, (0, capabilities_1.providersFor)(descriptors_1.IMPORTS, cwd)),
381
- dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.TEST_FRAMEWORK, (0, capabilities_1.providersFor)(descriptors_1.TEST_FRAMEWORK, cwd)),
408
+ scope.lint
409
+ ? dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.LINT, (0, capabilities_1.providersFor)(descriptors_1.LINT, cwd))
410
+ : Promise.resolve(emptyDispatch),
411
+ scope.coverage
412
+ ? dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.COVERAGE, (0, capabilities_1.providersFor)(descriptors_1.COVERAGE, cwd))
413
+ : Promise.resolve(null),
414
+ scope.imports
415
+ ? dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.IMPORTS, (0, capabilities_1.providersFor)(descriptors_1.IMPORTS, cwd))
416
+ : Promise.resolve(null),
417
+ scope.testFramework
418
+ ? dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.TEST_FRAMEWORK, (0, capabilities_1.providersFor)(descriptors_1.TEST_FRAMEWORK, cwd))
419
+ : Promise.resolve(null),
382
420
  // gatherWithProvenance: the secret scan needs the same
383
421
  // attempted-vs-succeeded discriminant the code-patterns gather has,
384
422
  // so a failed secret scan caps the Security score (uncertainty)
@@ -386,7 +424,9 @@ async function gatherCapabilityReport(cwd) {
386
424
  // symptom of the old silent path: a dxkit upgrade that merely
387
425
  // turned the secret scanners ON looked like a score drop
388
426
  // on an unchanged commit.
389
- dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.SECRETS, (0, capabilities_1.providersFor)(descriptors_1.SECRETS, cwd)),
427
+ scope.secrets
428
+ ? dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.SECRETS, (0, capabilities_1.providersFor)(descriptors_1.SECRETS, cwd))
429
+ : Promise.resolve(emptyDispatch),
390
430
  // gatherWithProvenance so the cache builder can plumb per-capability
391
431
  // availability metadata for tools that may legitimately gather
392
432
  // attempted-but-failed (semgrep / jscpd / graphify under resource
@@ -394,10 +434,16 @@ async function gatherCapabilityReport(cwd) {
394
434
  // metrics.toolsUnavailable can't distinguish "tool didn't try" from
395
435
  // "tool tried and failed silently" — the same dishonest-rendering
396
436
  // class as the lint case the LINT switch above closes.
397
- dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.CODE_PATTERNS, (0, capabilities_1.providersFor)(descriptors_1.CODE_PATTERNS, cwd)),
398
- dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.DUPLICATION, (0, capabilities_1.providersFor)(descriptors_1.DUPLICATION, cwd)),
399
- dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.STRUCTURAL, (0, capabilities_1.providersFor)(descriptors_1.STRUCTURAL, cwd)),
400
- (0, gather_3.gatherLicensesWithAvailability)(cwd),
437
+ scope.codePatterns
438
+ ? dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.CODE_PATTERNS, codePatternsProviders)
439
+ : Promise.resolve(emptyDispatch),
440
+ scope.duplication
441
+ ? dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.DUPLICATION, (0, capabilities_1.providersFor)(descriptors_1.DUPLICATION, cwd))
442
+ : Promise.resolve(emptyDispatch),
443
+ scope.structural
444
+ ? dispatcher_1.defaultDispatcher.gatherWithProvenance(cwd, descriptors_1.STRUCTURAL, (0, capabilities_1.providersFor)(descriptors_1.STRUCTURAL, cwd))
445
+ : Promise.resolve(emptyDispatch),
446
+ scope.licenses ? (0, gather_3.gatherLicensesWithAvailability)(cwd) : Promise.resolve(emptyAvail),
401
447
  ]);
402
448
  const codePatterns = codePatternsOutcome.envelope;
403
449
  const duplication = duplicationOutcome.envelope;
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/analyzers/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/analyzers/health.ts"],"names":[],"mappings":"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"}
@@ -106,4 +106,13 @@ export interface TestGapsReport {
106
106
  toolsUsed: string[];
107
107
  toolsUnavailable: string[];
108
108
  }
109
+ /**
110
+ * A vacuous test-gaps report — no gaps, no test files. Used by the
111
+ * scope-aware guardrail gather when a posture cannot block on test-gap
112
+ * findings (`scope.testGaps === false`), so the expensive test-gap
113
+ * analyzer is skipped. The `tests` producer reads only `gaps` +
114
+ * `testFiles`, so it emits zero entries from this — the single source of
115
+ * truth for the empty shape, kept beside the type it mirrors.
116
+ */
117
+ export declare function emptyTestGapsReport(): TestGapsReport;
109
118
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tests/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,aAAa,CAAC;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;OAUG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAElF,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,cAAc,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iDAAiD;QACjD,cAAc,EAAE,cAAc,CAAC;QAC/B;;;;WAIG;QACH,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,gEAAgE;QAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tests/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,aAAa,CAAC;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;OAUG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAElF,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,cAAc,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iDAAiD;QACjD,cAAc,EAAE,cAAc,CAAC;QAC/B;;;;WAIG;QACH,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,gEAAgE;QAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,CAwBpD"}
@@ -3,4 +3,38 @@
3
3
  * Test gap analyzer types.
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.emptyTestGapsReport = emptyTestGapsReport;
7
+ /**
8
+ * A vacuous test-gaps report — no gaps, no test files. Used by the
9
+ * scope-aware guardrail gather when a posture cannot block on test-gap
10
+ * findings (`scope.testGaps === false`), so the expensive test-gap
11
+ * analyzer is skipped. The `tests` producer reads only `gaps` +
12
+ * `testFiles`, so it emits zero entries from this — the single source of
13
+ * truth for the empty shape, kept beside the type it mirrors.
14
+ */
15
+ function emptyTestGapsReport() {
16
+ return {
17
+ repo: '',
18
+ analyzedAt: '',
19
+ commitSha: '',
20
+ branch: '',
21
+ summary: {
22
+ testFiles: 0,
23
+ activeTestFiles: 0,
24
+ commentedOutFiles: 0,
25
+ effectiveCoverage: 0,
26
+ coverageSource: 'filename-match',
27
+ coverageFidelity: 'filename-match',
28
+ sourceFiles: 0,
29
+ untestedCritical: 0,
30
+ untestedHigh: 0,
31
+ untestedMedium: 0,
32
+ untestedLow: 0,
33
+ },
34
+ testFiles: [],
35
+ gaps: [],
36
+ toolsUsed: [],
37
+ toolsUnavailable: [],
38
+ };
39
+ }
6
40
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/analyzers/tests/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/analyzers/tests/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA6HH,kDAwBC;AAhCD;;;;;;;GAOG;AACH,SAAgB,mBAAmB;IACjC,OAAO;QACL,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP,SAAS,EAAE,CAAC;YACZ,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,CAAC;YACpB,cAAc,EAAE,gBAAgB;YAChC,gBAAgB,EAAE,gBAAgB;YAClC,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC;SACf;QACD,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC"}
@@ -21,5 +21,6 @@
21
21
  * pre-C.7, including the exact `toolsUnavailable` phrasings.
22
22
  */
23
23
  import { HealthMetrics } from '../types';
24
- export declare function gatherLayer2Parallel(cwd: string, _verbose?: boolean): Promise<Partial<HealthMetrics>>;
24
+ import { type GatherScope } from '../../baseline/gather-scope';
25
+ export declare function gatherLayer2Parallel(cwd: string, _verbose?: boolean, scope?: GatherScope): Promise<Partial<HealthMetrics>>;
25
26
  //# sourceMappingURL=parallel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parallel.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,UAAQ,GACf,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAwCjC"}
1
+ {"version":3,"file":"parallel.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,6BAA6B,CAAC;AAE3E,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,UAAQ,EAChB,KAAK,GAAE,WAAwB,GAC9B,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAqDjC"}