/** * Гейт для браузерных дебаг-логов голосового стека. * * 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) }