/**
 * Helper для /api/voice/tools/* — общий bearer-check и forwarding к внутренним endpoint'ам.
 * Позволяет голосовому скрипту вызывать tools через один и тот же токен (VOICE_API_KEY).
 */

export function isBearerAuthorized(req: Request): boolean {
  const expected = process.env.VOICE_API_KEY
  if (!expected) return false
  const auth = req.headers.get('authorization') || ''
  const token = auth.replace(/^Bearer\s+/i, '').trim()
  return token === expected
}

export function unauthorized() {
  return new Response(JSON.stringify({ error: 'unauthorized' }), {
    status: 401,
    headers: { 'Content-Type': 'application/json' },
  })
}

/**
 * Headers для loopback-вызовов к другим /api/* роутам из tool endpoints.
 * Middleware пропускает запросы с этим header'ом (см. middleware.ts).
 */
export function internalHeaders(): HeadersInit {
  const key = process.env.VOICE_API_KEY || ''
  return { 'x-voice-internal': key }
}
