Show user prompt separately from orchestration wrapper in chat UI#243
Conversation
When using multi-agent orchestration (broadcast, sequential, orchestrator modes), the user's prompt was wrapped in a larger context prompt and the full wrapped version was shown in the chat UI. This was overwhelming and hard to read. Changes: - Add OriginalContent property to ChatMessage to store the user's actual typed prompt when Content contains a wrapped/orchestration version - Thread originalPrompt parameter through SendPromptAsync and SendPromptAndWaitAsync so orchestration callers can pass the user's original text - Pass original prompt in SendBroadcastAsync, SendSequentialAsync, SendViaOrchestratorAsync, ExecuteWorkerAsync, and reflect cycle paths - Update ChatMessageItem.razor to show OriginalContent as the visible message with a collapsible <details> element for the full orchestration prompt - Add CSS styling for the collapsed orchestration prompt details - Add unit tests for OriginalContent property and SendPromptAsync behavior Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
If you've ran these through pr multi squad of power until it says it's mergeable just merge em |
Add OriginalContent column to ChatMessageEntity and map it in both ToChatMessage() and FromChatMessage() so the separated user prompt survives app restarts. sqlite-net-pcl auto-migrates the nullable column; existing rows get null (pre-PR behavior). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Line 1363: SendPromptAsync for resume synthesis was missing originalPrompt: pending.OriginalPrompt, causing the orchestrator's synthesis message after app-restart to show the full wrapped prompt instead of the user's original text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
✅ Multi-Model Review: Ready to MergeTwo fixes applied during review: Fix 1 —
|
Problem
When using multi-agent orchestration (broadcast, sequential, orchestrator modes), the user's prompt gets wrapped in a larger context prompt that includes multi-agent context prefixes, orchestrator planning instructions, worker task assignments, etc. The full wrapped prompt was shown in the chat UI, making it hard to read and overwhelming.
Fix
OriginalContentproperty toChatMessageto store the user's original typed text whenContentcontains the full orchestration-wrapped versionoriginalPromptparameter throughSendPromptAsyncandSendPromptAndWaitAsyncso orchestration callers can provide the user's original textChatMessageItem.razorto displayOriginalContentas the visible message, with a collapsible<details>element showing the full orchestration promptWhat it looks like
OriginalContentis null (regular non-orchestrated messages), behavior is unchangedTesting
OrchestrationPromptDisplayTests.cscoveringOriginalContentbehaviorChatMessageTests.csfor the new property