Defined interfaces for internal & external data sources

This commit is contained in:
Thorsten Sommer 2025-01-06 19:07:12 +01:00
parent 3ad627566a
commit bcbb7d2d92
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108
5 changed files with 21 additions and 3 deletions

View File

@ -6,7 +6,7 @@ namespace AIStudio.Settings.DataModel;
/// <summary>
/// An external data source, accessed via an ERI server, cf. https://github.com/MindWorkAI/ERI.
/// </summary>
public readonly record struct DataSourceERI_V1 : IDataSource
public readonly record struct DataSourceERI_V1 : IExternalDataSource
{
public DataSourceERI_V1()
{

View File

@ -3,7 +3,7 @@ namespace AIStudio.Settings.DataModel;
/// <summary>
/// Represents a local directory as a data source.
/// </summary>
public readonly record struct DataSourceLocalDirectory : IDataSource
public readonly record struct DataSourceLocalDirectory : IInternalDataSource
{
public DataSourceLocalDirectory()
{
@ -21,6 +21,9 @@ public readonly record struct DataSourceLocalDirectory : IDataSource
/// <inheritdoc />
public DataSourceType Type { get; init; } = DataSourceType.NONE;
/// <inheritdoc />
public string EmbeddingId { get; init; } = Guid.Empty.ToString();
/// <summary>
/// The path to the directory.
/// </summary>

View File

@ -3,7 +3,7 @@ namespace AIStudio.Settings.DataModel;
/// <summary>
/// Represents one local file as a data source.
/// </summary>
public readonly record struct DataSourceLocalFile : IDataSource
public readonly record struct DataSourceLocalFile : IInternalDataSource
{
public DataSourceLocalFile()
{
@ -21,6 +21,9 @@ public readonly record struct DataSourceLocalFile : IDataSource
/// <inheritdoc />
public DataSourceType Type { get; init; } = DataSourceType.NONE;
/// <inheritdoc />
public string EmbeddingId { get; init; } = Guid.Empty.ToString();
/// <summary>
/// The path to the file.
/// </summary>

View File

@ -0,0 +1,3 @@
namespace AIStudio.Settings;
public interface IExternalDataSource : IDataSource;

View File

@ -0,0 +1,9 @@
namespace AIStudio.Settings;
public interface IInternalDataSource : IDataSource
{
/// <summary>
/// The unique identifier of the embedding method used by this internal data source.
/// </summary>
public string EmbeddingId { get; init; }
}