using AIStudio.Chat; using AIStudio.Tools.RAG; namespace AIStudio.Settings.DataModel; /// /// Represents one local file as a data source. /// public readonly record struct DataSourceLocalFile : IInternalDataSource { public DataSourceLocalFile() { } /// public uint Num { get; init; } /// public string Id { get; init; } = Guid.Empty.ToString(); /// public string Name { get; init; } = string.Empty; /// public DataSourceType Type { get; init; } = DataSourceType.NONE; /// public string EmbeddingId { get; init; } = Guid.Empty.ToString(); /// public DataSourceSecurity SecurityPolicy { get; init; } = DataSourceSecurity.NOT_SPECIFIED; /// public Task> RetrieveDataAsync(IContent lastPrompt, ChatThread thread, CancellationToken token = default) { IReadOnlyList retrievalContext = new List(); return Task.FromResult(retrievalContext); } /// /// The path to the file. /// public string FilePath { get; init; } = string.Empty; }