/*
 * Quantas vezes cada pessoa usou uma ferramenta paga (narração, legenda) no
 * último dia, na memória do servidor: evita que um clique repetido ou um
 * laço gaste a conta da IA. Reinicia junto com o servidor (o teto é folgado).
 */
const usos = new Map<string, number[]>();

/** true se ainda pode (e já conta o uso); false se passou do teto na janela. */
export function podeUsar(chave: string, teto: number, janelaMs = 24 * 60 * 60 * 1000): boolean {
  const agora = Date.now();
  const lista = (usos.get(chave) ?? []).filter((t) => agora - t < janelaMs);
  if (lista.length >= teto) {
    usos.set(chave, lista);
    return false;
  }
  lista.push(agora);
  usos.set(chave, lista);
  return true;
}
