// engine/detectors/library-detector-mainstream.ts — Mainstream ecosystem library detection
// SPEC-004 tech-debt S4: Python, Node.js, Go, Rust, Java, PHP, Ruby, .NET library detection.
// Re-exports and wraps the ecosystem-specific detectors under canonical S4 function names.
import { detectPythonLibraries } from './library-detector-python.js';
import { detectNodeLibraries as detectNodeLibsImpl } from './library-detector-node.js';
import { detectGoLibraries, detectRustCrates } from './library-detector-multilang-a.js';
import { detectJavaLibraries, detectPhpLibraries } from './library-detector-multilang-b.js';
import { detectRubyGems, detectDotNetPackages } from './library-detector-multilang-c.js';
/**
 * Detect key Python application libraries.
 * Reads requirements.txt, pyproject.toml, and setup.py.
 * Groups: HTTP (httpx/aiohttp/requests), data (pandas/polars/numpy/scipy),
 * queue (celery/rq/arq/dramatiq), auth (python-jose/authlib/fastapi-users).
 */
export async function detectPythonAppLibraries(projectPath) {
    return detectPythonLibraries(projectPath);
}
/**
 * Detect key Node.js application libraries.
 * Reads package.json (dependencies + devDependencies).
 * Groups: ORM (prisma/drizzle-orm/typeorm/sequelize/mongoose),
 * validation (zod/yup/joi/valibot), queue (bullmq/agenda/bee-queue).
 */
export async function detectNodeLibraries(projectPath) {
    return detectNodeLibsImpl(projectPath);
}
/**
 * Detect key Go application libraries.
 * Reads go.mod for require blocks.
 * Groups: HTTP (gin/chi/fiber/echo/fasthttp/resty),
 * DB (pgx/sqlc/ent/gorm/sqlx), testing (testify/golang-mock/check.v1).
 */
export async function detectGoAppLibraries(projectPath) {
    return detectGoLibraries(projectPath);
}
/**
 * Detect key Rust crates in a project.
 * Reads Cargo.toml for [dependencies] and [dev-dependencies].
 * Groups: async (tokio/async-std/smol), serde (serde/serde_json/serde_yaml),
 * CLI (clap/structopt/argh), error (thiserror/anyhow/eyre), DB (sqlx/diesel/sea-orm).
 */
export async function detectRustLibraries(projectPath) {
    return detectRustCrates(projectPath);
}
/**
 * Detect key Java/Kotlin application libraries.
 * Reads pom.xml, build.gradle, and build.gradle.kts.
 * Groups: util (lombok/mapstruct/guava), migration (flyway/liquibase),
 * resilience (resilience4j/hystrix), testing (testcontainers/archunit/jmockit).
 */
export async function detectJavaAppLibraries(projectPath) {
    return detectJavaLibraries(projectPath);
}
/**
 * Detect key PHP Composer packages in a project.
 * Reads composer.json (require + require-dev).
 * Groups: HTTP (guzzle/symfony-http-client), QA (phpstan/psalm/phpcs),
 * util (spatie packages).
 */
export async function detectPhpAppLibraries(projectPath) {
    return detectPhpLibraries(projectPath);
}
/**
 * Detect key Ruby gems in a project.
 * Reads Gemfile for gem declarations.
 * Groups: background (sidekiq/resque/delayed_job), auth (devise/pundit/cancancan),
 * types (sorbet/tapioca), QA (rubocop/rubocop-rails).
 */
export async function detectRubyLibraries(projectPath) {
    return detectRubyGems(projectPath);
}
/**
 * Detect key .NET NuGet packages in a project.
 * Reads *.csproj files or packages.config.
 * Groups: CQRS (MediatR/Wolverine), mapping (AutoMapper/Mapster),
 * validation (FluentValidation), DB (Dapper/EF Core/Npgsql),
 * resilience (Polly/Refit).
 */
export async function detectDotNetLibraries(projectPath) {
    return detectDotNetPackages(projectPath);
}
//# sourceMappingURL=library-detector-mainstream.js.map