/**
 * Preset-factory dispatch by source kind (W0215).
 *
 * The composition root resolves the active source's `kind`, looks up the
 * matching preset factory in `PRESET_FACTORY_BY_SOURCE`, and invokes it
 * with the typed source. The `satisfies` clause makes adding a kind to
 * `KnownDocSourceConfig` without a factory registration a compile error.
 */
import { createDriveLiteracyPreset } from "../../../adapters/doc-fetchers/google-drive/preset.js";
import { createSanityLiteracyPreset } from "./sanity-literacy.js";
/**
 * Registry of preset factories keyed by source kind.
 *
 * The `satisfies` clause enforces three invariants:
 * - Every kind in `KnownDocSourceConfig` has a registered factory.
 * - No extra keys (typos rejected).
 * - Each factory's `source` parameter type matches its key.
 */
export const PRESET_FACTORY_BY_SOURCE = {
    "google-drive": createDriveLiteracyPreset,
    "sanity-content-lake": createSanityLiteracyPreset,
};
