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} 診断(コンパクトモード)`,
    full: `${ICONES_DIAGNOSTICO.inicio} 完全診断を開始します`,
    executive: `${ICONES_DIAGNOSTICO.executive} エグゼクティブ分析(重要な項目のみ)`,
    quick: `${ICONES_DIAGNOSTICO.rapido} クイック分析`
};
export const MENSAGENS_PROGRESSO = {
    varredura: (total) => `${ICONES_DIAGNOSTICO.arquivos} ${total}件のファイルをスキャン中...`,
    analise: (atual, total) => `${ICONES_DIAGNOSTICO.analise} 分析中: ${atual}/${total}`,
    arquetipos: `${ICONES_DIAGNOSTICO.arquetipos} プロジェクト構造を検出中...`,
    guardian: `${ICONES_DIAGNOSTICO.guardian} 整合性を確認中...`,
    autoFix: (modo) => `${ICONES_DIAGNOSTICO.autoFix} 修正を適用中(モード: ${modo})...`,
    export: (formato) => `${ICONES_DIAGNOSTICO.export} レポートをエクスポート中(${formato})...`
};
export const MENSAGENS_CONCLUSAO = {
    sucesso: (ocorrencias) => `${ICONES_DIAGNOSTICO.sucesso} 診断完了: ${ocorrencias}件の発生箇所が見つかりました`,
    semProblemas: `${ICONES_DIAGNOSTICO.sucesso} 問題は見つかりませんでした!コードは良好な状態です。`,
    exportado: (caminho) => `${ICONES_DIAGNOSTICO.export} レポートを保存しました: ${caminho}`
};
export const MENSAGENS_ERRO = {
    falhaAnalise: (erro) => `${ICONES_DIAGNOSTICO.erro} 分析に失敗しました: ${erro}`,
    falhaExport: (erro) => `${ICONES_DIAGNOSTICO.erro} エクスポートに失敗しました: ${erro}`,
    falhaGuardian: (erro) => `${ICONES_DIAGNOSTICO.erro} Guardianに失敗しました: ${erro}`,
    falhaAutoFix: (erro) => `${ICONES_DIAGNOSTICO.erro} 自動修正に失敗しました: ${erro}`,
    flagsInvalidas: (erros) => `${ICONES_DIAGNOSTICO.erro} 無効なフラグ:\n${erros.map(erro => `  • ${erro}`).join('\n')}`
};
export const MENSAGENS_AVISO = {
    modoFast: `${ICONES_DIAGNOSTICO.info} ファストモードが有効(TUTANUS_TEST_FAST=1)`,
    semMutateFS: `${ICONES_DIAGNOSTICO.aviso} 自動修正は無効です。`,
    guardianDesabilitado: `${ICONES_DIAGNOSTICO.info} guardianは実行されませんでした`,
    arquetiposTimeout: `${ICONES_DIAGNOSTICO.aviso} アーキタイプの検出がタイムアウトしました`
};
export const MENSAGENS_FILTROS = {
    titulo: 'アクティブなフィルター',
    include: (patterns) => `Include: ${patterns.length > 0 ? patterns.join(', ') : 'なし'}`,
    exclude: (patterns) => `Exclude: ${patterns.length > 0 ? patterns.join(', ') : 'デフォルトパターン'}`,
    nodeModules: (incluido) => `node_modules: ${incluido ? `${ICONES_DIAGNOSTICO.sucesso} 含む` : `${ICONES_DIAGNOSTICO.aviso} 除外(デフォルト)`}`
};
export const MENSAGENS_ESTATISTICAS = {
    titulo: '分析統計',
    arquivos: (total) => `分析済みファイル数: ${total}`,
    ocorrencias: (total) => `発見された発生箇所: ${total}`,
    porTipo: (tipo, count) => `  • ${tipo}: ${count}`,
    duracao: (ms) => {
        if (ms < 1000)
            return `所要時間: ${ms}ms`;
        if (ms < 60000)
            return `所要時間: ${(ms / 1000).toFixed(1)}秒`;
        const min = Math.floor(ms / 60000);
        const seg = Math.floor(ms % 60000 / 1000);
        return `所要時間: ${min}分 ${seg}秒`;
    }
};
export const MENSAGENS_GUARDIAN = {
    iniciando: `${ICONES_DIAGNOSTICO.guardian} Guardianの確認を開始中...`,
    baseline: '既存のベースラインを使用します',
    fullScan: 'フルスキャン有効(ignoreを無視)',
    saveBaseline: '新しいベースラインを保存中...',
    status: {
        verde: `${ICONES_DIAGNOSTICO.sucesso} Guardian: ステータス緑(整合性正常)`,
        amarelo: `${ICONES_DIAGNOSTICO.aviso} Guardian: ステータス黄(注意が必要)`,
        vermelho: `${ICONES_DIAGNOSTICO.erro} Guardian: ステータス赤(重要な問題)`
    },
    drift: (count) => `ドリフト検出: ベースラインから${count}件の変更あり`
};
export const MENSAGENS_ARQUETIPOS = {
    detectando: `${ICONES_DIAGNOSTICO.arquetipos} プロジェクト構造を検出中...`,
    identificado: (tipo, confianca) => `アーキタイプを識別しました: ${tipo}(信頼度${confianca}%)`,
    multiplos: (count) => `${count}件の候補アーキタイプが見つかりました`,
    salvando: `カスタムアーキタイプを保存中...`,
    salvo: (caminho) => `${ICONES_DIAGNOSTICO.sucesso} アーキタイプを保存しました: ${caminho}`
};
export const MODELOS_BLOCO = {
    sugestoes: {
        titulo: 'クイック提案',
        formatarFlag: (flag, descricao) => `${flag}: ${descricao}`,
        formatarDica: (dica) => `${ICONES_DIAGNOSTICO.dica} ${dica}`
    },
    resumo: {
        titulo: '診断サマリー',
        secoes: {
            filtros: '適用されたフィルター',
            estatisticas: '統計',
            arquetipos: 'プロジェクト構造',
            guardian: '整合性(Guardian)',
            autoFix: '自動修正'
        }
    }
};
export function formatarBlocoSugestoes(flagsAtivas, dicas) {
    const linhas = [];
    linhas.push('');
    linhas.push(`┌── ${MODELOS_BLOCO.sugestoes.titulo} ─────────────────────────────────────────`);
    if (flagsAtivas.length > 0) {
        linhas.push(`アクティブなフラグ: ${flagsAtivas.join(' ')}`);
    }
    else {
        linhas.push('特別なフラグは検出されませんでした');
    }
    if (dicas.length > 0) {
        linhas.push('');
        linhas.push('有用な情報:');
        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('  種類別:');
        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} 構造化JSON出力${ascii ? '(ASCIIエスケープ)' : ''}が有効です`;
}
export const CABECALHOS = {
    analistas: {
        tituloFast: `${ICONES_DIAGNOSTICO.info} 登録済みアナリスト(FAST MODE)`,
        titulo: `${ICONES_DIAGNOSTICO.info} 登録済みアナリスト`,
        mdTitulo: '# 登録済みアナリスト'
    },
    diagnostico: {
        flagsAtivas: 'アクティブなフラグ:',
        informacoesUteis: '有用な情報:'
    },
    reestruturar: {
        prioridadeDomainsFlat: `${ICONES_DIAGNOSTICO.aviso} --domains と --flat が指定されました。--domains を優先します。`,
        planoVazioFast: `${ICONES_DIAGNOSTICO.info} 空のプラン: 提案された移動はありません。(FAST MODE)`,
        nenhumNecessarioFast: `${ICONES_DIAGNOSTICO.sucesso} 構造修正は不要です。(FAST MODE)`,
        conflitosDetectadosFast: (count) => `${ICONES_DIAGNOSTICO.aviso} 競合検出: ${count}件(FAST MODE)`
    }
};
//# sourceMappingURL=diagnostic-messages.js.map