diff --git a/client/webui/frontend/src/lib/components/chat/ChatInputArea.tsx b/client/webui/frontend/src/lib/components/chat/ChatInputArea.tsx index 5f9ee63fdd..b6dea2a33f 100644 --- a/client/webui/frontend/src/lib/components/chat/ChatInputArea.tsx +++ b/client/webui/frontend/src/lib/components/chat/ChatInputArea.tsx @@ -55,7 +55,7 @@ const createEnhancedMessage = (command: ChatCommand, conversationContext?: strin export const ChatInputArea: React.FC<{ agents: AgentCardInfo[]; scrollToBottom?: () => void }> = ({ agents = [], scrollToBottom }) => { const navigate = useNavigate(); const location = useLocation(); - const { isResponding, isCancelling, selectedAgentName, sessionId, setSessionId, handleSubmit, handleCancel, uploadArtifactFile, displayError, artifacts, messages, startNewChatWithPrompt, pendingPrompt, clearPendingPrompt } = useChatContext(); + const { isResponding, isCancelling, selectedAgentName, singleAgentMode, sessionId, setSessionId, handleSubmit, handleCancel, uploadArtifactFile, displayError, artifacts, messages, startNewChatWithPrompt, pendingPrompt, clearPendingPrompt } = useChatContext(); const { handleAgentSelection } = useAgentSelection(); const { settings } = useAudioSettings(); const { configFeatureEnablement } = useConfigContext(); @@ -1068,27 +1068,31 @@ export const ChatInputArea: React.FC<{ agents: AgentCardInfo[]; scrollToBottom?: -
Agent:
- + {!singleAgentMode && ( + <> +
Agent:
+ + + )} {/* Spacer to push buttons to the right */}
diff --git a/client/webui/frontend/src/lib/contexts/ChatContext.ts b/client/webui/frontend/src/lib/contexts/ChatContext.ts index fcf5418c45..3b559b9aa3 100644 --- a/client/webui/frontend/src/lib/contexts/ChatContext.ts +++ b/client/webui/frontend/src/lib/contexts/ChatContext.ts @@ -22,6 +22,7 @@ export interface ChatState { sessionOwnerEmail: string | null; currentTaskId: string | null; selectedAgentName: string; + singleAgentMode: boolean; notifications: Notification[]; isCancelling: boolean; latestStatusText: React.RefObject; @@ -89,6 +90,7 @@ export interface ChatActions { handleCancel: () => void; addNotification: (message: string, type?: "success" | "info" | "warning") => void; setSelectedAgentName: React.Dispatch>; + setSingleAgentMode: React.Dispatch>; uploadArtifactFile: (file: File, overrideSessionId?: string, description?: string, silent?: boolean) => Promise<{ uri: string; sessionId: string } | { error: string } | null>; /** Side Panel Control Actions */ setIsSidePanelCollapsed: React.Dispatch>; diff --git a/client/webui/frontend/src/lib/providers/ChatProvider.tsx b/client/webui/frontend/src/lib/providers/ChatProvider.tsx index d8e610689e..2f8192c6b3 100644 --- a/client/webui/frontend/src/lib/providers/ChatProvider.tsx +++ b/client/webui/frontend/src/lib/providers/ChatProvider.tsx @@ -65,6 +65,7 @@ export const ChatProvider: React.FC = ({ children }) => { const [notifications, setNotifications] = useState([]); const [currentTaskId, setCurrentTaskId] = useState(null); const [selectedAgentName, setSelectedAgentName] = useState(""); + const [singleAgentMode, setSingleAgentMode] = useState(false); const [isCancelling, setIsCancelling] = useState(false); const [taskIdInSidePanel, setTaskIdInSidePanel] = useState(null); const [isSidePanelCollapsed, setIsSidePanelCollapsed] = useState(true); @@ -2002,6 +2003,8 @@ export const ChatProvider: React.FC = ({ children }) => { addNotification, selectedAgentName, setSelectedAgentName, + singleAgentMode, + setSingleAgentMode, artifacts, allArtifacts, artifactsLoading, diff --git a/client/webui/frontend/src/lib/providers/SharedChatProvider.tsx b/client/webui/frontend/src/lib/providers/SharedChatProvider.tsx index b4a9a296fc..15022bef15 100644 --- a/client/webui/frontend/src/lib/providers/SharedChatProvider.tsx +++ b/client/webui/frontend/src/lib/providers/SharedChatProvider.tsx @@ -187,6 +187,7 @@ export function SharedChatProvider({ children, artifacts: initialArtifacts, ragD sessionOwnerEmail: null, currentTaskId: null, selectedAgentName: "", + singleAgentMode: false, notifications: [], isCancelling: false, latestStatusText, @@ -262,6 +263,7 @@ export function SharedChatProvider({ children, artifacts: initialArtifacts, ragD handleCancel: () => {}, addNotification: () => {}, setSelectedAgentName: () => {}, + setSingleAgentMode: () => {}, uploadArtifactFile: async () => null, // Side Panel Control Actions