diff --git a/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs b/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs index 1b1503b6..8d7e2803 100644 --- a/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs +++ b/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs @@ -372,9 +372,14 @@ public abstract partial class AssistantBase : AssistantLowerBase wher switch (destination) { case Tools.Components.CHAT: - var convertedChatThread = this.ConvertToChatThread; - convertedChatThread = convertedChatThread with { SelectedProvider = this.providerSettings.Id }; - MessageBus.INSTANCE.DeferMessage(this, sendToData.Event, convertedChatThread); + if (sendToButton.SendToChatAsInput) + MessageBus.INSTANCE.DeferMessage(this, Event.SEND_TO_CHAT_INPUT, contentToSend); + else + { + var convertedChatThread = this.ConvertToChatThread; + convertedChatThread = convertedChatThread with { SelectedProvider = this.providerSettings.Id }; + MessageBus.INSTANCE.DeferMessage(this, sendToData.Event, convertedChatThread); + } break; default: diff --git a/app/MindWork AI Studio/Assistants/PromptOptimizer/AssistantPromptOptimizer.razor.cs b/app/MindWork AI Studio/Assistants/PromptOptimizer/AssistantPromptOptimizer.razor.cs index 5b485e91..fed13be2 100644 --- a/app/MindWork AI Studio/Assistants/PromptOptimizer/AssistantPromptOptimizer.razor.cs +++ b/app/MindWork AI Studio/Assistants/PromptOptimizer/AssistantPromptOptimizer.razor.cs @@ -100,6 +100,7 @@ public partial class AssistantPromptOptimizer : AssistantBaseCore string.IsNullOrWhiteSpace(this.optimizedPrompt) ? this.inputPrompt : this.optimizedPrompt, }, ]; diff --git a/app/MindWork AI Studio/Components/ChatComponent.razor.cs b/app/MindWork AI Studio/Components/ChatComponent.razor.cs index f734d620..7c45bc63 100644 --- a/app/MindWork AI Studio/Components/ChatComponent.razor.cs +++ b/app/MindWork AI Studio/Components/ChatComponent.razor.cs @@ -92,6 +92,10 @@ public partial class ChatComponent : MSGComponentBase, IAsyncDisposable this.currentChatTemplate = this.SettingsManager.GetPreselectedChatTemplate(Tools.Components.CHAT); this.userInput = this.currentChatTemplate.PredefinedUserPrompt; + var deferredInput = MessageBus.INSTANCE.CheckDeferredMessages(Event.SEND_TO_CHAT_INPUT).FirstOrDefault(); + if (!string.IsNullOrWhiteSpace(deferredInput)) + this.userInput = deferredInput; + // Apply template's file attachments, if any: foreach (var attachment in this.currentChatTemplate.FileAttachments) this.chatDocumentPaths.Add(attachment); diff --git a/app/MindWork AI Studio/MindWork AI Studio.csproj b/app/MindWork AI Studio/MindWork AI Studio.csproj index d48580d0..91bff5b2 100644 --- a/app/MindWork AI Studio/MindWork AI Studio.csproj +++ b/app/MindWork AI Studio/MindWork AI Studio.csproj @@ -44,6 +44,7 @@ + diff --git a/app/MindWork AI Studio/Tools/Event.cs b/app/MindWork AI Studio/Tools/Event.cs index a9a4f223..6dd49ad8 100644 --- a/app/MindWork AI Studio/Tools/Event.cs +++ b/app/MindWork AI Studio/Tools/Event.cs @@ -51,6 +51,7 @@ public enum Event SEND_TO_CODING_ASSISTANT, SEND_TO_TEXT_SUMMARIZER_ASSISTANT, SEND_TO_CHAT, + SEND_TO_CHAT_INPUT, SEND_TO_EMAIL_ASSISTANT, SEND_TO_LEGAL_CHECK_ASSISTANT, SEND_TO_SYNONYMS_ASSISTANT, diff --git a/app/MindWork AI Studio/Tools/SendToButton.cs b/app/MindWork AI Studio/Tools/SendToButton.cs index c591e2ff..0d0e74da 100644 --- a/app/MindWork AI Studio/Tools/SendToButton.cs +++ b/app/MindWork AI Studio/Tools/SendToButton.cs @@ -7,7 +7,9 @@ public readonly record struct SendToButton() : IButtonData public Func GetText { get; init; } = () => string.Empty; public bool UseResultingContentBlockData { get; init; } = true; + + public bool SendToChatAsInput { get; init; } public Components Self { get; init; } = Components.NONE; -} \ No newline at end of file +}