import { resolveDialer } from '../../utils/telephony/dialAccess'

/**
 * Click-to-dial capability of the current session — used once per session by
 * the client gate (useClickToDial) to show/hide the dial buttons.
 * Never throws: any failure → canDial:false.
 */
export default defineEventHandler(async (event) => {
  const config = useRuntimeConfig()
  const enabled = (config as any).asterisk?.enabled === true
  if (!enabled) return { enabled: false, canDial: false, extension: null }
  try {
    const info = await resolveDialer(event)
    return { enabled: true, canDial: info?.canDial === true, extension: info?.canDial ? info.extension : null }
  } catch {
    return { enabled: true, canDial: false, extension: null }
  }
})
