// The archive reader, as this server has always known it. // // This file WAS the reader: 1,386 lines holding the only good walk of the // published shard scheme in the repo, plus three transports and two caches. It // now lives in `yt-dlp-transcript-common/lib/archive/`, where the viewer, the // offline cache and umtool can reach the same implementation instead of each // re-deriving the walk (one-core plan, phase 2). Nothing about it changed in // the move — the interface is the same 18 members under a new name, and there // is deliberately still no per-record fetch. // // `ShardSource` stays as the name every importer here already spells, so this // server's seven `./source` importers and `mcp/bench` (which spawns the server // and never imports this file) are untouched. export type { ArchiveReader as ShardSource, ChannelGroups, ChannelRef, ClusterMembership, CorpusScope, DuplicateIndex, IndexedVideo, VideoAvailability, VideoIndex, } from "yt-dlp-transcript-common/lib/archive/reader"; export { DEFAULT_PAGE_CONCURRENCY, RemoteSource, buildDuplicateIndex, } from "yt-dlp-transcript-common/lib/archive/reader"; export { LocalSource } from "yt-dlp-transcript-common/lib/archive/reader-fs"; export { HubSource } from "yt-dlp-transcript-common/lib/archive/reader-hub"; // One member site of a hub, as listed in the hub's corpus.json. Exposed so the // source controller can resolve a `site`/`sites` token to a member origin. Now // a projection of the entry the hub actually publishes (`HubCorpusSite`), so // the read and write spellings cannot drift. export type { HubSite } from "yt-dlp-transcript-common/lib/archive/contract"; // The opt-in read/byte counters mcp/bench reads off stderr. export { ioStatsEnabled, ioStatsSnapshot, recordRead, type IoStats, } from "yt-dlp-transcript-common/lib/archive/io-stats";