/**
 * Para quem os assistentes e apps já estão abertos.
 *
 * É uma porta nova para dentro das contas, então ela abre aos poucos. A
 * variável `ASSISTENTES_LIBERADOS` diz para quem:
 *
 *   - vazia ou ausente: fechado para todo mundo (a aba nem aparece);
 *   - uma lista de ids, separados por vírgula: só essas empresas. Vale o id da
 *     empresa ou o do dono;
 *   - `todas`: aberto para todas as empresas.
 *
 * Fechado é o padrão de propósito: subir o código sem mexer na variável não
 * muda nada para ninguém.
 */
export function assistentesLiberados(
  ids: Array<string | null | undefined>,
  configuracao: string | undefined = process.env.ASSISTENTES_LIBERADOS
): boolean {
  const bruto = String(configuracao || "").trim().toLowerCase();
  if (!bruto) return false;
  if (bruto === "todas" || bruto === "todos" || bruto === "*") return true;
  const lista = new Set(bruto.split(/[\s,;]+/).filter(Boolean));
  return ids.some((id) => Boolean(id) && lista.has(String(id).toLowerCase()));
}
