diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/components/chat_ui/ChatUI.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/components/chat_ui/ChatUI.tsx index 55bd214165a..b0f43456a7c 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/components/chat_ui/ChatUI.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/components/chat_ui/ChatUI.tsx @@ -30,7 +30,7 @@ import { MCPServer } from "@/components/mcp_tools/types"; import { ByokCredentialModal } from "@/components/mcp_tools/ByokCredentialModal"; import NotificationsManager from "@/components/molecules/notifications_manager"; import { callMCPTool, fetchMCPServers, fetchMCPToolsets, listMCPTools } from "@/components/networking"; -import { MCPToolset } from "@/components/mcp_tools/types"; +import { MCPTool, MCPToolset } from "@/components/mcp_tools/types"; import TagSelector from "@/components/tag_management/TagSelector"; import VectorStoreSelector from "@/components/vector_store_management/VectorStoreSelector"; import { makeA2ASendMessageRequest } from "../../llm_calls/a2a_send_message"; @@ -612,6 +612,37 @@ const ChatUI: React.FC = ({ setUploadedAudio(file); }; + const handleEndpointChange = (value: string) => { + setEndpointType(value); + setSelectedModel(undefined); + setSelectedAgent(undefined); + setShowCustomModelInput(false); + setSelectedMCPDirectTool(undefined); + if (value === EndpointType.MCP) { + setSelectedMCPServers((prev) => (prev.length === 1 && prev[0] !== "__all__" ? prev : [])); + } + try { + sessionStorage.removeItem("selectedModel"); + sessionStorage.removeItem("selectedAgent"); + } catch {} + }; + + const handleVoiceChange = (value: OpenAIVoice | null) => { + if (value == null) { + return; + } + setSelectedVoice(value); + sessionStorage.setItem("selectedVoice", value); + }; + + const handleAudioFileInputChange = (event: React.ChangeEvent) => { + const file = event.target.files?.[0]; + if (file) { + handleAudioUpload(file); + } + event.target.value = ""; + }; + const mcpServerOptions = useMemo((): MultiSelectOption[] => { const options: MultiSelectOption[] = []; if (endpointType !== EndpointType.MCP) { @@ -1272,20 +1303,7 @@ const ChatUI: React.FC = ({ { - setEndpointType(value); - setSelectedModel(undefined); - setSelectedAgent(undefined); - setShowCustomModelInput(false); - setSelectedMCPDirectTool(undefined); - if (value === EndpointType.MCP) { - setSelectedMCPServers((prev) => (prev.length === 1 && prev[0] !== "__all__" ? prev : [])); - } - try { - sessionStorage.removeItem("selectedModel"); - sessionStorage.removeItem("selectedAgent"); - } catch {} - }} + onEndpointChange={handleEndpointChange} className="mb-4" /> @@ -1295,16 +1313,7 @@ const ChatUI: React.FC = ({