import type { Chunk } from "../schemas/chunk.js"; import type { Edge } from "../schemas/edge.js"; /** * Pluggable source adapter. Ingests data from an external source, * produces typed chunks and extracted edges. * * Generic over TConfig — each adapter defines its own config shape. * The CLI/orchestrator passes raw options; the adapter validates * them via `parseConfig()` before `ingest()` is called. */ export interface SourceAdapter> { readonly sourceType: string; /** Parse and validate raw options into a typed config. Throws on invalid input. */ parseConfig(raw: Record): TConfig; ingest(config: TConfig, signal?: AbortSignal): AsyncIterable; extractEdges(chunks: Chunk[]): Promise; } //# sourceMappingURL=source-adapter.d.ts.map