mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-11 20:13:48 +00:00
Added a component for dynamic assistants (#911)
This commit is contained in:
1 parent
e78a0e61b9
commit
415ed35422
5 files changed
+28
-12
No files matched your search
@@ -29,16 +29,17 @@ public static class ComponentsExtensions
|
||||
/// blocks starting another one and inactive sessions can be cleared as a group.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Components return <c>false</c> for two different reasons. The chat has no assistant sessions
|
||||
/// at all. The visual briefing assistant keys its sessions per briefing, so it owns one slot per
|
||||
/// stored briefing rather than one per component. Both must be excluded from the single-slot
|
||||
/// checks, which is why this is a capability and not a component comparison.
|
||||
/// Components return <c>false</c> for three different reasons. The chat has no assistant sessions
|
||||
/// at all. Dynamic assistants key their sessions per plugin. The visual briefing assistant keys
|
||||
/// its sessions per briefing, so it owns one slot per stored briefing rather than one per
|
||||
/// component. All must be excluded from the single-slot checks, which is why this is a
|
||||
/// capability and not a component comparison.
|
||||
/// </remarks>
|
||||
/// <param name="component">The component to look up.</param>
|
||||
/// <returns><c>true</c> when the component owns exactly one session slot.</returns>
|
||||
public static bool HasSingleSessionSlot(this Components component) => component switch
|
||||
{
|
||||
Components.CHAT => false,
|
||||
Components.CHAT or Components.DYNAMIC_ASSISTANT => false,
|
||||
Components.VISUAL_BRIEFING_ASSISTANT => false,
|
||||
|
||||
_ => true,
|
||||
@@ -59,7 +60,8 @@ public static class ComponentsExtensions
|
||||
public static bool AllowSendTo(this Components component) => component switch
|
||||
{
|
||||
Components.NONE => false,
|
||||
|
||||
Components.DYNAMIC_ASSISTANT => false,
|
||||
|
||||
Components.ERI_ASSISTANT => false,
|
||||
Components.BIAS_DAY_ASSISTANT => false,
|
||||
Components.I18N_ASSISTANT => false,
|
||||
@@ -190,7 +192,8 @@ public static class ComponentsExtensions
|
||||
|
||||
Components.BATCH_PROCESSING_ASSISTANT => settingsManager.ConfigurationData.BatchProcessing.PreselectOptions ? settingsManager.GetProviderById(settingsManager.ConfigurationData.BatchProcessing.PreselectedProvider) : Settings.Provider.NONE,
|
||||
|
||||
Components.CHAT => settingsManager.ConfigurationData.Chat.PreselectOptions ? settingsManager.GetProviderById(settingsManager.ConfigurationData.Chat.PreselectedProvider) : Settings.Provider.NONE,
|
||||
// Dynamic assistants have no dedicated settings yet, so they derive their defaults from the chat:
|
||||
Components.DYNAMIC_ASSISTANT or Components.CHAT => settingsManager.ConfigurationData.Chat.PreselectOptions ? settingsManager.GetProviderById(settingsManager.ConfigurationData.Chat.PreselectedProvider) : Settings.Provider.NONE,
|
||||
|
||||
Components.AGENT_TEXT_CONTENT_CLEANER => settingsManager.ConfigurationData.TextContentCleaner.PreselectAgentOptions ? settingsManager.GetProviderById(settingsManager.ConfigurationData.TextContentCleaner.PreselectedAgentProvider) : Settings.Provider.NONE,
|
||||
Components.AGENT_DATA_SOURCE_SELECTION => settingsManager.ConfigurationData.AgentDataSourceSelection.PreselectAgentOptions ? settingsManager.GetProviderById(settingsManager.ConfigurationData.AgentDataSourceSelection.PreselectedAgentProvider) : Settings.Provider.NONE,
|
||||
@@ -213,7 +216,8 @@ public static class ComponentsExtensions
|
||||
Components.ERI_ASSISTANT => settingsManager.ConfigurationData.ERI.PreselectOptions ? settingsManager.ConfigurationData.ERI.PreselectedProfile : string.Empty,
|
||||
Components.SLIDE_BUILDER_ASSISTANT => settingsManager.ConfigurationData.SlideBuilder.PreselectOptions ? settingsManager.ConfigurationData.SlideBuilder.PreselectedProfile : string.Empty,
|
||||
Components.VISUAL_BRIEFING_ASSISTANT => settingsManager.ConfigurationData.VisualBriefing.PreselectedProfile,
|
||||
Components.CHAT => settingsManager.ConfigurationData.Chat.PreselectOptions ? settingsManager.ConfigurationData.Chat.PreselectedProfile : string.Empty,
|
||||
// Dynamic assistants have no dedicated settings yet, so they derive their defaults from the chat:
|
||||
Components.DYNAMIC_ASSISTANT or Components.CHAT => settingsManager.ConfigurationData.Chat.PreselectOptions ? settingsManager.ConfigurationData.Chat.PreselectedProfile : string.Empty,
|
||||
|
||||
// The Document Analysis Assistant does not have a preselected profile at the component level.
|
||||
// The profile is selected per policy instead. We do this inside the Document Analysis Assistant component:
|
||||
@@ -227,7 +231,8 @@ public static class ComponentsExtensions
|
||||
|
||||
public static ChatTemplate PreselectedChatTemplate(this Components component, SettingsManager settingsManager) => component switch
|
||||
{
|
||||
Components.CHAT => settingsManager.ConfigurationData.Chat.PreselectOptions ? settingsManager.GetChatTemplateById(settingsManager.ConfigurationData.Chat.PreselectedChatTemplate) : ChatTemplate.NO_CHAT_TEMPLATE,
|
||||
// Dynamic assistants have no dedicated settings yet, so they derive their defaults from the chat:
|
||||
Components.DYNAMIC_ASSISTANT or Components.CHAT => settingsManager.ConfigurationData.Chat.PreselectOptions ? settingsManager.GetChatTemplateById(settingsManager.ConfigurationData.Chat.PreselectedChatTemplate) : ChatTemplate.NO_CHAT_TEMPLATE,
|
||||
|
||||
_ => ChatTemplate.NO_CHAT_TEMPLATE,
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user