namespace AIStudio.Tools.Databases.IndexStore;
///
/// What the index knows about a data source as a whole, without its files.
///
///
/// The manifest answers the same question, but reads every file and every stored failure of the
/// data source to do so. That is the right thing before a run, and far too much for a question
/// asked about several data sources every time somebody opens the data source selection.
///
/// SourceHash is the telling one: it is written once a run has worked through the whole data
/// source, and resetting the index deletes the row it lives in. So an empty hash means no run has
/// finished since the index was last discarded.
///
/// The embedding provider the stored vectors were created with.
/// Identifies the embedding configuration the stored vectors belong to.
/// The hash of the data source as a whole, written when a run completes.
/// The dimension of the stored vectors.
public sealed record DataSourceIndexState(string EmbeddingProviderId, string EmbeddingSignature, string SourceHash, int VectorSize);