import { buildTypesRelPathPosix, getTypesDirectoryDisplay } from '../../../../core/config/conventions.js';
import { ICONES } from '../../shared/icons.js';
export const MENSAGENS_CORRECAO_TIPOS = {
    fixAny: {
        title: 'anyを安全な型に置き換える',
        get description() { return `anyの使用状況を解析し、${getTypesDirectoryDisplay()} で正しい型を推論・作成します`; }
    },
    fixUnknown: {
        title: 'unknownを特定の型に置き換える',
        description: '型ガードパターンを検出し、専用型を作成します'
    },
    validacao: {
        falha: (erros) => `バリデーションに失敗しました: ${erros.join(', ')}`,
        revisar: '手動で確認してください'
    },
    warnings: {
        confiancaBaixa: (confianca) => `安全でない型(any)の信頼度が非常に低いため(${confianca}%)、自動修正できません`,
        confiancaMedia: (confianca, tipoSugerido) => `安全でない型を検出しました。提案: ${tipoSugerido}(信頼度: ${confianca}%)`,
        unknownApropriado: 'ここではunknownが適切です(汎用入力または信頼度が低い)',
        useTiposCentralizados: () => `専用ディレクトリ(${getTypesDirectoryDisplay()})で一元化された型を使用してください`,
        criarTipoDedicado: (caminho) => `${buildTypesRelPathPosix(caminho)} に専用型の作成を検討してください`,
        adicioneTypeGuards: () => `可能であれば、型ガードを追加するか、${getTypesDirectoryDisplay()} で専用型を作成してください`
    },
    erros: {
        extrairNome: '変数名を抽出できませんでした',
        variavelNaoUsada: '未使用の変数 - 型の推論不可',
        analise: (erro) => `解析エラー: ${erro}`
    }
};
export const MENSAGENS_AUTOFIX = {
    iniciando: (modo) => `${ICONES.acao.correcao} 自動修正を開始します(モード: ${modo})`,
    dryRun: `${ICONES.feedback.info} ドライラン: 修正をシミュレーション中(変更は適用されません)`,
    aplicando: (count) => `${count}件の修正を適用中${count !== 1 ? '' : ''}...`,
    concluido: (aplicadas, falhas) => `${ICONES.nivel.sucesso} 自動修正完了: ${aplicadas}件適用済み、${falhas}件失敗`,
    naoDisponivel: `${ICONES.feedback.info} 利用可能な自動修正はありません`,
    flags: {
        fixSafe: `${ICONES.comando.guardian} --fix-safeフラグを検出しました: 保守的モードを有効化`,
        requireMutateFS: `${ICONES.status.falha} 現在、自動修正は利用できません。`
    },
    logs: {
        modoConservador: `${ICONES.comando.guardian} 保守的モードが有効 - 高信頼度の修正のみを適用します`,
        validacaoEslint: `${ICONES.acao.analise} 自動修正後のESLintバリデーションを実行中...`,
        arquivoMovido: (origem, destino) => `${ICONES.status.ok} 移動完了: ${origem} → ${destino}`,
        arquivoRevertido: (origem, destino) => `[BACK] ファイルを復元しました: ${destino} → ${origem}`,
        arquivoRevertidoConteudo: (origem, destino) => `[BACK] 元のコンテンツでファイルを復元しました: ${destino} → ${origem}`
    },
    resultados: {
        sucesso: (count) => `${ICONES.status.ok} ${count}件のファイルが修正されました`,
        falhas: (count) => `${ICONES.status.falha} ${count}件のファイルでエラーが発生しました`,
        erroArquivo: (arquivo, erro) => `${ICONES.status.falha} ${arquivo}: ${erro}`
    },
    dicas: {
        executarLint: `${ICONES.feedback.dica} 修正を検証するには \`npm run lint\` を実行してください`,
        executarBuild: `${ICONES.feedback.dica} コードがコンパイルされるか確認するには \`npm run build\` を実行してください`,
        removerDryRun: `${ICONES.feedback.dica} 修正を自動的に適用するには --dry-run を削除してください`,
        ajustarConfianca: `${ICONES.feedback.dica} --confidence <数値> を使用して閾値を調整してください(現在: 85%)`
    }
};
export const MENSAGENS_RELATORIOS_ANALISE = {
    asyncPatterns: {
        titulo: `${ICONES.relatorio.resumo} Async/Await パターン分析`,
        padroes: `\n${ICONES.relatorio.resumo} コード使用パターン:`,
        recomendacoes: `\n${ICONES.feedback.dica} 修正推奨事項:\n`,
        critico: `${ICONES.nivel.erro} 重要(すぐに確認が必要):`,
        alto: `\n${ICONES.feedback.atencao} 高(現在のスプリントで確認):`,
        salvo: (caminho) => `${ICONES.nivel.sucesso} Asyncレポートを保存しました: ${caminho}`
    },
    fixTypes: {
        analiseSalva: `${ICONES.arquivo.json} 詳細分析を保存しました: .tutanus/fix-types-analise.json`,
        possibilidades: `└─ ${ICONES.acao.analise} 代替の可能性:`,
        sugestao: (texto) => `└─ ${ICONES.feedback.dica} ${texto}`,
        exportado: `${ICONES.arquivo.doc} fix-typesレポートをエクスポートしました:`
    },
    guardian: {
        baselineAceito: `${ICONES.status.ok} Guardian: ベースラインが手動で承認されました(--aceitar)。`,
        exportado: `${ICONES.arquivo.doc} Guardianレポートをエクスポートしました:`
    }
};
export const MENSAGENS_ARQUETIPOS_HANDLER = {
    timeout: `${ICONES.feedback.atencao} アーキタイプの検出がタイムアウトしました`,
    salvo: (caminho) => `${ICONES.status.ok} カスタムアーキタイプを保存しました: ${caminho}`,
    falha: `${ICONES.feedback.atencao} アーキタイプ経由でのプランの生成に失敗しました。`,
    falhaEstrategista: `${ICONES.feedback.atencao} ストラテジストがプランの提案に失敗しました。`,
    falhaGeral: `${ICONES.feedback.atencao} 全般的なプランニングに失敗しました。`
};
export const MENSAGENS_PLUGINS = {
    registrado: (nome, extensoes) => `${ICONES.status.ok} プラグイン ${nome} が登録されました。拡張機能: ${extensoes.join(', ')}`,
    configAtualizada: `${ICONES.acao.correcao} レジストリ設定が更新されました`,
    erroParsear: (linguagem, erro) => `${ICONES.feedback.atencao} ${linguagem} の解析エラー: ${erro}`
};
export const MENSAGENS_EXECUTOR = {
    analiseCompleta: (tecnica, arquivo, duracao) => `${ICONES.arquivo.arquivo} '${tecnica}' が ${arquivo} を ${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