/**
 * Гейт для браузерных дебаг-логов голосового стека.
 *
 * Production: логи молчат. Чтобы включить — выставить
 * `NEXT_PUBLIC_VOICE_DEBUG=1` в env (на этапе билда). На клиенте
 * также можно временно включить `localStorage.setItem('voice-debug', '1')`.
 *
 * Серверные логи (`/api/voice/chat`, `/api/voice/stt`) НЕ пропускаются
 * через эту функцию — они полезны в Docker logs и не утекают в браузер.
 */

const ENV_ENABLED = process.env.NEXT_PUBLIC_VOICE_DEBUG === '1'

function runtimeEnabled(): boolean {
  if (ENV_ENABLED) return true
  if (typeof window === 'undefined') return false
  try {
    return window.localStorage?.getItem('voice-debug') === '1'
  } catch {
    return false
  }
}

export function vlog(...args: any[]): void {
  if (runtimeEnabled()) console.log(...args)
}

export function vwarn(...args: any[]): void {
  // Warnings оставляем всегда — это анонимные ошибки, не PII.
  console.warn(...args)
}

export function verror(...args: any[]): void {
  // Errors всегда — нам нужно знать о реальных падениях.
  console.error(...args)
}
