diff --git a/app/MindWork AI Studio/Agents/AgentDataSourceSelection.cs b/app/MindWork AI Studio/Agents/AgentDataSourceSelection.cs index 23278973..d4c4baca 100644 --- a/app/MindWork AI Studio/Agents/AgentDataSourceSelection.cs +++ b/app/MindWork AI Studio/Agents/AgentDataSourceSelection.cs @@ -188,11 +188,17 @@ public sealed class AgentDataSourceSelection (ILogger switch (ds) { case DataSourceLocalDirectory localDirectory: - sb.AppendLine($"- Id={ds.Id}, name='{localDirectory.Name}', type=local directory, path='{localDirectory.Path}'"); + if (string.IsNullOrWhiteSpace(localDirectory.Description)) + sb.AppendLine($"- Id={ds.Id}, name='{localDirectory.Name}', type=local directory, path='{localDirectory.Path}'"); + else + sb.AppendLine($"- Id={ds.Id}, name='{localDirectory.Name}', type=local directory, path='{localDirectory.Path}', description='{localDirectory.Description}'"); break; case DataSourceLocalFile localFile: - sb.AppendLine($"- Id={ds.Id}, name='{localFile.Name}', type=local file, path='{localFile.FilePath}'"); + if (string.IsNullOrWhiteSpace(localFile.Description)) + sb.AppendLine($"- Id={ds.Id}, name='{localFile.Name}', type=local file, path='{localFile.FilePath}'"); + else + sb.AppendLine($"- Id={ds.Id}, name='{localFile.Name}', type=local file, path='{localFile.FilePath}', description='{localFile.Description}'"); break; case IERIDataSource eriDataSource: diff --git a/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryDialog.razor b/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryDialog.razor index d21244de..9a705fbe 100644 --- a/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryDialog.razor +++ b/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryDialog.razor @@ -20,6 +20,22 @@ UserAttributes="@SPELLCHECK_ATTRIBUTES" /> + + @T("Select a root directory for this data source. All data in this directory and all its subdirectories will be processed for this data source.") diff --git a/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryDialog.razor.cs b/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryDialog.razor.cs index b4f62a79..019312da 100644 --- a/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryDialog.razor.cs @@ -37,6 +37,7 @@ public partial class DataSourceLocalDirectoryDialog : MSGComponentBase private uint dataNum; private string dataId = Guid.NewGuid().ToString(); private string dataName = string.Empty; + private string dataDescription = string.Empty; private bool dataUserAcknowledgedCloudEmbedding; private string dataEmbeddingId = string.Empty; private string dataPath = string.Empty; @@ -73,6 +74,7 @@ public partial class DataSourceLocalDirectoryDialog : MSGComponentBase this.dataNum = this.DataSource.Num; this.dataId = this.DataSource.Id; this.dataName = this.DataSource.Name; + this.dataDescription = this.DataSource.Description; this.dataEmbeddingId = this.DataSource.EmbeddingId; this.dataPath = this.DataSource.Path; this.dataSecurityPolicy = this.DataSource.SecurityPolicy; @@ -101,6 +103,7 @@ public partial class DataSourceLocalDirectoryDialog : MSGComponentBase Id = this.dataId, Num = this.dataNum, Name = this.dataName, + Description = this.dataDescription, Type = DataSourceType.LOCAL_DIRECTORY, EmbeddingId = this.dataEmbeddingId, Path = this.dataPath, diff --git a/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryInfoDialog.razor b/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryInfoDialog.razor index b529a78a..4dfb8f04 100644 --- a/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryInfoDialog.razor +++ b/app/MindWork AI Studio/Dialogs/DataSourceLocalDirectoryInfoDialog.razor @@ -4,7 +4,11 @@ - + @if (!string.IsNullOrWhiteSpace(this.DataSource.Description)) + { + + } + @if (!this.IsDirectoryAvailable) { diff --git a/app/MindWork AI Studio/Dialogs/DataSourceLocalFileDialog.razor b/app/MindWork AI Studio/Dialogs/DataSourceLocalFileDialog.razor index ccff69e9..b94de59f 100644 --- a/app/MindWork AI Studio/Dialogs/DataSourceLocalFileDialog.razor +++ b/app/MindWork AI Studio/Dialogs/DataSourceLocalFileDialog.razor @@ -20,6 +20,22 @@ UserAttributes="@SPELLCHECK_ATTRIBUTES" /> + + @T("Select a file for this data source. The content of this file will be processed for the data source.") diff --git a/app/MindWork AI Studio/Dialogs/DataSourceLocalFileDialog.razor.cs b/app/MindWork AI Studio/Dialogs/DataSourceLocalFileDialog.razor.cs index 7418a4fa..76d93c35 100644 --- a/app/MindWork AI Studio/Dialogs/DataSourceLocalFileDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/DataSourceLocalFileDialog.razor.cs @@ -37,6 +37,7 @@ public partial class DataSourceLocalFileDialog : MSGComponentBase private uint dataNum; private string dataId = Guid.NewGuid().ToString(); private string dataName = string.Empty; + private string dataDescription = string.Empty; private bool dataUserAcknowledgedCloudEmbedding; private string dataEmbeddingId = string.Empty; private string dataFilePath = string.Empty; @@ -73,6 +74,7 @@ public partial class DataSourceLocalFileDialog : MSGComponentBase this.dataNum = this.DataSource.Num; this.dataId = this.DataSource.Id; this.dataName = this.DataSource.Name; + this.dataDescription = this.DataSource.Description; this.dataEmbeddingId = this.DataSource.EmbeddingId; this.dataFilePath = this.DataSource.FilePath; this.dataSecurityPolicy = this.DataSource.SecurityPolicy; @@ -101,6 +103,7 @@ public partial class DataSourceLocalFileDialog : MSGComponentBase Id = this.dataId, Num = this.dataNum, Name = this.dataName, + Description = this.dataDescription, Type = DataSourceType.LOCAL_FILE, EmbeddingId = this.dataEmbeddingId, FilePath = this.dataFilePath, diff --git a/app/MindWork AI Studio/Dialogs/DataSourceLocalFileInfoDialog.razor b/app/MindWork AI Studio/Dialogs/DataSourceLocalFileInfoDialog.razor index 2b4a9d78..2787ae50 100644 --- a/app/MindWork AI Studio/Dialogs/DataSourceLocalFileInfoDialog.razor +++ b/app/MindWork AI Studio/Dialogs/DataSourceLocalFileInfoDialog.razor @@ -4,6 +4,11 @@ + @if (!string.IsNullOrWhiteSpace(this.DataSource.Description)) + { + + } + @if (!this.IsFileAvailable) { diff --git a/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalDirectory.cs b/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalDirectory.cs index 8e180095..d8b263c3 100644 --- a/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalDirectory.cs +++ b/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalDirectory.cs @@ -20,7 +20,13 @@ public readonly record struct DataSourceLocalDirectory : IInternalDataSource /// public string Name { get; init; } = string.Empty; - + + /// + /// The description of the data source. What kind of data does it contain? + /// What is the data source used for? + /// + public string Description { get; init; } = string.Empty; + /// public DataSourceType Type { get; init; } = DataSourceType.NONE; diff --git a/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalFile.cs b/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalFile.cs index 5a04a8a0..11b857d0 100644 --- a/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalFile.cs +++ b/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalFile.cs @@ -20,7 +20,13 @@ public readonly record struct DataSourceLocalFile : IInternalDataSource /// public string Name { get; init; } = string.Empty; - + + /// + /// The description of the data source. What kind of data does it contain? + /// What is the data source used for? + /// + public string Description { get; init; } = string.Empty; + /// public DataSourceType Type { get; init; } = DataSourceType.NONE;