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;
}