@mitre/hdf-diff 3.1.0 → 3.3.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/README.md CHANGED
@@ -104,7 +104,7 @@ hdf diff --mode baseline golden.json current.json
104
104
  The diff engine is also available as a Go module:
105
105
 
106
106
  ```go
107
- import diff "github.com/mitre/hdf-libs/hdf-diff/go"
107
+ import diff "github.com/mitre/hdf-libs/hdf-diff/go/v3"
108
108
  ```
109
109
 
110
110
  See the [hdf-diff/go](https://github.com/mitre/hdf-libs/tree/main/hdf-diff/go) directory for the Go API.
package/dist/index.d.ts CHANGED
@@ -81,12 +81,26 @@ type RequirementState = 'new' | 'absent' | 'unchanged' | 'updated' | 'fixed' | '
81
81
  interface FieldChange {
82
82
  /** The operation type: add, remove, or replace */
83
83
  op: 'add' | 'remove' | 'replace';
84
- /** Dot-notation path to the changed field (e.g., 'impact', 'tags.cci') */
84
+ /**
85
+ * Dot-notation path to the changed field. For CVE-ecosystem types the path
86
+ * uses bracket notation to identify matched entries by their natural key,
87
+ * e.g.:
88
+ * - `cvss[CVE-2024-1234].baseScore`
89
+ * - `cvss[CVE-2024-1234].baseVector.AV`
90
+ * - `affectedPackages[openssl@1.1.1].fixedInVersion`
91
+ * - `cwe`, `epss`, `epss.score`, `kev`, `kev.inKev`
92
+ */
85
93
  path: string;
86
94
  /** Value in the old evaluation (undefined for 'add' operations) */
87
95
  oldValue?: unknown;
88
96
  /** Value in the new evaluation (undefined for 'remove' operations) */
89
97
  newValue?: unknown;
98
+ /**
99
+ * Optional human-readable annotation for changes that need extra context
100
+ * beyond raw old/new values (e.g., "Newly added to CISA KEV catalog as
101
+ * of 2024-01-20"). Renderers should surface this prominently when present.
102
+ */
103
+ message?: string;
90
104
  }
91
105
  /**
92
106
  * The diff for a single requirement across two evaluations.
@@ -204,7 +218,7 @@ interface Annotation {
204
218
  /**
205
219
  * The top-level comparison result comparing two or more HDF evaluations.
206
220
  */
207
- interface HdfComparison {
221
+ interface HDFComparison {
208
222
  /** Schema version for the comparison format */
209
223
  formatVersion: '1.0.0';
210
224
  /** The mode of comparison */
@@ -247,8 +261,10 @@ interface MatchingConfig {
247
261
  type DiffStatus = RequirementState;
248
262
  /** @deprecated Use ComparisonSummary instead */
249
263
  type DiffSummary = ComparisonSummary;
250
- /** @deprecated Use HdfComparison instead */
251
- type HdfDiff = HdfComparison;
264
+ /** @deprecated Use HDFComparison instead */
265
+ type HdfComparison = HDFComparison;
266
+ /** @deprecated Use HDFComparison instead */
267
+ type HdfDiff = HDFComparison;
252
268
  //#endregion
253
269
  //#region src/diff.d.ts
254
270
  /**
@@ -279,7 +295,7 @@ interface DiffOptions {
279
295
  * For fleet mode, `newResults` can be an array of documents, each compared
280
296
  * pairwise against `oldResults` (the reference).
281
297
  */
282
- declare function diffHdf(oldResults: Record<string, unknown>, newResults: Record<string, unknown> | Record<string, unknown>[], options?: DiffOptions): HdfComparison;
298
+ declare function diffHdf(oldResults: Record<string, unknown>, newResults: Record<string, unknown> | Record<string, unknown>[], options?: DiffOptions): HDFComparison;
283
299
  /**
284
300
  * Compare two HDF baseline documents and produce a structured comparison
285
301
  * showing requirement changes between baseline versions.
@@ -288,7 +304,7 @@ declare function diffHdf(oldResults: Record<string, unknown>, newResults: Record
288
304
  * definitions — requirements without results. There is no status-based classification
289
305
  * (fixed/regressed); only metadata changes (title, impact, descriptions, tags) are tracked.
290
306
  */
291
- declare function diffBaselines(oldBaseline: Record<string, unknown>, newBaseline: Record<string, unknown>, options?: DiffOptions): HdfComparison;
307
+ declare function diffBaselines(oldBaseline: Record<string, unknown>, newBaseline: Record<string, unknown>, options?: DiffOptions): HDFComparison;
292
308
  /**
293
309
  * Compare two HDF system documents and produce a structured comparison
294
310
  * showing component-level changes between system versions.
@@ -297,7 +313,7 @@ declare function diffBaselines(oldBaseline: Record<string, unknown>, newBaseline
297
313
  * to exact name matching. Top-level system fields, data flows, and embedded
298
314
  * SBOMs are also compared.
299
315
  */
300
- declare function diffSystems(oldSystem: Record<string, unknown>, newSystem: Record<string, unknown>, options?: DiffOptions): HdfComparison;
316
+ declare function diffSystems(oldSystem: Record<string, unknown>, newSystem: Record<string, unknown>, options?: DiffOptions): HDFComparison;
301
317
  //#endregion
302
318
  //#region src/status.d.ts
303
319
  /**
@@ -377,6 +393,8 @@ interface MatchPair {
377
393
  strategy: string;
378
394
  /** Confidence score for the match (0.0 - 1.0) */
379
395
  confidence: number;
396
+ /** Relationship type for delta matching: 'primary' (code source) or 'related' (informational) */
397
+ relationship?: 'primary' | 'related';
380
398
  }
381
399
  /**
382
400
  * A pluggable strategy for matching requirements between evaluations.
@@ -420,7 +438,11 @@ declare function createMappedIdStrategy(mapping: Record<string, string>): MatchS
420
438
  * by multiple old or multiple new requirements) are skipped, and those
421
439
  * requirements are left unmatched.
422
440
  *
423
- * Confidence is 0.8 for unambiguous matches.
441
+ * As a fallback, also pairs unambiguous CWE matches (preferring the
442
+ * structured `req.cwe[]` field over the legacy `tags.cwe`). This catches
443
+ * CVE-ecosystem findings where CCI is absent but CWE is present.
444
+ *
445
+ * Confidence is 0.8 for CCI matches and 0.6 for CWE-fallback matches.
424
446
  */
425
447
  declare function createCciMatchStrategy(): MatchStrategy;
426
448
  //#endregion
@@ -450,6 +472,58 @@ declare function jaccardSimilarity(a: Set<string>, b: Set<string>): number;
450
472
  */
451
473
  declare function createFuzzyTitleStrategy(minConfidence?: number): MatchStrategy;
452
474
  //#endregion
475
+ //#region src/matching/srg-deterministic.d.ts
476
+ /**
477
+ * Create a deterministic SRG matching strategy (Tier 1 of the delta pipeline).
478
+ *
479
+ * Matches requirements by exact `tags.gtitle` (SRG-OS requirement ID).
480
+ *
481
+ * For each gtitle shared between old and new:
482
+ * - 1 old + 1 new → single MatchPair (confidence 1.0, relationship "primary")
483
+ * - 1 new + N old → N MatchPairs (first old "primary", rest "related")
484
+ * - N new + 1 old → N MatchPairs (first new "primary", rest "related")
485
+ * - N:M (both > 1) → skip, leave for fallback strategies
486
+ *
487
+ * Requirements without a gtitle pass through as unmatched.
488
+ */
489
+ declare function createSrgDeterministicStrategy(): MatchStrategy;
490
+ //#endregion
491
+ //#region src/matching/srg-cci-tiebreak.d.ts
492
+ /**
493
+ * Create an SRG CCI Tiebreak matching strategy (Tier 2 of the delta pipeline).
494
+ *
495
+ * Handles ambiguous SRG matches where multiple old or new requirements share
496
+ * the same tags.gtitle. Uses a composite score of CCI Jaccard (70%) and
497
+ * token Jaccard on titles (30%) to pick the best match.
498
+ *
499
+ * Only activates for gtitle groups with multiple candidates (>1 old or >1 new).
500
+ * 1:1 matches are left for srgDeterministic (Tier 1).
501
+ */
502
+ declare function createSrgCciTiebreakStrategy(): MatchStrategy;
503
+ //#endregion
504
+ //#region src/matching/vendor-fuzzy-title.d.ts
505
+ /**
506
+ * Compute the Levenshtein edit distance between two strings.
507
+ */
508
+ declare function levenshteinDistance(a: string, b: string): number;
509
+ /**
510
+ * Normalized Levenshtein distance (0.0 = identical, 1.0 = completely different).
511
+ */
512
+ declare function normalizedLevenshtein(a: string, b: string): number;
513
+ /**
514
+ * Create a vendor fuzzy title matching strategy (Tier 3 of the delta pipeline).
515
+ *
516
+ * Cross-vendor matching with auto-detected vendor prefix stripping.
517
+ * Uses normalized Levenshtein distance to compare titles after removing
518
+ * the dominant vendor prefix (e.g., "RHEL 9" or "Amazon Linux 2023").
519
+ *
520
+ * Accepts matches below threshold 0.45 (confidence = 1.0 - distance).
521
+ * Greedy best-match.
522
+ *
523
+ * @param acceptThreshold Max normalized Levenshtein distance to accept (default: 0.45)
524
+ */
525
+ declare function createVendorFuzzyTitleStrategy(acceptThreshold?: number): MatchStrategy;
526
+ //#endregion
453
527
  //#region src/matching/index.d.ts
454
528
  /**
455
529
  * Options for configuring requirement matching.
@@ -559,7 +633,7 @@ interface RenderOptions {
559
633
  //#endregion
560
634
  //#region src/renderers/json.d.ts
561
635
  /**
562
- * Render an HdfComparison as a JSON string.
636
+ * Render an HDFComparison as a JSON string.
563
637
  *
564
638
  * - `detail: 'summary'` -- only `{ formatVersion, comparisonMode, summary }`
565
639
  * - `detail: 'control'` -- full document but `before`/`after` stripped from requirementDiffs
@@ -567,11 +641,11 @@ interface RenderOptions {
567
641
  *
568
642
  * Default detail level: `'control'`.
569
643
  */
570
- declare function renderJson(comparison: HdfComparison, options?: RenderOptions): string;
644
+ declare function renderJson(comparison: HDFComparison, options?: RenderOptions): string;
571
645
  //#endregion
572
646
  //#region src/renderers/markdown.d.ts
573
647
  /**
574
- * Render an HdfComparison as a Markdown string.
648
+ * Render an HDFComparison as a Markdown string.
575
649
  *
576
650
  * - `detail: 'summary'` -- summary table only
577
651
  * - `detail: 'control'` -- summary + per-requirement tables by state
@@ -579,11 +653,11 @@ declare function renderJson(comparison: HdfComparison, options?: RenderOptions):
579
653
  *
580
654
  * Default detail level: `'control'`.
581
655
  */
582
- declare function renderMarkdown(comparison: HdfComparison, options?: RenderOptions): string;
656
+ declare function renderMarkdown(comparison: HDFComparison, options?: RenderOptions): string;
583
657
  //#endregion
584
658
  //#region src/renderers/terminal.d.ts
585
659
  /**
586
- * Render an HdfComparison for terminal display with optional ANSI colors.
660
+ * Render an HDFComparison for terminal display with optional ANSI colors.
587
661
  *
588
662
  * - `detail: 'summary'` -- just the summary line
589
663
  * - `detail: 'control'` -- requirement list + summary (excludes unchanged)
@@ -592,11 +666,11 @@ declare function renderMarkdown(comparison: HdfComparison, options?: RenderOptio
592
666
  * When `color: false`, no ANSI escape codes are emitted.
593
667
  * Default detail level: `'control'`. Default color: `true`.
594
668
  */
595
- declare function renderTerminal(comparison: HdfComparison, options?: RenderOptions): string;
669
+ declare function renderTerminal(comparison: HDFComparison, options?: RenderOptions): string;
596
670
  //#endregion
597
671
  //#region src/renderers/csv.d.ts
598
672
  /**
599
- * Render an HdfComparison as a CSV string.
673
+ * Render an HDFComparison as a CSV string.
600
674
  *
601
675
  * One row per requirement. Columns:
602
676
  * - ID, Title, State, Old Status, New Status, Impact (Old), Impact (New), Change Reasons
@@ -606,18 +680,18 @@ declare function renderTerminal(comparison: HdfComparison, options?: RenderOptio
606
680
  * Header row is always included. Standard CSV escaping (RFC 4180).
607
681
  * Default detail level: `'control'`.
608
682
  */
609
- declare function renderCsv(comparison: HdfComparison, options?: RenderOptions): string;
683
+ declare function renderCsv(comparison: HDFComparison, options?: RenderOptions): string;
610
684
  //#endregion
611
685
  //#region src/renderers/index.d.ts
612
686
  /**
613
687
  * Convenience function to render a comparison in any supported format.
614
688
  *
615
- * @param comparison - The HdfComparison document to render
689
+ * @param comparison - The HDFComparison document to render
616
690
  * @param format - Output format: 'json', 'markdown', 'terminal', or 'csv'
617
691
  * @param options - Rendering options (detail level, filters, color)
618
692
  * @returns The rendered string
619
693
  */
620
- declare function render(comparison: HdfComparison, format: 'json' | 'markdown' | 'terminal' | 'csv', options?: RenderOptions): string;
694
+ declare function render(comparison: HDFComparison, format: 'json' | 'markdown' | 'terminal' | 'csv', options?: RenderOptions): string;
621
695
  //#endregion
622
- export { type Annotation, type BaselineDiff, type ChangeReason, type ComparisonSummary, type ComponentDiff, type DetailLevel, type DiffOptions, type DiffStatus, type DiffSummary, EXIT_DETAILED_BASELINE_CHANGED, EXIT_DETAILED_DRIFT_ONLY, EXIT_DETAILED_ERROR, EXIT_DETAILED_FIXES_ONLY, EXIT_DETAILED_IDENTICAL, EXIT_DETAILED_MIXED, EXIT_DETAILED_REGRESSIONS_ONLY, EXIT_DIFFERENCES, EXIT_ERROR, EXIT_IDENTICAL, type FieldChange, type HdfComparison, type HdfDiff, type MatchOptions, type MatchPair, type MatchResult, type MatchStrategy, type MatchingConfig, type PackageDiff, type RenderOptions, type RequirementDiff, type RequirementState, type SbomDiffResult, type Source, type ValidationResult, classifyChangeReasons, classifyDiffStatus, computeDetailedExitCode, computeEffectiveStatus, computeExitCode, computeSummary, createCciMatchStrategy, createExactIdStrategy, createFuzzyTitleStrategy, createMappedIdStrategy, diffBaselines, diffHdf, diffSboms, diffSystems, isV1Format, jaccardSimilarity, matchRequirements, normalizeToV2, render, renderCsv, renderJson, renderMarkdown, renderTerminal, tokenize, validateComparison };
696
+ export { type Annotation, type BaselineDiff, type ChangeReason, type ComparisonSummary, type ComponentDiff, type DetailLevel, type DiffOptions, type DiffStatus, type DiffSummary, EXIT_DETAILED_BASELINE_CHANGED, EXIT_DETAILED_DRIFT_ONLY, EXIT_DETAILED_ERROR, EXIT_DETAILED_FIXES_ONLY, EXIT_DETAILED_IDENTICAL, EXIT_DETAILED_MIXED, EXIT_DETAILED_REGRESSIONS_ONLY, EXIT_DIFFERENCES, EXIT_ERROR, EXIT_IDENTICAL, type FieldChange, type HDFComparison, type HdfComparison, type HdfDiff, type MatchOptions, type MatchPair, type MatchResult, type MatchStrategy, type MatchingConfig, type PackageDiff, type RenderOptions, type RequirementDiff, type RequirementState, type SbomDiffResult, type Source, type ValidationResult, classifyChangeReasons, classifyDiffStatus, computeDetailedExitCode, computeEffectiveStatus, computeExitCode, computeSummary, createCciMatchStrategy, createExactIdStrategy, createFuzzyTitleStrategy, createMappedIdStrategy, createSrgCciTiebreakStrategy, createSrgDeterministicStrategy, createVendorFuzzyTitleStrategy, diffBaselines, diffHdf, diffSboms, diffSystems, isV1Format, jaccardSimilarity, levenshteinDistance, matchRequirements, normalizeToV2, normalizedLevenshtein, render, renderCsv, renderJson, renderMarkdown, renderTerminal, tokenize, validateComparison };
623
697
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/sbom.ts","../src/types.ts","../src/diff.ts","../src/status.ts","../src/summary.ts","../src/normalize.ts","../src/matching/types.ts","../src/matching/exact-id.ts","../src/matching/mapped-id.ts","../src/matching/cci-match.ts","../src/matching/fuzzy-match.ts","../src/matching/index.ts","../src/validate.ts","../src/exit-codes.ts","../src/renderers/types.ts","../src/renderers/json.ts","../src/renderers/markdown.ts","../src/renderers/terminal.ts","../src/renderers/csv.ts","../src/renderers/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/sbom.ts","../src/types.ts","../src/diff.ts","../src/status.ts","../src/summary.ts","../src/normalize.ts","../src/matching/types.ts","../src/matching/exact-id.ts","../src/matching/mapped-id.ts","../src/matching/cci-match.ts","../src/matching/fuzzy-match.ts","../src/matching/srg-deterministic.ts","../src/matching/srg-cci-tiebreak.ts","../src/matching/vendor-fuzzy-title.ts","../src/matching/index.ts","../src/validate.ts","../src/exit-codes.ts","../src/renderers/types.ts","../src/renderers/json.ts","../src/renderers/markdown.ts","../src/renderers/terminal.ts","../src/renderers/csv.ts","../src/renderers/index.ts"],"mappings":"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"}