/**
 * Port: Where documentation context comes from.
 *
 * Adapters:
 * - SanityDocFetcher — GROQ queries against Sanity Content Lake
 *   (perspective diffing, document overlays, URL fetching)
 * - InMemoryDocFetcher (testing) — returns pre-loaded content
 *
 * The pipeline orchestrator and all downstream steps work with
 * FetchResult regardless of where the documentation came from.
 */
/**
 * Generic typed error: a fetcher received a ref whose `kind` it does not
 * accept. Each adapter throws this when given a foreign or untagged ref.
 */
export class RefKindMismatchError extends Error {
    constructor(message) {
        super(message);
        this.name = "RefKindMismatchError";
    }
}
