From 77d48e739d1c63bbedd6c701a53502ce8fc1521c Mon Sep 17 00:00:00 2001 From: Sameer Kankute Date: Tue, 28 Apr 2026 18:57:55 +0530 Subject: [PATCH] chore(proxy): remove unintended generated and local files from prior commit Drop accidental dashboard export path renames in _experimental/out, remove committed local proxy log, and remove the unintended ad-hoc test file so the feature commit only contains intentional source changes. Made-with: Cursor --- .../out/{404/index.html => 404.html} | 0 .../index.html => _not-found.html} | 0 .../index.html => api-reference.html} | 0 .../out/{chat/index.html => chat.html} | 0 .../index.html => api-playground.html} | 0 .../{budgets/index.html => budgets.html} | 0 .../{caching/index.html => caching.html} | 0 .../index.html => claude-code-plugins.html} | 0 .../{old-usage/index.html => old-usage.html} | 0 .../{prompts/index.html => prompts.html} | 0 .../index.html => tag-management.html} | 0 .../index.html => guardrails.html} | 0 .../out/{login/index.html => login.html} | 0 .../out/{logs/index.html => logs.html} | 0 .../{callback/index.html => callback.html} | 0 .../{model-hub/index.html => model-hub.html} | 0 .../{model_hub/index.html => model_hub.html} | 0 .../index.html => model_hub_table.html} | 0 .../index.html => models-and-endpoints.html} | 0 .../index.html => onboarding.html} | 0 .../index.html => organizations.html} | 0 .../index.html => playground.html} | 0 .../{policies/index.html => policies.html} | 0 .../index.html => admin-settings.html} | 0 .../index.html => logging-and-alerts.html} | 0 .../index.html => router-settings.html} | 0 .../{ui-theme/index.html => ui-theme.html} | 0 .../out/{skills/index.html => skills.html} | 0 .../out/{teams/index.html => teams.html} | 0 .../{test-key/index.html => test-key.html} | 0 .../index.html => mcp-servers.html} | 0 .../index.html => vector-stores.html} | 0 .../out/{usage/index.html => usage.html} | 0 .../out/{users/index.html => users.html} | 0 .../index.html => virtual-keys.html} | 0 proxy_server.log | 659 ------------------ tests/test_proxy_search_tool_auth.py | 212 ------ 37 files changed, 871 deletions(-) rename litellm/proxy/_experimental/out/{404/index.html => 404.html} (100%) rename litellm/proxy/_experimental/out/{_not-found/index.html => _not-found.html} (100%) rename litellm/proxy/_experimental/out/{api-reference/index.html => api-reference.html} (100%) rename litellm/proxy/_experimental/out/{chat/index.html => chat.html} (100%) rename litellm/proxy/_experimental/out/experimental/{api-playground/index.html => api-playground.html} (100%) rename litellm/proxy/_experimental/out/experimental/{budgets/index.html => budgets.html} (100%) rename litellm/proxy/_experimental/out/experimental/{caching/index.html => caching.html} (100%) rename litellm/proxy/_experimental/out/experimental/{claude-code-plugins/index.html => claude-code-plugins.html} (100%) rename litellm/proxy/_experimental/out/experimental/{old-usage/index.html => old-usage.html} (100%) rename litellm/proxy/_experimental/out/experimental/{prompts/index.html => prompts.html} (100%) rename litellm/proxy/_experimental/out/experimental/{tag-management/index.html => tag-management.html} (100%) rename litellm/proxy/_experimental/out/{guardrails/index.html => guardrails.html} (100%) rename litellm/proxy/_experimental/out/{login/index.html => login.html} (100%) rename litellm/proxy/_experimental/out/{logs/index.html => logs.html} (100%) rename litellm/proxy/_experimental/out/mcp/oauth/{callback/index.html => callback.html} (100%) rename litellm/proxy/_experimental/out/{model-hub/index.html => model-hub.html} (100%) rename litellm/proxy/_experimental/out/{model_hub/index.html => model_hub.html} (100%) rename litellm/proxy/_experimental/out/{model_hub_table/index.html => model_hub_table.html} (100%) rename litellm/proxy/_experimental/out/{models-and-endpoints/index.html => models-and-endpoints.html} (100%) rename litellm/proxy/_experimental/out/{onboarding/index.html => onboarding.html} (100%) rename litellm/proxy/_experimental/out/{organizations/index.html => organizations.html} (100%) rename litellm/proxy/_experimental/out/{playground/index.html => playground.html} (100%) rename litellm/proxy/_experimental/out/{policies/index.html => policies.html} (100%) rename litellm/proxy/_experimental/out/settings/{admin-settings/index.html => admin-settings.html} (100%) rename litellm/proxy/_experimental/out/settings/{logging-and-alerts/index.html => logging-and-alerts.html} (100%) rename litellm/proxy/_experimental/out/settings/{router-settings/index.html => router-settings.html} (100%) rename litellm/proxy/_experimental/out/settings/{ui-theme/index.html => ui-theme.html} (100%) rename litellm/proxy/_experimental/out/{skills/index.html => skills.html} (100%) rename litellm/proxy/_experimental/out/{teams/index.html => teams.html} (100%) rename litellm/proxy/_experimental/out/{test-key/index.html => test-key.html} (100%) rename litellm/proxy/_experimental/out/tools/{mcp-servers/index.html => mcp-servers.html} (100%) rename litellm/proxy/_experimental/out/tools/{vector-stores/index.html => vector-stores.html} (100%) rename litellm/proxy/_experimental/out/{usage/index.html => usage.html} (100%) rename litellm/proxy/_experimental/out/{users/index.html => users.html} (100%) rename litellm/proxy/_experimental/out/{virtual-keys/index.html => virtual-keys.html} (100%) delete mode 100644 proxy_server.log delete mode 100644 tests/test_proxy_search_tool_auth.py diff --git a/litellm/proxy/_experimental/out/404/index.html b/litellm/proxy/_experimental/out/404.html similarity index 100% rename from litellm/proxy/_experimental/out/404/index.html rename to litellm/proxy/_experimental/out/404.html diff --git a/litellm/proxy/_experimental/out/_not-found/index.html b/litellm/proxy/_experimental/out/_not-found.html similarity index 100% rename from litellm/proxy/_experimental/out/_not-found/index.html rename to litellm/proxy/_experimental/out/_not-found.html diff --git a/litellm/proxy/_experimental/out/api-reference/index.html b/litellm/proxy/_experimental/out/api-reference.html similarity index 100% rename from litellm/proxy/_experimental/out/api-reference/index.html rename to litellm/proxy/_experimental/out/api-reference.html diff --git a/litellm/proxy/_experimental/out/chat/index.html b/litellm/proxy/_experimental/out/chat.html similarity index 100% rename from litellm/proxy/_experimental/out/chat/index.html rename to litellm/proxy/_experimental/out/chat.html diff --git a/litellm/proxy/_experimental/out/experimental/api-playground/index.html b/litellm/proxy/_experimental/out/experimental/api-playground.html similarity index 100% rename from litellm/proxy/_experimental/out/experimental/api-playground/index.html rename to litellm/proxy/_experimental/out/experimental/api-playground.html diff --git a/litellm/proxy/_experimental/out/experimental/budgets/index.html b/litellm/proxy/_experimental/out/experimental/budgets.html similarity index 100% rename from litellm/proxy/_experimental/out/experimental/budgets/index.html rename to litellm/proxy/_experimental/out/experimental/budgets.html diff --git a/litellm/proxy/_experimental/out/experimental/caching/index.html b/litellm/proxy/_experimental/out/experimental/caching.html similarity index 100% rename from litellm/proxy/_experimental/out/experimental/caching/index.html rename to litellm/proxy/_experimental/out/experimental/caching.html diff --git a/litellm/proxy/_experimental/out/experimental/claude-code-plugins/index.html b/litellm/proxy/_experimental/out/experimental/claude-code-plugins.html similarity index 100% rename from litellm/proxy/_experimental/out/experimental/claude-code-plugins/index.html rename to litellm/proxy/_experimental/out/experimental/claude-code-plugins.html diff --git a/litellm/proxy/_experimental/out/experimental/old-usage/index.html b/litellm/proxy/_experimental/out/experimental/old-usage.html similarity index 100% rename from litellm/proxy/_experimental/out/experimental/old-usage/index.html rename to litellm/proxy/_experimental/out/experimental/old-usage.html diff --git a/litellm/proxy/_experimental/out/experimental/prompts/index.html b/litellm/proxy/_experimental/out/experimental/prompts.html similarity index 100% rename from litellm/proxy/_experimental/out/experimental/prompts/index.html rename to litellm/proxy/_experimental/out/experimental/prompts.html diff --git a/litellm/proxy/_experimental/out/experimental/tag-management/index.html b/litellm/proxy/_experimental/out/experimental/tag-management.html similarity index 100% rename from litellm/proxy/_experimental/out/experimental/tag-management/index.html rename to litellm/proxy/_experimental/out/experimental/tag-management.html diff --git a/litellm/proxy/_experimental/out/guardrails/index.html b/litellm/proxy/_experimental/out/guardrails.html similarity index 100% rename from litellm/proxy/_experimental/out/guardrails/index.html rename to litellm/proxy/_experimental/out/guardrails.html diff --git a/litellm/proxy/_experimental/out/login/index.html b/litellm/proxy/_experimental/out/login.html similarity index 100% rename from litellm/proxy/_experimental/out/login/index.html rename to litellm/proxy/_experimental/out/login.html diff --git a/litellm/proxy/_experimental/out/logs/index.html b/litellm/proxy/_experimental/out/logs.html similarity index 100% rename from litellm/proxy/_experimental/out/logs/index.html rename to litellm/proxy/_experimental/out/logs.html diff --git a/litellm/proxy/_experimental/out/mcp/oauth/callback/index.html b/litellm/proxy/_experimental/out/mcp/oauth/callback.html similarity index 100% rename from litellm/proxy/_experimental/out/mcp/oauth/callback/index.html rename to litellm/proxy/_experimental/out/mcp/oauth/callback.html diff --git a/litellm/proxy/_experimental/out/model-hub/index.html b/litellm/proxy/_experimental/out/model-hub.html similarity index 100% rename from litellm/proxy/_experimental/out/model-hub/index.html rename to litellm/proxy/_experimental/out/model-hub.html diff --git a/litellm/proxy/_experimental/out/model_hub/index.html b/litellm/proxy/_experimental/out/model_hub.html similarity index 100% rename from litellm/proxy/_experimental/out/model_hub/index.html rename to litellm/proxy/_experimental/out/model_hub.html diff --git a/litellm/proxy/_experimental/out/model_hub_table/index.html b/litellm/proxy/_experimental/out/model_hub_table.html similarity index 100% rename from litellm/proxy/_experimental/out/model_hub_table/index.html rename to litellm/proxy/_experimental/out/model_hub_table.html diff --git a/litellm/proxy/_experimental/out/models-and-endpoints/index.html b/litellm/proxy/_experimental/out/models-and-endpoints.html similarity index 100% rename from litellm/proxy/_experimental/out/models-and-endpoints/index.html rename to litellm/proxy/_experimental/out/models-and-endpoints.html diff --git a/litellm/proxy/_experimental/out/onboarding/index.html b/litellm/proxy/_experimental/out/onboarding.html similarity index 100% rename from litellm/proxy/_experimental/out/onboarding/index.html rename to litellm/proxy/_experimental/out/onboarding.html diff --git a/litellm/proxy/_experimental/out/organizations/index.html b/litellm/proxy/_experimental/out/organizations.html similarity index 100% rename from litellm/proxy/_experimental/out/organizations/index.html rename to litellm/proxy/_experimental/out/organizations.html diff --git a/litellm/proxy/_experimental/out/playground/index.html b/litellm/proxy/_experimental/out/playground.html similarity index 100% rename from litellm/proxy/_experimental/out/playground/index.html rename to litellm/proxy/_experimental/out/playground.html diff --git a/litellm/proxy/_experimental/out/policies/index.html b/litellm/proxy/_experimental/out/policies.html similarity index 100% rename from litellm/proxy/_experimental/out/policies/index.html rename to litellm/proxy/_experimental/out/policies.html diff --git a/litellm/proxy/_experimental/out/settings/admin-settings/index.html b/litellm/proxy/_experimental/out/settings/admin-settings.html similarity index 100% rename from litellm/proxy/_experimental/out/settings/admin-settings/index.html rename to litellm/proxy/_experimental/out/settings/admin-settings.html diff --git a/litellm/proxy/_experimental/out/settings/logging-and-alerts/index.html b/litellm/proxy/_experimental/out/settings/logging-and-alerts.html similarity index 100% rename from litellm/proxy/_experimental/out/settings/logging-and-alerts/index.html rename to litellm/proxy/_experimental/out/settings/logging-and-alerts.html diff --git a/litellm/proxy/_experimental/out/settings/router-settings/index.html b/litellm/proxy/_experimental/out/settings/router-settings.html similarity index 100% rename from litellm/proxy/_experimental/out/settings/router-settings/index.html rename to litellm/proxy/_experimental/out/settings/router-settings.html diff --git a/litellm/proxy/_experimental/out/settings/ui-theme/index.html b/litellm/proxy/_experimental/out/settings/ui-theme.html similarity index 100% rename from litellm/proxy/_experimental/out/settings/ui-theme/index.html rename to litellm/proxy/_experimental/out/settings/ui-theme.html diff --git a/litellm/proxy/_experimental/out/skills/index.html b/litellm/proxy/_experimental/out/skills.html similarity index 100% rename from litellm/proxy/_experimental/out/skills/index.html rename to litellm/proxy/_experimental/out/skills.html diff --git a/litellm/proxy/_experimental/out/teams/index.html b/litellm/proxy/_experimental/out/teams.html similarity index 100% rename from litellm/proxy/_experimental/out/teams/index.html rename to litellm/proxy/_experimental/out/teams.html diff --git a/litellm/proxy/_experimental/out/test-key/index.html b/litellm/proxy/_experimental/out/test-key.html similarity index 100% rename from litellm/proxy/_experimental/out/test-key/index.html rename to litellm/proxy/_experimental/out/test-key.html diff --git a/litellm/proxy/_experimental/out/tools/mcp-servers/index.html b/litellm/proxy/_experimental/out/tools/mcp-servers.html similarity index 100% rename from litellm/proxy/_experimental/out/tools/mcp-servers/index.html rename to litellm/proxy/_experimental/out/tools/mcp-servers.html diff --git a/litellm/proxy/_experimental/out/tools/vector-stores/index.html b/litellm/proxy/_experimental/out/tools/vector-stores.html similarity index 100% rename from litellm/proxy/_experimental/out/tools/vector-stores/index.html rename to litellm/proxy/_experimental/out/tools/vector-stores.html diff --git a/litellm/proxy/_experimental/out/usage/index.html b/litellm/proxy/_experimental/out/usage.html similarity index 100% rename from litellm/proxy/_experimental/out/usage/index.html rename to litellm/proxy/_experimental/out/usage.html diff --git a/litellm/proxy/_experimental/out/users/index.html b/litellm/proxy/_experimental/out/users.html similarity index 100% rename from litellm/proxy/_experimental/out/users/index.html rename to litellm/proxy/_experimental/out/users.html diff --git a/litellm/proxy/_experimental/out/virtual-keys/index.html b/litellm/proxy/_experimental/out/virtual-keys.html similarity index 100% rename from litellm/proxy/_experimental/out/virtual-keys/index.html rename to litellm/proxy/_experimental/out/virtual-keys.html diff --git a/proxy_server.log b/proxy_server.log deleted file mode 100644 index 381b28a784c..00000000000 --- a/proxy_server.log +++ /dev/null @@ -1,659 +0,0 @@ -:128: RuntimeWarning: 'litellm.proxy.proxy_cli' found in sys.modules after import of package 'litellm.proxy', but prior to execution of 'litellm.proxy.proxy_cli'; this may result in unpredictable behaviour -2026-04-28 18:52:10,288 - litellm_proxy_extras - INFO - Running prisma migrate deploy -2026-04-28 18:52:13,736 - litellm_proxy_extras - INFO - prisma migrate deploy stdout: Environment variables loaded from ../../.env -Prisma schema loaded from schema.prisma -Datasource "client": PostgreSQL database "litellm", schema "public" at "localhost:5432" - -118 migrations found in prisma/migrations - - -No pending migrations to apply. - -2026-04-28 18:52:13,737 - litellm_proxy_extras - INFO - prisma migrate deploy completed -2026-04-28 18:52:13,737 - litellm_proxy_extras - INFO - No pending migrations — skipping post-migration sanity check -INFO: Started server process [19856] -INFO: Waiting for application startup. -18:52:13 - LiteLLM Proxy:DEBUG: proxy_server.py:803 - litellm.proxy.proxy_server.py::startup() - CHECKING PREMIUM USER - True -18:52:13 - LiteLLM Proxy:DEBUG: proxy_server.py:816 - worker_config: {"model": null, "alias": null, "api_base": null, "api_version": "2025-02-01-preview", "debug": false, "detailed_debug": true, "temperature": null, "max_tokens": null, "request_timeout": null, "max_budget": null, "telemetry": true, "drop_params": false, "add_function_to_prompt": false, "headers": null, "save": false, "config": "proxy_server_config.yaml", "use_queue": false} -LiteLLM Proxy: Using default (v1) migration resolver. If your deployment has seen schema thrashing during rolling deploys, try --use_v2_migration_resolver (safer: avoids the diff-and-force recovery that caused the thrash). - - ██╗ ██╗████████╗███████╗██╗ ██╗ ███╗ ███╗ - ██║ ██║╚══██╔══╝██╔════╝██║ ██║ ████╗ ████║ - ██║ ██║ ██║ █████╗ ██║ ██║ ██╔████╔██║ - ██║ ██║ ██║ ██╔══╝ ██║ ██║ ██║╚██╔╝██║ - ███████╗██║ ██║ ███████╗███████╗███████╗██║ ╚═╝ ██║ - ╚══════╝╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝ - -18:52:13 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': '170fb9c8e18f87663825b69e7e54393b7a3392d1ecbfb0d6a8a543f0723173fd', 'combined_model_name': '170fb9c8e18f87663825b69e7e54393b7a3392d1ecbfb0d6a8a543f0723173fd', 'stripped_model_name': '170fb9c8e18f87663825b69e7e54393b7a3392d1ecbfb0d6a8a543f0723173fd', 'combined_stripped_model_name': '170fb9c8e18f87663825b69e7e54393b7a3392d1ecbfb0d6a8a543f0723173fd', 'custom_llm_provider': None} -18:52:13 - LiteLLM:DEBUG: utils.py:5921 - Error getting model info: This model isn't mapped yet. Add it here - https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json -18:52:13 - LiteLLM:DEBUG: utils.py:2900 - added/updated model=170fb9c8e18f87663825b69e7e54393b7a3392d1ecbfb0d6a8a543f0723173fd in litellm.model_cost: 170fb9c8e18f87663825b69e7e54393b7a3392d1ecbfb0d6a8a543f0723173fd -18:52:13 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'gpt-5.3-codex', 'combined_model_name': 'openai/gpt-5.3-codex', 'stripped_model_name': 'gpt-5.3-codex', 'combined_stripped_model_name': 'openai/gpt-5.3-codex', 'custom_llm_provider': 'openai'} -18:52:13 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'gpt-5.3-codex', 'combined_model_name': 'openai/gpt-5.3-codex', 'stripped_model_name': 'gpt-5.3-codex', 'combined_stripped_model_name': 'openai/gpt-5.3-codex', 'custom_llm_provider': 'openai'} -18:52:13 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'gpt-5.3-codex', 'combined_model_name': 'openai/gpt-5.3-codex', 'stripped_model_name': 'openai/gpt-5.3-codex', 'combined_stripped_model_name': 'openai/gpt-5.3-codex', 'custom_llm_provider': 'openai'} -18:52:13 - LiteLLM:DEBUG: utils.py:2900 - added/updated model=gpt-5.3-codex in litellm.model_cost: gpt-5.3-codex -18:52:13 - LiteLLM Router:DEBUG: router.py:7223 - -Initialized Model List ['gpt-5.3-codex'] -18:52:13 - LiteLLM Router:INFO: router.py:812 - Routing strategy: simple-shuffle -18:52:13 - LiteLLM Proxy:DEBUG: proxy_server.py:3915 - Policy engine: no policies in config, skipping -18:52:13 - LiteLLM Proxy:DEBUG: utils.py:2460 - Creating Prisma Client.. -18:52:13 - LiteLLM Proxy:DEBUG: utils.py:2527 - Success - Created Prisma Client -18:52:13 - LiteLLM Proxy:DEBUG: utils.py:3745 - PrismaClient: connect() called Attempting to Connect to DB -18:52:13 - LiteLLM Proxy:DEBUG: utils.py:3749 - PrismaClient: DB not connected, Attempting to Connect to DB -query-engine ac9d7041ed77bcc8a8dbd2ab6616b39013829574 -18:52:13 - LiteLLM Proxy:DEBUG: prisma_client.py:247 - IAM token auth not enabled, skipping token refresh task -18:52:13 - LiteLLM Proxy:INFO: utils.py:4307 - Started Prisma DB health watchdog (interval=30s, reconnect_cooldown=15s, probe_timeout=5.0s, reconnect_timeout=30.0s) -18:52:13 - LiteLLM Proxy:INFO: utils.py:4062 - Found prisma-query-engine at PID 20355. -18:52:13 - LiteLLM Proxy:INFO: utils.py:4066 - Watching engine PID 20355 via waitpid thread. -18:52:13 - LiteLLM:DEBUG: logging_callback_manager.py:336 - Custom logger of type SkillsInjectionHook, key: SkillsInjectionHook-max_iterations=10-sandbox_timeout=120-message_logging=True-turn_off_message_logging=False already exists in [, , , , , , ], not adding again.. -18:52:13 - LiteLLM Proxy:DEBUG: proxy_server.py:895 - About to initialize semantic tool filter -18:52:13 - LiteLLM Proxy:DEBUG: proxy_server.py:898 - litellm_settings keys = [] -18:52:13 - LiteLLM Proxy:DEBUG: proxy_server.py:6220 - Semantic tool filter not configured or not enabled, skipping initialization -18:52:13 - LiteLLM Proxy:DEBUG: proxy_server.py:905 - After semantic tool filter initialization -18:52:13 - LiteLLM Proxy:DEBUG: proxy_server.py:919 - prisma_client: -18:52:13 - LiteLLM Proxy:INFO: proxy_server.py:6467 - Tag spend update job scheduled at 25s interval (2.3x main job interval) -18:52:13 - LiteLLM Proxy:DEBUG: hanging_request_check.py:148 - Checking for hanging requests.... -18:52:13 - LiteLLM Proxy:INFO: utils.py:5083 - Starting spend logs queue monitor (threshold: 100, poll_interval: 2.0s) -18:52:14 - LiteLLM Proxy:INFO: utils.py:2634 - All necessary views exist! -18:52:14 - LiteLLM Proxy:INFO: proxy_server.py:874 - Password migration: No plaintext passwords found -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:4256 - len new_models: 2 -18:52:14 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': '88d4dde8-817a-4c20-9bec-442961096d25', 'combined_model_name': '88d4dde8-817a-4c20-9bec-442961096d25', 'stripped_model_name': '88d4dde8-817a-4c20-9bec-442961096d25', 'combined_stripped_model_name': '88d4dde8-817a-4c20-9bec-442961096d25', 'custom_llm_provider': None} -18:52:14 - LiteLLM:DEBUG: utils.py:5921 - Error getting model info: This model isn't mapped yet. Add it here - https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json -18:52:14 - LiteLLM:DEBUG: utils.py:2900 - added/updated model=88d4dde8-817a-4c20-9bec-442961096d25 in litellm.model_cost: 88d4dde8-817a-4c20-9bec-442961096d25 -18:52:14 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': '2ab3179b-62e9-4720-9ba7-0a2f12536cfa', 'combined_model_name': '2ab3179b-62e9-4720-9ba7-0a2f12536cfa', 'stripped_model_name': '2ab3179b-62e9-4720-9ba7-0a2f12536cfa', 'combined_stripped_model_name': '2ab3179b-62e9-4720-9ba7-0a2f12536cfa', 'custom_llm_provider': None} -18:52:14 - LiteLLM:DEBUG: utils.py:5921 - Error getting model info: This model isn't mapped yet. Add it here - https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json -18:52:14 - LiteLLM:DEBUG: utils.py:2900 - added/updated model=2ab3179b-62e9-4720-9ba7-0a2f12536cfa in litellm.model_cost: 2ab3179b-62e9-4720-9ba7-0a2f12536cfa -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:5461 - guardrails from the DB [] -18:52:14 - LiteLLM Proxy:INFO: policy_registry.py:577 - Synced 0 production policies and 0 draft/published (by ID) from DB to in-memory registry -18:52:14 - LiteLLM Proxy:INFO: attachment_registry.py:481 - Synced 0 attachments from DB to in-memory registry -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:5497 - Successfully synced policies and attachments from DB -18:52:14 - LiteLLM:DEBUG: mcp_server_manager.py:2644 - Loading MCP servers from database into registry... -18:52:14 - LiteLLM:INFO: mcp_server_manager.py:2664 - Found 1 MCP servers in database -18:52:14 - LiteLLM:DEBUG: mcp_server_manager.py:2688 - Building server from DB: 28a195c6-0224-4765-af9b-46f7a7f65ccb (deepwiki) -18:52:14 - LiteLLM:DEBUG: mcp_server_manager.py:2697 - MCP registry refreshed (1 servers in registry) -18:52:14 - LiteLLM Proxy:DEBUG: pass_through_endpoints.py:2409 - initializing pass through endpoints -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.weave -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.litellm_agent -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.dotprompt -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:65 - Found prompt_initializer_registry in litellm.integrations.dotprompt: ['dotprompt'] -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.gitlab -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:65 - Found prompt_initializer_registry in litellm.integrations.gitlab: ['gitlab'] -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.azure_sentinel -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.arize -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:65 - Found prompt_initializer_registry in litellm.integrations.arize: ['arize_phoenix'] -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.agentops -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.compression_interception -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.focus -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.prometheus_helpers -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.generic_prompt_management -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:65 - Found prompt_initializer_registry in litellm.integrations.generic_prompt_management: ['generic_prompt_management'] -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.levo -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.websearch_interception -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.deepeval -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.bitbucket -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:65 - Found prompt_initializer_registry in litellm.integrations.bitbucket: ['bitbucket'] -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:54 - Discovering prompt integrations in: litellm.integrations.vantage -18:52:14 - LiteLLM Proxy:DEBUG: prompt_registry.py:76 - Discovered 5 prompt initializers: ['dotprompt', 'gitlab', 'arize_phoenix', 'generic_prompt_management', 'bitbucket'] -18:52:14 - LiteLLM Proxy:INFO: proxy_server.py:5640 - Loading 0 search tool(s) from database into router -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:5660 - No search tools found in database, keeping config-loaded search tools (if any) -18:52:14 - LiteLLM Proxy:INFO: tool_registry_writer.py:329 - ToolPolicyRegistry: synced 17 tool policies and 1 object permissions from DB -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:5517 - Successfully synced tool policy from DB -18:52:14 - LiteLLM:DEBUG: focus_logger.py:167 - No Focus export logger registered; skipping scheduler -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:6759 - key_rotation_enabled: False -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:6793 - Key rotation disabled (set LITELLM_KEY_ROTATION_ENABLED=true to enable) -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:6824 - expired_ui_session_key_cleanup_enabled: False -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:6869 - Expired UI session key cleanup disabled (set LITELLM_EXPIRED_UI_SESSION_KEY_CLEANUP_ENABLED=true to enable) -18:52:14 - LiteLLM Proxy:INFO: proxy_server.py:6622 - Batch cost check job scheduled successfully -18:52:14 - LiteLLM Proxy:INFO: proxy_server.py:6653 - Responses cost check job scheduled successfully -18:52:14 - LiteLLM Proxy:INFO: proxy_server.py:6672 - APScheduler started with memory leak prevention settings: removed jitter, increased intervals, misfire_grace_time=3600 -18:52:14 - LiteLLM Proxy:DEBUG: proxy_server.py:7036 - LiteLLM: Pyroscope profiling is disabled (set LITELLM_ENABLE_PYROSCOPE=true to enable). -18:52:14 - LiteLLM Proxy:INFO: proxy_server.py:755 - SESSION REUSE: Created shared aiohttp session for connection pooling (ID: 6165409104, limit=1000, limit_per_host=500) -INFO: Application startup complete. -INFO: Uvicorn running on http://0.0.0.0:4000 (Press CTRL+C to quit) -18:52:21 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/organization/list -18:52:21 - LiteLLM:DEBUG: user_api_key_auth.py:1023 - api key not found in cache. -18:52:21 - LiteLLM Proxy:DEBUG: utils.py:3061 - PrismaClient: find_unique for token: 00f60cfa9df317dade7cb93c0bdb83b44250c865daf6920ea0de433d523a894e -18:52:21 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/team/list -18:52:21 - LiteLLM:DEBUG: user_api_key_auth.py:1023 - api key not found in cache. -18:52:21 - LiteLLM Proxy:DEBUG: utils.py:3061 - PrismaClient: find_unique for token: 00f60cfa9df317dade7cb93c0bdb83b44250c865daf6920ea0de433d523a894e -18:52:21 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/tag/list -18:52:21 - LiteLLM:DEBUG: user_api_key_auth.py:1023 - api key not found in cache. -18:52:21 - LiteLLM Proxy:DEBUG: utils.py:3061 - PrismaClient: find_unique for token: 00f60cfa9df317dade7cb93c0bdb83b44250c865daf6920ea0de433d523a894e -18:52:21 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/key/list -18:52:21 - LiteLLM:DEBUG: user_api_key_auth.py:1023 - api key not found in cache. -18:52:21 - LiteLLM Proxy:DEBUG: utils.py:3061 - PrismaClient: find_unique for token: 00f60cfa9df317dade7cb93c0bdb83b44250c865daf6920ea0de433d523a894e - -#------------------------------------------------------------# -# # -# 'The thing I wish you improved is...' # -# https://github.com/BerriAI/litellm/issues/new # -# # -#------------------------------------------------------------# - - Thank you for using LiteLLM! - Krrish & Ishaan - - - -Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new - - -LiteLLM: Proxy initialized with Config, Set models: - gpt-5.3-codex -INFO: 127.0.0.1:65291 - "GET /project/list HTTP/1.1" 404 Not Found -INFO: 127.0.0.1:65293 - "HEAD / HTTP/1.1" 200 OK -INFO: 127.0.0.1:65293 - "GET /__next._tree.txt?_rsc=1r34m HTTP/1.1" 404 Not Found -18:52:21 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:21.984645+00:00 -18:52:21 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:21.987707+00:00 -18:52:21 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:21.988286+00:00 -18:52:21 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:21.988897+00:00 -18:52:21 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:22 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:22 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:22 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:22 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:22 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:22 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:22 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:4526 - Entering list_keys function -18:52:22 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:4950 - Filter conditions: {'OR': [{'team_id': None}, {'team_id': {'not': 'litellm-dashboard'}}]} -18:52:22 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:5020 - Pagination: skip=0, take=50 -18:52:22 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65283 - "GET /organization/list HTTP/1.1" 200 OK -18:52:22 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:5062 - Fetched 4 keys -18:52:22 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:5074 - Total count of keys: 4 -INFO: 127.0.0.1:65285 - "GET /team/list HTTP/1.1" 200 OK -18:52:22 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:4604 - Successfully prepared response -INFO: 127.0.0.1:65290 - "GET /key/list?page=1&size=50&sort_by=created_at&sort_order=desc&expand=user&return_full_object=true&include_team_keys=true&include_created_by_keys=true HTTP/1.1" 200 OK -INFO: 127.0.0.1:65288 - "GET /tag/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65290 - "GET /project/list HTTP/1.1" 404 Not Found -18:52:24 - LiteLLM Proxy:DEBUG: spend_update_queue.py:39 - Aggregating updates by entity type: [] -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1122 - User Spend transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1165 - End-User Spend transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1180 - KEY Spend transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1221 - Team Spend transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1269 - Team Membership Spend transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1342 - Org Spend transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Tag Spend transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Agent Spend transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily User Spend transactions: 0 -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily user spend update -18:52:24 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Team Spend transactions: 0 -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily team spend update -18:52:24 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Org Spend transactions: 0 -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily org spend update -18:52:24 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily End_user Spend transactions: 0 -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily end_user spend update -18:52:24 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Agent Spend transactions: 0 -18:52:24 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily agent spend update -18:52:24 - LiteLLM Proxy:DEBUG: utils.py:4936 - Spend Logs transactions: 0 -INFO: 127.0.0.1:65290 - "GET /project/list HTTP/1.1" 404 Not Found -18:52:28 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/organization/list -18:52:28 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:28.414705+00:00 -18:52:28 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/team/list -18:52:28 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:28.416982+00:00 -18:52:28 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/models -18:52:28 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:28.426995+00:00 -18:52:28 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v2/user/info -18:52:28 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:28.430882+00:00 -18:52:28 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/access_group -18:52:28 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:28.434375+00:00 -18:52:28 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/server -18:52:28 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:28.437819+00:00 -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:28 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:28 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:28 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -INFO: 127.0.0.1:65326 - "GET /v2/user/info HTTP/1.1" 200 OK -18:52:28 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:28 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/access_groups -18:52:28 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:28.460826+00:00 -18:52:28 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65324 - "GET /models?include_model_access_groups=True&return_wildcard_routes=True&scope=expand HTTP/1.1" 200 OK -18:52:28 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/toolset -18:52:28 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:28.463333+00:00 -INFO: 127.0.0.1:65290 - "GET /organization/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65328 - "GET /v1/access_group HTTP/1.1" 200 OK -18:52:28 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:28 - LiteLLM:DEBUG: mcp_server_manager.py:796 - Admin user without explicit object_permission - returning all servers -INFO: 127.0.0.1:65329 - "GET /v1/mcp/server HTTP/1.1" 200 OK -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:28 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -INFO: 127.0.0.1:65321 - "GET /team/list HTTP/1.1" 200 OK -18:52:28 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:28 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:28 - LiteLLM Proxy:WARNING: toolset_db.py:60 - litellm.proxy._experimental.mcp_server.toolset_db::list_mcp_toolsets - 'Prisma' object has no attribute 'litellm_mcptoolsettable' -INFO: 127.0.0.1:65324 - "GET /v1/mcp/toolset HTTP/1.1" 200 OK -INFO: 127.0.0.1:65326 - "GET /v1/mcp/access_groups HTTP/1.1" 200 OK -18:52:30 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/organization/list -18:52:30 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:30 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:30.307066+00:00 -18:52:30 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/team/list -18:52:30 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:30 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:30.310005+00:00 -INFO: 127.0.0.1:65321 - "GET /project/list HTTP/1.1" 404 Not Found -18:52:30 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/tag/list -18:52:30 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:30 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:30.314509+00:00 -18:52:30 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:30 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:30 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:30 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:30 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:30 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65326 - "GET /organization/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65324 - "GET /team/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65329 - "GET /tag/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65329 - "GET /project/list HTTP/1.1" 404 Not Found -18:52:34 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/organization/list -18:52:34 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:34 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:34.018157+00:00 -18:52:34 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/team/list -18:52:34 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:34 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:34.038105+00:00 -18:52:34 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/tag/list -18:52:34 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:34 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:34.045120+00:00 -INFO: 127.0.0.1:65321 - "GET /project/list HTTP/1.1" 404 Not Found -18:52:34 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:34 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:34 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:34 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:34 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:34 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65329 - "GET /organization/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65324 - "GET /team/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65326 - "GET /tag/list HTTP/1.1" 200 OK -18:52:35 - LiteLLM Proxy:DEBUG: spend_update_queue.py:39 - Aggregating updates by entity type: [] -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1122 - User Spend transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1165 - End-User Spend transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1180 - KEY Spend transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1221 - Team Spend transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1269 - Team Membership Spend transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1342 - Org Spend transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Tag Spend transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Agent Spend transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily User Spend transactions: 0 -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily user spend update -18:52:35 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Team Spend transactions: 0 -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily team spend update -18:52:35 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Org Spend transactions: 0 -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily org spend update -18:52:35 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily End_user Spend transactions: 0 -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily end_user spend update -18:52:35 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Agent Spend transactions: 0 -18:52:35 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily agent spend update -18:52:35 - LiteLLM Proxy:DEBUG: utils.py:4936 - Spend Logs transactions: 0 -INFO: 127.0.0.1:65326 - "GET /project/list HTTP/1.1" 404 Not Found -18:52:39 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:44 - LiteLLM Proxy:DEBUG: proxy_server.py:4256 - len new_models: 2 -18:52:44 - LiteLLM Proxy:DEBUG: proxy_server.py:5461 - guardrails from the DB [] -18:52:44 - LiteLLM Proxy:INFO: policy_registry.py:577 - Synced 0 production policies and 0 draft/published (by ID) from DB to in-memory registry -18:52:44 - LiteLLM Proxy:INFO: attachment_registry.py:481 - Synced 0 attachments from DB to in-memory registry -18:52:44 - LiteLLM Proxy:DEBUG: proxy_server.py:5497 - Successfully synced policies and attachments from DB -18:52:44 - LiteLLM:DEBUG: mcp_server_manager.py:2644 - Loading MCP servers from database into registry... -18:52:44 - LiteLLM:INFO: mcp_server_manager.py:2664 - Found 1 MCP servers in database -18:52:44 - LiteLLM:DEBUG: mcp_server_manager.py:2697 - MCP registry refreshed (1 servers in registry) -18:52:44 - LiteLLM Proxy:DEBUG: pass_through_endpoints.py:2409 - initializing pass through endpoints -18:52:44 - LiteLLM Proxy:INFO: proxy_server.py:5640 - Loading 0 search tool(s) from database into router -18:52:44 - LiteLLM Proxy:DEBUG: proxy_server.py:5660 - No search tools found in database, keeping config-loaded search tools (if any) -18:52:44 - LiteLLM Proxy:INFO: tool_registry_writer.py:329 - ToolPolicyRegistry: synced 17 tool policies and 1 object permissions from DB -18:52:44 - LiteLLM Proxy:DEBUG: proxy_server.py:5517 - Successfully synced tool policy from DB -18:52:46 - LiteLLM Proxy:DEBUG: spend_update_queue.py:39 - Aggregating updates by entity type: [] -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1122 - User Spend transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1165 - End-User Spend transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1180 - KEY Spend transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1221 - Team Spend transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1269 - Team Membership Spend transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1342 - Org Spend transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Tag Spend transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Agent Spend transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily User Spend transactions: 0 -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily user spend update -18:52:46 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Team Spend transactions: 0 -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily team spend update -18:52:46 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Org Spend transactions: 0 -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily org spend update -18:52:46 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily End_user Spend transactions: 0 -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily end_user spend update -18:52:46 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Agent Spend transactions: 0 -18:52:46 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily agent spend update -18:52:46 - LiteLLM Proxy:DEBUG: utils.py:4936 - Spend Logs transactions: 0 -18:52:54 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/organization/list -18:52:54 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:54 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:54.075515+00:00 -18:52:54 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/team/list -18:52:54 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:54 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:54.133027+00:00 -INFO: 127.0.0.1:65389 - "GET /project/list HTTP/1.1" 404 Not Found -18:52:54 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/tag/list -18:52:54 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:54 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:54.284965+00:00 -18:52:54 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/key/list -18:52:54 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:52:54 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:22:54.295543+00:00 -18:52:54 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:54 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:54 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:54 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:52:54 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:54 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:54 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:4526 - Entering list_keys function -18:52:54 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:4950 - Filter conditions: {'OR': [{'team_id': None}, {'team_id': {'not': 'litellm-dashboard'}}]} -18:52:54 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:5020 - Pagination: skip=0, take=50 -18:52:54 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:52:54 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65385 - "GET /organization/list HTTP/1.1" 200 OK -18:52:54 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:5062 - Fetched 4 keys -INFO: 127.0.0.1:65392 - "GET /tag/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65387 - "GET /team/list HTTP/1.1" 200 OK -18:52:54 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:5074 - Total count of keys: 4 -18:52:54 - LiteLLM Proxy:DEBUG: key_management_endpoints.py:4604 - Successfully prepared response -INFO: 127.0.0.1:65393 - "GET /key/list?page=1&size=50&sort_by=created_at&sort_order=desc&expand=user&return_full_object=true&include_team_keys=true&include_created_by_keys=true HTTP/1.1" 200 OK -INFO: 127.0.0.1:65393 - "GET /project/list HTTP/1.1" 404 Not Found -18:52:58 - LiteLLM Proxy:DEBUG: spend_update_queue.py:39 - Aggregating updates by entity type: [] -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1122 - User Spend transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1165 - End-User Spend transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1180 - KEY Spend transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1221 - Team Spend transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1269 - Team Membership Spend transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1342 - Org Spend transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Tag Spend transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Agent Spend transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily User Spend transactions: 0 -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily user spend update -18:52:58 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Team Spend transactions: 0 -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily team spend update -18:52:58 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Org Spend transactions: 0 -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily org spend update -18:52:58 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily End_user Spend transactions: 0 -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily end_user spend update -18:52:58 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Agent Spend transactions: 0 -18:52:58 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily agent spend update -18:52:58 - LiteLLM Proxy:DEBUG: utils.py:4936 - Spend Logs transactions: 0 -18:53:04 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:05 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/health/readiness -18:53:05 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/organization/list -18:53:05 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:05 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:05.652862+00:00 -18:53:06 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/team/list -18:53:06 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:06 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:06.042541+00:00 -18:53:06 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/tag/list -18:53:06 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:06 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:06.085990+00:00 -INFO: 127.0.0.1:65443 - "GET /project/list HTTP/1.1" 404 Not Found -18:53:06 - LiteLLM:DEBUG: http_handler.py:840 - Using AiohttpTransport... -INFO: 127.0.0.1:65436 - "GET /health/readiness HTTP/1.1" 200 OK -18:53:06 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:06 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:06 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:06 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:06 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:06 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65438 - "GET /organization/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65442 - "GET /tag/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65440 - "GET /team/list HTTP/1.1" 200 OK -18:53:08 - LiteLLM Proxy:DEBUG: spend_update_queue.py:39 - Aggregating updates by entity type: [] -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1122 - User Spend transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1165 - End-User Spend transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1180 - KEY Spend transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1221 - Team Spend transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1269 - Team Membership Spend transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1342 - Org Spend transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Tag Spend transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Agent Spend transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily User Spend transactions: 0 -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily user spend update -18:53:09 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Team Spend transactions: 0 -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily team spend update -18:53:09 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Org Spend transactions: 0 -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily org spend update -18:53:09 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily End_user Spend transactions: 0 -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily end_user spend update -18:53:09 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Agent Spend transactions: 0 -18:53:09 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily agent spend update -18:53:09 - LiteLLM Proxy:DEBUG: utils.py:4936 - Spend Logs transactions: 0 -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/server -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.447694+00:00 -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/toolset -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.480143+00:00 -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/get/mcp_semantic_filter_settings -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.511525+00:00 -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/model_group/info -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.521031+00:00 -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/config/list -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.525741+00:00 -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/network/client-ip -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.533092+00:00 -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65461 - "GET /v1/mcp/network/client-ip HTTP/1.1" 200 OK -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:09 - LiteLLM Proxy:DEBUG: model_checks.py:131 - ALL KEY MODELS - 0 -18:53:09 - LiteLLM Proxy:DEBUG: model_checks.py:166 - ALL TEAM MODELS - 0 -18:53:09 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'gpt-5.3-codex', 'combined_model_name': 'openai/gpt-5.3-codex', 'stripped_model_name': 'gpt-5.3-codex', 'combined_stripped_model_name': 'openai/gpt-5.3-codex', 'custom_llm_provider': 'openai'} -18:53:09 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'gpt-5.3-codex', 'combined_model_name': 'openai/gpt-5.3-codex', 'stripped_model_name': 'gpt-5.3-codex', 'combined_stripped_model_name': 'openai/gpt-5.3-codex', 'custom_llm_provider': 'openai'} -18:53:09 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'gpt-5.3-codex', 'combined_model_name': 'openai/gpt-5.3-codex', 'stripped_model_name': 'openai/gpt-5.3-codex', 'combined_stripped_model_name': 'openai/gpt-5.3-codex', 'custom_llm_provider': 'openai'} -18:53:09 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'oia-gpt-realtime', 'combined_model_name': 'azure/oia-gpt-realtime', 'stripped_model_name': 'azure/oia-gpt-realtime', 'combined_stripped_model_name': 'azure/oia-gpt-realtime', 'custom_llm_provider': 'azure'} -18:53:09 - LiteLLM:DEBUG: utils.py:5921 - Error getting model info: This model isn't mapped yet. Add it here - https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json -18:53:09 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'oia-gpt-realtime', 'combined_model_name': 'azure/oia-gpt-realtime', 'stripped_model_name': 'azure/oia-gpt-realtime', 'combined_stripped_model_name': 'azure/oia-gpt-realtime', 'custom_llm_provider': 'azure'} -18:53:09 - LiteLLM:DEBUG: utils.py:5921 - Error getting model info: This model isn't mapped yet. Add it here - https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json -18:53:09 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'gemini-3.1-flash-image-preview', 'combined_model_name': 'vertex_ai/gemini-3.1-flash-image-preview', 'stripped_model_name': 'gemini-3.1-flash-image-preview', 'combined_stripped_model_name': 'vertex_ai/gemini-3.1-flash-image-preview', 'custom_llm_provider': 'vertex_ai'} -18:53:09 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'gemini-3.1-flash-image-preview', 'combined_model_name': 'gemini-3.1-flash-image-preview', 'stripped_model_name': 'gemini-3.1-flash-image-preview', 'combined_stripped_model_name': 'gemini-3.1-flash-image-preview', 'custom_llm_provider': 'vertex_ai'} -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/server/submissions -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.669506+00:00 -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:09 - LiteLLM:DEBUG: mcp_server_manager.py:796 - Admin user without explicit object_permission - returning all servers -INFO: 127.0.0.1:65440 - "GET /v1/mcp/server HTTP/1.1" 200 OK -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:09 - LiteLLM Proxy:WARNING: toolset_db.py:60 - litellm.proxy._experimental.mcp_server.toolset_db::list_mcp_toolsets - 'Prisma' object has no attribute 'litellm_mcptoolsettable' -INFO: 127.0.0.1:65442 - "GET /v1/mcp/toolset HTTP/1.1" 200 OK -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/server/health -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.692446+00:00 -INFO: 127.0.0.1:65442 - "HEAD / HTTP/1.1" 200 OK -INFO: 127.0.0.1:65436 - "GET /model_group/info HTTP/1.1" 200 OK -INFO: 127.0.0.1:65443 - "GET /config/list?config_type=general_settings HTTP/1.1" 200 OK -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/config/list -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.731878+00:00 -INFO: 127.0.0.1:65436 - "GET /ui/assets/logos/github.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65443 - "GET /ui/assets/logos/slack.svg HTTP/1.1" 304 Not Modified -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -INFO: 127.0.0.1:65436 - "GET /ui/assets/logos/notion.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65443 - "GET /ui/assets/logos/linear.svg HTTP/1.1" 304 Not Modified -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -INFO: 127.0.0.1:65436 - "GET /ui/assets/logos/jira.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65438 - "GET /get/mcp_semantic_filter_settings HTTP/1.1" 200 OK -INFO: 127.0.0.1:65443 - "GET /ui/assets/logos/figma.svg HTTP/1.1" 304 Not Modified -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:09 - LiteLLM:DEBUG: mcp_server_manager.py:796 - Admin user without explicit object_permission - returning all servers -18:53:09 - LiteLLM:DEBUG: client.py:273 - litellm headers for streamable_http_client: {} -18:53:09 - LiteLLM:DEBUG: client.py:402 - MCP client using SSL configuration: SSLContext -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65436 - "GET /ui/assets/logos/gmail.svg HTTP/1.1" 304 Not Modified -18:53:09 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/model_group/info -18:53:09 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:09 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:09.989425+00:00 -INFO: 127.0.0.1:65443 - "GET /ui/assets/logos/stripe.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65438 - "GET /ui/assets/logos/google_drive.svg HTTP/1.1" 304 Not Modified -18:53:09 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65443 - "GET /ui/assets/logos/shopify.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65438 - "GET /ui/assets/logos/salesforce.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65442 - "GET /config/list?config_type=general_settings HTTP/1.1" 200 OK -INFO: 127.0.0.1:65438 - "GET /ui/assets/logos/hubspot.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65443 - "GET /ui/assets/logos/twilio.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65461 - "GET /v1/mcp/server/submissions HTTP/1.1" 200 OK -INFO: 127.0.0.1:65442 - "GET /ui/assets/logos/cloudflare.svg HTTP/1.1" 304 Not Modified -18:53:10 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -INFO: 127.0.0.1:65438 - "GET /ui/assets/logos/postgresql.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65443 - "GET /ui/assets/logos/sentry.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65461 - "GET /ui/assets/logos/snowflake.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65442 - "GET /ui/assets/logos/zapier.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65461 - "GET /__next._tree.txt?_rsc=1r34m HTTP/1.1" 404 Not Found -18:53:10 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:10 - LiteLLM Proxy:DEBUG: model_checks.py:131 - ALL KEY MODELS - 0 -18:53:10 - LiteLLM Proxy:DEBUG: model_checks.py:166 - ALL TEAM MODELS - 0 -18:53:10 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'oia-gpt-realtime', 'combined_model_name': 'azure/oia-gpt-realtime', 'stripped_model_name': 'azure/oia-gpt-realtime', 'combined_stripped_model_name': 'azure/oia-gpt-realtime', 'custom_llm_provider': 'azure'} -18:53:10 - LiteLLM:DEBUG: utils.py:5921 - Error getting model info: This model isn't mapped yet. Add it here - https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json -18:53:10 - LiteLLM:DEBUG: utils.py:5620 - checking potential_model_names in litellm.model_cost: {'split_model': 'oia-gpt-realtime', 'combined_model_name': 'azure/oia-gpt-realtime', 'stripped_model_name': 'azure/oia-gpt-realtime', 'combined_stripped_model_name': 'azure/oia-gpt-realtime', 'custom_llm_provider': 'azure'} -18:53:10 - LiteLLM:DEBUG: utils.py:5921 - Error getting model info: This model isn't mapped yet. Add it here - https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json -INFO: 127.0.0.1:65443 - "GET /ui/assets/logos/gitlab.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65438 - "GET /ui/assets/logos/google.svg HTTP/1.1" 304 Not Modified -INFO: 127.0.0.1:65436 - "GET /model_group/info HTTP/1.1" 200 OK -INFO: 127.0.0.1:65440 - "GET /v1/mcp/server/health HTTP/1.1" 200 OK -INFO: 127.0.0.1:65440 - "GET / HTTP/1.1" 200 OK -18:53:17 - LiteLLM Proxy:DEBUG: custom_openapi_spec.py:311 - Successfully added ProxyChatCompletionRequest schema to OpenAPI spec -18:53:17 - LiteLLM Proxy:DEBUG: custom_openapi_spec.py:311 - Successfully added EmbeddingRequest schema to OpenAPI spec -18:53:17 - LiteLLM Proxy:DEBUG: custom_openapi_spec.py:315 - Could not get schema for ResponsesAPIRequestParams -INFO: 127.0.0.1:65440 - "GET /openapi.json HTTP/1.1" 200 OK -18:53:17 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/organization/list -18:53:17 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:17.073159+00:00 -18:53:17 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/team/list -18:53:17 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:17.085893+00:00 -18:53:17 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/server -18:53:17 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:17.089077+00:00 -18:53:17 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/server/health -18:53:17 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:17.093754+00:00 -18:53:17 - LiteLLM Proxy:DEBUG: http_parsing_utils.py:529 - populate_request_with_path_params: No vector_store_id present in path=/v1/mcp/toolset -18:53:17 - LiteLLM:DEBUG: user_api_key_auth.py:1099 - 404: {'error': "Team doesn't exist in cache + check_cache_only=True. Team=litellm-dashboard."} -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1348 - Checking if token expired, expiry time 2026-04-29 11:16:22.190000+00:00 and current time 2026-04-28 13:23:17.096736+00:00 -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:17 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:17 - LiteLLM:DEBUG: mcp_server_manager.py:796 - Admin user without explicit object_permission - returning all servers -INFO: 127.0.0.1:65438 - "GET /v1/mcp/server HTTP/1.1" 200 OK -18:53:17 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:17 - LiteLLM Proxy:DEBUG: user_api_key_auth.py:1567 - centralized auth: team fetch failed (HTTPException: 404: {'error': "Team doesn't exist in db. Team=litellm-dashboard. Create team via `/team/new` call."}) -18:53:17 - LiteLLM Proxy:DEBUG: proxy_server.py:4256 - len new_models: 2 -18:53:17 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:17 - LiteLLM:DEBUG: mcp_server_manager.py:796 - Admin user without explicit object_permission - returning all servers -18:53:17 - LiteLLM:DEBUG: client.py:273 - litellm headers for streamable_http_client: {} -18:53:17 - LiteLLM:DEBUG: client.py:402 - MCP client using SSL configuration: SSLContext -18:53:17 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -18:53:17 - LiteLLM Proxy:WARNING: toolset_db.py:60 - litellm.proxy._experimental.mcp_server.toolset_db::list_mcp_toolsets - 'Prisma' object has no attribute 'litellm_mcptoolsettable' -INFO: 127.0.0.1:65442 - "GET /v1/mcp/toolset HTTP/1.1" 200 OK -18:53:17 - LiteLLM Proxy:DEBUG: auth_checks.py:4036 - Vector store registry not found, skipping vector store access check -INFO: 127.0.0.1:65436 - "GET /organization/list HTTP/1.1" 200 OK -INFO: 127.0.0.1:65443 - "GET /team/list HTTP/1.1" 200 OK -18:53:17 - LiteLLM Proxy:DEBUG: proxy_server.py:5461 - guardrails from the DB [] -18:53:17 - LiteLLM Proxy:INFO: policy_registry.py:577 - Synced 0 production policies and 0 draft/published (by ID) from DB to in-memory registry -18:53:17 - LiteLLM Proxy:INFO: attachment_registry.py:481 - Synced 0 attachments from DB to in-memory registry -18:53:17 - LiteLLM Proxy:DEBUG: proxy_server.py:5497 - Successfully synced policies and attachments from DB -18:53:17 - LiteLLM:DEBUG: mcp_server_manager.py:2644 - Loading MCP servers from database into registry... -18:53:17 - LiteLLM:INFO: mcp_server_manager.py:2664 - Found 1 MCP servers in database -18:53:17 - LiteLLM:DEBUG: mcp_server_manager.py:2697 - MCP registry refreshed (1 servers in registry) -18:53:17 - LiteLLM Proxy:DEBUG: pass_through_endpoints.py:2409 - initializing pass through endpoints -18:53:17 - LiteLLM Proxy:INFO: proxy_server.py:5640 - Loading 0 search tool(s) from database into router -18:53:17 - LiteLLM Proxy:DEBUG: proxy_server.py:5660 - No search tools found in database, keeping config-loaded search tools (if any) -18:53:17 - LiteLLM Proxy:INFO: tool_registry_writer.py:329 - ToolPolicyRegistry: synced 17 tool policies and 1 object permissions from DB -18:53:17 - LiteLLM Proxy:DEBUG: proxy_server.py:5517 - Successfully synced tool policy from DB -INFO: 127.0.0.1:65461 - "GET /v1/mcp/server/health HTTP/1.1" 200 OK -18:53:19 - LiteLLM Proxy:DEBUG: spend_update_queue.py:39 - Aggregating updates by entity type: [] -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1122 - User Spend transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1165 - End-User Spend transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1180 - KEY Spend transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1221 - Team Spend transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1269 - Team Membership Spend transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1342 - Org Spend transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Tag Spend transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Agent Spend transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily User Spend transactions: 0 -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily user spend update -18:53:20 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Team Spend transactions: 0 -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily team spend update -18:53:20 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Org Spend transactions: 0 -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily org spend update -18:53:20 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily End_user Spend transactions: 0 -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily end_user spend update -18:53:20 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Agent Spend transactions: 0 -18:53:20 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily agent spend update -18:53:20 - LiteLLM Proxy:DEBUG: utils.py:4936 - Spend Logs transactions: 0 -18:53:29 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: spend_update_queue.py:39 - Aggregating updates by entity type: [] -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1122 - User Spend transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1165 - End-User Spend transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1180 - KEY Spend transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1221 - Team Spend transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1269 - Team Membership Spend transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1342 - Org Spend transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Tag Spend transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1435 - Agent Spend transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily User Spend transactions: 0 -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily user spend update -18:53:31 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Team Spend transactions: 0 -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily team spend update -18:53:31 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Org Spend transactions: 0 -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily org spend update -18:53:31 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily End_user Spend transactions: 0 -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily end_user spend update -18:53:31 - LiteLLM Proxy:DEBUG: daily_spend_update_queue.py:99 - Aggregated daily spend update transactions: {} -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1576 - Daily Agent Spend transactions: 0 -18:53:31 - LiteLLM Proxy:DEBUG: db_spend_update_writer.py:1609 - No new transactions to process for daily agent spend update -18:53:31 - LiteLLM Proxy:DEBUG: utils.py:4936 - Spend Logs transactions: 0 diff --git a/tests/test_proxy_search_tool_auth.py b/tests/test_proxy_search_tool_auth.py deleted file mode 100644 index 502bc655cef..00000000000 --- a/tests/test_proxy_search_tool_auth.py +++ /dev/null @@ -1,212 +0,0 @@ -""" -Test search tool authorization - verify model-like access control for search tools. - -Tests that: -1. Keys can only access search tools in their allowed_search_tools list -2. Teams can only access search tools in their allowed_search_tools list -3. Empty allowlists grant access to all search tools -4. Credentials are never exposed in team/key metadata -""" - -import pytest -from unittest.mock import MagicMock, patch -from fastapi import HTTPException - -# Import types and functions to test -from litellm.proxy._types import LiteLLM_TeamTable, UserAPIKeyAuth -from litellm.proxy.auth.auth_checks import ( - can_key_call_search_tool, - can_team_call_search_tool, -) - - -@pytest.mark.asyncio -async def test_key_can_access_allowed_search_tool(): - """Test that a key can access a search tool in its allowlist.""" - # Create a mock key with allowed_search_tools - mock_key = UserAPIKeyAuth( - token="sk-test-key", - models=["gpt-4"], - allowed_search_tools=["tavily-search", "perplexity-search"], - ) - - # Should succeed - tool is in allowlist - result = await can_key_call_search_tool( - search_tool_name="tavily-search", - valid_token=mock_key, - ) - assert result is True - - -@pytest.mark.asyncio -async def test_key_denied_non_allowed_search_tool(): - """Test that a key is denied access to a search tool not in its allowlist.""" - mock_key = UserAPIKeyAuth( - token="sk-test-key", - models=["gpt-4"], - allowed_search_tools=["tavily-search"], # Only tavily allowed - ) - - # Should raise exception - brave-search not in allowlist - with pytest.raises(Exception) as exc_info: - await can_key_call_search_tool( - search_tool_name="brave-search", - valid_token=mock_key, - ) - assert "not allowed to access search tool" in str(exc_info.value) - assert "brave-search" in str(exc_info.value) - - -@pytest.mark.asyncio -async def test_key_empty_allowlist_grants_all_access(): - """Test that an empty allowlist grants access to all search tools.""" - mock_key = UserAPIKeyAuth( - token="sk-test-key", - models=["gpt-4"], - allowed_search_tools=[], # Empty = all allowed - ) - - # Should succeed - empty list allows all - result = await can_key_call_search_tool( - search_tool_name="any-search-tool", - valid_token=mock_key, - ) - assert result is True - - -@pytest.mark.asyncio -async def test_team_can_access_allowed_search_tool(): - """Test that a team can access a search tool in its allowlist.""" - mock_team = LiteLLM_TeamTable( - team_id="team-123", - team_alias="Marketing Team", - models=["gpt-4"], - allowed_search_tools=["tavily-search", "exa-search"], - ) - - # Should succeed - tool is in allowlist - result = await can_team_call_search_tool( - search_tool_name="tavily-search", - team_object=mock_team, - ) - assert result is True - - -@pytest.mark.asyncio -async def test_team_denied_non_allowed_search_tool(): - """Test that a team is denied access to a search tool not in its allowlist.""" - mock_team = LiteLLM_TeamTable( - team_id="team-123", - team_alias="Engineering Team", - models=["gpt-4"], - allowed_search_tools=["perplexity-search"], # Only perplexity allowed - ) - - # Should raise exception - tavily-search not in allowlist - with pytest.raises(Exception) as exc_info: - await can_team_call_search_tool( - search_tool_name="tavily-search", - team_object=mock_team, - ) - assert "not allowed to access search tool" in str(exc_info.value) - assert "tavily-search" in str(exc_info.value) - - -@pytest.mark.asyncio -async def test_team_empty_allowlist_grants_all_access(): - """Test that an empty team allowlist grants access to all search tools.""" - mock_team = LiteLLM_TeamTable( - team_id="team-123", - team_alias="Admin Team", - models=["gpt-4"], - allowed_search_tools=[], # Empty = all allowed - ) - - # Should succeed - empty list allows all - result = await can_team_call_search_tool( - search_tool_name="any-search-tool", - team_object=mock_team, - ) - assert result is True - - -@pytest.mark.asyncio -async def test_team_none_allowed_search_tools(): - """Test that None for allowed_search_tools (not set) grants access to all.""" - mock_team = LiteLLM_TeamTable( - team_id="team-123", - team_alias="Legacy Team", - models=["gpt-4"], - allowed_search_tools=None, # Not set = all allowed - ) - - # Should succeed - None allows all - result = await can_team_call_search_tool( - search_tool_name="any-search-tool", - team_object=mock_team, - ) - assert result is True - - -def test_credentials_not_in_team_metadata(): - """Verify that search provider credentials are never stored in team metadata.""" - mock_team = LiteLLM_TeamTable( - team_id="team-123", - team_alias="Test Team", - models=["gpt-4"], - allowed_search_tools=["tavily-search"], - metadata={"custom_field": "value"}, # No search_provider_config - ) - - # Verify metadata does not contain search_provider_config - assert mock_team.metadata is not None - assert "search_provider_config" not in mock_team.metadata - assert "api_key" not in str(mock_team.metadata) - - -def test_credentials_not_in_key_metadata(): - """Verify that search provider credentials are never stored in key metadata.""" - mock_key = UserAPIKeyAuth( - token="sk-test-key", - models=["gpt-4"], - allowed_search_tools=["tavily-search"], - metadata={"user_info": "test"}, # No search_provider_config - ) - - # Verify metadata does not contain search_provider_config - assert mock_key.metadata is not None - assert "search_provider_config" not in mock_key.metadata - assert "api_key" not in str(mock_key.metadata) - - -@pytest.mark.asyncio -async def test_both_key_and_team_checks_required(): - """Test that both key-level and team-level checks are enforced.""" - # Key has access to tool - mock_key = UserAPIKeyAuth( - token="sk-test-key", - models=["gpt-4"], - allowed_search_tools=["tavily-search"], - ) - - # Team does NOT have access to tool - mock_team = LiteLLM_TeamTable( - team_id="team-123", - team_alias="Restricted Team", - models=["gpt-4"], - allowed_search_tools=["perplexity-search"], # Different tool - ) - - # Key check passes - await can_key_call_search_tool( - search_tool_name="tavily-search", - valid_token=mock_key, - ) - - # Team check fails - with pytest.raises(Exception) as exc_info: - await can_team_call_search_tool( - search_tool_name="tavily-search", - team_object=mock_team, - ) - assert "not allowed to access search tool" in str(exc_info.value)