1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! External-findings integration — parse, store, and fuse external SARIF
//! scanner output with `CodeLore`'s behavioral signal.
//!
//! # Entry point
//!
//! [`sarif_parse::parse_sarif_with_engines`] converts a raw SARIF 2.1.0 JSON
//! string into a `Vec<ExternalFinding>` plus the list of scanner engine names
//! present across all runs. Each finding is normalized to a repo-relative path
//! and carries a stable fingerprint derived from the dialect-appropriate source
//! (partialFingerprints → fingerprints → self-hash fallback), which absorbs the
//! fingerprint-field variance across SARIF 2.1.0 producers.
pub use ;
pub use ;
/// Group a flat list of findings by engine name.
///
/// Returns a `HashMap` keyed on `finding.engine`, with values being all
/// findings from that engine in input order. This is the grouping step that
/// precedes [`ExternalStore::replace_engine`]: the caller parses one or more
/// SARIF files into a flat `Vec<ExternalFinding>`, groups by engine, then
/// calls `replace_engine` once per engine — ensuring that two SARIF files
/// from the same engine are combined, not overwritten.