import { ICONES_ACAO, ICONES_STATUS, ICONES_ZELADOR as ICONES_ZELADOR_CENTRAL } from '../../shared/icons.js';
const ICONES_ZELADOR = {
    ...ICONES_ZELADOR_CENTRAL
};
export const MENSAGENS_IMPORTS = {
    titulo: `${ICONES_ACAO.correcao} 导入管理员 - 开始修复...`,
    resumo: `${ICONES_ZELADOR.resumo} 摘要:`,
    dryRunAviso: `${ICONES_ZELADOR.dryRun} Dry-run 模式: 未修改任何文件`,
    sucessoFinal: `${ICONES_STATUS.ok} 修复已成功应用!`
};
export const PROGRESSO_IMPORTS = {
    diretorioNaoEncontrado: (dir) => `${ICONES_ZELADOR.aviso} 未找到目录: ${dir}`,
    arquivoProcessado: (arquivo, count) => `${ICONES_ZELADOR.sucesso} ${arquivo} (${count} 个修复)`,
    arquivoErro: (arquivo, erro) => `${ICONES_ZELADOR.erro} ${arquivo}: ${erro}`,
    lendoDiretorio: (dir) => `正在读取目录: ${dir}`
};
export const ERROS_IMPORTS = {
    lerDiretorio: (dir, error) => {
        const mensagem = error instanceof Error ? error.message : String(error);
        return `读取目录 ${dir} 时出错: ${mensagem}`;
    },
    processar: (arquivo, error) => {
        const mensagem = error instanceof Error ? error.message : String(error);
        return `处理 ${arquivo} 时出错: ${mensagem}`;
    }
};
export function formatarEstatistica(label, valor, icone) {
    const prefixo = icone ? `${icone} ` : '   ';
    return `${prefixo}${label}: ${valor}`;
}
export function gerarResumoImports(stats) {
    const linhas = ['', MENSAGENS_IMPORTS.resumo, formatarEstatistica('已处理文件', stats.processados), formatarEstatistica('已修改文件', stats.modificados), formatarEstatistica('修复总计', stats.totalCorrecoes)];
    if (stats.erros > 0) {
        linhas.push(formatarEstatistica('错误', stats.erros, ICONES_ZELADOR.aviso));
    }
    linhas.push('');
    if (stats.dryRun) {
        linhas.push(MENSAGENS_IMPORTS.dryRunAviso);
    }
    else {
        linhas.push(MENSAGENS_IMPORTS.sucessoFinal);
    }
    return linhas;
}
export const MENSAGENS_IMPORTS_SCAN = {
    titulo: `${ICONES_ACAO.correcao} 导入管理员 - 扫描 barrels...`,
    buscandoBarrels: '正在项目中扫描 barrels (index.ts)...',
    barrelsEncontrados: (count) => `找到 ${count} 个 barrel`,
    analisandoTsconfig: '正在分析 tsconfig.json...',
    pathsAtuais: (count) => `tsconfig 中有 ${count} 个当前路径`,
    planoAlias: '建议的别名方案:',
    aliasAtual: '当前别名',
    aliasProposto: '建议的别名',
    aliasNovo: '新别名',
    aliasRemovido: '已移除的别名',
    manterAlias: '保留的别名',
    confirmarAtualizacao: '是否使用新别名更新 tsconfig.json?',
    tsconfigAtualizado: 'tsconfig.json 更新成功!',
    tsconfigNaoModificado: 'tsconfig.json 未被修改。',
    aliasesLimpos: (count) => `已配置 ${count} 个简洁别名`
};
export const MENSAGENS_IMPORTS_APPLY = {
    titulo: `${ICONES_ACAO.correcao} 导入管理员 - 应用别名...`,
    lendoTsconfig: '正在从 tsconfig.json 读取别名...',
    varrendoArquivos: '正在扫描项目文件...',
    reescrevendoImports: '正在重写导入...',
    arquivosProcessados: (count) => `已处理 ${count} 个文件`,
    arquivosModificados: (count) => `已修改 ${count} 个文件`,
    importsReescritos: (count) => `已重写 ${count} 个导入`,
    aplicacaoConcluida: '别名应用成功!',
    errosEncontrados: (count) => `发现 ${count} 个错误`,
    nenhumImportParaReescrever: '没有需要重写的导入。'
};
export const MENSAGENS_TIPOS = {
    titulo: `${ICONES_ACAO.correcao} 类型管理员 - 开始修复...`,
    analisandoTipo: (tipo) => `正在分析类型: ${tipo}`,
    tipoCorrigido: (antes, depois) => `已修复: ${antes} → ${depois}`
};
export const MENSAGENS_ESTRUTURA = {
    titulo: `${ICONES_ACAO.organizacao} 结构管理员 - 正在重新组织文件...`,
    movendo: (origem, destino) => `正在移动: ${origem} → ${destino}`,
    criandoDiretorio: (dir) => `正在创建目录: ${dir}`
};
export const MENSAGENS_ZELADOR_GERAL = {
    iniciando: (zelador) => `${ICONES_ZELADOR.inicio} ${zelador} - 正在启动...`,
    concluido: (zelador) => `${ICONES_ZELADOR.sucesso} ${zelador} - 已完成!`,
    erro: (zelador, mensagem) => `${ICONES_ZELADOR.erro} ${zelador} - 错误: ${mensagem}`
};
export const MODELOS_SAIDA = {
    compacto: {
        inicio: (nome) => `${ICONES_ZELADOR.inicio} ${nome}`,
        progresso: (atual, total) => `[${atual}/${total}]`,
        fim: (sucesso) => sucesso ? ICONES_ZELADOR.sucesso : ICONES_ZELADOR.erro
    },
    detalhado: {
        inicio: (nome, descricao) => `${ICONES_ZELADOR.inicio} ${nome}\n   ${descricao}`,
        progresso: (arquivo, atual, total) => `   [${atual}/${total}] ${arquivo}`,
        fim: (stats) => `\n${ICONES_ZELADOR.resumo} 成功: ${stats.sucesso}, 失败: ${stats.falha}`
    }
};
export const SAIDA_CODIGOS = {
    SUCESSO: 0,
    ERRO_GERAL: 1,
    ERRO_ARQUIVO: 2,
    ERRO_PERMISSAO: 3,
    CANCELADO_USUARIO: 4
};
export function formatarListaArquivos(arquivos, maxExibir = 10) {
    const linhas = [];
    const mostrar = arquivos.slice(0, maxExibir);
    for (const arquivo of mostrar) {
        linhas.push(`   ${ICONES_ZELADOR.arquivo} ${arquivo}`);
    }
    const restantes = arquivos.length - maxExibir;
    if (restantes > 0) {
        linhas.push(`   ... 还有 ${restantes} 个文件`);
    }
    return linhas;
}
export function formatarDuracao(ms) {
    if (ms < 1000) {
        return `${ms}ms`;
    }
    if (ms < 60000) {
        return `${(ms / 1000).toFixed(1)}s`;
    }
    const minutos = Math.floor(ms / 60000);
    const segundos = Math.floor(ms % 60000 / 1000);
    return `${minutos}分 ${segundos}秒`;
}
export function formatarComTimestamp(mensagem) {
    const timestamp = new Date().toISOString().substring(11, 19);
    return `[${timestamp}] ${mensagem}`;
}
//# sourceMappingURL=caretaker-messages.js.map