//! Per-tool adapters: native profiling format → normalized [`Span`]s.
//!
//! Each adapter is a pure function (no I/O, no clocks) pinned by a golden-file
//! test. Adding support for a new build system means adding one file here and
//! one fixture pair — nothing else moves. See `CONTRIBUTING.md` for the exact
//! shape.
//!
//! Currently supported: [`ninja`], [`cargo`], [`webpack`], [`generic`]
//! (Chrome Trace Event Format pass-through).
use crateSpan;
/// Tool names the `buildline` wrapper knows how to capture. The single source
/// of truth for "what's supported today", surfaced in the wrapper's error
/// message so it can never drift out of sync with the actual match arms.
pub const SUPPORTED_TOOLS: & = &;
/// Parses one build tool's native profiling artifact into relative spans.
///
/// Each adapter is a pure function of its input bytes, no clocks, no I/O, so
/// its behavior is pinned by a golden-file test (fixture in, expected JSON out).
/// A new build system = a new file here + a fixture pair. Nothing else moves.