From aca2428d3c96fc7a15d3b7a91ddc19a23cdbfeb0 Mon Sep 17 00:00:00 2001 From: ryan-crabbe-berri Date: Fri, 3 Jul 2026 18:10:47 -0700 Subject: [PATCH] chore(ui): remove debug console.log statements from dashboard (#32087) * chore(ui): remove debug console.log statements from dashboard Delete 463 leftover console.log/console.debug calls across 87 files in the Admin dashboard. These logged form payloads, API responses, and render traces into every user's browser console. The ESLint policy already encodes the intent (no-console allows only warn and error), so those are kept, along with the console.log = function(){} suppression reassignments and the console.log calls that live inside string/template literals rendered as example code snippets. Removal used an AST codemod so only standalone console.log/console.debug expression statements were dropped; non-statement uses (no-op chart onValueChange props, a placeholder onClick, and a sequence-expression in TopKeyView) were handled by hand. Ratchets the no-console lint metric from 484 to 15. * chore(ui): drop empty blocks left after console.log removal Greptile flagged three empty control-flow blocks (an if and an else in chat_completion.tsx, an else in networking.tsx) left behind when their only content was a deleted console.log. Removes those plus one more empty if in chat_completion.tsx's catch that the review missed. * test(ui): drop provider_info_helpers test asserting debug log The getProviderModels debug console.log calls were removed in this PR, so the test asserting they fire no longer applies. Remove that test and its now-unused console.log spy; the remaining 57 tests still cover the function's actual return-value behavior. --- ui/litellm-dashboard/eslint-metrics.json | 2 +- .../AccessGroupCreateModal.tsx | 4 +- .../AccessGroupEditModal.tsx | 4 +- .../caching/components/cache_dashboard.tsx | 9 - .../components/SidebarProvider.tsx | 7 - .../src/app/(dashboard)/hooks/keys/useKeys.ts | 1 - .../hooks/router/useRouterFields.ts | 3 - .../app/(dashboard)/hooks/teams/useTeams.ts | 2 - .../playground/components/chat_ui/ChatUI.tsx | 6 - .../playground/llm_calls/a2a_send_message.tsx | 2 - .../llm_calls/anthropic_messages.tsx | 5 - .../playground/llm_calls/audio_speech.tsx | 2 - .../llm_calls/audio_transcriptions.tsx | 6 - .../playground/llm_calls/fetch_agents.tsx | 1 - .../playground/llm_calls/image_edits.tsx | 5 - .../playground/llm_calls/image_generation.tsx | 4 - .../playground/llm_calls/interactions_api.tsx | 1 - .../prompts/components/add_prompt_form.tsx | 2 - .../(dashboard)/prompts/components/index.tsx | 1 - .../conversation_panel/useConversation.ts | 1 - .../_components/CreateSearchTools.tsx | 2 - .../search-tools/_components/SearchTools.tsx | 1 - .../users/_components/BulkEditUsers.tsx | 3 - .../users/_components/view_users.tsx | 3 - .../_components/view_users/user_info_view.tsx | 1 - .../src/app/model_hub_table/page.tsx | 1 - .../src/components/AIHub/ModelHubTable.tsx | 11 - .../src/components/OldTeams.tsx | 4 - .../src/components/SSOModals.tsx | 7 - .../Modals/EditSSOSettingsModal.tsx | 6 - .../RouterSettings/Fallbacks/AddFallbacks.tsx | 1 - .../RouterSettings/Fallbacks/Fallbacks.tsx | 1 - .../components/EntityUsage/EntityUsage.tsx | 4 - .../components/EntityUsage/TopKeyView.tsx | 40 ++-- .../src/components/add_model/AddModelForm.tsx | 6 +- .../add_model/add_auto_router_tab.tsx | 11 - .../handle_add_auto_router_submit.tsx | 14 -- .../add_model/handle_add_model_submit.tsx | 9 - .../add_model/model_connection_test.tsx | 4 - .../add_model/provider_specific_fields.tsx | 6 - .../src/components/add_pass_through.tsx | 4 - .../components/alerting/alerting_settings.tsx | 5 - .../src/components/alerting/dynamic_form.tsx | 3 - .../components/bulk_create_users_button.tsx | 5 - .../components/chat_ui/MCPEventsDisplay.tsx | 7 - .../chat_ui/mode_endpoint_mapping.tsx | 2 - .../common_components/ModelSelector.tsx | 1 - .../common_components/fetch_teams.tsx | 2 - .../src/components/email_settings.tsx | 1 - .../src/components/guardrails.tsx | 1 - .../guardrails/GuardrailSelector.tsx | 4 - .../guardrails/add_guardrail_form.tsx | 9 - .../ContentCategoryConfiguration.tsx | 4 - .../content_filter/ContentFilterManager.tsx | 4 +- .../guardrails/edit_guardrail_form.tsx | 2 - .../components/guardrails/guardrail_info.tsx | 6 - .../guardrails/guardrail_optional_params.tsx | 1 - .../guardrails/guardrail_provider_fields.tsx | 7 - .../fetch_available_models_team_key.tsx | 2 - .../components/key_team_helpers/key_list.tsx | 13 -- .../src/components/leftnav.tsx | 8 - .../components/llm_calls/chat_completion.tsx | 25 -- .../llm_calls/code_interpreter_handler.ts | 1 - .../src/components/llm_calls/fetch_models.tsx | 1 - .../components/llm_calls/responses_api.tsx | 13 -- .../mcp_tools/create_mcp_server.tsx | 4 - .../src/components/mcp_tools/mcp_servers.tsx | 1 - .../model_add/reuse_credentials.tsx | 2 - .../model_dashboard/HealthCheckComponent.tsx | 4 +- .../components/model_group_alias_settings.tsx | 1 - .../src/components/networking.tsx | 220 ------------------ .../organisms/create_key_button.tsx | 8 - .../src/components/organizations.tsx | 2 - .../src/components/pass_through_settings.tsx | 2 - .../src/components/policies/index.tsx | 1 - .../src/components/price_data_reload.tsx | 2 - .../components/provider_info_helpers.test.tsx | 13 -- .../src/components/provider_info_helpers.tsx | 4 - .../src/components/public_model_hub.tsx | 4 - .../src/components/router_settings/index.tsx | 5 - .../components/tag_management/TagSelector.tsx | 1 - .../src/components/tag_management/index.tsx | 1 - .../src/components/team/EditMembership.tsx | 4 - ui/litellm-dashboard/src/components/usage.tsx | 19 -- .../src/components/user_dashboard.tsx | 26 --- .../DocumentsTable.tsx | 5 +- .../vector_store_management/index.tsx | 3 - .../vector_store_info.tsx | 1 - .../src/components/view_user_spend.tsx | 3 - 89 files changed, 25 insertions(+), 645 deletions(-) diff --git a/ui/litellm-dashboard/eslint-metrics.json b/ui/litellm-dashboard/eslint-metrics.json index d16be0d2b48..6d18a36f754 100644 --- a/ui/litellm-dashboard/eslint-metrics.json +++ b/ui/litellm-dashboard/eslint-metrics.json @@ -2,5 +2,5 @@ "@typescript-eslint/no-explicit-any": 1991, "complexity": 128, "max-depth": 59, - "no-console": 484 + "no-console": 15 } diff --git a/ui/litellm-dashboard/src/app/(dashboard)/access-groups/components/AccessGroupsModal/AccessGroupCreateModal.tsx b/ui/litellm-dashboard/src/app/(dashboard)/access-groups/components/AccessGroupsModal/AccessGroupCreateModal.tsx index d0a15dbe975..2103701bb67 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/access-groups/components/AccessGroupsModal/AccessGroupCreateModal.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/access-groups/components/AccessGroupsModal/AccessGroupCreateModal.tsx @@ -38,9 +38,7 @@ export function AccessGroupCreateModal({ visible, onCancel, onSuccess }: AccessG }, }); }) - .catch((info) => { - console.log("Validate Failed:", info); - }); + .catch((info) => {}); }; return ( diff --git a/ui/litellm-dashboard/src/app/(dashboard)/access-groups/components/AccessGroupsModal/AccessGroupEditModal.tsx b/ui/litellm-dashboard/src/app/(dashboard)/access-groups/components/AccessGroupsModal/AccessGroupEditModal.tsx index 875dd75489a..ec557260aa5 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/access-groups/components/AccessGroupsModal/AccessGroupEditModal.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/access-groups/components/AccessGroupsModal/AccessGroupEditModal.tsx @@ -52,9 +52,7 @@ export function AccessGroupEditModal({ visible, accessGroup, onCancel, onSuccess }, ); }) - .catch((info) => { - console.log("Validate Failed:", info); - }); + .catch((info) => {}); }; return ( diff --git a/ui/litellm-dashboard/src/app/(dashboard)/caching/components/cache_dashboard.tsx b/ui/litellm-dashboard/src/app/(dashboard)/caching/components/cache_dashboard.tsx index 99656f0db4a..944983da0e1 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/caching/components/cache_dashboard.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/caching/components/cache_dashboard.tsx @@ -150,7 +150,6 @@ const CacheDashboard: React.FC = ({ accessToken, token, userRole }; useEffect(() => { - console.log("DATA IN CACHE DASHBOARD", data); let newData: cacheDataItem[] = data; if (selectedApiKeys.length > 0) { newData = newData.filter((item) => selectedApiKeys.includes(item.api_key)); @@ -180,16 +179,11 @@ const CacheDashboard: React.FC = ({ accessToken, token, userRole // } // ] - console.log("before processed data in cache dashboard", newData); - let llm_api_requests = 0; let cache_hits = 0; let cached_tokens = 0; const processedData = newData.reduce((acc: uiData[], item) => { - console.log("Processing item:", item); - if (!item.call_type) { - console.log("Item has no call_type:", item); item.call_type = "Unknown"; } @@ -227,8 +221,6 @@ const CacheDashboard: React.FC = ({ accessToken, token, userRole } setFilteredData(processedData); - - console.log("PROCESSED DATA IN CACHE DASHBOARD", processedData); }, [selectedApiKeys, selectedModels, dateValue, data]); const handleRefreshClick = () => { @@ -242,7 +234,6 @@ const CacheDashboard: React.FC = ({ accessToken, token, userRole NotificationsManager.info("Running cache health check..."); setHealthCheckResponse(""); const response = await cachingHealthCheckCall(accessToken !== null ? accessToken : ""); - console.log("CACHING HEALTH CHECK RESPONSE", response); setHealthCheckResponse(response); } catch (error: any) { console.error("Error running health check:", error); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/components/SidebarProvider.tsx b/ui/litellm-dashboard/src/app/(dashboard)/components/SidebarProvider.tsx index 4629def86f3..b21759f136d 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/components/SidebarProvider.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/components/SidebarProvider.tsx @@ -24,23 +24,16 @@ const SidebarProvider = ({ setPage, defaultSelectedKey, sidebarCollapsed }: Side useEffect(() => { const fetchUISettings = async () => { if (!accessToken) { - console.log("[SidebarProvider] No access token, skipping UI settings fetch"); return; } try { - console.log("[SidebarProvider] Fetching UI settings from /get/ui_settings"); const settings = await getUISettings(accessToken); - console.log("[SidebarProvider] UI settings response:", settings); // API returns 'values' not 'settings' if (settings?.values?.enabled_ui_pages_internal_users !== undefined) { - console.log("[SidebarProvider] Setting enabled pages:", settings.values.enabled_ui_pages_internal_users); setEnabledPagesInternalUsers(settings.values.enabled_ui_pages_internal_users); } else { - console.log( - "[SidebarProvider] No enabled_ui_pages_internal_users in response (all pages visible by default)", - ); } if (settings?.values?.enable_projects_ui !== undefined) { diff --git a/ui/litellm-dashboard/src/app/(dashboard)/hooks/keys/useKeys.ts b/ui/litellm-dashboard/src/app/(dashboard)/hooks/keys/useKeys.ts index 701a9d30001..dc1b247b06c 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/hooks/keys/useKeys.ts +++ b/ui/litellm-dashboard/src/app/(dashboard)/hooks/keys/useKeys.ts @@ -90,7 +90,6 @@ const keyListCall = async (accessToken: string, page: number, pageSize: number, } const data = await response.json(); - console.log("/key/list API Response:", data); return data; } catch (error) { console.error("Failed to list keys:", error); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/hooks/router/useRouterFields.ts b/ui/litellm-dashboard/src/app/(dashboard)/hooks/router/useRouterFields.ts index 5fa22b41096..b5adb0994e6 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/hooks/router/useRouterFields.ts +++ b/ui/litellm-dashboard/src/app/(dashboard)/hooks/router/useRouterFields.ts @@ -34,8 +34,6 @@ const getRouterFields = async (accessToken: string): Promise = ({ useEffect(() => { let userApiKey = apiKeySource === "session" ? accessToken : apiKey; if (!userApiKey || !token || !userRole || !userID) { - console.log("userApiKey or token or userRole or userID is missing = ", userApiKey, token, userRole, userID); return; } @@ -395,13 +394,10 @@ const ChatUI: React.FC = ({ const loadModels = async () => { try { if (!userApiKey) { - console.log("userApiKey is missing"); return; } const uniqueModels = await fetchAvailableModels(userApiKey); - console.log("Fetched models:", uniqueModels); - setModelInfo(uniqueModels); // check for selection overlap or empty model list @@ -960,7 +956,6 @@ const ChatUI: React.FC = ({ } } catch (error) { if (signal.aborted) { - console.log("Request was cancelled"); } else { console.error("Error fetching response", error); updateTextUI("assistant", "Error fetching response:" + error); @@ -1009,7 +1004,6 @@ const ChatUI: React.FC = ({ } const onModelChange = (value: string) => { - console.log(`selected ${value}`); setSelectedModel(value); setShowCustomModelInput(value === "custom"); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/a2a_send_message.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/a2a_send_message.tsx index 4e01dce0d9d..0b97d9931c4 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/a2a_send_message.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/a2a_send_message.tsx @@ -226,7 +226,6 @@ export const makeA2ASendMessageRequest = async ( } } catch (error) { if (signal?.aborted) { - console.log("A2A request was cancelled"); return; } console.error("A2A send message error:", error); @@ -407,7 +406,6 @@ export const makeA2AStreamMessageRequest = async ( } } catch (error) { if (signal?.aborted) { - console.log("A2A streaming request was cancelled"); return; } console.error("A2A stream message error:", error); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/anthropic_messages.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/anthropic_messages.tsx index 11e7a5e1601..ed2b4280b79 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/anthropic_messages.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/anthropic_messages.tsx @@ -66,8 +66,6 @@ export async function makeAnthropicMessagesRequest( const stream = client.messages.stream(requestBody, { signal }); for await (const messageStreamEvent of stream) { - console.log("Stream event:", messageStreamEvent); - // Process content block deltas if (messageStreamEvent.type === "content_block_delta") { const delta = messageStreamEvent.delta; @@ -76,7 +74,6 @@ export async function makeAnthropicMessagesRequest( if (!firstTokenReceived) { firstTokenReceived = true; const timeToFirstToken = Date.now() - startTime; - console.log("First token received! Time:", timeToFirstToken, "ms"); if (onTimingData) { onTimingData(timeToFirstToken); } @@ -96,7 +93,6 @@ export async function makeAnthropicMessagesRequest( // Process usage data from message_delta events if (messageStreamEvent.type === "message_delta" && (messageStreamEvent as any).usage && onUsageData) { const usage = (messageStreamEvent as any).usage; - console.log("Usage data found:", usage); const usageData: TokenUsage = { completionTokens: usage.output_tokens, promptTokens: usage.input_tokens, @@ -107,7 +103,6 @@ export async function makeAnthropicMessagesRequest( } } catch (error) { if (signal?.aborted) { - console.log("Anthropic messages request was cancelled"); } else { NotificationManager.fromBackend( `Error occurred while generating model response. Please try again. Error: ${error}`, diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/audio_speech.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/audio_speech.tsx index eda5d6ed66a..0bdb62f48a0 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/audio_speech.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/audio_speech.tsx @@ -20,7 +20,6 @@ export async function makeOpenAIAudioSpeechRequest( if (isLocal !== true) { console.log = function () {}; } - console.log("isLocal:", isLocal); const proxyBaseUrl = customBaseUrl || getProxyBaseUrl(); const client = new openai.OpenAI({ apiKey: accessToken, @@ -49,7 +48,6 @@ export async function makeOpenAIAudioSpeechRequest( updateUI(audioUrl, selectedModel); } catch (error) { if (signal?.aborted) { - console.log("Audio speech request was cancelled"); } else { NotificationManager.fromBackend(`Error occurred while generating speech. Please try again. Error: ${error}`); } diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/audio_transcriptions.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/audio_transcriptions.tsx index cdc512ba2f7..33f4faa1f29 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/audio_transcriptions.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/audio_transcriptions.tsx @@ -20,7 +20,6 @@ export async function makeOpenAIAudioTranscriptionRequest( if (isLocal !== true) { console.log = function () {}; } - console.log("isLocal:", isLocal); const proxyBaseUrl = customBaseUrl || getProxyBaseUrl(); const client = new openai.OpenAI({ @@ -31,8 +30,6 @@ export async function makeOpenAIAudioTranscriptionRequest( }); try { - console.log("Processing audio file for transcription:", audioFile.name); - const response = await client.audio.transcriptions.create( { model: selectedModel, @@ -45,8 +42,6 @@ export async function makeOpenAIAudioTranscriptionRequest( { signal }, ); - console.log("Transcription response:", response); - // The response is a transcription object with a text field if (response && response.text) { updateUI(response.text, selectedModel); @@ -58,7 +53,6 @@ export async function makeOpenAIAudioTranscriptionRequest( console.error("Error making audio transcription request:", error); if (signal?.aborted) { - console.log("Audio transcription request was cancelled"); } else { let errorMessage = "Failed to transcribe audio"; diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/fetch_agents.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/fetch_agents.tsx index 0dc589188f5..7fcdb4726fe 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/fetch_agents.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/fetch_agents.tsx @@ -57,7 +57,6 @@ export const fetchAvailableAgents = async (accessToken: string, customBaseUrl?: } const agents: Agent[] = await response.json(); - console.log("Fetched agents:", agents); // Sort agents alphabetically by name agents.sort((a, b) => { diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/image_edits.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/image_edits.tsx index 233f4201b17..8f332c5a905 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/image_edits.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/image_edits.tsx @@ -17,7 +17,6 @@ export async function makeOpenAIImageEditsRequest( if (isLocal !== true) { console.log = function () {}; } - console.log("isLocal:", isLocal); const proxyBaseUrl = customBaseUrl || getProxyBaseUrl(); const client = new openai.OpenAI({ @@ -37,7 +36,6 @@ export async function makeOpenAIImageEditsRequest( for (let i = 0; i < imagesToProcess.length; i++) { const image = imagesToProcess[i]; - console.log(`Processing image ${i + 1} of ${imagesToProcess.length}`); const response = await client.images.edit( { @@ -48,8 +46,6 @@ export async function makeOpenAIImageEditsRequest( { signal }, ); - console.log(`Response for image ${i + 1}:`, response.data); - if (response.data && response.data[0]) { // Handle either URL or base64 data from response if (response.data[0].url) { @@ -73,7 +69,6 @@ export async function makeOpenAIImageEditsRequest( console.error("Error making image edit request:", error); if (signal?.aborted) { - console.log("Image edits request was cancelled"); } else { let errorMessage = "Failed to edit image(s)"; diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/image_generation.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/image_generation.tsx index 102b26c6d0d..7f2b3c7b7e3 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/image_generation.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/image_generation.tsx @@ -16,7 +16,6 @@ export async function makeOpenAIImageGenerationRequest( if (isLocal !== true) { console.log = function () {}; } - console.log("isLocal:", isLocal); const proxyBaseUrl = customBaseUrl || getProxyBaseUrl(); const client = new openai.OpenAI({ apiKey: accessToken, @@ -34,8 +33,6 @@ export async function makeOpenAIImageGenerationRequest( { signal }, ); - console.log(response.data); - if (response.data && response.data[0]) { // Handle either URL or base64 data from response if (response.data[0].url) { @@ -53,7 +50,6 @@ export async function makeOpenAIImageGenerationRequest( } } catch (error) { if (signal?.aborted) { - console.log("Image generation request was cancelled"); } else { NotificationManager.fromBackend(`Error occurred while generating image. Please try again. Error: ${error}`); } diff --git a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/interactions_api.tsx b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/interactions_api.tsx index d0950affc01..39d998fe7eb 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/interactions_api.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/playground/llm_calls/interactions_api.tsx @@ -113,7 +113,6 @@ export async function makeInteractionsRequest( } } catch (error: unknown) { if (signal?.aborted) { - console.log("Interactions request was cancelled"); throw error; } NotificationManager.fromBackend(`Error occurred while making Interactions API request. Error: ${error}`); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/add_prompt_form.tsx b/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/add_prompt_form.tsx index 48623bbda60..1bd831ca49d 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/add_prompt_form.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/add_prompt_form.tsx @@ -38,7 +38,6 @@ const AddPromptForm: React.FC = ({ visible, onClose, accessT try { const values = await form.validateFields(); - console.log("values: ", values); if (!accessToken) { NotificationsManager.fromBackend("Access token is required"); return; @@ -59,7 +58,6 @@ const AddPromptForm: React.FC = ({ visible, onClose, accessT try { const conversionResult = await convertPromptFileToJson(accessToken, file); - console.log("Conversion result:", conversionResult); // Prepare prompt data for creation promptData = { diff --git a/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/index.tsx b/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/index.tsx index 3430d9808d1..6e0e13d5181 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/index.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/index.tsx @@ -38,7 +38,6 @@ const PromptsPanel: React.FC = ({ accessToken, userRole }) => { setIsLoading(true); try { const response: ListPromptsResponse = await getPromptsList(accessToken, selectedEnvironment); - console.log(`prompts: ${JSON.stringify(response)}`); setPromptsList(response.prompts); } catch (error) { console.error("Error fetching prompts:", error); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/prompt_editor_view/conversation_panel/useConversation.ts b/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/prompt_editor_view/conversation_panel/useConversation.ts index d8632170c69..d7852ca8bb4 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/prompt_editor_view/conversation_panel/useConversation.ts +++ b/ui/litellm-dashboard/src/app/(dashboard)/prompts/components/prompt_editor_view/conversation_panel/useConversation.ts @@ -177,7 +177,6 @@ export const useConversation = (prompt: any, accessToken: string | null) => { }); } catch (error: any) { if (error.name === "AbortError") { - console.log("Request was cancelled"); } else { console.error("Error testing prompt:", error); setMessages((prev) => { diff --git a/ui/litellm-dashboard/src/app/(dashboard)/search-tools/_components/CreateSearchTools.tsx b/ui/litellm-dashboard/src/app/(dashboard)/search-tools/_components/CreateSearchTools.tsx index 880f51dde61..b1cb5eb5581 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/search-tools/_components/CreateSearchTools.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/search-tools/_components/CreateSearchTools.tsx @@ -100,8 +100,6 @@ const CreateSearchTool: React.FC = ({ : undefined, }; - console.log(`Creating search tool with payload:`, payload); - if (accessToken != null) { const response = await createSearchTool(accessToken, payload); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/search-tools/_components/SearchTools.tsx b/ui/litellm-dashboard/src/app/(dashboard)/search-tools/_components/SearchTools.tsx index 53ca6c850b9..65aee211271 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/search-tools/_components/SearchTools.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/search-tools/_components/SearchTools.tsx @@ -194,7 +194,6 @@ const SearchTools: React.FC = ({ accessToken, userRole, userID ); if (!accessToken || !userRole || !userID) { - console.log("Missing required authentication parameters", { accessToken, userRole, userID }); return
Missing required authentication parameters.
; } diff --git a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/BulkEditUsers.tsx b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/BulkEditUsers.tsx index f22de171d68..9bef2f3a937 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/BulkEditUsers.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/BulkEditUsers.tsx @@ -69,7 +69,6 @@ const BulkEditUserModal: React.FC = ({ ); const handleSubmit = async (formValues: any) => { - console.log("formValues", formValues); if (!accessToken) { NotificationsManager.fromBackend("Access token not found"); return; @@ -150,8 +149,6 @@ const BulkEditUserModal: React.FC = ({ updateAllUsers, ); - console.log("result", result); - teamResults.push({ teamId, success: true, diff --git a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/view_users.tsx b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/view_users.tsx index ca8b8a217e0..18709e05df8 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/view_users.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/view_users.tsx @@ -120,7 +120,6 @@ const ViewUserDashboard: React.FC = ({ const model_available = await modelAvailableCall(accessToken, userID, userRole); let available_model_names = model_available["data"].map((element: { id: string }) => element.id); - console.log("available_model_names:", available_model_names); setUserModels(available_model_names); } catch (error) { console.error("Error fetching user models:", error); @@ -193,8 +192,6 @@ const ViewUserDashboard: React.FC = ({ }; const handleEditSubmit = async (editedUser: any) => { - console.log("inside handleEditSubmit:", editedUser); - if (!accessToken || !token || !userRole || !userID) { return; } diff --git a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/view_users/user_info_view.tsx b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/view_users/user_info_view.tsx index 4692b71c24a..72e8b050d48 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/view_users/user_info_view.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/view_users/user_info_view.tsx @@ -97,7 +97,6 @@ export default function UserInfoView({ }, []); React.useEffect(() => { - console.log(`userId: ${userId}, userRole: ${userRole}, accessToken: ${accessToken}`); const fetchData = async () => { try { if (!accessToken) return; diff --git a/ui/litellm-dashboard/src/app/model_hub_table/page.tsx b/ui/litellm-dashboard/src/app/model_hub_table/page.tsx index 472cea4c27e..c399178e6aa 100644 --- a/ui/litellm-dashboard/src/app/model_hub_table/page.tsx +++ b/ui/litellm-dashboard/src/app/model_hub_table/page.tsx @@ -7,7 +7,6 @@ function PublicModelHubTableContent() { const searchParams = useSearchParams()!; const key = searchParams.get("key"); const [accessToken, setAccessToken] = useState(null); - console.log("PublicModelHubTable accessToken:", accessToken); useEffect(() => { if (!key) { diff --git a/ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx b/ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx index 9f77786635f..d3dd914f5c5 100644 --- a/ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx +++ b/ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx @@ -120,12 +120,10 @@ const ModelHubTable: React.FC = ({ accessToken, publicPage, try { setLoading(true); const _modelHubData = await modelHubCall(accessToken); - console.log("ModelHubData:", _modelHubData); setModelHubData(_modelHubData.data); getConfigFieldSetting(accessToken, "enable_public_model_hub") .then((data) => { - console.log(`data: ${JSON.stringify(data)}`); if (data.field_value == true) { setPublicPageAllowed(true); } @@ -145,10 +143,6 @@ const ModelHubTable: React.FC = ({ accessToken, publicPage, setLoading(true); await getUiConfig(); const _modelHubData = await modelHubPublicModelsCall(); - console.log("ModelHubData:", _modelHubData); - console.log("First model structure:", _modelHubData[0]); - console.log("Model has model_group?", _modelHubData[0]?.model_group); - console.log("Model has providers?", _modelHubData[0]?.providers); setModelHubData(_modelHubData); setPublicPageAllowed(true); } catch (error) { @@ -175,7 +169,6 @@ const ModelHubTable: React.FC = ({ accessToken, publicPage, try { setAgentLoading(true); const response = await getAgentsList(accessToken); - console.log("AgentHubData:", response); let agents = response.agents; let agent_card_list = agents.map((agent: any) => ({ agent_id: agent.agent_id, @@ -205,7 +198,6 @@ const ModelHubTable: React.FC = ({ accessToken, publicPage, try { setMcpLoading(true); const response = await fetchMCPServers(accessToken); - console.log("MCPHubData:", response); setMcpHubData(response); } catch (error) { console.error("There was an error fetching the MCP server data", error); @@ -384,9 +376,6 @@ const ModelHubTable: React.FC = ({ accessToken, publicPage, setFilteredData(newFilteredData); }, []); - console.log("publicPage: ", publicPage); - console.log("publicPageAllowed: ", publicPageAllowed); - // If this is a public page, use the dedicated PublicModelHub component if (publicPage && publicPageAllowed) { return ; diff --git a/ui/litellm-dashboard/src/components/OldTeams.tsx b/ui/litellm-dashboard/src/components/OldTeams.tsx index 0ecbf39541b..c2cb3d4948e 100644 --- a/ui/litellm-dashboard/src/components/OldTeams.tsx +++ b/ui/litellm-dashboard/src/components/OldTeams.tsx @@ -94,7 +94,6 @@ const getOrganizationModels = (organization: Organization | null, userModels: st if (organization) { if (organization.models.length > 0) { - console.log(`organization.models: ${organization.models}`); tempModelsToPick = organization.models; } else { // show all available models if the team has no models set @@ -251,9 +250,7 @@ const Teams: React.FC = ({ accessToken, userID, userRole, premiumUser const [routerSettingsKey, setRouterSettingsKey] = useState(0); useEffect(() => { - console.log(`currentOrgForCreateTeam: ${currentOrgForCreateTeam}`); const models = getOrganizationModels(currentOrgForCreateTeam, userModels); - console.log(`models: ${models}`); setModelsToPick(models); form.setFieldValue("models", []); }, [currentOrgForCreateTeam, userModels]); @@ -431,7 +428,6 @@ const Teams: React.FC = ({ accessToken, userID, userRole, premiumUser const handleCreate = async (formValues: Record) => { try { - console.log(`formValues: ${JSON.stringify(formValues)}`); if (accessToken != null) { const newTeamAlias = formValues?.team_alias; const existingTeamAliases = teams?.map((t) => t.team_alias) ?? []; diff --git a/ui/litellm-dashboard/src/components/SSOModals.tsx b/ui/litellm-dashboard/src/components/SSOModals.tsx index e063b0ed431..9b6cd40e0c6 100644 --- a/ui/litellm-dashboard/src/components/SSOModals.tsx +++ b/ui/litellm-dashboard/src/components/SSOModals.tsx @@ -121,11 +121,7 @@ const SSOModals: React.FC = ({ if (isAddSSOModalVisible && accessToken) { try { const ssoData = await getSSOSettings(accessToken); - console.log("Raw SSO data received:", ssoData); // Debug log if (ssoData && ssoData.values) { - console.log("SSO values:", ssoData.values); // Debug log - console.log("user_email from API:", ssoData.values.user_email); // Debug log - // Determine which SSO provider is configured let selectedProvider = null; if (ssoData.values.google_client_id) { @@ -175,13 +171,10 @@ const SSOModals: React.FC = ({ ...roleMappingFields, }; - console.log("Setting form values:", formValues); // Debug log - // Clear form first, then set values with a small delay to ensure proper initialization form.resetFields(); setTimeout(() => { form.setFieldsValue(formValues); - console.log("Form values set, current form values:", form.getFieldsValue()); // Debug log }, 100); } } catch (error) { diff --git a/ui/litellm-dashboard/src/components/Settings/AdminSettings/SSOSettings/Modals/EditSSOSettingsModal.tsx b/ui/litellm-dashboard/src/components/Settings/AdminSettings/SSOSettings/Modals/EditSSOSettingsModal.tsx index bbae8f1451a..6c341c42fb7 100644 --- a/ui/litellm-dashboard/src/components/Settings/AdminSettings/SSOSettings/Modals/EditSSOSettingsModal.tsx +++ b/ui/litellm-dashboard/src/components/Settings/AdminSettings/SSOSettings/Modals/EditSSOSettingsModal.tsx @@ -24,9 +24,6 @@ const EditSSOSettingsModal: React.FC = ({ isVisible, useEffect(() => { if (isVisible && ssoSettings.data && ssoSettings.data.values) { const ssoData = ssoSettings.data; - console.log("Raw SSO data received:", ssoData); // Debug log - console.log("SSO values:", ssoData.values); // Debug log - console.log("user_email from API:", ssoData.values.user_email); // Debug log // Determine which SSO provider is configured let selectedProvider = null; @@ -86,13 +83,10 @@ const EditSSOSettingsModal: React.FC = ({ isVisible, ...teamMappingFields, }; - console.log("Setting form values:", formValues); // Debug log - // Clear form first, then set values with a small delay to ensure proper initialization form.resetFields(); setTimeout(() => { form.setFieldsValue(formValues); - console.log("Form values set, current form values:", form.getFieldsValue()); // Debug log }, 100); } }, [isVisible, ssoSettings.data, form]); diff --git a/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/AddFallbacks.tsx b/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/AddFallbacks.tsx index a8eed645036..6b2950b450d 100644 --- a/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/AddFallbacks.tsx +++ b/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/AddFallbacks.tsx @@ -54,7 +54,6 @@ export default function AddFallbacks({ accessToken, value = [], onChange }: AddF const loadModels = async () => { try { const uniqueModels = await fetchAvailableModels(accessToken); - console.log("Fetched models for fallbacks:", uniqueModels); setModelInfo(uniqueModels); } catch (error) { console.error("Error fetching model info for fallbacks:", error); diff --git a/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/Fallbacks.tsx b/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/Fallbacks.tsx index a074473147a..c1140350466 100644 --- a/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/Fallbacks.tsx +++ b/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/Fallbacks.tsx @@ -133,7 +133,6 @@ const Fallbacks: React.FC = ({ accessToken, userRole, userID }) return; } getCallbacksCall(accessToken, userID, userRole).then((data) => { - console.log("callbacks", data); let router_settings = data.router_settings; if ("model_group_retry_policy" in router_settings) { delete router_settings["model_group_retry_policy"]; diff --git a/ui/litellm-dashboard/src/components/UsagePage/components/EntityUsage/EntityUsage.tsx b/ui/litellm-dashboard/src/components/UsagePage/components/EntityUsage/EntityUsage.tsx index d78e39a87f3..df5b14a57d6 100644 --- a/ui/litellm-dashboard/src/components/UsagePage/components/EntityUsage/EntityUsage.tsx +++ b/ui/litellm-dashboard/src/components/UsagePage/components/EntityUsage/EntityUsage.tsx @@ -216,12 +216,10 @@ const EntityUsage: React.FC = ({ accessToken, entityType, enti }; const getTopAPIKeys = () => { - console.log("debugTags", { spendData }); const keySpend: { [key: string]: KeyMetricWithMetadata } = {}; spendData.results.forEach((day) => { const { breakdown } = day; const { entities } = breakdown; - console.log("debugTags", { entities }); const tagDictionary = Object.keys(entities).reduce((acc: { [key: string]: TagUsage[] }, entity) => { const { api_key_breakdown } = entities[entity]; Object.keys(api_key_breakdown).forEach((key) => { @@ -234,7 +232,6 @@ const EntityUsage: React.FC = ({ accessToken, entityType, enti }); return acc; }, {}); - console.log("debugTags", { tagDictionary }); Object.entries(day.breakdown.api_keys || {}).forEach(([key, metrics]) => { if (!keySpend[key]) { keySpend[key] = { @@ -255,7 +252,6 @@ const EntityUsage: React.FC = ({ accessToken, entityType, enti tags: tagDictionary[key] || [], }, }; - console.log("debugTags", { keySpend }); } keySpend[key].metrics.spend += metrics.metrics.spend; keySpend[key].metrics.prompt_tokens += metrics.metrics.prompt_tokens; diff --git a/ui/litellm-dashboard/src/components/UsagePage/components/EntityUsage/TopKeyView.tsx b/ui/litellm-dashboard/src/components/UsagePage/components/EntityUsage/TopKeyView.tsx index 96f702fd1d4..d0748583c30 100644 --- a/ui/litellm-dashboard/src/components/UsagePage/components/EntityUsage/TopKeyView.tsx +++ b/ui/litellm-dashboard/src/components/UsagePage/components/EntityUsage/TopKeyView.tsx @@ -257,31 +257,27 @@ const TopKeyView: React.FC = ({ topKeys, teams, showTags = fals )} - {isModalOpen && - selectedKey && - keyData && - (console.log("Rendering modal with:", { isModalOpen, selectedKey, keyData }), - ( -
-
- {/* Close button */} - + {isModalOpen && selectedKey && keyData && ( +
+
+ {/* Close button */} + - {/* Content */} -
- -
+ {/* Content */} +
+
- ))} +
+ )} ); }; diff --git a/ui/litellm-dashboard/src/components/add_model/AddModelForm.tsx b/ui/litellm-dashboard/src/components/add_model/AddModelForm.tsx index 300105b8bf6..73cfdce5263 100644 --- a/ui/litellm-dashboard/src/components/add_model/AddModelForm.tsx +++ b/ui/litellm-dashboard/src/components/add_model/AddModelForm.tsx @@ -110,14 +110,11 @@ const AddModelForm: React.FC = ({
{ - console.log("🔥 Form onFinish triggered with values:", values); await handleOk().then(() => { setTeamAdminSelectedTeam(null); }); }} - onFinishFailed={(errorInfo) => { - console.log("💥 Form onFinishFailed triggered:", errorInfo); - }} + onFinishFailed={(errorInfo) => {}} labelCol={{ span: 10 }} wrapperCol={{ span: 16 }} labelAlign="left" @@ -260,7 +257,6 @@ const AddModelForm: React.FC = ({ > {({ getFieldValue }) => { const credentialName = getFieldValue("litellm_credential_name"); - console.log("🔑 Credential Name Changed:", credentialName); // Only show provider specific fields if no credentials selected if (!credentialName) { return ( diff --git a/ui/litellm-dashboard/src/components/add_model/add_auto_router_tab.tsx b/ui/litellm-dashboard/src/components/add_model/add_auto_router_tab.tsx index fdce2c6803d..5c44b260e84 100644 --- a/ui/litellm-dashboard/src/components/add_model/add_auto_router_tab.tsx +++ b/ui/litellm-dashboard/src/components/add_model/add_auto_router_tab.tsx @@ -67,7 +67,6 @@ const AddAutoRouterTab: React.FC = ({ form, handleOk, acc const loadModels = async () => { try { const uniqueModels = await fetchAvailableModels(accessToken); - console.log("Fetched models for auto router:", uniqueModels); setModelInfo(uniqueModels); } catch (error) { console.error("Error fetching model info for auto router:", error); @@ -87,11 +86,7 @@ const AddAutoRouterTab: React.FC = ({ form, handleOk, acc // Auto router specific form submit handler const handleAutoRouterSubmit = () => { - console.log("Auto router submit triggered!"); - console.log("Router type:", routerType); - const currentFormValues = form.getFieldsValue(); - console.log("Form values:", currentFormValues); // Check basic required fields first if (!currentFormValues.auto_router_name) { @@ -123,8 +118,6 @@ const AddAutoRouterTab: React.FC = ({ form, handleOk, acc form .validateFields(["auto_router_name"]) .then((values) => { - console.log("Complexity router validation passed"); - // Build the complexity router config const submitValues = { ...values, @@ -138,7 +131,6 @@ const AddAutoRouterTab: React.FC = ({ form, handleOk, acc model_access_group: currentFormValues.model_access_group, }; - console.log("Final submit values:", submitValues); handleAddAutoRouterSubmit(submitValues, accessToken, form, handleOk); }) .catch((error) => { @@ -179,13 +171,11 @@ const AddAutoRouterTab: React.FC = ({ form, handleOk, acc form .validateFields() .then((values) => { - console.log("Form validation passed, submitting with values:", values); const submitValues = { ...values, auto_router_config: routerConfig, model_type: "semantic_router", }; - console.log("Final submit values:", submitValues); handleAddAutoRouterSubmit(submitValues, accessToken, form, handleOk); }) .catch((error) => { @@ -404,7 +394,6 @@ const AddAutoRouterTab: React.FC = ({ form, handleOk, acc