// SPEC-597-EXEMPT: canonical mapping (npm-package↔framework, keyword catalogue)
// — must enumerate framework names by design; no detection logic to migrate.
// engine/detectors/library-detector.ts — Orchestrator for all library detection
// SPEC-004 tech-debt: Aggregates Python, Node.js, and multi-language detectors.
import { detectPythonLibraries } from './library-detector-python.js';
import { detectNodeLibraries } from './library-detector-node.js';
import { detectGoLibraries, detectRustCrates, detectJavaLibraries, detectPhpLibraries, detectRubyGems, detectDotNetPackages, } from './library-detector-multilang.js';
import { detectElixirLibraries, detectScalaLibraries, detectDartLibraries, } from './library-detector-langs2.js';
import { detectClojureLibraries, detectHaskellLibraries, detectOcamlLibraries, detectFsharpLibraries, } from './library-detector-langs3a.js';
import { detectGleamLibraries, detectCrystalLibraries, detectNimLibraries, detectZigLibraries, } from './library-detector-langs3b.js';
import { detectJuliaLibraries, detectRLibraries, detectDlangLibraries, detectPerlLibraries, } from './library-detector-langs4.js';
import { detectCobolProject, detectFortranProject, detectAdaProject, detectVLangLibraries, detectColdFusionProject, } from './library-detector-langs5.js';
import { detectWasm } from './wasm-detector.js';
async function detectMainstreamLibraries(p) {
    return Promise.all([
        detectPythonLibraries(p),
        detectNodeLibraries(p),
        detectGoLibraries(p),
        detectRustCrates(p),
        detectJavaLibraries(p),
        detectPhpLibraries(p),
        detectRubyGems(p),
        detectDotNetPackages(p),
        detectElixirLibraries(p),
        detectScalaLibraries(p),
        detectDartLibraries(p),
    ]);
}
async function detectExoticLibraries(p) {
    return Promise.all([
        detectClojureLibraries(p),
        detectHaskellLibraries(p),
        detectOcamlLibraries(p),
        detectFsharpLibraries(p),
        detectGleamLibraries(p),
        detectCrystalLibraries(p),
        detectNimLibraries(p),
        detectZigLibraries(p),
        detectJuliaLibraries(p),
        detectRLibraries(p),
        detectDlangLibraries(p),
        detectPerlLibraries(p),
        detectCobolProject(p),
        detectFortranProject(p),
        detectAdaProject(p),
        detectVLangLibraries(p),
        detectColdFusionProject(p),
        detectWasm(p),
    ]);
}
/**
 * Detect key libraries across all supported ecosystems:
 * Python, Node.js, Go, Rust, Java, PHP, Ruby, .NET, Elixir, Scala, Dart,
 * Clojure, Haskell, OCaml, F#, Gleam, Crystal, Nim, Zig, Julia, R, D, Perl,
 * COBOL, Fortran, Ada, V lang, ColdFusion, and WASM.
 */
export async function detectLibraries(projectPath) {
    const [[python, node, go, rust, java, php, ruby, dotnet, elixir, scala, dart], [clojure, haskell, ocaml, fsharp, gleam, crystal, nim, zig, julia, r, dlang, perl, cobol, fortran, ada, vlang, coldfusion, wasm,],] = await Promise.all([
        detectMainstreamLibraries(projectPath),
        detectExoticLibraries(projectPath),
    ]);
    return {
        python,
        node,
        go,
        rust,
        java,
        php,
        ruby,
        dotnet,
        elixir,
        scala,
        dart,
        clojure,
        haskell,
        ocaml,
        fsharp,
        gleam,
        crystal,
        nim,
        zig,
        julia,
        r,
        dlang,
        perl,
        cobol,
        fortran,
        ada,
        vlang,
        coldfusion,
        wasm,
    };
}
// Re-export all detectors so callers can import from this single module
export { detectPythonLibraries } from './library-detector-python.js';
export { detectNodeLibraries } from './library-detector-node.js';
export { detectGoLibraries, detectRustCrates, detectJavaLibraries, detectPhpLibraries, detectRubyGems, detectDotNetPackages, } from './library-detector-multilang.js';
export { detectElixirLibraries, detectScalaLibraries, detectDartLibraries, } from './library-detector-langs2.js';
export { detectClojureLibraries, detectHaskellLibraries, detectOcamlLibraries, detectFsharpLibraries, } from './library-detector-langs3a.js';
export { detectGleamLibraries, detectCrystalLibraries, detectNimLibraries, detectZigLibraries, } from './library-detector-langs3b.js';
export { detectJuliaLibraries, detectRLibraries, detectDlangLibraries, detectPerlLibraries, } from './library-detector-langs4.js';
export { detectCobolProject, detectFortranProject, detectAdaProject, detectVLangLibraries, detectColdFusionProject, } from './library-detector-langs5.js';
export { detectWasm } from './wasm-detector.js';
//# sourceMappingURL=library-detector.js.map