import { analistaAzurePipelines } from '../azure-pipelines/index.js';
import { analistaCircleCI } from '../circleci/index.js';
import { analistaCss } from '../css/index.js';
import { analistaCssInJs } from '../css-in-js/index.js';
import { analistaRecomendacaoArquitetura, detectorBugsMl, detectorMonorepo } from '../detectors/index.js';
import { analistaGithubActions, analistaGithubActionsGlobal } from '../github-actions/index.js';
import { analistaGitLabCI } from '../gitlab-ci/index.js';
import { analistaGo, analistaGoBoasPraticas, analistaGoConcorrencia, analistaGoRecursos, analistaGoSeguranca, detectorConvencoes as detectorConvencoesGo, detectorErrosNaoTratados, detectorVulnerabilidades } from '../go/index.js';
import { analistaHtml } from '../html/index.js';
import { analistaJenkins } from '../jenkins/index.js';
import { analistaComandosCli, analistaFuncoesLongas, analistaPadroesUso, analistaTodoComentarios } from '../js-ts/analysts/index.js';
import { analistaConstrucoesSintaticas, analistaVazamentoMemoria, detectorInterfacesInline, detectorTiposInseguros } from '../js-ts/detectors/index.js';
import { analistaPhp } from '../php/index.js';
import { analistaDocumentacao, detectorMarkdown } from '../plugins/index.js';
import { analistaPython } from '../python/index.js';
import { analistaReact, analistaReactHooks } from '../react/index.js';
import { analistaRust, analistaRustBoasPraticas, analistaRustConcorrencia, analistaRustMemoria, analistaRustSeguranca, detectorConvencoes as detectorConvencoesRust, detectorErrosPotenciais, detectorUnsafe } from '../rust/index.js';
import { analistaShell } from '../shell/index.js';
import { analistaSql } from '../sql/index.js';
import { analistaSugestoesContextuais } from '../strategists/index.js';
import { analistaSvg } from '../svg/index.js';
import { analistaTailwind } from '../tailwind/index.js';
import { analistaXml } from '../xml/index.js';
import { comSupressaoInline } from '../../shared/helpers/index.js';
import { discoverAnalistasPlugins } from './autodiscovery.js';
let analistaCorrecaoAutomatica;
try {
    const modPontuacao = await import('../corrections/analyst-scoring.js');
    const mod = modPontuacao;
    const candidatos = [mod['analistaPontuacao'], mod['analistaQuickFixes']];
    for (const elem of candidatos) {
        if (elem && typeof elem === 'object' && 'nome' in elem && 'aplicar' in elem) {
            analistaCorrecaoAutomatica = elem;
            break;
        }
    }
}
catch {
}
const pluginsAutodiscovered = await discoverAnalistasPlugins();
export const registroAnalistas = [
    comSupressaoInline(analistaGithubActions), comSupressaoInline(analistaGithubActionsGlobal), comSupressaoInline(analistaAzurePipelines), comSupressaoInline(analistaCircleCI), comSupressaoInline(analistaGitLabCI), comSupressaoInline(analistaJenkins),
    comSupressaoInline(analistaComandosCli), comSupressaoInline(analistaFuncoesLongas), comSupressaoInline(analistaPadroesUso), comSupressaoInline(analistaTodoComentarios), comSupressaoInline(analistaConstrucoesSintaticas), comSupressaoInline(analistaVazamentoMemoria), comSupressaoInline(detectorInterfacesInline), comSupressaoInline(detectorTiposInseguros), comSupressaoInline(analistaPython), comSupressaoInline(analistaReact), comSupressaoInline(analistaReactHooks), comSupressaoInline(analistaShell), comSupressaoInline(analistaHtml), comSupressaoInline(analistaSvg), comSupressaoInline(analistaCss), comSupressaoInline(analistaXml), comSupressaoInline(analistaSql), comSupressaoInline(analistaTailwind), comSupressaoInline(analistaCssInJs), comSupressaoInline(analistaGo), comSupressaoInline(analistaGoBoasPraticas), comSupressaoInline(analistaGoConcorrencia), comSupressaoInline(analistaGoRecursos), comSupressaoInline(analistaGoSeguranca), comSupressaoInline(detectorErrosNaoTratados), comSupressaoInline(detectorVulnerabilidades), comSupressaoInline(detectorConvencoesGo), comSupressaoInline(analistaRust), comSupressaoInline(analistaRustBoasPraticas), comSupressaoInline(analistaRustConcorrencia), comSupressaoInline(analistaRustMemoria), comSupressaoInline(analistaRustSeguranca), comSupressaoInline(detectorErrosPotenciais), comSupressaoInline(detectorUnsafe), comSupressaoInline(detectorConvencoesRust), comSupressaoInline(analistaPhp),
    comSupressaoInline(detectorMonorepo), comSupressaoInline(detectorBugsMl),
    comSupressaoInline(analistaSugestoesContextuais), comSupressaoInline(analistaRecomendacaoArquitetura),
    comSupressaoInline(analistaDocumentacao), comSupressaoInline(detectorMarkdown),
    ...pluginsAutodiscovered.map(caminho => comSupressaoInline(caminho)),
    ...(analistaCorrecaoAutomatica ? [comSupressaoInline(analistaCorrecaoAutomatica)] : [])
];
export function listarAnalistas() {
    return registroAnalistas.map(arquivo => ({
        nome: arquivo.nome || 'desconhecido',
        categoria: arquivo.categoria || 'n/d',
        descricao: arquivo.descricao || ''
    }));
}
//# sourceMappingURL=registry.js.map