import type { Sukta } from '../types.js'
import sriSuktam from './sri-suktam.js'
import purushaSuktam from './purusha-suktam.js'
import narayanaSuktam from './narayana-suktam.js'
import durgaSuktam from './durga-suktam.js'
import mantraPushpam from './mantra-pushpam.js'
import sriRudram from './sri-rudram.js'

// Slug-keyed (like stotras): a sūkta isn't deity-exclusive (Puruṣa Sūktam is
// read for Viṣṇu/Nārāyaṇa and as the cosmic-puruṣa hymn at large), and reverse
// lookup by deity is supported via `getSuktasForDeity`. Phase 15 ships the
// Vedic sūktas one verified batch at a time — accented (sasvara) Devanagari
// cross-checked ≥2 sources + accent-stripped best-effort IAST + researched
// per-mantra meaning glosses, draft. See `SOURCES.md`.
//
// `as const satisfies` keeps the literal key union (so `SuktaSlug` auto-updates
// as sūktas are added) while still type-checking each value against `Sukta`.
const suktasBySlug = {
  'sri-suktam': sriSuktam,
  'purusha-suktam': purushaSuktam,
  'narayana-suktam': narayanaSuktam,
  'durga-suktam': durgaSuktam,
  'mantra-pushpam': mantraPushpam,
  'sri-rudram': sriRudram,
} as const satisfies Record<string, Sukta>

export type SuktaSlug = keyof typeof suktasBySlug

export default suktasBySlug
