diff --git a/app/MindWork AI Studio/Components/DataSourceSelection.razor b/app/MindWork AI Studio/Components/DataSourceSelection.razor
index 6b299796..145a3f6a 100644
--- a/app/MindWork AI Studio/Components/DataSourceSelection.razor
+++ b/app/MindWork AI Studio/Components/DataSourceSelection.razor
@@ -3,7 +3,7 @@
@if (this.SelectionMode is DataSourceSelectionMode.SELECTION_MODE)
{
-
+
@if (this.PopoverTriggerMode is PopoverTriggerMode.ICON)
{
@@ -11,7 +11,7 @@
else
{
- Select data sources
+ Select data
}
@@ -21,7 +21,13 @@
- Data Source Selection
+
+ Data Source Selection
+
+
+
+
+
diff --git a/app/MindWork AI Studio/Components/DataSourceSelection.razor.cs b/app/MindWork AI Studio/Components/DataSourceSelection.razor.cs
index 73796d6e..22d4b0cb 100644
--- a/app/MindWork AI Studio/Components/DataSourceSelection.razor.cs
+++ b/app/MindWork AI Studio/Components/DataSourceSelection.razor.cs
@@ -1,9 +1,12 @@
+using AIStudio.Dialogs.Settings;
using AIStudio.Settings;
using AIStudio.Settings.DataModel;
using AIStudio.Tools.Services;
using Microsoft.AspNetCore.Components;
+using DialogOptions = AIStudio.Dialogs.DialogOptions;
+
namespace AIStudio.Components;
public partial class DataSourceSelection : ComponentBase, IMessageBusReceiver, IDisposable
@@ -45,7 +48,7 @@ public partial class DataSourceSelection : ComponentBase, IMessageBusReceiver, I
private DataSourceService DataSourceService { get; init; } = null!;
[Inject]
- private ILogger Logger { get; init; } = null!;
+ private IDialogService DialogService { get; init; } = null!;
private bool internalChange;
private bool showDataSourceSelection;
@@ -131,6 +134,20 @@ public partial class DataSourceSelection : ComponentBase, IMessageBusReceiver, I
}
#endregion
+
+ private async Task OpenSettingsDialog()
+ {
+ this.showDataSourceSelection = false;
+ this.StateHasChanged();
+
+ var dialogParameters = new DialogParameters();
+ var dialogReference = await this.DialogService.ShowAsync(null, dialogParameters, DialogOptions.FULLSCREEN);
+ await dialogReference.Result;
+ await this.LoadAndApplyFilters();
+
+ this.showDataSourceSelection = true;
+ this.StateHasChanged();
+ }
private SelectionMode GetListSelectionMode() => this.aiBasedSourceSelection ? MudBlazor.SelectionMode.SingleSelection : MudBlazor.SelectionMode.MultiSelection;
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogAgenda.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogAgenda.razor
index dc510ef9..cfdbdd47 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogAgenda.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogAgenda.razor
@@ -33,7 +33,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogAssistantBias.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogAssistantBias.razor
index 9bce0888..1aef4b4e 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogAssistantBias.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogAssistantBias.razor
@@ -30,7 +30,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogBase.cs b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogBase.cs
index a4732c67..83fa07e4 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogBase.cs
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogBase.cs
@@ -1,6 +1,7 @@
using System.Diagnostics.CodeAnalysis;
using AIStudio.Settings;
+using AIStudio.Tools.Services;
using Microsoft.AspNetCore.Components;
@@ -11,9 +12,6 @@ public abstract class SettingsDialogBase : ComponentBase
[CascadingParameter]
protected IMudDialogInstance MudDialog { get; set; } = null!;
- [Parameter]
- public List> AvailableLLMProviders { get; set; } = new();
-
[Inject]
protected SettingsManager SettingsManager { get; init; } = null!;
@@ -23,6 +21,11 @@ public abstract class SettingsDialogBase : ComponentBase
[Inject]
protected MessageBus MessageBus { get; init; } = null!;
+ [Inject]
+ protected RustService RustService { get; init; } = null!;
+
+ protected readonly List> availableLLMProviders = new();
+ protected readonly List> availableEmbeddingProviders = new();
#region Overrides of ComponentBase
@@ -30,6 +33,7 @@ public abstract class SettingsDialogBase : ComponentBase
protected override void OnInitialized()
{
this.UpdateProviders();
+ this.UpdateEmbeddingProviders();
base.OnInitialized();
}
@@ -40,8 +44,15 @@ public abstract class SettingsDialogBase : ComponentBase
[SuppressMessage("Usage", "MWAIS0001:Direct access to `Providers` is not allowed")]
private void UpdateProviders()
{
- this.AvailableLLMProviders.Clear();
+ this.availableLLMProviders.Clear();
foreach (var provider in this.SettingsManager.ConfigurationData.Providers)
- this.AvailableLLMProviders.Add(new (provider.InstanceName, provider.Id));
+ this.availableLLMProviders.Add(new (provider.InstanceName, provider.Id));
+ }
+
+ private void UpdateEmbeddingProviders()
+ {
+ this.availableEmbeddingProviders.Clear();
+ foreach (var provider in this.SettingsManager.ConfigurationData.EmbeddingProviders)
+ this.availableEmbeddingProviders.Add(new (provider.Name, provider.Id));
}
}
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogCoding.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogCoding.razor
index 668c3128..c5a09136 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogCoding.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogCoding.razor
@@ -19,7 +19,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Components/Settings/SettingsPanelDataSources.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogDataSources.razor
similarity index 87%
rename from app/MindWork AI Studio/Components/Settings/SettingsPanelDataSources.razor
rename to app/MindWork AI Studio/Dialogs/Settings/SettingsDialogDataSources.razor
index 506c63b9..5ec517a7 100644
--- a/app/MindWork AI Studio/Components/Settings/SettingsPanelDataSources.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogDataSources.razor
@@ -1,13 +1,15 @@
@using AIStudio.Settings.DataModel
-@inherits SettingsPanelBase
+@inherits SettingsDialogBase
-@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
-{
-
+
+
-
+
+
Configured Data Sources
+
+
You might configure different data sources. A data source can include one file, all files
in a directory, or data from your company. Later, you can incorporate these data sources
@@ -57,5 +59,8 @@
Local Directory
Local File
-
-}
\ No newline at end of file
+
+
+ Close
+
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Components/Settings/SettingsPanelDataSources.razor.cs b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogDataSources.razor.cs
similarity index 86%
rename from app/MindWork AI Studio/Components/Settings/SettingsPanelDataSources.razor.cs
rename to app/MindWork AI Studio/Dialogs/Settings/SettingsDialogDataSources.razor.cs
index 6f7e74b8..d2c6cef8 100644
--- a/app/MindWork AI Studio/Components/Settings/SettingsPanelDataSources.razor.cs
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogDataSources.razor.cs
@@ -1,35 +1,11 @@
-using AIStudio.Dialogs;
using AIStudio.Settings;
using AIStudio.Settings.DataModel;
using AIStudio.Tools.ERIClient.DataModel;
-using Microsoft.AspNetCore.Components;
+namespace AIStudio.Dialogs.Settings;
-using DialogOptions = AIStudio.Dialogs.DialogOptions;
-
-namespace AIStudio.Components.Settings;
-
-public partial class SettingsPanelDataSources : SettingsPanelBase
+public partial class SettingsDialogDataSources : SettingsDialogBase
{
- [Parameter]
- public List> AvailableDataSources { get; set; } = new();
-
- [Parameter]
- public EventCallback>> AvailableDataSourcesChanged { get; set; }
-
- [Parameter]
- public Func>> AvailableEmbeddingsFunc { get; set; } = () => [];
-
- #region Overrides of ComponentBase
-
- protected override async Task OnInitializedAsync()
- {
- await this.UpdateDataSources();
- await base.OnInitializedAsync();
- }
-
- #endregion
-
private string GetEmbeddingName(IDataSource dataSource)
{
if(dataSource is IInternalDataSource internalDataSource)
@@ -56,7 +32,7 @@ public partial class SettingsPanelDataSources : SettingsPanelBase
var localFileDialogParameters = new DialogParameters
{
{ x => x.IsEditing, false },
- { x => x.AvailableEmbeddings, this.AvailableEmbeddingsFunc() }
+ { x => x.AvailableEmbeddings, this.availableEmbeddingProviders }
};
var localFileDialogReference = await this.DialogService.ShowAsync("Add Local File as Data Source", localFileDialogParameters, DialogOptions.FULLSCREEN);
@@ -73,7 +49,7 @@ public partial class SettingsPanelDataSources : SettingsPanelBase
var localDirectoryDialogParameters = new DialogParameters
{
{ x => x.IsEditing, false },
- { x => x.AvailableEmbeddings, this.AvailableEmbeddingsFunc() }
+ { x => x.AvailableEmbeddings, this.availableEmbeddingProviders }
};
var localDirectoryDialogReference = await this.DialogService.ShowAsync("Add Local Directory as Data Source", localDirectoryDialogParameters, DialogOptions.FULLSCREEN);
@@ -107,7 +83,6 @@ public partial class SettingsPanelDataSources : SettingsPanelBase
return;
this.SettingsManager.ConfigurationData.DataSources.Add(addedDataSource);
- await this.UpdateDataSources();
await this.SettingsManager.StoreSettings();
await this.MessageBus.SendMessage(this, Event.CONFIGURATION_CHANGED);
}
@@ -122,7 +97,7 @@ public partial class SettingsPanelDataSources : SettingsPanelBase
{
{ x => x.IsEditing, true },
{ x => x.DataSource, localFile },
- { x => x.AvailableEmbeddings, this.AvailableEmbeddingsFunc() }
+ { x => x.AvailableEmbeddings, this.availableEmbeddingProviders }
};
var localFileDialogReference = await this.DialogService.ShowAsync("Edit Local File Data Source", localFileDialogParameters, DialogOptions.FULLSCREEN);
@@ -138,7 +113,7 @@ public partial class SettingsPanelDataSources : SettingsPanelBase
{
{ x => x.IsEditing, true },
{ x => x.DataSource, localDirectory },
- { x => x.AvailableEmbeddings, this.AvailableEmbeddingsFunc() }
+ { x => x.AvailableEmbeddings, this.availableEmbeddingProviders }
};
var localDirectoryDialogReference = await this.DialogService.ShowAsync("Edit Local Directory Data Source", localDirectoryDialogParameters, DialogOptions.FULLSCREEN);
@@ -170,7 +145,6 @@ public partial class SettingsPanelDataSources : SettingsPanelBase
this.SettingsManager.ConfigurationData.DataSources[this.SettingsManager.ConfigurationData.DataSources.IndexOf(dataSource)] = editedDataSource;
- await this.UpdateDataSources();
await this.SettingsManager.StoreSettings();
await this.MessageBus.SendMessage(this, Event.CONFIGURATION_CHANGED);
}
@@ -210,7 +184,6 @@ public partial class SettingsPanelDataSources : SettingsPanelBase
{
this.SettingsManager.ConfigurationData.DataSources.Remove(dataSource);
await this.SettingsManager.StoreSettings();
- await this.UpdateDataSources();
await this.MessageBus.SendMessage(this, Event.CONFIGURATION_CHANGED);
}
}
@@ -247,13 +220,4 @@ public partial class SettingsPanelDataSources : SettingsPanelBase
break;
}
}
-
- private async Task UpdateDataSources()
- {
- this.AvailableDataSources.Clear();
- foreach (var dataSource in this.SettingsManager.ConfigurationData.DataSources)
- this.AvailableDataSources.Add(new (dataSource.Name, dataSource.Id));
-
- await this.AvailableDataSourcesChanged.InvokeAsync(this.AvailableDataSources);
- }
}
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogGrammarSpelling.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogGrammarSpelling.razor
index fd1d0f51..c7ae29dd 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogGrammarSpelling.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogGrammarSpelling.razor
@@ -17,7 +17,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogIconFinder.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogIconFinder.razor
index b452820e..0562b38e 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogIconFinder.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogIconFinder.razor
@@ -13,7 +13,7 @@
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogJobPostings.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogJobPostings.razor
index 6d1fc3c8..505d5624 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogJobPostings.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogJobPostings.razor
@@ -24,7 +24,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogLegalCheck.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogLegalCheck.razor
index 0573e489..10b2c286 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogLegalCheck.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogLegalCheck.razor
@@ -14,7 +14,7 @@
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogMyTasks.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogMyTasks.razor
index 7660612f..91d318af 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogMyTasks.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogMyTasks.razor
@@ -18,7 +18,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogRewrite.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogRewrite.razor
index 79931580..e6bcf79f 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogRewrite.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogRewrite.razor
@@ -19,7 +19,7 @@
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogSynonyms.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogSynonyms.razor
index d36328f5..2d7e29f4 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogSynonyms.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogSynonyms.razor
@@ -17,7 +17,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogTextSummarizer.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogTextSummarizer.razor
index 6dcf4ee4..111fda45 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogTextSummarizer.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogTextSummarizer.razor
@@ -26,7 +26,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogTranslation.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogTranslation.razor
index 4da35455..8cb87ac7 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogTranslation.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogTranslation.razor
@@ -21,7 +21,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogWritingEMails.razor b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogWritingEMails.razor
index 27ac9e7a..a6f4bca9 100644
--- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogWritingEMails.razor
+++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogWritingEMails.razor
@@ -20,7 +20,7 @@
}
-
+
diff --git a/app/MindWork AI Studio/Pages/Settings.razor b/app/MindWork AI Studio/Pages/Settings.razor
index 3516096b..c048a542 100644
--- a/app/MindWork AI Studio/Pages/Settings.razor
+++ b/app/MindWork AI Studio/Pages/Settings.razor
@@ -12,8 +12,8 @@
@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
{
-
}
+
diff --git a/app/MindWork AI Studio/Pages/Settings.razor.cs b/app/MindWork AI Studio/Pages/Settings.razor.cs
index aaf55c85..57c34c5a 100644
--- a/app/MindWork AI Studio/Pages/Settings.razor.cs
+++ b/app/MindWork AI Studio/Pages/Settings.razor.cs
@@ -14,7 +14,6 @@ public partial class Settings : ComponentBase, IMessageBusReceiver, IDisposable
private List> availableLLMProviders = new();
private List> availableEmbeddingProviders = new();
- private List> availableDataSources = new();
#region Overrides of ComponentBase
diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.9.37.md b/app/MindWork AI Studio/wwwroot/changelog/v0.9.37.md
new file mode 100644
index 00000000..51168ef8
--- /dev/null
+++ b/app/MindWork AI Studio/wwwroot/changelog/v0.9.37.md
@@ -0,0 +1,2 @@
+# v0.9.37, build 212 (2025-03-16 xx:xx UTC)
+- Moved the data source settings into the data selection component.
\ No newline at end of file