From f7af8902b01f3e593696d1c111b228712e0cdc70 Mon Sep 17 00:00:00 2001 From: Krish Dholakia Date: Sat, 28 Jun 2025 21:49:35 -0700 Subject: [PATCH] `/v1/messages` - Remove hardcoded model name on streaming + Tags - enable setting custom header tags (#12131) * fix(anthropic/experimental_pass_through): use given model name when returning streaming chunks don't harcode model name on streaming confusing for user * fix(anthropic/streaming_iterator.py): remove scope of import * feat(litellm_logging.py): allow admin to specify additional headers for using as spend tags Closes https://github.com/BerriAI/litellm/issues/12129 * test(test_litellm_logging.py): add unit tests * feat(openweb_ui.md): add custom tag tutorial to docs * docs(cost_tracking.md): add tag based usage UI screenshot * test: update test * fix: fix import --- docs/my-website/docs/proxy/cost_tracking.md | 198 +++++++++- docs/my-website/docs/proxy/enterprise.md | 169 --------- .../docs/proxy/guardrails/panw_prisma_airs.md | 1 - docs/my-website/docs/tutorials/openweb_ui.md | 15 + docs/my-website/img/claude_cli_tag_usage.png | Bin 0 -> 272720 bytes docs/my-website/img/custom_tag_headers.png | Bin 0 -> 297314 bytes litellm/__init__.py | 8 +- .../google_genai/adapters/transformation.py | 358 ++++++++++-------- litellm/litellm_core_utils/litellm_logging.py | 26 ++ .../adapters/handler.py | 6 +- .../adapters/streaming_iterator.py | 13 +- .../adapters/transformation.py | 6 +- .../anthropic_messages/transformation.py | 1 + .../static/chunks/250-b776bd9ac8911291.js | 2 +- .../static/chunks/webpack-a426aae3231a8df1.js | 2 +- .../out/_next/static/css/31b7f215e119031e.css | 2 +- .../_experimental/out/assets/logos/aws.svg | 68 ++-- .../out/assets/logos/cerebras.svg | 178 ++++----- .../out/assets/logos/deepseek.svg | 50 +-- .../out/assets/logos/perplexity-ai.svg | 30 +- litellm/proxy/_experimental/out/index.html | 2 +- litellm/proxy/_experimental/out/index.txt | 2 +- litellm/proxy/_experimental/out/model_hub.txt | 2 +- .../proxy/_experimental/out/onboarding.html | 1 - .../proxy/_experimental/out/onboarding.txt | 2 +- .../test_litellm_logging.py | 95 +++++ ...erimental_pass_through_messages_handler.py | 29 +- .../messages/test_sse_wrapper.py | 12 +- 28 files changed, 751 insertions(+), 527 deletions(-) create mode 100644 docs/my-website/img/claude_cli_tag_usage.png create mode 100644 docs/my-website/img/custom_tag_headers.png delete mode 100644 litellm/proxy/_experimental/out/onboarding.html diff --git a/docs/my-website/docs/proxy/cost_tracking.md b/docs/my-website/docs/proxy/cost_tracking.md index 58a6b1f27e..019ca3da12 100644 --- a/docs/my-website/docs/proxy/cost_tracking.md +++ b/docs/my-website/docs/proxy/cost_tracking.md @@ -255,6 +255,198 @@ curl -L -X GET 'http://localhost:4000/user/daily/activity?start_date=2025-03-20& See our [Swagger API](https://litellm-api.up.railway.app/#/Budget%20%26%20Spend%20Tracking/get_user_daily_activity_user_daily_activity_get) for more details on the `/user/daily/activity` endpoint +## Custom Tags + +Requirements: + +- Virtual Keys & a database should be set up, see [virtual keys](https://docs.litellm.ai/docs/proxy/virtual_keys) + +**Note:** By default, LiteLLM will track `User-Agent` as a custom tag for cost tracking. This enables viewing usage for tools like Claude Code, Gemini CLI, etc. + + + + + +### Client-side spend tag + + + + +```bash +curl -L -X POST 'http://0.0.0.0:4000/key/generate' \ +-H 'Authorization: Bearer sk-1234' \ +-H 'Content-Type: application/json' \ +-d '{ + "metadata": { + "tags": ["tag1", "tag2", "tag3"] + } +} + +' +``` + + + + +```bash +curl -L -X POST 'http://0.0.0.0:4000/team/new' \ +-H 'Authorization: Bearer sk-1234' \ +-H 'Content-Type: application/json' \ +-d '{ + "metadata": { + "tags": ["tag1", "tag2", "tag3"] + } +} + +' +``` + + + + +Set `extra_body={"metadata": { }}` to `metadata` you want to pass + +```python +import openai +client = openai.OpenAI( + api_key="anything", + base_url="http://0.0.0.0:4000" +) + + +response = client.chat.completions.create( + model="gpt-3.5-turbo", + messages = [ + { + "role": "user", + "content": "this is a test request, write a short poem" + } + ], + extra_body={ + "metadata": { + "tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"] # 👈 Key Change + } + } +) + +print(response) +``` + + + + + +```js +const openai = require('openai'); + +async function runOpenAI() { + const client = new openai.OpenAI({ + apiKey: 'sk-1234', + baseURL: 'http://0.0.0.0:4000' + }); + + try { + const response = await client.chat.completions.create({ + model: 'gpt-3.5-turbo', + messages: [ + { + role: 'user', + content: "this is a test request, write a short poem" + }, + ], + metadata: { + tags: ["model-anthropic-claude-v2.1", "app-ishaan-prod"] // 👈 Key Change + } + }); + console.log(response); + } catch (error) { + console.log("got this exception from server"); + console.error(error); + } +} + +// Call the asynchronous function +runOpenAI(); +``` + + + + +Pass `metadata` as part of the request body + +```shell +curl --location 'http://0.0.0.0:4000/chat/completions' \ + --header 'Content-Type: application/json' \ + --data '{ + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "user", + "content": "what llm are you" + } + ], + "metadata": {"tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"]} +}' +``` + + + +```python +from langchain.chat_models import ChatOpenAI +from langchain.prompts.chat import ( + ChatPromptTemplate, + HumanMessagePromptTemplate, + SystemMessagePromptTemplate, +) +from langchain.schema import HumanMessage, SystemMessage + +chat = ChatOpenAI( + openai_api_base="http://0.0.0.0:4000", + model = "gpt-3.5-turbo", + temperature=0.1, + extra_body={ + "metadata": { + "tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"] + } + } +) + +messages = [ + SystemMessage( + content="You are a helpful assistant that im using to make a test request to." + ), + HumanMessage( + content="test from litellm. tell me why it's amazing in 1 sentence" + ), +] +response = chat(messages) + +print(response) +``` + + + + + + +### Add custom headers to spend tracking + +You can add custom headers to the request to track spend and usage. + +```yaml +litellm_settings: + extra_spend_tag_headers: + - "x-custom-header" +``` + +### Disable user-agent tracking + +You can disable user-agent tracking by setting `litellm_settings.disable_user_agent_tracking` to `true`. + +```yaml +litellm_settings: + disable_user_agent_tracking: true +``` ## ✨ (Enterprise) Generate Spend Reports Use this to charge other teams, customers, users @@ -617,11 +809,5 @@ Logging specific key,value pairs in spend logs metadata is an enterprise feature ::: -## ✨ Custom Tags -:::info - -Tracking spend with Custom tags is an enterprise feature. [See here](./enterprise.md#tracking-spend-for-custom-tags) - -::: diff --git a/docs/my-website/docs/proxy/enterprise.md b/docs/my-website/docs/proxy/enterprise.md index 8ea8e748e9..d5ba3fc7f5 100644 --- a/docs/my-website/docs/proxy/enterprise.md +++ b/docs/my-website/docs/proxy/enterprise.md @@ -29,7 +29,6 @@ Features: - ✅ [Team Based Logging](./team_logging.md) - Allow each team to use their own Langfuse Project / custom callbacks - ✅ [Disable Logging for a Team](./team_logging.md#disable-logging-for-a-team) - Switch off all logging for a team/project (GDPR Compliance) - **Spend Tracking & Data Exports** - - ✅ [Tracking Spend for Custom Tags](#tracking-spend-for-custom-tags) - ✅ [Set USD Budgets Spend for Custom Tags](./provider_budget_routing#-tag-budgets) - ✅ [Set Model budgets for Virtual Keys](./users#-virtual-key-model-specific) - ✅ [Exporting LLM Logs to GCS Bucket, Azure Blob Storage](./proxy/bucket#🪣-logging-gcs-s3-buckets) @@ -332,174 +331,6 @@ curl --location 'http://0.0.0.0:4000/embeddings' \ ## Spend Tracking -### Custom Tags - -Requirements: - -- Virtual Keys & a database should be set up, see [virtual keys](https://docs.litellm.ai/docs/proxy/virtual_keys) - -#### Usage - /chat/completions requests with request tags - - - - - -```bash -curl -L -X POST 'http://0.0.0.0:4000/key/generate' \ --H 'Authorization: Bearer sk-1234' \ --H 'Content-Type: application/json' \ --d '{ - "metadata": { - "tags": ["tag1", "tag2", "tag3"] - } -} - -' -``` - - - - -```bash -curl -L -X POST 'http://0.0.0.0:4000/team/new' \ --H 'Authorization: Bearer sk-1234' \ --H 'Content-Type: application/json' \ --d '{ - "metadata": { - "tags": ["tag1", "tag2", "tag3"] - } -} - -' -``` - - - - -Set `extra_body={"metadata": { }}` to `metadata` you want to pass - -```python -import openai -client = openai.OpenAI( - api_key="anything", - base_url="http://0.0.0.0:4000" -) - - -response = client.chat.completions.create( - model="gpt-3.5-turbo", - messages = [ - { - "role": "user", - "content": "this is a test request, write a short poem" - } - ], - extra_body={ - "metadata": { - "tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"] # 👈 Key Change - } - } -) - -print(response) -``` - - - - - -```js -const openai = require('openai'); - -async function runOpenAI() { - const client = new openai.OpenAI({ - apiKey: 'sk-1234', - baseURL: 'http://0.0.0.0:4000' - }); - - try { - const response = await client.chat.completions.create({ - model: 'gpt-3.5-turbo', - messages: [ - { - role: 'user', - content: "this is a test request, write a short poem" - }, - ], - metadata: { - tags: ["model-anthropic-claude-v2.1", "app-ishaan-prod"] // 👈 Key Change - } - }); - console.log(response); - } catch (error) { - console.log("got this exception from server"); - console.error(error); - } -} - -// Call the asynchronous function -runOpenAI(); -``` - - - - -Pass `metadata` as part of the request body - -```shell -curl --location 'http://0.0.0.0:4000/chat/completions' \ - --header 'Content-Type: application/json' \ - --data '{ - "model": "gpt-3.5-turbo", - "messages": [ - { - "role": "user", - "content": "what llm are you" - } - ], - "metadata": {"tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"]} -}' -``` - - - -```python -from langchain.chat_models import ChatOpenAI -from langchain.prompts.chat import ( - ChatPromptTemplate, - HumanMessagePromptTemplate, - SystemMessagePromptTemplate, -) -from langchain.schema import HumanMessage, SystemMessage - -chat = ChatOpenAI( - openai_api_base="http://0.0.0.0:4000", - model = "gpt-3.5-turbo", - temperature=0.1, - extra_body={ - "metadata": { - "tags": ["model-anthropic-claude-v2.1", "app-ishaan-prod"] - } - } -) - -messages = [ - SystemMessage( - content="You are a helpful assistant that im using to make a test request to." - ), - HumanMessage( - content="test from litellm. tell me why it's amazing in 1 sentence" - ), -] -response = chat(messages) - -print(response) -``` - - - - - #### Viewing Spend per tag #### `/spend/tags` Request Format diff --git a/docs/my-website/docs/proxy/guardrails/panw_prisma_airs.md b/docs/my-website/docs/proxy/guardrails/panw_prisma_airs.md index 6e38214e56..20cbc60a3e 100644 --- a/docs/my-website/docs/proxy/guardrails/panw_prisma_airs.md +++ b/docs/my-website/docs/proxy/guardrails/panw_prisma_airs.md @@ -124,7 +124,6 @@ Expected response on failure: ``` - ```shell diff --git a/docs/my-website/docs/tutorials/openweb_ui.md b/docs/my-website/docs/tutorials/openweb_ui.md index 82ff475add..1744366b47 100644 --- a/docs/my-website/docs/tutorials/openweb_ui.md +++ b/docs/my-website/docs/tutorials/openweb_ui.md @@ -135,3 +135,18 @@ On the models dropdown select `thinking-anthropic-claude-3-7-sonnet` ## Additional Resources - Running LiteLLM and Open WebUI on Windows Localhost: A Comprehensive Guide [https://www.tanyongsheng.com/note/running-litellm-and-openwebui-on-windows-localhost-a-comprehensive-guide/](https://www.tanyongsheng.com/note/running-litellm-and-openwebui-on-windows-localhost-a-comprehensive-guide/) + + +## Add Custom Headers to Spend Tracking + +You can add custom headers to the request to track spend and usage. + +```yaml +litellm_settings: + extra_spend_tag_headers: + - "x-custom-header" +``` + +You can add custom headers to the request to track spend and usage. + + \ No newline at end of file diff --git a/docs/my-website/img/claude_cli_tag_usage.png b/docs/my-website/img/claude_cli_tag_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..ec0d7fd93dc0ef6544b9c15893a5cf1a9ee8d379 GIT binary patch literal 272720 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 e{1nc%N}@j4`k@dohJ~CX|2 Iterator[bytes]: """ Convert Google GenAI streaming chunks to Server-Sent Events format. @@ -80,7 +83,7 @@ class GoogleGenAIStreamWrapper(AdapterCompletionStreamWrapper): yield payload.encode() else: yield chunk - + async def async_google_genai_sse_wrapper(self) -> AsyncIterator[bytes]: """ Async version of google_genai_sse_wrapper. @@ -95,40 +98,39 @@ class GoogleGenAIStreamWrapper(AdapterCompletionStreamWrapper): class GoogleGenAIAdapter: """Adapter for transforming Google GenAI generate_content requests to/from litellm.completion format""" - + def __init__(self) -> None: pass - def translate_generate_content_to_completion( self, model: str, contents: Union[List[Dict[str, Any]], Dict[str, Any]], config: Optional[Dict[str, Any]] = None, - **kwargs + **kwargs, ) -> ChatCompletionRequest: """ Transform generate_content request to litellm completion format - + Args: model: The model name contents: Generate content contents (can be list or single dict) config: Optional config parameters **kwargs: Additional parameters - + Returns: ChatCompletionRequest in OpenAI format """ - + # Normalize contents to list format if isinstance(contents, dict): contents_list = [contents] else: contents_list = contents - + # Transform contents to OpenAI messages format messages = self._transform_contents_to_messages(contents_list) - + # Create base request completion_request: ChatCompletionRequest = ChatCompletionRequest( model=model, @@ -146,7 +148,7 @@ class GoogleGenAIAdapter: # - tools # - tool_choice ######################################################### - + # Add config parameters if provided if config: # Map common Google GenAI config parameters to OpenAI equivalents @@ -161,89 +163,91 @@ class GoogleGenAIAdapter: pass if "stopSequences" in config: completion_request["stop"] = config["stopSequences"] - + # Handle tools transformation if "tools" in kwargs: tools = kwargs["tools"] - + # Check if tools are already in OpenAI format or Google GenAI format if isinstance(tools, list) and len(tools) > 0: # Tools are in Google GenAI format, transform them openai_tools = self._transform_google_genai_tools_to_openai(tools) if openai_tools: completion_request["tools"] = openai_tools - + # Handle tool_config (tool choice) if "tool_config" in kwargs: - tool_choice = self._transform_google_genai_tool_config_to_openai(kwargs["tool_config"]) + tool_choice = self._transform_google_genai_tool_config_to_openai( + kwargs["tool_config"] + ) if tool_choice: completion_request["tool_choice"] = tool_choice - + return completion_request def translate_completion_output_params_streaming( self, completion_stream: Any ) -> Union[AsyncIterator[bytes], None]: """Transform streaming completion output to Google GenAI format""" - google_genai_wrapper = GoogleGenAIStreamWrapper(completion_stream=completion_stream) + google_genai_wrapper = GoogleGenAIStreamWrapper( + completion_stream=completion_stream + ) # Return the SSE-wrapped version for proper event formatting return google_genai_wrapper.async_google_genai_sse_wrapper() - def _transform_google_genai_tools_to_openai(self, tools: List[Dict[str, Any]]) -> List[ChatCompletionToolParam]: + def _transform_google_genai_tools_to_openai( + self, tools: List[Dict[str, Any]] + ) -> List[ChatCompletionToolParam]: """Transform Google GenAI tools to OpenAI tools format""" openai_tools: List[Dict[str, Any]] = [] - + for tool in tools: if "functionDeclarations" in tool: for func_decl in tool["functionDeclarations"]: function_chunk: Dict[str, Any] = { "name": func_decl.get("name", ""), } - + if "description" in func_decl: function_chunk["description"] = func_decl["description"] if "parameters" in func_decl: function_chunk["parameters"] = func_decl["parameters"] - - openai_tool = { - "type": "function", - "function": function_chunk - } + + openai_tool = {"type": "function", "function": function_chunk} openai_tools.append(openai_tool) - # normalize the tool schemas normalized_tools = [normalize_tool_schema(tool) for tool in openai_tools] - + return cast(List[ChatCompletionToolParam], normalized_tools) - def _transform_google_genai_tool_config_to_openai(self, tool_config: Dict[str, Any]) -> Optional[ChatCompletionToolChoiceValues]: + def _transform_google_genai_tool_config_to_openai( + self, tool_config: Dict[str, Any] + ) -> Optional[ChatCompletionToolChoiceValues]: """Transform Google GenAI tool_config to OpenAI tool_choice""" function_calling_config = tool_config.get("functionCallingConfig", {}) mode = function_calling_config.get("mode", "AUTO") - - mode_mapping = { - "AUTO": "auto", - "ANY": "required", - "NONE": "none" - } - + + mode_mapping = {"AUTO": "auto", "ANY": "required", "NONE": "none"} + tool_choice = mode_mapping.get(mode, "auto") return cast(ChatCompletionToolChoiceValues, tool_choice) - def _transform_contents_to_messages(self, contents: List[Dict[str, Any]]) -> List[AllMessageValues]: + def _transform_contents_to_messages( + self, contents: List[Dict[str, Any]] + ) -> List[AllMessageValues]: """Transform Google GenAI contents to OpenAI messages format""" messages: List[AllMessageValues] = [] - + for content in contents: role = content.get("role", "user") parts = content.get("parts", []) - + if role == "user": # Handle user messages with potential function responses combined_text = "" tool_messages: List[ChatCompletionToolMessage] = [] - + for part in parts: if isinstance(part, dict): if "text" in part: @@ -254,27 +258,26 @@ class GoogleGenAIAdapter: tool_message = ChatCompletionToolMessage( role="tool", tool_call_id=f"call_{func_response.get('name', 'unknown')}", - content=json.dumps(func_response.get("response", {})) + content=json.dumps(func_response.get("response", {})), ) tool_messages.append(tool_message) elif isinstance(part, str): combined_text += part - + # Add user message if there's text content if combined_text: - messages.append(ChatCompletionUserMessage( - role="user", - content=combined_text - )) - + messages.append( + ChatCompletionUserMessage(role="user", content=combined_text) + ) + # Add tool messages messages.extend(tool_messages) - + elif role == "model": # Handle assistant messages with potential function calls combined_text = "" tool_calls: List[ChatCompletionAssistantToolCall] = [] - + for part in parts: if isinstance(part, dict): if "text" in part: @@ -287,28 +290,28 @@ class GoogleGenAIAdapter: type="function", function=ChatCompletionToolCallFunctionChunk( name=func_call.get("name", ""), - arguments=json.dumps(func_call.get("args", {})) - ) + arguments=json.dumps(func_call.get("args", {})), + ), ) tool_calls.append(tool_call) elif isinstance(part, str): combined_text += part - + # Create assistant message if tool_calls: assistant_message = ChatCompletionAssistantMessage( role="assistant", content=combined_text if combined_text else None, - tool_calls=tool_calls + tool_calls=tool_calls, ) else: assistant_message = ChatCompletionAssistantMessage( role="assistant", - content=combined_text if combined_text else None + content=combined_text if combined_text else None, ) - + messages.append(assistant_message) - + return messages def translate_completion_to_generate_content( @@ -316,57 +319,62 @@ class GoogleGenAIAdapter: ) -> Dict[str, Any]: """ Transform litellm completion response to Google GenAI generate_content format - + Args: response: ModelResponse from litellm.completion - + Returns: Dict in Google GenAI generate_content response format """ - + # Extract the main response content choice = response.choices[0] if response.choices else None if not choice: raise ValueError("Invalid completion response: no choices found") - + # Handle different choice types (Choices vs StreamingChoices) if isinstance(choice, Choices): if not choice.message: - raise ValueError("Invalid completion response: no message found in choice") + raise ValueError( + "Invalid completion response: no message found in choice" + ) parts = self._transform_openai_message_to_google_genai_parts(choice.message) elif isinstance(choice, StreamingChoices): if not choice.delta: - raise ValueError("Invalid completion response: no delta found in streaming choice") + raise ValueError( + "Invalid completion response: no delta found in streaming choice" + ) parts = self._transform_openai_delta_to_google_genai_parts(choice.delta) else: # Fallback for generic choice objects - message_content = getattr(choice, 'message', {}).get('content', '') or getattr(choice, 'delta', {}).get('content', '') + message_content = getattr(choice, "message", {}).get( + "content", "" + ) or getattr(choice, "delta", {}).get("content", "") parts = [{"text": message_content}] if message_content else [] - + # Create Google GenAI format response generate_content_response: Dict[str, Any] = { "candidates": [ { - "content": { - "parts": parts, - "role": "model" - }, - "finishReason": self._map_finish_reason(getattr(choice, 'finish_reason', None)), + "content": {"parts": parts, "role": "model"}, + "finishReason": self._map_finish_reason( + getattr(choice, "finish_reason", None) + ), "index": 0, - "safetyRatings": [] + "safetyRatings": [], } ], "usageMetadata": ( - self._map_usage(getattr(response, 'usage', None)) - if hasattr(response, 'usage') and getattr(response, 'usage', None) + self._map_usage(getattr(response, "usage", None)) + if hasattr(response, "usage") and getattr(response, "usage", None) else { "promptTokenCount": 0, "candidatesTokenCount": 0, - "totalTokenCount": 0 + "totalTokenCount": 0, } - ) + ), } - + # Add text field for convenience (common in Google GenAI responses) text_content = "" for part in parts: @@ -374,7 +382,7 @@ class GoogleGenAIAdapter: text_content += part["text"] if text_content: generate_content_response["text"] = text_content - + return generate_content_response def translate_streaming_completion_to_generate_content( @@ -382,62 +390,69 @@ class GoogleGenAIAdapter: ) -> Dict[str, Any]: """ Transform streaming litellm completion chunk to Google GenAI generate_content format - + Args: response: Streaming ModelResponse chunk from litellm.completion wrapper: GoogleGenAIStreamWrapper instance - + Returns: Dict in Google GenAI streaming generate_content response format """ - + # Extract the main response content from streaming chunk choice = response.choices[0] if response.choices else None if not choice: # Return empty chunk if no choices return {} - + # Handle streaming choice if isinstance(choice, StreamingChoices): if choice.delta: - parts = self._transform_openai_delta_to_google_genai_parts_with_accumulation(choice.delta, wrapper) + parts = self._transform_openai_delta_to_google_genai_parts_with_accumulation( + choice.delta, wrapper + ) else: parts = [] - finish_reason = getattr(choice, 'finish_reason', None) + finish_reason = getattr(choice, "finish_reason", None) else: # Fallback for generic choice objects - message_content = getattr(choice, 'delta', {}).get('content', '') + message_content = getattr(choice, "delta", {}).get("content", "") parts = [{"text": message_content}] if message_content else [] - finish_reason = getattr(choice, 'finish_reason', None) - + finish_reason = getattr(choice, "finish_reason", None) + # Only create response chunk if we have parts or it's the final chunk if not parts and not finish_reason: return {} - + # Create Google GenAI streaming format response streaming_chunk: Dict[str, Any] = { "candidates": [ { - "content": { - "parts": parts, - "role": "model" - }, - "finishReason": self._map_finish_reason(finish_reason) if finish_reason else None, + "content": {"parts": parts, "role": "model"}, + "finishReason": ( + self._map_finish_reason(finish_reason) + if finish_reason + else None + ), "index": 0, - "safetyRatings": [] + "safetyRatings": [], } ] } - + # Add usage metadata only in the final chunk (when finish_reason is present) if finish_reason: - usage_metadata = self._map_usage(getattr(response, 'usage', None)) if hasattr(response, 'usage') and getattr(response, 'usage', None) else { - "promptTokenCount": 0, - "candidatesTokenCount": 0, - "totalTokenCount": 0 - } + usage_metadata = ( + self._map_usage(getattr(response, "usage", None)) + if hasattr(response, "usage") and getattr(response, "usage", None) + else { + "promptTokenCount": 0, + "candidatesTokenCount": 0, + "totalTokenCount": 0, + } + ) streaming_chunk["usageMetadata"] = usage_metadata - + # Add text field for convenience (common in Google GenAI responses) text_content = "" for part in parts: @@ -445,64 +460,69 @@ class GoogleGenAIAdapter: text_content += part["text"] if text_content: streaming_chunk["text"] = text_content - + return streaming_chunk - def _transform_openai_message_to_google_genai_parts(self, message: Any) -> List[Dict[str, Any]]: + def _transform_openai_message_to_google_genai_parts( + self, message: Any + ) -> List[Dict[str, Any]]: """Transform OpenAI message to Google GenAI parts format""" parts: List[Dict[str, Any]] = [] - + # Add text content if present - if hasattr(message, 'content') and message.content: + if hasattr(message, "content") and message.content: parts.append({"text": message.content}) - + # Add tool calls if present - if hasattr(message, 'tool_calls') and message.tool_calls: + if hasattr(message, "tool_calls") and message.tool_calls: for tool_call in message.tool_calls: - if hasattr(tool_call, 'function') and tool_call.function: + if hasattr(tool_call, "function") and tool_call.function: try: - args = json.loads(tool_call.function.arguments) if tool_call.function.arguments else {} + args = ( + json.loads(tool_call.function.arguments) + if tool_call.function.arguments + else {} + ) except json.JSONDecodeError: args = {} - + function_call_part = { - "functionCall": { - "name": tool_call.function.name, - "args": args - } + "functionCall": {"name": tool_call.function.name, "args": args} } parts.append(function_call_part) - + return parts if parts else [{"text": ""}] - def _transform_openai_delta_to_google_genai_parts(self, delta: Any) -> List[Dict[str, Any]]: + def _transform_openai_delta_to_google_genai_parts( + self, delta: Any + ) -> List[Dict[str, Any]]: """Transform OpenAI delta to Google GenAI parts format for streaming""" parts: List[Dict[str, Any]] = [] - + # Add text content if present - if hasattr(delta, 'content') and delta.content: + if hasattr(delta, "content") and delta.content: parts.append({"text": delta.content}) - + # Add tool calls if present (for streaming tool calls) - if hasattr(delta, 'tool_calls') and delta.tool_calls: + if hasattr(delta, "tool_calls") and delta.tool_calls: for tool_call in delta.tool_calls: - if hasattr(tool_call, 'function') and tool_call.function: + if hasattr(tool_call, "function") and tool_call.function: # For streaming, we might get partial function arguments - args_str = getattr(tool_call.function, 'arguments', '') or '' + args_str = getattr(tool_call.function, "arguments", "") or "" try: args = json.loads(args_str) if args_str else {} except json.JSONDecodeError: # For partial JSON in streaming, return as text for now args = {"partial": args_str} - + function_call_part = { "functionCall": { - "name": getattr(tool_call.function, 'name', '') or '', - "args": args + "name": getattr(tool_call.function, "name", "") or "", + "args": args, } } parts.append(function_call_part) - + return parts def _transform_openai_delta_to_google_genai_parts_with_accumulation( @@ -510,74 +530,84 @@ class GoogleGenAIAdapter: ) -> List[Dict[str, Any]]: """Transform OpenAI delta to Google GenAI parts format with tool call accumulation""" parts: List[Dict[str, Any]] = [] - + # Add text content if present - if hasattr(delta, 'content') and delta.content: + if hasattr(delta, "content") and delta.content: parts.append({"text": delta.content}) - + # Handle tool calls with accumulation for streaming - if hasattr(delta, 'tool_calls') and delta.tool_calls: + if hasattr(delta, "tool_calls") and delta.tool_calls: for tool_call in delta.tool_calls: - if hasattr(tool_call, 'function') and tool_call.function: - tool_call_id = getattr(tool_call, 'id', '') or 'call_unknown' - function_name = getattr(tool_call.function, 'name', '') or '' - args_str = getattr(tool_call.function, 'arguments', '') or '' - + if hasattr(tool_call, "function") and tool_call.function: + tool_call_id = getattr(tool_call, "id", "") or "call_unknown" + function_name = getattr(tool_call.function, "name", "") or "" + args_str = getattr(tool_call.function, "arguments", "") or "" + # Initialize accumulation for this tool call if not exists if tool_call_id not in wrapper.accumulated_tool_calls: wrapper.accumulated_tool_calls[tool_call_id] = { - 'name': '', - 'arguments': '', - 'complete': False + "name": "", + "arguments": "", + "complete": False, } - + # Accumulate function name if provided if function_name: - wrapper.accumulated_tool_calls[tool_call_id]['name'] = function_name - + wrapper.accumulated_tool_calls[tool_call_id][ + "name" + ] = function_name + # Accumulate arguments if provided if args_str: - wrapper.accumulated_tool_calls[tool_call_id]['arguments'] += args_str - + wrapper.accumulated_tool_calls[tool_call_id][ + "arguments" + ] += args_str + # Try to parse the accumulated arguments as JSON - accumulated_args = wrapper.accumulated_tool_calls[tool_call_id]['arguments'] + accumulated_args = wrapper.accumulated_tool_calls[tool_call_id][ + "arguments" + ] try: if accumulated_args: parsed_args = json.loads(accumulated_args) # JSON is valid, mark as complete and create function call part - wrapper.accumulated_tool_calls[tool_call_id]['complete'] = True - + wrapper.accumulated_tool_calls[tool_call_id][ + "complete" + ] = True + function_call_part = { "functionCall": { - "name": wrapper.accumulated_tool_calls[tool_call_id]['name'], - "args": parsed_args + "name": wrapper.accumulated_tool_calls[ + tool_call_id + ]["name"], + "args": parsed_args, } } parts.append(function_call_part) - + # Clean up completed tool call del wrapper.accumulated_tool_calls[tool_call_id] - + except json.JSONDecodeError: # JSON is still incomplete, continue accumulating # Don't add to parts yet pass - + return parts def _map_finish_reason(self, finish_reason: Optional[str]) -> str: """Map OpenAI finish reasons to Google GenAI finish reasons""" if not finish_reason: return "STOP" - + mapping = { "stop": "STOP", - "length": "MAX_TOKENS", + "length": "MAX_TOKENS", "content_filter": "SAFETY", "tool_calls": "STOP", "function_call": "STOP", } - + return mapping.get(finish_reason, "STOP") def _map_usage(self, usage: Any) -> Dict[str, int]: @@ -586,4 +616,4 @@ class GoogleGenAIAdapter: "promptTokenCount": getattr(usage, "prompt_tokens", 0) or 0, "candidatesTokenCount": getattr(usage, "completion_tokens", 0) or 0, "totalTokenCount": getattr(usage, "total_tokens", 0) or 0, - } \ No newline at end of file + } diff --git a/litellm/litellm_core_utils/litellm_logging.py b/litellm/litellm_core_utils/litellm_logging.py index 3ccdfc8aee..f7aa59db97 100644 --- a/litellm/litellm_core_utils/litellm_logging.py +++ b/litellm/litellm_core_utils/litellm_logging.py @@ -4024,6 +4024,27 @@ class StandardLoggingPayloadSetup: user_agent_tags.append("User-Agent: " + user_agent) return user_agent_tags + @staticmethod + def _get_extra_header_tags(proxy_server_request: dict) -> Optional[List[str]]: + """ + Extract additional header tags for spend tracking based on config. + """ + extra_headers: List[str] = litellm.extra_spend_tag_headers or [] + if not extra_headers: + return None + + headers = proxy_server_request.get("headers", {}) + if not isinstance(headers, dict): + return None + + header_tags = [] + for header_name in extra_headers: + header_value = headers.get(header_name) + if header_value: + header_tags.append(f"{header_name}: {header_value}") + + return header_tags if header_tags else None + @staticmethod def _get_request_tags(metadata: dict, proxy_server_request: dict) -> List[str]: request_tags = ( @@ -4034,8 +4055,13 @@ class StandardLoggingPayloadSetup: user_agent_tags = StandardLoggingPayloadSetup._get_user_agent_tags( proxy_server_request ) + additional_header_tags = StandardLoggingPayloadSetup._get_extra_header_tags( + proxy_server_request + ) if user_agent_tags is not None: request_tags.extend(user_agent_tags) + if additional_header_tags is not None: + request_tags.extend(additional_header_tags) return request_tags diff --git a/litellm/llms/anthropic/experimental_pass_through/adapters/handler.py b/litellm/llms/anthropic/experimental_pass_through/adapters/handler.py index 3c85f5327e..fad895a625 100644 --- a/litellm/llms/anthropic/experimental_pass_through/adapters/handler.py +++ b/litellm/llms/anthropic/experimental_pass_through/adapters/handler.py @@ -153,7 +153,8 @@ class LiteLLMMessagesToCompletionTransformationHandler: if stream: transformed_stream = ( ANTHROPIC_ADAPTER.translate_completion_output_params_streaming( - completion_response + completion_response, + model=model, ) ) if transformed_stream is not None: @@ -239,7 +240,8 @@ class LiteLLMMessagesToCompletionTransformationHandler: if stream: transformed_stream = ( ANTHROPIC_ADAPTER.translate_completion_output_params_streaming( - completion_response + completion_response, + model=model, ) ) if transformed_stream is not None: diff --git a/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py b/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py index 070069988c..662c42f0d7 100644 --- a/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py +++ b/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py @@ -2,6 +2,7 @@ ## Translates OpenAI call to Anthropic `/v1/messages` format import json import traceback +import uuid from typing import Any, AsyncIterator, Iterator, Optional from litellm import verbose_logger @@ -16,6 +17,10 @@ class AnthropicStreamWrapper(AdapterCompletionStreamWrapper): - finish_reason must map exactly to anthropic reason, else anthropic client won't be able to parse it. """ + def __init__(self, completion_stream: Any, model: str): + super().__init__(completion_stream) + self.model = model + sent_first_chunk: bool = False sent_content_block_start: bool = False sent_content_block_finish: bool = False @@ -31,11 +36,11 @@ class AnthropicStreamWrapper(AdapterCompletionStreamWrapper): return { "type": "message_start", "message": { - "id": "msg_1nZdL29xx5MUA1yADyHTEsnR8uuvGzszyY", + "id": "msg_{}".format(uuid.uuid4()), "type": "message", "role": "assistant", "content": [], - "model": "claude-3-5-sonnet-20240620", + "model": self.model, "stop_reason": None, "stop_sequence": None, "usage": UsageDelta(input_tokens=0, output_tokens=0), @@ -100,11 +105,11 @@ class AnthropicStreamWrapper(AdapterCompletionStreamWrapper): return { "type": "message_start", "message": { - "id": "msg_1nZdL29xx5MUA1yADyHTEsnR8uuvGzszyY", + "id": "msg_{}".format(uuid.uuid4()), "type": "message", "role": "assistant", "content": [], - "model": "claude-3-5-sonnet-20240620", + "model": self.model, "stop_reason": None, "stop_sequence": None, "usage": UsageDelta(input_tokens=0, output_tokens=0), diff --git a/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py b/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py index 0cddb65ddc..369c668234 100644 --- a/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py +++ b/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py @@ -96,9 +96,11 @@ class AnthropicAdapter: ) def translate_completion_output_params_streaming( - self, completion_stream: Any + self, completion_stream: Any, model: str ) -> Union[AsyncIterator[bytes], None]: - anthropic_wrapper = AnthropicStreamWrapper(completion_stream=completion_stream) + anthropic_wrapper = AnthropicStreamWrapper( + completion_stream=completion_stream, model=model + ) # Return the SSE-wrapped version for proper event formatting return anthropic_wrapper.async_anthropic_sse_wrapper() diff --git a/litellm/llms/base_llm/anthropic_messages/transformation.py b/litellm/llms/base_llm/anthropic_messages/transformation.py index d072858007..63f4f23003 100644 --- a/litellm/llms/base_llm/anthropic_messages/transformation.py +++ b/litellm/llms/base_llm/anthropic_messages/transformation.py @@ -115,6 +115,7 @@ class BaseAnthropicMessagesConfig(ABC): self, error_message: str, status_code: int, headers: Union[dict, httpx.Headers] ) -> "BaseLLMException": from litellm.llms.base_llm.chat.transformation import BaseLLMException + return BaseLLMException( message=error_message, status_code=status_code, headers=headers ) diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/250-b776bd9ac8911291.js b/litellm/proxy/_experimental/out/_next/static/chunks/250-b776bd9ac8911291.js index f0438132c4..adac15afa6 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/250-b776bd9ac8911291.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/250-b776bd9ac8911291.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[250],{19250:function(e,t,o){o.d(t,{$D:function(){return eJ},$I:function(){return Q},$o:function(){return tF},AZ:function(){return Y},Au:function(){return e_},BL:function(){return eZ},Br:function(){return b},Bw:function(){return tx},E9:function(){return eY},EB:function(){return th},EG:function(){return eW},EY:function(){return e0},Eb:function(){return N},FC:function(){return eh},Gh:function(){return eG},H1:function(){return A},H2:function(){return r},Hx:function(){return ej},I1:function(){return S},It:function(){return O},J$:function(){return ec},JO:function(){return B},K8:function(){return h},K_:function(){return eQ},Ko:function(){return tN},LY:function(){return eV},Lp:function(){return eR},MO:function(){return p},Mx:function(){return tf},N3:function(){return eb},N8:function(){return ea},NL:function(){return e9},NV:function(){return m},Nc:function(){return eP},Nz:function(){return e1},O3:function(){return eD},OD:function(){return eC},OU:function(){return eu},Of:function(){return F},Og:function(){return y},Ou:function(){return ty},Ov:function(){return C},Oz:function(){return tO},PC:function(){return e6},PT:function(){return K},PY:function(){return tv},Pj:function(){return tt},Pv:function(){return tm},Qg:function(){return ex},RQ:function(){return j},Rg:function(){return et},Sb:function(){return ez},So:function(){return er},TF:function(){return tu},Tj:function(){return e2},Tx:function(){return tB},U8:function(){return te},UM:function(){return tl},VA:function(){return I},Vt:function(){return eX},W_:function(){return M},X:function(){return es},XB:function(){return tg},XO:function(){return T},Xd:function(){return eS},Xm:function(){return x},YU:function(){return eH},Yi:function(){return tj},Yo:function(){return U},Z9:function(){return V},Zr:function(){return k},a6:function(){return P},aC:function(){return tw},ao:function(){return eK},b1:function(){return ew},cq:function(){return R},cu:function(){return eA},e2:function(){return eT},eH:function(){return W},eW:function(){return tC},eZ:function(){return eO},fE:function(){return td},fP:function(){return eo},fk:function(){return tS},g:function(){return e4},gX:function(){return eB},gl:function(){return to},h3:function(){return ed},hT:function(){return ev},hy:function(){return f},ix:function(){return X},j2:function(){return ei},jA:function(){return e$},jE:function(){return eM},jr:function(){return tT},kK:function(){return g},kn:function(){return $},lP:function(){return w},lU:function(){return tr},lg:function(){return eN},mC:function(){return ti},mR:function(){return en},mY:function(){return tc},m_:function(){return D},mp:function(){return eq},n$:function(){return em},n9:function(){return ts},nJ:function(){return tb},nd:function(){return e7},o6:function(){return ee},oC:function(){return eF},ol:function(){return L},pf:function(){return eL},pu:function(){return tk},qI:function(){return _},qW:function(){return t_},qd:function(){return tE},qk:function(){return e8},qm:function(){return u},r1:function(){return tp},r6:function(){return G},rs:function(){return v},s0:function(){return Z},sN:function(){return eI},t$:function(){return J},t0:function(){return eE},t3:function(){return e5},tB:function(){return tn},tN:function(){return ep},u5:function(){return el},v9:function(){return ek},vh:function(){return eU},wX:function(){return E},wd:function(){return eg},xA:function(){return ey},xO:function(){return e3},xX:function(){return z},xZ:function(){return ta},zX:function(){return c},zg:function(){return ef}});var a=o(41021);let r=null;console.log=function(){};let n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=window.location.origin,a=t||o;console.log("proxyBaseUrl:",r),console.log("serverRootPath:",e),e.length>0&&!a.endsWith(e)&&"/"!=e&&(a+=e,r=a),console.log("Updated proxyBaseUrl:",r)},c=()=>r||window.location.origin,s={GET:"GET",DELETE:"DELETE"},i=0,l=async e=>{let t=Date.now();t-i>6e4?(e.includes("Authentication Error - Expired Key")&&(a.ZP.info("UI Session Expired. Logging out."),i=t,document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href=window.location.pathname),i=t):console.log("Error suppressed to prevent spam:",e)},d="Authorization";function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Authorization";console.log("setGlobalLitellmHeaderName: ".concat(e)),d=e}let p=async()=>{console.log("Getting UI config");let e=await fetch("/litellm/.well-known/litellm-ui-config"),t=await e.json();return console.log("jsonData in getUiConfig:",t),n(t.server_root_path,t.proxy_base_url),t},w=async()=>{let e=r?"".concat(r,"/openapi.json"):"/openapi.json",t=await fetch(e);return await t.json()},u=async e=>{try{let t=r?"".concat(r,"/get/litellm_model_cost_map"):"/get/litellm_model_cost_map",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}}),a=await o.json();return console.log("received litellm model cost data: ".concat(a)),a}catch(e){throw console.error("Failed to get model cost map:",e),e}},g=async(e,t)=>{try{let o=r?"".concat(r,"/model/new"):"/model/new",n=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!n.ok){let e=await n.text()||"Network response was not ok";throw a.ZP.error(e),Error(e)}let c=await n.json();return console.log("API Response:",c),a.ZP.destroy(),a.ZP.success("Model ".concat(t.model_name," created successfully"),2),c}catch(e){throw console.error("Failed to create key:",e),e}},f=async e=>{try{let t=r?"".concat(r,"/model/settings"):"/model/settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){console.error("Failed to get model settings:",e)}},y=async(e,t)=>{console.log("model_id in model delete call: ".concat(t));try{let o=r?"".concat(r,"/model/delete"):"/model/delete",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},m=async(e,t)=>{if(console.log("budget_id in budget delete call: ".concat(t)),null!=e)try{let o=r?"".concat(r,"/budget/delete"):"/budget/delete",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},k=async(e,t)=>{try{console.log("Form Values in budgetCreateCall:",t),console.log("Form Values after check:",t);let o=r?"".concat(r,"/budget/new"):"/budget/new",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},_=async(e,t)=>{try{console.log("Form Values in budgetUpdateCall:",t),console.log("Form Values after check:",t);let o=r?"".concat(r,"/budget/update"):"/budget/update",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},T=async(e,t)=>{try{let o=r?"".concat(r,"/invitation/new"):"/invitation/new",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},j=async e=>{try{let t=r?"".concat(r,"/alerting/settings"):"/alerting/settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},E=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let a=r?"".concat(r,"/key/generate"):"/key/generate",n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error(e)}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},C=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.auto_create_key=!1,o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let a=r?"".concat(r,"/user/new"):"/user/new",n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error(e)}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},S=async(e,t)=>{try{let o=r?"".concat(r,"/key/delete"):"/key/delete";console.log("in keyDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:[t]})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to create key:",e),e}},N=async(e,t)=>{try{let o=r?"".concat(r,"/user/delete"):"/user/delete";console.log("in userDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_ids:t})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete user(s):",e),e}},v=async(e,t)=>{try{let o=r?"".concat(r,"/team/delete"):"/team/delete";console.log("in teamDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_ids:[t]})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete key:",e),e}},F=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,i=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,p=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;try{let w=r?"".concat(r,"/user/list"):"/user/list";console.log("in userListCall");let u=new URLSearchParams;if(t&&t.length>0){let e=t.join(",");u.append("user_ids",e)}o&&u.append("page",o.toString()),a&&u.append("page_size",a.toString()),n&&u.append("user_email",n),c&&u.append("role",c),s&&u.append("team",s),i&&u.append("sso_user_ids",i),h&&u.append("sort_by",h),p&&u.append("sort_order",p);let g=u.toString();g&&(w+="?".concat(g));let f=await fetch(w,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!f.ok){let e=await f.text();throw l(e),Error("Network response was not ok")}let y=await f.json();return console.log("/user/list API Response:",y),y}catch(e){throw console.error("Failed to create key:",e),e}},b=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4?arguments[4]:void 0,c=arguments.length>5?arguments[5]:void 0,s=arguments.length>6&&void 0!==arguments[6]&&arguments[6];console.log("userInfoCall: ".concat(t,", ").concat(o,", ").concat(a,", ").concat(n,", ").concat(c,", ").concat(s));try{let i;if(a){i=r?"".concat(r,"/user/list"):"/user/list";let e=new URLSearchParams;null!=n&&e.append("page",n.toString()),null!=c&&e.append("page_size",c.toString()),i+="?".concat(e.toString())}else i=r?"".concat(r,"/user/info"):"/user/info",("Admin"!==o&&"Admin Viewer"!==o||s)&&t&&(i+="?user_id=".concat(t));console.log("Requesting user data from:",i);let h=await fetch(i,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!h.ok){let e=await h.text();throw l(e),Error("Network response was not ok")}let p=await h.json();return console.log("API Response:",p),p}catch(e){throw console.error("Failed to fetch user data:",e),e}},x=async(e,t)=>{try{let o=r?"".concat(r,"/team/info"):"/team/info";t&&(o="".concat(o,"?team_id=").concat(t)),console.log("in teamInfoCall");let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},B=async function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;arguments.length>5&&void 0!==arguments[5]&&arguments[5],arguments.length>6&&void 0!==arguments[6]&&arguments[6],arguments.length>7&&void 0!==arguments[7]&&arguments[7],arguments.length>8&&void 0!==arguments[8]&&arguments[8];try{let c=r?"".concat(r,"/v2/team/list"):"/v2/team/list";console.log("in teamInfoCall");let s=new URLSearchParams;o&&s.append("user_id",o.toString()),t&&s.append("organization_id",t.toString()),a&&s.append("team_id",a.toString()),n&&s.append("team_alias",n.toString());let i=s.toString();i&&(c+="?".concat(i));let h=await fetch(c,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!h.ok){let e=await h.text();throw l(e),Error("Network response was not ok")}let p=await h.json();return console.log("/v2/team/list API Response:",p),p}catch(e){throw console.error("Failed to create key:",e),e}},O=async function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;try{let c=r?"".concat(r,"/team/list"):"/team/list";console.log("in teamInfoCall");let s=new URLSearchParams;o&&s.append("user_id",o.toString()),t&&s.append("organization_id",t.toString()),a&&s.append("team_id",a.toString()),n&&s.append("team_alias",n.toString());let i=s.toString();i&&(c+="?".concat(i));let h=await fetch(c,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!h.ok){let e=await h.text();throw l(e),Error("Network response was not ok")}let p=await h.json();return console.log("/team/list API Response:",p),p}catch(e){throw console.error("Failed to create key:",e),e}},P=async e=>{try{let t=r?"".concat(r,"/team/available"):"/team/available";console.log("in availableTeamListCall");let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("/team/available_teams API Response:",a),a}catch(e){throw e}},G=async e=>{try{let t=r?"".concat(r,"/organization/list"):"/organization/list",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},J=async(e,t)=>{try{let o=r?"".concat(r,"/organization/info"):"/organization/info";t&&(o="".concat(o,"?organization_id=").concat(t)),console.log("in teamInfoCall");let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},A=async(e,t)=>{try{if(console.log("Form Values in organizationCreateCall:",t),t.metadata){console.log("formValues.metadata:",t.metadata);try{t.metadata=JSON.parse(t.metadata)}catch(e){throw console.error("Failed to parse metadata:",e),Error("Failed to parse metadata: "+e)}}let o=r?"".concat(r,"/organization/new"):"/organization/new",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},I=async(e,t)=>{try{console.log("Form Values in organizationUpdateCall:",t);let o=r?"".concat(r,"/organization/update"):"/organization/update",a=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("Update Team Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},R=async(e,t)=>{try{let o=r?"".concat(r,"/organization/delete"):"/organization/delete",a=await fetch(o,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_ids:[t]})});if(!a.ok){let e=await a.text();throw l(e),Error("Error deleting organization: ".concat(e))}return await a.json()}catch(e){throw console.error("Failed to delete organization:",e),e}},U=async(e,t)=>{try{let o=r?"".concat(r,"/utils/transform_request"):"/utils/transform_request",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},z=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;try{let n=r?"".concat(r,"/user/daily/activity"):"/user/daily/activity",c=new URLSearchParams,s=e=>{let t=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(o,"-").concat(a)};c.append("start_date",s(t)),c.append("end_date",s(o)),c.append("page_size","1000"),c.append("page",a.toString());let i=c.toString();i&&(n+="?".concat(i));let h=await fetch(n,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!h.ok){let e=await h.text();throw l(e),Error("Network response was not ok")}return await h.json()}catch(e){throw console.error("Failed to create key:",e),e}},V=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;try{let c=r?"".concat(r,"/tag/daily/activity"):"/tag/daily/activity",s=new URLSearchParams,i=e=>{let t=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(o,"-").concat(a)};s.append("start_date",i(t)),s.append("end_date",i(o)),s.append("page_size","1000"),s.append("page",a.toString()),n&&s.append("tags",n.join(","));let h=s.toString();h&&(c+="?".concat(h));let p=await fetch(c,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!p.ok){let e=await p.text();throw l(e),Error("Network response was not ok")}return await p.json()}catch(e){throw console.error("Failed to create key:",e),e}},L=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;try{let c=r?"".concat(r,"/team/daily/activity"):"/team/daily/activity",s=new URLSearchParams,i=e=>{let t=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(o,"-").concat(a)};s.append("start_date",i(t)),s.append("end_date",i(o)),s.append("page_size","1000"),s.append("page",a.toString()),n&&s.append("team_ids",n.join(",")),s.append("exclude_team_ids","litellm-dashboard");let h=s.toString();h&&(c+="?".concat(h));let p=await fetch(c,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!p.ok){let e=await p.text();throw l(e),Error("Network response was not ok")}return await p.json()}catch(e){throw console.error("Failed to create key:",e),e}},M=async e=>{try{let t=r?"".concat(r,"/onboarding/get_token"):"/onboarding/get_token";t+="?invite_link=".concat(e);let o=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},D=async(e,t,o,a)=>{let n=r?"".concat(r,"/onboarding/claim_token"):"/onboarding/claim_token";try{let r=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({invitation_link:t,user_id:o,password:a})});if(!r.ok){let e=await r.text();throw l(e),Error("Network response was not ok")}let c=await r.json();return console.log(c),c}catch(e){throw console.error("Failed to delete key:",e),e}},Z=async(e,t,o)=>{try{let a=r?"".concat(r,"/key/").concat(t,"/regenerate"):"/key/".concat(t,"/regenerate"),n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Regenerate key Response:",c),c}catch(e){throw console.error("Failed to regenerate key:",e),e}},H=!1,q=null,Y=async(e,t,o)=>{try{console.log("modelInfoCall:",e,t,o);let n=r?"".concat(r,"/v2/model/info"):"/v2/model/info",c=new URLSearchParams;c.append("include_team_models","true"),c.toString()&&(n+="?".concat(c.toString()));let s=await fetch(n,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!s.ok){let e=await s.text();throw e+="error shown=".concat(H),H||(e.includes("No model list passed")&&(e="No Models Exist. Click Add Model to get started."),a.ZP.info(e,10),H=!0,q&&clearTimeout(q),q=setTimeout(()=>{H=!1},1e4)),Error("Network response was not ok")}let i=await s.json();return console.log("modelInfoCall:",i),i}catch(e){throw console.error("Failed to create key:",e),e}},X=async(e,t)=>{try{let o=r?"".concat(r,"/v1/model/info"):"/v1/model/info";o+="?litellm_model_id=".concat(t);let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok)throw await a.text(),Error("Network response was not ok");let n=await a.json();return console.log("modelInfoV1Call:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},$=async e=>{try{let t=r?"".concat(r,"/model_group/info"):"/model_group/info",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let a=await o.json();return console.log("modelHubCall:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},K=async e=>{try{let t=r?"".concat(r,"/get/allowed_ips"):"/get/allowed_ips",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw Error("Network response was not ok: ".concat(e))}let a=await o.json();return console.log("getAllowedIPs:",a),a.data}catch(e){throw console.error("Failed to get allowed IPs:",e),e}},W=async(e,t)=>{try{let o=r?"".concat(r,"/add/allowed_ip"):"/add/allowed_ip",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!a.ok){let e=await a.text();throw Error("Network response was not ok: ".concat(e))}let n=await a.json();return console.log("addAllowedIP:",n),n}catch(e){throw console.error("Failed to add allowed IP:",e),e}},Q=async(e,t)=>{try{let o=r?"".concat(r,"/delete/allowed_ip"):"/delete/allowed_ip",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!a.ok){let e=await a.text();throw Error("Network response was not ok: ".concat(e))}let n=await a.json();return console.log("deleteAllowedIP:",n),n}catch(e){throw console.error("Failed to delete allowed IP:",e),e}},ee=async(e,t,o,a,n,c,s,i)=>{try{let t=r?"".concat(r,"/model/metrics"):"/model/metrics";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(n,"&endTime=").concat(c,"&api_key=").concat(s,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},et=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/model/streaming_metrics"):"/model/streaming_metrics";t&&(n="".concat(n,"?_selected_model_group=").concat(t,"&startTime=").concat(o,"&endTime=").concat(a));let c=await fetch(n,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok){let e=await c.text();throw l(e),Error("Network response was not ok")}return await c.json()}catch(e){throw console.error("Failed to create key:",e),e}},eo=async(e,t,o,a,n,c,s,i)=>{try{let t=r?"".concat(r,"/model/metrics/slow_responses"):"/model/metrics/slow_responses";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(n,"&endTime=").concat(c,"&api_key=").concat(s,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},ea=async(e,t,o,a,n,c,s,i)=>{try{let t=r?"".concat(r,"/model/metrics/exceptions"):"/model/metrics/exceptions";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(n,"&endTime=").concat(c,"&api_key=").concat(s,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},er=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,c=(arguments.length>5&&void 0!==arguments[5]&&arguments[5],arguments.length>6&&void 0!==arguments[6]&&arguments[6]);console.log("in /models calls, globalLitellmHeaderName",d);try{let t=r?"".concat(r,"/models"):"/models",o=new URLSearchParams;o.append("include_model_access_groups","True"),!0===a&&o.append("return_wildcard_routes","True"),!0===c&&o.append("only_model_access_groups","True"),n&&o.append("team_id",n.toString()),o.toString()&&(t+="?".concat(o.toString()));let s=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!s.ok){let e=await s.text();throw l(e),Error("Network response was not ok")}return await s.json()}catch(e){throw console.error("Failed to create key:",e),e}},en=async e=>{try{let t=r?"".concat(r,"/global/spend/teams"):"/global/spend/teams";console.log("in teamSpendLogsCall:",t);let o=await fetch("".concat(t),{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},ec=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/spend/tags"):"/global/spend/tags";t&&o&&(n="".concat(n,"?start_date=").concat(t,"&end_date=").concat(o)),a&&(n+="".concat(n,"&tags=").concat(a.join(","))),console.log("in tagsSpendLogsCall:",n);let c=await fetch("".concat(n),{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok)throw await c.text(),Error("Network response was not ok");let s=await c.json();return console.log(s),s}catch(e){throw console.error("Failed to create key:",e),e}},es=async e=>{try{let t=r?"".concat(r,"/global/spend/all_tag_names"):"/global/spend/all_tag_names";console.log("in global/spend/all_tag_names call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},ei=async e=>{try{let t=r?"".concat(r,"/global/all_end_users"):"/global/all_end_users";console.log("in global/all_end_users call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},el=async(e,t)=>{try{let o=r?"".concat(r,"/user/filter/ui"):"/user/filter/ui";t.get("user_email")&&(o+="?user_email=".concat(t.get("user_email"))),t.get("user_id")&&(o+="?user_id=".concat(t.get("user_id")));let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},ed=async(e,t,o,a,n,c,s,i,h,p,w)=>{try{let u=r?"".concat(r,"/spend/logs/ui"):"/spend/logs/ui",g=new URLSearchParams;t&&g.append("api_key",t),o&&g.append("team_id",o),a&&g.append("request_id",a),n&&g.append("start_date",n),c&&g.append("end_date",c),s&&g.append("page",s.toString()),i&&g.append("page_size",i.toString()),h&&g.append("user_id",h),p&&g.append("status_filter",p),w&&g.append("model",w);let f=g.toString();f&&(u+="?".concat(f));let y=await fetch(u,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!y.ok){let e=await y.text();throw l(e),Error("Network response was not ok")}let m=await y.json();return console.log("Spend Logs Response:",m),m}catch(e){throw console.error("Failed to fetch spend logs:",e),e}},eh=async e=>{try{let t=r?"".concat(r,"/global/spend/logs"):"/global/spend/logs",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},ep=async e=>{try{let t=r?"".concat(r,"/global/spend/keys?limit=5"):"/global/spend/keys?limit=5",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},ew=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/spend/end_users"):"/global/spend/end_users",c="";c=t?JSON.stringify({api_key:t,startTime:o,endTime:a}):JSON.stringify({startTime:o,endTime:a});let s={method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:c},i=await fetch(n,s);if(!i.ok){let e=await i.text();throw l(e),Error("Network response was not ok")}let h=await i.json();return console.log(h),h}catch(e){throw console.error("Failed to create key:",e),e}},eu=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/spend/provider"):"/global/spend/provider";o&&a&&(n+="?start_date=".concat(o,"&end_date=").concat(a)),t&&(n+="&api_key=".concat(t));let c={method:"GET",headers:{[d]:"Bearer ".concat(e)}},s=await fetch(n,c);if(!s.ok){let e=await s.text();throw l(e),Error("Network response was not ok")}let i=await s.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eg=async(e,t,o)=>{try{let a=r?"".concat(r,"/global/activity"):"/global/activity";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let n={method:"GET",headers:{[d]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let s=await c.json();return console.log(s),s}catch(e){throw console.error("Failed to fetch spend data:",e),e}},ef=async(e,t,o)=>{try{let a=r?"".concat(r,"/global/activity/cache_hits"):"/global/activity/cache_hits";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let n={method:"GET",headers:{[d]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let s=await c.json();return console.log(s),s}catch(e){throw console.error("Failed to fetch spend data:",e),e}},ey=async(e,t,o)=>{try{let a=r?"".concat(r,"/global/activity/model"):"/global/activity/model";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let n={method:"GET",headers:{[d]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let s=await c.json();return console.log(s),s}catch(e){throw console.error("Failed to fetch spend data:",e),e}},em=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/activity/exceptions"):"/global/activity/exceptions";t&&o&&(n+="?start_date=".concat(t,"&end_date=").concat(o)),a&&(n+="&model_group=".concat(a));let c={method:"GET",headers:{[d]:"Bearer ".concat(e)}},s=await fetch(n,c);if(!s.ok)throw await s.text(),Error("Network response was not ok");let i=await s.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},ek=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/activity/exceptions/deployment"):"/global/activity/exceptions/deployment";t&&o&&(n+="?start_date=".concat(t,"&end_date=").concat(o)),a&&(n+="&model_group=".concat(a));let c={method:"GET",headers:{[d]:"Bearer ".concat(e)}},s=await fetch(n,c);if(!s.ok)throw await s.text(),Error("Network response was not ok");let i=await s.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},e_=async e=>{try{let t=r?"".concat(r,"/global/spend/models?limit=5"):"/global/spend/models?limit=5",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eT=async(e,t)=>{try{let o=r?"".concat(r,"/v2/key/info"):"/v2/key/info",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!a.ok){let e=await a.text();if(e.includes("Invalid proxy server token passed"))throw Error("Invalid proxy server token passed");throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to create key:",e),e}},ej=async(e,t,o)=>{try{console.log("Sending model connection test request:",JSON.stringify(t));let n=r?"".concat(r,"/health/test_connection"):"/health/test_connection",c=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",[d]:"Bearer ".concat(e)},body:JSON.stringify({litellm_params:t,mode:o})}),s=c.headers.get("content-type");if(!s||!s.includes("application/json")){let e=await c.text();throw console.error("Received non-JSON response:",e),Error("Received non-JSON response (".concat(c.status,": ").concat(c.statusText,"). Check network tab for details."))}let i=await c.json();if(!c.ok||"error"===i.status){if("error"===i.status);else{var a;return{status:"error",message:(null===(a=i.error)||void 0===a?void 0:a.message)||"Connection test failed: ".concat(c.status," ").concat(c.statusText)}}}return i}catch(e){throw console.error("Model connection test error:",e),e}},eE=async(e,t)=>{try{console.log("entering keyInfoV1Call");let o=r?"".concat(r,"/key/info"):"/key/info";o="".concat(o,"?key=").concat(t);let n=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(console.log("response",n),!n.ok){let e=await n.text();l(e),a.ZP.error("Failed to fetch key info - "+e)}let c=await n.json();return console.log("data",c),c}catch(e){throw console.error("Failed to fetch key info:",e),e}},eC=async function(e,t,o,a,n,c,s,i){let h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,p=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;try{let w=r?"".concat(r,"/key/list"):"/key/list";console.log("in keyListCall");let u=new URLSearchParams;o&&u.append("team_id",o.toString()),t&&u.append("organization_id",t.toString()),a&&u.append("key_alias",a),c&&u.append("key_hash",c),n&&u.append("user_id",n.toString()),s&&u.append("page",s.toString()),i&&u.append("size",i.toString()),h&&u.append("sort_by",h),p&&u.append("sort_order",p),u.append("return_full_object","true"),u.append("include_team_keys","true");let g=u.toString();g&&(w+="?".concat(g));let f=await fetch(w,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!f.ok){let e=await f.text();throw l(e),Error("Network response was not ok")}let y=await f.json();return console.log("/team/list API Response:",y),y}catch(e){throw console.error("Failed to create key:",e),e}},eS=async(e,t)=>{try{let o=r?"".concat(r,"/user/get_users?role=").concat(t):"/user/get_users?role=".concat(t);console.log("in userGetAllUsersCall:",o);let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to get requested models:",e),e}},eN=async e=>{try{let t=r?"".concat(r,"/user/available_roles"):"/user/available_roles",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let a=await o.json();return console.log("response from user/available_role",a),a}catch(e){throw e}},ev=async(e,t)=>{try{if(console.log("Form Values in teamCreateCall:",t),t.metadata){console.log("formValues.metadata:",t.metadata);try{t.metadata=JSON.parse(t.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}let o=r?"".concat(r,"/team/new"):"/team/new",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},eF=async(e,t)=>{try{if(console.log("Form Values in credentialCreateCall:",t),t.metadata){console.log("formValues.metadata:",t.metadata);try{t.metadata=JSON.parse(t.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}let o=r?"".concat(r,"/credentials"):"/credentials",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},eb=async e=>{try{let t=r?"".concat(r,"/credentials"):"/credentials";console.log("in credentialListCall");let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("/credentials API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},ex=async(e,t,o)=>{try{let a=r?"".concat(r,"/credentials"):"/credentials";t?a+="/by_name/".concat(t):o&&(a+="/by_model/".concat(o)),console.log("in credentialListCall");let n=await fetch(a,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("/credentials API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},eB=async(e,t)=>{try{let o=r?"".concat(r,"/credentials/").concat(t):"/credentials/".concat(t);console.log("in credentialDeleteCall:",t);let a=await fetch(o,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete key:",e),e}},eO=async(e,t,o)=>{try{if(console.log("Form Values in credentialUpdateCall:",o),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}let a=r?"".concat(r,"/credentials/").concat(t):"/credentials/".concat(t),n=await fetch(a,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},eP=async(e,t)=>{try{if(console.log("Form Values in keyUpdateCall:",t),t.model_tpm_limit){console.log("formValues.model_tpm_limit:",t.model_tpm_limit);try{t.model_tpm_limit=JSON.parse(t.model_tpm_limit)}catch(e){throw Error("Failed to parse model_tpm_limit: "+e)}}if(t.model_rpm_limit){console.log("formValues.model_rpm_limit:",t.model_rpm_limit);try{t.model_rpm_limit=JSON.parse(t.model_rpm_limit)}catch(e){throw Error("Failed to parse model_rpm_limit: "+e)}}let o=r?"".concat(r,"/key/update"):"/key/update",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("Update key Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},eG=async(e,t)=>{try{console.log("Form Values in teamUpateCall:",t);let o=r?"".concat(r,"/team/update"):"/team/update",n=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),a.ZP.error("Failed to update team settings: "+e),Error(e)}let c=await n.json();return console.log("Update Team Response:",c),c}catch(e){throw console.error("Failed to update team:",e),e}},eJ=async(e,t,o)=>{try{console.log("Form Values in modelUpateCall:",t);let a=r?"".concat(r,"/model/").concat(o,"/update"):"/model/".concat(o,"/update"),n=await fetch(a,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("Update model Response:",c),c}catch(e){throw console.error("Failed to update model:",e),e}},eA=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let n=r?"".concat(r,"/team/member_add"):"/team/member_add",c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,member:o})});if(!c.ok){var a;let e=await c.text(),t={};try{t=JSON.parse(e)}catch(t){console.warn("Failed to parse error body as JSON:",e)}let o=(null==t?void 0:null===(a=t.detail)||void 0===a?void 0:a.error)||"Failed to add team member",r=Error(o);throw r.raw=t,r}let s=await c.json();return console.log("API Response:",s),s}catch(e){throw console.error("Failed to create key:",e),e}},eI=async(e,t,o)=>{try{console.log("Form Values in teamMemberUpdateCall:",o);let n=r?"".concat(r,"/team/member_update"):"/team/member_update",c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,role:o.role,user_id:o.user_id})});if(!c.ok){var a;let e=await c.text(),t={};try{t=JSON.parse(e)}catch(t){console.warn("Failed to parse error body as JSON:",e)}let o=(null==t?void 0:null===(a=t.detail)||void 0===a?void 0:a.error)||"Failed to add team member",r=Error(o);throw r.raw=t,r}let s=await c.json();return console.log("API Response:",s),s}catch(e){throw console.error("Failed to update team member:",e),e}},eR=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let a=r?"".concat(r,"/team/member_delete"):"/team/member_delete",n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,...void 0!==o.user_email&&{user_email:o.user_email},...void 0!==o.user_id&&{user_id:o.user_id}})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},eU=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let a=r?"".concat(r,"/organization/member_add"):"/organization/member_add",n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,member:o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error(e)}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create organization member:",e),e}},ez=async(e,t,o)=>{try{console.log("Form Values in organizationMemberDeleteCall:",o);let a=r?"".concat(r,"/organization/member_delete"):"/organization/member_delete",n=await fetch(a,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,user_id:o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to delete organization member:",e),e}},eV=async(e,t,o)=>{try{console.log("Form Values in organizationMemberUpdateCall:",o);let a=r?"".concat(r,"/organization/member_update"):"/organization/member_update",n=await fetch(a,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,...o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to update organization member:",e),e}},eL=async(e,t,o)=>{try{console.log("Form Values in userUpdateUserCall:",t);let a=r?"".concat(r,"/user/update"):"/user/update",n={...t};null!==o&&(n.user_role=o),n=JSON.stringify(n);let c=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:n});if(!c.ok){let e=await c.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let s=await c.json();return console.log("API Response:",s),s}catch(e){throw console.error("Failed to create key:",e),e}},eM=async(e,t)=>{try{let o=r?"".concat(r,"/health/services?service=").concat(t):"/health/services?service=".concat(t);console.log("Checking Slack Budget Alerts service health");let n=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw l(e),Error(e)}let c=await n.json();return a.ZP.success("Test request to ".concat(t," made - check logs/alerts on ").concat(t," to verify")),c}catch(e){throw console.error("Failed to perform health check:",e),e}},eD=async e=>{try{let t=r?"".concat(r,"/budget/list"):"/budget/list",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eZ=async(e,t,o)=>{try{let t=r?"".concat(r,"/get/config/callbacks"):"/get/config/callbacks",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eH=async e=>{try{let t=r?"".concat(r,"/config/list?config_type=general_settings"):"/config/list?config_type=general_settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eq=async e=>{try{let t=r?"".concat(r,"/config/pass_through_endpoint"):"/config/pass_through_endpoint",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eY=async(e,t)=>{try{let o=r?"".concat(r,"/config/field/info?field_name=").concat(t):"/config/field/info?field_name=".concat(t),a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok)throw await a.text(),Error("Network response was not ok");return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},eX=async(e,t)=>{try{let o=r?"".concat(r,"/config/pass_through_endpoint"):"/config/pass_through_endpoint",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},e$=async(e,t,o)=>{try{let n=r?"".concat(r,"/config/field/update"):"/config/field/update",c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o,config_type:"general_settings"})});if(!c.ok){let e=await c.text();throw l(e),Error("Network response was not ok")}let s=await c.json();return a.ZP.success("Successfully updated value!"),s}catch(e){throw console.error("Failed to set callbacks:",e),e}},eK=async(e,t)=>{try{let o=r?"".concat(r,"/config/field/delete"):"/config/field/delete",n=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,config_type:"general_settings"})});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return a.ZP.success("Field reset on proxy"),c}catch(e){throw console.error("Failed to get callbacks:",e),e}},eW=async(e,t)=>{try{let o=r?"".concat(r,"/config/pass_through_endpoint?endpoint_id=").concat(t):"/config/pass_through_endpoint".concat(t),a=await fetch(o,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eQ=async(e,t)=>{try{let o=r?"".concat(r,"/config/update"):"/config/update",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},e0=async e=>{try{let t=r?"".concat(r,"/health"):"/health",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to call /health:",e),e}},e1=async(e,t)=>{try{let o=r?"".concat(r,"/health?model=").concat(encodeURIComponent(t)):"/health?model=".concat(encodeURIComponent(t)),a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw Error(e||"Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to call /health for model ".concat(t,":"),e),e}},e2=async e=>{try{let t=r?"".concat(r,"/cache/ping"):"/cache/ping",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error(e)}return await o.json()}catch(e){throw console.error("Failed to call /cache/ping:",e),e}},e3=async e=>{try{let t=r?"".concat(r,"/health/latest"):"/health/latest",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error(e)}return await o.json()}catch(e){throw console.error("Failed to call /health/latest:",e),e}},e4=async e=>{try{console.log("Getting proxy UI settings"),console.log("proxyBaseUrl in getProxyUISettings:",r);let t=r?"".concat(r,"/sso/get/ui_settings"):"/sso/get/ui_settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},e5=async e=>{try{let t=r?"".concat(r,"/v2/guardrails/list"):"/v2/guardrails/list",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get guardrails list:",e),e}},e6=async(e,t)=>{try{let o=r?"".concat(r,"/guardrails"):"/guardrails",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({guardrail:t})});if(!a.ok){let e=await a.text();throw l(e),Error(e)}let n=await a.json();return console.log("Create guardrail response:",n),n}catch(e){throw console.error("Failed to create guardrail:",e),e}},e8=async(e,t,o)=>{try{let a=r?"".concat(r,"/spend/logs/ui/").concat(t,"?start_date=").concat(encodeURIComponent(o)):"/spend/logs/ui/".concat(t,"?start_date=").concat(encodeURIComponent(o));console.log("Fetching log details from:",a);let n=await fetch(a,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Fetched log details:",c),c}catch(e){throw console.error("Failed to fetch log details:",e),e}},e9=async e=>{try{let t=r?"".concat(r,"/get/internal_user_settings"):"/get/internal_user_settings";console.log("Fetching SSO settings from:",t);let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("Fetched SSO settings:",a),a}catch(e){throw console.error("Failed to fetch SSO settings:",e),e}},e7=async(e,t)=>{try{let o=r?"".concat(r,"/update/internal_user_settings"):"/update/internal_user_settings";console.log("Updating internal user settings:",t);let n=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Updated internal user settings:",c),a.ZP.success("Internal user settings updated successfully"),c}catch(e){throw console.error("Failed to update internal user settings:",e),e}},te=async e=>{try{let t=r?"".concat(r,"/v1/mcp/server"):"/v1/mcp/server";console.log("Fetching MCP servers from:",t);let o=await fetch(t,{method:s.GET,headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("Fetched MCP servers:",a),a}catch(e){throw console.error("Failed to fetch MCP servers:",e),e}},tt=async(e,t)=>{try{console.log("Form Values in createMCPServer:",t);let o=r?"".concat(r,"/v1/mcp/server"):"/v1/mcp/server",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},to=async(e,t)=>{try{let o=r?"".concat(r,"/v1/mcp/server"):"/v1/mcp/server",a=await fetch(o,{method:"PUT",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to update MCP server:",e),e}},ta=async(e,t)=>{try{let o=(r?"".concat(r):"")+"/v1/mcp/server/".concat(t);console.log("in deleteMCPServer:",t);let a=await fetch(o,{method:s.DELETE,headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}}catch(e){throw console.error("Failed to delete key:",e),e}},tr=async(e,t)=>{try{let o=r?"".concat(r,"/mcp-rest/tools/list?server_id=").concat(t):"/mcp-rest/tools/list?server_id=".concat(t);console.log("Fetching MCP tools from:",o);let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("Fetched MCP tools:",n),n}catch(e){throw console.error("Failed to fetch MCP tools:",e),e}},tn=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/mcp-rest/tools/call"):"/mcp-rest/tools/call";console.log("Calling MCP tool:",t,"with arguments:",o);let c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"x-mcp-auth":a,"Content-Type":"application/json"},body:JSON.stringify({name:t,arguments:o})});if(!c.ok){let e=await c.text();throw l(e),Error("Network response was not ok")}let s=await c.json();return console.log("MCP tool call response:",s),s}catch(e){throw console.error("Failed to call MCP tool:",e),e}},tc=async(e,t)=>{try{let o=r?"".concat(r,"/tag/new"):"/tag/new",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();await l(e);return}return await a.json()}catch(e){throw console.error("Error creating tag:",e),e}},ts=async(e,t)=>{try{let o=r?"".concat(r,"/tag/update"):"/tag/update",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();await l(e);return}return await a.json()}catch(e){throw console.error("Error updating tag:",e),e}},ti=async(e,t)=>{try{let o=r?"".concat(r,"/tag/info"):"/tag/info",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({names:t})});if(!a.ok){let e=await a.text();return await l(e),{}}return await a.json()}catch(e){throw console.error("Error getting tag info:",e),e}},tl=async e=>{try{let t=r?"".concat(r,"/tag/list"):"/tag/list",o=await fetch(t,{method:"GET",headers:{Authorization:"Bearer ".concat(e)}});if(!o.ok){let e=await o.text();return await l(e),{}}return await o.json()}catch(e){throw console.error("Error listing tags:",e),e}},td=async(e,t)=>{try{let o=r?"".concat(r,"/tag/delete"):"/tag/delete",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({name:t})});if(!a.ok){let e=await a.text();await l(e);return}return await a.json()}catch(e){throw console.error("Error deleting tag:",e),e}},th=async e=>{try{let t=r?"".concat(r,"/get/default_team_settings"):"/get/default_team_settings";console.log("Fetching default team settings from:",t);let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("Fetched default team settings:",a),a}catch(e){throw console.error("Failed to fetch default team settings:",e),e}},tp=async(e,t)=>{try{let o=r?"".concat(r,"/update/default_team_settings"):"/update/default_team_settings";console.log("Updating default team settings:",t);let n=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Updated default team settings:",c),a.ZP.success("Default team settings updated successfully"),c}catch(e){throw console.error("Failed to update default team settings:",e),e}},tw=async(e,t)=>{try{let o=r?"".concat(r,"/team/permissions_list?team_id=").concat(t):"/team/permissions_list?team_id=".concat(t),a=await fetch(o,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("Team permissions response:",n),n}catch(e){throw console.error("Failed to get team permissions:",e),e}},tu=async(e,t,o)=>{try{let a=r?"".concat(r,"/team/permissions_update"):"/team/permissions_update",n=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({team_id:t,team_member_permissions:o})});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Team permissions response:",c),c}catch(e){throw console.error("Failed to update team permissions:",e),e}},tg=async(e,t)=>{try{let o=r?"".concat(r,"/spend/logs/session/ui?session_id=").concat(encodeURIComponent(t)):"/spend/logs/session/ui?session_id=".concat(encodeURIComponent(t)),a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to fetch session logs:",e),e}},tf=async(e,t)=>{try{let o=r?"".concat(r,"/vector_store/new"):"/vector_store/new",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify(t)});if(!a.ok){let e=await a.json();throw Error(e.detail||"Failed to create vector store")}return await a.json()}catch(e){throw console.error("Error creating vector store:",e),e}},ty=async function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1],arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let t=r?"".concat(r,"/vector_store/list"):"/vector_store/list",o=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)}});if(!o.ok){let e=await o.json();throw Error(e.detail||"Failed to list vector stores")}return await o.json()}catch(e){throw console.error("Error listing vector stores:",e),e}},tm=async(e,t)=>{try{let o=r?"".concat(r,"/vector_store/delete"):"/vector_store/delete",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({vector_store_id:t})});if(!a.ok){let e=await a.json();throw Error(e.detail||"Failed to delete vector store")}return await a.json()}catch(e){throw console.error("Error deleting vector store:",e),e}},tk=async e=>{try{let t=r?"".concat(r,"/email/event_settings"):"/email/event_settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Failed to get email event settings")}let a=await o.json();return console.log("Email event settings response:",a),a}catch(e){throw console.error("Failed to get email event settings:",e),e}},t_=async(e,t)=>{try{let o=r?"".concat(r,"/email/event_settings"):"/email/event_settings",a=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw l(e),Error("Failed to update email event settings")}let n=await a.json();return console.log("Update email event settings response:",n),n}catch(e){throw console.error("Failed to update email event settings:",e),e}},tT=async e=>{try{let t=r?"".concat(r,"/email/event_settings/reset"):"/email/event_settings/reset",o=await fetch(t,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Failed to reset email event settings")}let a=await o.json();return console.log("Reset email event settings response:",a),a}catch(e){throw console.error("Failed to reset email event settings:",e),e}},tj=async(e,t)=>{try{let o=r?"".concat(r,"/guardrails/").concat(t):"/guardrails/".concat(t),a=await fetch(o,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error(e)}let n=await a.json();return console.log("Delete guardrail response:",n),n}catch(e){throw console.error("Failed to delete guardrail:",e),e}},tE=async e=>{try{let t=r?"".concat(r,"/guardrails/ui/add_guardrail_settings"):"/guardrails/ui/add_guardrail_settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Failed to get guardrail UI settings")}let a=await o.json();return console.log("Guardrail UI settings response:",a),a}catch(e){throw console.error("Failed to get guardrail UI settings:",e),e}},tC=async e=>{try{let t=r?"".concat(r,"/guardrails/ui/provider_specific_params"):"/guardrails/ui/provider_specific_params",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Failed to get guardrail provider specific parameters")}let a=await o.json();return console.log("Guardrail provider specific params response:",a),a}catch(e){throw console.error("Failed to get guardrail provider specific parameters:",e),e}},tS=async(e,t)=>{try{let o=r?"".concat(r,"/guardrails/").concat(t,"/info"):"/guardrails/".concat(t,"/info"),a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Failed to get guardrail info")}let n=await a.json();return console.log("Guardrail info response:",n),n}catch(e){throw console.error("Failed to get guardrail info:",e),e}},tN=async(e,t,o)=>{try{let a=r?"".concat(r,"/guardrails/").concat(t):"/guardrails/".concat(t),n=await fetch(a,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!n.ok){let e=await n.text();throw l(e),Error("Failed to update guardrail")}let c=await n.json();return console.log("Update guardrail response:",c),c}catch(e){throw console.error("Failed to update guardrail:",e),e}},tv=async e=>{try{let t=r?"".concat(r,"/get/sso_settings"):"/get/sso_settings";console.log("Fetching SSO configuration from:",t);let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("Fetched SSO configuration:",a),a}catch(e){throw console.error("Failed to fetch SSO configuration:",e),e}},tF=async(e,t)=>{try{let o=r?"".concat(r,"/update/sso_settings"):"/update/sso_settings";console.log("Updating SSO configuration:",t);let a=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("Updated SSO configuration:",n),n}catch(e){throw console.error("Failed to update SSO configuration:",e),e}},tb=async(e,t,o,a,n)=>{try{let t=r?"".concat(r,"/audit"):"/audit",o=new URLSearchParams;a&&o.append("page",a.toString()),n&&o.append("page_size",n.toString());let c=o.toString();c&&(t+="?".concat(c));let s=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!s.ok){let e=await s.text();throw l(e),Error("Network response was not ok")}return await s.json()}catch(e){throw console.error("Failed to fetch audit logs:",e),e}},tx=async e=>{try{let t=r?"".concat(r,"/user/available_users"):"/user/available_users",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e)}});if(!o.ok){if(404===o.status)return null;let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to fetch remaining users:",e),e}},tB=async(e,t,o)=>{try{let n=r?"".concat(r,"/config/pass_through_endpoint/").concat(encodeURIComponent(t)):"/config/pass_through_endpoint/".concat(encodeURIComponent(t)),c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!c.ok){let e=await c.text();throw l(e),Error("Network response was not ok")}let s=await c.json();return a.ZP.success("Pass through endpoint updated successfully"),s}catch(e){throw console.error("Failed to update pass through endpoint:",e),e}},tO=async(e,t)=>{try{let o=r?"".concat(r,"/config/callback/delete"):"/config/callback/delete",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({callback_name:t})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to delete specific callback:",e),e}}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[250],{19250:function(e,t,o){o.d(t,{$D:function(){return eJ},$I:function(){return Q},$o:function(){return tF},AZ:function(){return Y},Au:function(){return e_},BL:function(){return eZ},Br:function(){return b},Bw:function(){return tx},E9:function(){return eY},EB:function(){return th},EG:function(){return eW},EY:function(){return e0},Eb:function(){return N},FC:function(){return eh},Gh:function(){return eG},H1:function(){return A},H2:function(){return r},Hx:function(){return ej},I1:function(){return S},It:function(){return O},J$:function(){return ec},JO:function(){return B},K8:function(){return h},K_:function(){return eQ},Ko:function(){return tN},LY:function(){return eV},Lp:function(){return eR},MO:function(){return p},Mx:function(){return tf},N3:function(){return eb},N8:function(){return ea},NL:function(){return e9},NV:function(){return m},Nc:function(){return eP},Nz:function(){return e1},O3:function(){return eD},OD:function(){return eC},OU:function(){return eu},Of:function(){return F},Og:function(){return y},Ou:function(){return ty},Ov:function(){return C},Oz:function(){return tO},PC:function(){return e6},PT:function(){return K},PY:function(){return tv},Pj:function(){return tt},Pv:function(){return tm},Qg:function(){return ex},RQ:function(){return j},Rg:function(){return et},Sb:function(){return ez},So:function(){return er},TF:function(){return tu},Tj:function(){return e2},Tx:function(){return tB},U8:function(){return te},UM:function(){return tl},VA:function(){return I},Vt:function(){return eX},W_:function(){return M},X:function(){return es},XB:function(){return tg},XO:function(){return T},Xd:function(){return eS},Xm:function(){return x},YU:function(){return eH},Yi:function(){return tj},Yo:function(){return U},Z9:function(){return V},Zr:function(){return k},a6:function(){return P},aC:function(){return tw},ao:function(){return eK},b1:function(){return ew},cq:function(){return R},cu:function(){return eA},e2:function(){return eT},eH:function(){return W},eW:function(){return tC},eZ:function(){return eO},fE:function(){return td},fP:function(){return eo},fk:function(){return tS},g:function(){return e4},gX:function(){return eB},gl:function(){return to},h3:function(){return ed},hT:function(){return ev},hy:function(){return f},ix:function(){return X},j2:function(){return ei},jA:function(){return e$},jE:function(){return eM},jr:function(){return tT},kK:function(){return g},kn:function(){return $},lP:function(){return w},lU:function(){return tr},lg:function(){return eN},mC:function(){return ti},mR:function(){return en},mY:function(){return tc},m_:function(){return D},mp:function(){return eq},n$:function(){return em},n9:function(){return ts},nJ:function(){return tb},nd:function(){return e7},o6:function(){return ee},oC:function(){return eF},ol:function(){return L},pf:function(){return eL},pu:function(){return tk},qI:function(){return _},qW:function(){return t_},qd:function(){return tE},qk:function(){return e8},qm:function(){return u},r1:function(){return tp},r6:function(){return G},rs:function(){return v},s0:function(){return Z},sN:function(){return eI},t$:function(){return J},t0:function(){return eE},t3:function(){return e5},tB:function(){return tn},tN:function(){return ep},u5:function(){return el},v9:function(){return ek},vh:function(){return eU},wX:function(){return E},wd:function(){return eg},xA:function(){return ey},xO:function(){return e3},xX:function(){return z},xZ:function(){return ta},zX:function(){return c},zg:function(){return ef}});var a=o(41021);let r=null;console.log=function(){};let n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=window.location.origin,a=t||o;console.log("proxyBaseUrl:",r),console.log("serverRootPath:",e),e.length>0&&!a.endsWith(e)&&"/"!=e&&(a+=e,r=a),console.log("Updated proxyBaseUrl:",r)},c=()=>r||window.location.origin,s={GET:"GET",DELETE:"DELETE"},i=0,l=async e=>{let t=Date.now();t-i>6e4?(e.includes("Authentication Error - Expired Key")&&(a.ZP.info("UI Session Expired. Logging out."),i=t,document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href=window.location.pathname),i=t):console.log("Error suppressed to prevent spam:",e)},d="Authorization";function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Authorization";console.log("setGlobalLitellmHeaderName: ".concat(e)),d=e}let p=async()=>{console.log("Getting UI config");let e=await fetch("/.well-known/litellm-ui-config"),t=await e.json();return console.log("jsonData in getUiConfig:",t),n(t.server_root_path,t.proxy_base_url),t},w=async()=>{let e=r?"".concat(r,"/openapi.json"):"/openapi.json",t=await fetch(e);return await t.json()},u=async e=>{try{let t=r?"".concat(r,"/get/litellm_model_cost_map"):"/get/litellm_model_cost_map",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}}),a=await o.json();return console.log("received litellm model cost data: ".concat(a)),a}catch(e){throw console.error("Failed to get model cost map:",e),e}},g=async(e,t)=>{try{let o=r?"".concat(r,"/model/new"):"/model/new",n=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!n.ok){let e=await n.text()||"Network response was not ok";throw a.ZP.error(e),Error(e)}let c=await n.json();return console.log("API Response:",c),a.ZP.destroy(),a.ZP.success("Model ".concat(t.model_name," created successfully"),2),c}catch(e){throw console.error("Failed to create key:",e),e}},f=async e=>{try{let t=r?"".concat(r,"/model/settings"):"/model/settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){console.error("Failed to get model settings:",e)}},y=async(e,t)=>{console.log("model_id in model delete call: ".concat(t));try{let o=r?"".concat(r,"/model/delete"):"/model/delete",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},m=async(e,t)=>{if(console.log("budget_id in budget delete call: ".concat(t)),null!=e)try{let o=r?"".concat(r,"/budget/delete"):"/budget/delete",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},k=async(e,t)=>{try{console.log("Form Values in budgetCreateCall:",t),console.log("Form Values after check:",t);let o=r?"".concat(r,"/budget/new"):"/budget/new",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},_=async(e,t)=>{try{console.log("Form Values in budgetUpdateCall:",t),console.log("Form Values after check:",t);let o=r?"".concat(r,"/budget/update"):"/budget/update",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},T=async(e,t)=>{try{let o=r?"".concat(r,"/invitation/new"):"/invitation/new",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},j=async e=>{try{let t=r?"".concat(r,"/alerting/settings"):"/alerting/settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},E=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let a=r?"".concat(r,"/key/generate"):"/key/generate",n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error(e)}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},C=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.auto_create_key=!1,o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let a=r?"".concat(r,"/user/new"):"/user/new",n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error(e)}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},S=async(e,t)=>{try{let o=r?"".concat(r,"/key/delete"):"/key/delete";console.log("in keyDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:[t]})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to create key:",e),e}},N=async(e,t)=>{try{let o=r?"".concat(r,"/user/delete"):"/user/delete";console.log("in userDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_ids:t})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete user(s):",e),e}},v=async(e,t)=>{try{let o=r?"".concat(r,"/team/delete"):"/team/delete";console.log("in teamDeleteCall:",t);let a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_ids:[t]})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete key:",e),e}},F=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,i=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,p=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;try{let w=r?"".concat(r,"/user/list"):"/user/list";console.log("in userListCall");let u=new URLSearchParams;if(t&&t.length>0){let e=t.join(",");u.append("user_ids",e)}o&&u.append("page",o.toString()),a&&u.append("page_size",a.toString()),n&&u.append("user_email",n),c&&u.append("role",c),s&&u.append("team",s),i&&u.append("sso_user_ids",i),h&&u.append("sort_by",h),p&&u.append("sort_order",p);let g=u.toString();g&&(w+="?".concat(g));let f=await fetch(w,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!f.ok){let e=await f.text();throw l(e),Error("Network response was not ok")}let y=await f.json();return console.log("/user/list API Response:",y),y}catch(e){throw console.error("Failed to create key:",e),e}},b=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4?arguments[4]:void 0,c=arguments.length>5?arguments[5]:void 0,s=arguments.length>6&&void 0!==arguments[6]&&arguments[6];console.log("userInfoCall: ".concat(t,", ").concat(o,", ").concat(a,", ").concat(n,", ").concat(c,", ").concat(s));try{let i;if(a){i=r?"".concat(r,"/user/list"):"/user/list";let e=new URLSearchParams;null!=n&&e.append("page",n.toString()),null!=c&&e.append("page_size",c.toString()),i+="?".concat(e.toString())}else i=r?"".concat(r,"/user/info"):"/user/info",("Admin"!==o&&"Admin Viewer"!==o||s)&&t&&(i+="?user_id=".concat(t));console.log("Requesting user data from:",i);let h=await fetch(i,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!h.ok){let e=await h.text();throw l(e),Error("Network response was not ok")}let p=await h.json();return console.log("API Response:",p),p}catch(e){throw console.error("Failed to fetch user data:",e),e}},x=async(e,t)=>{try{let o=r?"".concat(r,"/team/info"):"/team/info";t&&(o="".concat(o,"?team_id=").concat(t)),console.log("in teamInfoCall");let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},B=async function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;arguments.length>5&&void 0!==arguments[5]&&arguments[5],arguments.length>6&&void 0!==arguments[6]&&arguments[6],arguments.length>7&&void 0!==arguments[7]&&arguments[7],arguments.length>8&&void 0!==arguments[8]&&arguments[8];try{let c=r?"".concat(r,"/v2/team/list"):"/v2/team/list";console.log("in teamInfoCall");let s=new URLSearchParams;o&&s.append("user_id",o.toString()),t&&s.append("organization_id",t.toString()),a&&s.append("team_id",a.toString()),n&&s.append("team_alias",n.toString());let i=s.toString();i&&(c+="?".concat(i));let h=await fetch(c,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!h.ok){let e=await h.text();throw l(e),Error("Network response was not ok")}let p=await h.json();return console.log("/v2/team/list API Response:",p),p}catch(e){throw console.error("Failed to create key:",e),e}},O=async function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;try{let c=r?"".concat(r,"/team/list"):"/team/list";console.log("in teamInfoCall");let s=new URLSearchParams;o&&s.append("user_id",o.toString()),t&&s.append("organization_id",t.toString()),a&&s.append("team_id",a.toString()),n&&s.append("team_alias",n.toString());let i=s.toString();i&&(c+="?".concat(i));let h=await fetch(c,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!h.ok){let e=await h.text();throw l(e),Error("Network response was not ok")}let p=await h.json();return console.log("/team/list API Response:",p),p}catch(e){throw console.error("Failed to create key:",e),e}},P=async e=>{try{let t=r?"".concat(r,"/team/available"):"/team/available";console.log("in availableTeamListCall");let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("/team/available_teams API Response:",a),a}catch(e){throw e}},G=async e=>{try{let t=r?"".concat(r,"/organization/list"):"/organization/list",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},J=async(e,t)=>{try{let o=r?"".concat(r,"/organization/info"):"/organization/info";t&&(o="".concat(o,"?organization_id=").concat(t)),console.log("in teamInfoCall");let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},A=async(e,t)=>{try{if(console.log("Form Values in organizationCreateCall:",t),t.metadata){console.log("formValues.metadata:",t.metadata);try{t.metadata=JSON.parse(t.metadata)}catch(e){throw console.error("Failed to parse metadata:",e),Error("Failed to parse metadata: "+e)}}let o=r?"".concat(r,"/organization/new"):"/organization/new",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},I=async(e,t)=>{try{console.log("Form Values in organizationUpdateCall:",t);let o=r?"".concat(r,"/organization/update"):"/organization/update",a=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("Update Team Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},R=async(e,t)=>{try{let o=r?"".concat(r,"/organization/delete"):"/organization/delete",a=await fetch(o,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_ids:[t]})});if(!a.ok){let e=await a.text();throw l(e),Error("Error deleting organization: ".concat(e))}return await a.json()}catch(e){throw console.error("Failed to delete organization:",e),e}},U=async(e,t)=>{try{let o=r?"".concat(r,"/utils/transform_request"):"/utils/transform_request",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},z=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;try{let n=r?"".concat(r,"/user/daily/activity"):"/user/daily/activity",c=new URLSearchParams,s=e=>{let t=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(o,"-").concat(a)};c.append("start_date",s(t)),c.append("end_date",s(o)),c.append("page_size","1000"),c.append("page",a.toString());let i=c.toString();i&&(n+="?".concat(i));let h=await fetch(n,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!h.ok){let e=await h.text();throw l(e),Error("Network response was not ok")}return await h.json()}catch(e){throw console.error("Failed to create key:",e),e}},V=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;try{let c=r?"".concat(r,"/tag/daily/activity"):"/tag/daily/activity",s=new URLSearchParams,i=e=>{let t=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(o,"-").concat(a)};s.append("start_date",i(t)),s.append("end_date",i(o)),s.append("page_size","1000"),s.append("page",a.toString()),n&&s.append("tags",n.join(","));let h=s.toString();h&&(c+="?".concat(h));let p=await fetch(c,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!p.ok){let e=await p.text();throw l(e),Error("Network response was not ok")}return await p.json()}catch(e){throw console.error("Failed to create key:",e),e}},L=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;try{let c=r?"".concat(r,"/team/daily/activity"):"/team/daily/activity",s=new URLSearchParams,i=e=>{let t=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(o,"-").concat(a)};s.append("start_date",i(t)),s.append("end_date",i(o)),s.append("page_size","1000"),s.append("page",a.toString()),n&&s.append("team_ids",n.join(",")),s.append("exclude_team_ids","litellm-dashboard");let h=s.toString();h&&(c+="?".concat(h));let p=await fetch(c,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!p.ok){let e=await p.text();throw l(e),Error("Network response was not ok")}return await p.json()}catch(e){throw console.error("Failed to create key:",e),e}},M=async e=>{try{let t=r?"".concat(r,"/onboarding/get_token"):"/onboarding/get_token";t+="?invite_link=".concat(e);let o=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},D=async(e,t,o,a)=>{let n=r?"".concat(r,"/onboarding/claim_token"):"/onboarding/claim_token";try{let r=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({invitation_link:t,user_id:o,password:a})});if(!r.ok){let e=await r.text();throw l(e),Error("Network response was not ok")}let c=await r.json();return console.log(c),c}catch(e){throw console.error("Failed to delete key:",e),e}},Z=async(e,t,o)=>{try{let a=r?"".concat(r,"/key/").concat(t,"/regenerate"):"/key/".concat(t,"/regenerate"),n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Regenerate key Response:",c),c}catch(e){throw console.error("Failed to regenerate key:",e),e}},H=!1,q=null,Y=async(e,t,o)=>{try{console.log("modelInfoCall:",e,t,o);let n=r?"".concat(r,"/v2/model/info"):"/v2/model/info",c=new URLSearchParams;c.append("include_team_models","true"),c.toString()&&(n+="?".concat(c.toString()));let s=await fetch(n,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!s.ok){let e=await s.text();throw e+="error shown=".concat(H),H||(e.includes("No model list passed")&&(e="No Models Exist. Click Add Model to get started."),a.ZP.info(e,10),H=!0,q&&clearTimeout(q),q=setTimeout(()=>{H=!1},1e4)),Error("Network response was not ok")}let i=await s.json();return console.log("modelInfoCall:",i),i}catch(e){throw console.error("Failed to create key:",e),e}},X=async(e,t)=>{try{let o=r?"".concat(r,"/v1/model/info"):"/v1/model/info";o+="?litellm_model_id=".concat(t);let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok)throw await a.text(),Error("Network response was not ok");let n=await a.json();return console.log("modelInfoV1Call:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},$=async e=>{try{let t=r?"".concat(r,"/model_group/info"):"/model_group/info",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let a=await o.json();return console.log("modelHubCall:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},K=async e=>{try{let t=r?"".concat(r,"/get/allowed_ips"):"/get/allowed_ips",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw Error("Network response was not ok: ".concat(e))}let a=await o.json();return console.log("getAllowedIPs:",a),a.data}catch(e){throw console.error("Failed to get allowed IPs:",e),e}},W=async(e,t)=>{try{let o=r?"".concat(r,"/add/allowed_ip"):"/add/allowed_ip",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!a.ok){let e=await a.text();throw Error("Network response was not ok: ".concat(e))}let n=await a.json();return console.log("addAllowedIP:",n),n}catch(e){throw console.error("Failed to add allowed IP:",e),e}},Q=async(e,t)=>{try{let o=r?"".concat(r,"/delete/allowed_ip"):"/delete/allowed_ip",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!a.ok){let e=await a.text();throw Error("Network response was not ok: ".concat(e))}let n=await a.json();return console.log("deleteAllowedIP:",n),n}catch(e){throw console.error("Failed to delete allowed IP:",e),e}},ee=async(e,t,o,a,n,c,s,i)=>{try{let t=r?"".concat(r,"/model/metrics"):"/model/metrics";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(n,"&endTime=").concat(c,"&api_key=").concat(s,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},et=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/model/streaming_metrics"):"/model/streaming_metrics";t&&(n="".concat(n,"?_selected_model_group=").concat(t,"&startTime=").concat(o,"&endTime=").concat(a));let c=await fetch(n,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok){let e=await c.text();throw l(e),Error("Network response was not ok")}return await c.json()}catch(e){throw console.error("Failed to create key:",e),e}},eo=async(e,t,o,a,n,c,s,i)=>{try{let t=r?"".concat(r,"/model/metrics/slow_responses"):"/model/metrics/slow_responses";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(n,"&endTime=").concat(c,"&api_key=").concat(s,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},ea=async(e,t,o,a,n,c,s,i)=>{try{let t=r?"".concat(r,"/model/metrics/exceptions"):"/model/metrics/exceptions";a&&(t="".concat(t,"?_selected_model_group=").concat(a,"&startTime=").concat(n,"&endTime=").concat(c,"&api_key=").concat(s,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},er=async function(e,t,o){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,c=(arguments.length>5&&void 0!==arguments[5]&&arguments[5],arguments.length>6&&void 0!==arguments[6]&&arguments[6]);console.log("in /models calls, globalLitellmHeaderName",d);try{let t=r?"".concat(r,"/models"):"/models",o=new URLSearchParams;o.append("include_model_access_groups","True"),!0===a&&o.append("return_wildcard_routes","True"),!0===c&&o.append("only_model_access_groups","True"),n&&o.append("team_id",n.toString()),o.toString()&&(t+="?".concat(o.toString()));let s=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!s.ok){let e=await s.text();throw l(e),Error("Network response was not ok")}return await s.json()}catch(e){throw console.error("Failed to create key:",e),e}},en=async e=>{try{let t=r?"".concat(r,"/global/spend/teams"):"/global/spend/teams";console.log("in teamSpendLogsCall:",t);let o=await fetch("".concat(t),{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},ec=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/spend/tags"):"/global/spend/tags";t&&o&&(n="".concat(n,"?start_date=").concat(t,"&end_date=").concat(o)),a&&(n+="".concat(n,"&tags=").concat(a.join(","))),console.log("in tagsSpendLogsCall:",n);let c=await fetch("".concat(n),{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!c.ok)throw await c.text(),Error("Network response was not ok");let s=await c.json();return console.log(s),s}catch(e){throw console.error("Failed to create key:",e),e}},es=async e=>{try{let t=r?"".concat(r,"/global/spend/all_tag_names"):"/global/spend/all_tag_names";console.log("in global/spend/all_tag_names call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},ei=async e=>{try{let t=r?"".concat(r,"/global/all_end_users"):"/global/all_end_users";console.log("in global/all_end_users call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},el=async(e,t)=>{try{let o=r?"".concat(r,"/user/filter/ui"):"/user/filter/ui";t.get("user_email")&&(o+="?user_email=".concat(t.get("user_email"))),t.get("user_id")&&(o+="?user_id=".concat(t.get("user_id")));let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to create key:",e),e}},ed=async(e,t,o,a,n,c,s,i,h,p,w)=>{try{let u=r?"".concat(r,"/spend/logs/ui"):"/spend/logs/ui",g=new URLSearchParams;t&&g.append("api_key",t),o&&g.append("team_id",o),a&&g.append("request_id",a),n&&g.append("start_date",n),c&&g.append("end_date",c),s&&g.append("page",s.toString()),i&&g.append("page_size",i.toString()),h&&g.append("user_id",h),p&&g.append("status_filter",p),w&&g.append("model",w);let f=g.toString();f&&(u+="?".concat(f));let y=await fetch(u,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!y.ok){let e=await y.text();throw l(e),Error("Network response was not ok")}let m=await y.json();return console.log("Spend Logs Response:",m),m}catch(e){throw console.error("Failed to fetch spend logs:",e),e}},eh=async e=>{try{let t=r?"".concat(r,"/global/spend/logs"):"/global/spend/logs",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},ep=async e=>{try{let t=r?"".concat(r,"/global/spend/keys?limit=5"):"/global/spend/keys?limit=5",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},ew=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/spend/end_users"):"/global/spend/end_users",c="";c=t?JSON.stringify({api_key:t,startTime:o,endTime:a}):JSON.stringify({startTime:o,endTime:a});let s={method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:c},i=await fetch(n,s);if(!i.ok){let e=await i.text();throw l(e),Error("Network response was not ok")}let h=await i.json();return console.log(h),h}catch(e){throw console.error("Failed to create key:",e),e}},eu=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/spend/provider"):"/global/spend/provider";o&&a&&(n+="?start_date=".concat(o,"&end_date=").concat(a)),t&&(n+="&api_key=".concat(t));let c={method:"GET",headers:{[d]:"Bearer ".concat(e)}},s=await fetch(n,c);if(!s.ok){let e=await s.text();throw l(e),Error("Network response was not ok")}let i=await s.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},eg=async(e,t,o)=>{try{let a=r?"".concat(r,"/global/activity"):"/global/activity";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let n={method:"GET",headers:{[d]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let s=await c.json();return console.log(s),s}catch(e){throw console.error("Failed to fetch spend data:",e),e}},ef=async(e,t,o)=>{try{let a=r?"".concat(r,"/global/activity/cache_hits"):"/global/activity/cache_hits";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let n={method:"GET",headers:{[d]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let s=await c.json();return console.log(s),s}catch(e){throw console.error("Failed to fetch spend data:",e),e}},ey=async(e,t,o)=>{try{let a=r?"".concat(r,"/global/activity/model"):"/global/activity/model";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o));let n={method:"GET",headers:{[d]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let s=await c.json();return console.log(s),s}catch(e){throw console.error("Failed to fetch spend data:",e),e}},em=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/activity/exceptions"):"/global/activity/exceptions";t&&o&&(n+="?start_date=".concat(t,"&end_date=").concat(o)),a&&(n+="&model_group=".concat(a));let c={method:"GET",headers:{[d]:"Bearer ".concat(e)}},s=await fetch(n,c);if(!s.ok)throw await s.text(),Error("Network response was not ok");let i=await s.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},ek=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/global/activity/exceptions/deployment"):"/global/activity/exceptions/deployment";t&&o&&(n+="?start_date=".concat(t,"&end_date=").concat(o)),a&&(n+="&model_group=".concat(a));let c={method:"GET",headers:{[d]:"Bearer ".concat(e)}},s=await fetch(n,c);if(!s.ok)throw await s.text(),Error("Network response was not ok");let i=await s.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},e_=async e=>{try{let t=r?"".concat(r,"/global/spend/models?limit=5"):"/global/spend/models?limit=5",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log(a),a}catch(e){throw console.error("Failed to create key:",e),e}},eT=async(e,t)=>{try{let o=r?"".concat(r,"/v2/key/info"):"/v2/key/info",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!a.ok){let e=await a.text();if(e.includes("Invalid proxy server token passed"))throw Error("Invalid proxy server token passed");throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to create key:",e),e}},ej=async(e,t,o)=>{try{console.log("Sending model connection test request:",JSON.stringify(t));let n=r?"".concat(r,"/health/test_connection"):"/health/test_connection",c=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",[d]:"Bearer ".concat(e)},body:JSON.stringify({litellm_params:t,mode:o})}),s=c.headers.get("content-type");if(!s||!s.includes("application/json")){let e=await c.text();throw console.error("Received non-JSON response:",e),Error("Received non-JSON response (".concat(c.status,": ").concat(c.statusText,"). Check network tab for details."))}let i=await c.json();if(!c.ok||"error"===i.status){if("error"===i.status);else{var a;return{status:"error",message:(null===(a=i.error)||void 0===a?void 0:a.message)||"Connection test failed: ".concat(c.status," ").concat(c.statusText)}}}return i}catch(e){throw console.error("Model connection test error:",e),e}},eE=async(e,t)=>{try{console.log("entering keyInfoV1Call");let o=r?"".concat(r,"/key/info"):"/key/info";o="".concat(o,"?key=").concat(t);let n=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(console.log("response",n),!n.ok){let e=await n.text();l(e),a.ZP.error("Failed to fetch key info - "+e)}let c=await n.json();return console.log("data",c),c}catch(e){throw console.error("Failed to fetch key info:",e),e}},eC=async function(e,t,o,a,n,c,s,i){let h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,p=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;try{let w=r?"".concat(r,"/key/list"):"/key/list";console.log("in keyListCall");let u=new URLSearchParams;o&&u.append("team_id",o.toString()),t&&u.append("organization_id",t.toString()),a&&u.append("key_alias",a),c&&u.append("key_hash",c),n&&u.append("user_id",n.toString()),s&&u.append("page",s.toString()),i&&u.append("size",i.toString()),h&&u.append("sort_by",h),p&&u.append("sort_order",p),u.append("return_full_object","true"),u.append("include_team_keys","true");let g=u.toString();g&&(w+="?".concat(g));let f=await fetch(w,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!f.ok){let e=await f.text();throw l(e),Error("Network response was not ok")}let y=await f.json();return console.log("/team/list API Response:",y),y}catch(e){throw console.error("Failed to create key:",e),e}},eS=async(e,t)=>{try{let o=r?"".concat(r,"/user/get_users?role=").concat(t):"/user/get_users?role=".concat(t);console.log("in userGetAllUsersCall:",o);let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to get requested models:",e),e}},eN=async e=>{try{let t=r?"".concat(r,"/user/available_roles"):"/user/available_roles",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let a=await o.json();return console.log("response from user/available_role",a),a}catch(e){throw e}},ev=async(e,t)=>{try{if(console.log("Form Values in teamCreateCall:",t),t.metadata){console.log("formValues.metadata:",t.metadata);try{t.metadata=JSON.parse(t.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}let o=r?"".concat(r,"/team/new"):"/team/new",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},eF=async(e,t)=>{try{if(console.log("Form Values in credentialCreateCall:",t),t.metadata){console.log("formValues.metadata:",t.metadata);try{t.metadata=JSON.parse(t.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}let o=r?"".concat(r,"/credentials"):"/credentials",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},eb=async e=>{try{let t=r?"".concat(r,"/credentials"):"/credentials";console.log("in credentialListCall");let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("/credentials API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},ex=async(e,t,o)=>{try{let a=r?"".concat(r,"/credentials"):"/credentials";t?a+="/by_name/".concat(t):o&&(a+="/by_model/".concat(o)),console.log("in credentialListCall");let n=await fetch(a,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("/credentials API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},eB=async(e,t)=>{try{let o=r?"".concat(r,"/credentials/").concat(t):"/credentials/".concat(t);console.log("in credentialDeleteCall:",t);let a=await fetch(o,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete key:",e),e}},eO=async(e,t,o)=>{try{if(console.log("Form Values in credentialUpdateCall:",o),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}let a=r?"".concat(r,"/credentials/").concat(t):"/credentials/".concat(t),n=await fetch(a,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},eP=async(e,t)=>{try{if(console.log("Form Values in keyUpdateCall:",t),t.model_tpm_limit){console.log("formValues.model_tpm_limit:",t.model_tpm_limit);try{t.model_tpm_limit=JSON.parse(t.model_tpm_limit)}catch(e){throw Error("Failed to parse model_tpm_limit: "+e)}}if(t.model_rpm_limit){console.log("formValues.model_rpm_limit:",t.model_rpm_limit);try{t.model_rpm_limit=JSON.parse(t.model_rpm_limit)}catch(e){throw Error("Failed to parse model_rpm_limit: "+e)}}let o=r?"".concat(r,"/key/update"):"/key/update",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("Update key Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},eG=async(e,t)=>{try{console.log("Form Values in teamUpateCall:",t);let o=r?"".concat(r,"/team/update"):"/team/update",n=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),a.ZP.error("Failed to update team settings: "+e),Error(e)}let c=await n.json();return console.log("Update Team Response:",c),c}catch(e){throw console.error("Failed to update team:",e),e}},eJ=async(e,t,o)=>{try{console.log("Form Values in modelUpateCall:",t);let a=r?"".concat(r,"/model/").concat(o,"/update"):"/model/".concat(o,"/update"),n=await fetch(a,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("Update model Response:",c),c}catch(e){throw console.error("Failed to update model:",e),e}},eA=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let n=r?"".concat(r,"/team/member_add"):"/team/member_add",c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,member:o})});if(!c.ok){var a;let e=await c.text(),t={};try{t=JSON.parse(e)}catch(t){console.warn("Failed to parse error body as JSON:",e)}let o=(null==t?void 0:null===(a=t.detail)||void 0===a?void 0:a.error)||"Failed to add team member",r=Error(o);throw r.raw=t,r}let s=await c.json();return console.log("API Response:",s),s}catch(e){throw console.error("Failed to create key:",e),e}},eI=async(e,t,o)=>{try{console.log("Form Values in teamMemberUpdateCall:",o);let n=r?"".concat(r,"/team/member_update"):"/team/member_update",c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,role:o.role,user_id:o.user_id})});if(!c.ok){var a;let e=await c.text(),t={};try{t=JSON.parse(e)}catch(t){console.warn("Failed to parse error body as JSON:",e)}let o=(null==t?void 0:null===(a=t.detail)||void 0===a?void 0:a.error)||"Failed to add team member",r=Error(o);throw r.raw=t,r}let s=await c.json();return console.log("API Response:",s),s}catch(e){throw console.error("Failed to update team member:",e),e}},eR=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let a=r?"".concat(r,"/team/member_delete"):"/team/member_delete",n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,...void 0!==o.user_email&&{user_email:o.user_email},...void 0!==o.user_id&&{user_id:o.user_id}})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create key:",e),e}},eU=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let a=r?"".concat(r,"/organization/member_add"):"/organization/member_add",n=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,member:o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error(e)}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to create organization member:",e),e}},ez=async(e,t,o)=>{try{console.log("Form Values in organizationMemberDeleteCall:",o);let a=r?"".concat(r,"/organization/member_delete"):"/organization/member_delete",n=await fetch(a,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,user_id:o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to delete organization member:",e),e}},eV=async(e,t,o)=>{try{console.log("Form Values in organizationMemberUpdateCall:",o);let a=r?"".concat(r,"/organization/member_update"):"/organization/member_update",n=await fetch(a,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({organization_id:t,...o})});if(!n.ok){let e=await n.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let c=await n.json();return console.log("API Response:",c),c}catch(e){throw console.error("Failed to update organization member:",e),e}},eL=async(e,t,o)=>{try{console.log("Form Values in userUpdateUserCall:",t);let a=r?"".concat(r,"/user/update"):"/user/update",n={...t};null!==o&&(n.user_role=o),n=JSON.stringify(n);let c=await fetch(a,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:n});if(!c.ok){let e=await c.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let s=await c.json();return console.log("API Response:",s),s}catch(e){throw console.error("Failed to create key:",e),e}},eM=async(e,t)=>{try{let o=r?"".concat(r,"/health/services?service=").concat(t):"/health/services?service=".concat(t);console.log("Checking Slack Budget Alerts service health");let n=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw l(e),Error(e)}let c=await n.json();return a.ZP.success("Test request to ".concat(t," made - check logs/alerts on ").concat(t," to verify")),c}catch(e){throw console.error("Failed to perform health check:",e),e}},eD=async e=>{try{let t=r?"".concat(r,"/budget/list"):"/budget/list",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eZ=async(e,t,o)=>{try{let t=r?"".concat(r,"/get/config/callbacks"):"/get/config/callbacks",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eH=async e=>{try{let t=r?"".concat(r,"/config/list?config_type=general_settings"):"/config/list?config_type=general_settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eq=async e=>{try{let t=r?"".concat(r,"/config/pass_through_endpoint"):"/config/pass_through_endpoint",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eY=async(e,t)=>{try{let o=r?"".concat(r,"/config/field/info?field_name=").concat(t):"/config/field/info?field_name=".concat(t),a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok)throw await a.text(),Error("Network response was not ok");return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},eX=async(e,t)=>{try{let o=r?"".concat(r,"/config/pass_through_endpoint"):"/config/pass_through_endpoint",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},e$=async(e,t,o)=>{try{let n=r?"".concat(r,"/config/field/update"):"/config/field/update",c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o,config_type:"general_settings"})});if(!c.ok){let e=await c.text();throw l(e),Error("Network response was not ok")}let s=await c.json();return a.ZP.success("Successfully updated value!"),s}catch(e){throw console.error("Failed to set callbacks:",e),e}},eK=async(e,t)=>{try{let o=r?"".concat(r,"/config/field/delete"):"/config/field/delete",n=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,config_type:"general_settings"})});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return a.ZP.success("Field reset on proxy"),c}catch(e){throw console.error("Failed to get callbacks:",e),e}},eW=async(e,t)=>{try{let o=r?"".concat(r,"/config/pass_through_endpoint?endpoint_id=").concat(t):"/config/pass_through_endpoint".concat(t),a=await fetch(o,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},eQ=async(e,t)=>{try{let o=r?"".concat(r,"/config/update"):"/config/update",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},e0=async e=>{try{let t=r?"".concat(r,"/health"):"/health",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to call /health:",e),e}},e1=async(e,t)=>{try{let o=r?"".concat(r,"/health?model=").concat(encodeURIComponent(t)):"/health?model=".concat(encodeURIComponent(t)),a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw Error(e||"Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to call /health for model ".concat(t,":"),e),e}},e2=async e=>{try{let t=r?"".concat(r,"/cache/ping"):"/cache/ping",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error(e)}return await o.json()}catch(e){throw console.error("Failed to call /cache/ping:",e),e}},e3=async e=>{try{let t=r?"".concat(r,"/health/latest"):"/health/latest",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error(e)}return await o.json()}catch(e){throw console.error("Failed to call /health/latest:",e),e}},e4=async e=>{try{console.log("Getting proxy UI settings"),console.log("proxyBaseUrl in getProxyUISettings:",r);let t=r?"".concat(r,"/sso/get/ui_settings"):"/sso/get/ui_settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},e5=async e=>{try{let t=r?"".concat(r,"/v2/guardrails/list"):"/v2/guardrails/list",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get guardrails list:",e),e}},e6=async(e,t)=>{try{let o=r?"".concat(r,"/guardrails"):"/guardrails",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({guardrail:t})});if(!a.ok){let e=await a.text();throw l(e),Error(e)}let n=await a.json();return console.log("Create guardrail response:",n),n}catch(e){throw console.error("Failed to create guardrail:",e),e}},e8=async(e,t,o)=>{try{let a=r?"".concat(r,"/spend/logs/ui/").concat(t,"?start_date=").concat(encodeURIComponent(o)):"/spend/logs/ui/".concat(t,"?start_date=").concat(encodeURIComponent(o));console.log("Fetching log details from:",a);let n=await fetch(a,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Fetched log details:",c),c}catch(e){throw console.error("Failed to fetch log details:",e),e}},e9=async e=>{try{let t=r?"".concat(r,"/get/internal_user_settings"):"/get/internal_user_settings";console.log("Fetching SSO settings from:",t);let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("Fetched SSO settings:",a),a}catch(e){throw console.error("Failed to fetch SSO settings:",e),e}},e7=async(e,t)=>{try{let o=r?"".concat(r,"/update/internal_user_settings"):"/update/internal_user_settings";console.log("Updating internal user settings:",t);let n=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Updated internal user settings:",c),a.ZP.success("Internal user settings updated successfully"),c}catch(e){throw console.error("Failed to update internal user settings:",e),e}},te=async e=>{try{let t=r?"".concat(r,"/v1/mcp/server"):"/v1/mcp/server";console.log("Fetching MCP servers from:",t);let o=await fetch(t,{method:s.GET,headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("Fetched MCP servers:",a),a}catch(e){throw console.error("Failed to fetch MCP servers:",e),e}},tt=async(e,t)=>{try{console.log("Form Values in createMCPServer:",t);let o=r?"".concat(r,"/v1/mcp/server"):"/v1/mcp/server",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!a.ok){let e=await a.text();throw l(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},to=async(e,t)=>{try{let o=r?"".concat(r,"/v1/mcp/server"):"/v1/mcp/server",a=await fetch(o,{method:"PUT",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to update MCP server:",e),e}},ta=async(e,t)=>{try{let o=(r?"".concat(r):"")+"/v1/mcp/server/".concat(t);console.log("in deleteMCPServer:",t);let a=await fetch(o,{method:s.DELETE,headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}}catch(e){throw console.error("Failed to delete key:",e),e}},tr=async(e,t)=>{try{let o=r?"".concat(r,"/mcp-rest/tools/list?server_id=").concat(t):"/mcp-rest/tools/list?server_id=".concat(t);console.log("Fetching MCP tools from:",o);let a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("Fetched MCP tools:",n),n}catch(e){throw console.error("Failed to fetch MCP tools:",e),e}},tn=async(e,t,o,a)=>{try{let n=r?"".concat(r,"/mcp-rest/tools/call"):"/mcp-rest/tools/call";console.log("Calling MCP tool:",t,"with arguments:",o);let c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"x-mcp-auth":a,"Content-Type":"application/json"},body:JSON.stringify({name:t,arguments:o})});if(!c.ok){let e=await c.text();throw l(e),Error("Network response was not ok")}let s=await c.json();return console.log("MCP tool call response:",s),s}catch(e){throw console.error("Failed to call MCP tool:",e),e}},tc=async(e,t)=>{try{let o=r?"".concat(r,"/tag/new"):"/tag/new",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();await l(e);return}return await a.json()}catch(e){throw console.error("Error creating tag:",e),e}},ts=async(e,t)=>{try{let o=r?"".concat(r,"/tag/update"):"/tag/update",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();await l(e);return}return await a.json()}catch(e){throw console.error("Error updating tag:",e),e}},ti=async(e,t)=>{try{let o=r?"".concat(r,"/tag/info"):"/tag/info",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({names:t})});if(!a.ok){let e=await a.text();return await l(e),{}}return await a.json()}catch(e){throw console.error("Error getting tag info:",e),e}},tl=async e=>{try{let t=r?"".concat(r,"/tag/list"):"/tag/list",o=await fetch(t,{method:"GET",headers:{Authorization:"Bearer ".concat(e)}});if(!o.ok){let e=await o.text();return await l(e),{}}return await o.json()}catch(e){throw console.error("Error listing tags:",e),e}},td=async(e,t)=>{try{let o=r?"".concat(r,"/tag/delete"):"/tag/delete",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({name:t})});if(!a.ok){let e=await a.text();await l(e);return}return await a.json()}catch(e){throw console.error("Error deleting tag:",e),e}},th=async e=>{try{let t=r?"".concat(r,"/get/default_team_settings"):"/get/default_team_settings";console.log("Fetching default team settings from:",t);let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("Fetched default team settings:",a),a}catch(e){throw console.error("Failed to fetch default team settings:",e),e}},tp=async(e,t)=>{try{let o=r?"".concat(r,"/update/default_team_settings"):"/update/default_team_settings";console.log("Updating default team settings:",t);let n=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Updated default team settings:",c),a.ZP.success("Default team settings updated successfully"),c}catch(e){throw console.error("Failed to update default team settings:",e),e}},tw=async(e,t)=>{try{let o=r?"".concat(r,"/team/permissions_list?team_id=").concat(t):"/team/permissions_list?team_id=".concat(t),a=await fetch(o,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("Team permissions response:",n),n}catch(e){throw console.error("Failed to get team permissions:",e),e}},tu=async(e,t,o)=>{try{let a=r?"".concat(r,"/team/permissions_update"):"/team/permissions_update",n=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({team_id:t,team_member_permissions:o})});if(!n.ok){let e=await n.text();throw l(e),Error("Network response was not ok")}let c=await n.json();return console.log("Team permissions response:",c),c}catch(e){throw console.error("Failed to update team permissions:",e),e}},tg=async(e,t)=>{try{let o=r?"".concat(r,"/spend/logs/session/ui?session_id=").concat(encodeURIComponent(t)):"/spend/logs/session/ui?session_id=".concat(encodeURIComponent(t)),a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to fetch session logs:",e),e}},tf=async(e,t)=>{try{let o=r?"".concat(r,"/vector_store/new"):"/vector_store/new",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify(t)});if(!a.ok){let e=await a.json();throw Error(e.detail||"Failed to create vector store")}return await a.json()}catch(e){throw console.error("Error creating vector store:",e),e}},ty=async function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1],arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let t=r?"".concat(r,"/vector_store/list"):"/vector_store/list",o=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)}});if(!o.ok){let e=await o.json();throw Error(e.detail||"Failed to list vector stores")}return await o.json()}catch(e){throw console.error("Error listing vector stores:",e),e}},tm=async(e,t)=>{try{let o=r?"".concat(r,"/vector_store/delete"):"/vector_store/delete",a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({vector_store_id:t})});if(!a.ok){let e=await a.json();throw Error(e.detail||"Failed to delete vector store")}return await a.json()}catch(e){throw console.error("Error deleting vector store:",e),e}},tk=async e=>{try{let t=r?"".concat(r,"/email/event_settings"):"/email/event_settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Failed to get email event settings")}let a=await o.json();return console.log("Email event settings response:",a),a}catch(e){throw console.error("Failed to get email event settings:",e),e}},t_=async(e,t)=>{try{let o=r?"".concat(r,"/email/event_settings"):"/email/event_settings",a=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw l(e),Error("Failed to update email event settings")}let n=await a.json();return console.log("Update email event settings response:",n),n}catch(e){throw console.error("Failed to update email event settings:",e),e}},tT=async e=>{try{let t=r?"".concat(r,"/email/event_settings/reset"):"/email/event_settings/reset",o=await fetch(t,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Failed to reset email event settings")}let a=await o.json();return console.log("Reset email event settings response:",a),a}catch(e){throw console.error("Failed to reset email event settings:",e),e}},tj=async(e,t)=>{try{let o=r?"".concat(r,"/guardrails/").concat(t):"/guardrails/".concat(t),a=await fetch(o,{method:"DELETE",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error(e)}let n=await a.json();return console.log("Delete guardrail response:",n),n}catch(e){throw console.error("Failed to delete guardrail:",e),e}},tE=async e=>{try{let t=r?"".concat(r,"/guardrails/ui/add_guardrail_settings"):"/guardrails/ui/add_guardrail_settings",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Failed to get guardrail UI settings")}let a=await o.json();return console.log("Guardrail UI settings response:",a),a}catch(e){throw console.error("Failed to get guardrail UI settings:",e),e}},tC=async e=>{try{let t=r?"".concat(r,"/guardrails/ui/provider_specific_params"):"/guardrails/ui/provider_specific_params",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Failed to get guardrail provider specific parameters")}let a=await o.json();return console.log("Guardrail provider specific params response:",a),a}catch(e){throw console.error("Failed to get guardrail provider specific parameters:",e),e}},tS=async(e,t)=>{try{let o=r?"".concat(r,"/guardrails/").concat(t,"/info"):"/guardrails/".concat(t,"/info"),a=await fetch(o,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw l(e),Error("Failed to get guardrail info")}let n=await a.json();return console.log("Guardrail info response:",n),n}catch(e){throw console.error("Failed to get guardrail info:",e),e}},tN=async(e,t,o)=>{try{let a=r?"".concat(r,"/guardrails/").concat(t):"/guardrails/".concat(t),n=await fetch(a,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!n.ok){let e=await n.text();throw l(e),Error("Failed to update guardrail")}let c=await n.json();return console.log("Update guardrail response:",c),c}catch(e){throw console.error("Failed to update guardrail:",e),e}},tv=async e=>{try{let t=r?"".concat(r,"/get/sso_settings"):"/get/sso_settings";console.log("Fetching SSO configuration from:",t);let o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw l(e),Error("Network response was not ok")}let a=await o.json();return console.log("Fetched SSO configuration:",a),a}catch(e){throw console.error("Failed to fetch SSO configuration:",e),e}},tF=async(e,t)=>{try{let o=r?"".concat(r,"/update/sso_settings"):"/update/sso_settings";console.log("Updating SSO configuration:",t);let a=await fetch(o,{method:"PATCH",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}let n=await a.json();return console.log("Updated SSO configuration:",n),n}catch(e){throw console.error("Failed to update SSO configuration:",e),e}},tb=async(e,t,o,a,n)=>{try{let t=r?"".concat(r,"/audit"):"/audit",o=new URLSearchParams;a&&o.append("page",a.toString()),n&&o.append("page_size",n.toString());let c=o.toString();c&&(t+="?".concat(c));let s=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!s.ok){let e=await s.text();throw l(e),Error("Network response was not ok")}return await s.json()}catch(e){throw console.error("Failed to fetch audit logs:",e),e}},tx=async e=>{try{let t=r?"".concat(r,"/user/available_users"):"/user/available_users",o=await fetch(t,{method:"GET",headers:{[d]:"Bearer ".concat(e)}});if(!o.ok){if(404===o.status)return null;let e=await o.text();throw l(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to fetch remaining users:",e),e}},tB=async(e,t,o)=>{try{let n=r?"".concat(r,"/config/pass_through_endpoint/").concat(encodeURIComponent(t)):"/config/pass_through_endpoint/".concat(encodeURIComponent(t)),c=await fetch(n,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!c.ok){let e=await c.text();throw l(e),Error("Network response was not ok")}let s=await c.json();return a.ZP.success("Pass through endpoint updated successfully"),s}catch(e){throw console.error("Failed to update pass through endpoint:",e),e}},tO=async(e,t)=>{try{let o=r?"".concat(r,"/config/callback/delete"):"/config/callback/delete",a=await fetch(o,{method:"POST",headers:{[d]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({callback_name:t})});if(!a.ok){let e=await a.text();throw l(e),Error("Network response was not ok")}return await a.json()}catch(e){throw console.error("Failed to delete specific callback:",e),e}}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/webpack-a426aae3231a8df1.js b/litellm/proxy/_experimental/out/_next/static/chunks/webpack-a426aae3231a8df1.js index c82df116cd..2170290813 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/webpack-a426aae3231a8df1.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/webpack-a426aae3231a8df1.js @@ -1 +1 @@ -!function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function d(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={id:e,loaded:!1,exports:{}},r=!0;try{a[e].call(n.exports,n,n.exports,d),r=!1}finally{r&&delete l[e]}return n.loaded=!0,n.exports}d.m=a,e=[],d.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/litellm/proxy/_experimental/out/assets/logos/cerebras.svg b/litellm/proxy/_experimental/out/assets/logos/cerebras.svg index 426f6430c2..1ff347220c 100644 --- a/litellm/proxy/_experimental/out/assets/logos/cerebras.svg +++ b/litellm/proxy/_experimental/out/assets/logos/cerebras.svg @@ -1,89 +1,89 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/litellm/proxy/_experimental/out/assets/logos/deepseek.svg b/litellm/proxy/_experimental/out/assets/logos/deepseek.svg index c4754047da..61760f1319 100644 --- a/litellm/proxy/_experimental/out/assets/logos/deepseek.svg +++ b/litellm/proxy/_experimental/out/assets/logos/deepseek.svg @@ -1,25 +1,25 @@ - - - - - - + + + + + + diff --git a/litellm/proxy/_experimental/out/assets/logos/perplexity-ai.svg b/litellm/proxy/_experimental/out/assets/logos/perplexity-ai.svg index e828b6dfbf..e3a32be980 100644 --- a/litellm/proxy/_experimental/out/assets/logos/perplexity-ai.svg +++ b/litellm/proxy/_experimental/out/assets/logos/perplexity-ai.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/index.html b/litellm/proxy/_experimental/out/index.html index 08c7b6c4a4..04ffec08cb 100644 --- a/litellm/proxy/_experimental/out/index.html +++ b/litellm/proxy/_experimental/out/index.html @@ -1 +1 @@ -LiteLLM Dashboard \ No newline at end of file +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/index.txt b/litellm/proxy/_experimental/out/index.txt index 9564568ef3..1edaf9b51b 100644 --- a/litellm/proxy/_experimental/out/index.txt +++ b/litellm/proxy/_experimental/out/index.txt @@ -2,6 +2,6 @@ 3:I[15102,["665","static/chunks/3014691f-b7b79b78e27792f3.js","990","static/chunks/13b76428-ebdf3012af0e4489.js","402","static/chunks/402-d418d0a7bf158a22.js","313","static/chunks/313-fe5a1ed341fdff45.js","899","static/chunks/899-3dc1e1a0832876e3.js","539","static/chunks/539-a5e6699b98b26b32.js","250","static/chunks/250-b776bd9ac8911291.js","699","static/chunks/699-2e0b76ba9cd1d301.js","931","static/chunks/app/page-4f83db2427a4fe55.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["EUsvrfLmgLy71o8GGPdmU",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/31b7f215e119031e.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/c1c21001170a99e0.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_b0dd8a","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]] +0:["EUsvrfLmgLy71o8GGPdmU",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/31b7f215e119031e.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c1c21001170a99e0.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_b0dd8a","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","5",{"rel":"icon","href":"./favicon.ico"}],["$","meta","6",{"name":"next-size-adjust"}]] 1:null diff --git a/litellm/proxy/_experimental/out/model_hub.txt b/litellm/proxy/_experimental/out/model_hub.txt index ea666e9310..0db5ceaf42 100644 --- a/litellm/proxy/_experimental/out/model_hub.txt +++ b/litellm/proxy/_experimental/out/model_hub.txt @@ -2,6 +2,6 @@ 3:I[52829,["402","static/chunks/402-d418d0a7bf158a22.js","313","static/chunks/313-fe5a1ed341fdff45.js","250","static/chunks/250-b776bd9ac8911291.js","699","static/chunks/699-2e0b76ba9cd1d301.js","418","static/chunks/app/model_hub/page-ce40c5a05f3174ca.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["EUsvrfLmgLy71o8GGPdmU",[[["",{"children":["model_hub",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model_hub",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","model_hub","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/31b7f215e119031e.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/c1c21001170a99e0.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_b0dd8a","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]] +0:["EUsvrfLmgLy71o8GGPdmU",[[["",{"children":["model_hub",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model_hub",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","model_hub","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/31b7f215e119031e.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c1c21001170a99e0.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_b0dd8a","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","5",{"rel":"icon","href":"./favicon.ico"}],["$","meta","6",{"name":"next-size-adjust"}]] 1:null diff --git a/litellm/proxy/_experimental/out/onboarding.html b/litellm/proxy/_experimental/out/onboarding.html deleted file mode 100644 index 6fc3d642eb..0000000000 --- a/litellm/proxy/_experimental/out/onboarding.html +++ /dev/null @@ -1 +0,0 @@ -LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/onboarding.txt b/litellm/proxy/_experimental/out/onboarding.txt index 0b659c1070..c8c5e4540f 100644 --- a/litellm/proxy/_experimental/out/onboarding.txt +++ b/litellm/proxy/_experimental/out/onboarding.txt @@ -2,6 +2,6 @@ 3:I[12011,["665","static/chunks/3014691f-b7b79b78e27792f3.js","402","static/chunks/402-d418d0a7bf158a22.js","899","static/chunks/899-3dc1e1a0832876e3.js","250","static/chunks/250-b776bd9ac8911291.js","461","static/chunks/app/onboarding/page-9659af55efbf16f8.js"],"default",1] 4:I[4707,[],""] 5:I[36423,[],""] -0:["EUsvrfLmgLy71o8GGPdmU",[[["",{"children":["onboarding",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["onboarding",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","onboarding","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/31b7f215e119031e.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/css/c1c21001170a99e0.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_b0dd8a","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]] +0:["EUsvrfLmgLy71o8GGPdmU",[[["",{"children":["onboarding",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["onboarding",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","onboarding","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/31b7f215e119031e.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c1c21001170a99e0.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_b0dd8a","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","5",{"rel":"icon","href":"./favicon.ico"}],["$","meta","6",{"name":"next-size-adjust"}]] 1:null diff --git a/tests/test_litellm/litellm_core_utils/test_litellm_logging.py b/tests/test_litellm/litellm_core_utils/test_litellm_logging.py index 6687fbd0c1..be51a1cce7 100644 --- a/tests/test_litellm/litellm_core_utils/test_litellm_logging.py +++ b/tests/test_litellm/litellm_core_utils/test_litellm_logging.py @@ -180,6 +180,101 @@ def test_get_request_tags(): assert "User-Agent: litellm/0.1.0" in tags +def test_get_extra_header_tags(): + """Test the _get_extra_header_tags method with various scenarios.""" + import litellm + from litellm.litellm_core_utils.litellm_logging import StandardLoggingPayloadSetup + + # Store original value to restore later + original_extra_headers = getattr(litellm, "extra_spend_tag_headers", None) + + try: + # Test case 1: No extra headers configured + litellm.extra_spend_tag_headers = None + result = StandardLoggingPayloadSetup._get_extra_header_tags( + proxy_server_request={"headers": {"x-custom": "value"}} + ) + assert result is None + + # Test case 2: Empty extra headers list + litellm.extra_spend_tag_headers = [] + result = StandardLoggingPayloadSetup._get_extra_header_tags( + proxy_server_request={"headers": {"x-custom": "value"}} + ) + assert result is None + + # Test case 3: Extra headers configured but request has no headers dict + litellm.extra_spend_tag_headers = ["x-custom", "x-tenant"] + result = StandardLoggingPayloadSetup._get_extra_header_tags( + proxy_server_request={"headers": "not-a-dict"} + ) + assert result is None + + # Test case 4: Extra headers configured but none match request headers + litellm.extra_spend_tag_headers = ["x-custom", "x-tenant"] + result = StandardLoggingPayloadSetup._get_extra_header_tags( + proxy_server_request={ + "headers": { + "content-type": "application/json", + "authorization": "Bearer token", + } + } + ) + assert result is None + + # Test case 5: Some extra headers match request headers + litellm.extra_spend_tag_headers = ["x-custom", "x-tenant", "x-missing"] + result = StandardLoggingPayloadSetup._get_extra_header_tags( + proxy_server_request={ + "headers": { + "x-custom": "my-custom-value", + "x-tenant": "tenant-123", + "content-type": "application/json", + } + } + ) + assert result is not None + assert len(result) == 2 + assert "x-custom: my-custom-value" in result + assert "x-tenant: tenant-123" in result + assert "x-missing: " not in str(result) + + # Test case 6: All extra headers match request headers + litellm.extra_spend_tag_headers = ["x-custom", "x-tenant"] + result = StandardLoggingPayloadSetup._get_extra_header_tags( + proxy_server_request={ + "headers": { + "x-custom": "my-custom-value", + "x-tenant": "tenant-123", + "content-type": "application/json", + } + } + ) + assert result is not None + assert len(result) == 2 + assert "x-custom: my-custom-value" in result + assert "x-tenant: tenant-123" in result + + # Test case 7: Headers with empty values should not be included + litellm.extra_spend_tag_headers = ["x-custom", "x-empty"] + result = StandardLoggingPayloadSetup._get_extra_header_tags( + proxy_server_request={"headers": {"x-custom": "my-value", "x-empty": ""}} + ) + assert result is not None + assert len(result) == 1 + assert "x-custom: my-value" in result + assert "x-empty:" not in str(result) + + finally: + # Restore original value + if original_extra_headers is not None: + litellm.extra_spend_tag_headers = original_extra_headers + else: + # Remove the attribute if it didn't exist before + if hasattr(litellm, "extra_spend_tag_headers"): + delattr(litellm, "extra_spend_tag_headers") + + def test_response_cost_calculator_with_response_cost_in_hidden_params(logging_obj): from litellm import Router from litellm.litellm_core_utils.litellm_logging import Logging diff --git a/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py b/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py index 7f97d20846..653f9e8e31 100644 --- a/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py +++ b/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py @@ -8,9 +8,6 @@ sys.path.insert(0, os.path.abspath("../../../../..")) from unittest.mock import MagicMock, patch -from litellm.llms.anthropic.experimental_pass_through.adapters.streaming_iterator import ( - AnthropicStreamWrapper, -) from litellm.types.utils import Delta, ModelResponse, StreamingChoices @@ -36,6 +33,32 @@ def test_anthropic_experimental_pass_through_messages_handler(): mock_completion.call_args.kwargs["api_key"] == "test-api-key" +def test_anthropic_experimental_pass_through_messages_handler_dynamic_api_key_and_api_base_and_custom_values(): + """ + Test that api key is passed to litellm.completion + """ + from litellm.llms.anthropic.experimental_pass_through.messages.handler import ( + anthropic_messages_handler, + ) + + with patch("litellm.completion", return_value="test-response") as mock_completion: + try: + anthropic_messages_handler( + max_tokens=100, + messages=[{"role": "user", "content": "Hello, how are you?"}], + model="azure/o1", + api_key="test-api-key", + api_base="test-api-base", + custom_key="custom_value", + ) + except Exception as e: + print(f"Error: {e}") + mock_completion.assert_called_once() + mock_completion.call_args.kwargs["api_key"] == "test-api-key" + mock_completion.call_args.kwargs["api_base"] == "test-api-base" + mock_completion.call_args.kwargs["custom_key"] == "custom_value" + + def test_anthropic_experimental_pass_through_messages_handler_custom_llm_provider(): """ Test that litellm.completion is called when a custom LLM provider is given diff --git a/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_sse_wrapper.py b/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_sse_wrapper.py index 40c40c6ab6..dfcb9b3eb7 100644 --- a/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_sse_wrapper.py +++ b/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_sse_wrapper.py @@ -56,7 +56,9 @@ class MockCompletionStream: def test_anthropic_sse_wrapper_format(): """Test that the SSE wrapper produces proper event and data formatting""" - wrapper = AnthropicStreamWrapper(completion_stream=MockCompletionStream()) + wrapper = AnthropicStreamWrapper( + completion_stream=MockCompletionStream(), model="claude-3" + ) # Get the first chunk from the SSE wrapper first_chunk = next(wrapper.anthropic_sse_wrapper()) @@ -77,7 +79,9 @@ def test_anthropic_sse_wrapper_format(): def test_anthropic_sse_wrapper_event_types(): """Test that different chunk types produce correct event types""" - wrapper = AnthropicStreamWrapper(completion_stream=MockCompletionStream()) + wrapper = AnthropicStreamWrapper( + completion_stream=MockCompletionStream(), model="claude-3" + ) chunks = [] for chunk in wrapper.anthropic_sse_wrapper(): @@ -134,7 +138,9 @@ async def test_async_anthropic_sse_wrapper(): self.index += 1 return response - wrapper = AnthropicStreamWrapper(completion_stream=AsyncMockCompletionStream()) + wrapper = AnthropicStreamWrapper( + completion_stream=AsyncMockCompletionStream(), model="claude-3" + ) # Get the first chunk from the async SSE wrapper first_chunk = None

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