import { hash as ohash } from 'ohash' /** * Genera un hash determinista de los parametros de busqueda. * Normaliza el objeto: ordena keys recursivamente y elimina campos * irrelevantes (_poll, maxResults) para que busquedas equivalentes * produzcan el mismo hash. */ export function computeSearchHash(params: Record): string { const normalized = { ...params } // Campos que no afectan los resultados de la busqueda delete normalized._poll delete normalized.maxResults return ohash(normalized) }