import { getMessages } from '../core/messages/index.js';
import { salvarEstado } from '../shared/persistence/index.js';
const { RelatorioMensagens } = getMessages();
export async function gerarRelatorioPodaMarkdown(caminho, podados, mantidos, opcoes) {
    const dataISO = new Date().toISOString();
    const totalPodados = podados.length;
    const totalMantidos = mantidos.length;
    const simulado = opcoes?.simulado;
    let md = `# ${RelatorioMensagens.poda.titulo}\n\n`;
    md += `**${RelatorioMensagens.poda.secoes.metadados.data}:** ${dataISO}  \n`;
    md += `**${RelatorioMensagens.poda.secoes.metadados.execucao}:** ${simulado ? RelatorioMensagens.poda.secoes.metadados.simulacao : RelatorioMensagens.poda.secoes.metadados.real}  \n`;
    md += `**${RelatorioMensagens.poda.secoes.metadados.arquivosPodados}:** ${totalPodados}  \n`;
    md += `**${RelatorioMensagens.poda.secoes.metadados.arquivosMantidos}:** ${totalMantidos}  \n`;
    md += `\n---\n`;
    md += `## ${RelatorioMensagens.poda.secoes.podados.titulo}\n`;
    if (totalPodados === 0) {
        md += `${RelatorioMensagens.poda.secoes.podados.vazio}\n`;
    }
    else {
        const cols = RelatorioMensagens.poda.secoes.podados.colunas;
        md += `| ${cols.arquivo} | ${cols.motivo} | ${cols.diasInativo} | ${cols.detectadoEm} |\n`;
        md += '|---|---|---|---|\n';
        for (const caminho of podados) {
            const pendenciaObj = caminho;
            const diasInativo = typeof pendenciaObj.diasInativo === 'number' ? String(pendenciaObj.diasInativo) : '-';
            md += `| ${caminho.arquivo} | ${caminho.motivo} | ${diasInativo} | ${caminho.detectedAt ? new Date(caminho.detectedAt).toISOString().slice(0, 10) : '-'} |\n`;
        }
    }
    md += '\n---\n';
    md += `## ${RelatorioMensagens.poda.secoes.mantidos.titulo}\n`;
    if (totalMantidos === 0) {
        md += `${RelatorioMensagens.poda.secoes.mantidos.vazio}\n`;
    }
    else {
        const cols = RelatorioMensagens.poda.secoes.mantidos.colunas;
        md += `| ${cols.arquivo} | ${cols.motivo} |\n`;
        md += '|---|---|\n';
        for (const caminho of mantidos) {
            md += `| ${caminho.arquivo} | ${caminho.motivo} |\n`;
        }
    }
    await salvarEstado(caminho, md);
}
export async function gerarRelatorioPodaJson(caminho, podados, mantidos) {
    const json = {
        podados: podados.map(caminho => {
            const pendenciaObj = caminho;
            return {
                arquivo: caminho.arquivo,
                motivo: caminho.motivo,
                diasInativo: typeof pendenciaObj.diasInativo === 'number' ? pendenciaObj.diasInativo : undefined
            };
        }),
        mantidos: mantidos.map(caminho => ({
            arquivo: caminho.arquivo,
            motivo: caminho.motivo
        })),
        totalPodados: podados.length,
        totalMantidos: mantidos.length,
        timestamp: Date.now()
    };
    await salvarEstado(caminho, json);
}
//# sourceMappingURL=report-pruning.js.map