using AIStudio.Chat; using AIStudio.Tools.RAG; namespace AIStudio.Settings.DataModel; /// /// Represents a local directory as a data source. /// public readonly record struct DataSourceLocalDirectory : IInternalDataSource { public DataSourceLocalDirectory() { } /// 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 directory. /// public string Path { get; init; } = string.Empty; }