const ICONES_DIAGNOSTICO = {
    inicio: '[SCAN]',
    progresso: '[...]',
    arquivos: '[DIR]',
    analise: '[SCAN]',
    arquetipos: '[ARQ]',
    guardian: '[GUARD]',
    autoFix: '[FIX]',
    export: '[EXP]',
    sucesso: '[OK]',
    aviso: '[WARN]',
    erro: '[ERR]',
    info: '[i]',
    dica: '[TIP]',
    executive: '[STATS]',
    rapido: '[FAST]'
};
export const MENSAGENS_INICIO = {
    compact: `${ICONES_DIAGNOSTICO.inicio} Diagnosis (compact mode)`,
    full: `${ICONES_DIAGNOSTICO.inicio} Starting full diagnosis`,
    executive: `${ICONES_DIAGNOSTICO.executive} Executive analysis (criticals only)`,
    quick: `${ICONES_DIAGNOSTICO.rapido} Quick analysis`
};
export const MENSAGENS_PROGRESSO = {
    varredura: (total) => `${ICONES_DIAGNOSTICO.arquivos} Scanning ${total} file${total !== 1 ? 's' : ''}...`,
    analise: (atual, total) => `${ICONES_DIAGNOSTICO.analise} Analyzing: ${atual}/${total}`,
    arquetipos: `${ICONES_DIAGNOSTICO.arquetipos} Detecting project structure...`,
    guardian: `${ICONES_DIAGNOSTICO.guardian} Checking integrity...`,
    autoFix: (modo) => `${ICONES_DIAGNOSTICO.autoFix} Applying fixes (mode: ${modo})...`,
    export: (formato) => `${ICONES_DIAGNOSTICO.export} Exporting report (${formato})...`
};
export const MENSAGENS_CONCLUSAO = {
    sucesso: (ocorrencias) => `${ICONES_DIAGNOSTICO.sucesso} Diagnosis completed: ${ocorrencias} occurrence${ocorrencias !== 1 ? 's' : ''} found`,
    semProblemas: `${ICONES_DIAGNOSTICO.sucesso} No problems found! Code is in great shape.`,
    exportado: (caminho) => `${ICONES_DIAGNOSTICO.export} Report saved at: ${caminho}`
};
export const MENSAGENS_ERRO = {
    falhaAnalise: (erro) => `${ICONES_DIAGNOSTICO.erro} Analysis failed: ${erro}`,
    falhaExport: (erro) => `${ICONES_DIAGNOSTICO.erro} Export failed: ${erro}`,
    falhaGuardian: (erro) => `${ICONES_DIAGNOSTICO.erro} Guardian failed: ${erro}`,
    falhaAutoFix: (erro) => `${ICONES_DIAGNOSTICO.erro} Auto-fix failed: ${erro}`,
    flagsInvalidas: (erros) => `${ICONES_DIAGNOSTICO.erro} Invalid flags:\n${erros.map(erro => `  • ${erro}`).join('\n')}`
};
export const MENSAGENS_AVISO = {
    modoFast: `${ICONES_DIAGNOSTICO.info} Fast mode active (TUTANUS_TEST_FAST=1)`,
    semMutateFS: `${ICONES_DIAGNOSTICO.aviso} Auto-fix disabled.`,
    guardianDesabilitado: `${ICONES_DIAGNOSTICO.info} Guardian not run`,
    arquetiposTimeout: `${ICONES_DIAGNOSTICO.aviso} Archetype detection expired (timeout)`
};
export const MENSAGENS_FILTROS = {
    titulo: 'Active Filters',
    include: (patterns) => `Include: ${patterns.length > 0 ? patterns.join(', ') : 'none'}`,
    exclude: (patterns) => `Exclude: ${patterns.length > 0 ? patterns.join(', ') : 'default patterns'}`,
    nodeModules: (incluido) => `node_modules: ${incluido ? `${ICONES_DIAGNOSTICO.sucesso} included` : `${ICONES_DIAGNOSTICO.aviso} ignored (default)`}`
};
export const MENSAGENS_ESTATISTICAS = {
    titulo: 'Analysis Statistics',
    arquivos: (total) => `Files analyzed: ${total}`,
    ocorrencias: (total) => `Occurrences found: ${total}`,
    porTipo: (tipo, count) => `  • ${tipo}: ${count}`,
    duracao: (ms) => {
        if (ms < 1000)
            return `Duration: ${ms}ms`;
        if (ms < 60000)
            return `Duration: ${(ms / 1000).toFixed(1)}s`;
        const min = Math.floor(ms / 60000);
        const seg = Math.floor(ms % 60000 / 1000);
        return `Duration: ${min}m ${seg}s`;
    }
};
export const MENSAGENS_GUARDIAN = {
    iniciando: `${ICONES_DIAGNOSTICO.guardian} Starting Guardian verification...`,
    baseline: 'Using existing baseline',
    fullScan: 'Full scan active (ignoring ignores)',
    saveBaseline: 'Saving new baseline...',
    status: {
        verde: `${ICONES_DIAGNOSTICO.sucesso} Guardian: Status GREEN (integrity OK)`,
        amarelo: `${ICONES_DIAGNOSTICO.aviso} Guardian: Status YELLOW (attention needed)`,
        vermelho: `${ICONES_DIAGNOSTICO.erro} Guardian: Status RED (critical problems)`
    },
    drift: (count) => `Drift detected: ${count} change${count !== 1 ? 's' : ''} from baseline`
};
export const MENSAGENS_ARQUETIPOS = {
    detectando: `${ICONES_DIAGNOSTICO.arquetipos} Detecting project structure...`,
    identificado: (tipo, confianca) => `Archetype identified: ${tipo} (${confianca}% confidence)`,
    multiplos: (count) => `${count} candidate archetype${count !== 1 ? 's' : ''} found`,
    salvando: `Saving custom archetype...`,
    salvo: (caminho) => `${ICONES_DIAGNOSTICO.sucesso} Archetype saved at: ${caminho}`
};
export const MODELOS_BLOCO = {
    sugestoes: {
        titulo: 'Quick Suggestions',
        formatarFlag: (flag, descricao) => `${flag}: ${descricao}`,
        formatarDica: (dica) => `${ICONES_DIAGNOSTICO.dica} ${dica}`
    },
    resumo: {
        titulo: 'Diagnosis Summary',
        secoes: {
            filtros: 'Applied Filters',
            estatisticas: 'Statistics',
            arquetipos: 'Project Structure',
            guardian: 'Integrity (Guardian)',
            autoFix: 'Automatic Fixes'
        }
    }
};
export function formatarBlocoSugestoes(flagsAtivas, dicas) {
    const linhas = [];
    linhas.push('');
    linhas.push(`┌── ${MODELOS_BLOCO.sugestoes.titulo} ─────────────────────────────────────────`);
    if (flagsAtivas.length > 0) {
        linhas.push(`Active flags: ${flagsAtivas.join(' ')}`);
    }
    else {
        linhas.push('No special flags detected');
    }
    if (dicas.length > 0) {
        linhas.push('');
        linhas.push('Useful information:');
        for (const dica of dicas) {
            linhas.push(`  ${dica}`);
        }
    }
    linhas.push('└───────────────────────────────────────────────────────────────');
    linhas.push('');
    return linhas;
}
export function formatarResumoStats(stats) {
    const linhas = [];
    linhas.push('');
    linhas.push(`┌── ${MODELOS_BLOCO.resumo.secoes.estatisticas} ─────────────────────────────────────────`);
    linhas.push(`  ${MENSAGENS_ESTATISTICAS.arquivos(stats.arquivos)}`);
    linhas.push(`  ${MENSAGENS_ESTATISTICAS.ocorrencias(stats.ocorrencias)}`);
    if (stats.porTipo && Object.keys(stats.porTipo).length > 0) {
        linhas.push('');
        linhas.push('  By type:');
        for (const [tipo, count] of Object.entries(stats.porTipo)) {
            linhas.push(`    ${MENSAGENS_ESTATISTICAS.porTipo(tipo, count)}`);
        }
    }
    linhas.push('');
    linhas.push(`  ${MENSAGENS_ESTATISTICAS.duracao(stats.duracao)}`);
    linhas.push('└───────────────────────────────────────────────────────────────');
    linhas.push('');
    return linhas;
}
export function formatarModoJson(ascii) {
    return `${ICONES_DIAGNOSTICO.info} Structured JSON output${ascii ? ' (ASCII escape)' : ''} enabled`;
}
export const CABECALHOS = {
    analistas: {
        tituloFast: `${ICONES_DIAGNOSTICO.info} Registered analysts (FAST MODE)`,
        titulo: `${ICONES_DIAGNOSTICO.info} Registered analysts`,
        mdTitulo: '# Registered Analysts'
    },
    diagnostico: {
        flagsAtivas: 'Active flags:',
        informacoesUteis: 'Useful information:'
    },
    reestruturar: {
        prioridadeDomainsFlat: `${ICONES_DIAGNOSTICO.aviso} --domains and --flat provided. Prioritizing --domains.`,
        planoVazioFast: `${ICONES_DIAGNOSTICO.info} Empty plan: no movements suggested. (FAST MODE)`,
        nenhumNecessarioFast: `${ICONES_DIAGNOSTICO.sucesso} No structural corrections needed. (FAST MODE)`,
        conflitosDetectadosFast: (count) => `${ICONES_DIAGNOSTICO.aviso} Conflicts detected: ${count} (FAST MODE)`
    }
};
//# sourceMappingURL=diagnostic-messages.js.map