import { getMessages } from '../core/messages/index.js';
import { carregarRegistros, inicializarChaves, REGISTRO_VIGIA_CAMINHO_PADRAO, salvarRegistros, verificarAssinatura } from './index.js';
const { log, VigiaOcultaMensagens } = getMessages();
export async function vigiaOculta(arquivos, caminhoRegistro = REGISTRO_VIGIA_CAMINHO_PADRAO, autoReset = true) {
    const registros = await carregarRegistros(caminhoRegistro);
    const mapaAnterior = new Map(registros.map(raiz => [raiz.arquivo, raiz.assinatura]));
    const corrompidos = [];
    await inicializarChaves();
    for (const { relPath, content } of arquivos) {
        if (!relPath || typeof content !== 'string' || !content.trim())
            continue;
        const assinaturaEsperada = mapaAnterior.get(relPath);
        if (assinaturaEsperada) {
            const valido = await verificarAssinatura(content, assinaturaEsperada);
            if (!valido) {
                corrompidos.push(relPath);
            }
        }
    }
    if (corrompidos.length > 0) {
        log.aviso(VigiaOcultaMensagens.alteracoesDetectadas.replace('{total}', String(corrompidos.length)));
        for (const arq of corrompidos) {
            log.info(`  - ${arq}`);
        }
        if (autoReset) {
            await salvarRegistros(arquivos, caminhoRegistro);
            log.sucesso(VigiaOcultaMensagens.registrosRecalibrados);
        }
    }
}
//# sourceMappingURL=watcher-hidden.js.map