import { buildTypesRelPathPosix, getTypesDirectoryDisplay } from '../../../../core/config/conventions.js';
import { ICONES } from '../../shared/icons.js';
export const MENSAGENS_CORRECAO_TIPOS = {
    fixAny: {
        title: 'Replace any with safe types',
        get description() { return `Analyzes use of any and infers/creates correct types in ${getTypesDirectoryDisplay()}`; }
    },
    fixUnknown: {
        title: 'Replace unknown with specific types',
        description: 'Detects type guard patterns and creates dedicated types'
    },
    validacao: {
        falha: (erros) => `Validation failed: ${erros.join(', ')}`,
        revisar: 'Review manually'
    },
    warnings: {
        confiancaBaixa: (confianca) => `Unsafe type (any) with very low confidence (${confianca}%) for automatic fix`,
        confiancaMedia: (confianca, tipoSugerido) => `Unsafe type detected. Suggestion: ${tipoSugerido} (confidence: ${confianca}%)`,
        unknownApropriado: 'unknown is appropriate here (generic input or low confidence)',
        useTiposCentralizados: () => `Use centralized types in dedicated directory (${getTypesDirectoryDisplay()})`,
        criarTipoDedicado: (caminho) => `Consider creating a dedicated type in ${buildTypesRelPathPosix(caminho)}`,
        adicioneTypeGuards: () => `If possible, add type guards or create a dedicated type in ${getTypesDirectoryDisplay()}`
    },
    erros: {
        extrairNome: 'Could not extract variable name',
        variavelNaoUsada: 'Unused variable - impossible to infer type',
        analise: (erro) => `Analysis error: ${erro}`
    }
};
export const MENSAGENS_AUTOFIX = {
    iniciando: (modo) => `${ICONES.acao.correcao} Starting auto-fix (mode: ${modo})`,
    dryRun: `${ICONES.feedback.info} Dry-run: simulating fixes (no changes will be applied)`,
    aplicando: (count) => `Applying ${count} fix${count !== 1 ? 'es' : ''}...`,
    concluido: (aplicadas, falhas) => `${ICONES.nivel.sucesso} Auto-fix completed: ${aplicadas} applied, ${falhas} failed`,
    naoDisponivel: `${ICONES.feedback.info} No automatic fix available`,
    flags: {
        fixSafe: `${ICONES.comando.guardian} Flag --fix-safe detected: enabling conservative mode`,
        requireMutateFS: `${ICONES.status.falha} Auto-fix unavailable at this time.`
    },
    logs: {
        modoConservador: `${ICONES.comando.guardian} Conservative mode activated - applying only high-confidence fixes`,
        validacaoEslint: `${ICONES.acao.analise} Running ESLint validation post-auto-fix...`,
        arquivoMovido: (origem, destino) => `${ICONES.status.ok} Moved: ${origem} → ${destino}`,
        arquivoRevertido: (origem, destino) => `[BACK] File reverted: ${destino} → ${origem}`,
        arquivoRevertidoConteudo: (origem, destino) => `[BACK] File reverted with original content: ${destino} → ${origem}`
    },
    resultados: {
        sucesso: (count) => `${ICONES.status.ok} ${count} file(s) fixed`,
        falhas: (count) => `${ICONES.status.falha} ${count} file(s) with error`,
        erroArquivo: (arquivo, erro) => `${ICONES.status.falha} ${arquivo}: ${erro}`
    },
    dicas: {
        executarLint: `${ICONES.feedback.dica} Run \`npm run lint\` to verify the fixes`,
        executarBuild: `${ICONES.feedback.dica} Run \`npm run build\` to verify the code compiles`,
        removerDryRun: `${ICONES.feedback.dica} Remove --dry-run to apply fixes automatically`,
        ajustarConfianca: `${ICONES.feedback.dica} Use --confidence <num> to adjust the threshold (current: 85%)`
    }
};
export const MENSAGENS_RELATORIOS_ANALISE = {
    asyncPatterns: {
        titulo: `${ICONES.relatorio.resumo} Async/Await Patterns Analysis`,
        padroes: `\n${ICONES.relatorio.resumo} Code Usage Patterns:`,
        recomendacoes: `\n${ICONES.feedback.dica} Fix Recommendations:\n`,
        critico: `${ICONES.nivel.erro} CRITICAL (Review Immediately):`,
        alto: `\n${ICONES.feedback.atencao} HIGH (Review in Current Sprint):`,
        salvo: (caminho) => `${ICONES.nivel.sucesso} Async report saved at: ${caminho}`
    },
    fixTypes: {
        analiseSalva: `${ICONES.arquivo.json} Detailed analysis saved at: .tutanus/fix-types-analise.json`,
        possibilidades: `└─ ${ICONES.acao.analise} Alternative possibilities:`,
        sugestao: (texto) => `└─ ${ICONES.feedback.dica} ${texto}`,
        exportado: `${ICONES.arquivo.doc} Fix-types reports exported:`
    },
    guardian: {
        baselineAceito: `${ICONES.status.ok} Guardian: baseline manually accepted (--aceitar).`,
        exportado: `${ICONES.arquivo.doc} Guardian reports exported:`
    }
};
export const MENSAGENS_ARQUETIPOS_HANDLER = {
    timeout: `${ICONES.feedback.atencao} Archetype detection expired (timeout)`,
    salvo: (caminho) => `${ICONES.status.ok} Custom archetype saved at ${caminho}`,
    falha: `${ICONES.feedback.atencao} Failed to generate plan via archetypes.`,
    falhaEstrategista: `${ICONES.feedback.atencao} Strategist failed to suggest plan.`,
    falhaGeral: `${ICONES.feedback.atencao} General planning failure.`
};
export const MENSAGENS_PLUGINS = {
    registrado: (nome, extensoes) => `${ICONES.status.ok} Plugin ${nome} registered with extensions: ${extensoes.join(', ')}`,
    configAtualizada: `${ICONES.acao.correcao} Registry configuration updated`,
    erroParsear: (linguagem, erro) => `${ICONES.feedback.atencao} Error parsing ${linguagem}: ${erro}`
};
export const MENSAGENS_EXECUTOR = {
    analiseCompleta: (tecnica, arquivo, duracao) => `${ICONES.arquivo.arquivo} '${tecnica}' analyzed ${arquivo} in ${duracao}`
};
export const MENSAGENS_CORRECOES = {
    fixTypes: MENSAGENS_CORRECAO_TIPOS,
    autofix: MENSAGENS_AUTOFIX,
    relatorios: MENSAGENS_RELATORIOS_ANALISE,
    arquetipos: MENSAGENS_ARQUETIPOS_HANDLER,
    plugins: MENSAGENS_PLUGINS,
    executor: MENSAGENS_EXECUTOR
};
//# sourceMappingURL=correcoes-messages.js.map