diff --git a/app/MindWork AI Studio/Assistants/I18N/allTexts.lua b/app/MindWork AI Studio/Assistants/I18N/allTexts.lua index 10f69c88..c80d13a8 100644 --- a/app/MindWork AI Studio/Assistants/I18N/allTexts.lua +++ b/app/MindWork AI Studio/Assistants/I18N/allTexts.lua @@ -4426,8 +4426,17 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGREWRITE::T3745021518 -- No rewrite & improve text options are preselected UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGREWRITE::T553954963"] = "No rewrite & improve text options are preselected" --- When enabled, you can preselect synonym options. This is might be useful when you prefer a specific language or LLM model. -UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T183953912"] = "When enabled, you can preselect synonym options. This is might be useful when you prefer a specific language or LLM model." +-- Which target group should be preselected? +UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T121159821"] = "Which target group should be preselected?" + +-- Preselect the target group +UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T122000493"] = "Preselect the target group" + +-- When enabled, you can preselect slide builder options. This is might be useful when you prefer a specific language or LLM model. +UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T1393378753"] = "When enabled, you can preselect slide builder options. This is might be useful when you prefer a specific language or LLM model." + +-- Would you like to preselect one of your profiles? +UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T2221665527"] = "Would you like to preselect one of your profiles?" -- Preselect Slide Assistant options? UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T227645894"] = "Preselect Slide Assistant options?" @@ -4447,6 +4456,9 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T32155 -- Close UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T3448155331"] = "Close" +-- Preselect one of your profiles? +UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T4004501229"] = "Preselect one of your profiles?" + -- No Slide Assistant options are preselected UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGSLIDEBUILDER::T4214398691"] = "No Slide Assistant options are preselected" diff --git a/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor.cs b/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor.cs index c5389db7..9cd656f5 100644 --- a/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor.cs +++ b/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor.cs @@ -60,7 +60,7 @@ public partial class SlideAssistant : AssistantBaseCore false; + protected override bool AllowProfiles => true; protected override IReadOnlyList FooterButtons => []; @@ -77,22 +77,21 @@ public partial class SlideAssistant : AssistantBaseCore(Event.SEND_TO_SYNONYMS_ASSISTANT).FirstOrDefault(); + var deferredContent = MessageBus.INSTANCE.CheckDeferredMessages(Event.SEND_TO_SLIDE_BUILDER_ASSISTANT).FirstOrDefault(); if (deferredContent is not null) this.inputContext = deferredContent; @@ -134,7 +130,7 @@ public partial class SlideAssistant : AssistantBaseCore @@ -10,14 +11,16 @@ - - - @if (this.SettingsManager.ConfigurationData.Synonyms.PreselectedLanguage is CommonLanguages.OTHER) + + + @if (this.SettingsManager.ConfigurationData.SlideBuilder.PreselectedTargetLanguage is CommonLanguages.OTHER) { - + } - - + + + + @@ -25,4 +28,4 @@ @T("Close") - \ No newline at end of file + diff --git a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogSlideBuilder.razor.cs b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogSlideBuilder.razor.cs index 236c1616..6d05294f 100644 --- a/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogSlideBuilder.razor.cs +++ b/app/MindWork AI Studio/Dialogs/Settings/SettingsDialogSlideBuilder.razor.cs @@ -2,6 +2,4 @@ namespace AIStudio.Dialogs.Settings; -public partial class SettingsDialogSlideBuilder : SettingsDialogBase -{ -} \ No newline at end of file +public partial class SettingsDialogSlideBuilder : SettingsDialogBase; \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/ConfigurationSelectDataFactory.cs b/app/MindWork AI Studio/Settings/ConfigurationSelectDataFactory.cs index 3aa9342b..59a7a8aa 100644 --- a/app/MindWork AI Studio/Settings/ConfigurationSelectDataFactory.cs +++ b/app/MindWork AI Studio/Settings/ConfigurationSelectDataFactory.cs @@ -2,6 +2,7 @@ using AIStudio.Assistants.Agenda; using AIStudio.Assistants.Coding; using AIStudio.Assistants.IconFinder; using AIStudio.Assistants.RewriteImprove; +using AIStudio.Assistants.SlideBuilder; using AIStudio.Assistants.TextSummarizer; using AIStudio.Assistants.EMail; using AIStudio.Provider; @@ -197,6 +198,12 @@ public static class ConfigurationSelectDataFactory foreach (var voice in Enum.GetValues()) yield return new(voice.Name(), voice); } + + public static IEnumerable> GetSlideBuilderTargetGroupData() + { + foreach (var group in Enum.GetValues()) + yield return new(group.Name(), group); + } public static IEnumerable> GetProfilesData(IEnumerable profiles) { @@ -254,4 +261,4 @@ public static class ConfigurationSelectDataFactory foreach (var theme in Enum.GetValues()) yield return new(theme.GetName(), theme); } -} \ No newline at end of file +} diff --git a/app/MindWork AI Studio/Settings/DataModel/Data.cs b/app/MindWork AI Studio/Settings/DataModel/Data.cs index 622d737e..5cec3663 100644 --- a/app/MindWork AI Studio/Settings/DataModel/Data.cs +++ b/app/MindWork AI Studio/Settings/DataModel/Data.cs @@ -113,6 +113,8 @@ public sealed class Data public DataEMail EMail { get; init; } = new(); + public DataSlideBuilder SlideBuilder { get; init; } = new(); + public DataLegalCheck LegalCheck { get; init; } = new(); public DataSynonyms Synonyms { get; init; } = new(); diff --git a/app/MindWork AI Studio/Settings/DataModel/DataSlideBuilder.cs b/app/MindWork AI Studio/Settings/DataModel/DataSlideBuilder.cs new file mode 100644 index 00000000..0b97e365 --- /dev/null +++ b/app/MindWork AI Studio/Settings/DataModel/DataSlideBuilder.cs @@ -0,0 +1,42 @@ +using AIStudio.Assistants.SlideBuilder; +using AIStudio.Provider; + +namespace AIStudio.Settings.DataModel; + +public class DataSlideBuilder +{ + /// + /// Preselect any Slide Builder options? + /// + public bool PreselectOptions { get; set; } = true; + + /// + /// Preselect a profile? + /// + public string PreselectedProfile { get; set; } = string.Empty; + + /// + /// Preselect a Slide Builder provider? + /// + public string PreselectedProvider { get; set; } = string.Empty; + + /// + /// Preselect the target language? + /// + public CommonLanguages PreselectedTargetLanguage { get; set; } + + /// + /// Preselect any other language? + /// + public string PreselectedOtherLanguage { get; set; } = string.Empty; + + /// + /// Preselect the complexity? + /// + public TargetGroup PreselectedTargetGroup { get; set; } + + /// + /// The minimum confidence level required for a provider to be considered. + /// + public ConfidenceLevel MinimumProviderConfidence { get; set; } = ConfidenceLevel.NONE; +} \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/DataModel/PreviousModels/DataV1V3.cs b/app/MindWork AI Studio/Settings/DataModel/PreviousModels/DataV1V3.cs index 88a8a3d2..633a777f 100644 --- a/app/MindWork AI Studio/Settings/DataModel/PreviousModels/DataV1V3.cs +++ b/app/MindWork AI Studio/Settings/DataModel/PreviousModels/DataV1V3.cs @@ -1,5 +1,6 @@ using AIStudio.Assistants.Coding; using AIStudio.Assistants.IconFinder; +using AIStudio.Assistants.SlideBuilder; using AIStudio.Assistants.TextSummarizer; namespace AIStudio.Settings.DataModel.PreviousModels; @@ -228,6 +229,40 @@ public sealed class DataV1V3 /// public string PreselectedTextSummarizerProvider { get; set; } = string.Empty; + #endregion + + #region Assiatant: Slide Builder Settings + + /// + /// Preselect any slide builder options? + /// + public bool PreselectSlideBuilderOptions { get; set; } + + /// + /// Preselect any slide builder profile? + /// + public string PreselectedSlideBuilderProfile { get; set; } = string.Empty; + + /// + /// Preselect a text summarizer provider? + /// + public string PreselectedSlideBuilderProvider { get; set; } = string.Empty; + + /// + /// Preselect the target group? + /// + public TargetGroup PreselectedSlideBuilderTargetGroup { get; set; } + + /// + /// Preselect the target language? + /// + public CommonLanguages PreselectedSlideBuilderTargetLanguage { get; set; } + + /// + /// Preselect any other language? + /// + public string PreselectedSlideBuilderOtherLanguage { get; set; } = string.Empty; + #endregion #region Agent: Text Content Cleaner Settings diff --git a/app/MindWork AI Studio/Settings/DataModel/PreviousModels/DataV4.cs b/app/MindWork AI Studio/Settings/DataModel/PreviousModels/DataV4.cs index 61555a3c..f5b09098 100644 --- a/app/MindWork AI Studio/Settings/DataModel/PreviousModels/DataV4.cs +++ b/app/MindWork AI Studio/Settings/DataModel/PreviousModels/DataV4.cs @@ -57,6 +57,8 @@ public sealed class DataV4 public DataEMail EMail { get; set; } = new(); + public DataSlideBuilder SlideBuilder {get; set; } = new(); + public DataLegalCheck LegalCheck { get; set; } = new(); public DataSynonyms Synonyms { get; set; } = new(); diff --git a/app/MindWork AI Studio/Settings/SettingsMigrations.cs b/app/MindWork AI Studio/Settings/SettingsMigrations.cs index e5041817..65263abe 100644 --- a/app/MindWork AI Studio/Settings/SettingsMigrations.cs +++ b/app/MindWork AI Studio/Settings/SettingsMigrations.cs @@ -200,6 +200,16 @@ public static class SettingsMigrations PreselectWebContentReader = previousConfig.PreselectWebContentReaderForTextSummarizer, }, + SlideBuilder = new() + { + PreselectOptions = previousConfig.PreselectSlideBuilderOptions, + PreselectedProfile = previousConfig.PreselectedSlideBuilderProfile, + PreselectedProvider = previousConfig.PreselectedSlideBuilderProvider, + PreselectedTargetGroup = previousConfig.PreselectedSlideBuilderTargetGroup, + PreselectedTargetLanguage = previousConfig.PreselectedSlideBuilderTargetLanguage, + PreselectedOtherLanguage = previousConfig.PreselectedSlideBuilderOtherLanguage, + }, + TextContentCleaner = new() { PreselectAgentOptions = previousConfig.PreselectAgentTextContentCleanerOptions, @@ -236,6 +246,7 @@ public static class SettingsMigrations GrammarSpelling = previousConfig.GrammarSpelling, RewriteImprove = previousConfig.RewriteImprove, EMail = previousConfig.EMail, + SlideBuilder = previousConfig.SlideBuilder, LegalCheck = previousConfig.LegalCheck, Synonyms = previousConfig.Synonyms, MyTasks = previousConfig.MyTasks, diff --git a/app/MindWork AI Studio/Tools/ComponentsExtensions.cs b/app/MindWork AI Studio/Tools/ComponentsExtensions.cs index 20d8ebeb..eaf64ba9 100644 --- a/app/MindWork AI Studio/Tools/ComponentsExtensions.cs +++ b/app/MindWork AI Studio/Tools/ComponentsExtensions.cs @@ -65,6 +65,7 @@ public static class ComponentsExtensions Components.MY_TASKS_ASSISTANT => new(Event.SEND_TO_MY_TASKS_ASSISTANT, Routes.ASSISTANT_MY_TASKS), Components.JOB_POSTING_ASSISTANT => new(Event.SEND_TO_JOB_POSTING_ASSISTANT, Routes.ASSISTANT_JOB_POSTING), Components.DOCUMENT_ANALYSIS_ASSISTANT => new(Event.SEND_TO_DOCUMENT_ANALYSIS_ASSISTANT, Routes.ASSISTANT_DOCUMENT_ANALYSIS), + Components.SLIDE_BUILDER_ASSISTANT => new(Event.SEND_TO_SLIDE_BUILDER_ASSISTANT, Routes.ASSISTANT_SLIDE_BUILDER), Components.CHAT => new(Event.SEND_TO_CHAT, Routes.CHAT), @@ -87,6 +88,7 @@ public static class ComponentsExtensions Components.JOB_POSTING_ASSISTANT => settingsManager.ConfigurationData.JobPostings.PreselectOptions ? settingsManager.ConfigurationData.JobPostings.MinimumProviderConfidence : default, Components.BIAS_DAY_ASSISTANT => settingsManager.ConfigurationData.BiasOfTheDay.PreselectOptions ? settingsManager.ConfigurationData.BiasOfTheDay.MinimumProviderConfidence : default, Components.ERI_ASSISTANT => settingsManager.ConfigurationData.ERI.PreselectOptions ? settingsManager.ConfigurationData.ERI.MinimumProviderConfidence : default, + Components.SLIDE_BUILDER_ASSISTANT => settingsManager.ConfigurationData.SlideBuilder.PreselectOptions ? settingsManager.ConfigurationData.SlideBuilder.MinimumProviderConfidence : default, #warning Add minimum confidence for DOCUMENT_ANALYSIS_ASSISTANT: //Components.DOCUMENT_ANALYSIS_ASSISTANT => settingsManager.ConfigurationData.DocumentAnalysis.PreselectOptions ? settingsManager.ConfigurationData.DocumentAnalysis.MinimumProviderConfidence : default, @@ -114,6 +116,7 @@ public static class ComponentsExtensions Components.BIAS_DAY_ASSISTANT => settingsManager.ConfigurationData.BiasOfTheDay.PreselectOptions ? settingsManager.ConfigurationData.Providers.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.BiasOfTheDay.PreselectedProvider) : null, Components.ERI_ASSISTANT => settingsManager.ConfigurationData.ERI.PreselectOptions ? settingsManager.ConfigurationData.Providers.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.ERI.PreselectedProvider) : null, Components.I18N_ASSISTANT => settingsManager.ConfigurationData.I18N.PreselectOptions ? settingsManager.ConfigurationData.Providers.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.I18N.PreselectedProvider) : null, + Components.SLIDE_BUILDER_ASSISTANT => settingsManager.ConfigurationData.SlideBuilder.PreselectOptions ? settingsManager.ConfigurationData.Providers.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.SlideBuilder.PreselectedProvider) : null, #warning Add preselected provider for DOCUMENT_ANALYSIS_ASSISTANT: //Components.DOCUMENT_ANALYSIS_ASSISTANT => settingsManager.ConfigurationData.DocumentAnalysis.PreselectOptions ? settingsManager.ConfigurationData.Providers.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.DocumentAnalysis.PreselectedProvider) : null, @@ -141,7 +144,8 @@ public static class ComponentsExtensions Components.MY_TASKS_ASSISTANT => settingsManager.ConfigurationData.MyTasks.PreselectOptions ? settingsManager.ConfigurationData.Profiles.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.MyTasks.PreselectedProfile) ?? Profile.NO_PROFILE : Profile.NO_PROFILE, Components.BIAS_DAY_ASSISTANT => settingsManager.ConfigurationData.BiasOfTheDay.PreselectOptions ? settingsManager.ConfigurationData.Profiles.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.BiasOfTheDay.PreselectedProfile) ?? Profile.NO_PROFILE : Profile.NO_PROFILE, Components.ERI_ASSISTANT => settingsManager.ConfigurationData.ERI.PreselectOptions ? settingsManager.ConfigurationData.Profiles.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.ERI.PreselectedProfile) ?? Profile.NO_PROFILE : Profile.NO_PROFILE, - + Components.SLIDE_BUILDER_ASSISTANT => settingsManager.ConfigurationData.SlideBuilder.PreselectOptions ? settingsManager.ConfigurationData.Profiles.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.SlideBuilder.PreselectedProfile) ?? Profile.NO_PROFILE : Profile.NO_PROFILE, + Components.CHAT => settingsManager.ConfigurationData.Chat.PreselectOptions ? settingsManager.ConfigurationData.Profiles.FirstOrDefault(x => x.Id == settingsManager.ConfigurationData.Chat.PreselectedProfile) ?? Profile.NO_PROFILE : Profile.NO_PROFILE, _ => Profile.NO_PROFILE, diff --git a/app/MindWork AI Studio/Tools/Event.cs b/app/MindWork AI Studio/Tools/Event.cs index b3d3628f..225e2500 100644 --- a/app/MindWork AI Studio/Tools/Event.cs +++ b/app/MindWork AI Studio/Tools/Event.cs @@ -54,4 +54,5 @@ public enum Event SEND_TO_MY_TASKS_ASSISTANT, SEND_TO_JOB_POSTING_ASSISTANT, SEND_TO_DOCUMENT_ANALYSIS_ASSISTANT, + SEND_TO_SLIDE_BUILDER_ASSISTANT }