// sentry.server.config.ts — node/Nitro SDK init. Loaded before the app via the module's
// `autoInjectServerSentry: 'top-level-import'`, so it must use process.env directly
// (useRuntimeConfig() isn't fully available this early on the server).
import * as Sentry from '@sentry/nuxt'
import { scrubEvent } from './sentry.scrub'

const dsn = process.env.SENTRY_DSN
const release = process.env.GITHASH

// Empty DSN (dev / kill-switch) → init is skipped and Sentry is a no-op.
if (dsn) {
  Sentry.init({
    dsn,
    environment: process.env.SENTRY_ENVIRONMENT || 'production',
    release: release && !release.includes('<') ? release : undefined,

    // Performance: sample 10% of server transactions (API routes + outbound calls).
    tracesSampleRate: 0.1,

    // PII safety — never attach cookies/headers/body. The shared scrubber is a 2nd line.
    sendDefaultPii: false,
    beforeSend: scrubEvent,
  })
}
