/**
 * Hub URL — single source of truth for targo-hub API base URL.
 *
 * All components, composables, and pages should import from here:
 *   import { HUB_URL } from 'src/config/hub'
 *
 * In dev (localhost), points to local targo-hub instance.
 * In production, uses the SAME-ORIGIN proxy: /ops/hub/* → Traefik strips /ops
 * → ops-frontend nginx `location /hub/` injects the hub service token (Bearer)
 * → targo-hub. This keeps the token server-side (never in the JS bundle), lets
 * EventSource (/sse, /conversations) work, and rides the existing Authentik
 * forward-auth on /ops. Mirrors the /ops/api → ERPNext pattern (config/erpnext.js).
 *
 * VITE_HUB_URL n'est honoré qu'en DEV (proxy du serveur de dev).
 */
const _opsBase = (import.meta.env.BASE_URL || '/').replace(/\/$/, '') // '' in dev, '/ops' in prod
// ⚠️ PROD : TOUJOURS le proxy same-origin `_opsBase + '/hub'` (= /ops/hub → Traefik strip /ops → nginx `location /hub/`
// → hub). On n'honore VITE_HUB_URL qu'en DEV : il vaut `/hub` dans .env.local (proxy du serveur de dev) et, comme
// .env.local est chargé MÊME au build prod (cf. fuite VITE_DEV_USER), l'utiliser en prod ferait appeler `/hub` à la
// RACINE → hors du préfixe /ops → routé vers ERPNext → **404** (= le bug « menu vide / Accès OPS indisponible »).
export const HUB_URL = import.meta.env.DEV
  ? (import.meta.env.VITE_HUB_URL || 'http://localhost:3300')
  : _opsBase + '/hub'
