/**
 * agentfootprint/rag — turning a folder of documents into something an agent
 * can retrieve from.
 *
 * Loaders (text, Markdown, HTML, PDF), splitters, and the indexing chart that
 * runs them: everything between "I have some documents" and "the vectors are
 * in a store".
 *
 * ── Why this is its own door ────────────────────────────────────────────────
 * Index time is a different PROCESS from run time. It happens at boot, on a
 * cron, or from a CLI; it touches the filesystem; and for PDFs it reaches for
 * an optional peer dependency. None of that belongs in the bundle of an agent
 * that only wants to answer a question — a browser or edge runtime importing
 * `agentfootprint` should never resolve `node:fs`. A door is the unit at which
 * a bundler can cut, and this is the cut.
 *
 * ── `defineRAG` is NOT here, deliberately ───────────────────────────────────
 * The retriever stays on the MAIN barrel, with `indexDocuments`, because it is
 * run-time wiring: it is registered on an agent, it runs on every turn, and it
 * belongs beside `defineTool` and the rest of the wiring surface. This door is
 * the other half of the story — the half that runs once, before any agent
 * exists.
 *
 *   import { defineRAG, indexDocuments } from 'agentfootprint';        // wiring
 *   import { sqliteVectorStore } from 'agentfootprint/memory';         // where it lives
 *   import { indexFolder, byHeading } from 'agentfootprint/rag';       // building it
 *
 * ── Deferred, with destinations named ───────────────────────────────────────
 * **Re-ranking and MMR** are retrieval-side concerns and belong behind
 * `RetrievalStrategy` (`agentfootprint/memory`), not here — a re-ranker is a
 * different rule for choosing among candidates, not a different way of
 * building an index. **File watching** is deliberately absent: `indexCorpus`
 * is an explicit call because magic that re-indexes behind you is magic that
 * re-bills you. Run it at boot, from a cron, or from the CLI.
 *
 * @example
 * ```ts
 * import { indexFolder } from 'agentfootprint/rag';
 * import { sqliteVectorStore } from 'agentfootprint/memory';
 * import { staticEmbedder } from 'agentfootprint/providers';
 *
 * const report = await indexFolder('./docs', {
 *   to: sqliteVectorStore({ file: './corpus.db' }),
 *   embedder: staticEmbedder(),
 * });
 * // { discovered: 3, loaded: 3, chunks: 14, embedded: 14, skipped: 0, removed: 0, … }
 * ```
 */
export * from '../rag/index.js';
//# sourceMappingURL=rag.d.ts.map